packages: oidentd/oidentd-linux-2.6.21.patch (NEW) - try /proc/net/nf_connt...

baggins baggins at pld-linux.org
Fri Aug 20 11:37:16 CEST 2010


Author: baggins                      Date: Fri Aug 20 09:37:16 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- try /proc/net/nf_conntrack too

---- Files affected:
packages/oidentd:
   oidentd-linux-2.6.21.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/oidentd/oidentd-linux-2.6.21.patch
diff -u /dev/null packages/oidentd/oidentd-linux-2.6.21.patch:1.1
--- /dev/null	Fri Aug 20 11:37:16 2010
+++ packages/oidentd/oidentd-linux-2.6.21.patch	Fri Aug 20 11:37:11 2010
@@ -0,0 +1,44 @@
+diff -ur oidentd.orig/src/kernel/linux.c oidentd-2.0.8/src/kernel/linux.c
+--- oidentd.orig/src/kernel/linux.c	2006-05-22 06:58:53.000000000 +0300
++++ oidentd-2.0.8/src/kernel/linux.c	2007-07-11 21:28:56.000000000 +0300
+@@ -48,6 +48,7 @@
+ #define CFILE6		"/proc/net/tcp6"
+ #define MASQFILE	"/proc/net/ip_masquerade"
+ #define CONNTRACK	"/proc/net/ip_conntrack"
++#define NFCONNTRACK	"/proc/net/nf_conntrack"
+ 
+ static int netlink_sock;
+ extern struct sockaddr_storage proxy;
+@@ -82,7 +83,15 @@
+ 				debug("fopen: %s: %s", CONNTRACK, strerror(errno));
+ 				return false;
+ 			}
+-			masq_fp = fopen("/dev/null", "r");
++
++			masq_fp = fopen(NFCONNTRACK, "r");
++			if (masq_fp == NULL) {
++				if (errno != ENOENT) {
++					debug("fopen: %s: %s", NFCONNTRACK, strerror(errno));
++					return false;
++				}
++				masq_fp = fopen("/dev/null", "r");
++			}
+ 		}
+ 
+ 		netfilter = true;
+@@ -367,6 +376,15 @@
+ 				&nport_temp, &mport_temp);
+ 			}
+ 
++			if (ret != 21) {
++				ret = sscanf(buf,
++					"%*15s %*d %15s %*d %*d ESTABLISHED src=%d.%d.%d.%d dst=%d.%d.%d.%d sport=%d dport=%d packets=%*d bytes=%*d src=%d.%d.%d.%d dst=%d.%d.%d.%d sport=%d dport=%d",
++				proto, &l1, &l2, &l3, &l4, &r1, &r2, &r3, &r4,
++				&masq_lport_temp, &masq_fport_temp,
++				&nl1, &nl2, &nl3, &nl4, &nr1, &nr2, &nr3, &nr4,
++				&nport_temp, &mport_temp);
++			}
++
+ 			if (ret != 21)
+ 				continue;
+ 
================================================================


More information about the pld-cvs-commit mailing list