In my last patch (bug #8847), I overlooked a place where I had to check for
the old CRC as well, which led to packages that were not detected anymore.
This 4 lines fix it. As usual, the patch was tested and works.
svn path=/trunk/; revision=50294
Note: There are other ways to handle this of course, but this fix is suitable for backporting to both 1.10 and 1.8, as it does not break binary compatibility. Is there a better way to fix this though? For now, schedule this for backport.
svn path=/trunk/; revision=50282
as a voip_call_state value; don't have it sometimes a voip_call_state
and sometimes a frame subtype.
This should squelch some complaints from newer versions of Clang about
unnecessary array-bounds checks - the array-bounds checks are done on
frame subtypes, where they *are* necessary (nothing prevents an
untrustworthy IAX2 implementation or an untrustworthy capture file
writer from putting an arbitrary value in the packets), not on
voip_call_state values (where it was only necessary because the value
wasn't, in that case, a voip_call_state value, it was a frame subtype
cast to a voip_call_state).
svn path=/trunk/; revision=50277
Fix Coverity CID 1040371 (Negative loop bound) by not assignin the return value of tvb_length_remaining() to an unsigned integer and then using that value for loop termination. Instead, assign the return value to a signed integer and only if tvb_length_remaining() returns a value greater than zero do we even begin to loop.
In addition, use tvb_length_remaining() instead of tvb_length() to determine if more data exists, and then if it does, when displaying the payload bytes following the cmd_id, only pass the number of remaining bytes following the cmd_id rather than the entire length, which would include the 1 byte for the cmd_id itself.
Other minor changes.
svn path=/trunk/; revision=50274
- started harvesting pieces from tshark.
- fixed? signal handlers
- interactive test program
very hard to debug... set follow-on-fork doesn't seem to work on my mac. Need linux I guess...
svn path=/trunk/; revision=50273
TLS decryption fails when trying to decrypt XMPP sessions using start_tls as
the port in the key list of the SSL preferences.
Looking at the code, the XMPP dissector has 2 issues:
1) The crude XML element detection for XMPP segmentation is run before
checking if the SSL dissector should be called. As a result, the SSL dissector
is not called at the appropriate times.
2) The SSL dissector is called withoug resetting the desegment flags are not
manipulated as the SMTP dissector does so segmented SSL packets are not properly
reconstructed. Generally this causes the server hello not to be detected.
A proposed patch to fix these issues is attached.
svn path=/trunk/; revision=50272
Declare dlist[] similarly to slist[] (not really needed since generated storage/code was OK as is)
*On Windows the following program generates sub-optimal code
(when built using VC10 or VC11 with CFLAGS as used when building Wireshark).
void foo(void) {
const char *const zz[] = {"ABC", "abc"};
}
-------------
Code generated:
<snip>
_DATA SEGMENT
$SG1013 DB 'ABC', 00H !!! note string stored twice !!
$SG1014 DB 'ABC', 00H
$SG1015 DB 'abc', 00H
$SG1016 DB 'abc', 00H
_DATA ENDS
<snip>
; 1 : void foo(void) {
push ebp
mov ebp, esp
sub esp, 8
; 2 : const char *const zz[] = {"ABC", "abc"};
mov DWORD PTR _zz$[ebp], OFFSET $SG1014 !! note: each ptr of array
mov DWORD PTR _zz$[ebp+4], OFFSET $SG1016 !! individually pushed on stack
<snip>
Not shown: Declaring zz as 'static' generates much better code....
svn path=/trunk/; revision=50271
Errors in preferences preceding "gui.console_open" are not immediately
displayed in the console: If a gui.console_open is set to "AUTOMATIC" or
"ALWAYS" and an error or warning occurs in a preference previous to it, the
warning is not displayed in the console window because the window is not yet
open. However, if the user switches to another profile and returns, the
messages will be displayed.
Fix: Move the gui.console_open to the top of the list in
prefs_register_modules() of prefs.c. Existing preferences files can be
corrected by saving them.
svn path=/trunk/; revision=50269
1. More items "filterable" through proto_tree_add_item and expert_add_info_format_text
2. Update protocol spec reference
3. Remove some length checks to allow for malformed packets within dissect_vlan_info since the entire "vlan info structure" is necessary.
svn path=/trunk/; revision=50262