mirror of
https://github.com/clearml/dropbear
synced 2025-01-31 02:46:58 +00:00
disapproval of revision 'a101cbd046507cf723e6362a49196dbd4b924042'
--HG-- extra : convert_revision : e1c100e6366c5d607af08f4abdbb0f4281df4fa9
This commit is contained in:
parent
a60cb7dbaa
commit
d1bfb6bfb7
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
15
packet.c
15
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
|
||||
|
Loading…
Reference in New Issue
Block a user