=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/sftp-client.c,v retrieving revision 1.53.2.2 retrieving revision 1.54 diff -u -r1.53.2.2 -r1.54 --- src/usr.bin/ssh/sftp-client.c 2006/02/03 02:53:45 1.53.2.2 +++ src/usr.bin/ssh/sftp-client.c 2005/05/24 17:32:44 1.54 @@ -20,7 +20,7 @@ /* XXX: copy between two remote sites */ #include "includes.h" -RCSID("$OpenBSD: sftp-client.c,v 1.53.2.2 2006/02/03 02:53:45 brad Exp $"); +RCSID("$OpenBSD: sftp-client.c,v 1.54 2005/05/24 17:32:44 avsm Exp $"); #include @@ -42,6 +42,9 @@ /* Minimum amount of data to read at at time */ #define MIN_READ_SIZE 512 +/* Maximum packet size */ +#define MAX_MSG_LENGTH (256 * 1024) + struct sftp_conn { int fd_in; int fd_out; @@ -56,7 +59,7 @@ { u_char mlen[4]; - if (buffer_len(m) > SFTP_MAX_MSG_LENGTH) + if (buffer_len(m) > MAX_MSG_LENGTH) fatal("Outbound message too long %u", buffer_len(m)); /* Send length first */ @@ -84,7 +87,7 @@ } msg_len = buffer_get_int(m); - if (msg_len > SFTP_MAX_MSG_LENGTH) + if (msg_len > MAX_MSG_LENGTH) fatal("Received message too long %u", msg_len); buffer_append_space(m, msg_len); @@ -308,7 +311,7 @@ SFTP_DIRENT ***dir) { Buffer msg; - u_int count, type, id, handle_len, i, expected_id, ents = 0; + u_int type, id, handle_len, i, expected_id, ents = 0; char *handle; id = conn->msg_id++; @@ -332,6 +335,8 @@ } for (; !interrupted;) { + int count; + id = expected_id = conn->msg_id++; debug3("Sending SSH2_FXP_READDIR I:%u", id); @@ -739,10 +744,10 @@ Attrib junk, *a; Buffer msg; char *handle; - int local_fd, status = 0, write_error; + int local_fd, status, num_req, max_req, write_error; int read_error, write_errno; u_int64_t offset, size; - u_int handle_len, mode, type, id, buflen, num_req, max_req; + u_int handle_len, mode, type, id, buflen; off_t progress_counter; struct request { u_int id; @@ -1119,7 +1124,7 @@ goto done; } debug3("In write loop, ack for %u %u bytes at %llu", - ack->id, ack->len, (unsigned long long)ack->offset); + ack->id, ack->len, (unsigned long long)ack->offset); ++ackid; xfree(ack); }