summaryrefslogtreecommitdiffstats
path: root/package/libpcap/patches/102-alt-ether.patch
diff options
context:
space:
mode:
authornico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-03-30 14:43:56 +0000
committernico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-03-30 14:43:56 +0000
commitb4e465c6fbdab58ae67827e034483a7003846fd4 (patch)
tree8d1b910b841a274d005786cb3b6f1da8e4904b69 /package/libpcap/patches/102-alt-ether.patch
parent7c6b71659a62e8e1c6d8fcc9b1e8a79e0bf24b2f (diff)
Make libpcap shared
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@476 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/libpcap/patches/102-alt-ether.patch')
-rw-r--r--package/libpcap/patches/102-alt-ether.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/package/libpcap/patches/102-alt-ether.patch b/package/libpcap/patches/102-alt-ether.patch
new file mode 100644
index 000000000..d5e010ec6
--- /dev/null
+++ b/package/libpcap/patches/102-alt-ether.patch
@@ -0,0 +1,39 @@
+--- libpcap-0.8.3-orig/nametoaddr.c 2003-11-19 19:13:48.000000000 +0100
++++ libpcap-0.8.3-7/nametoaddr.c 2005-03-08 03:38:22.000000000 +0100
+@@ -333,7 +333,7 @@
+ e = ep = (u_char *)malloc(6);
+
+ while (*s) {
+- if (*s == ':')
++ if (*s == ':' || *s == '.')
+ s += 1;
+ d = xdtoi(*s++);
+ if (isxdigit((unsigned char)*s)) {
+--- libpcap-0.8.3-orig/scanner.l 2004-03-28 23:45:33.000000000 +0200
++++ libpcap-0.8.3-7/scanner.l 2005-03-08 03:38:22.000000000 +0100
+@@ -80,6 +80,7 @@
+ N ([0-9]+|(0X|0x)[0-9A-Fa-f]+)
+ B ([0-9A-Fa-f][0-9A-Fa-f]?)
+ W ([0-9A-Fa-f][0-9A-Fa-f]?[0-9A-Fa-f]?[0-9A-Fa-f]?)
++X [0-9A-Fa-f]
+
+ %a 16000
+ %o 19000
+@@ -296,7 +297,7 @@
+ {N} { yylval.i = stoi((char *)yytext); return NUM; }
+ ({N}\.{N})|({N}\.{N}\.{N})|({N}\.{N}\.{N}\.{N}) {
+ yylval.s = sdup((char *)yytext); return HID; }
+-{B}:{B}:{B}:{B}:{B}:{B} { yylval.e = pcap_ether_aton((char *)yytext);
++({B}:{B}:{B}:{B}:{B}:{B})|({B}\.{B}\.{B}\.{B}\.{B}\.{B}) { yylval.e = pcap_ether_aton((char *)yytext);
+ return EID; }
+ {V6} {
+ #ifdef INET6
+@@ -314,6 +315,8 @@
+ #endif /*INET6*/
+ }
+ {B}:+({B}:+)+ { bpf_error("bogus ethernet address %s", yytext); }
++{X}{12} { yylval.e = pcap_ether_aton((char *)yytext); return EID;}
++
+ icmptype { yylval.i = 0; return NUM; }
+ icmpcode { yylval.i = 1; return NUM; }
+ icmp-echoreply { yylval.i = 0; return NUM; }