version 1.258, 2017/05/31 08:58:52 |
version 1.259, 2017/06/01 06:16:43 |
|
|
void |
void |
ssh_clear_newkeys(struct ssh *ssh, int mode) |
ssh_clear_newkeys(struct ssh *ssh, int mode) |
{ |
{ |
if (ssh->kex && ssh->kex->newkeys) { |
if (ssh->kex && ssh->kex->newkeys[mode]) { |
kex_free_newkeys(ssh->kex->newkeys[mode]); |
kex_free_newkeys(ssh->kex->newkeys[mode]); |
ssh->kex->newkeys[mode] = NULL; |
ssh->kex->newkeys[mode] = NULL; |
} |
} |
|
|
struct sshcipher_ctx **ccp; |
struct sshcipher_ctx **ccp; |
struct packet_state *ps; |
struct packet_state *ps; |
u_int64_t *max_blocks; |
u_int64_t *max_blocks; |
const char *wmsg, *dir; |
const char *wmsg; |
int r, crypt_type; |
int r, crypt_type; |
|
|
debug2("set_newkeys: mode %d", mode); |
debug2("set_newkeys: mode %d", mode); |
|
|
if (mode == MODE_OUT) { |
if (mode == MODE_OUT) { |
dir = "output"; |
|
ccp = &state->send_context; |
ccp = &state->send_context; |
crypt_type = CIPHER_ENCRYPT; |
crypt_type = CIPHER_ENCRYPT; |
ps = &state->p_send; |
ps = &state->p_send; |
max_blocks = &state->max_blocks_out; |
max_blocks = &state->max_blocks_out; |
} else { |
} else { |
dir = "input"; |
|
ccp = &state->receive_context; |
ccp = &state->receive_context; |
crypt_type = CIPHER_DECRYPT; |
crypt_type = CIPHER_DECRYPT; |
ps = &state->p_read; |
ps = &state->p_read; |