Commit Graph

18 Commits

Author SHA1 Message Date
Guy Harris f6b5e5a7ec From Greg Morris:
Fix a bug in the dissection of multiple NDS messages being sent
	at the same time that the dissector was attempting to desegment
	data spanning multiple packets.  When a message was encountered
	during the desegmentation code the dissector would
	misinterpret the new message as an element in the data stream.
	Code was added to validate the desegmentation handle and
	validate which messages actually contain segmented data.

svn path=/trunk/; revision=11147
2004-06-15 09:23:59 +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 d4a5694c99 From Greg Morris: update the Info column even if we're not building a
protocol tree.

svn path=/trunk/; revision=8502
2003-09-20 04:25:11 +00:00
Guy Harris 9bcebc00c0 From Greg Morris: added support for defragmentation of NDS packets.
svn path=/trunk/; revision=8259
2003-08-25 22:16:57 +00:00
Guy Harris 3b39429a6f From Greg Morris:
1. Some NCP's that displayed the file/directory path in the
	   summary window would display blank lines on Windows based
	   machines.  This was due to unicode or non-displayable
	   characters contained in the character string being added to
	   the column data.  I made a change to format/strip out
	   non-displayable characters prior to adding to the column
	   data.

	2. Moved ncp_req_hash_value struct to packet-ncp-int.h so that
	   I can use it within a future dissector (NMAS).

Clean up white space.

svn path=/trunk/; revision=7560
2003-04-25 20:36:29 +00:00
Guy Harris d2ff6ef5b8 From Greg Morris: update the introductory comment.
svn path=/trunk/; revision=7415
2003-04-08 00:40:37 +00:00
Gerald Combs c9cdfff342 From Greg Morris: More NDS decodes.
Fix a typo in get_string().

svn path=/trunk/; revision=6313
2002-09-22 15:46:42 +00:00
Jörg Mayer 7c4176d868 Removed trailing whitespaces from .h and .c files using the
winapi_cleanup tool written by Patrik Stridvall for the wine
project.

svn path=/trunk/; revision=6117
2002-08-28 21:04:11 +00:00
Gilbert Ramirez 34180e1bf2 From Greg Morris:
1. Secret Store Services (NCP 94) (ncp2222.py)
2. NMAS (NCP 92) (ncp2222.py)
3. NDS information in summary screen (packet-ncp.c & packet-ncp2222.inc)
4. Sever broadcast packets (NCP type 0xbbbb) to notify workstation to clear op-lock (packet-ncp.c)
5. Large Internet Packets (LIP) (packet-ncp.c)
6. Unicode Support. (unicode_to_string function in packet-ncp2222.inc & ncp2222.py)

svn path=/trunk/; revision=6069
2002-08-23 17:47:31 +00:00
Gilbert Ramirez 5a4e9fa396 Update from Greg Morris.
Increase the max number of allowable req_cond_index's.

svn path=/trunk/; revision=5497
2002-05-17 23:17:22 +00:00
Guy Harris e1b2d0ef85 Move the #defines for NCP packet types to "packet-ncp-int.h", and use
them in "packet-ncp2222.inc".

The page at

	http://www.odyssea.com/whats_new/tcpipnet/tcpipnet.html

indicates that a positive ACK (0x9999) NCP packet has the same
completion code and connection status fields as a reply (0x3333) packet
(but nothing after them); hand "dissect_ncp_reply()" the packet type as
one of its arguments, and have it handle positive ACK packets as well as
reply packets.

It also indicates that bit 4 of the connection status indicates that the
server is unavailable, and the page at

	http://www.unm.edu/~network/presentations/course/appendix/appendix_f/tsld088.htm

speaks of that and of the significance of other bits; put a comment in
"ncp2222.py", before the "hf_ncp_connection_status" field, about that.

From looking at a capture, it appears that a "destroy service
connection" (0x5555) packet should be treated like a "create service
connection" (0x1111) packet and be handed to "dissect_ncp_request()".

Note that perhaps watchdog packets should be handled by
"dissect_ncp_reply()" as well.

svn path=/trunk/; revision=5489
2002-05-16 09:59:52 +00:00
Gilbert Ramirez 41cc7f0707 Merge the work in Novell_NCP_branch into the mainline code.
A little work still needs to be done on the new NCP dissector -- make
some of the COL_INFO texts more useful, handle a Unicode issue, and
modify some of the cases that use "request conditions".
But the NCP dissector as it stands is very usable now.

Note: I didn't merge in the PROTO_LENGTH_UNTIL_END macro... I wanted
to think about the various possible macros and review an email conversation
I had with Guy on the subject.

svn path=/trunk/; revision=5432
2002-05-09 23:50:34 +00:00
Gilbert Ramirez f7265ba975 Allow NCP types to define bitfields. In order to implement
sub-trees, I added new functions to ptvcursor:

	ptvcursor_add_no_advance()
	ptvcursor_tvbuff()
	ptvcursor_current_offset()

Note that no NCP type that actually uses bitfields has been
checked in yet.

svn path=/trunk/; revision=4509
2002-01-10 04:44:34 +00:00
Gilbert Ramirez 0b9b02c6ea Long NCP traces can easily have many packets whose "uniqueness"
variables wrap-around. Since the request/reply packets are related via
a hash based on these uniqueness variables, long NCP traces can
have mis-matches reqeust/reply records.

Thus, only do the hash-lookup for the reply packet during the first
sequential scan of the trace file. Once the pertinent info is found,
store it in the packet's private data area.

Since the memory allocated for the hash and for the structures that make
up the keys are no longer needed after the first sequential run through
the trace file, arrange to free that memory after the first sequential
run. Similar to the register_init_routine() that allows dissectors
to register callbacks for calling *before* a capture file is loaded,
set up a register_postseq_cleanup_routine() function that allows
dissectors to register callbacks for calling *after* the first
sequential run-through of the trace file is made. This is not
a *final* cleanup callback, since Ethereal will still have that trace file
open for random-access reading.

I didn't have tethereal call postseq_cleanup_all_protocols() since
tethereal doesn't keep the trace file open for random-access reading.
I could easily be swayed to make tethereal call that function, however.

svn path=/trunk/; revision=4484
2002-01-05 04:12:17 +00:00
Gilbert Ramirez f14a6b8b91 Hopefully the last time I have to change my e-mail address.
svn path=/trunk/; revision=4199
2001-11-13 23:55:44 +00:00
Gilbert Ramirez c70cdb456f Handle a few of the NCP types from the traces sent in by Pete,
<psailor@uswest.net>

svn path=/trunk/; revision=3617
2001-06-28 02:42:48 +00:00
Laurent Deniel 6a480953a9 Miscellaneous code cleaning
- add <stdarg.h> or <varargs.h> in snprintf.h
  and remove those inclusions in the other #ifdef NEED_SNPRINTF_H codes

- remove the check of multiple inclusions in source (.c)  code
  (there is a bit loss of _cpp_ performance, but I prefer the gain of
   code reading and maintenance; and nowadays, disk caches and VM are
   correctly optimized ;-).

- protect all (well almost) header files against multiple inclusions

- add header (i.e. GPL license) in some include files

- reorganize a bit the way header files are included:

  First:
  #include <system_include_files>
  #include <external_package_include_files (e.g. gtk, glib etc.)>
  Then
  #include "ethereal_include_files"

  with the correct HAVE_XXX or NEED_XXX protections.

- add some HAVE_XXX checks before including some system header files

- add the same HAVE_XXX in wiretap as in ethereal

Please forgive me, if I break something (I've only compiled and regression
tested on Linux).

svn path=/trunk/; revision=2254
2000-08-11 13:37:21 +00:00
Gilbert Ramirez 8ceb7d40f9 Add the re-write of the NetWare Core Protocol dissector. It's mostly
a framework for the dissector; of the more than 400 NCP packet types, only
a handful are defined. But this dissector framework is much better than
the previous one.

svn path=/trunk/; revision=2173
2000-07-28 20:03:59 +00:00