<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tools/wireshark/packet-ldp.c, branch ethereal-0.8.20</title>
<subtitle>WIP Patches to add a samsung-ipc dissector to Wireshark 
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/contrib/GNUtoo/tools/wireshark/'/>
<entry>
<title>There is really no need to have the BGP dissector and the LDP dissector</title>
<updated>2001-07-21T10:27:13+00:00</updated>
<author>
<name>Guy Harris</name>
<email>guy@alum.mit.edu</email>
</author>
<published>2001-07-21T10:27:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/contrib/GNUtoo/tools/wireshark/commit/?id=681f73adb7706ab536dd68d2eb64601f9329e522'/>
<id>681f73adb7706ab536dd68d2eb64601f9329e522</id>
<content type='text'>
have two independent "value_string" tables mapping RFC 1700 address
family numbers to names, nor is there any need to have the BGP dissector
and the PIM dissector have two independent sets of #defines for RFC 1700
address family numbers; put a single "value_string" table in "afn.c" and
put a declaration of it, and #defines for the address family numbers,
into "afn.h", and have the dissectors use that.

Move the #define for PGM into "ipproto.h", and add an entry for it in
the "value_string" table in "ipproto.c".

Have the PGM dissector use the standard Ethereal mechanisms for
resolving addresses, and have it use "value_string" tables for mapping
option types, the OPX bits, and packet types to strings.  Use
"bytes_to_str()" to turn byte arrays into strings of hex digits.  Pass
the packet type string to "dissect_pgmopts()" as an argument, rather
than making it a global.  Don't use "proto_tree_add_XXX_format" routines
if you can possibly just use "proto_tree_add_XXX"; give various fields
the correct radix and type, and VALS() strings if necessary, to make
that happen (and to make filtering on them more pleasant).  Put the
type, length, and total length of the options into the protocol tree as
separate fields.  Don't have separate type, length, and OPX fields for
every type of option; one field will suffice.  Don't format a string
with "sprintf()" and then pass that string to "col_add_fstr()" with a
format of "%s" and the string as an argument - "col_add_fstr()" can
format strings itself (that's what the "f" stands for).  Don't byte-swap
and then un-byte-swap IPv4 address fields in the header, just leave them
network byte order to start with.  Use the correct fields for
"proto_tree_add_XXX", rather than using the same field multiple times.
Quit early if an address family identifier isn't AFNUM_INET, as that
means the structure we use to dissect the header doesn't match the
actual header.

svn path=/trunk/; revision=3761
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
have two independent "value_string" tables mapping RFC 1700 address
family numbers to names, nor is there any need to have the BGP dissector
and the PIM dissector have two independent sets of #defines for RFC 1700
address family numbers; put a single "value_string" table in "afn.c" and
put a declaration of it, and #defines for the address family numbers,
into "afn.h", and have the dissectors use that.

Move the #define for PGM into "ipproto.h", and add an entry for it in
the "value_string" table in "ipproto.c".

Have the PGM dissector use the standard Ethereal mechanisms for
resolving addresses, and have it use "value_string" tables for mapping
option types, the OPX bits, and packet types to strings.  Use
"bytes_to_str()" to turn byte arrays into strings of hex digits.  Pass
the packet type string to "dissect_pgmopts()" as an argument, rather
than making it a global.  Don't use "proto_tree_add_XXX_format" routines
if you can possibly just use "proto_tree_add_XXX"; give various fields
the correct radix and type, and VALS() strings if necessary, to make
that happen (and to make filtering on them more pleasant).  Put the
type, length, and total length of the options into the protocol tree as
separate fields.  Don't have separate type, length, and OPX fields for
every type of option; one field will suffice.  Don't format a string
with "sprintf()" and then pass that string to "col_add_fstr()" with a
format of "%s" and the string as an argument - "col_add_fstr()" can
format strings itself (that's what the "f" stands for).  Don't byte-swap
and then un-byte-swap IPv4 address fields in the header, just leave them
network byte order to start with.  Use the correct fields for
"proto_tree_add_XXX", rather than using the same field multiple times.
Quit early if an address family identifier isn't AFNUM_INET, as that
means the structure we use to dissect the header doesn't match the
actual header.

svn path=/trunk/; revision=3761
</pre>
</div>
</content>
</entry>
<entry>
<title>Convert a bunch of "proto_tree_add_bytes(tree, hf, tvb, offset, length,</title>
<updated>2001-07-16T05:16:58+00:00</updated>
<author>
<name>Guy Harris</name>
<email>guy@alum.mit.edu</email>
</author>
<published>2001-07-16T05:16:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/contrib/GNUtoo/tools/wireshark/commit/?id=3c91e2e203855cf290ba0495ca130bfc96f0f848'/>
<id>3c91e2e203855cf290ba0495ca130bfc96f0f848</id>
<content type='text'>
tvb_get_ptr(tvb, offset, length))" calls to "proto_tree_add_item()"
calls.

Do the same, in "packet-iscsi.c" and "packet-mrdisc.c", for
"proto_tree_add_uint()" and "proto_tree_add_boolean()" calls.

svn path=/trunk/; revision=3726
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
tvb_get_ptr(tvb, offset, length))" calls to "proto_tree_add_item()"
calls.

Do the same, in "packet-iscsi.c" and "packet-mrdisc.c", for
"proto_tree_add_uint()" and "proto_tree_add_boolean()" calls.

svn path=/trunk/; revision=3726
</pre>
</div>
</content>
</entry>
<entry>
<title>From Joerg Mayer: explicitly fill in all members of a</title>
<updated>2001-06-18T02:18:27+00:00</updated>
<author>
<name>Guy Harris</name>
<email>guy@alum.mit.edu</email>
</author>
<published>2001-06-18T02:18:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/contrib/GNUtoo/tools/wireshark/commit/?id=84123931970a8a0f1af281e7351eadabba3c0908'/>
<id>84123931970a8a0f1af281e7351eadabba3c0908</id>
<content type='text'>
"header_field_info" structure, including the ones that are later set by
the routines to register fields.

svn path=/trunk/; revision=3561
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
"header_field_info" structure, including the ones that are later set by
the routines to register fields.

svn path=/trunk/; revision=3561
</pre>
</div>
</content>
</entry>
<entry>
<title>Compensate better for invalid (at least for IPv4) prefix lengths in</title>
<updated>2001-06-05T21:00:17+00:00</updated>
<author>
<name>Guy Harris</name>
<email>guy@alum.mit.edu</email>
</author>
<published>2001-06-05T21:00:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/contrib/GNUtoo/tools/wireshark/commit/?id=b92e322537824e11e195d5d70b2ea6544d4b1e64'/>
<id>b92e322537824e11e195d5d70b2ea6544d4b1e64</id>
<content type='text'>
FECs.

svn path=/trunk/; revision=3515
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
FECs.

svn path=/trunk/; revision=3515
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix to LDP prefix FEC dissection for IPv4, from Eran Mann.</title>
<updated>2001-05-21T10:14:37+00:00</updated>
<author>
<name>Guy Harris</name>
<email>guy@alum.mit.edu</email>
</author>
<published>2001-05-21T10:14:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/contrib/GNUtoo/tools/wireshark/commit/?id=46e1be8671d765ec917693d45a9751b133a5d677'/>
<id>46e1be8671d765ec917693d45a9751b133a5d677</id>
<content type='text'>
svn path=/trunk/; revision=3431
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
svn path=/trunk/; revision=3431
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove more "CHECK_DISPLAY_AS_DATA()" calls and "pinfo-&gt;current_proto ="</title>
<updated>2001-01-25T06:14:14+00:00</updated>
<author>
<name>Guy Harris</name>
<email>guy@alum.mit.edu</email>
</author>
<published>2001-01-25T06:14:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/contrib/GNUtoo/tools/wireshark/commit/?id=32d63ecb303df930ec2521c0064c23697c96142d'/>
<id>32d63ecb303df930ec2521c0064c23697c96142d</id>
<content type='text'>
statements.

Move the setting of the Protocol column in various dissectors before
anything is fetched from the packet, and also clear the Info column at
that point in those and some other dissectors, so that if an exception
is thrown, the columns don't reflect the previous protocol.

"Tvbuffify" the Mobile IP dissector (it took old-style arguments, and
then converted them into tvbuff arguments, so there wasn't much to do,
other than to fix references to "fd" to refer to "pinfo-&gt;fd").

In the SCTP dissector, refer to the port type and source and destination
ports through "pinfo" rather than through the global "pi", as it's a
tvbuffified dissector.

In the SMTP and Time Protocol dissectors, use "pinfo-&gt;match_port" rather
than "TCP_PORT_SMTP" when checking whether the packet is a request or
reply, just in case somebody makes a non-standard port be dissected as
SMTP or Time.  (Also, remove a bogus comment from the Time dissector; it
was probably cut-and-pasted from the TFTP dissector.)

svn path=/trunk/; revision=2938
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
statements.

Move the setting of the Protocol column in various dissectors before
anything is fetched from the packet, and also clear the Info column at
that point in those and some other dissectors, so that if an exception
is thrown, the columns don't reflect the previous protocol.

"Tvbuffify" the Mobile IP dissector (it took old-style arguments, and
then converted them into tvbuff arguments, so there wasn't much to do,
other than to fix references to "fd" to refer to "pinfo-&gt;fd").

In the SCTP dissector, refer to the port type and source and destination
ports through "pinfo" rather than through the global "pi", as it's a
tvbuffified dissector.

In the SMTP and Time Protocol dissectors, use "pinfo-&gt;match_port" rather
than "TCP_PORT_SMTP" when checking whether the packet is a request or
reply, just in case somebody makes a non-standard port be dissected as
SMTP or Time.  (Also, remove a bogus comment from the Time dissector; it
was probably cut-and-pasted from the TFTP dissector.)

svn path=/trunk/; revision=2938
</pre>
</div>
</content>
</entry>
<entry>
<title>Add an additional "protocol index" argument to "{old_}dissector_add()",</title>
<updated>2001-01-09T06:32:10+00:00</updated>
<author>
<name>Guy Harris</name>
<email>guy@alum.mit.edu</email>
</author>
<published>2001-01-09T06:32:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/contrib/GNUtoo/tools/wireshark/commit/?id=43ccfd8054ae2b3313ce16d0e96f65183a8062e6'/>
<id>43ccfd8054ae2b3313ce16d0e96f65183a8062e6</id>
<content type='text'>
"{old_}heur_dissector_add()", "{old_}conv_dissector_add()", and
"register_dissector()", so that an entry in those tables has associated
with it the protocol index of the protocol the dissector handles (or -1,
if there is no protocol index for it).

This is for future use in a number of places.

(Arguably, "proto_register_protocol()" should take a dissector pointer
as an argument, but

	1) it'd have to handle both regular and heuristic dissectors;

	2) making it take either a "dissector_t" or a union of that and
	   a "heur_dissector_t" introduces some painful header-file
	   interdependencies

so I'm punting on that for now.  As with other Ethereal internal APIs,
these APIs are subject to change in the future, at least until Ethereal
1.0 comes out....)

svn path=/trunk/; revision=2849
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
"{old_}heur_dissector_add()", "{old_}conv_dissector_add()", and
"register_dissector()", so that an entry in those tables has associated
with it the protocol index of the protocol the dissector handles (or -1,
if there is no protocol index for it).

This is for future use in a number of places.

(Arguably, "proto_register_protocol()" should take a dissector pointer
as an argument, but

	1) it'd have to handle both regular and heuristic dissectors;

	2) making it take either a "dissector_t" or a union of that and
	   a "heur_dissector_t" introduces some painful header-file
	   interdependencies

so I'm punting on that for now.  As with other Ethereal internal APIs,
these APIs are subject to change in the future, at least until Ethereal
1.0 comes out....)

svn path=/trunk/; revision=2849
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a new "prefs_register_protocol()" routine, which is like</title>
<updated>2001-01-03T07:53:48+00:00</updated>
<author>
<name>Guy Harris</name>
<email>guy@alum.mit.edu</email>
</author>
<published>2001-01-03T07:53:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/contrib/GNUtoo/tools/wireshark/commit/?id=3613c121fe53a2bcd70a3004a589bc38ecc2864d'/>
<id>3613c121fe53a2bcd70a3004a589bc38ecc2864d</id>
<content type='text'>
"prefs_register_module()" except that it takes a protocol index as
returned by "proto_register_protocol()" as its first argument, rather
than taking two character strings as arguments as its first two
arguments, and uses the protocol's abbreviation as the name to use for
preferences in the preferences file and the "-o" flag and uses the
protocol's short name as the name to use in the tabs in the
"Edit-&gt;Preferences" window.

svn path=/trunk/; revision=2812
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
"prefs_register_module()" except that it takes a protocol index as
returned by "proto_register_protocol()" as its first argument, rather
than taking two character strings as arguments as its first two
arguments, and uses the protocol's abbreviation as the name to use for
preferences in the preferences file and the "-o" flag and uses the
protocol's short name as the name to use in the tabs in the
"Edit-&gt;Preferences" window.

svn path=/trunk/; revision=2812
</pre>
</div>
</content>
</entry>
<entry>
<title>Have "proto_register_protocol()" build a list of data structures for</title>
<updated>2001-01-03T06:56:03+00:00</updated>
<author>
<name>Guy Harris</name>
<email>guy@alum.mit.edu</email>
</author>
<published>2001-01-03T06:56:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/contrib/GNUtoo/tools/wireshark/commit/?id=0e7c1de08a9e6b453b47c60a698a24387d63719a'/>
<id>0e7c1de08a9e6b453b47c60a698a24387d63719a</id>
<content type='text'>
protocols, in addition to adding structures to the list of filterable
fields.  Give it an extra argument that specifies a "short name" for the
protocol, for use in such places as

	pinfo-&gt;current_proto;

	the dialog box for constructing filters;

	the preferences tab for the protocol;

and so on (although we're not yet using it in all those places).

Make the preference name that appears in the preferences file and the
command line for the DIAMETER protocol "diameter", not "Diameter"; the
convention is that the name in question be all-lower-case.

Make some routines and variables that aren't exported static.

Update a comment in the ICP dissector to make it clear that the
dissector won't see fragments other than the first fragment of a
fragmented datagram.

svn path=/trunk/; revision=2810
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
protocols, in addition to adding structures to the list of filterable
fields.  Give it an extra argument that specifies a "short name" for the
protocol, for use in such places as

	pinfo-&gt;current_proto;

	the dialog box for constructing filters;

	the preferences tab for the protocol;

and so on (although we're not yet using it in all those places).

Make the preference name that appears in the preferences file and the
command line for the DIAMETER protocol "diameter", not "Diameter"; the
convention is that the name in question be all-lower-case.

Make some routines and variables that aren't exported static.

Update a comment in the ICP dissector to make it clear that the
dissector won't see fragments other than the first fragment of a
fragmented datagram.

svn path=/trunk/; revision=2810
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix egregious error with AF_ types. I relied on a Linux header file rather</title>
<updated>2000-12-04T13:40:11+00:00</updated>
<author>
<name>Richard Sharpe</name>
<email>sharpe@ns.aus.com</email>
</author>
<published>2000-12-04T13:40:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/contrib/GNUtoo/tools/wireshark/commit/?id=f8aed7c659346341c9765ae7e3c6992cb994d1a8'/>
<id>f8aed7c659346341c9765ae7e3c6992cb994d1a8</id>
<content type='text'>
than checking RFC1700.

svn path=/trunk/; revision=2745
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
than checking RFC1700.

svn path=/trunk/; revision=2745
</pre>
</div>
</content>
</entry>
</feed>
