From d1bfb6bfb7a346715a66318ec9d1e860903c8245 Mon Sep 17 00:00:00 2001 From: Matt Johnston Date: Thu, 26 Feb 2009 13:20:53 +0000 Subject: [PATCH] disapproval of revision 'a101cbd046507cf723e6362a49196dbd4b924042' --HG-- extra : convert_revision : e1c100e6366c5d607af08f4abdbb0f4281df4fa9 --- common-session.c | 2 +- packet.c | 15 +++------------ packet.h | 2 +- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/common-session.c b/common-session.c index d1545e6..b48d210 100644 --- a/common-session.c +++ b/common-session.c @@ -189,7 +189,7 @@ void session_loop(void(*loophandler)()) { /* process session socket's incoming/outgoing data */ if (ses.sock_out != -1) { if (FD_ISSET(ses.sock_out, &writefd) && !isempty(&ses.writequeue)) { - write_packets(); + write_packet(); } } diff --git a/packet.c b/packet.c index 4e2eedf..870d5d8 100644 --- a/packet.c +++ b/packet.c @@ -46,16 +46,14 @@ static buffer* buf_decompress(buffer* buf, unsigned int len); static void buf_compress(buffer * dest, buffer * src, unsigned int len); #endif -/* non-blocking function writing out a current encrypted packet. Returns - * DROPBEAR_SUCCESS if entire packet was written, DROPBEAR_FAILURE - * otherwise */ -static int write_packet() { +/* non-blocking function writing out a current encrypted packet */ +void write_packet() { int len, written; - int ret = DROPBEAR_FAILURE; buffer * writebuf = NULL; TRACE(("enter write_packet")) + dropbear_assert(!isempty(&ses.writequeue)); /* Get the next buffer in the queue of encrypted packets to write*/ writebuf = (buffer*)examine(&ses.writequeue); @@ -86,19 +84,12 @@ static int write_packet() { dequeue(&ses.writequeue); buf_free(writebuf); writebuf = NULL; - ret = DROPBEAR_SUCCESS; } else { /* More packet left to write, leave it in the queue for later */ buf_incrpos(writebuf, written); } TRACE(("leave write_packet")) - return ret; -} - -void write_packets() { - /* keep writing packets while we can. */ - while (!isempty(&ses.writequeue) && write_packet() == DROPBEAR_SUCCESS) {} } /* Non-blocking function reading available portion of a packet into the diff --git a/packet.h b/packet.h index db203d3..8fadeb3 100644 --- a/packet.h +++ b/packet.h @@ -28,7 +28,7 @@ #include "includes.h" -void write_packets(); +void write_packet(); void read_packet(); void decrypt_packet(); void encrypt_packet();