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