Commit Graph

8969 Commits

Author SHA1 Message Date
Guy Harris 9a4a85aadf Have "decode_tcp_ports()" handle only the handoff to a subdissector -
and have it return TRUE if we succeeded, FALSE otherwise - and have an
internal "process_tcp_payload()" routine handle the (TCP-specific) PDU
tracking and sequence number analysis, with an argument to indicate
whether it should do that or not (i.e., whether it's being handed a TCP
segment or reassembled data).

svn path=/trunk/; revision=8914
2003-11-08 05:47:12 +00:00
Guy Harris e2c7979c9f From Mohammad Hanif:
correct and enhance support for RSVP FAST_REROUTE and DETOUR
	objects (source: draft-ietf-mpls-rsvp-lsp-fastreroute-03.txt);

	support an RSVP SESSION_OBJECT object with ctype = 1.  This
	object contains resource affinities (source: RFC 3209).

svn path=/trunk/; revision=8913
2003-11-08 00:09:01 +00:00
Guy Harris b304a75c66 "decode_tcp_ports()" is for use by protocols that proxy transport-layer
packets/sessions, e.g. MSProxy and SOCKS.  It should not cause any of
the TCP-specific stuff such as sequence number analysis or PDU tracking
to be done.  (Actually, MSProxy and SOCKS should offer desegmentation
services *themselves* and do their *own* PDU tracking, rather than just
passing stuff on to "decode_tcp_ports()", but that's another matter.)

Make "tcp_tree" once again be a local variable to "dissect_tcp()", and
pass it as an argument to those functions that use it.

svn path=/trunk/; revision=8912
2003-11-08 00:02:56 +00:00
Guy Harris 4192ad9770 Let people configure whether to build with Zlib or not solely by
controlling whether ZLIB_DIR is defined or not in config.nmake.

svn path=/trunk/; revision=8911
2003-11-07 23:27:13 +00:00
Guy Harris ed66a067f5 Nothing here should require zlib.h, so we shouldn't need to do
"/I$(ZLIB_DIR)".

svn path=/trunk/; revision=8910
2003-11-07 23:26:15 +00:00
Guy Harris a3793b2ade From Olivier Biot: implement the Range, Content-Range and
Content-Disposition headers.

svn path=/trunk/; revision=8909
2003-11-07 20:23:55 +00:00
Guy Harris 67569e5a76 From Olivier Biot: add dissection for the Content-Base headeer.
svn path=/trunk/; revision=8908
2003-11-07 20:07:01 +00:00
Guy Harris 5e06fef2a2 From Dinesh Dutt:
- Added support for displaying support for Multicast/Broadcast supported
      bits in *LOGI common service params
    - Removed restriction for "Random Relative Offset" & its alternate to be in
      PLOGI or PDISC only. Some HBAs set it even in FLOGI.

svn path=/trunk/; revision=8907
2003-11-07 08:50:44 +00:00
Guy Harris f84d72f5fb From Dinesh Dutt:
- Added support for decoding related to Security in *LOGI service params
    - Added support for new LS_RJT code for authentication failure
    - Brought packet-fcsp.c up-to-date with FC-SP rev 1.2

svn path=/trunk/; revision=8906
2003-11-07 08:47:53 +00:00
Ronnie Sahlberg 482e9f24b3 New protocol: MS Kpasswd (RFC3244)
KPasswd is partially dissected for UDP.

It would be very useful if someone added dissection of the asn.1 encoded
AP_REQ and the KRB-PRIV blobs. I dont think I will add those.

svn path=/trunk/; revision=8905
2003-11-07 05:26:27 +00:00
Ronnie Sahlberg 7b14d3a754 In some captures we might have already established and BOUND LDAP
session where GSS-SPNEGO is used.
If we havent seen the BIND call ethereal would assume it is
vanilla non-GSS-SPNEGO LDAP and would fail to decode the packet.

Add heuristics to the LDAP dissector so that
IF the first 4 bytes of the LDAP PDU looks like ity could be a length field
and IF the fifth byte has the value 0x60
then assume what we have is GSS-SPNEGO and assume this and all further commands on this session is GSS-SPNEGO as well.

svn path=/trunk/; revision=8904
2003-11-07 04:03:44 +00:00
Guy Harris c4ffda6028 Make a field for the Content-Type entity header, and give it an EH_
value so it can be handled specially (with a string dissector table so
that subdissectors can register for particular content types).

svn path=/trunk/; revision=8903
2003-11-07 03:47:20 +00:00
Guy Harris a37ef3e1e2 "File->Open" should be available whether or not we have a captue file
open.

The toolbar equivalent should *not* be available if we have an "Update
list of packets in real time" capture running.

The toolbar "Save" button should not be available if we don't have an
unsaved capture file.

svn path=/trunk/; revision=8902
2003-11-07 01:29:05 +00:00
Guy Harris 27b2678cca Make Shift+Control+S an accelerator for "Save As...", as per the GNOME
HIG.

svn path=/trunk/; revision=8901
2003-11-06 23:02:06 +00:00
Guy Harris 0543fbd427 From Scott Emberley: support for writing Network Instruments Observer
files.

svn path=/trunk/; revision=8900
2003-11-06 22:45:28 +00:00
Guy Harris de247df4e5 Note that not all OSes on which Ethereal runs can support plugins.
Note that you have to modify plugins/Makefile.nmake.

Fix "plugin/" to "plugins/".

Update the sample Makefile.am and Makefile.nmake to match the current
state of affairs.

svn path=/trunk/; revision=8899
2003-11-06 09:52:28 +00:00
Guy Harris 35ad6fc26f Warn people not to use the "numbered argument" feature that many UNIX
printf's implement.

svn path=/trunk/; revision=8898
2003-11-06 09:47:06 +00:00
Guy Harris 5d8c92b63b From Erwin Rol: fix some switched fields.
svn path=/trunk/; revision=8897
2003-11-06 09:32:46 +00:00
Guy Harris 4f956c7bcd From Michael Lum: have the SCCP dissector register itself by name.
svn path=/trunk/; revision=8896
2003-11-06 09:28:40 +00:00
Ronnie Sahlberg 3a88f0ceba Update to LDAP and TCP
LDAP messages that span multiple segments will throw an exception unless we have reassembly enabled.

Update TCP so that IF an exception was thrown that we still pick up any hints
provided by the subdissector about where the next PDU starts.

Update LDAP so that it will rpovide hints to TCP about where the next LDAP PDU starts in the sequence number space.

Thus now ethereal can find and dissect LDAP PDUs that starts somewhere in the middle of a TCP segment.

svn path=/trunk/; revision=8895
2003-11-06 09:18:46 +00:00
Guy Harris 656d9c0333 Update a comment.
Catch another case where we need to check for a null decrypted_tvb.

svn path=/trunk/; revision=8894
2003-11-06 09:13:26 +00:00
Guy Harris cbfc93b82e Use "$(OBJECTS)" whenever a complete list of .obj files appears, rather
than repeating the list from the setting of OBJECTS.

svn path=/trunk/; revision=8893
2003-11-06 09:05:14 +00:00
Guy Harris fbbcf9f9e6 Add a mechanism to handle various entity headers, allowing their
(string) values to be put into the protocol tree as fields and allowing
some headers to get special treatment, and use it for Authorization,
Proxy-Authorization, WWW-Authenticate, and Proxy-Authenticate.

svn path=/trunk/; revision=8892
2003-11-06 08:54:31 +00:00
Ronnie Sahlberg 95c969adb8 Fix for TCP.
If we have short or malformed PDUs in protocols above TCP this will generate
an exception and thus some of the stateful things such as keeping track of
and printing the tcp analysis data will be shourcutted and not called.

Add a wrapper around the call to the subdissectors above TCP so that
if an exception is generated we will still catch it and explicitely
call tcp_print_sequence_number_analysis() so that also short packets are
handled well.

svn path=/trunk/; revision=8891
2003-11-06 08:51:21 +00:00
Ronnie Sahlberg 25911d8c86 Bugfix for dcerpc parsing of encrypted short packets.
Sometimes if we cant decrypt a DCERPC packet decrypted_tvb is NULL.

do not pass a NULL pointer to show_stub_data() since this will dump
core.

svn path=/trunk/; revision=8890
2003-11-06 07:44:13 +00:00
Guy Harris ada2c17a99 Get rid of includes of <gmodule.h> (we're not loading any code at
run-time in the dissector itself), and <sys/types.h> and <netinet/in.h>
(we shouldn't need either of those, and they might be responsible for
dragging in <sys/procset.h> on Digital UNIX - that header defines P_SID
in a way that conflicts with our definition).

svn path=/trunk/; revision=8889
2003-11-05 20:19:39 +00:00
Guy Harris 14d0def0a4 Update from Erwin Rol.
svn path=/trunk/; revision=8888
2003-11-05 20:10:54 +00:00
Guy Harris 83dd8480b8 A "GHashFunc()" returns a "guint", not a "gint".
svn path=/trunk/; revision=8887
2003-11-05 20:10:00 +00:00
Ronnie Sahlberg de20fa6a54 the LDAP service response time dialog
svn path=/trunk/; revision=8886
2003-11-05 09:04:51 +00:00
Ronnie Sahlberg f16f83b154 update for LDAP
measure the response time for some LDAP commands and
add a service response time dialog for it

svn path=/trunk/; revision=8885
2003-11-05 09:04:17 +00:00
Guy Harris 0046470812 From Olivier Biot: have a separate subtree ett_ value for concatenated
PDUs.

svn path=/trunk/; revision=8884
2003-11-05 04:23:59 +00:00
Guy Harris 7fc668fbf9 Sigh. Some snoop files have 6 bytes of padding; assume the file is a
snoop file unless it has enoguh padding to hold a Shomiti trailer
record.  (DEAR SUN MICROSYSTEMS: PLEASE DO NOT STUFF 16 OR MORE BYTES OF
PADDING INTO A SNOOP PACKET.  THANK YOU.  HAVE A NICE DAY.)

Add a little paranoia about the record and captured data lengths.

svn path=/trunk/; revision=8883
2003-11-04 22:14:50 +00:00
Guy Harris 307ec13512 Get rid of all the UDP-encapsulated IPSec stuff.
draft-ietf-ipsec-udp-encaps-06 says "The UDP port numbers are the same
as used by IKE traffic, as defined in [Kiv05]", and "[Kiv05]" is
draft-ietf-ipsec-nat-t-ike-05, which has been superseded by
draft-ietf-ipsec-nat-t-ike-07; the latter appears to imply that it goes
over port 4500, not port 500.

We already have a draft-ietf-ipsec-udp-encaps-06 dissector for port
4500 (packet-ipsec-udp.c), and it's not entirely clear to me how, if
draft-ietf-ipsec-udp-encaps-06 traffic *did* go over port 500, you'd
distinguish it from regular ISAKMP traffic.

svn path=/trunk/; revision=8882
2003-11-04 21:44:27 +00:00
Guy Harris 7089251f68 Skip the check for the module if a page doesn't have a module.
svn path=/trunk/; revision=8881
2003-11-04 20:33:13 +00:00
Guy Harris 343a178e33 Clean up the way we find the properties page for a given protocol
somewhat; this fixes a bug wherein we were assuming all modules
necessarily had preference pages (they won't, if the only preferences
for the module are obsolete preferences).

svn path=/trunk/; revision=8880
2003-11-04 20:22:21 +00:00
Guy Harris 8df7feb67d From Olivier Biot:
* Extra headers: Encoding-Version, WWW-Authenticate,
	  Proxy-Authenticate

	* Fix memory allocate/free in header parsing functions & macros

	* Add missing "ok = TRUE" for some header parsing functions

	* Header subfields all share the same subtree identifier (more
	  intuitive)

	* Get rid of unused header fields and subtrees

	* Some whitespace changes

svn path=/trunk/; revision=8879
2003-11-04 19:47:29 +00:00
Guy Harris 07697e98d3 From Masaki Chikama: fix static compilation of "generic ASN.1" and
Gryphon plugins.

svn path=/trunk/; revision=8878
2003-11-04 18:38:53 +00:00
Gerald Combs af59706124 #ifdef out "#include <gtk/gtk.h>", so that --disable-ethereal works again.
svn path=/trunk/; revision=8877
2003-11-04 16:44:25 +00:00
Guy Harris 82b4c946d1 If we've already constructed a subset tvbuff, don't construct an
identical one and throw away the first one.

svn path=/trunk/; revision=8876
2003-11-04 08:16:02 +00:00
Gerald Combs 9c3c9899c6 Fix a typo in the filter documentation link.
svn path=/trunk/; revision=8874
2003-11-04 01:08:03 +00:00
Gerald Combs f5ffa46463 Final (?) updates for 0.9.16.
svn path=/trunk/; revision=8873
2003-11-03 23:28:01 +00:00
Guy Harris d2db02c521 Use "g_get_tmp_dir()" to get the pathname of the temporary file
directory.

svn path=/trunk/; revision=8872
2003-11-03 22:32:36 +00:00
Guy Harris 85773d34c3 From Olivier Abad: Insert the GTK+ 2.2.4
"gtk_tree_view_expand_to_path()" when building with GTK+ 2.0[.x], so
that we can build with 2.0[.x].

svn path=/trunk/; revision=8871
2003-11-03 21:00:05 +00:00
Guy Harris 9e1e2b2e85 Apply Anders Broman's changes to the Q.931 dissector to the Q.933
dissector:

	fix the meaning of the extension bit, and add some more
	bitfields.

svn path=/trunk/; revision=8870
2003-11-03 20:57:36 +00:00
Guy Harris 5cbc6cac02 Fro Anders Broman: fix the meaning of the extension bit, and add some
more bitfields.

svn path=/trunk/; revision=8869
2003-11-03 20:49:16 +00:00
Guy Harris c682c10915 From Lars Ruoff: fix a problem with wrong maximum delay calculation -
first or marked packets are now ignored when calculating maximum delay.

svn path=/trunk/; revision=8868
2003-11-03 20:45:25 +00:00
Guy Harris ce51c5c700 Don't try to get the list of link-layer header types for an interface if
the interface isn't in the list of known (local) interfaces - that way
we don't try to get entries if the user's in the middle of changing the
"Interface:" text, or if the interface is an rpcap: URL (getting the
link-layer header type list for a remote interface is currently
impossible, and even just getting its *default* interface type could
hang for a long time if the remote machine isn't responding).

Free the link-layer header type list when we're done with it.

Label the option menu for that list "Link-layer header type", as it
doesn't control the data link type of the interface in the only case I
know of where it's settable, namely 802.11 interfaces - it just controls
whether the packets you get from the interface have a fake Ethernet
header or a real 802.11 header.

svn path=/trunk/; revision=8867
2003-11-03 10:40:51 +00:00
Guy Harris c0f8032621 "g_list_first()" takes an arbitrary list entry as an argument; you don't
need to call it if you already have a pointer to the first entry in the
list, which is what "a pointer to the list" is.

svn path=/trunk/; revision=8866
2003-11-03 10:36:45 +00:00
Guy Harris 12e8688326 From Olivier Biot:
* Use function reference arrays for header parse function lookup
	  (avoids switch())

	* Use macros for the common parts of the header parse functions

	* Use macros for identical header dissection functions

	* Implement many missing header parse functions

	* Automatic header parse error notification

	* Some minor edits

	* Add HTTP equivalents to WSP status codes

svn path=/trunk/; revision=8865
2003-11-03 10:16:00 +00:00
Gerald Combs fe76df1f83 Update to 0.9.16.
svn path=/trunk/; revision=8864
2003-11-03 02:50:11 +00:00