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
Also (for a few files):
- create/use some extended value strings;
- remove unneeded #include files;
- remove unneeded variable initialization;
- re-order fcns slightly so prefs_reg_handoff...() at end, etc
svn path=/trunk/; revision=44438
The following patch adds decoding capabilities for RFC 5886 for PCEP protocol:
9.1. New PCEP Message
Each PCEP message has a message type value.
Two new PCEP (specified in [RFC5440]) messages are defined in this
document:
Value Description Reference
8 Path Computation Monitoring Request (PCMonReq) This document
9 Path Computation Monitoring Reply (PCMonRep) This document
9.2. New PCEP Objects
Each PCEP object has an Object-Class and an Object-Type. The
following new PCEP objects are defined in this document:
Object-Class Value Name Object-Type Reference
19 MONITORING 1 This document
20 PCC-REQ-ID 1: IPv4 addresses This document
2: IPv6 addresses
25 PCE-ID 1: IPv4 addresses This document
2: IPv6 addresses This document
26 PROC-TIME 1 This document
27 OVERLOAD 1: overload This document
svn path=/trunk/; revision=41862
The patch fixes a bug in the PCEP Objective Function (OF) object tree
visualization (it didn't recognize the object and showed it as "Unknown
object").
Also fixes a small bug.
From me: remove a couple of unnecessary includes.
svn path=/trunk/; revision=39454
compiler warning. (It looks like the only expected values will fit in 8 bits,
but it also appears that the code really is expecting 'of_code' to be stored in
16 bits on the wire.)
svn path=/trunk/; revision=35790
- add PATH-KEY object, PKSv4 and PKSv6 subobjects in ERO (RFC5520)
- new METRIC types, Objective Function (OF) object and TLV (RFC5541)
- new RP object Flags
- restructured PCEP_ERROR object dissection (easier to add new
error_types, error_values)
svn path=/trunk/; revision=35789
keys to have _uint in their names, to match the routines that handle
dissector tables with string keys. (Using _port can confuse people into
thinking they're intended solely for use with TCP/UDP/etc. ports when,
in fact, they work better for things such as Ethernet types, where the
binding of particular values to particular protocols are a lot
stronger.)
svn path=/trunk/; revision=35224
Move header field info declarations into function scope.
This is the first step. Another patch will be submitted which actually scrubs
the header field info declarations (remove empty blurbs, etc.)
svn path=/trunk/; revision=28797