2022-06-04 07:40:56

by Mike Brudevold

[permalink] [raw]
Subject: [PATCH 1/3] eir: parse data types for LE OOB pairing

From: Michael Brudevold <[email protected]>

---
src/eir.c | 21 +++++++++++++++++++++
src/eir.h | 4 ++++
2 files changed, 25 insertions(+)

diff --git a/src/eir.c b/src/eir.c
index 2f9ee036f..fabfd6402 100644
--- a/src/eir.c
+++ b/src/eir.c
@@ -342,6 +342,15 @@ void eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len)
eir->did_version = data[6] | (data[7] << 8);
break;

+ case EIR_LE_DEVICE_ADDRESS:
+ if (data_len < sizeof(bdaddr_t) + 1)
+ break;
+
+ memcpy(&eir->addr, data, sizeof(bdaddr_t));
+ eir->addr_type = data[sizeof(bdaddr_t)] & 0x1 ?
+ BDADDR_LE_RANDOM : BDADDR_LE_PUBLIC;
+ break;
+
case EIR_SVC_DATA16:
eir_parse_uuid16_data(eir, data, data_len);
break;
@@ -354,6 +363,18 @@ void eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len)
eir_parse_uuid128_data(eir, data, data_len);
break;

+ case EIR_LE_SC_CONF:
+ if (data_len < 16)
+ break;
+ eir->hash = util_memdup(data, 16);
+ break;
+
+ case EIR_LE_SC_RAND:
+ if (data_len < 16)
+ break;
+ eir->randomizer = util_memdup(data, 16);
+ break;
+
case EIR_MANUFACTURER_DATA:
eir_parse_msd(eir, data, data_len);
break;
diff --git a/src/eir.h b/src/eir.h
index 6154e23ec..241e6fac9 100644
--- a/src/eir.h
+++ b/src/eir.h
@@ -33,9 +33,12 @@
#define EIR_PUB_TRGT_ADDR 0x17 /* LE: Public Target Address */
#define EIR_RND_TRGT_ADDR 0x18 /* LE: Random Target Address */
#define EIR_GAP_APPEARANCE 0x19 /* GAP appearance */
+#define EIR_LE_DEVICE_ADDRESS 0x1B /* LE: Bluetooth Device Address */
#define EIR_SOLICIT32 0x1F /* LE: Solicit UUIDs, 32-bit */
#define EIR_SVC_DATA32 0x20 /* LE: Service data, 32-bit UUID */
#define EIR_SVC_DATA128 0x21 /* LE: Service data, 128-bit UUID */
+#define EIR_LE_SC_CONF 0x22 /* LE: Secure Connections Confirmation Value */
+#define EIR_LE_SC_RAND 0x23 /* LE: Secure Connections Random Value */
#define EIR_TRANSPORT_DISCOVERY 0x26 /* Transport Discovery Service */
#define EIR_MANUFACTURER_DATA 0xFF /* Manufacturer Specific Data */

@@ -80,6 +83,7 @@ struct eir_data {
uint8_t *hash;
uint8_t *randomizer;
bdaddr_t addr;
+ uint8_t addr_type;
uint16_t did_vendor;
uint16_t did_product;
uint16_t did_version;
--
2.25.1


2022-06-06 03:40:21

by bluez.test.bot

[permalink] [raw]
Subject: RE: LE OOB pairing support

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=647337

---Test result---

Test Summary:
CheckPatch FAIL 4.62 seconds
GitLint PASS 3.05 seconds
Prep - Setup ELL PASS 46.37 seconds
Build - Prep PASS 0.75 seconds
Build - Configure PASS 9.61 seconds
Build - Make PASS 1341.77 seconds
Make Check PASS 11.78 seconds
Make Check w/Valgrind PASS 471.83 seconds
Make Distcheck PASS 249.57 seconds
Build w/ext ELL - Configure PASS 9.16 seconds
Build w/ext ELL - Make PASS 1349.46 seconds
Incremental Build with patchesPASS 4218.49 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script with rule in .checkpatch.conf
Output:
[1/3] eir: parse data types for LE OOB pairing
WARNING:LONG_LINE_COMMENT: line length of 89 exceeds 80 columns
#137: FILE: src/eir.h:40:
+#define EIR_LE_SC_CONF 0x22 /* LE: Secure Connections Confirmation Value */

WARNING:LONG_LINE_COMMENT: line length of 83 exceeds 80 columns
#138: FILE: src/eir.h:41:
+#define EIR_LE_SC_RAND 0x23 /* LE: Secure Connections Random Value */

/github/workspace/src/12869444.patch total: 0 errors, 2 warnings, 52 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/12869444.patch has style problems, please review.

NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPDX_LICENSE_TAG SPLIT_STRING SSCANF_TO_KSTRTO

NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.

[2/3] Accept LE formatted EIR data with neard plugin
WARNING:LONG_LINE_COMMENT: line length of 89 exceeds 80 columns
#147: FILE: plugins/neard.c:577:
+ /* nokia.com:bt, EIR, and EIR.le should not be passed together */

WARNING:LONG_LINE_COMMENT: line length of 89 exceeds 80 columns
#156: FILE: plugins/neard.c:595:
+ /* nokia.com:bt, EIR, and EIR.le should not be passed together */

WARNING:LONG_LINE_COMMENT: line length of 89 exceeds 80 columns
#169: FILE: plugins/neard.c:613:
+ /* nokia.com:bt, EIR, and EIR.le should not be passed together */

WARNING:LONG_LINE: line length of 85 exceeds 80 columns
#197: FILE: plugins/neard.c:744:
+ remote.address_type);

WARNING:LONG_LINE: line length of 85 exceeds 80 columns
#206: FILE: plugins/neard.c:768:
+ remote.address_type, io_cap);

WARNING:LONG_LINE: line length of 84 exceeds 80 columns
#229: FILE: src/adapter.c:8772:
+ const bdaddr_t *bdaddr, uint8_t bdaddr_type,

WARNING:LONG_LINE: line length of 84 exceeds 80 columns
#250: FILE: src/adapter.h:216:
+ const bdaddr_t *bdaddr, uint8_t bdaddr_type,

/github/workspace/src/12869445.patch total: 0 errors, 7 warnings, 137 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/12869445.patch has style problems, please review.

NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPDX_LICENSE_TAG SPLIT_STRING SSCANF_TO_KSTRTO

NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.




---
Regards,
Linux Bluetooth