summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-analyzer/flow-tools')
-rw-r--r--net-analyzer/flow-tools/ChangeLog13
-rw-r--r--net-analyzer/flow-tools/files/digest-flow-tools-0.672
-rw-r--r--net-analyzer/flow-tools/files/digest-flow-tools-0.68-r33
-rw-r--r--net-analyzer/flow-tools/files/flow-tools-0.68-fix-a-zillion-warnings-updated.diff687
-rw-r--r--net-analyzer/flow-tools/flow-tools-0.68-r3.ebuild94
-rw-r--r--net-analyzer/flow-tools/metadata.xml10
6 files changed, 807 insertions, 2 deletions
diff --git a/net-analyzer/flow-tools/ChangeLog b/net-analyzer/flow-tools/ChangeLog
index 88d50ca87ba4..77501d33e2c0 100644
--- a/net-analyzer/flow-tools/ChangeLog
+++ b/net-analyzer/flow-tools/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for net-analyzer/flow-tools
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/flow-tools/ChangeLog,v 1.20 2006/09/05 17:56:56 pva Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/flow-tools/ChangeLog,v 1.21 2006/09/07 06:42:51 pva Exp $
+
+*flow-tools-0.68-r3 (07 Sep 2006)
+
+ 07 Sep 2006; Peter Volkov <pva@gentoo.org>
+ +files/flow-tools-0.68-fix-a-zillion-warnings-updated.diff, metadata.xml,
+ +flow-tools-0.68-r3.ebuild:
+ Some cleanups: removed 0.67-debug.patch as debug variable is defined
+ globally in this version. Fixed possible problem on amd64 and both this fix
+ and gcc-4.1 fix integrated into
+ flow-tools-0.68-fix-a-zillion-warnings-updated.diff. Updated longdescription
+ in metadata.xml
05 Sep 2006; Peter Volkov <pva@gentoo.org>
+files/flow-tools-0.68-gcc-4.1-fix.patch, flow-tools-0.68-r2.ebuild:
diff --git a/net-analyzer/flow-tools/files/digest-flow-tools-0.67 b/net-analyzer/flow-tools/files/digest-flow-tools-0.67
index 34f12fdc230a..463e830d9dea 100644
--- a/net-analyzer/flow-tools/files/digest-flow-tools-0.67
+++ b/net-analyzer/flow-tools/files/digest-flow-tools-0.67
@@ -1 +1,3 @@
MD5 0ee0a2830effa554d1925236aad6b4fe flow-tools-0.67.tar.gz 983667
+RMD160 5a681e642cd1fb1b00d8a0389b628db3b96e076d flow-tools-0.67.tar.gz 983667
+SHA256 c5dc4551cad97f7ba967c9a8e31ce40e5a8b298460f6bebc379da41cf0e88c41 flow-tools-0.67.tar.gz 983667
diff --git a/net-analyzer/flow-tools/files/digest-flow-tools-0.68-r3 b/net-analyzer/flow-tools/files/digest-flow-tools-0.68-r3
new file mode 100644
index 000000000000..3db6eb93276d
--- /dev/null
+++ b/net-analyzer/flow-tools/files/digest-flow-tools-0.68-r3
@@ -0,0 +1,3 @@
+MD5 c9e0a8b53c79611b6bffcb9d510a5a38 flow-tools-0.68.tar.gz 987151
+RMD160 71bfd1a40cb34fae55b2769d93208d13b3b0a927 flow-tools-0.68.tar.gz 987151
+SHA256 69d5353b339f917fc141919db042b007d5c8d31c9ad1bc2f989a41aa41d629df flow-tools-0.68.tar.gz 987151
diff --git a/net-analyzer/flow-tools/files/flow-tools-0.68-fix-a-zillion-warnings-updated.diff b/net-analyzer/flow-tools/files/flow-tools-0.68-fix-a-zillion-warnings-updated.diff
new file mode 100644
index 000000000000..2adfaa2301e5
--- /dev/null
+++ b/net-analyzer/flow-tools/files/flow-tools-0.68-fix-a-zillion-warnings-updated.diff
@@ -0,0 +1,687 @@
+diff -Naur flow-tools-0.68.orig/lib/ftchash.c flow-tools-0.68/lib/ftchash.c
+--- flow-tools-0.68.orig/lib/ftchash.c 2003-08-12 22:04:25.000000000 +0400
++++ flow-tools-0.68/lib/ftchash.c 2006-09-06 22:42:12.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 = ((char*)ftch->traverse_rec) + ftch->d_size;
+ return ret;
+
+ } else {
+diff -Naur flow-tools-0.68.orig/lib/ftfil.c flow-tools-0.68/lib/ftfil.c
+--- flow-tools-0.68.orig/lib/ftfil.c 2004-01-05 20:55:23.000000000 +0300
++++ flow-tools-0.68/lib/ftfil.c 2006-09-06 22:42:12.000000000 +0400
+@@ -2460,7 +2460,7 @@
+ struct stat sb;
+ struct jump *jmp;
+ struct line_parser lp;
+- int fd, ret, found;
++ int fd, ret, found = 0;
+ char *buf, *buf2, *c;
+ char sbuf[FT_LP_MAXLINE];
+
+@@ -2934,7 +2934,7 @@
+ static int parse_definition_match(struct line_parser *lp, struct ftfil *ftfil)
+ {
+ struct ftfil_match_item *ftmi;
+- struct ftfil_match *ftm;
++ struct ftfil_match *ftm = NULL;
+ char *c;
+
+ if (!lp->cur_def) {
+@@ -3057,7 +3057,7 @@
+ struct ftfil_primitive *ftfp;
+ struct ftfil_def *ftfd;
+ int type, found, valid;
+- void *eval;
++ void *eval = NULL;
+
+ /* foreach definition */
+ FT_SLIST_FOREACH(ftfd, &ftfil->defs, chain) {
+@@ -4984,7 +4984,7 @@
+ char *p, *q, *r, c;
+ int j, flag;
+ unsigned i, i2;
+- int permit,deny;
++ int permit = 0, deny = 0;
+ u_int32 val;
+
+ if (mode == FT_FIL_MODE_DENY) {
+diff -Naur flow-tools-0.68.orig/lib/ftfile.c flow-tools-0.68/lib/ftfile.c
+--- flow-tools-0.68.orig/lib/ftfile.c 2003-02-13 05:38:42.000000000 +0300
++++ flow-tools-0.68/lib/ftfile.c 2006-09-06 22:42:12.000000000 +0400
+@@ -417,12 +417,13 @@
+ long gmt_val;
+ char gmt_sign;
+ int tm_gmtoff;
++ time_t _ftime = (time_t)ftime;
+
+- if (!(tm = localtime ((time_t*)&ftime))) {
++ if (!(tm = localtime (&_ftime))) {
+ snprintf(buf, bsize, ".");
+ }
+
+- tm_gmtoff = get_gmtoff(ftime);
++ tm_gmtoff = get_gmtoff(_ftime);
+
+ /* compute GMT offset */
+ if (tm_gmtoff >= 0) {
+@@ -503,6 +504,7 @@
+ {
+ struct tm *tm;
+ char buf[32];
++ time_t _ftime = (time_t)ftime;
+
+ /* no directories */
+ if (nest == 0)
+@@ -512,7 +514,7 @@
+ if ((nest > 3) || (nest < -3))
+ return -1;
+
+- if (!(tm = localtime ((time_t*)&ftime)))
++ if (!(tm = localtime (&_ftime)))
+ return -1;
+
+ if (nest == -1)
+diff -Naur flow-tools-0.68.orig/lib/ftio.c flow-tools-0.68/lib/ftio.c
+--- flow-tools-0.68.orig/lib/ftio.c 2003-02-24 03:51:47.000000000 +0300
++++ flow-tools-0.68/lib/ftio.c 2006-09-06 22:42:12.000000000 +0400
+@@ -2257,6 +2257,7 @@
+ {
+
+ int nleft, nread;
++ char *p = ptr;
+
+ nleft = nbytes;
+ while (nleft > 0) {
+@@ -2267,7 +2268,7 @@
+ break;
+
+ nleft -= nread;
+- (char*)ptr += nread;
++ p += nread;
+ }
+ return (nbytes - nleft);
+ } /* readn */
+@@ -2284,6 +2285,7 @@
+ {
+
+ int nleft, nwritten;
++ char *p = ptr;
+
+ nleft = nbytes;
+ while (nleft > 0) {
+@@ -2292,7 +2294,7 @@
+ return(nwritten); /* error */
+
+ nleft -= nwritten;
+- (char*)ptr += nwritten;
++ p += nwritten;
+ }
+ return(nbytes - nleft);
+ } /* writen */
+diff -Naur flow-tools-0.68.orig/lib/ftmask.c flow-tools-0.68/lib/ftmask.c
+--- flow-tools-0.68.orig/lib/ftmask.c 2003-02-13 05:38:42.000000000 +0300
++++ flow-tools-0.68/lib/ftmask.c 2006-09-06 22:42:12.000000000 +0400
+@@ -134,7 +134,7 @@
+ struct stat sb;
+ struct jump *jmp;
+ struct line_parser lp;
+- int fd, ret, found;
++ int fd, ret, found = 0;
+ char *buf, *buf2, *c;
+
+ ret = -1;
+diff -Naur flow-tools-0.68.orig/lib/ftstat.c flow-tools-0.68/lib/ftstat.c
+--- flow-tools-0.68.orig/lib/ftstat.c 2005-05-10 19:48:12.000000000 +0400
++++ flow-tools-0.68/lib/ftstat.c 2006-09-06 22:42:12.000000000 +0400
+@@ -151,7 +151,7 @@
+ struct A *B;\
+ struct tally tally;\
+ char fmt_buf1[32], fmt_buf[1024];\
+- int len, fmt, sort_flags, sort_offset, comma;\
++ int len, fmt, sort_flags, sort_offset = 0, comma;\
+ fmt = FMT_JUST_LEFT;\
+ fmt_buf1[0] = fmt_buf[0] = 0;\
+ bzero(&tally, sizeof tally);\
+@@ -633,7 +633,7 @@
+ struct fts3rec_all2 cur;\
+ struct A *B;\
+ u_int32 duration_tmp;\
+- double bps_tmp, pps_tmp;\
++ double bps_tmp = 0, pps_tmp = 0;\
+ B = rpt->data;\
+ STD_ACCUM;
+
+@@ -664,7 +664,7 @@
+ struct A *B;\
+ u_int32 hash;\
+ u_int32 duration_tmp;\
+- double bps_tmp, pps_tmp;\
++ double bps_tmp = 0, pps_tmp = 0;\
+ bzero(&D, sizeof D);\
+ B = rpt->data;\
+ STD_ACCUM;
+@@ -2732,7 +2732,7 @@
+ struct stat sb;
+ struct jump *jmp;
+ struct line_parser lp;
+- int fd, ret, found;
++ int fd, ret, found = 0;
+ char *buf, *buf2, *c;
+ char sbuf[FT_LP_MAXLINE];
+
+@@ -3214,7 +3214,7 @@
+ struct ftstat_rpt_item *ftsrpti;
+ struct ftstat_rpt_out *ftsro;
+ int ret, noclose, pipe, status;
+- char fmt_tmp[64], fmt_buf[1024], path_buf[1024], *path_run;
++ char fmt_tmp[64], fmt_buf[1024], path_buf[1024], *path_run = NULL;
+ char *mode;
+
+ noclose = 0; /* fclose fp */
+diff -Naur flow-tools-0.68.orig/lib/fttag.c flow-tools-0.68/lib/fttag.c
+--- flow-tools-0.68.orig/lib/fttag.c 2004-01-05 20:55:37.000000000 +0300
++++ flow-tools-0.68/lib/fttag.c 2006-09-06 22:42:12.000000000 +0400
+@@ -209,7 +209,7 @@
+ struct stat sb;
+ struct jump *jmp;
+ struct line_parser lp;
+- int fd, ret, found;
++ int fd, ret, found = 0;
+ char *buf, *buf2, *c;
+ char sbuf[FT_LP_MAXLINE];
+
+@@ -1477,7 +1477,7 @@
+ struct fttag_def_term *ftdt;
+ struct fttag_def_term_actions *ftdta;
+ struct fttag_action *fta;
+- int i, found;
++ int i, found = 0;
+
+ /* foreach definition */
+ FT_SLIST_FOREACH(ftd, &fttag->defs, chain) {
+diff -Naur flow-tools-0.68.orig/lib/fttlv.c flow-tools-0.68/lib/fttlv.c
+--- flow-tools-0.68.orig/lib/fttlv.c 2003-02-13 05:38:43.000000000 +0300
++++ flow-tools-0.68/lib/fttlv.c 2006-09-06 22:42:12.000000000 +0400
+@@ -55,6 +55,7 @@
+ int fttlv_enc_uint32(void *buf, int buf_size, int flip, u_int16 t, u_int32 v)
+ {
+ u_int16 len;
++ char *p = buf;
+
+ if (buf_size < 8)
+ return -1;
+@@ -67,13 +68,13 @@
+ SWAPINT32(v);
+ }
+
+- bcopy(&t, buf, 2);
+- (char*)buf+= 2;
++ bcopy(&t, p, 2);
++ p += 2;
+
+- bcopy(&len, buf, 2);
+- (char*)buf+= 2;
++ bcopy(&len, p, 2);
++ p += 2;
+
+- bcopy(&v, buf, 4);
++ bcopy(&v, p, 4);
+
+ return 8;
+
+@@ -94,6 +95,7 @@
+ int fttlv_enc_uint16(void *buf, int buf_size, int flip, u_int16 t, u_int16 v)
+ {
+ u_int16 len;
++ char *p = buf;
+
+ if (buf_size < 6)
+ return -1;
+@@ -106,13 +108,13 @@
+ SWAPINT16(v);
+ }
+
+- bcopy(&t, buf, 2);
+- (char*)buf+= 2;
++ bcopy(&t, p, 2);
++ p += 2;
+
+- bcopy(&len, buf, 2);
+- (char*)buf+= 2;
++ bcopy(&len, p, 2);
++ p += 2;
+
+- bcopy(&v, buf, 2);
++ bcopy(&v, p, 2);
+
+ return 6;
+
+@@ -133,6 +135,7 @@
+ int fttlv_enc_uint8(void *buf, int buf_size, int flip, u_int16 t, u_int8 v)
+ {
+ u_int16 len;
++ char *p = buf;
+
+ if (buf_size < 5)
+ return -1;
+@@ -144,13 +147,13 @@
+ SWAPINT16(len);
+ }
+
+- bcopy(&t, buf, 2);
+- (char*)buf+= 2;
++ bcopy(&t, p, 2);
++ p += 2;
+
+- bcopy(&len, buf, 2);
+- (char*)buf+= 2;
++ bcopy(&len, p, 2);
++ p += 2;
+
+- bcopy(&v, buf, 1);
++ bcopy(&v, p, 1);
+
+ return 5;
+
+@@ -171,7 +174,8 @@
+ int fttlv_enc_str(void *buf, int buf_size, int flip, u_int16 t, char *v)
+ {
+ u_int16 len, len2;
+-
++ char *p = buf;
++
+ len = len2 = strlen(v)+1;
+
+ if (buf_size < 4+len)
+@@ -182,13 +186,13 @@
+ SWAPINT16(len);
+ }
+
+- bcopy(&t, buf, 2);
+- (char*)buf+= 2;
++ bcopy(&t, p, 2);
++ p += 2;
+
+- bcopy(&len, buf, 2);
+- (char*)buf+= 2;
++ bcopy(&len, p, 2);
++ p += 2;
+
+- bcopy(v, buf, len);
++ bcopy(v, p, len);
+
+ return 4+len2;
+
+@@ -214,7 +218,8 @@
+ {
+ u_int16 len, len2;
+ int n;
+-
++ char *p = buf;
++
+ n = strlen(name)+1;
+
+ len = len2 = n+2+4;
+@@ -229,19 +234,19 @@
+ if (buf_size < 4+len)
+ return -1;
+
+- bcopy(&t, buf, 2);
+- (char*)buf+= 2;
++ bcopy(&t, p, 2);
++ p += 2;
+
+- bcopy(&len, buf, 2);
+- (char*)buf+= 2;
++ bcopy(&len, p, 2);
++ p += 2;
+
+- bcopy(&ip, buf, 4);
+- (char*)buf += 4;
++ bcopy(&ip, p, 4);
++ p += 4;
+
+- bcopy(&ifIndex, buf, 2);
+- (char*)buf += 2;
++ bcopy(&ifIndex, p, 2);
++ p += 2;
+
+- bcopy(name, buf, n);
++ bcopy(name, p, n);
+
+ return 4+len2;
+
+@@ -267,6 +272,7 @@
+ {
+ u_int16 len, len2;
+ int n,i,esize;
++ char *p = buf;
+
+ n = strlen(name)+1;
+ esize = (entries*2);
+@@ -286,22 +292,22 @@
+ SWAPINT16(entries);
+ }
+
+- bcopy(&t, buf, 2);
+- (char*)buf+= 2;
++ bcopy(&t, p, 2);
++ p += 2;
+
+- bcopy(&len, buf, 2);
+- (char*)buf+= 2;
++ bcopy(&len, p, 2);
++ p += 2;
+
+- bcopy(&ip, buf, 4);
+- (char*)buf += 4;
++ bcopy(&ip, p, 4);
++ p += 4;
+
+- bcopy(&entries, buf, 2);
+- (char*)buf += 2;
++ bcopy(&entries, p, 2);
++ p += 2;
+
+- bcopy(ifIndex_list, buf, esize);
+- (char*)buf += esize;
++ bcopy(ifIndex_list, p, esize);
++ p += esize;
+
+- bcopy(name, buf, n);
++ bcopy(name, p, n);
+
+ return 4+len2;
+
+diff -Naur flow-tools-0.68.orig/lib/ftxlate.c flow-tools-0.68/lib/ftxlate.c
+--- flow-tools-0.68.orig/lib/ftxlate.c 2005-05-11 18:03:30.000000000 +0400
++++ flow-tools-0.68/lib/ftxlate.c 2006-09-06 22:42:12.000000000 +0400
+@@ -297,7 +297,7 @@
+ struct stat sb;
+ struct jump *jmp;
+ struct line_parser lp;
+- int fd, ret, found;
++ int fd, ret, found = 0;
+ char *buf, *buf2, *c;
+ char sbuf[FT_LP_MAXLINE];
+
+@@ -1504,7 +1504,7 @@
+ struct ftxlate_def_term_actions *ftxta;
+ struct ftxlate_action *ftxa;
+ struct ftxlate_act_ip_addr_anon *ftxiaa;
+- int i, found;
++ int i, found = 0;
+
+ /* foreach action do any additional initialization */
+ FT_SLIST_FOREACH(ftxa, &ftxlate->actions, chain) {
+diff -Naur flow-tools-0.68.orig/lib/radix.c flow-tools-0.68/lib/radix.c
+--- flow-tools-0.68.orig/lib/radix.c 2003-02-13 05:05:25.000000000 +0300
++++ flow-tools-0.68/lib/radix.c 2006-09-06 22:42:12.000000000 +0400
+@@ -902,6 +902,7 @@
+ rn_init(void)
+ {
+ char *cp, *cplim;
++ void **p = (void **)&mask_rnhead;
+ if (max_keylen == 0) {
+ printf("rn_init: radix functions require max_keylen be set\n");
+ return;
+@@ -912,7 +913,7 @@
+ addmask_key = cplim = rn_ones + max_keylen;
+ while (cp < cplim)
+ *cp++ = -1;
+- if (rn_inithead((void **)&mask_rnhead, 0) == 0)
++ if (rn_inithead(p, 0) == 0)
+ panic("rn_init 2");
+ }
+
+diff -Naur flow-tools-0.68.orig/lib/support.c flow-tools-0.68/lib/support.c
+--- flow-tools-0.68.orig/lib/support.c 2003-02-13 05:38:43.000000000 +0300
++++ flow-tools-0.68/lib/support.c 2006-09-06 22:42:12.000000000 +0400
+@@ -286,7 +286,7 @@
+ struct in_addr *ina;
+ u_long addr = 0;
+ u_int n;
+- int dns, shift;
++ int dns, shift = 0;
+ char *t;
+
+ /* if there is anything ascii in here, this may be a hostname */
+@@ -627,6 +627,8 @@
+ {
+ char *c, *cs, *c2, *p, *p2;
+ int len, ret, done, nodir;
++
++ c = cs = c2 = p = p2 = NULL;
+
+ len = strlen(path);
+ c = (char*)0L;
+diff -Naur flow-tools-0.68.orig/src/flow-capture.c flow-tools-0.68/src/flow-capture.c
+--- flow-tools-0.68.orig/src/flow-capture.c 2004-01-05 20:56:50.000000000 +0300
++++ flow-tools-0.68/src/flow-capture.c 2006-09-06 22:42:12.000000000 +0400
+@@ -145,7 +145,7 @@
+ struct ftpeeri ftpi;
+ struct ftver ftv;
+ struct ftchash *ftch;
+- struct ftchash_rec_exp ftch_recexp, *ftch_recexpp;
++ struct ftchash_rec_exp ftch_recexp, *ftch_recexpp = NULL;
+ struct rotate rot;
+ struct file cap_file;
+ struct fttag fttag;
+diff -Naur flow-tools-0.68.orig/src/flow-cat.c flow-tools-0.68/src/flow-cat.c
+--- flow-tools-0.68.orig/src/flow-cat.c 2005-05-10 19:52:10.000000000 +0400
++++ flow-tools-0.68/src/flow-cat.c 2006-09-06 22:42:12.000000000 +0400
+@@ -65,14 +65,14 @@
+ struct ftset ftset;
+ struct ftfile_entries **fte;
+ struct ftfile_entry *fty;
+- int i, out_fd, out_fd_plain, in_fd, disable_mmap, in_fd_plain, sort;
++ int i, out_fd, out_fd_plain, in_fd, disable_mmap, in_fd_plain = 0, sort;
+ int fields;
+ int x, n, fd, flags, fte_entries, preload, time_filter;
+ char *fname, *out_fname;
+ char *rec;
+ u_long total_bytes;
+ u_int32 total_flows, lost_flows, corrupt_flows, total_streams;
+- u_int32 time_start, time_end, time_tmp1, time_tmp2, time_delta;
++ u_int32 time_start, time_end, time_tmp1 = 0, time_tmp2 = 0, time_delta;
+ u_int32 time_low, time_high;
+
+ /* init fterr */
+diff -Naur flow-tools-0.68.orig/src/flow-dscan.c flow-tools-0.68/src/flow-dscan.c
+--- flow-tools-0.68.orig/src/flow-dscan.c 2005-05-10 19:53:11.000000000 +0400
++++ flow-tools-0.68/src/flow-dscan.c 2006-09-06 22:42:12.000000000 +0400
+@@ -618,8 +618,8 @@
+ {
+ FILE *FP;
+ int done;
+- struct dscan_rec *drp;
+- struct dscan_dst *ddp;
++ struct dscan_rec *drp = NULL;
++ struct dscan_dst *ddp = NULL;
+ char type;
+ char buf[1024];
+ u_int32 ip, hash, depth, flags, h, time, nports, i, j;
+diff -Naur flow-tools-0.68.orig/src/flow-export.c flow-tools-0.68/src/flow-export.c
+--- flow-tools-0.68.orig/src/flow-export.c 2004-03-31 07:11:14.000000000 +0400
++++ flow-tools-0.68/src/flow-export.c 2006-09-06 22:42:12.000000000 +0400
+@@ -865,7 +865,7 @@
+ struct ftver ftv;
+ char fields[1024], values[1024], query[3*1024];
+ char *rec;
+- char *db_host, *db_name, *db_table, *db_user, *db_pwd, *db_tmp, *tmp;
++ char *db_host, *db_name, *db_table, *db_user, *db_pwd, *db_tmp = NULL, *tmp;
+ char *db_port;
+ int len;
+
+@@ -961,7 +961,7 @@
+
+ int fmt_xfields_type(char *buf, u_int64 xfield)
+ {
+- int comma;
++ int comma = 0;
+
+ buf[0] = 0;
+
+diff -Naur flow-tools-0.68.orig/src/flow-fanout.c flow-tools-0.68/src/flow-fanout.c
+--- flow-tools-0.68.orig/src/flow-fanout.c 2005-05-10 19:52:52.000000000 +0400
++++ flow-tools-0.68/src/flow-fanout.c 2006-09-06 22:42:12.000000000 +0400
+@@ -100,8 +100,8 @@
+ struct tm *tm;
+ time_t now, time_startup;
+ fd_set rfd;
+- struct ip *ip_hdr;
+- struct udphdr *udp_hdr;
++ struct ip *ip_hdr = NULL;
++ struct udphdr *udp_hdr = NULL;
+ struct ftpeeri ftpi;
+ struct ftpdu ftpdu;
+ struct ftver ftv;
+diff -Naur flow-tools-0.68.orig/src/flow-filter.c flow-tools-0.68/src/flow-filter.c
+--- flow-tools-0.68.orig/src/flow-filter.c 2004-11-03 05:06:35.000000000 +0300
++++ flow-tools-0.68/src/flow-filter.c 2006-09-06 22:42:12.000000000 +0400
+@@ -75,15 +75,15 @@
+ struct ftset ftset;
+ struct ftver ftv;
+ struct ftprof ftp;
+- u_int32 time_start, time_end, exaddr;
++ u_int32 time_start, time_end, exaddr = 0;
+ int i, ret;
+ char *acl_fname, *acl_std_src_name, *acl_std_dst_name;
+ char *acl_std_nexthop_name;
+ char *acl_ext_name, *str, *strm;
+- int acl_std_src_index, acl_std_src_index2;
+- int acl_std_dst_index, acl_std_dst_index2;
+- int acl_std_nexthop_index, acl_std_nexthop_index2;
+- int acl_ext_index, acl_ext_index2;
++ int acl_std_src_index, acl_std_src_index2 = 0;
++ int acl_std_dst_index, acl_std_dst_index2 = 0;
++ int acl_std_nexthop_index, acl_std_nexthop_index2 = 0;
++ int acl_ext_index, acl_ext_index2 = 0;
+ struct acl_ip_ext_entry tmp_ext;
+ int keep_input_time;
+ int filter_input, filter_output, filter_srcport, filter_dstport;
+diff -Naur flow-tools-0.68.orig/src/flow-import.c flow-tools-0.68/src/flow-import.c
+--- flow-tools-0.68.orig/src/flow-import.c 2003-11-11 19:53:57.000000000 +0300
++++ flow-tools-0.68/src/flow-import.c 2006-09-06 22:42:12.000000000 +0400
+@@ -1060,9 +1060,9 @@
+ struct ftpdu_header ftheader, ftheader2;
+ struct ftpdu ftpdu;
+ struct ftseq ftseq;
+- size_t rlen, len;
++ size_t rlen, len = 0;
+ void (*xlate)(void *in_rec, void *out_rec);
+- int ret, n, i, offset;
++ int ret = 0, n, i, offset;
+ char xl_rec[FT_IO_MAXREC], *out_rec;
+
+ bzero (&ftpdu, sizeof ftpdu);
+diff -Naur flow-tools-0.68.orig/src/flow-mask.c flow-tools-0.68/src/flow-mask.c
+--- flow-tools-0.68.orig/src/flow-mask.c 2003-04-02 22:03:02.000000000 +0400
++++ flow-tools-0.68/src/flow-mask.c 2006-09-06 22:42:12.000000000 +0400
+@@ -59,7 +59,7 @@
+ struct fts3rec_offsets fo;
+ char *rec;
+ char *fname, *dname;
+- u_int32 total_flows, cap_start, cap_end;
++ u_int32 total_flows, cap_start = 0, cap_end = 0;
+ u_int32 time_start, time_end;
+ int i, keep_input_time;
+
+diff -Naur flow-tools-0.68.orig/src/flow-nfilter.c flow-tools-0.68/src/flow-nfilter.c
+--- flow-tools-0.68.orig/src/flow-nfilter.c 2004-01-05 20:57:18.000000000 +0300
++++ flow-tools-0.68/src/flow-nfilter.c 2006-09-06 22:42:12.000000000 +0400
+@@ -60,7 +60,7 @@
+ struct ftvar ftvar;
+ char *rec;
+ char *fname, *dname;
+- u_int32 total_flows, cap_start, cap_end;
++ u_int32 total_flows, cap_start = 0, cap_end = 0;
+ u_int32 time_start, time_end;
+ int i, keep_input_time;
+
+diff -Naur flow-tools-0.68.orig/src/flow-print.c flow-tools-0.68/src/flow-print.c
+--- flow-tools-0.68.orig/src/flow-print.c 2003-04-02 22:03:02.000000000 +0400
++++ flow-tools-0.68/src/flow-print.c 2006-09-06 22:42:12.000000000 +0400
+@@ -96,7 +96,7 @@
+ {
+ struct ftio ftio;
+ struct ftprof ftp;
+- int i, format_index, set_format, ret;
++ int i, format_index = 0, set_format, ret;
+ int print_header, options, debug;
+ char cc; /* comment character */
+
+diff -Naur flow-tools-0.68.orig/src/flow-send.c flow-tools-0.68/src/flow-send.c
+--- flow-tools-0.68.orig/src/flow-send.c 2004-03-31 07:15:41.000000000 +0400
++++ flow-tools-0.68/src/flow-send.c 2006-09-06 22:42:12.000000000 +0400
+@@ -63,8 +63,8 @@
+ int main(int argc, char **argv)
+ {
+ struct sockaddr_in loc_addr, rem_addr;
+- struct ip *ip_hdr;
+- struct udphdr *udp_hdr;
++ struct ip *ip_hdr = NULL;
++ struct udphdr *udp_hdr = NULL;
+ struct ftio ftio;
+ struct ftprof ftp;
+ struct ftver ftv, ftv2;
+@@ -75,8 +75,8 @@
+ char xl_rec[FT_IO_MAXREC], *out_rec;
+ u_int32 privacy_mask;
+ unsigned int v1, v2, one;
+- int i, n, ret, tx_delay, udp_sock;
+- int src_ip_spoof, hdr_len;
++ int i, n, ret = 0, tx_delay, udp_sock;
++ int src_ip_spoof, hdr_len = 0;
+ void *rec;
+
+ /* init fterr */
+diff -Naur flow-tools-0.68.orig/src/flow-stat.c flow-tools-0.68/src/flow-stat.c
+--- flow-tools-0.68.orig/src/flow-stat.c 2004-11-03 05:12:36.000000000 +0300
++++ flow-tools-0.68/src/flow-stat.c 2006-09-06 22:42:12.000000000 +0400
+@@ -3575,7 +3575,7 @@
+ char fmt_buf[256], fmt_buf2[64];
+ int32 i, start, end, increment, x;
+ int s, len;
+- u_int plines;
++ u_int plines = 0;
+ u_int32 *index;
+
+ s = abs(args->sort_order);
+diff -Naur flow-tools-0.68.orig/src/flow-tag.c flow-tools-0.68/src/flow-tag.c
+--- flow-tools-0.68.orig/src/flow-tag.c 2004-01-05 21:00:40.000000000 +0300
++++ flow-tools-0.68/src/flow-tag.c 2006-09-06 22:42:12.000000000 +0400
+@@ -60,7 +60,7 @@
+ struct fttag_def *ftd;
+ struct ftvar ftvar;
+ int i, keep_input_time;
+- u_int32 total_flows, cap_start, cap_end;
++ u_int32 total_flows, cap_start = 0, cap_end = 0;
+ u_int32 time_start, time_end;
+ char *tag_defs, *tag_active;
+ char *rec_in, *rec_out;
+diff -Naur flow-tools-0.68.orig/src/flow-xlate.c flow-tools-0.68/src/flow-xlate.c
+--- flow-tools-0.68.orig/src/flow-xlate.c 2004-01-05 21:00:40.000000000 +0300
++++ flow-tools-0.68/src/flow-xlate.c 2006-09-06 22:42:12.000000000 +0400
+@@ -53,7 +53,7 @@
+ struct ftio ftio_in, ftio_out;
+ struct ftprof ftp;
+ struct ftxlate ftxlate;
+- struct ftxlate_def *ftfd;
++ struct ftxlate_def *ftfd = NULL;
+ struct ftver ftv_in, ftv_out;
+ struct ftset ftset;
+ struct fts3rec_offsets fo;
+@@ -61,7 +61,7 @@
+ char *rec, out_rec[FT_IO_MAXREC];
+ char *fname, *dname;
+ unsigned int v1, v2;
+- u_int32 total_flows, cap_start, cap_end;
++ u_int32 total_flows, cap_start = 0, cap_end = 0;
+ u_int32 time_start, time_end;
+ int i, n, keep_input_time;
+ int xlate_version;
diff --git a/net-analyzer/flow-tools/flow-tools-0.68-r3.ebuild b/net-analyzer/flow-tools/flow-tools-0.68-r3.ebuild
new file mode 100644
index 000000000000..f23b263695e0
--- /dev/null
+++ b/net-analyzer/flow-tools/flow-tools-0.68-r3.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/flow-tools/flow-tools-0.68-r3.ebuild,v 1.1 2006/09/07 06:42:51 pva Exp $
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="Flow-tools is a package for collecting and processing NetFlow data"
+HOMEPAGE="http://www.splintered.net/sw/flow-tools/"
+SRC_URI="ftp://ftp.eng.oar.net/pub/flow-tools/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="mysql postgres debug ssl"
+
+RDEPEND="sys-apps/tcp-wrappers
+ sys-libs/zlib
+ sys-devel/flex
+ !postgres? ( mysql? ( dev-db/mysql ) )
+ !mysql? ( postgres? ( dev-db/postgresql ) )
+ ssl? ( dev-libs/openssl )"
+
+DEPEND="${RDEPEND}
+ sys-devel/bison"
+
+pkg_setup() {
+ if use mysql && use postgres ; then
+ echo
+ eerror "The mysql and postgres USE flags are mutually exclusive."
+ eerror "Please choose either USE=mysql or USE=postgres, but not both."
+ die
+ fi
+
+ enewgroup flows
+ enewuser flows -1 -1 /var/lib/flows flows
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-fix-configure.diff
+ epatch "${FILESDIR}"/${P}-fix-a-zillion-warnings-updated.diff
+ use debug || epatch ${FILESDIR}/${PN}-0.67-nodebug.patch
+ epatch "${FILESDIR}"/${PN}-0.67-memleak.patch
+
+ sed -i "s|^[^#]\(^.*CFLAGS=\).*$|\1-Wall|g" \
+ configure.in src/Makefile.am lib/Makefile.am || die "sed CFLAGS failed"
+
+ # bug 122842, we have /usr/bin/python and not /usr/local/bin/python
+ sed -i -e "s:/usr/local/bin/python:/usr/bin/python:g" \
+ "${S}"/bin/flow-{rptfmt,rpt2rrd,log2rrd}
+}
+
+src_compile() {
+ einfo "Running autoreconf"
+ autoreconf -f -i || die "autoreconf failed"
+
+ use mysql && append-flags "-L/usr/lib/mysql -I/usr/include/mysql"
+ use postgres && append-flags "-L/usr/lib/postgres -I/usr/include/postgres"
+
+ econf \
+ --localstatedir=/etc/flow-tools \
+ --enable-lfs \
+ $(use_with ssl openssl) \
+ $(use_with mysql) \
+ $(use_with postgres pgsql) \
+ || die "econf failed"
+
+ emake CFLAGS="${CFLAGS}" || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+ dodoc ChangeLog README SECURITY TODO
+
+ keepdir /var/lib/flows
+ keepdir /var/lib/flows/bin
+ exeinto /var/lib/flows/bin
+ doexe "${FILESDIR}"/linkme
+ keepdir /var/run/flows
+
+ newinitd "${FILESDIR}/flowcapture.initd" flowcapture
+ newconfd "${FILESDIR}/flowcapture.confd" flowcapture
+
+}
+
+pkg_postinst() {
+ chown flows:flows /var/run/flows
+ chown flows:flows /var/lib/flows
+ chown flows:flows /var/lib/flows/bin
+ chmod 0755 /var/run/flows
+ chmod 0755 /var/lib/flows
+ chmod 0755 /var/lib/flows/bin
+}
diff --git a/net-analyzer/flow-tools/metadata.xml b/net-analyzer/flow-tools/metadata.xml
index d2cd26e1834e..06e97e70143b 100644
--- a/net-analyzer/flow-tools/metadata.xml
+++ b/net-analyzer/flow-tools/metadata.xml
@@ -2,5 +2,13 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>netmon</herd>
-<longdescription>Flow-tools is a package for collecting and processing NetFlow data</longdescription>
+ <longdescription lang="en">
+ Flow-tools is library and a collection of programs used to collect,
+ send, process, and generate reports from NetFlow data. The tools can be
+ used together on a single server or distributed to multiple servers for
+ large deployments. The flow-toools library provides an API for
+ development of custom applications for NetFlow export versions 1,5,6 and
+ the 14 currently defined version 8 subversions. A Perl and Python
+ interface have been contributed and are included in the distribution.
+ </longdescription>
</pkgmetadata>