crypto: af_alg - add setsockopt for auth tag size
Use setsockopt on the tfm FD to provide the authentication tag size for an AEAD cipher. This is achieved by adding a callback function which is intended to be used by the AEAD AF_ALG implementation. The optlen argument of the setsockopt specifies the authentication tag size to be used with the AEAD tfm. Signed-off-by: Stephan Mueller <smueller@chronox.de> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
905b42e559
commit
25fb8638e9
|
@ -215,6 +215,13 @@ static int alg_setsockopt(struct socket *sock, int level, int optname,
|
|||
goto unlock;
|
||||
|
||||
err = alg_setkey(sk, optval, optlen);
|
||||
break;
|
||||
case ALG_SET_AEAD_AUTHSIZE:
|
||||
if (sock->state == SS_CONNECTED)
|
||||
goto unlock;
|
||||
if (!type->setauthsize)
|
||||
goto unlock;
|
||||
err = type->setauthsize(ask->private, optlen);
|
||||
}
|
||||
|
||||
unlock:
|
||||
|
|
|
@ -50,6 +50,7 @@ struct af_alg_type {
|
|||
void (*release)(void *private);
|
||||
int (*setkey)(void *private, const u8 *key, unsigned int keylen);
|
||||
int (*accept)(void *private, struct sock *sk);
|
||||
int (*setauthsize)(void *private, unsigned int authsize);
|
||||
|
||||
struct proto_ops *ops;
|
||||
struct module *owner;
|
||||
|
|
Loading…
Reference in New Issue