On Wed, 26 Aug 2020 at 14:10, Herbert Xu herbert@gondor.apana.org.au wrote:
On Wed, Aug 26, 2020 at 01:59:53PM +0200, Ard Biesheuvel wrote:
On Wed, 26 Aug 2020 at 13:50, Herbert Xu herbert@gondor.apana.org.au wrote:
On Wed, Aug 26, 2020 at 12:40:14PM +0200, Ard Biesheuvel wrote:
It would be helpful if someone could explain for the non-mac80211 enlightened readers how iwd's EAP-PEAPv0 + MSCHAPv2 support relies on the algif_aead socket interface, and which AEAD algorithms it uses. I assume this is part of libell?
I see the problem. libell/ell/checksum.c doesn't clear the MSG_MORE flag before doing the recv(2).
But that code uses a hash not an aead, afaict.
Good point. In that case can we please get a strace with a -s option that's big enough to capture the crypto data?
Running iwd's and ell's unit tests I can see that at least the following algorithms give EINVAL errors: ecb(aes) cbc(aes) ctr(aes)
The first one fails in recv() and only for some input lengths. The latter two fail in send(). The relevant ell code starts at https://git.kernel.org/pub/scm/libs/ell/ell.git/tree/ell/cipher.c#n271
The tests didn't get to the point where aead is used.
Best regards