diff options
author | Brian Gix <brian.gix@intel.com> | 2020-03-18 10:00:20 -0700 |
---|---|---|
committer | Brian Gix <brian.gix@intel.com> | 2020-03-20 11:51:18 -0700 |
commit | e8c870c63b8f7f9f2e23ba3f5f3ad6b9adc1012e (patch) | |
tree | c5bb2e6f4b0a9c5d22a8c4e3cdf3c3dae7c85178 /unit | |
parent | 40339fed960a891c1a91f5bf4b3e73d00a952070 (diff) | |
download | bluez-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.c | 4 |
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, |