libipsec: Fix crypter lookup for AES-CTR
authorTobias Brunner <tobias@strongswan.org>
Mon, 21 Sep 2015 09:02:45 +0000 (11:02 +0200)
committerTobias Brunner <tobias@strongswan.org>
Fri, 30 Oct 2015 09:54:45 +0000 (10:54 +0100)
commit0e80127691cfe7fea9ce3a2f67d8b527db34faf4
tree798f927813edf16b3b8465fbb59ca0364970ba13
parent72cc029e24308bea636c782f5aee50b6ed38c854
libipsec: Fix crypter lookup for AES-CTR

Due to the nonce, the ESP key material is four bytes longer than needed for
the actual AES key.  The crypto plugins, however, register their AES-CTR
implementations with the AES key length, so the lookup here failed.

For IKEv2 the key material is allocated after creating a crypter instance
with the negotiated AES key size.  The length of the actual key material is
retrieved via get_key_size(), which adds the four bytes to the AES key length.

Fixes #1124.
src/libipsec/esp_context.c