diff options
author | lawrance <lawrance@FreeBSD.org> | 2005-12-13 13:49:05 +0800 |
---|---|---|
committer | lawrance <lawrance@FreeBSD.org> | 2005-12-13 13:49:05 +0800 |
commit | 4338a83c43bda46c36437f4d94fe1adee7730c3f (patch) | |
tree | 6ffedd5fab25a00d1d1611e7353c67a5a77cf5e8 | |
parent | 0531f6de2de958538e24b3ae90fe88828d92c20b (diff) | |
download | freebsd-ports-gnome-4338a83c43bda46c36437f4d94fe1adee7730c3f.tar.gz freebsd-ports-gnome-4338a83c43bda46c36437f4d94fe1adee7730c3f.tar.zst freebsd-ports-gnome-4338a83c43bda46c36437f4d94fe1adee7730c3f.zip |
Fix a bug that prevented tcpflow picking up traffic when
listening on the loopback interface.
Bump PORTREVISION.
PR: ports/89672
Submitted by: Oles Hnatkevych <don_oles@able.com.ua>
Approved by: jose@we.lc.ehu.es (maintainer, timeout 14 days)
-rw-r--r-- | net/tcpflow/Makefile | 1 | ||||
-rw-r--r-- | net/tcpflow/files/patch-datalink.c | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/net/tcpflow/Makefile b/net/tcpflow/Makefile index dda5a049604f..6c21d8f0ba35 100644 --- a/net/tcpflow/Makefile +++ b/net/tcpflow/Makefile @@ -7,6 +7,7 @@ PORTNAME= tcpflow PORTVERSION= 0.21 +PORTREVISION= 1 CATEGORIES= net MASTER_SITES= ftp://ftp.circlemud.org/pub/jelson/tcpflow/ diff --git a/net/tcpflow/files/patch-datalink.c b/net/tcpflow/files/patch-datalink.c new file mode 100644 index 000000000000..32df9f1d5efd --- /dev/null +++ b/net/tcpflow/files/patch-datalink.c @@ -0,0 +1,26 @@ +--- src/datalink.c.orig Mon May 9 12:00:38 2005 ++++ src/datalink.c Mon May 9 12:23:47 2005 +@@ -42,6 +42,13 @@ + + #include "tcpflow.h" + ++/* ++ * Byte-swap a 32-bit number. ++ * ("htonl()" or "ntohl()" won't work - we want to byte-swap even on ++ * big-endian platforms.) ++ */ ++#define SWAPLONG(y) \ ++((((y)&0xff)<<24) | (((y)&0xff00)<<8) | (((y)&0xff0000)>>8) | (((y)>>24)&0xff)) + + + /* The DLT_NULL packet header is 4 bytes long. It contains a network +@@ -71,7 +78,8 @@ + #ifndef DLT_NULL_BROKEN + /* make sure this is AF_INET */ + memcpy((char *)&family, (char *)p, sizeof(family)); +- family = ntohl(family); ++ // family = ntohl(family); ++ if ((family & 0xFFFF0000) != 0) family = SWAPLONG(family); + if (family != AF_INET) { + DEBUG(6) ("warning: received non-AF_INET null frame (type %d)", family); + return; |