(Found by checkhf).
Note: There's quite a large amount of hf[] entries which are
commented out. I wonder if there are "top-level" entries
missing from the "parse-tree" arrays ?
svn path=/trunk/; revision=54990
to add missing BASE_RANGE_STRING and to use RVALS instead of VALS.
Fixes crashes in 'tshark -G values' and presumably also fixes
crashes when used in a dissection.
Introduced in SVN #54449.
(I suspect that ' convert_proto_tree_add_text.pl' may need some work
to handle range_strings).
svn path=/trunk/; revision=54984
an hf[] entry but defined as a 'value_string' intead of
as a 'val64_string'.
Caused 'tshark -G values' to crash
(and presumably would also cause a crash when the value-string
is referenced in a dissection):
Introduced in svn #54728
(Note: There's still another 'tshark -G values' crash to to found & fixed)
svn path=/trunk/; revision=54983
restore usage in cms and pkcs12. They never got a valid value in
actx->external.direct_reference because they use another actx in this case.
This will add back the global variable in x509af, but this is needed
until we manage to pass the value in another way.
See comments in bug 9573.
svn path=/trunk/; revision=54975
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
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
v1.1: Personal Information Exchange Syntax:
http://www.emc.com/emc-plus/rsa-labs/pkcs/files/h11301-wp-pkcs-12v1-1-personal-information-exchange-syntax.pdf
"When password integrity mode is used to protect a PFX PDU, a password
and salt are used to derive a MAC key. As with password privacy mode,
the password is a Unicode string, and the salt is a byte string."
So, not having found any other references to salts as text strings, copy
it with tvb_memdup(), not tvb_get_string().
svn path=/trunk/; revision=54893
as a string if every byte in it is a printable ASCII character, it's
ASCII. Use tvb_get_string_enc() with an appropriate encoding.
svn path=/trunk/; revision=54889
better.
We don't need eventlog_get_unicode_string_length() in the eventlog
dissector, either - tvb_unicode_strsize() does the job just as well.
svn path=/trunk/; revision=54874
- "Once-only" test not needed in proto_reg_handoff..();
- Set COL_PROTOCOL, clear COL_INFO at the begining of the dissector
before fetching data from the tvb;
- Use tvb_reported_length;
- Use col_set_str/col_append_str where appropriate;
- Zigbee --> lwm;
- Fix typo;
- Reformat some whitespace for consistency.
ToDo:
- Review use of col_...() and expert...() under 'if (tree)';
- Review use of col_clear(..., COL_INFO) after text already added to COL_INFO;
- Review certain tvb fetches to ensure no fetches using a negative offset;
svn path=/trunk/; revision=54871
New Dissector For Lightweight Mesh protocol
A dissector for ATMEL Lightweight Mesh protocol (lwm).
The protocol is carried on the top of 802.15.4 frame.
From me:
* Add Modelines info
* Fix indent (use 4 spaces)
* Remove trailing whitespace
svn path=/trunk/; revision=54856
Constify.
For routines that manipulate sequences of 8-bit bytes, have them take
guint8 pointers rather than void pointers.
Don't cast away constness.
svn path=/trunk/; revision=54795
packet-pdcp-lte.c:1397:9: error: variable 'decrypted_data' is used uninitialized whenever 'if' condition is false
packet-pdcp-lte.c:1469:50: note: uninitialized use occurs here
decrypted_tvb = tvb_new_child_real_data(tvb, decrypted_data, payload_length, payload_length);
packet-pdcp-lte.c:1353:27: note: initialize the variable 'decrypted_data' to silence this warning
packet-pdcp-lte.c:1397:9: error: variable 'payload_length' is used uninitialized whenever 'if' condition is false
packet-pdcp-lte.c:1469:66: note: uninitialized use occurs here
decrypted_tvb = tvb_new_child_real_data(tvb, decrypted_data, payload_length, payload_length);
packet-pdcp-lte.c:1354:24: note: initialize the variable 'payload_length' to silence this warning
svn path=/trunk/; revision=54791
g_snprintf() owes the world a huge apology. They *could* have just used
size_t, or they *could* at least have, if they insisted on having GLib
types to mirror regular types, made gsize an alias for size_t and,
whatever they did with gsize, they *could* have used it as the argument
for the size of the buffer for g_snprintf(), but no, they had to use
gulong.
svn path=/trunk/; revision=54781
which is Too Damn Short on Windows. (Microsoft, gotta love 'em. I
guess even more Windows programmers than UN*X programmers thought long
was 32 bits, now and forever, world without end, amen.)
svn path=/trunk/; revision=54771
pointer while we're filling in a string and then assigning it to a const
pointer when we're done.
Don't use guint16 as a size value; it does no good (it doesn't magically
protect you againt too-long strings), it runs the potential risk of
overflow, it doesn't save time for arithmetic (32-bit or 64-bit
arithmetic may well be faster, and will at least be as fast), and it
doesn't save space (if it fits in a register, you save nothing, and if
it's on the stack, there will probably be padding.
svn path=/trunk/; revision=54764
BGPTYPE_LINK_STATE_ATTR is temporarily set to 99, would need change when IANA allocate a Path Attribute value for BGP-LS
From me :
* Fix indent
* fix arg encoding (via encoding-args tools)
svn path=/trunk/; revision=54728
In a source file that defines external functions, the header file that
declares the functions must be included, in order to make sure the
declarations match the function signature. Make it so - which means
creating the header file in the first place.
That means f_k() doesn't need to, and shouldn't be, declared in
packet-gsm_rlcmac.h. Include packet-gsm_a_rr.h in packet-gsm_rlcmac.c.
svn path=/trunk/; revision=54724
used in the Netlogon dissector, so don't make them static.
Now that we've added HEADER START/HEADER END to Pidl, use it to declare
those routines in packet-dcerpc-lsa.h. Don't declare them in
packet-dcerpc-netlogon.c, as they're now declared in the header.
svn path=/trunk/; revision=54723
declares the functions must be included, in order to make sure the
declarations match the function signature. Make it so - which means
creating the header file in the first place.
svn path=/trunk/; revision=54717
declares the functions must be included, in order to make sure the
declarations match the function signature. Make it so.
They *didn't* match; fix that.
Do *not* use 16-bit tvbuff offsets; there is no advantage to that (and,
in fact, 32-bit arithmetic may be easier on some platforms), and it has
the disadvantage that you're more likely to have the offset overflow.
dissect_cbs_serial_number() returns the new offset, not the length of
the item it dissected; don't add its return value to the offset, set the
offset to its return value.
Make dissect_cbs_message_identifier() return the new offset as well, for
consistency, and don't add *its* return value to the offset.
svn path=/trunk/; revision=54714
From Michal Labedzki
1. Bluetooth: Implement the rest of fields in Low Energy Link Layer dissector
2. Bluetooth: Merge all UUIDs together
3. Bluetooth: Extract LE Channel MAP to separate dissector
4. Ubertooth: Dissect CC2400 registers
svn path=/trunk/; revision=54700
From Michal Labedski
1. add support for new btsnoop "format" introduced by BlueZ team in "btmon" tool
2. Bluetooth: Make EIR, AD and COD more generic
3. Bluetooth: HCI/LL: Update Error Codes to Core 4.1 Specification
4. Ubertooth: Fix response command handling
5. Ubertooth: Update to support firmware version
6. Ubertooth: Dissect by Vendor Id/Product Id
svn path=/trunk/; revision=54699
This is a VERY PRELIMINARY version of tfshark. It's an attempt to jumpstart FileShark and its architecture. Right now it's mostly just a very stripped down version of tshark with all of the necessary build modifications (including now building filetap library since tfshark depends on it)
This code has helped me identify what I believe to be all of the necessary layers for a complete fileshark architecture. And those layers will slowly be added in time (patches always welcome!).
svn path=/trunk/; revision=54646