[openssh-commits] [openssh] 01/05: upstream commit

git+noreply at mindrot.org git+noreply at mindrot.org
Sat Jan 30 11:20:07 AEDT 2016


This is an automated email from the git hooks/post-receive script.

djm pushed a commit to branch master
in repository openssh.

commit c0060a65296f01d4634f274eee184c0e93ba0f23
Author: dtucker at openbsd.org <dtucker at openbsd.org>
Date:   Fri Jan 29 02:42:46 2016 +0000

    upstream commit
    
    Account for packets buffered but not yet processed when
     computing whether or not it is time to perform rekeying.  bz#2521, based
     loosely on a patch from olo at fb.com, ok djm@
    
    Upstream-ID: 67e268b547f990ed220f3cb70a5624d9bda12b8c
---
 packet.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/packet.c b/packet.c
index 9cf200c..ffcd8ea 100644
--- a/packet.c
+++ b/packet.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: packet.c,v 1.222 2016/01/14 16:17:40 markus Exp $ */
+/* $OpenBSD: packet.c,v 1.223 2016/01/29 02:42:46 dtucker Exp $ */
 /*
  * Author: Tatu Ylonen <ylo at cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo at cs.hut.fi>, Espoo, Finland
@@ -2251,16 +2251,21 @@ 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 > state->max_blocks_out)) ||
+	        (state->p_send.blocks + buf_out > state->max_blocks_out)) ||
 	    (state->max_blocks_in &&
-	        (state->p_read.blocks > state->max_blocks_in)) ||
+	        (state->p_read.blocks + buf_in > state->max_blocks_in)) ||
 	    (state->rekey_interval != 0 && state->rekey_time +
 		 state->rekey_interval <= monotime());
 }

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list