- revert incorrect replacement of FALSE by ENC_BIG_ENDIAN
done a while back;
[The incorrect use of ENC_BIG_ENDIAN was benign since
ENC_BIG_ENDIAN is currently defined as 0x0000000];
svn path=/trunk/; revision=45651
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
implicitly by the #define name and string they were defined to; not all
UATs neatly fit into any of the categories, so some of them were put
into categories that weren't obviously correct for them, and one - the
display filter macro UAT - wasn't put into any category at all (which
caused crashes when editing them, as the GUI code that handled UAT
changes from a dialog assumed the category field was non-null).
The category was, in practice, used only to decide, in the
aforementioned GUI code, whether the packet summary pane needed to be
updated or not. It also offered no option of "don't update the packet
summary pane *and* don't redissect anything", which is what would be
appropriate for the display filter macro UAT.
Replace the category with a set of fields indicating what the UAT
affects; we currently offer "dissection", which applies to most UATs
(any UAT in libwireshark presumably affects dissection at a minimum) and
"the set of named fields that exist". Changing any UAT that affects
dissection requires a redissection; changing any UAT that affects the
set of named fields that exist requires a redissection *and* rebuilding
the packet summary pane.
Perhaps we also need "filtering", so that if you change a display filter
macro, we re-filter, in case the display is currently filtered with a
display filter that uses a macro that changed.
svn path=/trunk/; revision=43603
1. If there's no character encoding (ENC_ASCII, ...) specified
then use ENC_ASCII.
2. For all but FT_UINT_STRING, always use ENC_NA
(replacing any existing True/1/FALSE/0
/ENC_BIG_ENDIAN/ENC_LITTLE_ENDIAN).
svn path=/trunk/; revision=39426
Specifically: Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as
the encoding parameter for proto_tree_add_item() calls which directly reference
an item in hf[] which has a type of:
FT_BOOLEAN
FT_IPv4
FT_EUI64
FT_GUID
FT_UINT_STRING
Also: For type FT_ITv6 use ENC_NA. (This was missed in SVN #39260)
svn path=/trunk/; revision=39328
Specifically: Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as
the encoding parameter for proto_tree_add_item() calls which directly reference
an item in hf[] which has a type of:
FT_UINT8
FT_UINT16
FT_UINT24
FT_UINT32
FT_UINT64
FT_INT8
FT_INT16
FT_INT24
FT_INT32
FT_INT64
FT_FLOAT
FT_DOUBLE
svn path=/trunk/; revision=39288
FT_NONE
FT_BYTES
FT_IPV6
FT_IPXNET
FT_OID
Note: Encoding field set to ENC_NA only if the field was previously TRUE|FALSE|ENC_LITTLE_ENDIAN|ENC_BIG_ENDIAN
svn path=/trunk/; revision=39260
Added filters for BOOTP options of "basic" types (modeled after packet-wssap.c)
"bootp.option.length" only used when specific option filter can't be found.
"bootp.option.value" expanded to support multiple types
Converted "custom options string" to UAT
replacing many proto_tree_add_text() calls with
proto_tree_add_item(), so the BOOTP dissector is considerably more filterable
svn path=/trunk/; revision=37958
should be used (instead of the non-tvb functions with a call to tvb_get_ptr()).
Use those functions in a bunch of places.
svn path=/trunk/; revision=35911
bootp option 123 has 2 chooses - coordinate based location RFC 3825 or
CableLabs DSS_ID. Add better support for having 2 DSS_ID with dynamic
size (up to 32 byte each)
svn path=/trunk/; revision=35530
Replace ip6_to_str((tvb_get_ptr(...)) with tvb_ip6_to_str().
There's no need to pass the result of tvb_get_ptr() as the 'value' in
proto_tree_add_*(): just use proto_tree_add_item().
Replace some tvb_get_ptr()s with tvb_get_ephemeral_string()s.
Replace some memcpy()+tvb_get_ptr() with tvb_memcpy().
svn path=/trunk/; revision=35529
Add support to EuroCableLabs at bootp opt 60 sub 23.
according to PKT-SP-PROV1.5-I04-090624, paragraph 10.23 Device MIB Support:
type 2 is indicating EuroCableLabs.
svn path=/trunk/; revision=35350
buffer - the size of the latter can't be found with sizeof, as all you
have is a pointer to the buffer. sizeof (pointer) happened, by chance,
to give the right answer on ILP32 platforms, but gave a too-big answer
on LP64 and LLP64 platforms, which meant we overflowed the buffer when
clearing it.
svn path=/trunk/; revision=35297
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
- Initialize a few static global variables;
- Remove two unnecessary calls to g_hash_table_foreach_remove;
- Do whitespace cleanup and use consistent indentation;
- Fix a few typos and fix up several comments.
svn path=/trunk/; revision=35183
CableLabs has added additional TLV's to DHCP Option 60 Modem capabilities
reporting for their Docsis 2.0 devices. Additionally, in Docsis 3.0, they have
moved the capabilities portion of Option 60 (sub-option 5) to now reside in the
vendor specific Option 125 using their Enterprise number (4491).
svn path=/trunk/; revision=34605
bootp dissector when dissecting packetcable MTA capabilities).
Limit the tlv_len to G_MAXUINT16 to prevent an integer overflow from causing us to
increment the working offset by 0 (thus causing us to loop).
svn path=/trunk/; revision=33846
"According to this document DHCP Option 150 is an array of IPv4 TFTP Server
Addresses
http://cisco.com/en/US/products/sw/voicesw/ps556/products_tech_note09186a00800942f4.shtml#tftp_option
I fixed the capitalization of this option in the bootp dissector and changed
the type to match the actual use of the option. (ipv4_list)"
From me: Add a pointer to a draft RFC about the DHCP "TFTP Server Address" option.
svn path=/trunk/; revision=33203
Add some more robustness to Alcatel-Lucent vendor specific
DHCP options and add some new option values.
It now supports all currently implemented option values, i.e.:
{Option Opcode Length (bytes) Content}
AVA 58 (0x3A) 2 Vlanid
IP Touch TFTP1 64 (0x40) 4 IPv4 address
IP Touch TFTP2 65 (0x41) 4 IPv4 address
APPLICATION_TYPE 66 (0x42) 1 0 (noe) / 1 (sip)
SIP URL 67 (0x43) x bytes url string
svn path=/trunk/; revision=32845
1. add docsis3.0 support in bootp option 60
2. change to text option 123 (Cable lab)
3. change to text option 43 sub option 8 (OUI)
svn path=/trunk/; revision=32696
- vendor option field
- overloaded sname field
- overloaded file name field
Improve the overload determination of sname and file name field.
svn path=/trunk/; revision=31927
Add Packet Cable 2.0 bootp option 60 support:
sub-option 01 new type value 2 for packet cable 2.0
sub-option 1a new sun-option "Certificate Bootstrapping Support" length 01,
value 1 for support and 0 for not supported.
svn path=/trunk/; revision=31647
- Add another break
- Add a comment about suboption 9
- Add suboption 11 decoding while I'm at it
(Server Identifier Override Suboption)
svn path=/trunk/; revision=30131
* Expert Info / Expert Info Composite requires a full protocol tree.
* Delay tree NULL pointer check in bootp dissector
svn path=/trunk/; revision=29530
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
possibly undesirable - in a Turkish locale, for example, "i" and "I" are
not equal); g_ascii_strcasecmp()'s behavior is not locale-dependent (and
treats "i" and "I" as equal even in a Turkish locale; the strings being
compared against are English, not Turkish, so treating "i" and "I" as
equal is a feature, not a bug).
svn path=/trunk/; revision=27236
Provide for custom decodes of bootp/dhcp options.
By Jaap Keuter:
Cleaned up some option processing code and made option change more robust.
svn path=/trunk/; revision=27233
This patch adds support for DHCPv4 coordinate-based Location Configuration
Option 123, as proposed by RFC 3825.
The decoding functionality is based on the RFC3825decoder by Klaus Darilion
http://www.enum.at/rfc3825encoder.529.0.html
svn path=/trunk/; revision=26381