Commit graph

465 commits

Author SHA1 Message Date
Guy Harris
a2414d8909 Don't wire into the reassembly code the notion that reassemblies should
be done on flows from one address to another; reassembly for protocols
running atop TCP should be done on flows from one TCP endpoint to
another.

We do this by:

	adding "reassembly table" as a data structure;

	associating hash tables for both in-progress reassemblies and
	completed reassemblies with that data structure (currently, not
	all reassemblies use the latter; they might keep completed
	reassemblies in the first table);

	having functions to create and destroy keys in that table;

	offering standard routines for doing address-based and
	address-and-port-based flow processing, so that dissectors not
	needing their own specialized flow processing can just use them.

This fixes some mis-reassemblies of NIS YPSERV YPALL responses (where
the second YPALL response is processed as if it were a continuation of
a previous response between different endpoints, even though said
response is already reassembled), and also allows the DCE RPC-specific
stuff to be moved out of epan/reassembly.c into the DCE RPC dissector.

svn path=/trunk/; revision=48491
2013-03-22 23:59:54 +00:00
Alexis La Goutte
d16cb61d96 From chaitanya via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8497
Add support for 11R RIC IE's: Data and Descriptors for both FT-Over-Air and FT-Over-DS

Add 802.11 Tag RIC Data (57)
Add 802.11 Tag RIC Descriptor (75) (Not tested...)

From me:
- Remove tabs and whitespace
- Fix fix-encodings-args "warning"

svn path=/trunk/; revision=48421
2013-03-19 16:59:06 +00:00
Alexis La Goutte
6c6d8f1629 Enhance 802.11 FCS check - Replace proto_tree_add_* by proto_tree_add_item - Add bad FCS to colorfilters
svn path=/trunk/; revision=48361
2013-03-17 19:22:19 +00:00
Alexis La Goutte
bfe7af447d Enhance 802.11 Qos Control dissection - Replace proto_tree_add_* by proto_tree_add_item - Use Bitmask feature
svn path=/trunk/; revision=48360
2013-03-17 19:22:10 +00:00
Alexis La Goutte
1f7466aa63 Enhance 802.11 Frame control dissection - Replace proto_tree_add_* by proto_tree_add_item - Add Expert info when Retry 802.11 Frame
svn path=/trunk/; revision=48359
2013-03-17 19:22:01 +00:00
Alexis La Goutte
6dcc65e366 Enhance Vendor RSN IE - Remove hf_ieee80211_tag_interpretation... - Replace proto_tree_add_* by proto_tree_add_item
svn path=/trunk/; revision=48358
2013-03-17 19:21:52 +00:00
Alexis La Goutte
a9787be380 Add 802.11 Tag RM Enabled Capabilities (70)
svn path=/trunk/; revision=48357
2013-03-17 19:21:42 +00:00
Anders Broman
81e80f2c0b From beroset:
remove C++ incompatibilities 
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416

svn path=/trunk/; revision=48355
2013-03-17 16:48:47 +00:00
Michael Mann
3a48e7e1e2 Bugfix Decryption Key Management dialog, bug 8446 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8446)
Needed to convert use of old IEEE802.11 preference strings to UAT.  Since UAT is self-contained within its own file, the entire preference file doesn't need to be rewritten/saved when UAT values are changed.

svn path=/trunk/; revision=48308
2013-03-15 01:31:53 +00:00
Alexis La Goutte
e22e3eeb0e From chaitanya via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8354 Add support for WAPI parameter set IE dissection
Need to add support for WAPI parameter set IE in management frames.
We already have WAI frames dissection support in place.

From me:
Small changes...
- Add links to WAPI specs
- Replace tabs by space
- Remove whitespaces

svn path=/trunk/; revision=48276
2013-03-13 14:49:46 +00:00
Anders Broman
d0efafbcb1 From beroset:
remove C++ incompatibilities from UAT_VS_DEF macro and all uses

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416

svn path=/trunk/; revision=48259
2013-03-12 06:40:13 +00:00
Guy Harris
f7e497a522 Properly pluralize "octet" for the Extended Capabilities tag.
If we don't decode a tag, just say "Undecoded" on the top-level item;
the tag name or number is already on that item, and the length is
underneath it.

svn path=/trunk/; revision=48180
2013-03-07 21:42:01 +00:00
Alexis La Goutte
42dce2d033 Add 802.11 Tag RSNI IE (65)
(Not tested...)

svn path=/trunk/; revision=48063
2013-03-04 17:16:35 +00:00
Alexis La Goutte
512a68479c From chaitanya via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8432 BE (3) AC is wrongly named as "Video" in (qos_acs)
In the array of WME AC names, the name for tid 3 is wrongly named as "Video" it should be "Best Effort" instead.

#BACKPORT(1.8,1.6)

svn path=/trunk/; revision=48062
2013-03-04 17:16:26 +00:00
Alexis La Goutte
ea4c5708b2 Add 802.11 Tag Antenna (64)
svn path=/trunk/; revision=48061
2013-03-04 17:16:17 +00:00
Alexis La Goutte
95dff87ead Add 802.11 Tag BSS Average Access Delay IE (63)
svn path=/trunk/; revision=48060
2013-03-04 17:16:07 +00:00
Alexis La Goutte
430c8b13e3 Add 802.11 BSS AC Access Delay IE (68)
(Only display the value in decimal don't yet display the Average Access Delay , See 8.4.2.41 BSS Average Access Delay element )

svn path=/trunk/; revision=48057
2013-03-04 17:15:40 +00:00
Alexis La Goutte
5a43ae12f6 Fix typo about BSS AC/AVG Access Delay
svn path=/trunk/; revision=48056
2013-03-04 17:15:24 +00:00
Alexis La Goutte
089f1832af Enhance HT Control (proto_tree_add_uint/boolean/* => proto_tree_add_item
svn path=/trunk/; revision=48055
2013-03-04 17:15:09 +00:00
Alexis La Goutte
559aa015d6 Remove expert_info for unknown/undecode Atheros frame...
svn path=/trunk/; revision=48054
2013-03-04 17:14:58 +00:00
Alexis La Goutte
e16ea8d71e From 802.11-2012.pdf
Enhance Extended Capabilities IE (127)
* Update list of supported bits...
* ...

svn path=/trunk/; revision=48053
2013-03-04 17:14:49 +00:00
Alexis La Goutte
f725d4c261 Fix typo about length of BSS Available Admission Capacity IE
svn path=/trunk/; revision=48052
2013-03-04 17:14:37 +00:00
Pascal Quantin
0d9dfe4b26 Fixed two wrong encoding parameters found by fix-encoding-args.pl and a typo error
svn path=/trunk/; revision=48041
2013-03-03 19:32:22 +00:00
Guy Harris
6b629c4d92 Move show_exception() and show_reported_bounds_error() to
epan/show_exception.c, as it's used outside
epan/dissectors/packet-frame.c.  Update their callers to include
<epan/show_exception.h> to get their declaration.

Add a CATCH_NONFATAL_ERRORS macro that catches all exceptions that, if
there's more stuff in the packet to dissect after the dissector call
that threw the exception, doesn't mean you shouldn't go ahead and
dissect that stuff.  Use it in all those cases, including ones where
BoundsError was inappropriately being caught (you want those passed up
to the top level, so that the packet is reported as having been cut
short in the capture process).

Add a CATCH_BOUNDS_ERRORS macro that catches all exceptions that
correspond to running past the end of the data for a tvbuff; use it
rather than explicitly catching those exceptions individually, and
rather than just catching all exceptions (the only place that
DissectorError should be caught, for example, is at the top level, so
dissector bugs show up in the protocol tree).

Don't catch and then immediately rethrow exceptions without doing
anything else; just let the exceptions go up to the final catcher.

Use show_exception() to report non-fatal errors, rather than doing it
yourself.
 
If a dissector is called from Lua, catch all non-fatal errors and use
show_exception() to report them rather than catching only
ReportedBoundsError and adding a proto_malformed item.

Don't catch exceptions when constructing a trailer tvbuff in
packet-ieee8023.c - just construct it after the payload has been
dissected, and let whatever exceptions that throws be handled at the top
level.

Avoid some TRY/CATCH/ENDTRY cases by using checks such as
tvb_bytes_exist() before even looking in the tvbuff.

svn path=/trunk/; revision=47924
2013-02-27 22:43:54 +00:00
Gerald Combs
977730ed7c The IEEE may not care what's in an SSID but Pango is much more picky.
If the SSID isn't valid UTF-8 truncate it and indicate that we did so.
(As bug 5738 points out this is part of a more general problem but in
the meantime this keeps us from crashing.)

Don't try to decrypt too-long SSIDs.

I feel compelled to change my SSID at home to a series of carriage
returns, linefeeds, and SNOWMAN (U+2603).

svn path=/trunk/; revision=47871
2013-02-25 04:16:37 +00:00
Alexis La Goutte
3972e6ba82 From Mark Phillips via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8368
Minor corrections to the VHT IE decode

* Correct the Rx, Tx and Basic MCS map decodes. The number of Spatial streams should run from 1-8 (not 0-7).
* Change Several misstyped Mhz into MHz

From me:
Remove comma for big number (use space)
Add Octets unit in some hf description

svn path=/trunk/; revision=47858
2013-02-24 19:10:11 +00:00
Alexis La Goutte
ac0692bfb8 Fix AP / Sta CF Pollable value_string (the value is shifted !)
svn path=/trunk/; revision=47857
2013-02-24 19:09:55 +00:00
Alexis La Goutte
961f9d1f70 Remove some "duplicate" TFS in 802.11 field capability Add in use / not in use in common TFS
svn path=/trunk/; revision=47856
2013-02-24 19:09:04 +00:00
Alexis La Goutte
cafb554d29 From 802.11k-2008 : Amendment 1: Radio Resource Measurement of Wireless LANs Add Radio Measurement flag from Capability Information Field
svn path=/trunk/; revision=47838
2013-02-23 11:21:29 +00:00
Alexis La Goutte
0885b65773 Replace by proto_tree_add_item and use FT_NONE type for fixed parameters
svn path=/trunk/; revision=47835
2013-02-23 11:21:02 +00:00
Alexis La Goutte
2fda9a32c2 Enhance dissection of A-MSDU Frame (Make length filterable...)
svn path=/trunk/; revision=47824
2013-02-22 16:51:33 +00:00
Alexis La Goutte
5416f1093e Add 802.11 BSS Available Admission Capacity (67)
svn path=/trunk/; revision=47822
2013-02-22 16:51:15 +00:00
Alexis La Goutte
0157943ca1 Enhance 802.11 dissector when IE Tag is unknown (Add also a Expert info)
svn path=/trunk/; revision=47819
2013-02-22 16:50:49 +00:00
Alexis La Goutte
0b8125d9cb From 802.11-2012.pdf Update Information Element (IE Tag) List
svn path=/trunk/; revision=47817
2013-02-22 16:50:08 +00:00
Alexis La Goutte
7523dc8af7 Fix Modelines
svn path=/trunk/; revision=47796
2013-02-21 15:31:50 +00:00
Alexis La Goutte
95e415ea5a From report of Jim Young via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8345 Malformed IEEE80211 frame triggers DISSECTOR_ASSERT
In some cases these malformed frames trigger a DISSECTOR_ASSERT() in proto.c's proto_item_set_len().  This happens when packet-ieee80211.c's dissect_ieee80211_mgt() calls packet-ieee80211.c's get_tagged_parameter_tree() with a "size" parameter value of -1.

From me:
Replace by proto_tree_add_item with -1 length (and use FT_NONE ftype)

svn path=/trunk/; revision=47795
2013-02-21 15:20:25 +00:00
Alexis La Goutte
18a87fc0d6 Fix small typo in TPC Report IE
svn path=/trunk/; revision=47734
2013-02-18 17:24:30 +00:00
Alexis La Goutte
e5fc3c8c4b From 802.11-2012.pdf Update Reason Code and Status Code fields
svn path=/trunk/; revision=47732
2013-02-18 17:24:07 +00:00
Alexis La Goutte
8e4e16aeac Display Power Constraint in DEC (and fix a small typo)
svn path=/trunk/; revision=47731
2013-02-18 17:23:57 +00:00
Evan Huus
1019582c47 Move version field outside of the switch, since it exists for all subtypes.
This fixes the TSPEC case, which didn't include it before.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8330

svn path=/trunk/; revision=47653
2013-02-14 03:35:35 +00:00
Evan Huus
d4dbbe0965 From Chaitanya via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8320
Fix typo in case value that led to misdissection of TSPEC IEs.

svn path=/trunk/; revision=47646
2013-02-13 00:01:38 +00:00
Chris Maynard
efa7e8f2b6 Fix bug 8056: Maximum value of Duration should be 32767.
Duration/ID field dissected according to Table 8-3 of 8.2.4.2 of the IEEE std. 802.11-2012: http://www.techstreet.com/cgi-bin/pdf/free/1071374/802.11-2012.pdf

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8056
#BACKPORT(1.8, 1.6)

svn path=/trunk/; revision=47575
2013-02-08 19:25:59 +00:00
Guy Harris
dd1505428c Another ILP32 Y2.038K warning.
svn path=/trunk/; revision=46758
2012-12-26 07:05:42 +00:00
Jeff Morriss
6406acc768 Use TVB_SET_ADDRESS_HF() and COPY_ADDRESS_SHALLOW() instead of tvb_get_ptr()
and a couple of SET_ADDRESS()s.

Use proto_tree_add_item() instead of proto_tree_add_ether() called with a
pointer into the TVB.

Leave a comment for a place where a bunch of code in several case statements
could probably be collapsed into much less code.

svn path=/trunk/; revision=46682
2012-12-21 17:43:46 +00:00
Alexis La Goutte
553f751e01 From Simon Barber via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8094 Add support for RA and TA to all 802.11 frame formats
svn path=/trunk/; revision=46561
2012-12-16 15:34:23 +00:00
Alexis La Goutte
cf6115367b Update IEEE Wireless Documentation links
IEEE Std 802.11(m)-2012 (pdf) is now available for free ! include with 10 amendements

* IEEE Std 802.11k™-2008: Radio Resource Measurement of Wireless LANs (Amendment 1)
* IEEE Std 802.11r™-2008: Fast Basic Service Set (BSS) Transition (Amendment 2)
* IEEE Std 802.11y™-2008: 3650–3700 MHz Operation in USA (Amendment 3)
* IEEE Std 802.11w™-2009: Protected Management Frames (Amendment 4)
* IEEE Std 802.11n™-2009: Enhancements for Higher Throughput (Amendment 5)
* IEEE Std 802.11p™-2010: Wireless Access in Vehicular Environments (Amendment 6)
* IEEE Std 802.11z™-2010: Extensions to Direct-Link Setup (DLS) (Amendment 7)
* IEEE Std 802.11v™-2011: IEEE 802.11 Wireless Network Management (Amendment 8)
* IEEE Std 802.11u™-2011: Interworking with External Networks (Amendment 9)
* IEEE Std 802.11s™-2011: Mesh Networking (Amendment 10)

svn path=/trunk/; revision=46507
2012-12-11 23:23:48 +00:00
Bill Meier
a4128c56b9 General cleanup:
- Use/create extended value strings as appropriate;
- Reformat hf[] entries;
- Do whitespace, & etc changes to use a consistent formatting style;
- Reformat some long lines;
- Localize some variables; remove some unneeded initializers;
- expert...() shouldnt be called under 'if (tree)' (packet-wimaxasncp);
- Move proto_register...() & etc to the end of the file (packet-ieee80211);
- Misc.

svn path=/trunk/; revision=46489
2012-12-10 14:50:32 +00:00
Bill Meier
9f5ae02ed7 Fix 2 [-Wshadow] warnings.
svn path=/trunk/; revision=46372
2012-12-04 17:38:05 +00:00
Jeff Morriss
49466f95bc Introduce, and start using, TVB_SET_ADDRESS() and TVB_SET_ADDRESS_HF(). They
are like the non-TVB versions except that they take a TVB and an offset
instead of (frequently) a pointer into the TVB.

Calling tvb_get_ptr() before modifying the rest of the fields should help fix
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7960 (though I can't
reproduce that problem).


Replace a bunch of calls like:

SET_ADDRESS(..., AT_XXX, length, tvb_get_ptr(tvb, offset, length));

with:

TVB_SET_ADDRESS(..., AT_XXX, tvb, offset, length);

svn path=/trunk/; revision=46324
2012-12-02 04:49:13 +00:00
Jeff Morriss
0266cceef3 Make all enum_val_t's const.
svn path=/trunk/; revision=46292
2012-11-29 20:15:37 +00:00