Commit graph

8474 commits

Author SHA1 Message Date
Jörg Mayer
89a62a712c Whitespace changes in order to make diff produce more readable results
svn path=/trunk/; revision=8568
2003-09-29 19:18:44 +00:00
Jörg Mayer
92f32c1c51 Added comment: XXX Argh maxcnt_high is guint16 and thus 16 bit -> always false
svn path=/trunk/; revision=8567
2003-09-29 19:17:34 +00:00
Guy Harris
e62a1a7386 From Emanuele Caratti:
just use "g_free()" to free the buffer in "md5_xor()", as it
	doesn't throw exceptions;

	temporarily #ifdef out "tacplus_acct_flags" pending the
	arrival of code to dissect the TACACS+ accounting stuff.

svn path=/trunk/; revision=8566
2003-09-29 18:50:47 +00:00
Olivier Abad
11c747bd5f - in show_relations() : select the first row of the relation_list when
using gtk+ v2.
- get rid of some unused variables.

svn path=/trunk/; revision=8565
2003-09-29 06:41:46 +00:00
Tim Potter
5d483e957e More operation names updates from Jean-Baptiste Marchand.
svn path=/trunk/; revision=8564
2003-09-29 00:01:27 +00:00
Guy Harris
f4a639c7c1 It appears that, at least for gigabit pod captures, there are time stamp
differences between versions 002.001 and 002.002.

svn path=/trunk/; revision=8563
2003-09-28 23:15:40 +00:00
Guy Harris
b530c88a3b "compute_offset_length()" must, if it returns FALSE, and "exception" is
non-null, set "*exception" to the appropriate exception - its callers
rely on it.

Now that it does that, there's no need for "check_offset_length()" to
check for a length of -1, as "compute_offset_length()" does so, and
therefore "check_offset_length_no_exception()" does so.

svn path=/trunk/; revision=8562
2003-09-28 21:39:53 +00:00
Tim Potter
82d0ca7c51 Operation name updates for winreg pipe from Jean-Baptiste Marchand.
svn path=/trunk/; revision=8561
2003-09-28 11:35:20 +00:00
Ronnie Sahlberg
84274d4870 Prettify NFSv2 decorate COL_INFO and the tree pane as has already been done for v3
svn path=/trunk/; revision=8560
2003-09-28 01:52:57 +00:00
Ronnie Sahlberg
ed4fde5e5a in ReadAndX
when reading what could potentially be the maxcount high field
assume that IF it is 0xFFFFFFFF  that it is not maxcount high at all but
instead just some padding/reserved bytes.

If this field is 0xFFFFFFFF just ignore it.

svn path=/trunk/; revision=8559
2003-09-28 00:11:01 +00:00
Ronnie Sahlberg
8b7b1ff28e Update to SMB service response time stats.
For short packets, we might not have enough of the payload to decode
the transaction info levels  and thus that data structure is NULL.

check the pointer to this struct first before we try to dereference it.

svn path=/trunk/; revision=8558
2003-09-28 00:00:36 +00:00
Guy Harris
fb1dff45b5 From Anders Broman: further dissect APM messages containing BICC stuff,
and fix a bug in the "upgraded parameter code".

svn path=/trunk/; revision=8557
2003-09-27 23:51:09 +00:00
Ronnie Sahlberg
a4df7ea327 From JBM update some function names in Netlogon
svn path=/trunk/; revision=8556
2003-09-27 23:48:04 +00:00
Ronnie Sahlberg
7efc78748b From JBM update the function names for Messenger
svn path=/trunk/; revision=8555
2003-09-27 23:45:25 +00:00
Guy Harris
96aa250c4a From Jean-Baptiste Marchand: add names of operations in WKSSVC.
svn path=/trunk/; revision=8554
2003-09-27 23:43:29 +00:00
Guy Harris
9f05ec525e From Jean-Baptiste Marchand: add names of DFS-related operations in
SRVSVC.

svn path=/trunk/; revision=8553
2003-09-27 23:34:57 +00:00
Guy Harris
4e5896fed7 From Nathan Jennings:
update the CList as you enter/modify options;

	give Windows users OS descriptions in the displayed devices
	list;

	display at least 5 rows in the lists;

	get rid of the "extra" CList for storing edited values.

svn path=/trunk/; revision=8552
2003-09-26 23:11:17 +00:00
Guy Harris
e16c1c8bcf Get the RTP payload types from rtp_pt.h rather than defining them
ourselves.

svn path=/trunk/; revision=8551
2003-09-26 22:29:42 +00:00
Guy Harris
c2e71cb70b From Tomas Kukosa:
1) string tables for t35CountryCode, t35Extension and
	   h221ManufacturerCode were moved into the new file t35.c
	   because they are common for more dissectors

	2) the dissect_h245_NonStandardParameter_with_extension_marker()
	   was moved from h245 to h225 and renamed to
	   dissect_h225_NonStandardParameter() because the
	   NonStandardData type is different for H.225.0 and H.245

	3) type of the "h245.nsp.object" dissector table was changed from
	   FT_UINT32 to FT_STRING, so it can select a dissector based on
	   an OID rather than the Adler-32 hash of an OID

	4) the "h225.nsp.object" and "h225.nsp.h221" dissector tables
	   were created

svn path=/trunk/; revision=8550
2003-09-26 22:20:08 +00:00
Guy Harris
ae3aa9d05b For (non-heuristic) SIP-over-TCP, dissect stuff that's neither a request
nor a response as continuation data.  For SIP-over-everything-else,
reject it.

Parse the headers regardless of whether we're building a protocol tree
or not; if we're not, we just do it to look for a blank line separating
the headers from the body.  Do that instead of scanning for the message
body separately.

When scanning for a colon, don't scan past the end of the line.

svn path=/trunk/; revision=8549
2003-09-26 21:32:38 +00:00
Guy Harris
f3832721d9 Make the non-heuristic SIP dissector reject the packet if it doesn't
look like a SIP packet, so some other dissector gets a chance at it.

When looking for the blank line separating headers from data, use
"tvb_find_line_end()" so we handle CR/LF and LF as end-of-line
indications (RFC 2543 says "senders MUST terminate lines with a CRLF",
but it also says "but receivers MUSTalso interpret CR and LF by
themselves as line terminators"), and return an offset past the end of
the buffer, rather than -1, if we don't find it (not all packets have
one).

When checking whether a header is one we know about, do a
case-insensitive comparison (RFC 2543 says header field names are
case-insensitive).

svn path=/trunk/; revision=8548
2003-09-26 20:00:38 +00:00
Guy Harris
1085de3d7a The LAPB dissector can be called from the Ethernet dissector; don't
assume we have an X.25 pseudo-header.

svn path=/trunk/; revision=8547
2003-09-26 08:19:55 +00:00
Tim Potter
2d33b62811 This commit refactors the dcerpc authentication subdissectors for
handling encrypted request/response PDUs.  Instead of having
dissection function pointers which perform both decryption and
dissection, the function pointers now only decrypt the DCERPC fragment
payload.  Dissection is handled by the dcerpc_try_handoff() function
(with DCERPC fragment reassembly if necessary).

Details:

 - Move the dcerpc_auth_info struct into dcerpc.h as it is now used in
   the function prototype for the decryption function handlers.

 - decode_encrypted_data() was refactored to take a boolean request
   parameter instead of passing the DCERPC PDU packet type.

 - A tvbuff_t * data field was added to dcerpc_auth to hold the
   verifier.  This is passed as an argument to the decryption function
   handlers.

 - Dissection of verifiers in request and response PDUs was moved to
   before the payload.

 - The dissect_dcerpc_cn_stub() function was refactored to perform
   the decryption process and hand decrypted data to the reassembly
   code instead of performing the decryption after reassembly.

 - Removed references to decrypted_info_t as it's not necessary
   anymore.

Code was tested using encrypted and unencrypted fragmented PDUs.
Before this commit ethereal could not dissect unencrypted (!)
fragmented PDUs correctly.

svn path=/trunk/; revision=8546
2003-09-26 06:30:13 +00:00
Tim Potter
6a389c8bd1 Use zero to mean we haven't seen any authentication level information
in dcerpc_auth_info since auth_level is an unsigned type.  Zero is
not a valid authentication level anyway (s13.1.2.1, p611 CAE spec).

Remove two inscrutable debugging comments that don't seem to mean anything.

svn path=/trunk/; revision=8545
2003-09-26 04:43:05 +00:00
Guy Harris
59938a45fe Assorted GUI cleanups.
svn path=/trunk/; revision=8544
2003-09-26 02:09:44 +00:00
Guy Harris
87d87ace4e RTP analysis updates from Lars Ruoff:
- can now handle streams with different payload types
	- detects payload changes
	- detects comfort noise (PT=13 and 19)
	- status line now shows: sequence errors, payload changes,
	  comfort noise (if any)
	- uses colours for lines with status != "Ok"
	- new button "next": jumps to next line with status != "Ok"
	  (starting from selected line)
	- fixed: wrong jitter calculation (bug from tap_rtp)
	- fixed: marker was not shown on first packet or erroneous
	  packets (bug from tap_rtp)
	- code refactored to improve readability and reuse

svn path=/trunk/; revision=8543
2003-09-25 19:35:14 +00:00
Guy Harris
280403738f Add PT_CN_OLD, so the RTP analysis code can get the RTP payload types it
needs from this header.

svn path=/trunk/; revision=8542
2003-09-25 19:35:02 +00:00
Guy Harris
490cadfcd0 In "nds_defrag()", handle "request_value->ncp_rec" being null.
In "dissect_nds_request()", insert the request information into the hash
table the first time we see the packet, regardless of whether we created
a new conversation or not.

svn path=/trunk/; revision=8541
2003-09-25 11:27:24 +00:00
Guy Harris
ffa946f215 Correctly handle the case where the selected frame doesn't pass the
filter and no frames after it pass the filter either.

svn path=/trunk/; revision=8540
2003-09-25 08:31:52 +00:00
Guy Harris
a2a41b88ad If the currently selected frame doesn't pass the display filter, select
the closest frame to that frame that did pass the display filter, if any
did.

svn path=/trunk/; revision=8539
2003-09-25 08:20:01 +00:00
Tim Potter
966d603875 When showing a fragment subtree, put spaces after colons to make things
look a bit nicer.  Also separate frame and payload data by a comma.

svn path=/trunk/; revision=8538
2003-09-25 01:50:41 +00:00
Guy Harris
f94108245d From Laurent Rabret:
handle 802.1Q frames;

	catch the destroy signal on the main Ethereal window and destroy
	our windows (avoids a crash).

Get the PPP type value for IP from "ppptypes.h" rather than defining it
ourselves.

svn path=/trunk/; revision=8537
2003-09-25 00:37:51 +00:00
Guy Harris
14a047afe9 From Matthijs Melchior: check whether the ring buffer timeout has
expired *before* writing a packet, rather than *after* writing a packet,
so that if you get no packets for a sufficiently long period that the
timeout expires before you get a new packet, the new packet is in the
beginning of a new file (as you might get more packets right after that,
and want them to be in the new file, rather than have the first packet
at the end of one file and the rest of the packets in another file).

svn path=/trunk/; revision=8536
2003-09-25 00:08:58 +00:00
Guy Harris
aaa0e6d7e7 From packet steve: update to give the correct name for "file_access.c",
and add a discussion of how data_offset works.

svn path=/trunk/; revision=8535
2003-09-24 23:53:11 +00:00
Guy Harris
54b276060b From David Frascone: have an 802.11 dissector that byte-swaps the frame
control field, and have a preference in the LWAPP dissector to specify
whether to use it or the regular 802.11 dissector, as some hardware
sends out LWAPP-encapsulated 802.11 packets with a byte-swapped FC field.

svn path=/trunk/; revision=8534
2003-09-24 23:35:39 +00:00
Guy Harris
30265de991 From Anders Broman: fix a crash, and fix trailing whitespace on
Transaction ID.

svn path=/trunk/; revision=8533
2003-09-24 18:41:37 +00:00
Guy Harris
342fa7a1b5 From Tomas Kukosa:
Remove the internal packet-per.c functions
	"dissect_per_length_determinant()" and
	"dissect_per_normally_small_nonnegative_whole_number()" from the
	plugin API, as they shouldn't be used outside the PER dissector.

	Remove the H.225/H.245 functions
	"dissect_h225_TransportAddress()" and
	"dissect_h245_NonStandardParameter()" from the plugin API until
	we really need them in plugins.

	Add the string dissector table functions to the plugin API.

svn path=/trunk/; revision=8532
2003-09-24 18:35:58 +00:00
Guy Harris
d0d3f842bb Add a "file_selection_new()" routine that does all the positioning (GTK+
2.x) and transient-for setting that's done for other dialogs, and use it
for dialogs that come from the main window or from children of the main
window.

svn path=/trunk/; revision=8531
2003-09-24 08:43:34 +00:00
Guy Harris
d2d2015fe2 From Yaniv Kaul: DCERPC OXID operation #5 dissection.
svn path=/trunk/; revision=8530
2003-09-24 08:05:50 +00:00
Guy Harris
14d13e3401 From Lars Ruoff: rewritten RTP analysis module.
svn path=/trunk/; revision=8529
2003-09-24 07:48:12 +00:00
Olivier Abad
959850bf16 In packet_list_button_pressed_cb (gtk2 version) :
- put back the event_button->window == GTK_CLIST(w)->clist_window test
  now that we use the correct structure definition for GtkCList (from
  the right include file, not from our version of gtkclist.h).

svn path=/trunk/; revision=8528
2003-09-24 06:18:20 +00:00
Olivier Abad
0d49ad4d84 Renamed gktclist.[ch] to gtkclist_v12.[ch] to avoid conflicts with the
real gtkclist.h file when building the gtk+ v2 gui.

svn path=/trunk/; revision=8527
2003-09-24 06:15:53 +00:00
Guy Harris
e0ad895b14 Create a protocol tree if we don't have one, we're constructing the Info
column, and we need stuff from the protocol tree for the Info column.

Go back to the previous scheme for constructing the Info column; the
previous change fixes the problems for which the Info column changes
were fixes.

svn path=/trunk/; revision=8526
2003-09-24 03:34:00 +00:00
Guy Harris
4e64afcb25 Pass a pointer to a "capture_file" structure to
"set_menus_for_selected_packet()" and
"set_menus_for_selected_tree_row()", and have them decide whether to
enable or disable menu items based on whether that structure indicates
that a packet or field is selected and, if one is, on its properties.

Pass to the "selected packet enabled" routine for a menu item the
"frame_data" and "edt" members of the "capture_file" structure, and pass
to the "selected tree row enabled" routine the "field_info" member of
that structure.

Clear "cf->current_frame" if no packet is selected.

svn path=/trunk/; revision=8525
2003-09-24 02:36:35 +00:00
Guy Harris
dd628e00c7 Make "finfo_selected" a member of a "capture_file" structure rather than
an independent global variable.

svn path=/trunk/; revision=8524
2003-09-24 00:47:37 +00:00
Guy Harris
88b1bc3fac From Greg Morris: get the request data before using it, if we don't
already have it.

svn path=/trunk/; revision=8523
2003-09-23 22:04:02 +00:00
Guy Harris
3f3a250980 As doc/README.developer's "Portability" section says:
Don't use "bzero()", "bcopy()", or "bcmp()"; instead, use the
	ANSI C routines

		[memset, memcpy, memcmp] ...

	Not all platforms necessarily have "bzero()"/"bcopy()"/"bcmp()",
	and those that do might not declare them in the header file on
	which they're declared on your platform.

Make it so.

svn path=/trunk/; revision=8522
2003-09-23 21:37:11 +00:00
Guy Harris
b77e6a1580 From Graeme Reid: H.450 support.
svn path=/trunk/; revision=8521
2003-09-23 18:59:50 +00:00
Guy Harris
d128a62ebb From Graeme Reid: H.450 support.
svn path=/trunk/; revision=8520
2003-09-23 18:40:54 +00:00
Guy Harris
51805d0c41 From Graeme Reid: modified PER choice dissector to correctly handle
numbered choices starting with non-zero values (eg X.880 ROS).

svn path=/trunk/; revision=8519
2003-09-23 18:36:49 +00:00