Commit graph

71 commits

Author SHA1 Message Date
Guy Harris
a8bc4a0d13 Rename the routines that handle dissector tables with unsigned integer
keys to have _uint in their names, to match the routines that handle
dissector tables with string keys.  (Using _port can confuse people into
thinking they're intended solely for use with TCP/UDP/etc. ports when,
in fact, they work better for things such as Ethernet types, where the
binding of particular values to particular protocols are a lot
stronger.)

svn path=/trunk/; revision=35224
2010-12-20 05:35:29 +00:00
Bill Meier
209109c2fd Define some fcns & vars as static ...
svn path=/trunk/; revision=34458
2010-10-10 20:07:06 +00:00
Jeff Morriss
cca3ba3ce2 (Refining the regexp...) Replace blurbs that match the name (case insensitive) with NULL.
svn path=/trunk/; revision=34230
2010-09-24 02:51:40 +00:00
Jeff Morriss
729de1a635 As suggested in http://www.wireshark.org/lists/wireshark-dev/200809/msg00075.html
(as referenced in https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2907 ) and
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3411 :

Write a new convenience routine for finding a conversation and, if it is not
found, create it.  The frame number and addresses are taken from pinfo (as is
the common case).

Use this function in a bunch of dissectors.

svn path=/trunk/; revision=32790
2010-05-13 18:28:34 +00:00
Bill Meier
09764dd969 Remove unneeded #include <stdio.h>
svn path=/trunk/; revision=32367
2010-04-03 21:55:23 +00:00
Stig Bjørlykke
539b558f8c Renamed some reassembled data texts.
Removed some check_col().

svn path=/trunk/; revision=31809
2010-02-06 18:20:21 +00:00
Stig Bjørlykke
88b72356ad Introduce "Reassembled length" filter element for all protocols doing
reassembly.

svn path=/trunk/; revision=31767
2010-02-02 16:01:52 +00:00
Guy Harris
8e236e55de For fields of type FT_ABSOLUTE_TIME, have the "display" value be one of
ABSOLUTE_TIME_LOCAL or ABSOLUTE_TIME_UTC, indicating whether to display
the date/time in local time or UTC. (int)ABSOLUTE_TIME_LOCAL ==
(int)BASE_NONE, so there's no source or binary compatiblity issue,
although we might want to eliminate BASE_NONE at some point and have the
BASE_ values used with integral types start at 0, so that you can't
specify BASE_NONE for an integral field.

svn path=/trunk/; revision=31319
2009-12-19 03:17:44 +00:00
Stig Bjørlykke
1637e69118 No point passing a global pointer as a function argument.
Made check_ndmp_rm() and check_ndmp_hdr() static.

svn path=/trunk/; revision=30686
2009-10-24 16:30:11 +00:00
Stig Bjørlykke
a3750f1ccf From Robert Simac via bug 3470:
Add the missing ndmp v4 messages, namely the:
 NDMP_CONFIG_GET_EXT_LIST
 NDMP_CONFIG_SET_EXT_LIST

This may serve as the 1st step into actual extensions (Snapvault etc)
dissector implementation.

svn path=/trunk/; revision=30684
2009-10-24 15:40:35 +00:00
Kovarththanan Rajaratnam
8b515e9340 Switch a bunch of dissectors over to using tvb_new_subset_remaining()
svn path=/trunk/; revision=29446
2009-08-16 12:36:22 +00:00
Kovarththanan Rajaratnam
ac463d2697 Don't guard col_clear with col_check
svn path=/trunk/; revision=29346
2009-08-09 08:14:59 +00:00
Kovarththanan Rajaratnam
e971354a54 Don't guard col_set_str (COL_PROTOCOL) with col_check
svn path=/trunk/; revision=29340
2009-08-09 06:26:46 +00:00
Bill Meier
ad74edb139 From Chris Costa: Fix Bug 3786: "NDMP fragmentation fails when final fragment is very small".
(See https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3786)

svn path=/trunk/; revision=29236
2009-07-29 20:24:10 +00:00
Bill Meier
dece30a6ce Improve defragmentation:
1. Prevent tcpencap (ipsec-tcp) from incorrectly dissecting NDMP PDU fragments;
    (Essentially: register NDMP as the dissector for the conversation);
   Allows correct NDMP fragment reassembly whether or not the 
    TCP "Try heuristic sub-dissectors first" preference is enabled.
   Fixes Bug #3755 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3755)
2. Use a registered init routine to init the fragment and reassembled tables 
   each time a complete capture dissection is (re)started.
   Fixes a crash.
3. Don't register on TCP port 10000 since the tcpencap dissector needs to own this
   port. (The NDMP dissector is a heuristic dissector).
4. Strengthen the heuristic checking slightly.
5. Other minor changes.

svn path=/trunk/; revision=29208
2009-07-27 21:59:01 +00:00
Guy Harris
bf7462bf97 Set save_fragmented regardless of whether we're reassembling or not, as
we restore it regardless of whether we're reassembling or not.

svn path=/trunk/; revision=28938
2009-07-03 17:12:36 +00:00
Anders Broman
1415c62c68 Fix:
packet-ndmp.c:562: warning: unused parameter 'pinfo'

svn path=/trunk/; revision=28936
2009-07-03 13:05:45 +00:00
Anders Broman
24b17483b7 From Chris Costa:
NDMP fragmentation fix.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3395

svn path=/trunk/; revision=28935
2009-07-03 11:45:42 +00:00
Stig Bjørlykke
b228488bc0 From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
    for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
    FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero

svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
Stig Bjørlykke
1d54e7ad56 Avoid crash when not reassembling multiple TCP segments.
(check for valid pointers, in this case: ndmp_conv_data->task)

This fixes the crash in bug #3470.

svn path=/trunk/; revision=28409
2009-05-19 14:40:23 +00:00
Bill Meier
abc0794cc2 The convention is to use TFS(...) when specifying a true_false_string with an FT_BOOLEAN field;
Also: use the global true_false_string tfs_yes_no  in place of a static local string.

svn path=/trunk/; revision=28321
2009-05-08 22:55:22 +00:00
Jaap Keuter
e7a6583015 From Reinhard Speyerer:
This patch fixes several misspellings/typos in Wireshark SVN revision 28201.

svn path=/trunk/; revision=28217
2009-05-01 07:15:04 +00:00
Anders Broman
90e55db489 From Chris Costa:
Patch for NDMP tape_get_state dissector.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3394

svn path=/trunk/; revision=28018
2009-04-09 05:53:14 +00:00
Stig Bjørlykke
bd08ae7ee6 Fix some "format not a string literal and no format arguments" warnings.
svn path=/trunk/; revision=26647
2008-10-31 15:11:57 +00:00
Ronnie Sahlberg
651d8082c9 add a function to test if a packet is ndmp or not
svn path=/trunk/; revision=23007
2007-09-28 07:25:50 +00:00
Ronnie Sahlberg
1efa9bd6b6 ndmp and tcp encapsulation of esp both use port 10000
make ndmp a heuristic dissector so it will "win" over tcp esp  if the 
packets look like ndmp  and if "preferences/tcp/heuristic dissectors 
first has been 
chosen"



svn path=/trunk/; revision=23006
2007-09-28 07:08:52 +00:00
Stephen Fisher
fa3af74ba7 Fix a warning in packet-bittorrent.c I didn't fix right the first time and try to get the Win32 buildbot going again in packet-ndmp.c.
svn path=/trunk/; revision=21238
2007-03-27 23:33:59 +00:00
Jeff Morriss
62596bffb3 Fix bug 552:
http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=552

by enforcing that header fields have names of length > 0.  This should fix
the display of those fields and also make them filterable (which was the
subject of the bug).  Abbreviations are (still) optional: if they are empty
then the field is not filterable.

Update README.developer with this information.

Add header field names in several dissectors where they were missing.

In packet-arp.c give "packet-storm-detected" a name (as above) but also set it
as _GENERATED.

Also remove trailing white space from all the files checked in.

svn path=/trunk/; revision=21018
2007-03-11 06:16:00 +00:00
Ronnie Sahlberg
2d1bb39121 change the signature for the get_pdu_len() function pointer passed to tcp_dissect_pdus() to also include a packet_info pointer.
there are many reasons why some protocols actually need to be able to access the pinfo structure while determining the pdu size



svn path=/trunk/; revision=19751
2006-10-31 09:29:07 +00:00
Ronnie Sahlberg
2b13206239 set both read/write flags in ndmp scsi and also always set the expected length to whatever length is transported inside the ndmp pdu
this fixes a regression caused by the recent scsi data in/out reassembly code which made the scsi dissector fail to dissect data in/out over ndmp correctly if scsi reassembly was enabled



svn path=/trunk/; revision=19525
2006-10-14 09:18:24 +00:00
Ronnie Sahlberg
8826c144f7 pass the relative data offset of data in/out pdu's to the scsi data in/out dissector (dissect_scsi_payload) so that we can later add reassembly of data pdu's
and also (if reassembly is disabled) only dissect the initial (offset==0) data pdu.

dissect_scsi_payload() does not yet use this parameter.


now that we have both data offset and expected data length/bidir expected data length and also the read/write flags availabe we have what we need to reassemble data in/out pdus    (modulo overflow/underflow  but those are so rare we can worry about them later).


ndmp:   ndmp conceptually always has a data in and a data out phase and never fragment the data into smaller pdu's os that dissector always report offset as 0.





svn path=/trunk/; revision=19511
2006-10-13 09:16:45 +00:00
Ronnie Sahlberg
15d3176063 wireshark does not yet consume enough memory for me to be happy
pass conversation form the transports up to the scsi layer

add tracking of conversation specific info to scsi osd
add tracking of conversation+lun specific info to scsi osd

for scsi osd   add tracking of PARTITIONS and display in which frame they were created/removed



svn path=/trunk/; revision=19505
2006-10-12 10:54:36 +00:00
Ronnie Sahlberg
145d7a0577 add a task_flags bitmap and two lengths (data and bidirectional data)
so that the two scsi transports   FCP and ISCSI can provide the expected data transfer lengths to SCSI  to allow SCSI reassembly.

NDMP does not really need these hints since for NDMP (and also iscsi-lite) there is conceptually always both data in and data out phases and there is never any fragmentation.



svn path=/trunk/; revision=19493
2006-10-11 11:32:56 +00:00
Ronnie Sahlberg
494e873eb0 move the ITL and the ITLQ structure to packet-scsi.h where it belongs
svn path=/trunk/; revision=19492
2006-10-11 10:38:59 +00:00
Ronnie Sahlberg
62290c9cc5 add an extra_data pointer to the itlq structure where specific commandsets/cdbs can hang additional data that are unique to that commandset/cdb
make the scsi osd service action and getsetattributetype use this facility

furhter enhancements to scsi osd


svn path=/trunk/; revision=19374
2006-09-30 04:10:28 +00:00
Ronnie Sahlberg
8ce8e719e0 rename some structures and defines from the se_tree to the emem_tree prefix
svn path=/trunk/; revision=18894
2006-08-14 08:29:29 +00:00
Gerald Combs
1f8334d9e9 Two more bugs from Ilja van Sprundel.
packet-ndmp.c:
  Fix our payload length check.

packet-nfs.c:
  Check for a maximum bitmap length.

Fix up whitespace.

svn path=/trunk/; revision=18699
2006-07-10 19:54:41 +00:00
Ronnie Sahlberg
0e34335c80 from aaron christensen
fix dissection of get_auth_attr



svn path=/trunk/; revision=18619
2006-06-30 07:51:52 +00:00
Ronnie Sahlberg
d8e1827401 allocate the correct size of buffer to store the itlq structure for scsi
we used the wrong size which caused emem to complain that the canary value had been stomped upon.

another win for the canary feature.  thanks gerald


svn path=/trunk/; revision=18491
2006-06-17 08:40:14 +00:00
Ronnie Sahlberg
2849771e3d make ndmp track itl structures
everytime a ndmp_[scsi|tape]_open is seen   create a new itl

we need an itl structure to be able to know what commandset a certain device is using.




svn path=/trunk/; revision=18490
2006-06-17 08:22:03 +00:00
Ronnie Sahlberg
feab79e328 change a whole bunch of ethereal into wireshark
svn path=/trunk/; revision=18196
2006-05-21 04:49:01 +00:00
Michael Tüxen
3365271c04 Make top_tree static. This allows ethereal to be built on Mac OS X.
svn path=/trunk/; revision=18113
2006-05-09 10:20:28 +00:00
Ronnie Sahlberg
dd40edccd9 use request/response tracking structure from NDMP and hang a scsi itlq nexus off it so that cdb/datain/dataout/response tracking for scsi forks also for the ndmp transport.
svn path=/trunk/; revision=18105
2006-05-08 09:20:34 +00:00
Ronnie Sahlberg
ad8137903a add tracking of request/response and responsetime to ndmp
we need this in order to be able to provide proper itlq structures to the scsi dissector   so that response data from scsi is dissected properly.



svn path=/trunk/; revision=18104
2006-05-08 08:21:36 +00:00
Ronnie Sahlberg
1df4fecef5 add tracking of ndmp conversations and use this to track the version used if we have seen the CONNECT_OPEN request.
rename the preference to DEFAULT protocol version   to indicate it is only used for those conversation where we have not automatically detected the version used.




svn path=/trunk/; revision=18003
2006-04-26 09:40:49 +00:00
Ronnie Sahlberg
59f9aa6a8c NOTIFY_[DATA|MOVER]_HALTED requests no longer take an XDR string containing the reason for version 4 of ndmp and forward.
svn path=/trunk/; revision=18002
2006-04-26 07:58:45 +00:00
Ronnie Sahlberg
acbaf3fe1f change the signature for dissect_scsi_snsinfo() to take itlq and itl structures
update the comment in packet-scsi.c   to reflect that it is the transport now that is responsible to track itl and itlq data

make scsi tapable

svn path=/trunk/; revision=17974
2006-04-24 08:16:18 +00:00
Ronnie Sahlberg
e776696d14 the scsi transports (fc/fcp and iscsi) now track both itl and itlq
structures for scsi.

we no longer need the scsi_task_id structure passed by pinfo->private_data   so get rid of it.

we no longer need the (broken by design) scsi_task_data   hash table   since this has been replaced byt hte itl and itlq structures and tracking




svn path=/trunk/; revision=17952
2006-04-22 02:16:52 +00:00
Ronnie Sahlberg
73e65216bc remover the lun parameter from dissect_scsi_cdb/payload since this is now part of the exchange data in itlq
remove the two fields opcode and devtype from the scsi_task_data structure since these are also part of the itlq and itl structures



svn path=/trunk/; revision=17949
2006-04-21 22:00:38 +00:00
Ronnie Sahlberg
60e65f4869 updates to get the fc and scsi dissectors
and get rid of some breakage in the design


let the scsi transport keep track of itl (initiator, target, lun) matching
and let it pass a itl structure to scsi   that is persistent across packets.

let scsi use this itl structure to track device type for a specific itl instead of the (must have been) broken hashtable.

update both iscsi and fc to track the itl structure for scsi and schange the scsi signature to accept itl as a parameter.


more to come.



svn path=/trunk/; revision=17942
2006-04-21 11:08:24 +00:00