Commit graph

75 commits

Author SHA1 Message Date
Michal Labedzki
164af0050d Bluetooth: Complete sessions
Some interfaces support multiple Bluetooth adapters with events like
add/remove. We must support that to distinquish adapters streams
in case that new adapter has the same id that old one.

Next one is create session for "Connection Handle", so
next layer will now when it is connected and disconnected.
This is also used to distinguish streams.

Change-Id: I9e062c8e4cc9c033b75f1a596e8351a215169843
Reviewed-on: https://code.wireshark.org/review/2548
Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
2014-06-22 16:56:31 +00:00
Michael Mann
14824e6adf Revert "Fixup: tvb_* -> tvb_captured"
https://www.wireshark.org/lists/wireshark-dev/201406/msg00131.html

This reverts commit 246fe2ca4c.

Change-Id: Ib24bae0198c13a84bd7f731bf4af921212109a8f
Reviewed-on: https://code.wireshark.org/review/2430
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-06-19 18:25:59 +00:00
Dario Lombardo
246fe2ca4c Fixup: tvb_* -> tvb_captured
Change-Id: I9209c1271967405c34c1b6fa43e1726a4d3a5a3f
Reviewed-on: https://code.wireshark.org/review/2377
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-18 14:14:58 +00:00
Dario Lombardo
971ffd683e Fixup: tvb_get_string(z) -> tvb_get_string(z)_enc
Change-Id: I63a3704effe3fcab01a193dc39b6a22e9f1cf3fe
Reviewed-on: https://code.wireshark.org/review/2376
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-18 14:13:58 +00:00
Michael Mann
73217d9f3f tvb_new_subset -> tvb_new_subset_length when length parameters are equal.
tvb_new_subset -> tvb_new_subset_remaining it appears that's what the intention is.

Change-Id: I2334bbf3f10475b3c22391392fc8b6864454de2d
Reviewed-on: https://code.wireshark.org/review/1999
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-06-07 15:41:07 +00:00
Michal Labedzki
fc2be9eac4 Bluetooth: HCI_EVT: Fix empty advertising data
LE Advertising Report with length 0 is valid, so check
it before dissecting adverising data.

Change-Id: I4937ec2de5d703b05c6e5f5bac7f81d153e49b40
Reviewed-on: https://code.wireshark.org/review/475
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-06 22:03:16 +00:00
Alexis La Goutte
296591399f Remove all $Id$ from top of file
(Using sed : sed -i '/^ \* \$Id\$/,+1 d')

Fix manually some typo (in export_object_dicom.c and crc16-plain.c)

Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8
Reviewed-on: https://code.wireshark.org/review/497
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-04 14:27:33 +00:00
Michael Mann
11a61d757d Bluetooth/Ubertooth improvements. Bug 9606 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9606)
From Michal Labedzki

1. Bluetooth: Implement the rest of fields in Low Energy Link Layer dissector
2. Bluetooth: Merge all UUIDs together
3. Bluetooth: Extract LE Channel MAP to separate dissector
4. Ubertooth: Dissect CC2400 registers

svn path=/trunk/; revision=54700
2014-01-12 02:29:51 +00:00
Michael Mann
c071a1c728 Bluetooth/Ubertooth improvements. Bug 9606 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9606)
From Michal Labedski

1. add support for new btsnoop "format" introduced by BlueZ team in "btmon" tool
2. Bluetooth: Make EIR, AD and COD more generic
3. Bluetooth: HCI/LL: Update Error Codes to Core 4.1  Specification
4. Ubertooth: Fix response command handling
5. Ubertooth: Update to support firmware version
6. Ubertooth: Dissect by Vendor Id/Product Id

svn path=/trunk/; revision=54699
2014-01-12 00:50:41 +00:00
Michael Mann
cc5543f824 Bluetooth enhancements. Bug 9446 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9446)
Bluetooth: SCO: Add Source/Destination addresses 
Bluetooth: HCRP: Use information from SDP to decoding PSM payload

From Michal Labedzki

svn path=/trunk/; revision=53816
2013-12-07 01:01:31 +00:00
Chris Maynard
b5e3775535 eject the packet if data is NULL without doing anything else.
svn path=/trunk/; revision=53733
2013-12-02 21:13:29 +00:00
Michael Mann
8dab82556c Bluetooth improvements. Bug 9446 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9446)
From Michal Labedzki.

1. Bluetooth: HFP: Fix recognizing roles. There is need to check which side SDP record is, then it is possible to recognize roles.
2. Bluetooth: RFCOMM/HFP: Fix recognizing services and roles. Direction bit means only that device is initiator of connection or not. But need information who is owner of connection (remote device or localhost), so use this information from L2CAP.
3. Bluetooth: HFP: Fix unexpected expert info
4. Bluetooth: HCI: Set addresses to host/controller. Also optimize a little handing of dissectors handles.

svn path=/trunk/; revision=53628
2013-11-28 18:11:02 +00:00
Bill Meier
21c772c7ed Create/use an extended value_string;
Use 'offset += 1' instead of 'offset++' for consistency;
Replace 32767 (as a mask) with 0x7FFF for clarity;
Remove some unneeded boilerplate comments;
Do whitespace changes.


svn path=/trunk/; revision=53577
2013-11-25 18:55:45 +00:00
Michael Mann
a267501b82 Bluetooth: Use dissector data instead of pinfo->private_data. Bug 7893 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7893)
From Michal Labedzki

svn path=/trunk/; revision=53051
2013-11-02 19:20:04 +00:00
Bill Meier
0ad98563a2 From didier gautheron: remove redundant or use faster col_xxx functions
- when the text parameter is constant col_add_str() and col_set_str() are equivalent but col_set_str() is faster.
- same for  replace col_append_fstr and col_append_str
- remove col_clear() when it's redundant:
    + before a col_set/col_add if the dissector can't throw an exception.
- replace col_append() after a col_clear() with faster col_add... or col_set

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


svn path=/trunk/; revision=52948
2013-10-29 14:09:20 +00:00
Michael Mann
3cc6957fa8 Bluetooth: Use items for logical block objects. Bug 9327 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9327)
Bluetooth protocols use items, so dissect it to improve filtering and better user experience - text object cannot be filterable or comparable.

From Michal Labedzki

svn path=/trunk/; revision=52863
2013-10-26 02:24:04 +00:00
Pascal Quantin
a0c53ffaa1 emem -> wmem conversion:
- ep_tvb_get_bits() -> wmem_packet_tvb_get_bits()
- tvb_g_memdup()/ep_tvb_memdup() -> tvb_memdup()
- tvb_fake_unicode()/tvb_get_ephemeral_faked_unicode() -> tvb_get_faked_unicode()
- tvb_get_g_string()/tvb_get_ephemeral_string()/tvb_get_seasonal_string() -> tvb_get_string()
- tvb_get_g_unicode_string()/tvb_get_ephemeral_unicode_string() -> tvb_get_unicode_string()
- tvb_get_ephemeral_string_enc() -> tvb_get_string_enc()
- update docs accordingly

svn path=/trunk/; revision=52172
2013-09-22 15:50:55 +00:00
Anders Broman
0e81643540 From Michal Labedzki:
Full dissection of EIR/AD and little improve filtering, cd 

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

svn path=/trunk/; revision=51527
2013-08-27 05:08:34 +00:00
Michael Mann
edf1436360 Bluetooth: HCI: Synchronize and update Voice command. Bug 9050 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9050)
From Michal Labedzki.

svn path=/trunk/; revision=51411
2013-08-18 02:32:23 +00:00
Michael Mann
3ffb8e29b9 HCI: Full dissection of EIR/AD and little improve filtering, bug 9050 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9050)
From Michal Labedzki.

From me:
1. Have boolean filters use tfs_true_false instead of NULL (because it appears previous functionality had "TRUE" and "FALSE").  Perhaps other tfs_ values could be used, but tfs_true_false makes a good placeholder.
2. Add FT_ETHER field as a proto_tree_add_item.

svn path=/trunk/; revision=51410
2013-08-18 02:11:36 +00:00
Michael Mann
46192881d9 Create individual filters for HCI LMP features. Bug 9050 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9050)
From Michal Labedzki

svn path=/trunk/; revision=51409
2013-08-18 01:36:26 +00:00
Anders Broman
d91b6a1872 From Michal Labedzki:
HCI: Improve Class of Device dissection. 

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

svn path=/trunk/; revision=50814
2013-07-23 04:23:19 +00:00
Anders Broman
0bbb2cbbaf From Michal Labedzki:
HCI: Add latest Assigned Numbers 

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

svn path=/trunk/; revision=50813
2013-07-23 04:15:23 +00:00
Evan Huus
5d53d63cd7 From Michal Labedzki via
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8824

Convert bluetooth emem trees to wmem trees.
Add modelines and fix indentation.
Correct typo in wmem_tree.h that still referred to emem.

svn path=/trunk/; revision=50076
2013-06-20 16:31:53 +00:00
Evan Huus
6976653023 From Michal Labedzki via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8509
Unify bluetooth direction handling (sent vs rcvd).

svn path=/trunk/; revision=48661
2013-03-30 21:47:27 +00:00
Evan Huus
6d17f1153a From Michal Labedzki via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8509
Round 3 of Bluetooth SDP updates. Update the list of company IDs and fix
service recognition.

svn path=/trunk/; revision=48660
2013-03-30 21:43:18 +00:00
Pascal Quantin
d31620a7bf From Michal Labedzki via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416 :
Remove C++ incompatibilities from Bluetooth dissectors and switch to wmem API

svn path=/trunk/; revision=48414
2013-03-19 13:51:52 +00:00
Anders Broman
2ae1d08bbe From Michal Labedzki:
Fix issues found by fix-encoding-args.pl
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8304

svn path=/trunk/; revision=48388
2013-03-18 06:13:09 +00:00
Anders Broman
c2976ac508 From Michal Labedzki:
Fix issues discovered by cppcheck

Also use global OUI array in AVRCP.
Thanks to Evan Huus for cppcheck.

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

svn path=/trunk/; revision=48387
2013-03-18 06:04:09 +00:00
Michael Mann
e094c21301 Minor Bluetooth fixes
1. Allow to DecodeBy payload over AVCTP
2. Fix L2CAP CID payload recognize after disc
3. Removed unneeded _U_
4. Fall back to control channel in AVRCP
5. Fix time-tracking for passthrough and capability AVRCP commands

From Michal Labedzki, bug 8367 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8367)

svn path=/trunk/; revision=47810
2013-02-21 22:00:32 +00:00
Guy Harris
29715ccc8f How can I get a new tvbuff that starts at an offset within a given
tvbuff and runs to the end of the tvbuff?  Let me count the ways....

Replace a bunch of different ways of doing that (some incorrect, in that
they're not properly handling tvbuffs where the captured and reported
lengths are different) with tvb_new_subset_remaining().

svn path=/trunk/; revision=47751
2013-02-19 23:17:07 +00:00
Chris Maynard
45e801913e Add a FALLTHROUGH comment to fix Coverity CID 745673: Missing break in switch.
(No need to backport.)

svn path=/trunk/; revision=47462
2013-02-04 02:50:26 +00:00
Guy Harris
8432edcc72 More checks to make sure pinfo->private_data is not null.
svn path=/trunk/; revision=46746
2012-12-25 22:48:01 +00:00
Guy Harris
c8f3c1d9a3 In dissect_bthci_evt_command_complete():
Make a loop counter a full-width integer, just to be sure.

Do *NOT* assume that pinfo->private_data is non-null; I have at least
one capture where it is null when dissect_bthci_evt_command_complete()
is captured.

svn path=/trunk/; revision=46743
2012-12-25 22:35:54 +00:00
Evan Huus
2461373edd Remove unneeded variable initializers.
svn path=/trunk/; revision=46328
2012-12-02 15:21:53 +00:00
Anders Broman
900b884f55 From Michal Labedzki:
Bluetooth: Add support for source/destination addresses

Within resolving devices names. Also make header file more generic,
packet-hci_h4.h renamed to packet-bluetooth-hci.h.

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

svn path=/trunk/; revision=46278
2012-11-29 13:21:10 +00:00
Martin Kaiser
c9b7d8c3c2 j should also be guint16 to prevent overflows in the while-loops
svn path=/trunk/; revision=45740
2012-10-23 20:35:19 +00:00
Pascal Quantin
67fdfbbcde From Allan M. Madsen via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7905 :
Fix infinite loop in bthci_evt eir data handling

svn path=/trunk/; revision=45739
2012-10-23 20:27:57 +00:00
Anders Broman
576b37ddd8 from Allan M. Madsen:
Add support for HCI 3.0+HS and v4.0, Bluetooth Low Energy. This includes
dissection of additional HCI commands and events, Attribute Protocol and
Security Manager Protocol.

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

svn path=/trunk/; revision=45709
2012-10-22 12:49:04 +00:00
Anders Broman
3805f354a4 From Michal Labedzki:
[PATCH 15] Bluetooth: Add modelines 

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

svn path=/trunk/; revision=45422
2012-10-09 10:36:04 +00:00
Anders Broman
aa3c9034f5 From Michal Labedzki:
Bluetooth: Cleanup headers
Remove redundant headers and sort existing to chosen convention.

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

svn path=/trunk/; revision=45039
2012-09-21 10:49:44 +00:00
Jeff Morriss
2552c750e5 We always HAVE_CONFIG_H so don't bother checking whether we have it or not.
svn path=/trunk/; revision=45017
2012-09-20 02:03:38 +00:00
Jakub Zawadzki
5a8783f5b1 Initial commit to support yet another method of passing data between dissectors.
Add new parameter 'data' to heur_dissector_t and new_dissector_t, for now it's always NULL

svn path=/trunk/; revision=44860
2012-09-10 21:40:21 +00:00
Jakub Zawadzki
b18e880040 Update FSF address - part II.
svn path=/trunk/; revision=43538
2012-06-28 23:18:38 +00:00
Chris Maynard
5e58b385da AFH Channel Map should be an FT_BYTES, not an FT_UINT_BYTES.
Ref: Core Version 2.1 + EDR, section 7.5.5 available from:
     https://www.bluetooth.org/Technical/Specifications/adopted.htm

svn path=/trunk/; revision=42547
2012-05-10 13:19:55 +00:00
Guy Harris
55b4bc0061 Might as well make the loop indices just guint; the generated code's
unlikely to be worse, and could be better on the 32-bit-and-bigger
machines on which Wireshark runs.

svn path=/trunk/; revision=42116
2012-04-17 23:08:23 +00:00
Anders Broman
cc650868af From Evan Huus: We were using guint8s as loop counters based on field lengths, and they were overflowing/wrapping falsely. Making them guint16s fixes the problem. Bug 7122 -HCIEVT infinite loop https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7122
svn path=/trunk/; revision=42114
2012-04-17 21:09:10 +00:00
Jeff Morriss
1731fc958e From Martin Kaiser via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6977 :
The attached (trivial) patch adds some missing breaks in switch-case blocks.

This fixes coverity defects #445, #446, #1316 and #1380.

svn path=/trunk/; revision=41727
2012-03-21 22:18:15 +00:00
Bill Meier
3dd8ed0279 Use consistent indentation;
Do minor reformatting.

svn path=/trunk/; revision=41503
2012-03-12 14:40:09 +00:00
Jeff Morriss
b415128e48 From Michal Labedzki via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6739 :
Update company ids and HCI/LMP versions to the latest Assigned Numbers

I made the cosmetic changes:
- simplify version description
- I updated all company ids from Assigned Numbers, so there are some very small
differences with old version (inadvertently)

Based on:
https://www.bluetooth.org/Technical/AssignedNumbers/hci.htm
https://www.bluetooth.org/Technical/AssignedNumbers/link_manager.htm
https://www.bluetooth.org/technical/assignednumbers/identifiers.htm

From me: list the above URLs in comments in the code.

svn path=/trunk/; revision=40681
2012-01-24 02:30:57 +00:00