Use a packed union to access the IV parts, which otherwise force unaligned
accesses.
Warned-by: gcc ASAN
Change-Id: I25661f1b1a00e9cd7d1e24bbcc10ed103ccef323
This makes the type in line with string(3) functions and eliminates some
compiler warnings.
Also update the related bencode data type.
Change-Id: I7ef4024f4b5a0f737b3dbe03bcd078032395bce6
Check if the uint64_t pointer is aligned before using it. If unaligned,
go byte by byte. Unaligned pointer access is undefined on some archs and
flagged as such by ASAN.
Change-Id: I3afc80a2ddbc874a62d6930971493f8d461aa452
close PR #1133
Squashed commit of:
commit b5009eff0b
Author: SPChan <shihping.chan@gmail.com>
Date: Fri Dec 11 11:40:17 2020 +0800
crypto.c: handle 12 bytes master salt length of AEAD
AEAD RFC7714 specifies 12 bytes master salt length
(section 12) but the KDF expects 14 bytes.
The erratum to RFC7714 specifies to pad on the right
by 16 bits to be compliant with the KDF.
https://www.rfc-editor.org/errata_search.php?rfc=7714
commit 30ba71f10c
Author: SPChan <shihping.chan@gmail.com>
Date: Fri Dec 11 09:31:00 2020 +0800
crypto.c: AEAD make clear which operations are for AAD
commit 3e4d87681d
Author: SPChan <shihping.chan@gmail.com>
Date: Thu Dec 10 19:38:51 2020 +0800
Implement RFC7714 ciphers: AEAD AES
Initial userspace only implementation
Change-Id: I8624b255e4fd83a5ca418655ef117c48e56e2379
We should offer all crypto suites that we support. If passing through
SDES, we should amend the list of crypto suites with all additional ones
that we support that weren't included in the received offer.
closes#577
Change-Id: I9b6c16e8eadecf01cdbc8043bd8361e0f683e456
Apparently it's possible that ps->selected_sfd is not from the ps->sfds
list, in which case the selected_sfd->crypto context will be left
uninitialized.
fixes#489
Change-Id: I844d9ba1d7e97a80b1f26769c1ea1e99cc2320b9