]> git.ipfire.org Git - thirdparty/ulogd2.git/commitdiff
fixes
author/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org>
Tue, 29 Nov 2005 08:43:51 +0000 (08:43 +0000)
committer/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=laforge/emailAddress=laforge@netfilter.org>
Tue, 29 Nov 2005 08:43:51 +0000 (08:43 +0000)
configure.in
input/flow/Makefile.am
input/packet/Makefile.am
input/packet/ulogd_inppkt_NFLOG.c
libipulog/Makefile.am
output/mysql/Makefile.am
output/mysql/ulogd_output_MYSQL.c

index f586426b396c5db20e0817d69e5d6f93983fcf2a..fc758e2cdc066b4763d3d873d0827a0a10a42822 100644 (file)
@@ -31,6 +31,9 @@ AC_CHECK_FUNCS(socket strerror)
 AC_CHECK_HEADER([libnetfilter_log/linux_nfnetlink_log.h], [AC_MSG_RESULT([found])],
                [AC_MSG_ERROR([libnetfilter_log Version 0.0.11 or later needed])])
 
+AC_CHECK_HEADER([libnetfilter_conntrack/libnetfilter_conntrack.h], [AC_MSG_RESULT([found])],
+               [AC_MSG_ERROR([libnetfilter_conntrack Version 0.0.11 or later needed])])
+
 DATABASE_DIR=""
 DATABASE_LIB=""
 DATABASE_LIB_DIR=""
@@ -71,7 +74,7 @@ if test x$mysqldir = x
 then
         AC_MSG_WARN(MySQL backend not used)
 else
-        AC_DEFINE(HAVE_MYSQL)
+        AC_DEFINE([HAVE_MYSQL], [], [Description])
         MYSQLINCLUDES=${mysqldir}/include${mysqldir_suffix}
         MYSQLLIBS=${mysqldir}/lib${mysqldir_suffix}
 
@@ -165,7 +168,7 @@ if test x$pgsqldir = x
 then
         AC_MSG_WARN(PGSQL backend not used)
 else
-        AC_DEFINE(HAVE_PGSQL)
+        AC_DEFINE([HAVE_PGSQL], [], [Description])
        for i in include include/postgresql include/pgsql
        do
                if test -f ${pgsqldir}/$i/libpq-fe.h
@@ -216,4 +219,4 @@ AC_SUBST(HAVE_PCAP_H)
 AM_CONDITIONAL(HAVE_MYSQL, test x$mysqldir != x)
 AM_CONDITIONAL(HAVE_PGSQL, test x$pgsqldir != x)
 
-AC_OUTPUT(doc/Makefile conffile/Makefile libipulog/Makefile input/Makefile input/packet/Makefile input/flow/Makefile filter/Makefile filter/raw2packet/Makefile filter/packet2flow/Makefile output/Makefile output/pcap/Makefile output/mysql/Makefile output/pgsql/Makefile src/Makefile Makefile Rules.make)
+AC_OUTPUT(doc/Makefile libipulog/Makefile input/Makefile input/packet/Makefile input/flow/Makefile filter/Makefile filter/raw2packet/Makefile filter/packet2flow/Makefile output/Makefile output/pcap/Makefile output/mysql/Makefile output/pgsql/Makefile src/Makefile Makefile Rules.make)
index 32af5b339a56717a6e27137f2d6e483cf7c4882f..235dc9be2a44f83b1a24d8928109a0fa36217c19 100644 (file)
@@ -1,6 +1,6 @@
 
 INCLUDES = $(all_includes) -I$(top_srcdir)/include
-CFLAGS=-fPIC -Wall
+AM_CFLAGS=-fPIC -Wall
 
 pkglib_LTLIBRARIES = ulogd_inpflow_NFCT.la # ulogd_inpflow_IPFIX.la
 
index 1792bb6ebbc4ac35d70a4ffa7f4afe950b8fce7f..a09a126fae9c1f1ed00fe04f105a86e8beee45f3 100644 (file)
@@ -1,6 +1,6 @@
 
 INCLUDES = $(all_includes) -I$(top_srcdir)/include
-CFLAGS=-fPIC -Wall
+AM_CFLAGS=-fPIC -Wall
 LIBS=
 
 pkglib_LTLIBRARIES = ulogd_inppkt_NFLOG.la ulogd_inppkt_ULOG.la
index 430cdd940658e2644344fdcf9d33ceae1c1aa5e5..7e9a00a6d15eaec8b9a864a7f60721861f65550a 100644 (file)
@@ -191,7 +191,7 @@ interp_packet(struct ulogd_pluginstance *upi, struct nflog_data *ldata)
        struct nfulnl_msg_packet_hdr *ph = nflog_get_msg_packet_hdr(ldata);
        struct nfulnl_msg_packet_hw *hw = nflog_get_packet_hw(ldata);
        void *payload;
-       int payload_len = nflog_get_payload(ldata, payload);
+       int payload_len = nflog_get_payload(ldata, &payload);
        char *prefix = nflog_get_prefix(ldata);
        struct timeval ts;
        u_int32_t mark = nflog_get_nfmark(ldata);
index 92ff39b5f1c031c55470405baff4d03d57bb8135..56cc41a409f0bfcb59c8daac1341a658506f2812 100644 (file)
@@ -1,5 +1,5 @@
 
-CFLAGS=-fPIC
+AM_CFLAGS=-fPIC
 
 noinst_LIBRARIES = libipulog.a
 
index 2efeda88e0db2ed162f420301804e5f6df6f09bd..0e5a8270f5f49174b97d664078d9ab43b2b9570a 100644 (file)
@@ -1,6 +1,6 @@
 
 INCLUDES = $(all_includes) -I$(top_srcdir)/include
-LIBS=
+LIBS=-lmysqlclient_r
 
 pkglib_LTLIBRARIES = ulogd_output_MYSQL.la
 
index 2193420ba04facf1c70bde546907d36b05c4a10d..a0e21dbeed8c14372359152c1070b96b2b45f343 100644 (file)
@@ -157,8 +157,7 @@ static int interp_mysql(struct ulogd_pluginstance *upi)
                        
                if (!res || !IS_VALID(*res)) {
                        /* no result, we have to fake something */
-                       sprintf(mi->stmt_ins, "NULL,");
-                       mi->stmt_ins = mi->stmt + strlen(mi->stmt);
+                       mi->stmt_ins += sprintf(mi->stmt_ins, "NULL,");
                        continue;
                }
                
@@ -187,14 +186,14 @@ static int interp_mysql(struct ulogd_pluginstance *upi)
                                addr.s_addr = ntohl(res->u.value.ui32);
                                *(mi->stmt_ins++) = '\'';
                                tmpstr = inet_ntoa(addr);
-#ifdef OLD_MYSQL
+                       #ifdef OLD_MYSQL
                                mysql_escape_string(mi->stmt_ins, tmpstr,
                                                    strlen(tmpstr));
-#else
+                       #else
                                mysql_real_escape_string(mi->dbh, mi->stmt_ins,
                                                         tmpstr,
                                                        strlen(tmpstr));
-#endif /* OLD_MYSQL */
+                       #endif /* OLD_MYSQL */
                                 mi->stmt_ins = mi->stmt + strlen(mi->stmt);
                                sprintf(mi->stmt_ins, "',");
                                break;
@@ -211,14 +210,18 @@ static int interp_mysql(struct ulogd_pluginstance *upi)
                        break;
                case ULOGD_RET_STRING:
                        *(mi->stmt_ins++) = '\'';
-#ifdef OLD_MYSQL
-                       mysql_escape_string(mi->stmt_ins, res->u.value.ptr,
-                               strlen(res->u.value.ptr));
-#else
-                       mysql_real_escape_string(mi->dbh, mi->stmt_ins,
-                               res->u.value.ptr, strlen(res->u.value.ptr));
-#endif
-                       mi->stmt_ins = mi->stmt + strlen(mi->stmt);
+                       if (res->u.value.ptr) {
+                       #ifdef OLD_MYSQL
+                               mi->stmt_ins += mysql_escape_string(mi->stmt_ins, 
+                                                       res->u.value.ptr,
+                                                       strlen(res->u.value.ptr));
+                       #else
+                               mi->stmt_ins += mysql_real_escape_string(
+                                                       mi->dbh, mi->stmt_ins, 
+                                                       res->u.value.ptr, 
+                                                       strlen(res->u.value.ptr));
+                       #endif
+                       }
                        sprintf(mi->stmt_ins, "',");
                        break;
                case ULOGD_RET_RAW:
@@ -334,13 +337,10 @@ static int mysql_get_columns(struct ulogd_pluginstance *upi)
         * never free()s the memory we allocate here.  FIXME. */
 
        /* Cleanup before reconnect */
-       if (upi->input.keys) {
+       if (upi->input.keys)
                free(upi->input.keys);
-               upi->input.keys = NULL;
-               upi->input.num_keys = 0;
-       }
 
-       upi->input.num_keys = mysql_field_count(mi->dbh);
+       upi->input.num_keys = mysql_num_fields(result);
        upi->input.keys = malloc(sizeof(struct ulogd_key) * 
                                                upi->input.num_keys);
        if (!upi->input.keys) {
@@ -351,8 +351,7 @@ static int mysql_get_columns(struct ulogd_pluginstance *upi)
        memset(upi->input.keys, 0, sizeof(struct ulogd_key) *
                                                upi->input.num_keys);
 
-       i = 0;
-       while ((field = mysql_fetch_field(result))) {
+       for (i = 0; field = mysql_fetch_field(result); i++) {
                char buf[ULOGD_MAX_KEYLEN+1];
                char *underscore;
                int id;
@@ -366,9 +365,10 @@ static int mysql_get_columns(struct ulogd_pluginstance *upi)
 
                /* add it u list of input keys */
                strncpy(upi->input.keys[i].name, buf, ULOGD_MAX_KEYLEN);
-               i++;
        }
-
+       /* MySQL Auto increment ... ID :) */
+       upi->input.keys[0].flags |= ULOGD_KEYF_INACTIVE;
+       
        mysql_free_result(result);
        return 0;
 }
@@ -390,7 +390,7 @@ static int open_db(struct ulogd_pluginstance *upi, char *server,
 
        if (!mysql_real_connect(mi->dbh, server, user, pass, db, port, NULL, 0))
                return -1;
-
+               
        return 0;
 }
 
@@ -472,7 +472,7 @@ static int configure_mysql(struct ulogd_pluginstance *upi,
                      db_ce(upi->config_kset).u.string);
        if (ret < 0)
                return ret;
-       
+
        /* Third: Determine required input keys for given table */
        ret = mysql_get_columns(upi);