call the scsi response dissector as well
(so that eventually we can do things like SRT for SCSI)
it doesnt work yet since fcp is using some incredibly broken logic to
track state between frames.
the cdata stuff can just not ever work exscept for single scan tethereal dissection.
is there noone at all looking at these protocols wioth ethereal?
has noone noticed it is completely broken yet?
sigh, soon i think i will be able to add the originally estimated trivial to implement SCSI SRT
svn path=/trunk/; revision=17811
add dissection of two additional bits and the respdataformat bitvield
add booleans for the filter fields
make all the fields filterable
svn path=/trunk/; revision=17787
instead of the allocation length from the data pdu since sometimes the datapdu will be completely empty and thus we cant extract it from the data pdu.
(unclear if this is really allowed by scsi but anyway)
this should make the scsi transfer length checking more correct.
update mmc getconfiguration and spc inquiry to use these macros
and flag these packets that are short due to a too small alloc_len
as truncated due to scsi and not being short/malformed packets.
at the same time, get rid of a few horrible offset+x in the inquiry dissector and replace with proper offset incrementation instead.
svn path=/trunk/; revision=17784
(report luns with allocation length 8 for example)
Therefore it is a bit wrong to mark these packets as [malformed packets]
Since they are truncated by scsi and this is NOTY an error condition.
Add a new exception type : ScsiBoundsError
If this exception is caught by packet-frame, then print an appropriate message
instead of [malformed packet]
For SCSI, add helper macros TRY_SCSI_SHORT_PACKET and END_...
If the packet was not short in the normal sense (snaplen < packetlen) then intercept the exception for BoundsError and rethrow it as ScsiBoundsError instead.
svn path=/trunk/; revision=17611
added another command preventallowmediaremoval besides those 3.
> enhanced packet-scsi.c a bit to decode 3 more scsi commands
>
> getperformance
> setcdspeed
> readdiscstructure.
svn path=/trunk/; revision=17610
Update on dissector packet-scsi
* modepage processing for MMC
* support cmd Get Event Status Notification
* support cmd start stop unit for mmc
svn path=/trunk/; revision=17484
Updated dissector packet-scsi to
* decode the device configuration mode page;
* decode the request sense response;
* fix a wrong lens print in several writeX(). this happens when one packet contains several iscsi pdu. one write data pdu will be explained as request with LEN extracted (but it is not a cdb so it was wrong).
* split the dissect_scsi_snsinfo() into 2 parts so the sense data decode part can be a subroutine shared by requestsense() and maybe more places.
svn path=/trunk/; revision=17460
Support some new messages and fix a couple of bugs.
packet-fc.h - Added a #define for a Cisco MDS-specific frame called OHMS (online health mgmt srv) packet-fc.c - Support for OHMS frame, fixed an incorrect "malformed frame" error caused on ACK1 frames (they
don't contain anything but (encap hdr + FC hdr + encap trailer), fixed incorrect detection of
last-data-frame
packet-fcct.h - Support for new service type, "Fabric Controller", used in conjunction with FC-SW3 ESS message,
exported the service name value string definitions and
packet-fcct.c - Support for recognizing "Fabric Controller" service type and "vendor-specific" service
packet-fcswils.h - Support for ESS & MRRA messages, defined as part of FC-SW3 packet-fcswils.c - Support for ESS & MRRA messages, defined as part of FC-SW3
packet-scsi.c - Support for Verify and Write&Verify SBC commands.
svn path=/trunk/; revision=15799
add 4 commands from SMC to the SSC tables.
the fallback for missing commands/i.e. commands defined outside the SSC
only handles SPC I.e. If a command for SSC is missing in the SSC tables, assume it might be imported from SPC instead.
This fallback only works with opcodes imported from SPC.
svn path=/trunk/; revision=15345
Use "tvb_format_text()" and friends to format strings for display.
Don't throw an exception on errors if we can keep dissecting.
Use "PROTO_ITEM_SET_GENERATED()" to mark items as generated.
If an item covers real data, it's not generated.
Dissect WRITE FILEMARKS (6) (we already had a dissector, but it wasn't
being used).
svn path=/trunk/; revision=15341
These GMemChunks are used here because :
1, GMemChunks are cheap to allocate and cheap to free
2, We always unconditionally free the entire chunk When and only when we load a new capture.
==>
se_alloc() does exactly the same thing but with significantly less code
==>
se_alloc() is a much better fit to out allocation requirements and useage than GMemChunks
svn path=/trunk/; revision=15303
a dissector bug. This keeps buildbot from opening unnecessary bugs
during fuzz testing.
When we create a new scsi_task_data_t struct make sure all of its
members are initialized.
svn path=/trunk/; revision=15278
might be irrelevant in this case, but we might as well not throw them
out.
Clean up some code that sets "cdata->flags".
svn path=/trunk/; revision=15149
add a "match_strval_idx()" routine that does the same thing, and have
"match_strval()" call it.
Make those routines, and "val_to_str()", return a "const" pointer.
Update dissectors as necessary to squelch compiler warnings produced by
that.
Use "val_to_str()" rather than using "match_strval()" and then, if the
result is null, substituting a specific string. Clean up some other
"match_strval()"/"val_to_str()" usages.
Add a null pointer check in the NDPS dissector's "attribute_value()"
routine, as it's not clear that "global_attribute_name" won't be null at
that point.
Make some global variables in the AFS4INT dissector local.
Make some routines not used outside the module they're in static.
Make some tables "static const".
Clean up white space.
Fix Gerald's address in some files.
svn path=/trunk/; revision=14786