Clean up the dissection of ServiceContexts.
authorGuy Harris <guy@alum.mit.edu>
Wed, 9 Apr 2014 09:44:15 +0000 (02:44 -0700)
committerGuy Harris <guy@alum.mit.edu>
Wed, 9 Apr 2014 09:45:13 +0000 (09:45 +0000)
commit1c162ffc7e59e9c669d8b7ef9232c9bbf719ae9a
tree0fc234145cb7b813c7876273af23dd10a9f3ff76
parent9c14703d7b8eb9a0e2ff22d55f46748b3ce6c029
Clean up the dissection of ServiceContexts.

Make the top-level item for a ServiceContext an item for the
ServiceContext as a while, and put the VSCID under it like other items,
rather than making the VSCID the top-level item.

Don't dissect the VSCID using the value_string field for the Object
Management Group's SCIDs; use that value_string field for the SCID if
the VSCID is 0 (meaning "Object Management Group"), and have no
value_string field for the VSCID otherwise (the interpretation of the
SCID depends on the value of the VSCID).

Dissect the encapsulation information even for unknown ServiceContexts.

If the ServiceContext's length is bigger than what it's supposed to be,
throw an exception if it's also bigger than the data available in the
packet; this squelches a run-time warning in that case.

Change-Id: I11cc62c2e32f4623dba2a551119b3146a7037e6d
Reviewed-on: https://code.wireshark.org/review/1038
Reviewed-by: Guy Harris <guy@alum.mit.edu>
epan/dissectors/packet-giop.c