Commit graph

4093 commits

Author SHA1 Message Date
Guy Harris
ef787a1d84 Update the documentation to reflect the fact that the arguments to
"conversation_new()" and "find_conversation()" do not have fixed
identities as source and destination addresses, and to reflect the name
changes we made to arguments and flags to dispel any notion that they
had such fixed identities.

svn path=/trunk/; revision=3887
2001-08-31 09:04:36 +00:00
Olivier Abad
987acc38a8 Patch from Frank Singleton :
- Use only basename of CORBA IDL file to generate the dissector
  name, and not the fullpath name. Allows idl2eth to generate
  valid "C" code no matter where the IDL file lives (doh!)

svn path=/trunk/; revision=3886
2001-08-30 19:31:53 +00:00
Olivier Abad
e76642f9c7 Patches from Frank Singleton :
- update idl2eth man page , now that "unions" are implemented ;
- support for idl2eth man page installation.

svn path=/trunk/; revision=3885
2001-08-30 19:25:39 +00:00
Guy Harris
5715a48382 RPCSEC_GSS fixes, from Mike Frisch.
svn path=/trunk/; revision=3884
2001-08-30 18:33:30 +00:00
Guy Harris
c6e93ed482 Update from Yaniv Kaul to dissect UDP-encapsulated AH and to register
the ISAKMP dissector to be called for TCP port 500.

svn path=/trunk/; revision=3883
2001-08-30 02:23:17 +00:00
Guy Harris
1950443fba Call the ESP dissector regardless of whether "tree" is non-null or not.
svn path=/trunk/; revision=3882
2001-08-29 09:02:37 +00:00
Guy Harris
a0d0d364b1 Support for UDP encapsulation of IPSec packet draft, from Yaniv Kaul.
svn path=/trunk/; revision=3881
2001-08-29 08:12:32 +00:00
Guy Harris
fbe8da33f5 Add a "proto_item_append_text()" routine, which is like
"proto_item_set_text()" except that it appends the result of the
formatting to the item's current text, rather than replacing the item's
current text.  Use it in the DNS dissector.

svn path=/trunk/; revision=3880
2001-08-29 00:51:10 +00:00
Guy Harris
aa4cd01b9b Get rid of "proto_tree_add_notext()" - if you create a subtree using it,
but, before you set the text, you throw an exception while putting stuff
under the subtree, you end up with an absolutely blank protocol tree
item, which is really gross.  Instead of calling
"proto_tree_add_notext()", call "proto_tree_add_text()" with at least a
minimal label - yes, it does mean you do some work that will probably be
unnecessary, but, absent a scheme to arrange to do that work if it *is*
necessary (e.g., catching exceptions), the alternative is an ugly
protocol tree display.

svn path=/trunk/; revision=3879
2001-08-28 08:28:19 +00:00
Guy Harris
d9019638ee Free allocated memory as soon as we're done with it. In many cases,
this obviates the need to add cleanup handlers for exceptions, if we
move a free call so that there are no tvbuff references between the
allocation and the free.  Checking for that also found some cases where
frees were missing, and one loop where a call was made to allocate stuff
but the free was only done after the exit from the loop.

In cases where we can't move the free up above tvbuff references,
register cleanup handlers, and replace the free with
CLEANUP_CALL_AND_POP.

Eliminate some initializations of pointers to null - the initializations
aren't necessary (or ceased to be necessary after the frees were moved
up).

In the "force an exception" code in "get_CDR_octet_seq()", touch the
first byte after the string, to make it more likely that we'll throw the
correct exception (e.g., throw a "past end of captured data" exception
rather than a "past end of data" exception).

There's no need for "get_CDR_string()" to force an exception, as it just
calls "get_CDR_octet_seq()", which will do it for us.

However, as the result of "get_CDR_string()" is often processed as a
string, if the length is 0 it should just "g_strdup()" a null string,
rather than not doing anything (and relying on the pointer variable
being initialized to null).  It's not always safe to treat a null
pointer as if it pointed to a string (in fact, it is often most
definitely unsafe).

svn path=/trunk/; revision=3878
2001-08-28 07:19:47 +00:00
Guy Harris
9cef3b28ad Put in a comment noting that the "Service" string in a Tree Connect and
X reply is always in ASCII.

svn path=/trunk/; revision=3877
2001-08-27 23:17:30 +00:00
Guy Harris
a7f16a41d9 Handle the "Native File System" string in a TconX response as ASCII or
Unicode based on whether strings in the SMB are ASCII or Unicode.

svn path=/trunk/; revision=3876
2001-08-27 20:15:30 +00:00
Guy Harris
d4b447c972 Add "idl2eth.1" to the list of files to ignore in CVS; it's a generated
file.

svn path=/trunk/; revision=3875
2001-08-27 20:05:16 +00:00
Guy Harris
b39d788d91 Squelch some compiler warnings.
svn path=/trunk/; revision=3874
2001-08-27 20:04:21 +00:00
Guy Harris
e18fdae9b6 Use the descriptor strings when dissecting remote APIs; this lets us
handle null pointer entries, and lets us make the dissection of those
APIs more table-driven.

svn path=/trunk/; revision=3873
2001-08-27 09:09:36 +00:00
Guy Harris
dee3661ce3 Label the protocol as the "Microsoft Windows Lanman Remote API
Protocol", not just the "Microsoft Windows Lanman Protocol"; LAN Manager
had a number of protocols layered atop SMB, and this is the one used for
remote execution of various APIs.

svn path=/trunk/; revision=3872
2001-08-27 08:42:26 +00:00
Guy Harris
37f355caf5 Show the Capabilities field in a Session Setup and X request as a 32-bit
value.

Put in a comment noting what may be *another* bug in some versions of
Windows when constructing Session Setup and X requests.

svn path=/trunk/; revision=3871
2001-08-27 07:56:49 +00:00
Guy Harris
1e55187184 Show buffer formats symbolically as well as numerically.
svn path=/trunk/; revision=3870
2001-08-27 06:18:24 +00:00
Guy Harris
5c87d84946 Fix a number of SMB dissectors to correctly handle ASCII and Unicode
strings, based on whether the "strings are Unicode" bit is set in the
SMB header or not.

svn path=/trunk/; revision=3869
2001-08-27 05:52:06 +00:00
Guy Harris
44fb959e81 Make a routine to handle fetching strings that are Unicode or ASCII
depending on the setting of the "Strings are Unicode" bit in the SMB.

Correctly handle Unicode strings in Session Setup and X and Tree Connect
and X messages.

Always display the Word Count and Byte Count fields of a Session Setup
and X message, regardless of whether we recognize the word count value
as one we can handle or not.

Correctly handle Session Setup and X messages if extended security
exchanges are being used.

Decode the (known) bits of the Action field in an Session Setup and X
message, and the (known) bits of the optional flags field of a Tree
Connect and X message.  Show the optional flags field as a 16-bit hex
quantity.

svn path=/trunk/; revision=3868
2001-08-27 04:45:39 +00:00
Guy Harris
606d363a9b The return value from "fwrite()" is a "size_t"; make the variable into
which we store it a "size_t", and then fix up the bugs that were
revealed by the compiler warnings that produced - "fwrite()" returns 0,
not a negative number, on an I/O error.

Fix up some other items to have type "size_t", or to have various
unsigned types, while we're at it, to squelch compiler warnings.

svn path=/trunk/; revision=3867
2001-08-25 03:18:48 +00:00
Guy Harris
837e848329 Sigh. Shomiti apparently didn't know that the RFC 1761 data link types
were just DLPI data link types, and didn't know that the list had
expanded at some point and that Sun *used* some of the new types (e.g.,
in atmsnoop), or decided on their own to go beyond those types to encode
an Oh-So-Useful link speed indication, or just didn't *care* that they
were just DLPI data link types.

Therefore, we have to map Shomiti link types to wiretap types using a
different mapping table.  For now, we assume files with a version number
of 2 are snoop files, and version numbers of 3, 4, and 5 are Shomiti
files; Shomiti claims to use a version number of 2 as well, but to
determine whether a file with a version number of 2 is a snoop file or a
Shomiti file requires that we look at the header of the first packet and
assume that if there's more than 3 bytes of padding it's a Shomiti file.

The return value from "fwrite()" is a "size_t"; make the variable into
which we store it a "size_t", and then fix up the bugs that were
revealed by the compiler warnings that produced - "fwrite()" returns 0,
not a negative number, on an I/O error.

svn path=/trunk/; revision=3866
2001-08-25 02:56:31 +00:00
Guy Harris
ecccb6e061 "sip_is_request()" is intended to indicate whether a given SIP packet is
a request or reply; make its return value "gboolean", and have it just
return TRUE or FALSE.  Also make an array index variable unsigned, to
squelch a GCC warning.

Support for additional SIP methods, from Jean-Francois Mule.

svn path=/trunk/; revision=3865
2001-08-23 00:18:57 +00:00
Guy Harris
7111f83013 Fixes from Hannes Gredler.
svn path=/trunk/; revision=3864
2001-08-22 18:00:40 +00:00
Guy Harris
4d5ab5490b Additional AVPs, and Event-Timestamp support, in RADIUS, from Terje
Krogdahl.

svn path=/trunk/; revision=3863
2001-08-21 18:56:15 +00:00
Guy Harris
4dd604972b Plug a memory leak.
svn path=/trunk/; revision=3862
2001-08-21 09:11:59 +00:00
Guy Harris
973552df3e Fix some Win32 compilation warnings and errors.
svn path=/trunk/; revision=3861
2001-08-21 08:16:54 +00:00
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