diff -urN flow-tools-0.68/bin/flow-log2rrd flow-tools-0.68.new/bin/flow-log2rrd
--- flow-tools-0.68/bin/flow-log2rrd 2005-05-10 20:53:16.000000000 +0400
+++ flow-tools-0.68.new/bin/flow-log2rrd 2005-08-31 12:24:51.000000000 +0400
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/bin/env python
import getopt
import os
diff -urN flow-tools-0.68/bin/flow-rpt2rrd flow-tools-0.68.new/bin/flow-rpt2rrd
--- flow-tools-0.68/bin/flow-rpt2rrd 2005-05-11 04:11:29.000000000 +0400
+++ flow-tools-0.68.new/bin/flow-rpt2rrd 2005-08-31 12:24:28.000000000 +0400
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/bin/env python
import getopt
import os
diff -urN flow-tools-0.68/bin/flow-rptfmt flow-tools-0.68.new/bin/flow-rptfmt
--- flow-tools-0.68/bin/flow-rptfmt 2005-05-11 16:38:37.000000000 +0400
+++ flow-tools-0.68.new/bin/flow-rptfmt 2005-08-31 12:24:28.000000000 +0400
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/bin/env python
import sys
import string
diff -urN flow-tools-0.68/configs/Makefile.am flow-tools-0.68.new/configs/Makefile.am
--- flow-tools-0.68/configs/Makefile.am 2003-11-25 10:01:37.000000000 +0300
+++ flow-tools-0.68.new/configs/Makefile.am 2005-08-31 12:24:28.000000000 +0400
@@ -1,6 +1,6 @@
-ftsymdir=$(localstatedir)/sym
+ftsymdir=$(sysconfdir)/sym
ftsym_DATA = ip-prot.sym ip-type.sym tcp-port.sym asn.sym tag.sym
-ftcfgdir=$(localstatedir)/cfg
+ftcfgdir=$(sysconfdir)/cfg
ftcfg_DATA = map.cfg tag.cfg filter.cfg stat.cfg mask.cfg xlate.cfg
diff -urN flow-tools-0.68/configure.in flow-tools-0.68.new/configure.in
--- flow-tools-0.68/configure.in 2005-05-11 18:15:48.000000000 +0400
+++ flow-tools-0.68.new/configure.in 2005-08-31 12:24:28.000000000 +0400
@@ -1,31 +1,32 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(lib/bit1024.c)
+AC_INIT(flow-tools, 0.68)
-AC_PREFIX_DEFAULT(/usr/local/netflow)
+AC_PREFIX_DEFAULT(/usr/local/flow-tools)
-AM_INIT_AUTOMAKE(flow-tools, 0.68)
-AM_CONFIG_HEADER(lib/ftconfig.h:lib/ftconfig.h.in)
+AM_INIT_AUTOMAKE
+AM_CONFIG_HEADER(lib/ftconfig.h)
-CFLAGS="-g -Wall"
+dnl CFLAGS="-g -Wall"
dnl Checks for programs.
+AC_PROG_LIBTOOL
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_YACC
YACC="$YACC -d"
-AC_PROG_RANLIB
AM_PROG_LEX
AC_SUBST(YLIB)
AC_SUBST(MYSQLLIB)
AC_SUBST(MYSQLCFLAGS)
-AC_SUBST(MYSQLINCLUDE)
+AC_SUBST(MYSQLLDFLAGS)
AC_SUBST(PGSQLLIB)
AC_SUBST(PGSQLCFLAGS)
-AC_SUBST(PGSQLINCLUDE)
+AC_SUBST(PGSQLLDFLAGS)
AC_SUBST(CRYPTOLIB)
AC_SUBST(OPENSSLINCLUDE)
+AC_SUBST(OPENSSLLDFLAGS)
dnl extra argument: --with-mysql
WITH_MYSQL=
@@ -66,37 +67,51 @@
dnl Checks for libraries.
if test "x$WHERE_MYSQL" != "x"; then
- LIBS="-L$WHERE_MYSQL/lib/mysql"
+ old_LIBS="$LIBS"
+ old_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -L$WHERE_MYSQL/lib/mysql"
AC_CHECK_LIB(mysqlclient, my_init,
[
- MYSQLCFLAGS="-L$WHERE_MYSQL/lib/mysql -I$WHERE_MYSQL/include/mysql"
+ MYSQLCFLAGS="-I$WHERE_MYSQL/include/mysql"
+ MYSQLLDFLAGS="-L$WHERE_MYSQL/lib/mysql"
MYSQLLIB="-lmysqlclient"
AC_DEFINE(HAVE_MYSQL)
]
)
+ LIBS="$old_LIBS"
+ LDFLAGS="$old_LDFLAGS"
fi
if test "x$WHERE_OPENSSL" != "x"; then
- LIBS="-L$WHERE_OPENSSL/lib"
+ old_LIBS="$LIBS"
+ old_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -L$WHERE_OPENSSL/lib"
AC_CHECK_LIB(crypto, EVP_EncryptUpdate,
[
- OPENSSLCFLAGS="-L$WHERE_OPENSSL/lib -I$WHERE_OPENSSL/include"
+ OPENSSLCFLAGS="-I$WHERE_OPENSSL/include"
+ OPENSSLLDFLAGS="-L$WHERE_OPENSSL/lib"
CRYPTOLIB="-lcrypto"
AC_DEFINE(HAVE_OPENSSL)
]
)
+ LIBS="$old_LIBS"
+ LDFLAGS="$old_LDFLAGS"
fi
-
if test "x$WHERE_PGSQL" != "x"; then
- LIBS="-L$WHERE_PGSQL/lib/pgsql"
+ old_LIBS="$LIBS"
+ old_LDFLAGS="$LDFLAGS"
+ LDFLAGS="-L$WHERE_PGSQL/lib/pgsql"
AC_CHECK_LIB(pq, PQsetdbLogin,
[
- PGSQLCFLAGS="-L$WHERE_PGSQL/lib -I$WHERE_PGSQL/include/pgsql"
+ PGSQLCFLAGS="-I$WHERE_PGSQL/include/pgsql"
+ PGSQLLDFLAGS="-L$WHERE_PGSQL/lib"
PGSQLLIB="-lpq"
AC_DEFINE(HAVE_PGSQL)
]
)
+ LIBS="$old_LIBS"
+ LDFLAGS="$old_LDFLAGS"
fi
AC_CHECK_LIB(y, main,YLIB="$YLIB -ly",)
diff -urN flow-tools-0.68/lib/ftchash.c flow-tools-0.68.new/lib/ftchash.c
--- flow-tools-0.68/lib/ftchash.c 2003-08-12 22:04:25.000000000 +0400
+++ flow-tools-0.68.new/lib/ftchash.c 2005-08-31 12:24:35.000000000 +0400
@@ -326,7 +326,7 @@
(char*)ftch->traverse_chunk->base+ftch->traverse_chunk->next) {
ret = ftch->traverse_rec;
- (char*)ftch->traverse_rec += ftch->d_size;
+ ftch->traverse_rec = vpadd(ftch->traverse_rec, ftch->d_size);
return ret;
} else {
diff -urN flow-tools-0.68/lib/ftfile.c flow-tools-0.68.new/lib/ftfile.c
--- flow-tools-0.68/lib/ftfile.c 2003-02-13 05:38:42.000000000 +0300
+++ flow-tools-0.68.new/lib/ftfile.c 2005-08-31 12:24:35.000000000 +0400
@@ -53,7 +53,7 @@
int load_dir(char *prefix, struct ftfile_entries *fte, int flags, int *depth);
-extern int debug;
+#define debug 0
/*
* function: ftfile_entry_new
diff -urN flow-tools-0.68/lib/ftio.c flow-tools-0.68.new/lib/ftio.c
--- flow-tools-0.68/lib/ftio.c 2003-02-24 03:51:47.000000000 +0300
+++ flow-tools-0.68.new/lib/ftio.c 2005-08-31 12:24:35.000000000 +0400
@@ -2267,7 +2267,7 @@
break;
nleft -= nread;
- (char*)ptr += nread;
+ ptr = vpadd(ptr, nread);
}
return (nbytes - nleft);
} /* readn */
@@ -2292,7 +2292,7 @@
return(nwritten); /* error */
nleft -= nwritten;
- (char*)ptr += nwritten;
+ ptr = vpadd(ptr,nwritten);
}
return(nbytes - nleft);
} /* writen */
diff -urN flow-tools-0.68/lib/ftlib.h flow-tools-0.68.new/lib/ftlib.h
--- flow-tools-0.68/lib/ftlib.h 2005-05-10 19:51:33.000000000 +0400
+++ flow-tools-0.68.new/lib/ftlib.h 2005-08-31 12:24:35.000000000 +0400
@@ -152,7 +152,6 @@
#define FT_PDU_V8_12_MAXFLOWS 44 /* max records in V8 DST_PREFIX_TOS packet */
#define FT_PDU_V8_13_MAXFLOWS 35 /* max records in V8 PREFIX_TOS packet */
#define FT_PDU_V8_14_MAXFLOWS 35 /* max records in V8 PREFIX_PORT_TOS packet */
-
#define FT_PDU_V8_1_VERSION 2 /* version of AS packet */
#define FT_PDU_V8_2_VERSION 2 /* version of PROTO PORT packet */
#define FT_PDU_V8_3_VERSION 2 /* version of SRC PREFIX packet */
@@ -3029,6 +3028,8 @@
#define IN_CLASSD_SSM(i) (((u_int32_t)(i) & 0xff000000) == 0xe8000000)
#endif /* IN_CLASSD_SSM */
+void *vpadd(const void* v, const int change);
+
/* MACHINE DEPENDANT */
#define fmt_uint fmt_uint32
diff -urN flow-tools-0.68/lib/ftpaths.h.in flow-tools-0.68.new/lib/ftpaths.h.in
--- flow-tools-0.68/lib/ftpaths.h.in 2003-11-11 19:49:14.000000000 +0300
+++ flow-tools-0.68.new/lib/ftpaths.h.in 2005-08-31 12:24:28.000000000 +0400
@@ -29,17 +29,17 @@
#ifndef FTPATHS_H
#define FTPATHS_H
-#define FT_PATH_CFG_MAP "@localstatedir@/cfg/map.cfg"
-#define FT_PATH_CFG_TAG "@localstatedir@/cfg/tag.cfg"
-#define FT_PATH_CFG_FILTER "@localstatedir@/cfg/filter.cfg"
-#define FT_PATH_CFG_STAT "@localstatedir@/cfg/stat.cfg"
-#define FT_PATH_CFG_MASK "@localstatedir@/cfg/mask.cfg"
-#define FT_PATH_CFG_XLATE "@localstatedir@/cfg/xlate.cfg"
+#define FT_PATH_CFG_MAP "@sysconfdir@/cfg/map.cfg"
+#define FT_PATH_CFG_TAG "@sysconfdir@/cfg/tag.cfg"
+#define FT_PATH_CFG_FILTER "@sysconfdir@/cfg/filter.cfg"
+#define FT_PATH_CFG_STAT "@sysconfdir@/cfg/stat.cfg"
+#define FT_PATH_CFG_MASK "@sysconfdir@/cfg/mask.cfg"
+#define FT_PATH_CFG_XLATE "@sysconfdir@/cfg/xlate.cfg"
-#define FT_PATH_SYM_IP_PROT "@localstatedir@/sym/ip-prot.sym"
-#define FT_PATH_SYM_IP_TYPE "@localstatedir@/sym/ip-type.sym"
-#define FT_PATH_SYM_TCP_PORT "@localstatedir@/sym/tcp-port.sym"
-#define FT_PATH_SYM_ASN "@localstatedir@/sym/asn.sym"
-#define FT_PATH_SYM_TAG "@localstatedir@/sym/tag.sym"
+#define FT_PATH_SYM_IP_PROT "@sysconfdir@/sym/ip-prot.sym"
+#define FT_PATH_SYM_IP_TYPE "@sysconfdir@/sym/ip-type.sym"
+#define FT_PATH_SYM_TCP_PORT "@sysconfdir@/sym/tcp-port.sym"
+#define FT_PATH_SYM_ASN "@sysconfdir@/sym/asn.sym"
+#define FT_PATH_SYM_TAG "@sysconfdir@/sym/tag.sym"
#endif /* FTPATHS_H */
diff -urN flow-tools-0.68/lib/fttlv.c flow-tools-0.68.new/lib/fttlv.c
--- flow-tools-0.68/lib/fttlv.c 2003-02-13 05:38:43.000000000 +0300
+++ flow-tools-0.68.new/lib/fttlv.c 2005-08-31 12:24:35.000000000 +0400
@@ -68,10 +68,10 @@
}
bcopy(&t, buf, 2);
- (char*)buf+= 2;
+ buf = vpadd(buf, 2);
bcopy(&len, buf, 2);
- (char*)buf+= 2;
+ buf = vpadd(buf, 2);
bcopy(&v, buf, 4);
@@ -107,10 +107,10 @@
}
bcopy(&t, buf, 2);
- (char*)buf+= 2;
+ buf = vpadd(buf, 2);
bcopy(&len, buf, 2);
- (char*)buf+= 2;
+ buf = vpadd(buf, 2);
bcopy(&v, buf, 2);
@@ -145,10 +145,10 @@
}
bcopy(&t, buf, 2);
- (char*)buf+= 2;
+ buf = vpadd(buf, 2);
bcopy(&len, buf, 2);
- (char*)buf+= 2;
+ buf = vpadd(buf, 2);
bcopy(&v, buf, 1);
@@ -183,10 +183,10 @@
}
bcopy(&t, buf, 2);
- (char*)buf+= 2;
+ buf = vpadd(buf, 2);
bcopy(&len, buf, 2);
- (char*)buf+= 2;
+ buf = vpadd(buf, 2);
bcopy(v, buf, len);
@@ -230,16 +230,16 @@
return -1;
bcopy(&t, buf, 2);
- (char*)buf+= 2;
+ buf = vpadd(buf, 2);
bcopy(&len, buf, 2);
- (char*)buf+= 2;
+ buf = vpadd(buf, 2);
bcopy(&ip, buf, 4);
- (char*)buf += 4;
+ buf = vpadd(buf, 4);
bcopy(&ifIndex, buf, 2);
- (char*)buf += 2;
+ buf = vpadd(buf, 2);
bcopy(name, buf, n);
@@ -287,19 +287,19 @@
}
bcopy(&t, buf, 2);
- (char*)buf+= 2;
+ buf = vpadd(buf, 2);
bcopy(&len, buf, 2);
- (char*)buf+= 2;
+ buf = vpadd(buf, 2);
bcopy(&ip, buf, 4);
- (char*)buf += 4;
+ buf = vpadd(buf, 4);
bcopy(&entries, buf, 2);
- (char*)buf += 2;
+ buf = vpadd(buf, 2);
bcopy(ifIndex_list, buf, esize);
- (char*)buf += esize;
+ buf = vpadd(buf, esize);
bcopy(name, buf, n);
diff -urN flow-tools-0.68/lib/Makefile.am flow-tools-0.68.new/lib/Makefile.am
--- flow-tools-0.68/lib/Makefile.am 2005-05-05 20:00:57.000000000 +0400
+++ flow-tools-0.68.new/lib/Makefile.am 2005-08-31 12:24:35.000000000 +0400
@@ -2,17 +2,17 @@
#AM_CFLAGS=-g -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs
#AM_CFLAGS=-O2
-AM_CFLAGS=-g -Wall
+#AM_CFLAGS=-g -Wall
-DEFS=-I. -I$(srcdir)/lib
+#DEFS=-I. -I$(srcdir)/lib
include_HEADERS = ftlib.h ftqueue.h radix.h ftpaths.h ftconfig.h
-lib_LIBRARIES = libft.a
+lib_LTLIBRARIES = libft.la
-libft_a_SOURCES = ftio.c ftswap.c ftencode.c ftdecode.c ftprof.c bit1024.c \
+libft_la_SOURCES = ftio.c ftswap.c ftencode.c ftdecode.c ftprof.c bit1024.c \
fmt.c support.c ftfile.c fttlv.c ftmap.c ftrec.c fterr.c \
ftchash.c ftsym.c radix.c fttag.c ftfil.c ftstat.c getdate.c ftxfield.c\
ftmask.c ftvar.c ftxlate.c
-libft_a_LIBADD = @LIBOBJS@
+libft_la_LIBADD = $(LTLIBOBJS) $(CRYPTOLIB)
diff -urN flow-tools-0.68/lib/support.c flow-tools-0.68.new/lib/support.c
--- flow-tools-0.68/lib/support.c 2003-02-13 05:38:43.000000000 +0300
+++ flow-tools-0.68.new/lib/support.c 2005-08-31 12:24:35.000000000 +0400
@@ -736,3 +736,8 @@
return sum;
} /* udp_cksum */
+// void pointer add
+
+void * vpadd(const void *v, const int change) {
+ return (void *) (((char*) v) + change);
+}
diff -urN flow-tools-0.68/src/Makefile.am flow-tools-0.68.new/src/Makefile.am
--- flow-tools-0.68/src/Makefile.am 2005-05-06 07:43:41.000000000 +0400
+++ flow-tools-0.68.new/src/Makefile.am 2005-08-31 12:24:28.000000000 +0400
@@ -7,7 +7,7 @@
#AM_CFLAGS=-g -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs
#AM_CFLAGS=-O2
-AM_CFLAGS=-g -Wall
+#AM_CFLAGS=-g -Wall
bin_PROGRAMS = flow-capture flow-cat flow-stat flow-print flow-dscan \
flow-send flow-receive flow-gen flow-expire \
@@ -101,9 +101,9 @@
flow_filter_DEPENDENCIES = ftbuild.h
flow_export_SOURCES = flow-export.c
-flow_export_LDFLAGS = -L../lib
-flow_export_CFLAGS = @MYSQLCFLAGS@ @PGSQLCFLAGS@
-flow_export_LDADD = -lft @MYSQLLIB@ @PGSQLLIB@
+flow_export_LDFLAGS = -L../lib $(MYSQLLDFLAGS) $(PGSQLLDFLAGS)
+flow_export_CFLAGS = $(MYSQLCFLAGS) $(PGSQLCFLAGS)
+flow_export_LDADD = -lft $(MYSQLLIB) $(PGSQLLIB)
flow_export_DEPENDENCIES = ftbuild.h
flow_header_SOURCES = flow-header.c
@@ -117,8 +117,8 @@
flow_split_DEPENDENCIES = ftbuild.h
flow_xlate_SOURCES = flow-xlate.c
-flow_xlate_LDFLAGS = -L../lib
-flow_xlate_LDADD = -lft @CRYPTOLIB@
+flow_xlate_LDFLAGS = -L../lib $(CRYPTOLDFLAGS)
+flow_xlate_LDADD = -lft $(CRYPTOLIB)
flow_xlate_DEPENDENCIES = ftbuild.h
flow_tag_SOURCES = flow-tag.c