Commit Graph

8841 Commits

Author SHA1 Message Date
Guy Harris 43d26ce738 Add "asn1_id_decode1()" to the list of exported functions.
svn path=/trunk/; revision=8936
2003-11-11 06:10:57 +00:00
Guy Harris 22557bd2f5 From Michael Lum:
Minor improvements.

	Added IEI level decoding of cdma2000 Handoff * IOS data
	parameters.

svn path=/trunk/; revision=8935
2003-11-11 05:54:06 +00:00
Guy Harris f9383ddd0e From Michael Lum:
Change P_xxx to ANSI_A_E_xxx.

        Fix decoding of some parameters.

	Fix initialization of ett array.

svn path=/trunk/; revision=8934
2003-11-11 05:51:09 +00:00
Guy Harris c5fad03460 The user interface preference page has only 9 rows in the GTK+ 2.x
version.

svn path=/trunk/; revision=8933
2003-11-11 05:23:23 +00:00
Guy Harris 6108feb655 Create the last two items in the GUI preferences page's first column the
same way the other items are created - in order, going down the page,
and using "pos++" as the table position.

svn path=/trunk/; revision=8932
2003-11-11 05:09:03 +00:00
Guy Harris 5eb8b8a2a0 From Albert Chin: <stdlib.h> on HP-UX 11.00 (and possibly 10.20 and
perhaps some versions of Digital/Tru64 UNIX) drags in <wait.h>, which
drags in <sys/procset.h>, which defines P_SID in ways that cause this
not to compile.  Use P_MY_SID instead.

svn path=/trunk/; revision=8931
2003-11-10 22:31:06 +00:00
Guy Harris d2987f0b6f From Martin Regner:
"aliasAddress", in an EndPoint sequence, is a sequence of
	aliasAddresses.

	Don't update the Info or Protocol columns in a pdu_item.

svn path=/trunk/; revision=8930
2003-11-10 21:42:38 +00:00
Guy Harris 28ecc3eecb From Yaniv Kaul:
1. Add dissection of inquiry type (rpc_c_ep_all_elts /
	   rpc_c_ep_match_by_if / rpc_c_ep_match_by_obj /
	   rpc_c_ep_match_by_both).

	2. The version field seems incorrect to me - I believe it is usually
	   should be version 2.0, not 0.2.
	   I suspect that the insertion of version information to the hash
	   table is also wrong, (and the get for the version should have
	   used _letohl() ) - but I did not change it.

	3. Clean up some white space.

svn path=/trunk/; revision=8929
2003-11-10 20:22:39 +00:00
Guy Harris 890255609d From Albert Chin: dynamically allocate the "ett" array - some compilers
(such as at least one older version of the HP C compiler) can't cope
with constant expressions that involve the "?" operator, it appears;
they think it's not a constant expression.

Also, as Albert notes, there's no reason for "ett" to be static here.

svn path=/trunk/; revision=8928
2003-11-10 20:15:28 +00:00
Ronnie Sahlberg 838f4f9b2e The Q.931 dissector never checked whether the codeset variable was set to a reasonable value or not.
This was problematic and caused crashes since this variable is used as an index into an array where we grab a
pointer (which is later dereferenced).

Dereferencing that pointer will have surprising effects. Usually crashes.

Update Q.931 to verify sanity of the codeset variable everytime it gets set.

svn path=/trunk/; revision=8927
2003-11-10 08:14:07 +00:00
Ronnie Sahlberg e301aa1c7e Bugfix for ethereal crashes
If the ByteCount field in the SMB PDU spanned beyond the end of the
packet because the packet was short or because the BC field was corrupted and contained
garbade data  then the tree item for the command (the subtree just after the SMBHeader subtree) would describe data continuing beyond the end of the
packet.

If we selected one such tree in the dissect pane and used Prepare/Match Selected  this would cause the filter build thing to try to access data beyod the end
of the packet and ethereal would dump core.

Change the END_OF_SMB macro so that it shrinks bc so that bc never describes
data beyond the end of the packet.

svn path=/trunk/; revision=8926
2003-11-10 08:02:33 +00:00
Ronnie Sahlberg 6073e3b265 Not all LDAP PDUs are aligned to the start of a TCP segment.
If we failed to dissect the GSS-SPNEGO blob it probably means that the segment
is somewhere in the middle of an LDAP PDU.

Just bail out and stop dissecting the PDU instead of aborting ethereal completely
using g_assert() since this is not really a pathological error, its just something that can and will happen normally.

svn path=/trunk/; revision=8925
2003-11-10 07:44:47 +00:00
Guy Harris 3937e6b70e Fix the type of the "integer" argument to "asn1_uint32_value_decode()",
as per a note by Michael Lum.

svn path=/trunk/; revision=8924
2003-11-09 22:57:52 +00:00
Guy Harris d2144984db From Martin Mathieson: display the bitfields for
- the first 2 bytes of RTP headers
	- the first byte of RTCP report.

svn path=/trunk/; revision=8923
2003-11-09 22:55:35 +00:00
Guy Harris c64aceff67 From Michael Lum: add the ability to put parameter data at the end of
the parameter name so that the user doesn't have to open the parameter
subtree to see the most important data.

Use "%u", not "%d", to print unsigned quantities.

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).

svn path=/trunk/; revision=8922
2003-11-09 22:49:08 +00:00
Guy Harris b34a1717ca From Michael Lum get rid of non-portable "%N$" constructs in printf
formats.

Use "%u", not "%d", to print unsigned quantities.

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).

svn path=/trunk/; revision=8921
2003-11-09 22:41:55 +00:00
Guy Harris 891fe0f518 Remove accidentally-inserted letter.
svn path=/trunk/; revision=8920
2003-11-09 22:32:44 +00:00
Guy Harris 7b533bb611 From Michael Lum:
Fix some incorrect bit shifts.

	Get rid of non-portable "%N$" constructs in printf formats.

Use "%u", not "%d", to print unsigned quantities.

svn path=/trunk/; revision=8919
2003-11-09 22:30:05 +00:00
Guy Harris 6b163ce479 From Albert Chin: the HP-UX 10.20 C compiler doesn't allow
typedef enum _foo foo;
	enum _foo {
		...
	};

You have to define the enum before using it in a typedef.  (If I had my
ANSI C89 standard handy, I could say whether that was legal ANSI C or
not.)

svn path=/trunk/; revision=8918
2003-11-09 22:15:29 +00:00
Guy Harris fd14d8e333 From Albert Chin: get rid of null statements outside of function bodies
(that's what the ";" in

	int
	foo(...)
	{
		...
	};

is).

svn path=/trunk/; revision=8917
2003-11-09 22:13:18 +00:00
Guy Harris 58fcc5e349 From Albert Chin: get rid of C++ comments.
svn path=/trunk/; revision=8916
2003-11-09 19:53:11 +00:00
Guy Harris 9c1b169dd9 From Gisle Vanem:
Copy the "gui_fileopen_*" fields in "copy_prefs()".

	Fix a typo in "free_prefs()".

svn path=/trunk/; revision=8915
2003-11-09 01:36:21 +00:00
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