Browse Source

Merge commit 'f80eeb6932099bc9143b267ad4814ef1874adcb0' into ssh-main

remotes/client/ssh-main
John-Mark Gurney 3 years ago
parent
commit
a0e97ef851
4 changed files with 10 additions and 11 deletions
  1. +1
    -1
      libssh2/src/kex.c
  2. +1
    -1
      libssh2/src/session.c
  3. +8
    -5
      libssh2/src/sftp.c
  4. +0
    -4
      libssh2/src/transport.c

+ 1
- 1
libssh2/src/kex.c View File

@@ -4069,7 +4069,7 @@ LIBSSH2_API int libssh2_session_supported_algs(LIBSSH2_SESSION* session,
supported algorithms (needed to allocate the proper size of array) and
the second time to actually copy the pointers. Typically this function
will not be called often (typically at the beginning of a session) and
the number of algorithms (i.e. niumber of iterations in one loop) will
the number of algorithms (i.e. number of iterations in one loop) will
not be high (typically it will not exceed 20) for quite a long time.

So double looping really shouldn't be an issue and it is definitely a


+ 1
- 1
libssh2/src/session.c View File

@@ -219,7 +219,7 @@ banner_send(LIBSSH2_SESSION * session)
}
else {
memcpy(banner_dup, banner, 255);
banner[255] = '\0';
banner_dup[255] = '\0';
}

_libssh2_debug(session, LIBSSH2_TRACE_TRANS, "Sending Banner: %s",


+ 8
- 5
libssh2/src/sftp.c View File

@@ -1414,9 +1414,12 @@ static ssize_t sftp_read(LIBSSH2_SFTP_HANDLE * handle, char *buffer,
/* Number of bytes asked for that haven't been acked yet */
size_t already = (size_t)(filep->offset_sent - filep->offset);

size_t max_read_ahead = buffer_size;
size_t max_read_ahead = buffer_size*4;
unsigned long recv_window;

if(max_read_ahead > LIBSSH2_CHANNEL_WINDOW_DEFAULT*4)
max_read_ahead = LIBSSH2_CHANNEL_WINDOW_DEFAULT*4;

/* if the buffer_size passed in now is smaller than what has
already been sent, we risk getting count become a very large
number */
@@ -1469,8 +1472,8 @@ static ssize_t sftp_read(LIBSSH2_SFTP_HANDLE * handle, char *buffer,
uint32_t request_id;

uint32_t size = count;
//if(size < buffer_size)
// size = buffer_size;
if(size < buffer_size)
size = buffer_size;
if(size > MAX_SFTP_READ_SIZE)
size = MAX_SFTP_READ_SIZE;

@@ -1573,7 +1576,7 @@ static ssize_t sftp_read(LIBSSH2_SFTP_HANDLE * handle, char *buffer,
else {
/* we should never reach this point */
return _libssh2_error(session, LIBSSH2_ERROR_SFTP_PROTOCOL,
"sftp_read() internal error a");
"sftp_read() internal error");
}
}

@@ -1719,7 +1722,7 @@ static ssize_t sftp_read(LIBSSH2_SFTP_HANDLE * handle, char *buffer,

/* we should never reach this point */
return _libssh2_error(session, LIBSSH2_ERROR_SFTP_PROTOCOL,
"sftp_read() internal error b");
"sftp_read() internal error");
}

/* libssh2_sftp_read


+ 0
- 4
libssh2/src/transport.c View File

@@ -376,8 +376,6 @@ int _libssh2_transport_read(LIBSSH2_SESSION * session)
if((nread < 0) && (nread == -EAGAIN)) {
session->socket_block_directions |=
LIBSSH2_SESSION_BLOCK_INBOUND;
_libssh2_debug(session, LIBSSH2_TRACE_SOCKET,
"setting INBOUND flag, nread: %d", nread);
return LIBSSH2_ERROR_EAGAIN;
}
_libssh2_debug(session, LIBSSH2_TRACE_SOCKET,
@@ -413,8 +411,6 @@ int _libssh2_transport_read(LIBSSH2_SESSION * session)
check is only done for the initial block since once we have
got the start of a block we can in fact deal with fractions
*/
_libssh2_debug(session, LIBSSH2_TRACE_SOCKET,
"setting INBOUND flag, numbytes: %d, blocksize: %d", numbytes, blocksize);
session->socket_block_directions |=
LIBSSH2_SESSION_BLOCK_INBOUND;
return LIBSSH2_ERROR_EAGAIN;


Loading…
Cancel
Save