Commit Graph

6496 Commits

Author SHA1 Message Date
Guy Harris 643ea3debf If NTLMSSP_NEGOTIATE_UNICODE is different in the negotiate and challenge
messages, the value in the challenge message is what should be used to
determine how to dissect the auth message.

svn path=/trunk/; revision=6581
2002-11-08 01:45:37 +00:00
Guy Harris 8181a83657 Allow more than one circuit with the same circuit ID; a circuit has a
starting and ending frame number, and circuits with the same circuit ID
are sorted by the starting frame number (the last circuit can have 0 as
the ending frame number, meaning "unknown"), and, when looking up a
circuit, we take a frame number as an argument and return the circuit
that includes that frame.

Add a new circuit ID type for X.25 virtual circuits, and use the circuit
mechanism to keep track of the dissector for an X.25 virtual circuit
rather than having a private mechanism.

svn path=/trunk/; revision=6580
2002-11-08 01:00:07 +00:00
Guy Harris 45d9642e52 From Hannes Gredler: show the type value for OSI protocols symbolically.
svn path=/trunk/; revision=6579
2002-11-07 22:12:13 +00:00
Richard Sharpe 65c1756287 Some more SPOOLSS stuff from Jim McDonough.
svn path=/trunk/; revision=6578
2002-11-07 17:45:30 +00:00
Ronnie Sahlberg 926433a151 Must use the proper proto_tree_add_... call for FT_NONE
svn path=/trunk/; revision=6577
2002-11-07 09:10:06 +00:00
Ronnie Sahlberg 2378b2a893 hf_index update for TCP
svn path=/trunk/; revision=6576
2002-11-07 08:51:07 +00:00
Guy Harris 3f8f3c6119 NTLMSSP_NEGOTIATE messages sometimes appear to have two other blobs at
the end, although they're empty in all messages I've seen; put in a
comment noting that.

NTLMSSP_CHALLENGE messages sometimes don't appear to have the address
list; it doesn't seem to be indicated by:

	any flags in the previous NEGOTIATE message other than the
	Negotiation Workstation Supplied, Negotiate Domain Supplied, or
	Negotiate UNICODE, but it doesn't make sense for those to affect
	it, as they affect unrelated things;

	any flags in the CHALLENGE message other than Negotiate OEM or
	Negotiate UNICODE, but those don't make sense.

So we just check whether the address list descriptor would be in the
middle of the domain name string and, if so, assume it's absent.

NTLMSSP_AUTH messages sometimes lack both the session key and the
negotiate flags; that appears to be controlled by th Negotiate Key
Exchange flag in the initial NEGOTIATE message - if not set, those
fields are missing.  We therefore remember the NEGOTIATE flags in a
conversation, and attach them to frames containing AUTH messages; we
also need those flags to determine whether the strings in the AUTH
message are Unicode or not.

Make lengths, maximum lengths, and offsets unsigned.

Display entries for empty blobs and address lists.

svn path=/trunk/; revision=6575
2002-11-07 08:01:19 +00:00
Guy Harris 70aaa6ddcc From Jason House: add the rule to make "ethereal-tap-register.c".
Make that rule work correctly, by making "ETHEREAL_TAP_SRC" refer to the
*source* files, making "ETHEREAL_TAP_OBJECTS" be the *object* files (as
generated from the list of source files), and adding
"ETHEREAL_TAP_OBJECTS" rather than "ETHEREAL_TAP_SRC" to the list of
objects to link.

svn path=/trunk/; revision=6574
2002-11-07 05:33:50 +00:00
Guy Harris cb8300571b Fix the message printed when making "ethereal-tap-register.c".
svn path=/trunk/; revision=6573
2002-11-07 05:29:07 +00:00
Guy Harris e7a61d2dff There can be more than one GSS-API negotiation in a conversation, so the
handle to use to dissect SPNEGO tokens has to be stored as per-frame
data, not just as conversation data.

svn path=/trunk/; revision=6572
2002-11-07 05:25:37 +00:00
Guy Harris dd02634bd5 Add "ethereal-tap-register.c" to the gtk ".cvsignore" file, as it's a
generated file.

svn path=/trunk/; revision=6571
2002-11-06 23:41:21 +00:00
Guy Harris 412aaf59a5 Note that it's perfectly OK to store a dissector handle as per-frame or
per-conversation data.

svn path=/trunk/; revision=6570
2002-11-06 23:38:27 +00:00
Guy Harris 498d55ec8a There can be more than one GSS-API negotiation in a conversation, so the
handle to use to dissect GSS-API inner context tokens has to be stored
as per-frame data, not just as conversation data.

svn path=/trunk/; revision=6569
2002-11-06 23:36:25 +00:00
Guy Harris eab13a03f3 From Andreas Trauer:
Replace the handling of PPP packets over GTPv1 and also
	establish the handling of PPP packet over GTPv0.  Additionally
	IPv6 packets are handled in GTPv0 and GTPv1.

	Explanation:

	- old solution: examining the known PPP protocols is a tough
	  task, because there might be more in the future -> the list
	  must be extended more and more (the octet 0x00 has already
	  been added for PPP network layer protocols, but for protocol
	  field compression a lot of protocols must be inserted for
	  IPv4(0x21), IPv6(0x57), maybe IPX (0x2b) or AppleTalk (0x29),
	  ...)

	- new solution: It is easier the other way: the most significant
	  nibble of the first octet must be 4 for IPv4 and 6 for IPv6.
	  All other values are assumed to be PPP packets, including
	  packets beginning with values 0x40-0x44 (header too short for
	  IPv4 packet) and value 0x4f (PPP protocol type (IPv6 header
	  compression protocol) taking precedence over IPv4 packets with
	  header length of 60 octets).

svn path=/trunk/; revision=6568
2002-11-06 22:59:23 +00:00
Guy Harris 8ee4a65f76 From Solomon Peachy: support for new "wlancap" 802.11 extra-information
header.

Add overflow checks to "BYTES_ARE_IN_FRAME()", and cast all arguments to
unsigned values (negative values should never be passed) to squelch
compiler warnings.

svn path=/trunk/; revision=6567
2002-11-06 21:49:34 +00:00
Ronnie Sahlberg b3e0a56390 First step in creating an API to register TAPs for use with ethereal instead of hardcoding them in main.c/menu.c
This adds functions to register the command line arguments to use the API in the same way as is done for tethereal.

Later it may be extended to also register the GUI/Menu entry point to ethereal using this api but that iwll be later since the changes required to menu.c are not as intrusive as the main.c command line parsing ones were.


Some of the latest changes (before this checkin) has made ethereal to produce lots of GTK errors when starting up the extension windows.
They were there before this checking but will be investigated.

svn path=/trunk/; revision=6566
2002-11-06 10:53:36 +00:00
Guy Harris d4e632c5ea Get rid of a trailing blank.
svn path=/trunk/; revision=6565
2002-11-05 23:00:11 +00:00
Guy Harris aef0d31da2 Show the SAP values in RPL packets symbolically if possible.
svn path=/trunk/; revision=6564
2002-11-05 22:50:42 +00:00
Guy Harris 3b71004a61 In connection-oriented DCE RPC, the authentication data are credentials
only in bind, bind_ack, alter_context, alter_context_response, and auth3
PDUs; they're a verifier of some sort in other PDUs.  The verifier
appears to start with an OID for the real authentication mechanism if
the authentication type is SPNEGO.

svn path=/trunk/; revision=6563
2002-11-05 21:41:27 +00:00
Richard Sharpe e914e4fa6a A small fix to NtCreat&X from Jim McDonough ...
svn path=/trunk/; revision=6562
2002-11-05 19:44:51 +00:00
Guy Harris 421688098e From Hannes Gredler:
support dissecting of v6 VPN NLRIs;

	fix a little bug for displaying v4 nexthops using type 1 RD
	style [dissecting started at wrong offset].

svn path=/trunk/; revision=6561
2002-11-04 22:00:14 +00:00
Ronnie Sahlberg 7775a0bec5 New tap extension to tethereal: ProtoColInfo
Using this command line option you canb now place any arbitrary display-filter fields on the COL_INFO line.

Assume you want NFS dissector in tethereal to put ALL filehandle hashes (nfs.fh.hash) on COL_INFO.
No worries, just add

-z proto,colinfo,nfs.fh.hash,nfs.fh.hash

as a parameter to tethereal.

Never again do you need to hack tethereal and recompile just because you want some extra info on the COL_INFO line.

svn path=/trunk/; revision=6560
2002-11-04 12:11:01 +00:00
Ronnie Sahlberg cee6c74482 Bugfix.
Previous checkin did not make sense. We can not have a union without having the
union case value stored as a separate variable or else the receiving side will
not know how to decode the packet.
Therefore it can not be a union at all. Instead we have a REF pointer to a ulong
holding the number of elements, then a unique pointer to a conformant array
of structures.

Thus, the content of the reply packet for function_24 as well as
dsrolegetprimarydomaininfo can not be

 [ref] PRIMARY_DOMAIN_INFO_EX_UNION *pdi;

but instead MUST be
 long num_entries;
 [unique][size_is(num_entries)] PRIMARY_DOMAIN_INFO_EX *pdi;

svn path=/trunk/; revision=6559
2002-11-04 11:52:36 +00:00
Ronnie Sahlberg 299f6f8322 Bugfix for DSROLE_PRIMARY_DOMAIN_INFO
svn path=/trunk/; revision=6558
2002-11-04 09:06:15 +00:00
Gerald Combs 00e907e211 Register (and initialize) ett_mplscp_options and ett_cdpcp_options. Fix
some indentation inconsistencies.

svn path=/trunk/; revision=6557
2002-11-04 03:57:34 +00:00
Guy Harris e18f4187bd Don't use the result of "proto_registrar_get_name()" as the field value
- it's the name of the field, not the name of the protocol corresponding
to the UUID.

svn path=/trunk/; revision=6556
2002-11-03 20:35:49 +00:00
Guy Harris ee0c06e961 Use the full name of the "hf_dcerpc_obj_id" field when formatting the
protocol tree item for it.

Fix a typo.

svn path=/trunk/; revision=6555
2002-11-03 20:34:54 +00:00
Guy Harris 85eafc7e25 From Jean-Baptiste Marchand: fix a typo in README.developer.
Also, put him into the list of authors in the man page.

svn path=/trunk/; revision=6554
2002-11-03 20:24:12 +00:00
Guy Harris 62753af1b9 From Jochen Friedrich: give individual fields their own ett_ values and
fix the name of the file in the introductory comment.

Get rid of unnecessary include of "prefs.h".

Make the MAC address fields FT_ETHER rather than FT_BYTES.

Get rid of CRs at the ends of lines.

svn path=/trunk/; revision=6553
2002-11-03 20:11:32 +00:00
Olivier Abad 05ef1fc475 Merge gtk and gtk2 directories.
svn path=/trunk/; revision=6552
2002-11-03 17:38:45 +00:00
Gerald Combs ae2198ea4e Add references to 'tethereal -D' in the '-i' section.
svn path=/trunk/; revision=6551
2002-11-03 17:38:27 +00:00
Ronnie Sahlberg e91ed1701a Fix for Netlogon function 0x22 which used the wrong pointer type.
Additional cleanups added when no longer nessecary to pass through two levels of pointers to get to the DOMAIN_CONTROLLER_INFO structure in the code.

svn path=/trunk/; revision=6550
2002-11-03 04:39:22 +00:00
Guy Harris 18fe4b214c Register the ett_ values.
svn path=/trunk/; revision=6549
2002-11-02 22:55:49 +00:00
Ronnie Sahlberg b1c157b995 From Jochen Friedrich : Support for the RPL (Remote Program Load) protocol implemented on some NIC bootproms.
svn path=/trunk/; revision=6548
2002-11-02 22:23:16 +00:00
Ronnie Sahlberg d5e3008fff From Jean-Baptiste Marchand update the proto_tree_add_ for UUIDs in the
dcerpc layer (and the subdissectors using dissect_ndr_uuid_t()) so that
it is possible to use display filters on these items.

svn path=/trunk/; revision=6547
2002-11-02 22:14:21 +00:00
Ronnie Sahlberg ee9c00c024 Fixed small bug in TCP seq/ack analysis. Forgot to check a pointer for NULL which caused crashes sometimes.
svn path=/trunk/; revision=6546
2002-11-02 22:00:17 +00:00
Guy Harris a3cbe709a0 Handle the 3 bytes of padding before the FDDI frame data in iptrace
captures.

Use #defines rather than magic numbers for various header sizes, and put
in a comment explaining the header formats.

svn path=/trunk/; revision=6545
2002-11-01 20:43:11 +00:00
Gilbert Ramirez ddc7b4597b Fix a problem when using the same field more than once in a display
filter, as in "ip.src == x.x.x.x || ip.src == y.y.y.y". My previous
change to allow filtering on multiple fields of the same name moved
some code into the wrong block within the function, causing the error.

svn path=/trunk/; revision=6544
2002-11-01 17:37:25 +00:00
Ronnie Sahlberg 707f06ccc2 Three more things for TCP seq/ack analysis to check for and flag:
ZeroWindow:   ZeroWindow segments are detected and flagged
  ZeroWindowProbe: detected and flagged
  ZeroWindowViolation:  attempts to write >1 byte of data to a zerowindow is detected and flagged.

svn path=/trunk/; revision=6543
2002-11-01 11:05:37 +00:00
Ronnie Sahlberg f4ecf268aa Update to TCP seq/ack analysis: tcp seq/ack analysis should now be able to
detect suspected duplicate ACKs.

svn path=/trunk/; revision=6542
2002-11-01 10:25:35 +00:00
Guy Harris 910de52a04 Note that "tethereal-tap-register.c" is built by the Bash script
"make-tapreg-dotc" from "tap-*.c", using grep and sed.

svn path=/trunk/; revision=6541
2002-11-01 10:02:18 +00:00
Guy Harris ad9ec1af37 Cygwin doesn't necessarily come with an "sh.exe", so use "$(SH)" rather
than "sh" to run a Bourne-compatible shell in "Makefile.nmake", and
define "SH" to be "bash" in "config.nmake".

svn path=/trunk/; revision=6540
2002-11-01 10:01:21 +00:00
Guy Harris 749d00f331 Put in a portability note telling people to use "strchr()" and
"strrchr()", not "index()" and "rindex()"; MSVC++ doesn't declare
"index()" or "rindex()" if you include <string.h>, and they're
non-standard routines (the ANSI C names for those functions are
"strchr()" and "strrchr()").

Add a bit more to the other portability note on the topic of
non-standard vs. ANSI standard functions.

svn path=/trunk/; revision=6539
2002-11-01 09:41:36 +00:00
Guy Harris d24c2bc5b9 Use "strchr()", not "index()"; MSVC++ doesn't declare "index()" or
"rindex()" if you include <string.h>, and they're non-standard routines
(the ANSI C names for those functions are "strchr()" and "strrchr()").

svn path=/trunk/; revision=6538
2002-11-01 09:40:23 +00:00
Guy Harris 205d13ca35 Get rid of some trailing blanks in strings.
svn path=/trunk/; revision=6537
2002-11-01 08:21:57 +00:00
Guy Harris e601f03448 Fix up the handling of WAN captures somewhat, based on looking at a
bunch of those captures.

svn path=/trunk/; revision=6536
2002-11-01 08:18:36 +00:00
Guy Harris 3a3a343566 Remove a newline from a string being put into the protocol tree.
svn path=/trunk/; revision=6535
2002-11-01 08:17:03 +00:00
Guy Harris 4169d3000e Don't bother putting the direction into the ISDN part of the protocol
tree - it's already in there as part of the frame header.

svn path=/trunk/; revision=6534
2002-11-01 05:39:36 +00:00
Guy Harris 1522cd2994 From Fritz Budiyanto: the command in the Packet Transfer Command IE is
one byte, so fetch it with "tvb_get_guint8()", not "tvb_get_ntohl()".

Put in the location in the GPRS standard where that's defined, while
we're at it.

svn path=/trunk/; revision=6533
2002-11-01 05:30:48 +00:00
Ronnie Sahlberg cdb4e6929c New tap extension for tethereal : ProtocolHierarchyStatistics.
Similar to what is available on ethereal:/Tools/ProtocolHierarchyStatistics
but this one can handle ALL protocols that tethereal has dissectors for.

Maybe a gtk/gtk2 version of this should replace the existing one in ethereal?


Try -z io,phs   or -z io,phs,<filter>  to test it.

svn path=/trunk/; revision=6532
2002-11-01 05:29:36 +00:00