diff options
author | /C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org> | 2008-02-09 17:34:00 +0000 |
---|---|---|
committer | /C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org> | 2008-02-09 17:34:00 +0000 |
commit | 7b3858d675615535476ff068d7853afacdd1de55 (patch) | |
tree | 7b92b2c23dea90d2f63edc6d1a2354117f26872d | |
parent | d33f268c307d783b868125e206a0b13af10261a5 (diff) |
From: Eric Leblond <eric@inl.fr>
Some macros were defined several time. This was the case of GET_VALUE,
pp_is_valid. This patch puts the definition in ulogd.h and fixes the
definition of pp_is_valid which was wrong (causing segfault by acessing to
fields at NULL).
-rw-r--r-- | filter/ulogd_filter_IP2BIN.c | 5 | ||||
-rw-r--r-- | filter/ulogd_filter_IP2STR.c | 5 | ||||
-rw-r--r-- | include/ulogd/ulogd.h | 5 | ||||
-rw-r--r-- | util/printflow.c | 4 | ||||
-rw-r--r-- | util/printpkt.c | 4 |
5 files changed, 5 insertions, 18 deletions
diff --git a/filter/ulogd_filter_IP2BIN.c b/filter/ulogd_filter_IP2BIN.c index e490b64..9b0110e 100644 --- a/filter/ulogd_filter_IP2BIN.c +++ b/filter/ulogd_filter_IP2BIN.c @@ -114,11 +114,6 @@ static struct ulogd_key ip2bin_keys[] = { }; -#define GET_VALUE(res, x) (res[x].u.source->u.value) -#define GET_FLAGS(res, x) (res[x].u.source->flags) -#define pp_is_valid(res, x) \ - (res[x].u.source && (GET_FLAGS(res, x) & ULOGD_RETF_VALID)) - /** * Convert IPv4 address (as 32-bit unsigned integer) to IPv6 address: * add 96 bits prefix "::ffff:" to get IPv6 address "::ffff:a.b.c.d". diff --git a/filter/ulogd_filter_IP2STR.c b/filter/ulogd_filter_IP2STR.c index 2a61220..39edc05 100644 --- a/filter/ulogd_filter_IP2STR.c +++ b/filter/ulogd_filter_IP2STR.c @@ -113,11 +113,6 @@ static struct ulogd_key ip2str_keys[] = { }, }; -#define GET_VALUE(res, x) (res[x].u.source->u.value) -#define GET_FLAGS(res, x) (res[x].u.source->flags) -#define pp_is_valid(res, x) \ - (res[x].u.source && (GET_FLAGS(res, x) & ULOGD_RETF_VALID)) - static char *ip2str(struct ulogd_key* inp, int index, char family) { char tmp[IPADDR_LENGTH]; diff --git a/include/ulogd/ulogd.h b/include/ulogd/ulogd.h index 1bd0b6c..b1d0996 100644 --- a/include/ulogd/ulogd.h +++ b/include/ulogd/ulogd.h @@ -216,6 +216,11 @@ void __ulogd_log(int level, char *file, int line, const char *message, ...); #define IS_NEEDED(x) (x.flags & ULOGD_RETF_NEEDED) #define SET_NEEDED(x) (x.flags |= ULOGD_RETF_NEEDED) +#define GET_VALUE(res, x) (res[x].u.source->u.value) +#define GET_FLAGS(res, x) (res[x].u.source->flags) +#define pp_is_valid(res, x) \ + (res[x].u.source && (GET_FLAGS(res, x) & ULOGD_RETF_VALID)) + int ulogd_key_size(struct ulogd_key *key); int ulogd_wildcard_inputkeys(struct ulogd_pluginstance *upi); diff --git a/util/printflow.c b/util/printflow.c index d803633..92c4f0f 100644 --- a/util/printflow.c +++ b/util/printflow.c @@ -131,10 +131,6 @@ struct ulogd_key printflow_keys[FLOW_IDS] = { }; int printflow_keys_num = sizeof(printflow_keys)/sizeof(*printflow_keys); -#define GET_VALUE(res, x) (res[x].u.source->u.value) -#define GET_FLAGS(res, x) (res[x].u.source->flags) -#define pp_is_valid(res, x) (GET_FLAGS(res, x) & ULOGD_RETF_VALID) - #define pp_print(buf_cur, label, res, x, type) \ if (pp_is_valid(res, x)) \ buf_cur += sprintf(buf_cur, label"=%u ", GET_VALUE(res, x).type); diff --git a/util/printpkt.c b/util/printpkt.c index 6606824..35d8080 100644 --- a/util/printpkt.c +++ b/util/printpkt.c @@ -89,10 +89,6 @@ struct ulogd_key printpkt_keys[] = { [KEY_AHESP_SPI] = { .name = "ahesp.spi", }, }; -#define GET_VALUE(res, x) (res[x].u.source->u.value) -#define GET_FLAGS(res, x) (res[x].u.source->flags) -#define pp_is_valid(res, x) (GET_FLAGS(res, x) & ULOGD_RETF_VALID) - static int printpkt_proto(struct ulogd_key *res, char *buf, int protocol) { char *buf_cur = buf; |