Commit Graph

25 Commits

Author SHA1 Message Date
Evan Huus c6c7efd1a7 From Max Baker via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8431
Add a few member variables to the USB conversation structure, necessary
for a USB PTP dissector.

svn path=/trunk/; revision=48184
2013-03-07 23:57:43 +00:00
Evan Huus 0e67f0c7a1 From Steve Magnani via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8338
Centralize logic related to per-interface conversations, and expose it for use
by class-specific dissectors.

Class-specific descriptor dissectors also need to know the interface in whose
context they are called to work.

This is a prerequisite for a USB Video Class dissector, which needs to decode
many class-specific descriptors.

svn path=/trunk/; revision=47990
2013-03-01 22:57:13 +00:00
Evan Huus ebe0005840 From Steve Magnani via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8264
Improve handling of truncated USB Configuration descriptors.

In contrast to other descriptor types, configuration descriptors have varying
lengths and may be quite long. This makes them much more prone to truncation
by a host that is cautious about reading large descriptors.

A real-world case has arisen where a host requests a partial configuration
descriptor of a USB webcam, and wireshark improperly reports that the response
is malformed.

Change configuration descriptor dissection to distinguish between truncation
induced by the host, which is not an error, and descriptor truncation or
reporting of invalid descriptor lengths by the device, which are.

This patch also relieves class-specific dissectors of the burden of checking
that the descriptor length and type fields are available, and that all the
bytes claimed by the descriptor length are also available.

svn path=/trunk/; revision=47676
2013-02-15 17:32:34 +00:00
Anders Broman 21abe5567c From Michal Labedzki:
USB: Add support for vendor_id/product_id,
 bus_id/device_address and class/subclass/protocol
 tables

USB subdissectors can be decoded by class/subclass/protocol. If fail try vendor_id/product_id.
bus_id/device_address is intented to use by DecodeBy, so user can decode specified device as need.

Part of:
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5032

svn path=/trunk/; revision=46283
2012-11-29 13:59:36 +00:00
Anders Broman a8b7b8b86c From Michal Labedzki:
USB: Update some descriptions found in USB 3.0
 specification

Part of:
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5032

svn path=/trunk/; revision=46279
2012-11-29 13:29:50 +00:00
Jakub Zawadzki bf81b42e1e Update Free Software Foundation address.
(COPYING will be updated in next commit)

svn path=/trunk/; revision=43536
2012-06-28 22:56:06 +00:00
Anders Broman 3b0c9892a0 From Steve Magnani:
Add decoding of fields within endpoint descriptor wMaxPacketSize

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7206

svn path=/trunk/; revision=42286
2012-04-27 08:44:36 +00:00
Anders Broman b971f1b1a0 From Steve Magnani:
USB: incorrect generated bInterfaceClass for composite device CONTROL transactions.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6964

svn path=/trunk/; revision=41715
2012-03-21 08:40:19 +00:00
Jeff Morriss 7bc574b776 From Steve Magnani via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6963 :
Conversation address generation during processing of endpoint descriptors
is not being done in a manner consistent with that of general USB
packet dissection. I am not aware of any observable manifestation of this
bug.

svn path=/trunk/; revision=41634
2012-03-17 23:46:39 +00:00
Anders Broman f030f799bd From Steve Magnani: USB: centralize some common dissection code for class reuse. https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6930
svn path=/trunk/; revision=41458
2012-03-10 16:09:28 +00:00
Anders Broman c36b0f1b03 From Steve Magnani:
USB: add infrastructure for dissecting class-specific descriptors.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6825

svn path=/trunk/; revision=40979
2012-02-12 07:18:05 +00:00
Guy Harris 149ccb3b68 Attempt to handle isochronous descriptors between the 64-byte header and
the payload.  Should fix bug 4401.

svn path=/trunk/; revision=32828
2010-05-16 03:19:40 +00:00
Guy Harris 21a210b777 From Chris Maynard:
Support PPP-over-USB.

	Don't remove the USB pseudo-header from the packet data for
	Linux USB packets, just byte-swap it if necessary and have the
	USB dissector fetch the pseudo-header from the raw packet data.

	Update USB language ID values.

svn path=/trunk/; revision=32534
2010-04-21 20:51:22 +00:00
Stig Bjørlykke 373fff9846 From Marton Nemeth via bug 4173:
Move bmRequestType field constants to header file.

svn path=/trunk/; revision=30761
2009-10-29 21:32:21 +00:00
Ronnie Sahlberg 09814fac51 From a Jon Smirl patch
rename the conversation field "class" to "interfaceClass"


svn path=/trunk/; revision=21194
2007-03-25 23:51:40 +00:00
Ronnie Sahlberg 747b009566 From Jon Smirl
change the private data pointer name from  masstorage to class_data
since there will be future class specific dissectors that will also want to hang
some extra data off these structures



svn path=/trunk/; revision=21193
2007-03-25 22:53:35 +00:00
Ronnie Sahlberg ab407b08cf Change USB address structure back to 8 bytes in length.
It is suboptimal to have the endpoint both being the "port" and also 4 bytes out of the address.
But it looks better to have addresses as <device>.<endpoint> .


svn path=/trunk/; revision=21177
2007-03-25 11:15:09 +00:00
Ronnie Sahlberg 1053745b1c create a tap for usb so that we can do conversation/host lists
svn path=/trunk/; revision=21176
2007-03-25 09:55:49 +00:00
Ronnie Sahlberg 3689e6f460 unbreaking the usb dissector
since dlt189 was introduced   the dissector has been suboptimal


assuming the capture   usb_memory_stick.pcap on the wiki shows what this linktype
should look like, this patch
- adds request in/response in/time  generated fields to the dissect pane
- fixes the tracking of what is a request and what is a response (the old code just can not have worked!)
- fixes conversation tracking to work (dont add the port/endpoint into the length of the address)
- handles some mysterious extra 8 bytes prepended to a lot of different packets.



svn path=/trunk/; revision=21173
2007-03-25 05:20:56 +00:00
Jörg Mayer 6f7089fe26 Commit my USB changes (change address handling)
svn path=/trunk/; revision=20346
2007-01-08 14:32:10 +00:00
Ronnie Sahlberg 6a745262b4 from albert chin
The Solaris C compiler, among others, do not allow anonymous unions.
Patch attached.



thanks albert


svn path=/trunk/; revision=19852
2006-11-07 08:33:24 +00:00
Ronnie Sahlberg 34d319370e update the list of defined application classes and list all the official ones from www.usb.org
svn path=/trunk/; revision=19766
2006-11-01 09:54:48 +00:00
Ronnie Sahlberg ac67085436 add a dissector table for class specific control input/output pdus
implement class specific control commands : reset and getmaxlun for mass storage


now with a better understanding of the problem space for usb and device classes we can start cleaning the code up and make it nice



svn path=/trunk/; revision=19659
2006-10-22 11:49:23 +00:00
Ronnie Sahlberg 232e884ca1 new dissector : usb mass storage
this is a wrapper protocol to store SCSI frames inside usb bulk data transfers

the dissector is far from complete but does
track ITL and ITLQ structures and will also call the SCSI dissector to 
dissect the SCSI CDB.


what is still missing is handling of data in/out and scsi responses


at least it will now display the SCSI CDB and dissect it. woohoo



svn path=/trunk/; revision=19589
2006-10-18 11:24:03 +00:00
Ronnie Sahlberg df75f29284 move some defines to packet-usb.h so that they can be shared with other dissectors
svn path=/trunk/; revision=19587
2006-10-18 09:10:14 +00:00