From f1ea393b80edc4bef9c0bb1ff69bbcfeac330a38 Mon Sep 17 00:00:00 2001 From: "/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org" Date: Sat, 17 Mar 2007 11:52:57 +0000 Subject: [PATCH] Fix icmp_id setter and doc (Phil Dibowitz ) ICMP ID is stored as a u_int16_t, but its setter function derefs it's arguement as a u_int8_t. Additionally the api "doc" claims it's a u8, when it's not. This patch fixes both. --- include/libnetfilter_conntrack/libnetfilter_conntrack.h | 2 +- src/conntrack/setter.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/libnetfilter_conntrack/libnetfilter_conntrack.h b/include/libnetfilter_conntrack/libnetfilter_conntrack.h index eaad584..e9ed83d 100644 --- a/include/libnetfilter_conntrack/libnetfilter_conntrack.h +++ b/include/libnetfilter_conntrack/libnetfilter_conntrack.h @@ -359,7 +359,7 @@ enum nf_conntrack_attr { ATTR_REPL_PORT_DST, /* u16 bits */ ATTR_ICMP_TYPE = 12, /* u8 bits */ ATTR_ICMP_CODE, /* u8 bits */ - ATTR_ICMP_ID, /* u8 bits */ + ATTR_ICMP_ID, /* u16 bits */ ATTR_ORIG_L3PROTO, /* u8 bits */ ATTR_REPL_L3PROTO = 16, /* u8 bits */ ATTR_ORIG_L4PROTO, /* u8 bits */ diff --git a/src/conntrack/setter.c b/src/conntrack/setter.c index 84b1d25..255ab4d 100644 --- a/src/conntrack/setter.c +++ b/src/conntrack/setter.c @@ -79,7 +79,7 @@ static void set_attr_icmp_code(struct nf_conntrack *ct, const void *value) static void set_attr_icmp_id(struct nf_conntrack *ct, const void *value) { - ct->tuple[__DIR_ORIG].l4src.icmp.id = *((u_int8_t *) value); + ct->tuple[__DIR_ORIG].l4src.icmp.id = *((u_int16_t *) value); } static void set_attr_orig_l3proto(struct nf_conntrack *ct, const void *value) -- cgit v1.2.3