version 1.119, 2021/04/03 06:18:40 |
version 1.120, 2023/10/10 06:49:54 |
|
|
freezero(cc, sizeof(*cc)); |
freezero(cc, sizeof(*cc)); |
} |
} |
|
|
/* |
|
* Exports an IV from the sshcipher_ctx required to export the key |
|
* state back from the unprivileged child to the privileged parent |
|
* process. |
|
*/ |
|
int |
|
cipher_get_keyiv_len(const struct sshcipher_ctx *cc) |
|
{ |
|
const struct sshcipher *c = cc->cipher; |
|
|
|
if ((c->flags & CFLAG_CHACHAPOLY) != 0) |
|
return 0; |
|
else if ((c->flags & CFLAG_AESCTR) != 0) |
|
return sizeof(cc->ac_ctx.ctr); |
|
#ifdef WITH_OPENSSL |
|
return EVP_CIPHER_CTX_iv_length(cc->evp); |
|
#else |
|
return 0; |
|
#endif |
|
} |
|
|
|
int |
int |
cipher_get_keyiv(struct sshcipher_ctx *cc, u_char *iv, size_t len) |
cipher_get_keyiv(struct sshcipher_ctx *cc, u_char *iv, size_t len) |
{ |
{ |