Commit Graph

21348 Commits

Author SHA1 Message Date
Andrei Emeltchenko
4900161462 obexd: Fix comparing array to NULL
An array can never be NULL.
2014-12-04 14:26:57 +02:00
Andrei Emeltchenko
33c2e6b851 obexd: Fix memory leak not freeing desc
descs->data might be NULL while is descs not. Follow scheme in
src/profile.c (in get_profile_version() function).
2014-12-04 14:26:57 +02:00
Andrei Emeltchenko
34c3a51a05 unit/test-gatt: Fix possible crash
If write fails len would be negative and should not be passed to
util_hexdump otherwise it might attempt to access invalid memory.
2014-12-04 14:26:57 +02:00
Jakub Pawlowski
99a715bee8 mgmt-tester: Add service discovery test cases 2014-12-04 14:12:38 +02:00
Jakub Pawlowski
1d04ca7ea0 tools/btmgmt: Add find-service command
Add command for using MGMT_OP_START_SERVICE_DISCOVERY.

Example usage:
Find all low energy devices advertising service with UUID 'abcd'
that have rssi higher than -60 dB
btmgmt find-service -u abcd -r -60 -l
2014-12-04 14:12:29 +02:00
Jakub Pawlowski
ca67344fdd lib: Add start service discovery
This patch adds start service discovery definition for new kernel
method.
2014-12-04 14:12:26 +02:00
Gowtham Anandha Babu
912a7a53fc monitor/rfcomm: Add support for NSC frame decoding
Changes made to decode NSC frame in RFCOMM for btmon.
Not able capture the output.
2014-12-04 12:27:41 +02:00
Gowtham Anandha Babu
90b017f247 monitor/rfcomm: Add support for PN frame decoding
Changes made to decode PN frame in RFCOMM for btmon.

      RFCOMM: Unnumbered Info with Header Check (UIH)(0xef)
         Address: 0x01 cr 0 dlci 0x00
         Control: 0xef poll/final 0
         Length: 10
         FCS: 0xaa
         MCC Message type: DLC Parameter Negotiation RSP(0x20)
           Length: 8
           dlci 32 frame_type 0 credit_flow 14 pri 39
           ack_timer 0 frame_size 666 max_retrans 0 credits 7
2014-12-04 12:27:41 +02:00
Gowtham Anandha Babu
f6d8fbe935 monitor/rfcomm: Add support for RLS frame decoding
Changes made to decode RLS frame in RFCOMM for btmon.

      RFCOMM: Unnumbered Info with Header Check (UIH)(0xef)
         Address: 0x03 cr 1 dlci 0x00
         Control: 0xef poll/final 0
         Length: 4
         FCS: 0x70
         MCC Message type: Remote Line Status CMD(0x14)
           Length: 2
           dlci 32 error: 5
2014-12-04 12:27:41 +02:00
Gowtham Anandha Babu
75c1eab025 monitor/rfcomm: Add support for RPN frame decoding
Changes made to decode RPN frame in RFCOMM for btmon.

      RFCOMM: Unnumbered Info with Header Check (UIH)(0xef)
         Address: 0x03 cr 1 dlci 0x00
         Control: 0xef poll/final 0
         Length: 10
         FCS: 0x70
         MCC Message type: Remote Port Negotiation Command CMD(0x24)
           Length: 8
           dlci 32
           br 3 db 2 sb 0 p 0 pt 0 xi 0 xo 0
           rtri 0 rtro 0 rtci 0 rtco 0 xon 17 xoff 19
           pm 0x3f7f
2014-12-04 12:27:41 +02:00
Gowtham Anandha Babu
1765fdda2d monitor/rfcomm.c: Add support for MSC frame decoding
Changes made to decode MSC frame in RFCOMM for btmon.

      RFCOMM: Unnumbered Info with Header Check (UIH)(0xef)
         Address: 0x01 cr 0 dlci 0x00
         Control: 0xef poll/final 0
         Length: 4
         FCS: 0xaa
         MCC Message type: Modem Status Command CMD(0x38)
           Length: 2
           dlci 32
           fc 0 rtc 1 rtr 1 ic 0 dv 1
2014-12-04 12:27:41 +02:00
Andrei Emeltchenko
7c6a6e730b shared/crypto: Fix resource leak
Fix leaking fd on exit
2014-12-04 11:13:27 +02:00
Andrei Emeltchenko
d19ff9cca8 android/build: Convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH
LOCAL_MODULE_PATH needs to be replaced for multiarch builds like for
example for Nexus 9 (volantis) target.
2014-12-04 08:45:00 +01:00
Marcel Holtmann
6124d7be40 doc: Mention version 1.8 of the management interface 2014-12-04 00:21:26 +01:00
Arman Uguray
d52c868a6e TODO: Remove gatt-db service events task 2014-12-03 23:27:04 +02:00
Arman Uguray
9513f74ce0 tools/btgatt-client: Observe service events
tools/btgatt-client now registers service added/removed callbacks in
which it logs a message about the affected service.
2014-12-03 23:16:47 +02:00
Arman Uguray
80cf4af7a1 shared/gatt-db: Add service added/removed events
This patch adds support to gatt-db for sending events when services are
added to and removed from the database:

  1. Added the gatt_db_register function which can be used to register
     service_added and service_removed callbacks.

  2. Added the gatt_db_unregister function which can be used to
     unregister previously added callbacks. This function can be safely
     called from within a service added/removed callback.

  3. The service added/removed callbacks are tied to
     gatt_db_service_set_active. The added callback is called when a
     service gets marked as active and vice versa.

  4. The service_removed callback will get called if a service is
     removed from the database.
2014-12-03 23:15:59 +02:00
Arman Uguray
042cbc7c70 shared/gatt-server: Hold a reference to gatt-db
Now that gatt-db is reference counted, gatt-server should hold a
reference to it.
2014-12-03 23:15:49 +02:00
Luiz Augusto von Dentz
7f5766984c unit/test-queue: Fix memory leak 2014-12-03 20:54:39 +02:00
Arman Uguray
b0f40aff52 TODO: Add item for gatt-db service callbacks
Added TODO items for adding gatt-db service added/removed callbacks.
2014-12-03 17:06:19 +02:00
Arman Uguray
57f3e6f67e shared/gatt-client: Remove GATT structs and iterators
This patch removes the high-level structs and iterators used by
shared/gatt-client in favor of gatt-db.
2014-12-03 17:06:19 +02:00
Arman Uguray
37a39606f5 unit/test-gatt: Use gatt-db for CLIENT tests
This patch rewrites parts of unit/test-gatt that verify the contents
of a shared/gatt-client to use the client's gatt-db instead of the
service iterators.
2014-12-03 17:06:19 +02:00
Arman Uguray
5128551ccd tools/btgatt-client: Use gatt-db instead of iterators
btgatt-client now iterates services, characteristics, and descriptors
of the shared/gatt-client using gatt-db instead of the iterators.
2014-12-03 17:06:19 +02:00
Arman Uguray
da50268485 tools/btgatt-server: Add the "services" command
This patch adds the "services" command which displayes the currently
stored services in the server database.
2014-12-03 17:06:18 +02:00
Arman Uguray
9367e6563e shared/gatt-client: Use gatt_db in bt_gatt_register_notify
This patch rewrites the notification/indication logic in gatt-client to
use the internal gatt-db.
2014-12-03 17:06:18 +02:00
Arman Uguray
c536877682 shared/gatt-client: Store services in gatt_db
This patch rewrites the service discovery logic inside
shared/gatt-client. The internal service_list structure has been
entirely removed and services are stored in a gatt_db instance.
Initially, gatt-client creates and owns the life-time of the gatt_db.
2014-12-03 17:06:18 +02:00
Arman Uguray
488a89814a shared/gatt-db: Add gatt_db_isempty
Added the gatt_db_isempty function which returns true if the database
is not populated with any services.
2014-12-03 17:06:18 +02:00
Johan Hedberg
c17e2e34d8 tools/mgmt-tester: Add passkey entry test case 2014-12-03 16:32:49 +02:00
Johan Hedberg
cffa9fb6d2 emulator/smp: Add passkey entry support 2014-12-03 16:32:49 +02:00
Johan Hedberg
3a3a0636ec emulator/smp: Add initial code for selecting authentication method 2014-12-03 16:32:49 +02:00
Johan Hedberg
504ae89fd8 emulator/smp: Add basic just-works LE SC pairing support 2014-12-03 16:32:49 +02:00
Johan Hedberg
ced5bb661b shared/crypto: Add necessary functions for LE SC 2014-12-03 16:32:49 +02:00
Johan Hedberg
31b12309cc mgmt-tester: Add simple LE SC success test case 2014-12-03 16:32:48 +02:00
Johan Hedberg
aa0ed806b0 emulator/smp: Add basic SC Public Key generation & exchange support 2014-12-03 16:32:48 +02:00
Johan Hedberg
560c5a5c15 tools/mgmt-tester: Fix waiting for bthost to be ready during pre-setup stage
Without this it's possible we might try to enable BR/EDR SC when bthost
hasn't yet established whether the underlying controller is capable of
it.
2014-12-03 16:32:48 +02:00
Johan Hedberg
fd61d4719e emulator/bthost: Add API to wait for bthost readiness 2014-12-03 16:32:48 +02:00
Johan Hedberg
4fe7df6972 emulator/bthost: Add API to enable SC support 2014-12-03 16:32:48 +02:00
Johan Hedberg
920c1ca1cc mgmt-tester: Add LE SC legacy fallback test case 2014-12-03 16:32:48 +02:00
Johan Hedberg
b05fb44583 monitor: Add SMP over BR/EDR decoding 2014-12-03 16:32:48 +02:00
Johan Hedberg
c5fa510f7d smp-tester: Link Key creation requires SSP to be enabled 2014-12-03 16:32:47 +02:00
Johan Hedberg
51f3b1b8b0 unit/test-ecc: Add debug key sample test 2014-12-03 16:32:47 +02:00
Johan Hedberg
dcf1028680 unit/test-ecc: Refactor sample testing code into common function 2014-12-03 16:32:47 +02:00
Johan Hedberg
c8293fdbf1 unit/test-ecc: Add sample data from core spec 2014-12-03 16:32:47 +02:00
Johan Hedberg
19e6c21ab6 smp-tester: Add basic public key handling 2014-12-03 16:32:47 +02:00
Johan Hedberg
30ac69eaea shared/crypto: Add bt_crypto_f4 for LE SC 2014-12-03 16:32:47 +02:00
Johan Hedberg
d6d3d26bda smp-tester: Allow multiple sending without expecting data
Sometimes we need to send multiple PDUs without waiting for any specific
PDU in between.
2014-12-03 16:32:47 +02:00
Johan Hedberg
347bb9cad4 smp-tester: Add another basic SC test 2014-12-03 16:32:47 +02:00
Johan Hedberg
41f7c8e26b smp-tester: Add test case parameter for SC 2014-12-03 16:32:46 +02:00
Johan Hedberg
f536c00c23 tools/mgmt-tester: Update LE supported settings to include SC 2014-12-03 16:32:46 +02:00
Johan Hedberg
dbd3dfa5cc smp-tester: Use BR/EDR/LE controller instead of LE-only
With secure connections we'll be able to do cross-transport key
generation as well as SMP signaling over BR/EDR, so we'll need a
dual-mode controller for this.
2014-12-03 16:32:46 +02:00