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
col_clear.diff
Remove calls to col_clear :
- called twice.
- before functions which also clear the column
- by replacing col_clear + col_append_xxx with col_add_xxx
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4394
svn path=/trunk/; revision=31517
Here is a patch against SVN that implements preliminary support for USB HID
devices. At the moment it only dissects the initial set up packets (which you
will see if you hotplug a keyboard or mouse.)
The patch also fixes a minor bug in the USB dissector code which reported
certain packets as malformed due to miscounting bytes, and it reports control
packet data and padding data in a more user-friendly manner.
svn path=/trunk/; revision=29256
(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
- Removed heuristic for find if is_request and used event_type
- URB_INTERRUPT don't goes in reverse direction... fixed
svn path=/trunk/; revision=28477
so that if they're cut short, they appear to be the length of the
remaining data in the packet, rather than zero-length.
svn path=/trunk/; revision=27049
the Linux USB capture mechanism, there are always 8 bytes of setup
header after the URB, regardless of whether there's a setup header or
not; if there is no setup header, we just skip those 8 bytes.
Don't skip them *twice*, however.
svn path=/trunk/; revision=27046
Provide dissectors for most other setup packets. (Still some more work
needed on them.)
Show descriptor types as decimal, as they are in the USB 2.0 spec.
svn path=/trunk/; revision=27036
put them into the setup_request_names_vals value_string.
When processing a response, use the request type value, so we only
dissect standard replies when it's a reply to a standard request.
Display the bRequest value in decimal, as that's how they're specified
in the USB 2.0 spec.
svn path=/trunk/; revision=27033
Have setup dissectors return the offset past the end of what they
dissect, and have their caller set its offset based on that.
Use tvb_reported_length_remaining(), not tvb_length_remaining(), to
decide whether there's more data, so that we throw an exception if the
packet was cut short by a snapshot length.
Add "Application Data" only if there's extra data to be added.
svn path=/trunk/; revision=27020
data; at best, that can be a bit confusing, and, at worst, if the field
isn't long enough, or the offset is wrong, it can cause an exception to
be thrown and the dissection to fail.
svn path=/trunk/; revision=26868
When an ISOCHRONOUS URB was captured the packet-usb.c does not handle it.
Case URB_ISOCHRONOUS was added at two different places to handle it also.
svn path=/trunk/; revision=23817
- 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
svn path=/trunk/; revision=23252
add defines for data direction (which direction in/out is data being transferred for this particylar request/response pair)
and a mask for which bits of the byte contains the type.
svn path=/trunk/; revision=21207
Charles Lepple
This patch enables packet-usb.c to display all descriptors in the GET
CONFIGURATION request, regardless of whether we know how to decode
them. (All descriptors in that request share the same first two
bytes.)
It also adds the HID descriptor type (not the report descriptor,
though - that is buried in a class request, not a device request). I
am still working on actually decoding this descriptor.
svn path=/trunk/; revision=21197
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
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
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
Modified to support the header as a pseudo_header rather than as part of
the packet data.
Fixed some calls that fetch data from the USB packet to fetch it in
little-endian byte order.
Got rid of redundant code to get conversation-specific data (the
get_usb_conv_info() call already does that).
For control packets, only parse the setup information if setup_flag is
0.
Don't interpret a control packet as a standard request unless the setup
type is "Standard".
svn path=/trunk/; revision=20632
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