summaryrefslogtreecommitdiff
path: root/net/tcptrace/files/patch-tcpdump.c.diff
diff options
context:
space:
mode:
Diffstat (limited to 'net/tcptrace/files/patch-tcpdump.c.diff')
-rw-r--r--net/tcptrace/files/patch-tcpdump.c.diff17
1 files changed, 17 insertions, 0 deletions
diff --git a/net/tcptrace/files/patch-tcpdump.c.diff b/net/tcptrace/files/patch-tcpdump.c.diff
new file mode 100644
index 000000000000..6741840aaa4f
--- /dev/null
+++ b/net/tcptrace/files/patch-tcpdump.c.diff
@@ -0,0 +1,17 @@
+--- tcpdump.c.orig Thu May 5 18:41:30 2005
++++ tcpdump.c Thu May 5 18:41:53 2005
+@@ -112,10 +112,13 @@
+ /* for some reason, the windows version of tcpdump is using */
+ /* this. It looks just like ethernet to me */
+ case PCAP_DLT_EN10MB:
+- offset = find_ip_eth(buf); /* Here we check if we are dealing with Straight Ethernet encapsulation or PPPoE */
++ offset = find_ip_eth(buf); /* Here we check if we are dealing with Straight Ethernet encapsulation, PPPoE or .1q VLAN encapsulation */
+ memcpy(&eth_header, buf, EH_SIZE); /* save ether header */
+ switch (offset)
+ {
++ case EH_SIZE + ETHER_VLAN_ENCAP_LEN:
++ memcpy(&eth_header.ether_type, buf+EH_SIZE+2, 2);
++ /* FALLTHROUGH */
+ case EH_SIZE: /* straight Ethernet encapsulation */
+ memcpy((char *)ip_buf,buf+offset,iplen-offset);
+ callback_plast = ip_buf+iplen-offset-1;