diff options
Diffstat (limited to 'package/dsniff/patches/patch-arp_c')
-rw-r--r-- | package/dsniff/patches/patch-arp_c | 30 |
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; |