summaryrefslogtreecommitdiff
path: root/package/dsniff/patches/patch-arp_c
diff options
context:
space:
mode:
Diffstat (limited to 'package/dsniff/patches/patch-arp_c')
-rw-r--r--package/dsniff/patches/patch-arp_c30
1 files changed, 30 insertions, 0 deletions
diff --git a/package/dsniff/patches/patch-arp_c b/package/dsniff/patches/patch-arp_c
new file mode 100644
index 000000000..f14b04827
--- /dev/null
+++ b/package/dsniff/patches/patch-arp_c
@@ -0,0 +1,30 @@
+$Id$
+--- dsniff-2.4.orig/arp.c 2001-03-15 09:32:58.000000000 +0100
++++ dsniff-2.4/arp.c 2007-01-23 00:20:48.000000000 +0100
+@@ -39,7 +39,7 @@
+
+ #ifdef BSD
+ int
+-arp_cache_lookup(in_addr_t ip, struct ether_addr *ether)
++arp_cache_lookup(in_addr_t ip, struct ether_addr *ether, const char *lif)
+ {
+ int mib[6];
+ size_t len;
+@@ -91,7 +91,7 @@ arp_cache_lookup(in_addr_t ip, struct et
+ #endif
+
+ int
+-arp_cache_lookup(in_addr_t ip, struct ether_addr *ether)
++arp_cache_lookup(in_addr_t ip, struct ether_addr *ether, const char *lif)
+ {
+ int sock;
+ struct arpreq ar;
+@@ -99,7 +99,7 @@ arp_cache_lookup(in_addr_t ip, struct et
+
+ memset((char *)&ar, 0, sizeof(ar));
+ #ifdef __linux__
+- strncpy(ar.arp_dev, "eth0", sizeof(ar.arp_dev)); /* XXX - *sigh* */
++ strncpy(ar.arp_dev, lif, strlen(lif));
+ #endif
+ sin = (struct sockaddr_in *)&ar.arp_pa;
+ sin->sin_family = AF_INET;