summaryrefslogtreecommitdiff
path: root/misc.c
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@zip.com.au>2008-06-13 06:42:45 +1000
committerDarren Tucker <dtucker@zip.com.au>2008-06-13 06:42:45 +1000
commit3fc464efdc5111334f42213891521fcd42c0e7a1 (patch)
treee48491c53689ac119109005b3f5bbf84b57bbdcd /misc.c
parentf09e825329d13c5fc31a97fc7ea2312dd4fb5405 (diff)
- dtucker@cvs.openbsd.org 2008/06/12 20:38:28
[sshd.c sshconnect.c packet.h misc.c misc.h packet.c] Make keepalive timeouts apply while waiting for a packet, particularly during key renegotiation (bz #1363). With djm and Matt Day, ok djm@
Diffstat (limited to 'misc.c')
-rw-r--r--misc.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/misc.c b/misc.c
index b4fe489af..01986e8c1 100644
--- a/misc.c
+++ b/misc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: misc.c,v 1.67 2008/01/01 08:47:04 dtucker Exp $ */ 1/* $OpenBSD: misc.c,v 1.68 2008/06/12 20:38:28 dtucker Exp $ */
2/* 2/*
3 * Copyright (c) 2000 Markus Friedl. All rights reserved. 3 * Copyright (c) 2000 Markus Friedl. All rights reserved.
4 * Copyright (c) 2005,2006 Damien Miller. All rights reserved. 4 * Copyright (c) 2005,2006 Damien Miller. All rights reserved.
@@ -832,3 +832,23 @@ put_u16(void *vp, u_int16_t v)
832 p[0] = (u_char)(v >> 8) & 0xff; 832 p[0] = (u_char)(v >> 8) & 0xff;
833 p[1] = (u_char)v & 0xff; 833 p[1] = (u_char)v & 0xff;
834} 834}
835
836void
837ms_subtract_diff(struct timeval *start, int *ms)
838{
839 struct timeval diff, finish;
840
841 gettimeofday(&finish, NULL);
842 timersub(&finish, start, &diff);
843 *ms -= (diff.tv_sec * 1000) + (diff.tv_usec / 1000);
844}
845
846void
847ms_to_timeval(struct timeval *tv, int ms)
848{
849 if (ms < 0)
850 ms = 0;
851 tv->tv_sec = ms / 1000;
852 tv->tv_usec = (ms % 1000) * 1000;
853}
854