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
Display FQDN binary encoded name as text
Ensure that get_dns_name does not cross packet sub boundry
From me:
Preserve the usage of bootp.fqdn.name as a display filter
svn path=/trunk/; revision=25981
- The overloaded options are displayed at the same level as other options
- The bootp file and server name options are displayed as overloaded if
appropriate. To achieve this the bootp header parsing code needed to be
moved to a later point.
+ Some signedness warning fixes.
+ Make a global variable (novell_string) static
svn path=/trunk/; revision=24611
This patch decodes the Civic Address Types (CATypes) for Civic Addresses
Configuration Information. This GEOCONF_CIVIC DHCP option number 99 is defined
in RFC 4776.
svn path=/trunk/; revision=24406
According to http://www.iana.org/assignments/bootp-dhcp-parameters, suboptions
from 1 to 10 have been defined. 3 is reserved, and most of the others have
their own RFC. For a start I've attached a patch that decodes suboption 6 just
as 1 and 2, and also suboption 3. This might not be entirely correct, since
suboptions 1 and 2 are opaque values (RFC3046), while 6 is an ASCII text
string.
I added something for the other values as well...
svn path=/trunk/; revision=23293
The following patch decode DHCP option 249 (Classless Static Route) used by
some Microsoft systems. Same decoding as option 121 (RFC 3442).
svn path=/trunk/; revision=22576
routines and routines using those routines. GLib might use different
modifiers for 64-bit quantities than the platform's C library does.
svn path=/trunk/; revision=21990
--enable-extra-gcc-checks set.
If we turn on -pedantic, try turning on -Wno-long-long as well, so that
it's not *so* pedantic that it rejects the 64-bit integral data types
that we explicitly require.
Constify a bunch of stuff, and make some other changes, to get rid of
warnings.
Clean up some indentation.
svn path=/trunk/; revision=21526
Attached is a wireshark patch that adds support for decoding DHCP option 125
and the DHCP option 125 suboptions defined by the DSL Forum's TR-111
specification.
svn path=/trunk/; revision=20783
- allow DHCP option 43 suboption 8 (OUI) for CableLabs clients to be a 6-byte string (as required for DOCSIS CMs) to
account for inconsistencies in different CableLabs specifications
- add new DHCP option 60 fields 0x0d (IP Filters Support) and 0x0e (LLC Filters Support) for CableLabs DOCSIS 2.0 CMs
- rename PKT_CM_* variables to have a DOCS_CM prefix instead (overdue, as indicated by an existing comment)
- update specification references
svn path=/trunk/; revision=17884
- Display UUID for tag #97 (Client machine identifier)
- Display UNDI major and minor version for tag #94 (Client network
interface identifier)
- Use value strings for tag #93 (Client system architecture)
The byte ordering is messed up for the GUID though.
svn path=/trunk/; revision=17541
packet-ntp.c: Rather confused and incorrect use of g_snprintf return value
packet-pim.c: whitespace change
packet-icmpv6.c: g_snprintf takes trailing \0 into account, fix off by 1 error
packet-clnp.c: Fix incorrect use of g_snprintf return value
packet-isakmp.c: g_snprintf takes trailing \0 into account
packet-tr.c: Fix incorrect use of g_snprintf return value
packet-radius.c: Fix incorrect use of g_snprintf return value
packet-radius.h: constify a string variable
packet-ldap.c: The return value isn't needed, so don't use it incorrectly
packet-tcp.c: Fix incorrect use of g_snprintf return value
packet-windows-common.c: Remove unneeded DISSECTOR_ASSERT
packet-smb-sidsnooping.c: g_snprintf takes trailing \0 into account
packet-pvfs2.c: g_snprintf takes trailing \0 into account
packet-ptp.c: Remove #include snprintf
packet-ppp.c: Fix incorrect use of g_snprintf return value
packet-ospf.c: Fix incorrect use of g_snprintf return value
packet-mip6.c: snprintf -> g_snprintf
packet-bootp.c: Remove a commented out bad use of g_snprintf
packet-ber.c: snprintf -> g_snprintf, g_snprintf takes trailing \0 into account
2do:
52 packet-ieee80211.c: 2DO
2 packet-nfs.c: 2DO - too many side effects
33 packet-bgp.c: 2DO
18 packet-dns.c: 2DO
14 packet-dcm.c: 2DO
13 packet-x11.c: 2DO
11 packet-kerberos.c: 2DO
10 packet-diameter.c: 2DO
9 packet-snmp.c: 2DO
9 packet-pgm.c: 2DO
7 packet-nbns.c: 2DO
6 packet-fcswils.c: 2DO
5 packet-wccp.c: 2DO
5 packet-cops.c: 2DO
4 packet-wtp.c: 2DO
svn path=/trunk/; revision=17038
also change one (of several:-( ) arrays to be accessed through accessor functions so proper bounds checking is done.
there are many other inbstances of arrays in this dissector that are accessed with no proper bounds checking and the same thing should be done for them
svn path=/trunk/; revision=16891
calls to "tvb_get_ipv4()" and "tvb_get_ipv6()".
Fix a call in the BGP dissector to properly fetch an IEEE floating-point
number.
Update some I-D info.
svn path=/trunk/; revision=15774
and that extract IPv6 addresses into a "struct e_in6_addr", with
tvb_get_ipv4() and tvb_get_ipv6() calls - except for some that we
remove, by using proto_tree_add_item(), rather than replacing.
Have epan/tvbuff.h include epan/ipv6-utils.h, to define "struct
e_in6_addr" (not necessary to declare the tvbuff routines, but including
it there means "struct e_in6_addr" is guaranteed to be defined before
those declarations, so we don't get compiler complaints if we define it
*after* those declarations).
svn path=/trunk/; revision=15758
Make sure the delta is > 0.
This intends to fix bug 160, although with a capture file
to test it, I can't be totally sure.
svn path=/trunk/; revision=14322
whether the suboption data offset plus the suboption data length is >,
not >=, the end of the option data - the end of the option data is the
first byte *after* the option data.
For CableLabs string suboptions, use the right offset when fetching the
data.
svn path=/trunk/; revision=13884
const pointer (so that we don't get complaints when we make the
tap-specific data argument to "tap_queue_packet()" a const pointer,
allowing dissectors to hand const data to a tap without a complaint), we
should make the tap per-packet function take a const pointer as an
argument as well. Do so.
In some taps, use _U_, or actually use the argument, rather than
sticking in dummy "X = X" assignments to fake use of parameters. (This
means that the tap functions in question no longer have the notion that
they act on a particular static structure wired in.)
svn path=/trunk/; revision=12910
vendor-name-and-next-three-bytes-in-hex) resolution for Ethernet/802.x
hardware addresses.
Move the ARP hardware types into a header file, for use by dissectors
other than the ARP dissector.
svn path=/trunk/; revision=12839
*". For val_u_byte, if non-null, it points to a "value_string" table to
be used to interpret the value. Replace "toggle" and "yes_no" with
"boolean, and have the "data" pointer point to a "struct
true_false_string" to be used to interpret the value.
The NetBIOS-over-TCP/IP Node Type option can now be a regular val_u_byte
value, with the appropriate value_string table.
Construct the item for DHCP options by initializing it without the value
and appending the value to the item's string with
"proto_item_append_text()".
svn path=/trunk/; revision=12391
just like "struct opt_info", except for the name of the "enum
field_type" field; use "opt_info" instead of them. Rename the
equivalent field in "struct o63_opt_info", as well, with an eye towards
changing "struct opt_info" to be able to replace "struct o63_opt_info"
as well.
svn path=/trunk/; revision=12389
ever necessary.
Make some options, that have only one IPv4 address, use ipv4 rather than
ipv4_list.
Add val_u_short_list, and have val_u_short accept one and only one
16-bit integer. Give options the appropriate type.
Shuffle the types a bit in the enum, and shuffle the cases for types
around to match the order in the enum.
svn path=/trunk/; revision=12388
and add a separate "ipv4"; use that in the dissector for Netware IP
options.
Add a "presence" option type, for options with no value whose presence
is significant; use that in the dissector for Netware IP options.
svn path=/trunk/; revision=12387
end of the option, and have them do bounds checking. Also, in some
places, check the suboption length.
In "dissect_netware_ip_suboption()", process the suboption length
(which, according to RFC 2242, is present in all suboptions), and use
val_u_byte rather than val_u_short for 1-byte options.
svn path=/trunk/; revision=12386
- change DHCP option 122 dissection to use official RFC 3495/3594 wording
(if bootp.pkt.ccc.protocol_version preference setting is 2 or 3)
- update CableLabs specification references
- some minor cleanup (option 43 also)
svn path=/trunk/; revision=12338
- add full support for upcoming PacketCable 1.5
- fix bug regarding MTA/CM Device Capabilities Length
- PacketCable MTA: fix bug regarding RSVP and UGS-AD options
- make presentation more compact (similar to other TLV data dissectors)
- change some descriptions and variables to (hopefully) make more sense
to DOCSIS/PacketCable users
svn path=/trunk/; revision=12325
RFC 2132, which says
Options containing NVT ASCII data SHOULD NOT include a trailing
NULL; however, the receiver of such options MUST be prepared to
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
delete trailing nulls if they exist.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
svn path=/trunk/; revision=12295
don't get stuck into protocol tree item representations (and so that
they can be more easily found if, as, and when we get around to handling
different character encodings).
Clean up white space.
Get rid of another sprintf() on top of a string constant.
svn path=/trunk/; revision=12211
Client Configuration option number configurable. Add an option to switch
between the CCC versions defined in PKT-SP-PROV-I05-021127, IETF draft 5,
and RFC 3495. Code contributed by CableLabs.
Remove an unneeded macro.
svn path=/trunk/; revision=12208
integers.
Make FT_INT64 and FT_UINT64 add numerical values, rather than byte-array
values, to the protocol tree, and add routines to add specified 64-bit
integer values to the protocol tree.
Use those routines in the RSVP dissector.
svn path=/trunk/; revision=11796
Also move ncp222.py, x11-fields, process-x11-fields.pl,
make-reg-dotc, and make-reg-dotc.py.
Adjust #include lines in files that include packet-*.h
files.
svn path=/trunk/; revision=11410