Add flow-tools from #1341
git-svn-id: svn://svn.openwrt.org/openwrt/packages@7248 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
23eb1af2fd
commit
78484adfac
43
net/flow-tools/Makefile
Normal file
43
net/flow-tools/Makefile
Normal file
@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright (C) 2007 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
# $Id: $
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=flow-tools
|
||||
PKG_VERSION:=0.68
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=ftp://ftp.eng.oar.net/pub/flow-tools/
|
||||
PKG_MD5SUM:=c9e0a8b53c79611b6bffcb9d510a5a38
|
||||
PKG_CAT:=zcat
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/flow-tools
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
TITLE:=flow-tools
|
||||
DESCRIPTION:=\
|
||||
Flow-tools is a software package for collecting and processing \\\
|
||||
NetFlow data from Cisco and Juniper routers.
|
||||
URL:=http://www.splintered.net/sw/flow-tools/
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(call Build/Compile/Default)
|
||||
endef
|
||||
|
||||
define Package/flow-tools/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin/
|
||||
$(CP) $(PKG_BUILD_DIR)/src/flow-* $(1)/usr/bin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,flow-tools))
|
11
net/flow-tools/patches/001-cross_compile_configure_fix.patch
Normal file
11
net/flow-tools/patches/001-cross_compile_configure_fix.patch
Normal file
@ -0,0 +1,11 @@
|
||||
-- flow-tools-0.68.orig/configure 2007-02-08 07:21:42.000000000 -0500
|
||||
+++ flow-tools-0.68/configure 2007-02-08 07:53:42.000000000 -0500
|
||||
@@ -6308,7 +6308,7 @@
|
||||
See \`config.log' for more details." >&5
|
||||
echo "$as_me: error: cannot run test program while cross compiling
|
||||
See \`config.log' for more details." >&2;}
|
||||
- { (exit 1); exit 1; }; }
|
||||
+}
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
#line $LINENO "configure"
|
46
net/flow-tools/patches/002-flex_lib.patch
Normal file
46
net/flow-tools/patches/002-flex_lib.patch
Normal file
@ -0,0 +1,46 @@
|
||||
--- flow-tools-0.68.orig/Makefile.in 2007-02-08 07:21:42.000000000 -0500
|
||||
+++ flow-tools-0.68/Makefile.in 2007-02-08 08:18:36.000000000 -0500
|
||||
@@ -70,7 +70,7 @@
|
||||
DEPDIR = @DEPDIR@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LEX = @LEX@
|
||||
-LEXLIB = @LEXLIB@
|
||||
+LEXLIB =
|
||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||
MYSQLCFLAGS = @MYSQLCFLAGS@
|
||||
MYSQLINCLUDE = @MYSQLINCLUDE@
|
||||
--- flow-tools-0.68.orig/src/Makefile.in 2007-02-08 07:21:42.000000000 -0500
|
||||
+++ flow-tools-0.68/src/Makefile.in 2007-02-08 08:18:31.000000000 -0500
|
||||
@@ -70,7 +70,7 @@
|
||||
DEPDIR = @DEPDIR@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LEX = @LEX@
|
||||
-LEXLIB = @LEXLIB@
|
||||
+LEXLIB =
|
||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||
MYSQLCFLAGS = @MYSQLCFLAGS@
|
||||
MYSQLINCLUDE = @MYSQLINCLUDE@
|
||||
--- flow-tools-0.68.orig/src/acllex.c 2007-02-08 07:21:42.000000000 -0500
|
||||
+++ flow-tools-0.68/src/acllex.c 2007-02-08 08:25:10.000000000 -0500
|
||||
@@ -503,7 +503,9 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" int yywrap YY_PROTO(( void ));
|
||||
#else
|
||||
-extern int yywrap YY_PROTO(( void ));
|
||||
+int yywrap (void ) {
|
||||
+ return 1;
|
||||
+}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
--- flow-tools-0.68.orig/configure 2007-02-08 07:21:42.000000000 -0500
|
||||
+++ flow-tools-0.68/configure 2007-02-08 08:19:30.000000000 -0500
|
||||
@@ -2952,7 +2952,7 @@
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
-LIBS="-lfl $LIBS"
|
||||
+LIBS="$LIBS"
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
#line $LINENO "configure"
|
||||
/* confdefs.h. */
|
30
net/flow-tools/patches/010-python_script_location_fix.patch
Normal file
30
net/flow-tools/patches/010-python_script_location_fix.patch
Normal file
@ -0,0 +1,30 @@
|
||||
diff --git a/bin/flow-log2rrd b/bin/flow-log2rrd
|
||||
index 0567ba5..db4fdda 100755
|
||||
--- a/bin/flow-log2rrd
|
||||
+++ b/bin/flow-log2rrd
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/local/bin/python
|
||||
+#!/bin/env python
|
||||
|
||||
import getopt
|
||||
import os
|
||||
diff --git a/bin/flow-rpt2rrd b/bin/flow-rpt2rrd
|
||||
index 72a74c7..7698f2b 100755
|
||||
--- a/bin/flow-rpt2rrd
|
||||
+++ b/bin/flow-rpt2rrd
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/local/bin/python
|
||||
+#!/bin/env python
|
||||
|
||||
import getopt
|
||||
import os
|
||||
diff --git a/bin/flow-rptfmt b/bin/flow-rptfmt
|
||||
index 047d1ba..f663fae 100755
|
||||
--- a/bin/flow-rptfmt
|
||||
+++ b/bin/flow-rptfmt
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/local/bin/python
|
||||
+#!/bin/env python
|
||||
|
||||
import sys
|
||||
import string
|
171
net/flow-tools/patches/020-invalid_lvalue_in_assignment.patch
Normal file
171
net/flow-tools/patches/020-invalid_lvalue_in_assignment.patch
Normal file
@ -0,0 +1,171 @@
|
||||
diff --git a/lib/ftchash.c b/lib/ftchash.c
|
||||
index 9cc7efa..28bafbf 100644
|
||||
--- a/lib/ftchash.c
|
||||
+++ b/lib/ftchash.c
|
||||
@@ -326,7 +326,7 @@ void *ftchash_foreach(struct ftchash *ft
|
||||
(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 --git a/lib/ftio.c b/lib/ftio.c
|
||||
index f6c739c..1082416 100644
|
||||
--- a/lib/ftio.c
|
||||
+++ b/lib/ftio.c
|
||||
@@ -2267,7 +2267,7 @@ int readn(register int fd, register void
|
||||
break;
|
||||
|
||||
nleft -= nread;
|
||||
- (char*)ptr += nread;
|
||||
+ ptr = vpadd(ptr, nread);
|
||||
}
|
||||
return (nbytes - nleft);
|
||||
} /* readn */
|
||||
@@ -2292,7 +2292,7 @@ int writen(register int fd, register voi
|
||||
return(nwritten); /* error */
|
||||
|
||||
nleft -= nwritten;
|
||||
- (char*)ptr += nwritten;
|
||||
+ ptr = vpadd(ptr,nwritten);
|
||||
}
|
||||
return(nbytes - nleft);
|
||||
} /* writen */
|
||||
diff --git a/lib/ftlib.h b/lib/ftlib.h
|
||||
index f91ad0a..66bf2f3 100644
|
||||
--- a/lib/ftlib.h
|
||||
+++ b/lib/ftlib.h
|
||||
@@ -152,7 +152,6 @@ #define FT_PDU_V8_11_MAXFLOWS 44 /* max
|
||||
#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 @@ #ifndef IN_CLASSD_SSM
|
||||
#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 --git a/lib/fttlv.c b/lib/fttlv.c
|
||||
index 7035813..330a783 100644
|
||||
--- a/lib/fttlv.c
|
||||
+++ b/lib/fttlv.c
|
||||
@@ -68,10 +68,10 @@ int fttlv_enc_uint32(void *buf, int buf_
|
||||
}
|
||||
|
||||
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 @@ int fttlv_enc_uint16(void *buf, int buf_
|
||||
}
|
||||
|
||||
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 @@ int fttlv_enc_uint8(void *buf, int buf_s
|
||||
}
|
||||
|
||||
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 @@ int fttlv_enc_str(void *buf, int buf_siz
|
||||
}
|
||||
|
||||
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 @@ int fttlv_enc_ifname(void *buf, int buf_
|
||||
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 @@ int fttlv_enc_ifalias(void *buf, int buf
|
||||
}
|
||||
|
||||
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 --git a/lib/support.c b/lib/support.c
|
||||
index a32ffe7..2e1db9f 100644
|
||||
--- a/lib/support.c
|
||||
+++ b/lib/support.c
|
||||
@@ -736,3 +736,8 @@ int udp_cksum(struct ip *ip, struct udph
|
||||
return sum;
|
||||
} /* udp_cksum */
|
||||
|
||||
+// void pointer add
|
||||
+
|
||||
+void * vpadd(const void *v, const int change) {
|
||||
+ return (void *) (((char*) v) + change);
|
||||
+}
|
13
net/flow-tools/patches/030-avoid_external_debug_var.patch
Normal file
13
net/flow-tools/patches/030-avoid_external_debug_var.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/lib/ftfile.c b/lib/ftfile.c
|
||||
index 2f3ae76..f25e849 100644
|
||||
--- a/lib/ftfile.c
|
||||
+++ b/lib/ftfile.c
|
||||
@@ -53,7 +53,7 @@ #endif
|
||||
|
||||
int load_dir(char *prefix, struct ftfile_entries *fte, int flags, int *depth);
|
||||
|
||||
-extern int debug;
|
||||
+#define debug 0
|
||||
|
||||
/*
|
||||
* function: ftfile_entry_new
|
41
net/flow-tools/patches/050-fix-64bit_temp_time_t.patch
Normal file
41
net/flow-tools/patches/050-fix-64bit_temp_time_t.patch
Normal file
@ -0,0 +1,41 @@
|
||||
diff --git a/lib/ftfile.c b/lib/ftfile.c
|
||||
index f25e849..ec17771 100644
|
||||
--- a/lib/ftfile.c
|
||||
+++ b/lib/ftfile.c
|
||||
@@ -413,16 +413,17 @@ void ftfile_pathname(char *buf, int bsiz
|
||||
int done, u_int32 ftime)
|
||||
{
|
||||
struct tm *tm;
|
||||
+ time_t _t = (time_t) ftime;
|
||||
char *prefix, dbuf[64];
|
||||
long gmt_val;
|
||||
char gmt_sign;
|
||||
int tm_gmtoff;
|
||||
|
||||
- if (!(tm = localtime ((time_t*)&ftime))) {
|
||||
+ if (!(tm = localtime (&_t))) {
|
||||
snprintf(buf, bsize, ".");
|
||||
}
|
||||
|
||||
- tm_gmtoff = get_gmtoff(ftime);
|
||||
+ tm_gmtoff = get_gmtoff(_t);
|
||||
|
||||
/* compute GMT offset */
|
||||
if (tm_gmtoff >= 0) {
|
||||
@@ -502,6 +503,7 @@ void ftfile_pathname(char *buf, int bsiz
|
||||
int ftfile_mkpath(u_int32 ftime, int nest)
|
||||
{
|
||||
struct tm *tm;
|
||||
+ time_t _t = (time_t) ftime;
|
||||
char buf[32];
|
||||
|
||||
/* no directories */
|
||||
@@ -512,7 +514,7 @@ int ftfile_mkpath(u_int32 ftime, int nes
|
||||
if ((nest > 3) || (nest < -3))
|
||||
return -1;
|
||||
|
||||
- if (!(tm = localtime ((time_t*)&ftime)))
|
||||
+ if (!(tm = localtime (&_t)))
|
||||
return -1;
|
||||
|
||||
if (nest == -1)
|
@ -0,0 +1,13 @@
|
||||
diff --git a/src/flow-send.c b/src/flow-send.c
|
||||
index 83ca926..ad87024 100644
|
||||
--- a/src/flow-send.c
|
||||
+++ b/src/flow-send.c
|
||||
@@ -76,7 +76,7 @@ int main(int argc, char **argv)
|
||||
u_int32 privacy_mask;
|
||||
unsigned int v1, v2, one;
|
||||
int i, n, ret, tx_delay, udp_sock;
|
||||
- int src_ip_spoof, hdr_len;
|
||||
+ int src_ip_spoof, hdr_len = 0;
|
||||
void *rec;
|
||||
|
||||
/* init fterr */
|
@ -0,0 +1,49 @@
|
||||
diff --git a/lib/ftdecode.c b/lib/ftdecode.c
|
||||
index ff6b0cf..8884db9 100644
|
||||
--- a/lib/ftdecode.c
|
||||
+++ b/lib/ftdecode.c
|
||||
@@ -122,8 +122,10 @@ int ftpdu_verify(struct ftpdu *ftpdu)
|
||||
ret = -1;
|
||||
|
||||
/* enough bytes to decode the count and version? */
|
||||
- if (ftpdu->bused < 4)
|
||||
+ if (ftpdu->bused < 4) {
|
||||
+ fterr_warnx("not enough bytes to decode the count and version.");
|
||||
goto ftpdu_verify_out_quick;
|
||||
+ }
|
||||
|
||||
ph = (struct ftpdu_header*)&ftpdu->buf;
|
||||
|
||||
@@ -158,15 +160,22 @@ #endif /* LITTLE_ENDIAN */
|
||||
case 5:
|
||||
|
||||
/* max PDU's in record */
|
||||
- if (ph->count > FT_PDU_V5_MAXFLOWS)
|
||||
+ if (ph->count > FT_PDU_V5_MAXFLOWS) {
|
||||
+ fterr_warnx("too many pdus (%d) in record, max %d", ph->count,
|
||||
+ FT_PDU_V5_MAXFLOWS);
|
||||
goto ftpdu_verify_out;
|
||||
+ }
|
||||
+
|
||||
|
||||
size = offsetof(struct ftpdu_v5, records) +
|
||||
ph->count * sizeof (struct ftrec_v5);
|
||||
|
||||
/* PDU received size == PDU expected size? */
|
||||
- if (size != ftpdu->bused)
|
||||
+ if (size != ftpdu->bused) {
|
||||
+ fterr_warnx("pdu received size was wrong. expected %d got %d",
|
||||
+ ftpdu->bused, size);
|
||||
goto ftpdu_verify_out;
|
||||
+ }
|
||||
|
||||
ftpdu->ftv.d_version = 5;
|
||||
ftpdu->decodef = fts3rec_pdu_v5_decode;
|
||||
@@ -516,6 +525,7 @@ #endif /* LITTLE_ENDIAN */
|
||||
break; /* 8 */
|
||||
|
||||
default:
|
||||
+ fterr_warnx("ftpdu version not set.");
|
||||
goto ftpdu_verify_out;
|
||||
|
||||
} /* switch ph->version */
|
@ -0,0 +1,13 @@
|
||||
diff --git a/src/flow-export.c b/src/flow-export.c
|
||||
index 52ae4d2..22b0330 100644
|
||||
--- a/src/flow-export.c
|
||||
+++ b/src/flow-export.c
|
||||
@@ -961,7 +961,7 @@ #endif /* PGSQL */
|
||||
|
||||
int fmt_xfields_type(char *buf, u_int64 xfield)
|
||||
{
|
||||
- int comma;
|
||||
+ int comma = 0;
|
||||
|
||||
buf[0] = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user