Commit Graph

3966 Commits

Author SHA1 Message Date
Guy Harris d7973c6ede Fix a typo.
svn path=/trunk/; revision=3860
2001-08-21 07:03:50 +00:00
Guy Harris d750018d49 The zlib that comes with XFree86 isn't a "mini-zlib", it's an older
version; fix some comments and fix the error message printed if we
detect it.

svn path=/trunk/; revision=3859
2001-08-21 06:52:25 +00:00
Guy Harris 9d601c6799 On Windows, use the directory in which the binary resides as the
directory in which global data files are stored.  If an installed binary
is being run, that's the correct directory for them; if a build-tree
binary is being run, the "manuf" file will be there, and you can put
other data files there as well, if necessary.

Do the same with plugins, except that, if there's no
"plugins\\{version}" subdirectory of that directory, fall back on the
default installation directory, so you at least have a place where you
can put plugins for use by build-tree binaries.  (Should we, instead,
have the Windows build procedure create a subdirectory of the "plugins"
source directory, with the plugin version number as its name, and copy
the plugins there, so you'd use the build-tree plugin binaries?)

Move "test_for_directory()" out of "util.c" and into
"epan/filesystem.c", with the other file system access portability
wrappers and convenience routines.  Fix "util.h" not to declare it - or
other routines moved to "epan/filesystem.c" a while ago.

svn path=/trunk/; revision=3858
2001-08-21 06:39:18 +00:00
Gilbert Ramirez aacb4d90f0 Use system's version of AM_PATH_GLIB macro.
Optimize use of AC_CHECK_FUNC in wiretap/acinclude.m4
Move #include "config.h" to be first include in some files.
From albert chin (china@thewrittenword.com)

svn path=/trunk/; revision=3857
2001-08-20 15:23:34 +00:00
Guy Harris 1839c44f3f Free the exception ID string if we've allocated one.
svn path=/trunk/; revision=3856
2001-08-20 09:16:08 +00:00
Guy Harris b524041d3f Patch from Bernd Becker: "header->exception_id" has to be set regardless
of whether a protocol tree is being generated.

svn path=/trunk/; revision=3855
2001-08-20 09:10:27 +00:00
Guy Harris c8b186e9e6 Make sure the GIOP plugins are removed if Ethereal is uninstalled.
svn path=/trunk/; revision=3854
2001-08-20 06:33:23 +00:00
Guy Harris 55174ef57b Add the GIOP plugins.
svn path=/trunk/; revision=3853
2001-08-20 06:29:57 +00:00
Guy Harris 690617200a Use "proto_tree_add_item()" rather than passing a "tvb_get_" function's
result to "proto_tree_add_uint()".

Get rid of the structure declarations in "packet-rx.h"; they're not
used, and one of them has a zero-length array in it, which is not
standard C, and not accepted by all C compilers.

svn path=/trunk/; revision=3852
2001-08-20 02:11:13 +00:00
Guy Harris d5fbc4d780 Fix some compile problems on Windows.
svn path=/trunk/; revision=3851
2001-08-19 00:42:36 +00:00
Guy Harris 01d5c10b07 On Win32, use the default installation directory for Ethereal as the
"standard" plugin directory, and, instead of getting PLUGIN_DIR (the
*real* installation directory) from the configure script, as can be done
in UNIX, attempt to get it by getting the full pathname of the currently
running program and assuming it's in the installation directory.

svn path=/trunk/; revision=3850
2001-08-18 23:21:31 +00:00
Guy Harris 4533ae7c55 If there's no "zlib.h" header, we won't be using zlib, so don't bother
checking for "gzgets()" in zlib.

If there is a "zlib.h" header, and there is a "gzgets()" in zlib, check
whether we find "gzgets()" in zlib when we link with the GTK+ link
flags, and, if not, fail.  People often grab XFree86 source and build
and install it on their systems, and they appear sometimes to
misconfigure XFree86 so that, even on systems with zlib, it assumes
there is no zlib, so the XFree86 build process builds and installs its
own "mini-zlib" in the X11 library directory.  The "mini-zlib" lacks
"gzgets()", and that's the zlib with which Ethereal gets linked, so the
build of Ethereal fails.

svn path=/trunk/; revision=3849
2001-08-18 20:09:44 +00:00
Guy Harris c290d9c859 Check first whether there's any data left in the packet before checking
whether that data is an end-marker in an SDES, so we don't report a
malformed frame if the SDES list doesn't end with an RTCP_SDES_END
marker (RFC 1889 says "The list of items in each chunk is terminated by
one or more null octets, the first of which is interpreted as an item
type of zero to denote the end of the list", but the "Parsing RTCP SDES
packets" example doesn't seem to treat hitting the end of the frame
before seeing an RTCP_SDES_END as an error, and at least one Quicktime
capture I have has no RTCP_SDES_END at the end).

Use "tvb_reported_length_remaining()" to do the check, so that we don't
stop until we either hit the *real* end (rather than the capture end) of
the packet, or throw an exception (so that a "Short Frame" indication
shows up if the capture length was such that not all the frame was
captured).

svn path=/trunk/; revision=3848
2001-08-18 09:27:06 +00:00
Guy Harris 66370dc127 All dissectors must put their protocol tree items under a top-level item
for the protocol; otherwise, the protocol statistics code doesn't work
(and often trips across assertions).  Put the "Gnutella Upload /
Download Stream" item underneath a Gnutell protocol item, rather than
putting it at the top level.

svn path=/trunk/; revision=3847
2001-08-18 07:59:33 +00:00
Guy Harris 71aaaa1819 ICAP support, from Simharajan Srishylam.
svn path=/trunk/; revision=3846
2001-08-18 04:27:08 +00:00
Guy Harris c979a209ee From Jason Lango:
Make sure that we can handle the lack of 'server_port=' when
	setting up a conversation dissector.

	Squelch some signed vs. unsigned comparison warnings.

	Changes to match only on the destination address in
	conversations, because the server might send back a packet from
	an address other than the address to which its client sent the
	packet, so we construct a conversation with no second address.

svn path=/trunk/; revision=3845
2001-08-18 04:16:37 +00:00
Richard Sharpe 689a4460df Change all occurrencess of routeing to routing, even in comments. I respected
capitalization, however.

svn path=/trunk/; revision=3844
2001-08-13 00:56:18 +00:00
Richard Sharpe 8e23078d1b Add FT_UCS2_LE as a field type in prep for adding unicode handling proto_tree
routines.

svn path=/trunk/; revision=3843
2001-08-12 11:46:23 +00:00
Guy Harris 9afbcb1f2c Fix a typo in a comment.
svn path=/trunk/; revision=3842
2001-08-11 19:15:35 +00:00
Guy Harris 46e333674c In the Info column for transaction responses for which we don't have the
matching request, or for responses where we don't have the
pathname/transaction code of the matching request, indicate the SMB
opcode of the transaction, rather than just saying it's a response to a
generic message.

svn path=/trunk/; revision=3841
2001-08-11 18:33:22 +00:00
Guy Harris 97fd776acf If the matching request for a transaction reply wasn't found, so that we
don't know the path name, don't give up, just show the parameters and
data, as is done with transactions that aren't mailslot browser
transactions or LANMAN RAP pipe transactions.

svn path=/trunk/; revision=3840
2001-08-11 18:26:03 +00:00
Guy Harris 3f88a3a881 Display padding and data fields in transaction requests/replies as hex,
not as text; it's rarely, if ever, pure text.

svn path=/trunk/; revision=3839
2001-08-11 17:46:06 +00:00
Guy Harris 9ed0eb9882 Squelch a compiler warning.
svn path=/trunk/; revision=3838
2001-08-11 17:31:13 +00:00
Guy Harris 91cdcfbaa3 Put the continuation data into the protocol tree for a reply
continuation regardless of whether we have the frame number of the frame
from which we're continuing.

svn path=/trunk/; revision=3837
2001-08-11 17:17:42 +00:00
Richard Sharpe 0046494f94 Change the SMB header to being a separate break-out tree ...
Next, on to tvbuffify etc the others...

svn path=/trunk/; revision=3836
2001-08-11 13:50:11 +00:00
Guy Harris a5047906f1 Put into the protocol tree for transaction continuations an item for the
data in the continuation.

svn path=/trunk/; revision=3835
2001-08-11 07:31:14 +00:00
Guy Harris a739061860 Keep track of transaction replies that have continuations, and associate
continuations with the message to which they're a continuation.

svn path=/trunk/; revision=3834
2001-08-11 07:26:25 +00:00
Guy Harris a588428c1b Update from Frank Singleton to
- Add support for CORBA IDL "unions"
	- Update TODO
	- Improve "Operation Return Value" in genOperationReply()

svn path=/trunk/; revision=3833
2001-08-11 04:37:31 +00:00
Guy Harris 30296fc745 Tvbuffified SMB mailslot protocol dissector, from Ronnie Sahlberg.
svn path=/trunk/; revision=3832
2001-08-07 08:39:57 +00:00
Guy Harris 57091e1abb Update from Steve Dickson to add support for UDP encapsulation of PGM
packets.

svn path=/trunk/; revision=3831
2001-08-06 19:05:14 +00:00
Guy Harris cf69e4c354 Fix up the check for an unlimited amount of storage.
Fix up the code to add the "milliseconds since some point in the past"
field in a NETREMOTETOD response to the tree.

svn path=/trunk/; revision=3830
2001-08-06 08:49:17 +00:00
Guy Harris 95056acbba The MID in an SMB message is not a transaction ID in, say, the ONC RPC
sense; instead, it's a "multiplex ID" used when there's more than one
request *currently* in flight, to distinguish replies.

This means that the MID and PID don't uniquely identify a request in
a conversation.

Therefore, we have to use some other value to distinguish between
requests with the same MID and PID.

Add a mechanism to do so.

svn path=/trunk/; revision=3829
2001-08-06 00:59:14 +00:00
Guy Harris 763b607aa4 Save the parameter and result descriptors if the frame *hasn't* already
been visited, not if it *has*.

svn path=/trunk/; revision=3828
2001-08-05 20:35:41 +00:00
Guy Harris 170d538f16 Patch from Motonori Shindo to add support for decoding additional data,
for CHAP, in LCP Authentication Protocol option.

Fix a typo.

svn path=/trunk/; revision=3827
2001-08-05 19:44:13 +00:00
Guy Harris 74fb14adac Patch from Motonori Shindo, adding
1) Shiva PAP (SPAP) and Extensible Authentication Protocol (EAP)

 2) CBCP negotiation in LCP Callback Operation Field

to the PPP dissector.

svn path=/trunk/; revision=3826
2001-08-05 10:09:40 +00:00
Guy Harris 4ed98dbd84 Make some of the NBDS fields enumerated fields, and give the Boolean
fields "Yes" and "No" as their strings and give them new names, so we
don't need to use "proto_tree_add_XXX_format" and so that the enumerated
fields can be filtered symbolically.

Set the length of the top-level NBDS item based on the packet type, and
set it to cover only the header, not the SMB message inside the packet,
for direct and broadcast datagrams.

Set the length of the top-level NBSS header to cover only the header,
not the SMB message, for session messages.

svn path=/trunk/; revision=3825
2001-08-05 10:00:35 +00:00
Guy Harris d2b01e812b Remote API protocol (that seems to be what it's called in a number of
places) dissector tvbuffified, from Ronnie Sahlberg and me.

Additional "are we past the end of the buffer" checks added, so that we
don't hand random junk to the transaction and transact2 dissectors.

svn path=/trunk/; revision=3824
2001-08-05 01:15:27 +00:00
Guy Harris d271509c7e Use the #define SMB_FLAGS_DIRN, rather than its numerical value, when
testing the request/response flag.

svn path=/trunk/; revision=3823
2001-08-05 00:30:41 +00:00
Guy Harris 749f27dd0e Add a request/response flag to the "struct smb_info" structure, and use
that rather than passing another copy of that flag to dissectors of
particular messages.

Pass that structure to the pipe subdissector by making "pi.private"
point to it, rather than by passing it as an explicit argument.

Change more of the

	if (dirn == 1) {
		...
	}
	if (dirn == 0) {
		...
	}

stuff to

	if (dirn == 1) {
		...
	} else {
		...
	}

and then, as per the first paragraph, check the "request" flag in the
"smb_info" structure rather than checking a "dirn" flag.

Set "last_transact2_command" to -1 in the "smb_request_val" structures
for TRANSACTION requests, as it doesn't apply to those requests.

As "dissect_transact_params()" doesn't do any work if the "TransactName"
argument is null, don't bother calling it for a reply if we don't have an
"smb_request_val" for the corresponding request, as that means we can't
find out the value to pass as the "TransactName" argument.

svn path=/trunk/; revision=3822
2001-08-05 00:16:36 +00:00
Guy Harris 74262f37de Patch from Lee Berger to properly skip past the length in FT_UINT_STRING
data objects if the length isn't 1.

svn path=/trunk/; revision=3821
2001-08-04 19:57:30 +00:00
Guy Harris e5474282c1 Don't cast "data" to "unsigned long long"; "long long" - or whatever
data type "gint64" really is - should be sufficiient for a %llx format,
and not all compilers that support 64-bit data types have "long long".

svn path=/trunk/; revision=3820
2001-08-04 19:50:33 +00:00
Guy Harris 358e1944db Use "val_to_str()" to convert TRANSACT2 transaction codes to strings.
(This fixes an incorrect string for TRANS2_GET_DFS_REFERRAL, which has
the code 0x10 according to the current SNIA CIFS draft spec; I've seen
those in packet captures.)

Create entries in the transaction hash tables only for requests, not for
replies; this means a reply might not have an entry in the table, if the
request didn't appear in the capture, so handle that case.

Make the "last_transact2_command" field of a "smb_request_val" structure
an "int", so it can be given the value -1, which is different from all
the valid 16-bit unsigned values, to indicate that we couldn't get the
transaction code from the request (e.g., because it's too short).

Show the first Setup word in a TRANSACT2 request as the transaction
code, as that's what it is.

"dirn" is a Boolean, so

	if (dirn == 1) {
		...
	}
	if (dirn == 0) {
		...
	}

is equivalent to

	if (dirn == 1) {
		...
	} else {
		...
	}

and the latter is a bit clearer, so use it.

Distinguish between a TRANSACTION or TRANSACT2 reply where we didn't see
the request and one where we saw the request but didn't see the request
path for TRANSACTION or the request code for TRANSACT2.

Use "g_strdup()" rather than "g_malloc()" followed by "strcpy()".

svn path=/trunk/; revision=3819
2001-08-04 10:17:24 +00:00
Guy Harris ddfdc5bfb1 Replace the protocol-specific data in the "packet_info" structure with a
"void *" that a dissector can set to point to such a structure; that
means that the stuff in the epan directory doesn't have to know anything
about the protocol-specific private data one dissector passes to
another, and that structure doesn't have to be changed if a dissector
wants to pass some new type of data to another dissector.

svn path=/trunk/; revision=3818
2001-08-04 04:04:35 +00:00
Guy Harris 1b3f1fca49 Update the URLs for WCCP 1.0 and 2.0 drafts, and note that they're
(currently) available on-line.

Updates from Simharajan Srishylam to:

	interpret WCCPv2 in the version field;

	handle multiple forwarding methods, assignment methods, or
	packet return methods being enabled;

	treat unknown messages as WCCPv2 messages, and attempt to
	dissect the fields common to all v2 messages.

Note that multiple forwarding/assignment/packet return methods should
really be handled as Boolean bitfields.

Fix some signed vs. unsigned comparison issues.

svn path=/trunk/; revision=3817
2001-08-04 04:00:09 +00:00
Guy Harris d17e7683c1 Fix the version value for WCCPv2.
Use "proto_tree_add_item()" where possible, and use it, rather than
"proto_tree_add_text()", to put the WCCP version into the packet.  Make
the version field hex, so the V2 version shows up in a reasonable form.

Show the flags in bit-set capabilities as Boolean bitfields.

Check the length field of capabilities for sanity, and use the length
field to step to the next capability rather than hardwiring in 8.

In the top-level tree item for a capability element, show the type of
element.

Use the correct offsets when putting stuff into the subtree for a
capability element.

Dissect the values of unknown capabilities as opaque arrays of bytes,
not as 4-byte integers.

svn path=/trunk/; revision=3816
2001-08-04 01:52:07 +00:00
Guy Harris 764975529d Update the URLs for WCCP 1.0 and 2.0 drafts, and note that they're
(currently) available on-line.

Updates from Simharajan Srishylam to:

	interpret WCCPv2 in the version field;

	handle multiple forwarding methods, assignment methods, or
	packet return methods being enabled;

	treat unknown messages as WCCPv2 messages, and attempt to
	dissect the fields common to all v2 messages.

Note that multiple forwarding/assignment/packet return methods should
really be handled as Boolean bitfields.

Fix some signed vs. unsigned comparison issues.

svn path=/trunk/; revision=3815
2001-08-04 00:07:30 +00:00
Guy Harris 63a1bff1fb Fix to a comment, from Frank Singleton.
svn path=/trunk/; revision=3814
2001-08-03 20:51:49 +00:00
Guy Harris 4940c97f11 Update from Frank Singleton:
Improve Template and Description for Attribute delegation code

	_get_xxx_at() should only be called for Reply with NO_EXCEPTION
	_set_xxx_at() should only be called for Request

svn path=/trunk/; revision=3813
2001-08-03 20:44:58 +00:00
Guy Harris 131228b0b1 Updates from Steve Dickson.
svn path=/trunk/; revision=3812
2001-08-02 17:05:00 +00:00
Guy Harris 166c1fd900 Always initialize the "last_transact_command", "last_param_descrip", and
"last_data_descrip" fields of an "smb_request_val" structure to null
when you allocate it, so that, when the hash table is cleaned out, we
don't try handing random junk to "g_free()".

svn path=/trunk/; revision=3811
2001-08-02 09:37:27 +00:00