Can you gzip the patches, some MUAs (e.g. google mail) mangle the text attachments in a way that patches become unusable.
Luis. On 4/13/07, Florian Lohoff <[EMAIL PROTECTED]> wrote: > > Hi, > i took the time to polish the redback dissector a little and decode some > more protocols: > > > Index: epan/dissectors/packet-redback.c > =================================================================== > --- epan/dissectors/packet-redback.c (revision 21405) > +++ epan/dissectors/packet-redback.c (working copy) > @@ -6,7 +6,7 @@ > * By Gerald Combs <[EMAIL PROTECTED]> > * > * Start of RedBack SE400/800 tcpdump trace disassembly > - * Copyright 2005,2006 Florian Lohoff <[EMAIL PROTECTED]> > + * Copyright 2005-2007 Florian Lohoff <[EMAIL PROTECTED]> > * > * This program is free software; you can redistribute it and/or > * modify it under the terms of the GNU General Public License > @@ -41,6 +41,7 @@ > static dissector_handle_t eth_handle; > static dissector_handle_t clnp_handle; > static dissector_handle_t arp_handle; > +static dissector_handle_t ppp_handle; > > /* wrapper for passing the PIC type to the generic ATM dissector */ > static void > @@ -81,47 +82,58 @@ > "Layer3 Offset: %u", l3off); > tisub = proto_tree_add_text (subtree, tvb, 22, 2, > "Data Offset: %u", dataoff); > - next_tvb = tvb_new_subset(tvb, l3off, -1, -1); > > /* Mark the gap as "Data" for now */ > if (dataoff > l3off) { > proto_tree_add_text (subtree, tvb, 24, l3off-24, "Data (%d bytes)", > l3off-24); > } > > - /* > - * Just a guess - In case we see a difference in dataoff vs l3off > - * we assume there is an ethernet header. Traces from an OC12 didnt > - * show any header in here > - */ > - if (dataoff > l3off) { > - call_dissector(eth_handle, next_tvb, pinfo, tree); > - } else { > - switch(proto) { > - case 0x01: > + switch(proto) { > + case 0x01: > /* > * IP - We assume IPv6 has a different protocol although > * i might be wrong - Havent seen any traces > */ > - call_dissector(ipv4_handle, next_tvb, pinfo, tree); > - break; > - case 0x02: > + next_tvb = tvb_new_subset(tvb, dataoff, -1, -1); > + call_dissector(ipv4_handle, next_tvb, pinfo, tree); > + break; > + case 0x02: > /* > * It is CLNP although it seem the Packet Asic fills > * some data in the packet so we have a "broken" packet in > * the trace > */ > - call_dissector(clnp_handle, next_tvb, pinfo, tree); > - break; > - case 0x03: /* Unicast Ethernet tx - Seen with PPPoE PADO */ > - case 0x04: /* Unicast Ethernet rx - Seen with ARP */ > - case 0x08: /* Broadcast Ethernet rx - Seen with PPPoE PADI */ > - call_dissector(eth_handle, next_tvb, pinfo, tree); > - break; > - default: > - tisub = proto_tree_add_text (subtree, tvb, 24, length-24, > + next_tvb = tvb_new_subset(tvb, l3off, -1, -1); > + call_dissector(clnp_handle, next_tvb, pinfo, tree); > + break; > + case 0x06: > + > + /* HACK This is a guess - i dont know what this flag means > + * but my best guess is that it means "incoming" e.g. > + * the direction of the packet. In case of incoming PPP > + * packets there seems to be some padding which does > + * not get reflected in the l3off/dataoff > + */ > + > + if (flags & 0x00400000) { > + next_tvb = tvb_new_subset(tvb, l3off, -1, -1); > + } else { > + proto_tree_add_text (subtree, tvb, l3off, 4, "Unknown Data (%d > bytes)", 4); > + next_tvb = tvb_new_subset(tvb, l3off+4, -1, -1); > + } > + > + call_dissector(ppp_handle, next_tvb, pinfo, tree); > + break; > + case 0x03: /* Unicast Ethernet tx - Seen with PPPoE PADO */ > + case 0x04: /* Unicast Ethernet rx - Seen with ARP */ > + case 0x08: /* Broadcast Ethernet rx - Seen with PPPoE PADI */ > + next_tvb = tvb_new_subset(tvb, l3off, -1, -1); > + call_dissector(eth_handle, next_tvb, pinfo, tree); > + break; > + default: > + tisub = proto_tree_add_text (subtree, tvb, 24, length-24, > "Unknown Protocol Data %u", proto); > - break; > - } > + break; > } > return; > } > @@ -147,6 +159,7 @@ > eth_handle = find_dissector("eth_withoutfcs"); > clnp_handle = find_dissector("clnp"); > arp_handle = find_dissector("arp"); > + ppp_handle = find_dissector("ppp"); > > redback_handle = create_dissector_handle(dissect_redback, proto_redback); > dissector_add("wtap_encap", WTAP_ENCAP_REDBACK, redback_handle); > > > Flo > -- > Florian Lohoff [EMAIL PROTECTED] +49-171-2280134 > Those who would give up a little freedom to get a little > security shall soon have neither - Benjamin Franklin > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.1 (GNU/Linux) > > iD8DBQFGH3aaUaz2rXW+gJcRAlqnAKDYNRmZ9Ncml3hfDFnLnqf7BSib+ACgzteO > 9mJeGSiuxwmpiDbeurSM8e0= > =i3yd > -----END PGP SIGNATURE----- > > _______________________________________________ > Wireshark-dev mailing list > [EMAIL PROTECTED] > http://www.wireshark.org/mailman/listinfo/wireshark-dev > > -- This information is top security. When you have read it, destroy yourself. -- Marshall McLuhan _______________________________________________ Wireshark-dev mailing list [EMAIL PROTECTED] http://www.wireshark.org/mailman/listinfo/wireshark-dev