summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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
commit7b3858d675615535476ff068d7853afacdd1de55 (patch)
tree7b92b2c23dea90d2f63edc6d1a2354117f26872d
parentd33f268c307d783b868125e206a0b13af10261a5 (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.c5
-rw-r--r--filter/ulogd_filter_IP2STR.c5
-rw-r--r--include/ulogd/ulogd.h5
-rw-r--r--util/printflow.c4
-rw-r--r--util/printpkt.c4
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;