numerous changes, most notably:
1) BACnetStatusFlags is bit string, not enum, in NotificationParameters
2) Fixes many places where enclosing context tags were not handled properly.
3) Simplify tag decoding logic. Change to explicit decoding in many
instances rather
than read tags in a loop and do a switch based on tag number. Looping
ignores out-of-order and other types of tagging errors.
svn path=/trunk/; revision=19410
I fixed fBACnetPropertyValue in the BACnet packet-bacapp.c dissector
where an optional decoding for Priority wasn't being optional. A valid
packet with a confirmedEventNotification that did not have the optional
priority made this bug evident by indicating Malformed Packet.
Me:
Fixed some signedness warnings, #if 0'ed out unused functions.
svn path=/trunk/; revision=16957
1) Fixes context-tagged BACnet errors.
2) Fixes indeterminate tag data. If the tag length/value/type variable
was 6 or 7 you could not tell whether it was an open/close tag or had
length 6/7.
3) Don't make assumptions about property types for proprietary BACnet
object types.
svn path=/trunk/; revision=16104
here are the highlights of what's fixed:
1) Decoding of vendor-defined types
2) Decoding of some event notification parameters (not all)
3) Decoding of ABSTRACT-SYNTAX&Type
4) Decoding of BACnetTimeStamp
5) Some problems with context-tagged values (like booleans)
6) Continuation segments - don't try to decode them since you can't
start mid-PDU
7) Removed some excessive levels of subtrees
svn path=/trunk/; revision=15226
* added additional value string enumerations from BACnet-2004
* removed vendor specific value string enumerations
* corrected some value strings enumerations that were incorrect
* refactored some common strings as strings + format
* refactored some value strings to use a reserved range and a
proprietary range by using val_to_split_str function which now correctly
shows the split range when a value is not matched.
* corrected some spelling errors
* converted some item text values to dissector registration
* added protocol tree for the BACnet tag headers
* added value strings tree display for some bit string BACnet properties
* added value strings tree display for some enumerated BACnet properties
* changed the conversion of signed, unsigned, and enumerated BACnet
values to use ntohx functions.
* added proper handling for large values of signed, unsigned, and
enumerated BACnet values.
* refactored BACnet Null and Boolean Tag tree
* refactored BACnet Real and Double Tag tree
* changed comments into functions for special tags
* changed some white space to match existing file style
* refactored tvb_reported_length to tvb_length_remaining to simplify
* corrected octet-string tree when length is zero
* refactored octet-string tree to use tvb_bytes_to_str
* corrected application tagged productions that were context tagged
* corrected context tagged productions that were application tagged
* corrected offset for BACnet character strings
* refactored some identical service request tree handling
* changed confirmed APDU to highlight the correct portion of the APDU
* changed some dissector registration values to display as decimal
* changed cast in call to iconv() to fix compiler warning
* corrected bit-wise AND in AtomicFile tree handling
packet-bvlc.c
* added error text in tree when encoded length doesn't match actual length
svn path=/trunk/; revision=14417