diff options
author | dtucker@openbsd.org <dtucker@openbsd.org> | 2016-01-29 03:31:03 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2016-01-30 11:19:14 +1100 |
commit | 6fd6e28daccafaa35f02741036abe64534c361a1 (patch) | |
tree | 748a609f73b404de6378cc9104481c4d86322ef0 /packet.c | |
parent | 921ff00b0ac429666fb361d2d6cb1c8fff0006cb (diff) |
upstream commit
Revert "account for packets buffered but not yet
processed" change as it breaks for very small RekeyLimit values due to
continuous rekeying. ok djm@
Upstream-ID: 7e03f636cb45ab60db18850236ccf19079182a19
Diffstat (limited to 'packet.c')
-rw-r--r-- | packet.c | 11 |
1 files changed, 3 insertions, 8 deletions
@@ -1,4 +1,4 @@ -/* $OpenBSD: packet.c,v 1.224 2016/01/29 02:54:45 dtucker Exp $ */ +/* $OpenBSD: packet.c,v 1.225 2016/01/29 03:31:03 dtucker Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -2254,21 +2254,16 @@ int ssh_packet_need_rekeying(struct ssh *ssh) { struct session_state *state = ssh->state; - u_int32_t buf_in, buf_out; if (ssh->compat & SSH_BUG_NOREKEY) return 0; - buf_in = roundup(sshbuf_len(state->input), - state->newkeys[MODE_IN]->enc.block_size); - buf_out = roundup(sshbuf_len(state->output), - state->newkeys[MODE_OUT]->enc.block_size); return (state->p_send.packets > MAX_PACKETS) || (state->p_read.packets > MAX_PACKETS) || (state->max_blocks_out && - (state->p_send.blocks + buf_out > state->max_blocks_out)) || + (state->p_send.blocks > state->max_blocks_out)) || (state->max_blocks_in && - (state->p_read.blocks + buf_in > state->max_blocks_in)) || + (state->p_read.blocks > state->max_blocks_in)) || (state->rekey_interval != 0 && state->rekey_time + state->rekey_interval <= monotime()); } |