Add sctp authentication to sctp_lib
This only works for linux >=5.4. When enabled, it will use
a shared key to authenticate messages. The functionality is
controlled by a flag and behind a linux version check.
Performance degradation is minimal, even for smaller messages
and unnoticeable when measuring overall system performance.
Change-Id: I836e61ec38a0c116fd7244b771437738ccca9828
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/aos/network/sctp_client.cc b/aos/network/sctp_client.cc
index a87dfc6..e044396 100644
--- a/aos/network/sctp_client.cc
+++ b/aos/network/sctp_client.cc
@@ -22,8 +22,9 @@
namespace message_bridge {
SctpClient::SctpClient(std::string_view remote_host, int remote_port,
- int streams, std::string_view local_host,
- int local_port) {
+ int streams, std::string_view local_host, int local_port,
+ std::vector<uint8_t> sctp_auth_key)
+ : sctp_(std::move(sctp_auth_key)) {
bool use_ipv6 = Ipv6Enabled();
sockaddr_local_ = ResolveSocket(local_host, local_port, use_ipv6);
sockaddr_remote_ = ResolveSocket(remote_host, remote_port, use_ipv6);