Wireshark-bugs: [Wireshark-bugs] [Bug 6718] Wiretap API needs to handle pcap-NG ISB blocks
Date: Mon, 5 Mar 2012 01:38:57 -0800 (PST)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6718 --- Comment #7 from Anders Broman <anders.broman@xxxxxxxxxxxx> 2012-03-05 01:38:55 PST --- (In reply to comment #6) > (In reply to comment #5) > > Status update as of rev41328: > > > > Steps: > > 1) cd ~/sandbox/wireshark-1.7.1-SVN-41328 > > 2) ./dumpcap -i p132p1 -f tcp -i lo -i p3p1 -f udp -c 1 -w rev41328.pcapng > > 3) ./tshark -r rev41328.pcapng -w n.pcapng > > or > > ./editcap -T ether rev41328.pcapng n.pcapng > > > > Result (n.pcapng) > > > > * the SHB and IDB options are being copied > > * the ISB blocks are still being dropped > > * the IDB if_filter option is being dropped > > * the IDB if_tsresol option is being created by tshark/editcap > > (it is written by the wiretap API with a default value of 6; > > but it is not written by dumpcap API) > > * ERROR: there are strings being corrupted (namely the if_name) > > > > --------- > > @@ -11,55 +11,26 @@ > > F: Snaplen = 65535 > > F: Linktype = 1 > > O: Option code 2 = 'p132p1' > > - O: Option code 11 = 'tcp' > > + O: Option code 9 = 6 > > O: Option code 12 = 'Linux 3.2.7-1.fc16.x86_64' > > 000000C8 Block 0x00000001 - Interface Description Block > > - F: Block total len = 64 (0x40) bytes > > + F: Block total len = 72 (0x48) bytes > > F: Snaplen = 65535 > > F: Linktype = 1 > > - O: Option code 2 = 'lo' > > + O: Option code 2 = 'lo32p1' > > + O: Option code 9 = 6 > > O: Option code 12 = 'Linux 3.2.7-1.fc16.x86_64' > > -00000108 Block 0x00000001 - Interface Description Block > > - F: Block total len = 76 (0x4c) bytes > > +00000110 Block 0x00000001 - Interface Description Block > > + F: Block total len = 72 (0x48) bytes > > F: Snaplen = 65535 > > F: Linktype = 1 > > - O: Option code 2 = 'p3p1' > > - O: Option code 11 = 'udp' > > + O: Option code 2 = 'p3p1p1' > > + O: Option code 9 = 6 > > O: Option code 12 = 'Linux 3.2.7-1.fc16.x86_64' > > ... > > --------- > > > > Note that the if_name in the second and third IDBs don't match the initial > > values. > > > > This problem "may" be related to the to way string options are being > > handled: > > * dumpcap: the NUL character is written to the file and the option_len > > reflects this > > * wiretap: the read operation uses the option_length field to read/copy > > the string but the write operation discards the string NUL character. > > This makes all string option length fields values 1 byte shorter in the > > new file (the one created with tshark or editcap). > OOPS! The string option values in the new pcapng are not corrupted. My dump > program is using the ntar library and it expects the strings to be NUL > terminated. if_filter should survive reading and writing by dumpcap/wireshark as of 41352 note that if_filter is not a string "..The first byte of the Option Data keeps a code of the filter used..." dumpcap/wireshark treated it as a string the ntar library might as well... -- Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching all bug changes.
- Prev by Date: [Wireshark-bugs] [Bug 6909] wiretap mpeg2 ts: eof vs short read
- Next by Date: [Wireshark-bugs] [Bug 6874] New dissector: performance co-pilot protocol
- Previous by thread: [Wireshark-bugs] [Bug 6718] Wiretap API needs to handle pcap-NG ISB blocks
- Next by thread: [Wireshark-bugs] [Bug 6718] Wiretap API needs to handle pcap-NG ISB blocks
- Index(es):