safe accessor functions, and it's all done via scary bit-twiddling macros to
boot.
Create the macros TVB_NIB_WORD and TVB_NIB_NIBBLE that (should) behave just
like the raw-pointer NIB_WORD and NIB_NIBBLE macros, except using the safe tvb
functions instead.
Replace two instances with the safe versions, which fixes an out-of-bounds
access caught by my valgrind fuzzer. If this doesn't break anything then we
should probably do a wholesale replacement at some point, but I'm not feeling
that adventurous at the moment.
svn path=/trunk/; revision=54951
much as possible" rather than dissecting nothing if the length of a
set of fields (e.g., a "command") seems wrong or if an exception
occurs fetching data before previous fields have been displayed.
In general: just fetch/dissect from start to end: If there is missing
data, a Wireshark exception will eventually occur;
Add lwm subtrees under the lwm protocol tree (*not* as protocols
under the top (outermost) tree.
Fix a bug which caused an exception to be reported as:
"[Packet size limited during capture: LwMesh truncated]"
rather than as the correct: "[Malformed...]"
col_...() and expert...() functions shouldn't be called under 'if(tree)';
Register the heuristic dissector using "IEEE802154_PROTOABBREV_WPAN"
(like certain other dissectors) rather than using "wpan";
missmatch --> mismatch
Fix some long lines.
svn path=/trunk/; revision=54949
chapter (WSDG_chapter_sources) has been converted.
Conversion was done using the script in
https://code.wireshark.org/review/#/c/9/ along with manual cleanup.
Changes are mostly limited formatting.
It's helpful to have a copy of the pre-conversion guide for comparison.
I've placed a chunked copy online at
http://www.wireshark.org/~gerald/wsdg_html_2014_01/ .
Tested under Autotools. Nmake and CMake will likely break. I'll take a
look shortly. If only we had documention adding a feature branch to
Gerrit and using it to test different platforms...
svn path=/trunk/; revision=54945
offset in the tvbuff of the beginning of the packet to it. Otherwise,
it will never be zero, and the tests will always think the field pointed
to by the offset is present.
svn path=/trunk/; revision=54938
in section 6.1 "Registration.Request Primitive":
The Pool Handle parameter contains a NULL terminated ASCII
string of fixed length.
svn path=/trunk/; revision=54925
tvb_get_string(). (Some versions of the spec speak of ISO 8859-15
strings as well as UTF-8 strings, but we don't appear to try to handle
those.)
Update spec URL.
svn path=/trunk/; revision=54910
be misreading Q.2630.3, as it seems to indicate that the addresses are
BCD, not ASCII, speaking as it does of "hexadecimal digit[s] of
address[es]".
svn path=/trunk/; revision=54909
http://web.archive.org/web/20080308233204/http://dev.aol.com/aim/oscar/#SNAC
"In general strings are not NULL terminated and are encoded using UTF8."
It also says
Authentication
Over the years, the AIM backend has supported several different
methods for authentication. ...
When a client collects the loginId and password for the user it
should not normalize them in any manner. It also should not
prevent the user from entering certain characters as the AIM
name space is constantly changing. For example, currently the
AIM name space is ASCII based, but in the future that may
change. In general, the client should not perform input
checking and instead allow the backend to reject bad values.
which also suggests not assuming ASCII.
So use ENC_UTF_8 in most cases.
For actual messages, it says:
An IM can be encoded in the following different forms:
Name Value Notes
ASCII 0 ANSI ASCII -- ISO 646
UNICODE 2 ISO 10646.USC-2 Unicode
LATIN_1 3 ISO 8859-1
so, if that's the case, the dissector should choose beween
ENC_ASCII|ENC_NA, ENC_UCS_2|ENC_appropriate_ENDIAN, and
ENC_ISO_8859_1|ENC_NA.
Use tvb_get_string_enc() with an encoding rather than tvb_get_string().
svn path=/trunk/; revision=54908
XXX - if we supported various MacXXX character encodings, we could use
those; that might require a preference to specify the encoding.
svn path=/trunk/; revision=54906