Commit graph

5973 commits

Author SHA1 Message Date
Ronnie Sahlberg
ba367e801d Added dissection of the request packets for the functions NetrShareSetInfo, NetrShareDel, NetrShareDelSticky and NetrShareCheck
svn path=/trunk/; revision=5705
2002-06-19 10:22:55 +00:00
Guy Harris
5c29a6c760 Don't hand off the stub body of a Fault PDU to the subdissector for the
protocol.

svn path=/trunk/; revision=5704
2002-06-19 10:06:02 +00:00
Ronnie Sahlberg
a089150169 Added/Rewrote dissection of NetrShareEnum NetrShareGetInfo
svn path=/trunk/; revision=5703
2002-06-19 09:59:42 +00:00
Guy Harris
b67dba63e4 Fix some bugs in the dissection of WEP-encrypted frames.
Put the WEP header tree under the top-level 802.11 tree, rather than
putting it at the top level itself.

svn path=/trunk/; revision=5702
2002-06-19 09:18:45 +00:00
Guy Harris
309f192e02 Dissect the bodies of some additional PDU types.
Show presentation context negotiation results and rejection reasons, PDU
rejection reasons, and rejection status codes symbolically.  Show the
presentation context negotiation rejection reason only if there was a
rejection, and, if so, show it in the Info column as well as the
protocol tree.

Show more fields in the Info column.

Show the packet type in decimal in the protocol tree - it's shown as
decimal in the Info column and the values are shown as decimal in the
DCE RPC 1.1 spec.

Show the sequence number for connectionless PDUs as decimal in the
protcool tree - it's snown as decimal in the Info column, and the call
ID for connection-oriented PDUs is shown as decimal in the protocol
tree.

svn path=/trunk/; revision=5701
2002-06-19 08:34:38 +00:00
Guy Harris
aa576abd08 Put in an additional portability note about "bzero()"/"bcopy()"/"bcmp()"
vs. "memset()"/"memcpy()"/"memmove()"/"memcmp()".

svn path=/trunk/; revision=5700
2002-06-18 20:25:12 +00:00
Guy Harris
aca19eb102 From Solomon Peachy: do WEP decryption before reassembly.
Use "memset()" rather than "bzero()", as "memset()" is the official ANSI
C routine (and you get an error when compiling with MSVC++ if you use
"bzero()").

svn path=/trunk/; revision=5699
2002-06-18 20:17:17 +00:00
Ronnie Sahlberg
2cdcbf6d3c Added dissection of the request to NetrShareAdd
svn path=/trunk/; revision=5698
2002-06-18 13:18:30 +00:00
Ronnie Sahlberg
e704cfe808 Added dissection of the request packets for NetrSessionEnum and NetrSessionDel functions.
svn path=/trunk/; revision=5697
2002-06-18 10:19:47 +00:00
Guy Harris
5fdb6ae2f9 From Solomon Peachy: WEP cleanups, WEP decryption support and other
mangling of the 802.11 dissector, and optional processing of an FCS at
the end of the frame.

When dissecting the frame-type-dependent part of the header, dissect all
management frames (including ones with an invalid subtype) the same, and
dissect all data frames (including ones with an invalid subtype) the
same.

svn path=/trunk/; revision=5696
2002-06-18 08:38:19 +00:00
Guy Harris
dbbeac5f68 There's no more need for separate request and response reassembly hash
tables for connectionless PDUs than for connection-oriented PDUs; just
have one connectionless PDU reassembly hash table.

Get rid of unnecessary tests of "dcerpc_reassemble" - the code to handle
requests and responses was

	if (!dcerpc_reassemble || packet not fragmented || frame is short)
		don't reassemble;
	else if (dcerpc_reassemble)
		reassemble

but if we go into the "else" clause we know that all three conditions in
the "if" are false, including "!dcerpc_reassemble", so we know
"dcerpc_reassemble" is true.

Set "pinfo->fragmented" based on whether the PDU being dissected is an
unreassembled first fragment or not.

Put a "Fragment data" item into the protocol tree for all fragments.

Properly maintain the offset when dissecting the header of a
connectionless PDU, even if we aren't building a protocol tree.

"fd_head->datalen" is bogus for sequence-number-based reassembly; use
"fd_head->len" instead.

svn path=/trunk/; revision=5695
2002-06-18 06:11:42 +00:00
Guy Harris
b0dce85799 The offset of the authentication information in a connectionless PDU is
the fragment length *plus the offset of the beginning of the fragment
data*, not just the fragment length.

svn path=/trunk/; revision=5694
2002-06-18 05:06:44 +00:00
Ronnie Sahlberg
8be2488a32 Added dissectors for the request packets of functions NetrConnectionEnum, NetrFileEnum, NetrFileGetInfo and NetrFileClose
svn path=/trunk/; revision=5693
2002-06-17 13:04:14 +00:00
Ronnie Sahlberg
f5493bbdf1 Added dissection of the requests to functions NetrCharDevQGetInfo, NetrCharDevQSetInfo, NetrCharDevQPurge and NetrCharDevQPurgeSelf
svn path=/trunk/; revision=5692
2002-06-17 10:39:41 +00:00
Tim Potter
32674167bc Added true_false_string for job status codes.
Fixed bug in printer notify subtree item display.

The flags field in rfnpcnex is a change id not a flags value.

svn path=/trunk/; revision=5691
2002-06-17 06:45:42 +00:00
Tim Potter
4c9a866c6d Added value_string for printer status values.
Added true_false_string for printer attributes.

Display notify type and notify field name in subtree item when
dissecting notify options or notify data.

svn path=/trunk/; revision=5690
2002-06-17 03:21:15 +00:00
Guy Harris
88e6717f51 Don't check for a short frame until we care whether the frame is short;
that lets us get rid of a variable.

svn path=/trunk/; revision=5689
2002-06-17 01:12:13 +00:00
Guy Harris
5cb1f7c75c Add support for reassembly of fragmented connectionless PDUs.
Don't try to add a fragment to a reassembly operation if we don't have
all of the stub data (because the frame is short, or because it's part
of a packet fragmented at a layer below RPC and not reassembled).

Put an entry into the protocol tree for the fragment data of the last
fragment.

svn path=/trunk/; revision=5688
2002-06-17 01:11:00 +00:00
Guy Harris
879107efe1 Add #defines for the bits in the flag fields, and a macro to test
whether a connection-oriented PDU is fragmented or not.

Clean up the handling of fragmented connection-oriented PDUs (the code
to handle fragmented PDUs can assume that it is not the case that both
PFC_FIRST_FRAG and PFC_LAST_FRAG are set, as that's an unfragmented
PDU).  Put an entry into the protocol tree for the fragment data in
fragmented PDUs.

For fragmented connectionless PDUs, don't hand the payload of any
fragment other than the first fragment to the subdissector.

svn path=/trunk/; revision=5687
2002-06-17 00:04:49 +00:00
Gerald Combs
0641e38087 Return an error for an invalid class instead of dumping core.
svn path=/trunk/; revision=5686
2002-06-16 17:08:43 +00:00
Ronnie Sahlberg
0087a8a56e Forgot again to remove test changes. Must update my testscripts so I dont need this change anymore.
svn path=/trunk/; revision=5685
2002-06-16 14:43:17 +00:00
Ronnie Sahlberg
b410479691 Added dissectors for the requests for functions NetrCharDevGetInfo, NetrCharDevControl, NetrCharDevQEnum.
svn path=/trunk/; revision=5684
2002-06-16 14:29:15 +00:00
Ronnie Sahlberg
caad19760a ALIGN_TO_4_BYTES cleanup
svn path=/trunk/; revision=5683
2002-06-16 13:50:51 +00:00
Ronnie Sahlberg
7acca5183a We must make sure that the ALIGN_TO_4_BYTES macro does not change the offset
when we do the conformance run.

svn path=/trunk/; revision=5682
2002-06-16 13:47:39 +00:00
Ronnie Sahlberg
5bece57634 Forgot to remove one change only used for local testing from last checkin
svn path=/trunk/; revision=5681
2002-06-16 11:55:46 +00:00
Ronnie Sahlberg
78299a48a5 Added dissection of the request for NetrCharDevEnum function.
svn path=/trunk/; revision=5680
2002-06-16 11:46:18 +00:00
Ronnie Sahlberg
231973f571 Changed one function name that was a duplicate.
svn path=/trunk/; revision=5679
2002-06-16 01:52:26 +00:00
Guy Harris
3baa49d71d Handle the "bool" members the same way we handled the members for
enumerated values - "boolp" for pointers, "boolval" for values.

svn path=/trunk/; revision=5678
2002-06-16 00:58:38 +00:00
Guy Harris
3a407d9567 From Chris Waters: don't use "bool" as a variable name or structure
member, as it's a C++ keyword.

svn path=/trunk/; revision=5677
2002-06-16 00:53:20 +00:00
Guy Harris
561aaa66e0 Fix "display_unicode_string()" to get the length of the Unicode string,
allocate a buffer big enough to hold the ASCIIfied version of that
string, and then ASCIIfy the Unicode string into that buffer, rather
than ASCIIfying into a fixed-length buffer.

svn path=/trunk/; revision=5676
2002-06-16 00:39:30 +00:00
Guy Harris
8dec71bc69 The enumerated types given in the WTLS spec have values given in
decimal, not hex; use decimal in the value_string tables for them, and
display them in decimal, not hex.

Clean up the names of the certificate types.

Add a routine to add text identifiers, use that routine rather than
doing similar things in several places in the code, and don't have that
routine extract the string contents into a buffer and add it with
"proto_tree_add_string()" - we can just use "proto_tree_add_item()",
which is simpler *and* removes worries about buffer overflows.

Use #defines rather than raw numerical values for identifier types in
switch-statement case clauses.

Fix a typo ("Unknow" -> "Unknown").

FT_NONE and FT_STRING fields can't have a base, so make them BASE_NONE.

svn path=/trunk/; revision=5675
2002-06-15 23:27:15 +00:00
Guy Harris
1204dfc523 Character set values are in hex in the WSP spec; always display them in
hex.

svn path=/trunk/; revision=5674
2002-06-15 23:23:31 +00:00
Ronnie Sahlberg
4c7dd2df0b Fixed bug in MAPI
If we had unreassebled DCERPC PDUs but had
decryption of MAPI enabled we would try to read too much data from the
tvbuff and ethereal would later dump core.

svn path=/trunk/; revision=5673
2002-06-15 22:24:31 +00:00
Guy Harris
dc062c348b Put bounds checking into the code in "get_dns_name()" to handle RFC 2673
extended labels.

svn path=/trunk/; revision=5672
2002-06-15 20:38:34 +00:00
Ronnie Sahlberg
96c27779ba Added all missing function names.
Changed all existing function names to match MS naming of these functions.

svn path=/trunk/; revision=5671
2002-06-15 10:24:25 +00:00
Guy Harris
afa5eefe49 From Graeme Hewson: fix capture-from-pipe not to block when reading from
the pipe, and clean up various other things.

svn path=/trunk/; revision=5670
2002-06-13 21:23:02 +00:00
Guy Harris
8637240895 Fix some compiler warnings.
svn path=/trunk/; revision=5669
2002-06-13 21:20:24 +00:00
Guy Harris
5e42823dc0 Move the entries to map between platform-dependent libpcap link-layer
types and Wiretap encapsulations after the entries to map between
platform-independent libpcap link-layer types and those Wiretap
encapsulations, so that, when writing a libpcap-format file, we choose
the platform-independent link-layer types.

svn path=/trunk/; revision=5668
2002-06-13 11:03:23 +00:00
Guy Harris
63ae5638e1 Add /I$(PCAP_DIR)/include to the list of directories in which to look
for header files, so that we find "pcap.h".

svn path=/trunk/; revision=5667
2002-06-13 10:39:29 +00:00
Guy Harris
3f81102560 From Bill Fumerola: recognize "Option negotiated failed" error in TFTP.
svn path=/trunk/; revision=5666
2002-06-13 08:48:44 +00:00
Guy Harris
b412b99609 From Peter Hawkins: make the maximum length argument to
"tvb_get_nstringz0()" no larger than the space in "str" (not counting
the space for the trailing '\0').

Make "str" big enough to hold a maximum-length serial number string (the
length is 1 byte, hence the maximum length is 256 bytes plus 1 byte of
terminating '\0').

svn path=/trunk/; revision=5665
2002-06-13 07:36:52 +00:00
Guy Harris
be4fc3120a From Peter Hawkins: fix the maximum length argument to "tvb_memcpy()".
svn path=/trunk/; revision=5664
2002-06-13 07:32:34 +00:00
Guy Harris
1fdab024c0 From Steve Housley: support for the IEEE 802.3ad Link Aggregation
Control Protocol.

svn path=/trunk/; revision=5663
2002-06-13 07:18:49 +00:00
Guy Harris
5c93900204 Export the new wtap_process_pcap_packet routine.
svn path=/trunk/; revision=5662
2002-06-13 06:50:41 +00:00
Guy Harris
7f22bc6e1a From Loic Tortay: fix a crash when dissecting AFS authentication
requests - the data part of the AFS authentication request
(hf_afs_kauth_data) is displayed as a string whilst declared as a binary
array in "packet-afs-register-info.h".

svn path=/trunk/; revision=5661
2002-06-13 06:43:46 +00:00
Gilbert Ramirez
87e011637c Add #define HAVE_PCAP_H 1 to config.h.win32.
In libpcap.c, move wtap_pcap_encap_to_wtap_encap before libpcap_open
so that if HAVE_PCAP_H is not true, the file will still compile.

svn path=/trunk/; revision=5660
2002-06-10 15:45:30 +00:00
Guy Harris
4754a67c12 Make various text buffers all the same size, so that, for example, we
don't overflow the token buffer if presented with a maximum-sized
command.

svn path=/trunk/; revision=5659
2002-06-09 21:25:47 +00:00
Guy Harris
b406d462b7 Add in names for NDS verbs, from a list found by a Web search that found
the source to an "ipxdump" utility from the Linux ncpfs package.

The NetworkAddress field in a 23/26 GetInternetAddress reply appears
to be big-endian; we assume it's big-endian in all messages.

The NetworkSocket field in that reply also appears to be big-endian;
it was already set up to be big-endian in other messages.

Put in comments noting other things seen in captures.

svn path=/trunk/; revision=5658
2002-06-09 01:36:43 +00:00
Gerald Combs
c5f400ed77 From John Wells: Fix the default offset adjustment in dissect_mip_extentions.
svn path=/trunk/; revision=5657
2002-06-09 01:03:19 +00:00
Guy Harris
2be8f3e875 When looking for dissectors for the source and destination port numbers
in TCP, UDP, and SCTP, try the lower port number first, and then the
higher port number; this means that, for packets where a dissector is
registered for *both* port numbers:

	1) we pick the same dissector for traffic going in both directions;

	2) we prefer the port number that's more likely to be the right
	   one (as that prefers well-known ports to reserved ports);

although there is, of course, no guarantee that any such strategy will
always pick the right port number.

Ignore port numbers of 0, as some dissectors use a port number of 0 to
disable the port, and as RFC 768 says that the source port in UDP
datagrams is optional and is 0 if not used.

svn path=/trunk/; revision=5656
2002-06-08 21:54:52 +00:00