diff options
author | Christoph Mende <angelos@gentoo.org> | 2008-04-27 14:54:53 +0000 |
---|---|---|
committer | Christoph Mende <angelos@gentoo.org> | 2008-04-27 14:54:53 +0000 |
commit | 5a3e89d38b62967963df39f5fa40a17f18a2cc11 (patch) | |
tree | 9b355c5edc5ce6e7b8dca93bee1bd84c87fcaab8 /net-misc/oidentd/files | |
parent | Purge older versions, fixes part of bug #218105 (because ffmpeg is not suppor... (diff) | |
download | gentoo-2-5a3e89d38b62967963df39f5fa40a17f18a2cc11.tar.gz gentoo-2-5a3e89d38b62967963df39f5fa40a17f18a2cc11.tar.bz2 gentoo-2-5a3e89d38b62967963df39f5fa40a17f18a2cc11.zip |
Added a patch for masquerading on Linux 2.6.21
(Portage version: 2.1.5_rc6)
Diffstat (limited to 'net-misc/oidentd/files')
-rw-r--r-- | net-misc/oidentd/files/oidentd-2.0.8-masquerading.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/net-misc/oidentd/files/oidentd-2.0.8-masquerading.patch b/net-misc/oidentd/files/oidentd-2.0.8-masquerading.patch new file mode 100644 index 000000000000..191e9b95e64d --- /dev/null +++ b/net-misc/oidentd/files/oidentd-2.0.8-masquerading.patch @@ -0,0 +1,43 @@ +--- 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; + |