aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-iscsi.c
AgeCommit message (Collapse)AuthorFilesLines
2009-08-21Sanitize epan includeskrj1-1/+1
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@29499 f5534014-38df-0310-8fa8-9805f1628bb7
2009-08-09Don't guard col_set_str (COL_PROTOCOL) with col_checkkrj1-2/+1
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@29340 f5534014-38df-0310-8fa8-9805f1628bb7
2009-06-18From Kovarththanan Rajaratnam via bug 3548:stig1-22/+22
(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 git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@28770 f5534014-38df-0310-8fa8-9805f1628bb7
2009-05-14Apply some of the patches from:etxrab1-3/+1
http://wiki.wireshark.org/Development/Optimization git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@28363 f5534014-38df-0310-8fa8-9805f1628bb7
2008-07-30From didier:etxrab1-4/+14
Wireshark doesn't parse iSCSI PDUs that their header spans multiple TCP segments git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@25873 f5534014-38df-0310-8fa8-9805f1628bb7
2008-06-18Fix for bug 2616:jake1-1/+2
According to RFC 3720 the login command doesn't require either T or C, just (C => !T) git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@25470 f5534014-38df-0310-8fa8-9805f1628bb7
2008-04-12From Philip Frey (bug 2420):stig1-114/+4
Merge of the CRC32C calculation out of packet-iscsi.c and packet-sctp.c into the already existing crc32.c and crc32.h files. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@24930 f5534014-38df-0310-8fa8-9805f1628bb7
2008-02-07Removed even more "statement not reached" warnings.stig1-1/+0
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@24286 f5534014-38df-0310-8fa8-9805f1628bb7
2007-10-23Apply the small performance enhancment patches for:etxrab1-1/+1
- if offset is 0, tvb_length is the same as tvb_length_remaining, just faster. Replace - col_append_fstr() with faster col_append_str() - col_add_str() with col_set_str() when it's safe git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@23252 f5534014-38df-0310-8fa8-9805f1628bb7
2007-03-28Remove almost all of the casts I committed recently and in place ofsfisher1-3/+3
them, add -Wno-pointer-sign to CFLAGS when gcc will accept it. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21253 f5534014-38df-0310-8fa8-9805f1628bb7
2007-03-27Fix about 100 simple to fix warnings from gcc 4.0 in epan/dissectors sfisher1-3/+3
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21233 f5534014-38df-0310-8fa8-9805f1628bb7
2007-03-23fix a lot more warningsulfl1-2/+2
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21142 f5534014-38df-0310-8fa8-9805f1628bb7
2007-01-23if DataSegmentLength is non zero for iscsi async messages the data segment ↵sahlberg1-5/+36
contains scsi sense information potentially followed by iscsi event data. this is used by a target to tell an initiator (among other things) that the lun configuration has changed and now is a good time to rescan the target for lun changes. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20531 f5534014-38df-0310-8fa8-9805f1628bb7
2006-12-07strengthen the heuristics for iscsi commandis assuming that the last 6 ↵sahlberg1-0/+4
bytes of the 8 byte LUN blob are always 0. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20058 f5534014-38df-0310-8fa8-9805f1628bb7
2006-10-13pass the relative data offset of data in/out pdu's to the scsi data in/out ↵sahlberg1-2/+9
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@19511 f5534014-38df-0310-8fa8-9805f1628bb7
2006-10-12wireshark does not yet consume enough memory for me to be happysahlberg1-2/+3
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 git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@19505 f5534014-38df-0310-8fa8-9805f1628bb7
2006-10-11add a task_flags bitmap and two lengths (data and bidirectional data)sahlberg1-0/+12
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@19493 f5534014-38df-0310-8fa8-9805f1628bb7
2006-10-11move the ITL and the ITLQ structure to packet-scsi.h where it belongssahlberg1-1/+0
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@19492 f5534014-38df-0310-8fa8-9805f1628bb7
2006-10-08scsi: unusual scsi protocols can request multiple AHS fields for iscsi so ↵sahlberg1-22/+68
decode the AHS properly instead of assuming at most one field is present scsi-osd add dissection of LIST data pdus and CREATE cdb git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@19449 f5534014-38df-0310-8fa8-9805f1628bb7
2006-09-30fix for header digest detection being broken when AHS is used.sahlberg1-4/+6
we simply forgot to account for the AHS when testing to calculate the crc git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@19389 f5534014-38df-0310-8fa8-9805f1628bb7
2006-09-30the ahs length inside the AHS for an extended cdb includes the reserved byte ↵sahlberg1-4/+4
before the start of cdb data account for this extra reserved byte in the ahs length so that the reconstructed cdb has the correct length and does not contain one extra byte at the end git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@19387 f5534014-38df-0310-8fa8-9805f1628bb7
2006-09-30scsi osd updatessahlberg1-5/+53
iscsi: when iscsi transfers a cdb that is alrger than 16 bytes, the first 16 bytes are transferred in the normal place in the header and ther remainder of the cdb is transported inside the AHS. reassemble these cdb into a proper tvb before passing it to the scsi dissector git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@19376 f5534014-38df-0310-8fa8-9805f1628bb7
2006-09-30add an extra_data pointer to the itlq structure where specific ↵sahlberg1-0/+1
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 git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@19374 f5534014-38df-0310-8fa8-9805f1628bb7
2006-09-30scsi opcode 0x7f is variable length so dont clamp the cdb length to 16 bytessahlberg1-4/+11
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@19373 f5534014-38df-0310-8fa8-9805f1628bb7
2006-09-29add a missing heuristic to acept a NOP_IN packet and correct a broken ↵sahlberg1-4/+18
heuristic that would refuse all NOP_OUT pdus as non-iscsi it is absolutely amazing that none of the iscsi implementors and users of wireshark had noticed this breakage and reported it. they apparently do not use wireshark. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@19362 f5534014-38df-0310-8fa8-9805f1628bb7
2006-08-14rename some structures and defines from the se_tree to the emem_tree prefixsahlberg1-4/+4
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@18894 f5534014-38df-0310-8fa8-9805f1628bb7
2006-06-20for iscsi traces where there is a lot of packetloss the dissector frequently ↵sahlberg1-5/+511
gets out of sync and the weak heuristics often cause wireshark to mistake some segment containing read/write data to be iscsi. make the heuristics to check that a packet really is iscsi much stronger git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@18523 f5534014-38df-0310-8fa8-9805f1628bb7
2006-05-21change a whole bunch of ethereal into wiresharksahlberg1-3/+3
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@18196 f5534014-38df-0310-8fa8-9805f1628bb7
2006-04-24change the signature for dissect_scsi_snsinfo() to take itlq and itl structuressahlberg1-1/+1
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 git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@17974 f5534014-38df-0310-8fa8-9805f1628bb7
2006-04-22the scsi transports (fc/fcp and iscsi) now track both itl and itlqsahlberg1-15/+2
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 git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@17952 f5534014-38df-0310-8fa8-9805f1628bb7
2006-04-21remover the lun parameter from dissect_scsi_cdb/payload since this is now ↵sahlberg1-3/+3
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 git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@17949 f5534014-38df-0310-8fa8-9805f1628bb7
2006-04-21updates to get the fc and scsi dissectorssahlberg1-9/+26
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@17942 f5534014-38df-0310-8fa8-9805f1628bb7
2006-04-20rename hte itlq structures to itlqsahlberg1-30/+30
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@17922 f5534014-38df-0310-8fa8-9805f1628bb7
2006-04-20rename the fc_exchange_data structure to the more appropriate itlq_nexus_tsahlberg1-1/+1
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@17921 f5534014-38df-0310-8fa8-9805f1628bb7
2006-04-07make dissect_scsi_rsp() take an exchange structure as parameter instead of ↵sahlberg1-95/+88
just a lun. this finally allows us to have scsi.time for scsi transactions but we need to cleanup and refactor the other three scsi entrypoints before we should implement scsi srt to make the other three also take an exchange data structure as parameter from their transports (and get rid of the pinfo->private_data ) git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@17838 f5534014-38df-0310-8fa8-9805f1628bb7
2006-04-06change iscsi to track transaction data in a fc_exchange_data structure ↵sahlberg1-29/+29
just as the fc / fcp transport does. while reusing this structure for multi-purpose would make it berret suited to move the struct from packet-fc.h to packet-scsi.h we would have to include packet-scsi.h for everyone that includes packet-fc.h and that are a few dependencies. (would have to include it even in packet-llc.c) so leave it as a fc structure for now. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@17833 f5534014-38df-0310-8fa8-9805f1628bb7
2006-04-06remove the hashtables for pdu tracking and replace with an se_treesahlberg1-162/+17
indexed by itt git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@17832 f5534014-38df-0310-8fa8-9805f1628bb7
2006-04-06attach the iscsi_session to the conversation instead of using a hashtable to ↵sahlberg1-49/+19
map conversation to iscsi_session. use the pointer to iscsi_Session as conversation index for the exchange tracking for now, it works just as well and will be replaced with better exchange tracking shortly anyway git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@17831 f5534014-38df-0310-8fa8-9805f1628bb7
2006-04-06get rid of a field we are not usingsahlberg1-1/+0
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@17830 f5534014-38df-0310-8fa8-9805f1628bb7
2006-03-02Fix for bug 783 from Didier Gautheronjake1-1/+1
I know nothing about iscsi , but try the attached patch. It fix the wrong desegmentation and the ethereal bug isn't triggered anymore. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@17445 f5534014-38df-0310-8fa8-9805f1628bb7
2005-08-24EVERYTHING IN THE BUILDBOT IS GOING TO BE RED!!! Sorry! ulfl1-16/+3
I've done more than a day to change the timestamp resolution from microseconds to nanoseconds. As I really don't want to loose those changes, I'm going to check in the changes I've done so far. Hopefully someone else will give me a helping hand with the things left ... What's done: I've changed the timestamp resolution from usec to nsec in almost any place in the sources. I've changed parts of the implementation in nstime.s/.h and a lot of places elsewhere. As I don't understand the editcap source (well, I'm maybe just too tired right now), hopefully someone else might be able to fix this soon. Doing all those changes, we get native nanosecond timestamp resolution in Ethereal. After fixing all the remaining issues, I'll take a look how to display this in a convenient way... As I've also changed the wiretap timestamp resolution from usec to nsec we might want to change the wiretap version number... git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15520 f5534014-38df-0310-8fa8-9805f1628bb7
2005-08-12more gmemchunk -> se_alloc() improvementssahlberg1-22/+4
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15321 f5534014-38df-0310-8fa8-9805f1628bb7
2005-08-11Fix for bug 342sahlberg1-0/+9
If we encounter a frame we have already seen (i.e. visited==1) but we can not fing the ISCSI command inside the _matched table, this just means there were no response pdu nor any data pdu with the S bit set. So, then just pick the cdata structure up from the _unmatched table instead. The SCSI CDB dissector really really want a real CDATA structure passed to it. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15291 f5534014-38df-0310-8fa8-9805f1628bb7
2005-07-26From Maynard, Chris :etxrab1-1/+1
The attached patches, generated via svn diff , correct various compiler & lint warnings, among them: lemon.c(2582) : warning C4090: '=' : different 'const' qualifiers packet-ber.c(212) : warning C4018: '<=' : signed/unsigned mismatch packet-ber.c(228) : warning C4018: '>=' : signed/unsigned mismatch packet-bootp.c(2112) : warning C4018: '<' : signed/unsigned mismatch packet-iscsi.c(801) : warning C4018: '>=' : signed/unsigned mismatch git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@15085 f5534014-38df-0310-8fa8-9805f1628bb7
2005-07-09Squelch various signed vs. unsigned warnings by:guy1-1/+1
making pointers to byte data be "guint8 *" rather than "char *", and making buffers holding byte data arrays of "guint8" rather than arrays of "char"; making pointers to text strings "char *" rather than "guchar *"; appropriately casting pointers (cast to "guint8 *" when passing to routines expecting "guint8 *" or when assigning to "guint8 *"); making port-number preferences "guint"; making enum preferences "gint"; making hf_ variables "int". Clean up white space. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@14884 f5534014-38df-0310-8fa8-9805f1628bb7
2005-06-10just to get things straight: a dissector should *never* do any g_assert() calls!ulfl1-1/+1
in a simple approach, I've replaced all g_assert() and g_assert_not_reached() calls by their exception throwing counterparts DISSECTOR_ASSERT() and DISSECTOR_ASSERT_NOT_REACHED() this will replace application crash by showing a dissector bug, which is the desired behaviour there were some g_assert calls in the protocol registering functions, which might not be acting as expected now, but to be able to simply search for g_assert in the future I've replaced that calls too one g_assert remained, the one when someone throws an unknown exception "into" packet_frame.c, but IMHO this one should remain. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@14608 f5534014-38df-0310-8fa8-9805f1628bb7
2005-05-29remove offset and len from the signature of dissect_scsi_payload()sahlberg1-4/+2
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@14473 f5534014-38df-0310-8fa8-9805f1628bb7
2005-05-29make all callers of dissect_scsi_cdb() first create a new subset tvbsahlberg1-2/+1
change the signature for dissect_scsi_cdb since we no longer need to pass offset over. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@14472 f5534014-38df-0310-8fa8-9805f1628bb7
2005-05-29create a subset tvb before calling off to the SCSI dissectorsahlberg1-10/+47
so that the right part of the hexpane is highlighted when one clicks on an nondissected data line git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@14471 f5534014-38df-0310-8fa8-9805f1628bb7
2005-05-29update iscsi so that when we have ImmediateData we also call SCSI to decode the sahlberg1-0/+15
payload (DATAOUT) and not just the scsi CDB. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@14469 f5534014-38df-0310-8fa8-9805f1628bb7