From: Toke Høiland-Jørgensen
This implements support for MAC authentication in the Babel protocol, as
specified by draft-babel-hmac-10. The implementation seeks to follow the
draft as close as possible, with the only deliberate deviation being the
addition of support for all the HMAC algorithms a
From: Toke Høiland-Jørgensen
The Babel MAC authentication draft recommends implementing Blake2s as one
of the supported algorithms. In order to achieve do this, add the blake2b
and blake2s hash functions for MAC authentication. The hashing function
implementations are the reference implementation
From: Toke Høiland-Jørgensen
This adds a new field to the MAC algorithm description which is a pointer
that will allow an algorithm to validate a key before it is used. Add this
validate to the Blake algorithms, validating that the key length is exactly
equal to their respective block sizes.
Sig
From: Toke Høiland-Jørgensen
In preparation for adding authentication checks, refactor the TLV walking
code so it can be reused for a separate pass of the packet for
authentication checks.
Signed-off-by: Toke Høiland-Jørgensen
---
proto/babel/packets.c | 166 +++---
This series adds MAC authentication support to the Babel protocol as specified
in by the IETF Babel working group in draft-babel-hmac-10:
https://tools.ietf.org/html/draft-ietf-babel-hmac-10
This is the follow-up to v1, posted in February[0]. See changelog below.
I have performed basic interoper
From: Toke Høiland-Jørgensen
This adds support for specifying a password in raw hexadecimal bytes form,
via the 'key' keyword. The result is the same whether a password is
specified as a quoted string or a hex-encoded byte string, this just makes
it more convenient to input high-entropy byte stri
From: Toke Høiland-Jørgensen
The Babel authentication code added by a subsequent commit needs a way to
get random bytes for generating nonces.
This patch adds a wrapper function in sysdep to get random bytes, and the
required checks in configure.ac to select how to do it. The configure
script tr