summaryrefslogtreecommitdiff
path: root/unit
diff options
context:
space:
mode:
authorBrian Gix <brian.gix@intel.com>2020-03-18 10:00:20 -0700
committerBrian Gix <brian.gix@intel.com>2020-03-20 11:51:18 -0700
commite8c870c63b8f7f9f2e23ba3f5f3ad6b9adc1012e (patch)
treec5bb2e6f4b0a9c5d22a8c4e3cdf3c3dae7c85178 /unit
parent40339fed960a891c1a91f5bf4b3e73d00a952070 (diff)
downloadbluez-e8c870c63b8f7f9f2e23ba3f5f3ad6b9adc1012e.tar.gz
mesh: Allow short messages to be segmented
For added reliability, it is legal to send short messages as "single segment" segmented messages, which require transport layer acknowledgement. This feature is intended for heavy usage in the future so I am adding it now. Further, to support this functionality, an additional queue has been added to allow multiple SAR messages to the same DST to be queued and sent serially.
Diffstat (limited to 'unit')
-rw-r--r--unit/test-mesh-crypto.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/unit/test-mesh-crypto.c b/unit/test-mesh-crypto.c
index 32c46a54e..0043b0b10 100644
--- a/unit/test-mesh-crypto.c
+++ b/unit/test-mesh-crypto.c
@@ -1017,7 +1017,7 @@ static void check_encrypt(const struct mesh_crypto_test *keys)
app_msg = l_util_from_hexstring(keys->app_msg, &app_msg_len);
if (keys->szmic) {
- seg_max = SEG_MAX(app_msg_len + 8);
+ seg_max = SEG_MAX(keys->segmented, app_msg_len + 8);
enc_msg = l_malloc(app_msg_len + 8);
mesh_crypto_application_encrypt(key_aid, keys->app_seq,
keys->net_src, keys->net_dst,
@@ -1028,7 +1028,7 @@ static void check_encrypt(const struct mesh_crypto_test *keys)
enc_msg, &app_mic64, sizeof(app_mic64));
l_put_be64(app_mic64, enc_msg + app_msg_len);
} else {
- seg_max = SEG_MAX(app_msg_len + 4);
+ seg_max = SEG_MAX(keys->segmented, app_msg_len + 4);
enc_msg = l_malloc(app_msg_len + 4);
mesh_crypto_application_encrypt(key_aid, keys->app_seq,
keys->net_src, keys->net_dst,