Commit Graph

7862 Commits

Author SHA1 Message Date
Guy Harris 0e19962a8f From Dinesh Dutt:
Add a preference to control whether to register for ethertype 0
	or not.

	Change the short name of the protocol from "mdshdr" to "MDS
	Header".

Tweak it to work at protocol registration time, by registering or
un-registering the protocol at startup time or when the preferences are
changed, rather than to just abandon the dissection if the preference is
turned off.

svn path=/trunk/; revision=7802
2003-06-07 09:35:13 +00:00
Guy Harris 6082fe3b24 From Didier Gautheron:
Unix Privilege defined as bit 14 for directories seems to be an
	error in AFP3.0.pdf.
	AFP3.1.pdf and AFP3.0 traffic capture use bit 15 for files and
	directories.

svn path=/trunk/; revision=7801
2003-06-07 08:49:32 +00:00
Guy Harris 202ee2ce25 Use "tvb_format_text()" to display strings, so that non-printable
characters don't show up.  (We really need to handle strings better in
Ethereal, so that we can handle various character encodings in the
packets; GTK+ 2.x uses UTF-8 internally, so we could at least map
everything to that when displaying, and I think GTK+ 1.x for Win32 does
so as well, and but we need to clean up the GTK+ 1.x-for-X11 stuff to
handle the various font encodings.)

Get rid of "strtbl_lookup()" in favor of the appropriate direct calls.

svn path=/trunk/; revision=7800
2003-06-06 20:31:45 +00:00
Richard Sharpe e82e7bfc78 Update Jean-Baptiste's AUTHORS entry.
svn path=/trunk/; revision=7799
2003-06-06 17:11:08 +00:00
Richard Sharpe 48774ccaf1 Some fixes to atsvc from Jean-Baptiste Marchand ...
svn path=/trunk/; revision=7798
2003-06-06 17:09:18 +00:00
Tim Potter 13994411a9 Rename EA length field to EA list length. Field was originally just
list length before my previous commit.

svn path=/trunk/; revision=7797
2003-06-06 02:09:35 +00:00
Tim Potter ab7c3c1195 Dissect extended attribute lists in trans2 QUERY_FILE_INFORMATION,
info level 4.

svn path=/trunk/; revision=7796
2003-06-06 02:05:38 +00:00
Guy Harris ea959f5a6d Don't use "tvb_get_nstringz()" to get string data - just use
"tvb_strsize()" to get the string length, and then use "tvb_get_ptr()"
to get a pointer to the guaranteed-to-be-null-terminated string in the
tvbuff (if the null character is missing, "tvb_strsize()" throws an
exception).

svn path=/trunk/; revision=7795
2003-06-06 01:56:39 +00:00
Guy Harris ea0065c234 Frame numbers are unsigned.
svn path=/trunk/; revision=7794
2003-06-05 22:23:57 +00:00
Gerald Combs 96de41b6b2 From Lars Roland: Replace bcmp() with memcmp(), add a missing quote to the
NSIS definition file.

svn path=/trunk/; revision=7793
2003-06-05 22:10:49 +00:00
Gerald Combs 37521e54a5 Use "=" instead of "==" in an assignment.
svn path=/trunk/; revision=7792
2003-06-05 21:54:54 +00:00
Guy Harris 1aa63490c7 From Motonori Shindo: use "val_to_str()" and "sof_vals"/"eof_vals"
rather than a separate indexed table of strings, to avoid crashes with
bad packets.

svn path=/trunk/; revision=7791
2003-06-05 18:46:41 +00:00
Ronnie Sahlberg c00038711d fix to make the dcerpc_smb_fetch_pol use the new function argument list
svn path=/trunk/; revision=7790
2003-06-05 11:13:41 +00:00
Ronnie Sahlberg c9edc3ccee Teach teh sid snooping how to extract sid->name mappings from SAMR:QueryDispInfo
svn path=/trunk/; revision=7789
2003-06-05 11:02:19 +00:00
Guy Harris f2233623ea From Lionel Ains: "-d" flag for decode-as support in Tethereal.
Add a new routine to iterate through all dissector tables, calling a
routine for each table, to support having the "-d" code list all
dissector tables.

Get rid of "dissector_handle_get_dissector_name()"; it was put in there
for "-d", but turns out not to be necessary for that.

Clean up the usage message a bit (using the convention, adhered to by at
least some UNIX utilities, of listing all the flags with no arguments in
a single lump, and then listing the ones with arguments individually,
and also putting "-v" and "-h" in a separate lump, as Ethereal does).

svn path=/trunk/; revision=7788
2003-06-05 04:47:58 +00:00
Guy Harris ef77cb578a In the policy handle hashing, handle more than one policy handle having
the same value, as an open might return handle XXX, handle XXX might
then be closed, and a subsequent handle might return handle XXX, and we
want to keep the two handles distinct to avoid, for example, displaying
handles closed before they're opened.

In policy handle open replies, store the handle name only if the
operation succeeded.  We can now do that without parsing the packet
twice.

Have "dissect_nt_policy_hnd()" optionally return, through a pointer, the
protocol tree item for the handle, so that its caller can decorate the
item with the name of the handle - that's done on opens, where we do
that only if the operation succeeds.

svn path=/trunk/; revision=7787
2003-06-05 04:22:04 +00:00
Guy Harris 7d282e17ed Get rid of trailing white space.
Fix a spelling error.

Don't use lengths with ASCIIZ strings, as "proto_tree_add_item()" will,
with a specified length, attempt to fetch the specified number of bytes
for an FT_STRINGZ string, throwing an exception of there aren't that
many bytes present.

svn path=/trunk/; revision=7786
2003-06-05 04:04:32 +00:00
Guy Harris 85ada1dec6 When "proto_tree_add_item()" is used with FT_STRINGZ with a length
value, just copy the specified number of bytes and stick a '\0' at the
end, don't use "tvb_get_nstringz0()" - yes, you end up copying more
bytes, but you don't have to bother looking for a '\0' that might not
even be present (if the string is null-padded rather than
null-terminated).

Also, set the length of the item to the specified length, rather than to
the length up to the terminating '\0' - if the string is null-padded,
the field should include all the padding bytes.

svn path=/trunk/; revision=7785
2003-06-05 03:57:38 +00:00
Guy Harris aa1c605ba3 When "proto_tree_add_item()" is used with an FT_STRINGZ and given a
length (rather than being given -1), the length is, in most cases, the
maximum length of a null-*padded* string, rather than the actual length
of a null-*terminated* string.  Treat it as such - allocate a buffer one
larger than the length (to leave room for a terminating '\0'), and pass
the size of that buffer to "tvb_get_nstringz0()".  (Otherwise, in those
cases, the last character of the string is chopped off.)

Allow "proto_tree_add_string()" to add FT_STRINGZ items to the protocol
tree, as well as FT_STRING items.

In "alloc_field_info()", if we're passed a length of -1 and the field is
an FT_STRINGZ, don't make the length be the length remaining in the
tvbuff; that way, you *can* use a length of -1 in
"proto_tree_add_item()" for an FT_STRINGZ item, and have it get the
actual length by looking for the terminating '\0'.

(We might want to distinguish between null-terminated and null-padded
strings, e.g. with an FT_STRINGZPAD type.  Null-terminated strings
rarely, if ever, have a specified length; the length is found by
scanning for the terminating '\0'.  Null-padded strings presumably
always have a specified length, which is the length to which the string
is padded.)

svn path=/trunk/; revision=7784
2003-06-04 21:51:54 +00:00
Guy Harris dd6f38957b Use "tvb_ensure_bytes_exist()" to check, in "tvb_fake_unicode()", to
make sure we have the entire string, rather than fetching the last
character.

svn path=/trunk/; revision=7783
2003-06-04 21:45:49 +00:00
Guy Harris 4171c899df Have the RMCP dissector reject packets with an unknown class byte value,
so we don't mis-dissect non-RMCP traffic going to or from the RMCP port.

Use the dissector table set up for RMCP classes - use
"dissector_try_port()" rather than explicitly checking class values, and
have the sub-dissectors register in the dissector table rather than
registering their dissectors.

svn path=/trunk/; revision=7782
2003-06-04 08:51:36 +00:00
Guy Harris d5191ad69d Use "g_string_append()" rather than "g_string_sprintfa()" if we're just
appending a constant string.

svn path=/trunk/; revision=7781
2003-06-04 08:46:35 +00:00
Guy Harris 833b1d2d0d Put in a comment noting that we might not want to process the payload of
a TCP segment, and probably don't want to hand the segment to a TCP tap,
if the TCP segment is included in an error packet.

svn path=/trunk/; revision=7780
2003-06-04 08:45:10 +00:00
Guy Harris d91aa1afdf If the UDP datagram is included in an error packet, don't dissect the
payload if there isn't any.  (We do so for real UDP datagrams so that we
throw an exception; the exception doesn't cause anything to be displayed
if we're dissecting something inside an error packet.)

svn path=/trunk/; revision=7779
2003-06-04 08:43:30 +00:00
Guy Harris c7c20a6724 Don't use fields in the packet for subtree items - create a separate
subtree item.

Have "ndps_string()" take a buffer pointer and length as arguments, and
fill in the supplied buffer if the buffer pointer is non-null.  Have it
do bounds checking in any case.  Use that to set the text of a server
info item, and also remove a level from the tree for server info.

Show various item counts and structure sizes in the protocol tree.
(This also, in some cases, fixes the offset for subsequent items, as not
only was the item count not put into the protocol tree, the offset
wasn't advanced past the item count.)

Instead of putting an item into the tree with "proto_tree_add_item()",
advancing the offset past it, and fetching the item's value with a
backed-off offset, just fetch the value first and put it into the tree
with the appropriate "proto_tree_add_XXX" call.  Use switch statements
if the value is being compared against more than one constant.

Don't use a length of 0 in subtree items; use a length of -1, and then
set the length when the subtree is complete, so that if you click on the
subtree item it highlights all the bytes in the subtree.

Fix some "proto_tree_add_uint()" calls that were supposed to be
"proto_tree_add_item()" calls.

In a "Create job" operation, the alignment after the "Doc Content" item
had an extra 2 bytes added if it was non-zero; that seems a bit odd (if
no alignment is required, the stuff after that item is aligned on a
4-byte boundary, but if alignment is required, the stuff after that
items is aligned 2 bytes *off of* a 4-byte boundary), and caused at
least one capture to be misdissected.

Fix some cases where a counted list was inside a counted list, and the
inner count wasn't being fetched *or* used for the inner list.

Display counts in decimal, not hex.

Remove the question mark from the name of a Boolean preference; other
Boolean preferences don't have them, and it looks odd with a colon after
it - that's what the GUI code puts there.  If Boolean preferences should
have a question mark, it should be put there by the GUI code, instead of
a colon.

svn path=/trunk/; revision=7778
2003-06-04 08:38:09 +00:00
Guy Harris 53c2e25a9f There can be more than one DCE RPC call per frame, e.g. there can be
multiple NetBIOS-over-TCP session service messages in a TCP segment, and
they can contain the final portions of different DCERPC calls.  Don't
assume a frame number is sufficient to identify DCE RPC calls.

svn path=/trunk/; revision=7777
2003-06-04 05:41:37 +00:00
Guy Harris 1c5696f297 Give Niels Koot credit.
svn path=/trunk/; revision=7776
2003-06-04 00:14:47 +00:00
Guy Harris 4875604484 Fix up some comments, and move some common GLib 1.2[.x]/2.x code outside
#ifdefs.

svn path=/trunk/; revision=7775
2003-06-04 00:11:02 +00:00
Guy Harris 6d93e14208 Fix a comment.
svn path=/trunk/; revision=7774
2003-06-03 23:49:59 +00:00
Michael Tüxen cf0b21e038 - fixed a BUG in the handling of the global title address parameter
- added support of subdissectors.

Patch provided by Niels.Koot@logicacmg.com

svn path=/trunk/; revision=7773
2003-06-03 16:00:37 +00:00
Gerald Combs bdec82ce59 From Lars Roland: Update the plugin API for Glib/GTK+ 2.2 and have NSIS
remove the Start menu entries and desktop icon.

svn path=/trunk/; revision=7772
2003-06-03 02:32:56 +00:00
Gerald Combs d0844ac0c1 Magic number adjustments, from Yaniv Kaul.
svn path=/trunk/; revision=7771
2003-06-03 02:21:08 +00:00
Gerald Combs 035e8c1cd2 From Jeff Liu: Add support for WPA (Wi-Fi Protected Access) key in EAPOL
frames and WPA IE in 802.11 beacon and probe response frames.

svn path=/trunk/; revision=7770
2003-06-03 01:20:14 +00:00
Gerald Combs f755cf5034 Add GNU ADNS to the Windows build environment. A precompiled DLL can be
found at

	http://adns.jgaa.com/

and

	http://www.ethereal.com/distribution/win32/development/

The modifications to the root-level config.h.win32 and Makefile.nmake
may not be neccessary.

svn path=/trunk/; revision=7769
2003-06-02 18:40:02 +00:00
Tim Potter 4eaff6dc18 Dissect a netlogon credential as eight FT_BYTES rather than two guint32
quantities.

svn path=/trunk/; revision=7768
2003-06-02 03:53:32 +00:00
Richard Sharpe 47817bcb26 Fix a small segmentation fault if we get an ASN.1 parse error, and
start to work on kerberos flags etc.

Also prettied up the case where the responseToken was an empty string.

svn path=/trunk/; revision=7767
2003-06-01 20:34:20 +00:00
Ronnie Sahlberg 63884147dd Update SAMR to change the last few calls to dissect a context handle to
use dissect_nt_policy_hnd() instead.

svn path=/trunk/; revision=7766
2003-05-30 23:44:13 +00:00
Ronnie Sahlberg ecc98ba7fc Some minor updates to LSA.
* Add a few missing dissections of return codes in reply packets
* fix a problem in LsaQuerySecret where two of the parameters are actually
unique pointer to unique pointer to object and not just one level of pointers.
* update the dissection of LSA_SECRET to look more correct in some captures.

Anyone that knows the content of the LSA_SECRET object is welcome to mail a description to me.

svn path=/trunk/; revision=7765
2003-05-30 11:30:09 +00:00
Guy Harris c48ce9b402 From tz: decode the base-64 string for HTTP Basic authorization.
svn path=/trunk/; revision=7764
2003-05-30 03:11:45 +00:00
Guy Harris eb9ef15711 From Steven Lass: if there is no whitespace after the colon in a header,
don't try to eat the non-existent whitespace.

svn path=/trunk/; revision=7763
2003-05-29 18:29:36 +00:00
Guy Harris e43ca5a763 Add the MSRPC ATSVC interface.
svn path=/trunk/; revision=7762
2003-05-29 17:59:51 +00:00
Gerald Combs 2d54e2cea4 Add packet-dcerpc-atsvc.h to the header list.
svn path=/trunk/; revision=7761
2003-05-29 14:05:41 +00:00
Guy Harris d2f3215b6f COTP reassembly, from Laurent Meyer.
svn path=/trunk/; revision=7760
2003-05-28 22:58:46 +00:00
Richard Sharpe dbce18c42a Add the MSRPC ATSVC interface. Code courtesy of Jean-Baptiste Marchand.
svn path=/trunk/; revision=7759
2003-05-28 22:43:57 +00:00
Guy Harris 2573a5527a From Laurent Rabret: use "g_free()", not "free()", to free stuff
allocated with "g_malloc()" and related GLib routines.

svn path=/trunk/; revision=7758
2003-05-28 22:40:19 +00:00
Guy Harris 28c73939f3 From Laurent Rabret: show checksum status in a sub-item for the checksum
field, and add a "bad checksum" filterable field.

svn path=/trunk/; revision=7757
2003-05-28 22:39:14 +00:00
Guy Harris a455f27db0 From Hannes Gredler:
- fix a typo
	- correctly hook-in capability notification subcodes
	    in the *bgpnotify_minor[] array
	- add support for draft-ietf-idr-cease-subcode-02

svn path=/trunk/; revision=7756
2003-05-28 20:59:46 +00:00
Gerald Combs 5ec3a96afa Update Anand Narwani's email address.
svn path=/trunk/; revision=7755
2003-05-28 14:52:53 +00:00
Gerald Combs 578640772d Use freopen() instead of worrying about whether a particular FILE pointer is
NULL.

svn path=/trunk/; revision=7754
2003-05-28 01:09:57 +00:00
Guy Harris 10e7b49b11 From Graeme Hewson: fix the declaration of "open_routines[]".
svn path=/trunk/; revision=7753
2003-05-27 10:42:22 +00:00