summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/clientloop.c
diff options
context:
space:
mode:
authorandreas <andreas@openbsd.org>2009-05-28 16:50:16 +0000
committerandreas <andreas@openbsd.org>2009-05-28 16:50:16 +0000
commit46b8043eb2ad75f0854bbac5a4727c881a727383 (patch)
treeedd44921231282372d91486361897e90883f24bb /usr.bin/ssh/clientloop.c
parentworkaround a hardware bug by fixing the pci config space command register (diff)
downloadwireguard-openbsd-46b8043eb2ad75f0854bbac5a4727c881a727383.tar.xz
wireguard-openbsd-46b8043eb2ad75f0854bbac5a4727c881a727383.zip
Keep track of number of bytes read and written. Needed for upcoming
changes. Most code from Martin Forssen, maf at appgate dot com. ok markus@
Diffstat (limited to 'usr.bin/ssh/clientloop.c')
-rw-r--r--usr.bin/ssh/clientloop.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/usr.bin/ssh/clientloop.c b/usr.bin/ssh/clientloop.c
index 9f4379d484a..2b2007443aa 100644
--- a/usr.bin/ssh/clientloop.c
+++ b/usr.bin/ssh/clientloop.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: clientloop.c,v 1.211 2009/05/27 06:33:39 andreas Exp $ */
+/* $OpenBSD: clientloop.c,v 1.212 2009/05/28 16:50:16 andreas Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -101,6 +101,7 @@
#include "misc.h"
#include "match.h"
#include "msg.h"
+#include "roaming.h"
/* import options */
extern Options options;
@@ -626,7 +627,7 @@ client_suspend_self(Buffer *bin, Buffer *bout, Buffer *berr)
static void
client_process_net_input(fd_set *readset)
{
- int len;
+ int len, cont = 0;
char buf[8192];
/*
@@ -635,8 +636,8 @@ client_process_net_input(fd_set *readset)
*/
if (FD_ISSET(connection_in, readset)) {
/* Read as much as possible. */
- len = read(connection_in, buf, sizeof(buf));
- if (len == 0) {
+ len = roaming_read(connection_in, buf, sizeof(buf), &cont);
+ if (len == 0 && cont == 0) {
/*
* Received EOF. The remote host has closed the
* connection.