Mercurial > dropbear
diff common-session.c @ 1318:10e2a7727253 coverity
merge coverity
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Fri, 22 Jul 2016 00:08:02 +0800 |
parents | 2c9dac2d6707 |
children | 08f4fa4dc6a0 0c16b4ccbd54 |
line wrap: on
line diff
--- a/common-session.c Fri Mar 18 22:47:33 2016 +0800 +++ b/common-session.c Fri Jul 22 00:08:02 2016 +0800 @@ -54,7 +54,7 @@ void common_session_init(int sock_in, int sock_out) { time_t now; -#ifdef DEBUG_TRACE +#if DEBUG_TRACE debug_start_net(); #endif @@ -295,7 +295,7 @@ } /* After these are freed most functions will fail */ -#ifdef DROPBEAR_CLEANUP +#if DROPBEAR_CLEANUP /* listeners call cleanup functions, this should occur before other session state is freed. */ remove_all_listeners(); @@ -361,7 +361,7 @@ } if (!done) { - TRACE(("err: %s for '%s'\n", strerror(errno), linebuf)) + TRACE(("error reading remote ident: %s\n", strerror(errno))) ses.remoteclosed(); } else { /* linebuf is already null terminated */ @@ -550,10 +550,12 @@ static long select_timeout() { /* determine the minimum timeout that might be required, so as to avoid waking when unneccessary */ - long timeout = LONG_MAX; + long timeout = KEX_REKEY_TIMEOUT; long now = monotonic_now(); - update_timeout(KEX_REKEY_TIMEOUT, now, ses.kexstate.lastkextime, &timeout); + if (!ses.kexstate.sentkexinit) { + update_timeout(KEX_REKEY_TIMEOUT, now, ses.kexstate.lastkextime, &timeout); + } if (ses.authstate.authdone != 1 && IS_DROPBEAR_SERVER) { /* AUTH_TIMEOUT is only relevant before authdone */