mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-07-31 00:03:07 +03:00
src: Rename buffer_add_data() to ssh_buffer_add_data().
This commit is contained in:
@ -45,7 +45,7 @@ int buffer_add_u8(ssh_buffer buffer, uint8_t data);
|
|||||||
int buffer_add_u16(ssh_buffer buffer, uint16_t data);
|
int buffer_add_u16(ssh_buffer buffer, uint16_t data);
|
||||||
int buffer_add_u32(ssh_buffer buffer, uint32_t data);
|
int buffer_add_u32(ssh_buffer buffer, uint32_t data);
|
||||||
int buffer_add_u64(ssh_buffer buffer, uint64_t data);
|
int buffer_add_u64(ssh_buffer buffer, uint64_t data);
|
||||||
int buffer_add_data(ssh_buffer buffer, const void *data, uint32_t len);
|
int ssh_buffer_add_data(ssh_buffer buffer, const void *data, uint32_t len);
|
||||||
int buffer_prepend_data(ssh_buffer buffer, const void *data, uint32_t len);
|
int buffer_prepend_data(ssh_buffer buffer, const void *data, uint32_t len);
|
||||||
int buffer_add_buffer(ssh_buffer buffer, ssh_buffer source);
|
int buffer_add_buffer(ssh_buffer buffer, ssh_buffer source);
|
||||||
int ssh_buffer_reinit(ssh_buffer buffer);
|
int ssh_buffer_reinit(ssh_buffer buffer);
|
||||||
|
@ -300,7 +300,7 @@ static int agent_talk(struct ssh_session_struct *session,
|
|||||||
"Error reading response from authentication socket.");
|
"Error reading response from authentication socket.");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (buffer_add_data(reply, payload, n) < 0) {
|
if (ssh_buffer_add_data(reply, payload, n) < 0) {
|
||||||
SSH_LOG(SSH_LOG_WARN, "Not enough space");
|
SSH_LOG(SSH_LOG_WARN, "Not enough space");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -526,7 +526,7 @@ ssh_string ssh_agent_sign_data(ssh_session session,
|
|||||||
ssh_buffer_free(request);
|
ssh_buffer_free(request);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (buffer_add_data(request, buffer_get_rest(data), dlen) < 0) {
|
if (ssh_buffer_add_data(request, buffer_get_rest(data), dlen) < 0) {
|
||||||
ssh_buffer_free(request);
|
ssh_buffer_free(request);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -88,7 +88,7 @@ ssh_buffer base64_to_bin(const char *source) {
|
|||||||
if (_base64_to_bin(block, ptr, 3) < 0) {
|
if (_base64_to_bin(block, ptr, 3) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (buffer_add_data(buffer, block, 3) < 0) {
|
if (ssh_buffer_add_data(buffer, block, 3) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
len -= 4;
|
len -= 4;
|
||||||
@ -112,7 +112,7 @@ ssh_buffer base64_to_bin(const char *source) {
|
|||||||
if (_base64_to_bin(block, ptr, 3) < 0) {
|
if (_base64_to_bin(block, ptr, 3) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (buffer_add_data(buffer, block, 3) < 0) {
|
if (ssh_buffer_add_data(buffer, block, 3) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
SAFE_FREE(base64);
|
SAFE_FREE(base64);
|
||||||
@ -131,7 +131,7 @@ ssh_buffer base64_to_bin(const char *source) {
|
|||||||
if (_base64_to_bin(block, ptr, 1) < 0) {
|
if (_base64_to_bin(block, ptr, 1) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (buffer_add_data(buffer, block, 1) < 0) {
|
if (ssh_buffer_add_data(buffer, block, 1) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
SAFE_FREE(base64);
|
SAFE_FREE(base64);
|
||||||
@ -149,7 +149,7 @@ ssh_buffer base64_to_bin(const char *source) {
|
|||||||
if (_base64_to_bin(block, ptr, 2) < 0) {
|
if (_base64_to_bin(block, ptr, 2) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (buffer_add_data(buffer,block,2) < 0) {
|
if (ssh_buffer_add_data(buffer,block,2) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
SAFE_FREE(base64);
|
SAFE_FREE(base64);
|
||||||
|
77
src/buffer.c
77
src/buffer.c
@ -186,7 +186,8 @@ int ssh_buffer_reinit(struct ssh_buffer_struct *buffer)
|
|||||||
*
|
*
|
||||||
* @return 0 on success, < 0 on error.
|
* @return 0 on success, < 0 on error.
|
||||||
*/
|
*/
|
||||||
int buffer_add_data(struct ssh_buffer_struct *buffer, const void *data, uint32_t len) {
|
int ssh_buffer_add_data(struct ssh_buffer_struct *buffer, const void *data, uint32_t len)
|
||||||
|
{
|
||||||
buffer_verify(buffer);
|
buffer_verify(buffer);
|
||||||
|
|
||||||
if (buffer->used + len < len) {
|
if (buffer->used + len < len) {
|
||||||
@ -223,7 +224,7 @@ int buffer_add_ssh_string(struct ssh_buffer_struct *buffer,
|
|||||||
uint32_t len = 0;
|
uint32_t len = 0;
|
||||||
|
|
||||||
len = ssh_string_len(string);
|
len = ssh_string_len(string);
|
||||||
if (buffer_add_data(buffer, string, len + sizeof(uint32_t)) < 0) {
|
if (ssh_buffer_add_data(buffer, string, len + sizeof(uint32_t)) < 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -241,12 +242,16 @@ int buffer_add_ssh_string(struct ssh_buffer_struct *buffer,
|
|||||||
*
|
*
|
||||||
* @return 0 on success, -1 on error.
|
* @return 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
int buffer_add_u32(struct ssh_buffer_struct *buffer,uint32_t data){
|
int buffer_add_u32(struct ssh_buffer_struct *buffer,uint32_t data)
|
||||||
if (buffer_add_data(buffer, &data, sizeof(data)) < 0) {
|
{
|
||||||
return -1;
|
int rc;
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
rc = ssh_buffer_add_data(buffer, &data, sizeof(data));
|
||||||
|
if (rc < 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -260,12 +265,16 @@ int buffer_add_u32(struct ssh_buffer_struct *buffer,uint32_t data){
|
|||||||
*
|
*
|
||||||
* @return 0 on success, -1 on error.
|
* @return 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
int buffer_add_u16(struct ssh_buffer_struct *buffer,uint16_t data){
|
int buffer_add_u16(struct ssh_buffer_struct *buffer,uint16_t data)
|
||||||
if (buffer_add_data(buffer, &data, sizeof(data)) < 0) {
|
{
|
||||||
return -1;
|
int rc;
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
rc = ssh_buffer_add_data(buffer, &data, sizeof(data));
|
||||||
|
if (rc < 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -279,12 +288,16 @@ int buffer_add_u16(struct ssh_buffer_struct *buffer,uint16_t data){
|
|||||||
*
|
*
|
||||||
* @return 0 on success, -1 on error.
|
* @return 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
int buffer_add_u64(struct ssh_buffer_struct *buffer, uint64_t data){
|
int buffer_add_u64(struct ssh_buffer_struct *buffer, uint64_t data)
|
||||||
if (buffer_add_data(buffer, &data, sizeof(data)) < 0) {
|
{
|
||||||
return -1;
|
int rc;
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
rc = ssh_buffer_add_data(buffer, &data, sizeof(data));
|
||||||
|
if (rc < 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -298,12 +311,16 @@ int buffer_add_u64(struct ssh_buffer_struct *buffer, uint64_t data){
|
|||||||
*
|
*
|
||||||
* @return 0 on success, -1 on error.
|
* @return 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
int buffer_add_u8(struct ssh_buffer_struct *buffer,uint8_t data){
|
int buffer_add_u8(struct ssh_buffer_struct *buffer,uint8_t data)
|
||||||
if (buffer_add_data(buffer, &data, sizeof(uint8_t)) < 0) {
|
{
|
||||||
return -1;
|
int rc;
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
rc = ssh_buffer_add_data(buffer, &data, sizeof(uint8_t));
|
||||||
|
if (rc < 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -361,12 +378,18 @@ int buffer_prepend_data(struct ssh_buffer_struct *buffer, const void *data,
|
|||||||
* @return 0 on success, -1 on error.
|
* @return 0 on success, -1 on error.
|
||||||
*/
|
*/
|
||||||
int buffer_add_buffer(struct ssh_buffer_struct *buffer,
|
int buffer_add_buffer(struct ssh_buffer_struct *buffer,
|
||||||
struct ssh_buffer_struct *source) {
|
struct ssh_buffer_struct *source)
|
||||||
if (buffer_add_data(buffer, buffer_get_rest(source), buffer_get_rest_len(source)) < 0) {
|
{
|
||||||
return -1;
|
int rc;
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
rc = ssh_buffer_add_data(buffer,
|
||||||
|
buffer_get_rest(source),
|
||||||
|
buffer_get_rest_len(source));
|
||||||
|
if (rc < 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -879,7 +879,7 @@ int channel_default_bufferize(ssh_channel channel, void *data, int len,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buffer_add_data(channel->stdout_buffer, data, len) < 0) {
|
if (ssh_buffer_add_data(channel->stdout_buffer, data, len) < 0) {
|
||||||
ssh_set_error_oom(session);
|
ssh_set_error_oom(session);
|
||||||
ssh_buffer_free(channel->stdout_buffer);
|
ssh_buffer_free(channel->stdout_buffer);
|
||||||
channel->stdout_buffer = NULL;
|
channel->stdout_buffer = NULL;
|
||||||
@ -895,7 +895,7 @@ int channel_default_bufferize(ssh_channel channel, void *data, int len,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buffer_add_data(channel->stderr_buffer, data, len) < 0) {
|
if (ssh_buffer_add_data(channel->stderr_buffer, data, len) < 0) {
|
||||||
ssh_set_error_oom(session);
|
ssh_set_error_oom(session);
|
||||||
ssh_buffer_free(channel->stderr_buffer);
|
ssh_buffer_free(channel->stderr_buffer);
|
||||||
channel->stderr_buffer = NULL;
|
channel->stderr_buffer = NULL;
|
||||||
@ -1389,7 +1389,7 @@ static int channel_write_common(ssh_channel channel,
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = buffer_add_data(session->out_buffer, data, effectivelen);
|
rc = ssh_buffer_add_data(session->out_buffer, data, effectivelen);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
ssh_set_error_oom(session);
|
ssh_set_error_oom(session);
|
||||||
goto error;
|
goto error;
|
||||||
@ -1619,7 +1619,7 @@ static int channel_request(ssh_channel channel, const char *request,
|
|||||||
ssh_string_free(req);
|
ssh_string_free(req);
|
||||||
|
|
||||||
if (buffer != NULL) {
|
if (buffer != NULL) {
|
||||||
if (buffer_add_data(session->out_buffer, buffer_get_rest(buffer),
|
if (ssh_buffer_add_data(session->out_buffer, buffer_get_rest(buffer),
|
||||||
buffer_get_rest_len(buffer)) < 0) {
|
buffer_get_rest_len(buffer)) < 0) {
|
||||||
ssh_set_error_oom(session);
|
ssh_set_error_oom(session);
|
||||||
goto error;
|
goto error;
|
||||||
@ -2184,7 +2184,7 @@ static int global_request(ssh_session session, const char *request,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (buffer != NULL) {
|
if (buffer != NULL) {
|
||||||
rc = buffer_add_data(session->out_buffer,
|
rc = ssh_buffer_add_data(session->out_buffer,
|
||||||
buffer_get_rest(buffer),
|
buffer_get_rest(buffer),
|
||||||
buffer_get_rest_len(buffer));
|
buffer_get_rest_len(buffer));
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
@ -2664,7 +2664,7 @@ int channel_read_buffer(ssh_channel channel, ssh_buffer buffer, uint32_t count,
|
|||||||
if(r < 0){
|
if(r < 0){
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
if(buffer_add_data(buffer,buffer_tmp,r) < 0){
|
if(ssh_buffer_add_data(buffer,buffer_tmp,r) < 0){
|
||||||
ssh_set_error_oom(session);
|
ssh_set_error_oom(session);
|
||||||
r = SSH_ERROR;
|
r = SSH_ERROR;
|
||||||
}
|
}
|
||||||
@ -2685,7 +2685,7 @@ int channel_read_buffer(ssh_channel channel, ssh_buffer buffer, uint32_t count,
|
|||||||
if(r==0){
|
if(r==0){
|
||||||
return total;
|
return total;
|
||||||
}
|
}
|
||||||
if(buffer_add_data(buffer,buffer_tmp,r) < 0){
|
if (ssh_buffer_add_data(buffer,buffer_tmp,r) < 0) {
|
||||||
ssh_set_error_oom(session);
|
ssh_set_error_oom(session);
|
||||||
|
|
||||||
return SSH_ERROR;
|
return SSH_ERROR;
|
||||||
|
@ -356,7 +356,7 @@ int channel_write1(ssh_channel channel, const void *data, int len) {
|
|||||||
effectivelen = len > 32000 ? 32000 : len;
|
effectivelen = len > 32000 ? 32000 : len;
|
||||||
|
|
||||||
if (buffer_add_u32(session->out_buffer, htonl(effectivelen)) < 0 ||
|
if (buffer_add_u32(session->out_buffer, htonl(effectivelen)) < 0 ||
|
||||||
buffer_add_data(session->out_buffer, ptr, effectivelen) < 0) {
|
ssh_buffer_add_data(session->out_buffer, ptr, effectivelen) < 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
22
src/dh.c
22
src/dh.c
@ -655,7 +655,7 @@ int make_sessionid(ssh_session session) {
|
|||||||
if (buffer_add_u32(buf,len) < 0) {
|
if (buffer_add_u32(buf,len) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (buffer_add_data(buf, buffer_get_rest(client_hash),
|
if (ssh_buffer_add_data(buf, buffer_get_rest(client_hash),
|
||||||
buffer_get_rest_len(client_hash)) < 0) {
|
buffer_get_rest_len(client_hash)) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -664,13 +664,13 @@ int make_sessionid(ssh_session session) {
|
|||||||
if (buffer_add_u32(buf, len) < 0) {
|
if (buffer_add_u32(buf, len) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (buffer_add_data(buf, buffer_get_rest(server_hash),
|
if (ssh_buffer_add_data(buf, buffer_get_rest(server_hash),
|
||||||
buffer_get_rest_len(server_hash)) < 0) {
|
buffer_get_rest_len(server_hash)) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
len = ssh_string_len(session->next_crypto->server_pubkey) + 4;
|
len = ssh_string_len(session->next_crypto->server_pubkey) + 4;
|
||||||
if (buffer_add_data(buf, session->next_crypto->server_pubkey, len) < 0) {
|
if (ssh_buffer_add_data(buf, session->next_crypto->server_pubkey, len) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if(session->next_crypto->kex_type == SSH_KEX_DH_GROUP1_SHA1 ||
|
if(session->next_crypto->kex_type == SSH_KEX_DH_GROUP1_SHA1 ||
|
||||||
@ -682,7 +682,7 @@ int make_sessionid(ssh_session session) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
len = ssh_string_len(num) + 4;
|
len = ssh_string_len(num) + 4;
|
||||||
if (buffer_add_data(buf, num, len) < 0) {
|
if (ssh_buffer_add_data(buf, num, len) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -693,7 +693,7 @@ int make_sessionid(ssh_session session) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
len = ssh_string_len(num) + 4;
|
len = ssh_string_len(num) + 4;
|
||||||
if (buffer_add_data(buf, num, len) < 0) {
|
if (ssh_buffer_add_data(buf, num, len) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -717,10 +717,10 @@ int make_sessionid(ssh_session session) {
|
|||||||
#ifdef HAVE_CURVE25519
|
#ifdef HAVE_CURVE25519
|
||||||
} else if(session->next_crypto->kex_type == SSH_KEX_CURVE25519_SHA256_LIBSSH_ORG){
|
} else if(session->next_crypto->kex_type == SSH_KEX_CURVE25519_SHA256_LIBSSH_ORG){
|
||||||
rc = buffer_add_u32(buf, htonl(CURVE25519_PUBKEY_SIZE));
|
rc = buffer_add_u32(buf, htonl(CURVE25519_PUBKEY_SIZE));
|
||||||
rc += buffer_add_data(buf, session->next_crypto->curve25519_client_pubkey,
|
rc += ssh_buffer_add_data(buf, session->next_crypto->curve25519_client_pubkey,
|
||||||
CURVE25519_PUBKEY_SIZE);
|
CURVE25519_PUBKEY_SIZE);
|
||||||
rc += buffer_add_u32(buf, htonl(CURVE25519_PUBKEY_SIZE));
|
rc += buffer_add_u32(buf, htonl(CURVE25519_PUBKEY_SIZE));
|
||||||
rc += buffer_add_data(buf, session->next_crypto->curve25519_server_pubkey,
|
rc += ssh_buffer_add_data(buf, session->next_crypto->curve25519_server_pubkey,
|
||||||
CURVE25519_PUBKEY_SIZE);
|
CURVE25519_PUBKEY_SIZE);
|
||||||
if (rc != SSH_OK) {
|
if (rc != SSH_OK) {
|
||||||
goto error;
|
goto error;
|
||||||
@ -733,7 +733,7 @@ int make_sessionid(ssh_session session) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
len = ssh_string_len(num) + 4;
|
len = ssh_string_len(num) + 4;
|
||||||
if (buffer_add_data(buf, num, len) < 0) {
|
if (ssh_buffer_add_data(buf, num, len) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -813,13 +813,13 @@ int hashbufout_add_cookie(ssh_session session) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (session->server) {
|
if (session->server) {
|
||||||
if (buffer_add_data(session->out_hashbuf,
|
if (ssh_buffer_add_data(session->out_hashbuf,
|
||||||
session->next_crypto->server_kex.cookie, 16) < 0) {
|
session->next_crypto->server_kex.cookie, 16) < 0) {
|
||||||
ssh_buffer_reinit(session->out_hashbuf);
|
ssh_buffer_reinit(session->out_hashbuf);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (buffer_add_data(session->out_hashbuf,
|
if (ssh_buffer_add_data(session->out_hashbuf,
|
||||||
session->next_crypto->client_kex.cookie, 16) < 0) {
|
session->next_crypto->client_kex.cookie, 16) < 0) {
|
||||||
ssh_buffer_reinit(session->out_hashbuf);
|
ssh_buffer_reinit(session->out_hashbuf);
|
||||||
return -1;
|
return -1;
|
||||||
@ -839,7 +839,7 @@ int hashbufin_add_cookie(ssh_session session, unsigned char *cookie) {
|
|||||||
ssh_buffer_reinit(session->in_hashbuf);
|
ssh_buffer_reinit(session->in_hashbuf);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (buffer_add_data(session->in_hashbuf,cookie, 16) < 0) {
|
if (ssh_buffer_add_data(session->in_hashbuf,cookie, 16) < 0) {
|
||||||
ssh_buffer_reinit(session->in_hashbuf);
|
ssh_buffer_reinit(session->in_hashbuf);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -889,7 +889,7 @@ static int ssh_gssapi_send_mic(ssh_session session){
|
|||||||
return SSH_ERROR;
|
return SSH_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = buffer_add_data(session->out_buffer, mic_token_buf.value, mic_token_buf.length);
|
rc = ssh_buffer_add_data(session->out_buffer, mic_token_buf.value, mic_token_buf.length);
|
||||||
ssh_buffer_free(mic_buffer);
|
ssh_buffer_free(mic_buffer);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
ssh_set_error_oom(session);
|
ssh_set_error_oom(session);
|
||||||
|
@ -90,7 +90,7 @@ static ssh_buffer gzip_compress(ssh_session session,ssh_buffer source,int level)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
len = BLOCKSIZE - zout->avail_out;
|
len = BLOCKSIZE - zout->avail_out;
|
||||||
if (buffer_add_data(dest, out_buf, len) < 0) {
|
if (ssh_buffer_add_data(dest, out_buf, len) < 0) {
|
||||||
ssh_buffer_free(dest);
|
ssh_buffer_free(dest);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -113,7 +113,7 @@ int compress_buffer(ssh_session session, ssh_buffer buf) {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buffer_add_data(buf, buffer_get_rest(dest), buffer_get_rest_len(dest)) < 0) {
|
if (ssh_buffer_add_data(buf, buffer_get_rest(dest), buffer_get_rest_len(dest)) < 0) {
|
||||||
ssh_buffer_free(dest);
|
ssh_buffer_free(dest);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -181,7 +181,7 @@ static ssh_buffer gzip_decompress(ssh_session session, ssh_buffer source, size_t
|
|||||||
}
|
}
|
||||||
|
|
||||||
len = BLOCKSIZE - zin->avail_out;
|
len = BLOCKSIZE - zin->avail_out;
|
||||||
if (buffer_add_data(dest,out_buf,len) < 0) {
|
if (ssh_buffer_add_data(dest,out_buf,len) < 0) {
|
||||||
ssh_buffer_free(dest);
|
ssh_buffer_free(dest);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -209,7 +209,7 @@ int decompress_buffer(ssh_session session,ssh_buffer buf, size_t maxlen){
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buffer_add_data(buf, buffer_get_rest(dest), buffer_get_rest_len(dest)) < 0) {
|
if (ssh_buffer_add_data(buf, buffer_get_rest(dest), buffer_get_rest_len(dest)) < 0) {
|
||||||
ssh_buffer_free(dest);
|
ssh_buffer_free(dest);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -438,7 +438,7 @@ int ssh_send_kex(ssh_session session, int server_kex) {
|
|||||||
if (buffer_add_u8(session->out_buffer, SSH2_MSG_KEXINIT) < 0) {
|
if (buffer_add_u8(session->out_buffer, SSH2_MSG_KEXINIT) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (buffer_add_data(session->out_buffer, kex->cookie, 16) < 0) {
|
if (ssh_buffer_add_data(session->out_buffer, kex->cookie, 16) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -417,7 +417,7 @@ SSH_PACKET_CALLBACK(ssh_packet_publickey1){
|
|||||||
if (buffer_add_u8(session->out_buffer, support_3DES ? SSH_CIPHER_3DES : SSH_CIPHER_DES) < 0) {
|
if (buffer_add_u8(session->out_buffer, support_3DES ? SSH_CIPHER_3DES : SSH_CIPHER_DES) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (buffer_add_data(session->out_buffer, session->next_crypto->server_kex.cookie, 8) < 0) {
|
if (ssh_buffer_add_data(session->out_buffer, session->next_crypto->server_kex.cookie, 8) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -431,10 +431,10 @@ SSH_PACKET_CALLBACK(ssh_packet_publickey1){
|
|||||||
bits, ssh_string_len(enc_session));
|
bits, ssh_string_len(enc_session));
|
||||||
bits = htons(bits);
|
bits = htons(bits);
|
||||||
/* the encrypted mpint */
|
/* the encrypted mpint */
|
||||||
if (buffer_add_data(session->out_buffer, &bits, sizeof(uint16_t)) < 0) {
|
if (ssh_buffer_add_data(session->out_buffer, &bits, sizeof(uint16_t)) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (buffer_add_data(session->out_buffer, ssh_string_data(enc_session),
|
if (ssh_buffer_add_data(session->out_buffer, ssh_string_data(enc_session),
|
||||||
ssh_string_len(enc_session)) < 0) {
|
ssh_string_len(enc_session)) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
@ -192,7 +192,7 @@ int ssh_packet_socket_callback(const void *data, size_t receivedlen, void *user)
|
|||||||
processed += blocksize;
|
processed += blocksize;
|
||||||
len = packet_decrypt_len(session, buffer);
|
len = packet_decrypt_len(session, buffer);
|
||||||
|
|
||||||
rc = buffer_add_data(session->in_buffer, buffer, blocksize);
|
rc = ssh_buffer_add_data(session->in_buffer, buffer, blocksize);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
@ -237,7 +237,7 @@ int ssh_packet_socket_callback(const void *data, size_t receivedlen, void *user)
|
|||||||
to_be_read - current_macsize);
|
to_be_read - current_macsize);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
rc = buffer_add_data(session->in_buffer,
|
rc = ssh_buffer_add_data(session->in_buffer,
|
||||||
packet,
|
packet,
|
||||||
to_be_read - current_macsize);
|
to_be_read - current_macsize);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
@ -534,7 +534,7 @@ static int packet_send2(ssh_session session) {
|
|||||||
if (buffer_prepend_data(session->out_buffer, &finallen, sizeof(uint32_t)) < 0) {
|
if (buffer_prepend_data(session->out_buffer, &finallen, sizeof(uint32_t)) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (buffer_add_data(session->out_buffer, padstring, padding) < 0) {
|
if (ssh_buffer_add_data(session->out_buffer, padstring, padding) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
#ifdef WITH_PCAP
|
#ifdef WITH_PCAP
|
||||||
@ -547,7 +547,7 @@ static int packet_send2(ssh_session session) {
|
|||||||
hmac = packet_encrypt(session, buffer_get_rest(session->out_buffer),
|
hmac = packet_encrypt(session, buffer_get_rest(session->out_buffer),
|
||||||
buffer_get_rest_len(session->out_buffer));
|
buffer_get_rest_len(session->out_buffer));
|
||||||
if (hmac) {
|
if (hmac) {
|
||||||
if (buffer_add_data(session->out_buffer, hmac, 20) < 0) {
|
if (ssh_buffer_add_data(session->out_buffer, hmac, 20) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -155,7 +155,7 @@ int ssh_packet_socket_callback1(const void *data, size_t receivedlen, void *user
|
|||||||
/* it is _not_ possible that to_be_read be < 8. */
|
/* it is _not_ possible that to_be_read be < 8. */
|
||||||
packet = (char *)data + processed;
|
packet = (char *)data + processed;
|
||||||
|
|
||||||
if (buffer_add_data(session->in_buffer,packet,to_be_read) < 0) {
|
if (ssh_buffer_add_data(session->in_buffer,packet,to_be_read) < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
processed += to_be_read;
|
processed += to_be_read;
|
||||||
|
@ -486,7 +486,7 @@ int ssh_pcap_context_write(ssh_pcap_context ctx,enum ssh_pcap_direction directio
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
/* actual data */
|
/* actual data */
|
||||||
err = buffer_add_data(ip,data,len);
|
err = ssh_buffer_add_data(ip, data, len);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
@ -811,7 +811,7 @@ int ssh_pki_import_pubkey_blob(const ssh_string key_blob,
|
|||||||
return SSH_ERROR;
|
return SSH_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = buffer_add_data(buffer, ssh_string_data(key_blob),
|
rc = ssh_buffer_add_data(buffer, ssh_string_data(key_blob),
|
||||||
ssh_string_len(key_blob));
|
ssh_string_len(key_blob));
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
ssh_pki_log("Out of memory!");
|
ssh_pki_log("Out of memory!");
|
||||||
@ -1236,9 +1236,9 @@ int ssh_pki_import_signature_blob(const ssh_string sig_blob,
|
|||||||
return SSH_ERROR;
|
return SSH_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = buffer_add_data(buf,
|
rc = ssh_buffer_add_data(buf,
|
||||||
ssh_string_data(sig_blob),
|
ssh_string_data(sig_blob),
|
||||||
ssh_string_len(sig_blob));
|
ssh_string_len(sig_blob));
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
ssh_buffer_free(buf);
|
ssh_buffer_free(buf);
|
||||||
return SSH_ERROR;
|
return SSH_ERROR;
|
||||||
|
@ -1303,9 +1303,9 @@ ssh_signature pki_signature_from_blob(const ssh_key pubkey,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = buffer_add_data(b,
|
rc = ssh_buffer_add_data(b,
|
||||||
ssh_string_data(sig_blob),
|
ssh_string_data(sig_blob),
|
||||||
ssh_string_len(sig_blob));
|
ssh_string_len(sig_blob));
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
ssh_buffer_free(b);
|
ssh_buffer_free(b);
|
||||||
ssh_signature_free(sig);
|
ssh_signature_free(sig);
|
||||||
|
@ -332,7 +332,7 @@ sftp_packet sftp_packet_read(sftp_session sftp) {
|
|||||||
SAFE_FREE(packet);
|
SAFE_FREE(packet);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
buffer_add_data(packet->payload,buffer, r);
|
ssh_buffer_add_data(packet->payload, buffer, r);
|
||||||
if (buffer_get_u32(packet->payload, &size) != sizeof(uint32_t)) {
|
if (buffer_get_u32(packet->payload, &size) != sizeof(uint32_t)) {
|
||||||
ssh_set_error(sftp->session, SSH_FATAL, "Short sftp packet!");
|
ssh_set_error(sftp->session, SSH_FATAL, "Short sftp packet!");
|
||||||
ssh_buffer_free(packet->payload);
|
ssh_buffer_free(packet->payload);
|
||||||
@ -348,7 +348,7 @@ sftp_packet sftp_packet_read(sftp_session sftp) {
|
|||||||
SAFE_FREE(packet);
|
SAFE_FREE(packet);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
buffer_add_data(packet->payload, buffer, r);
|
ssh_buffer_add_data(packet->payload, buffer, r);
|
||||||
buffer_get_u8(packet->payload, &packet->type);
|
buffer_get_u8(packet->payload, &packet->type);
|
||||||
size=size-1;
|
size=size-1;
|
||||||
while (size>0){
|
while (size>0){
|
||||||
@ -361,7 +361,7 @@ sftp_packet sftp_packet_read(sftp_session sftp) {
|
|||||||
SAFE_FREE(packet);
|
SAFE_FREE(packet);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if(buffer_add_data(packet->payload,buffer,r)==SSH_ERROR){
|
if (ssh_buffer_add_data(packet->payload, buffer, r) == SSH_ERROR) {
|
||||||
ssh_buffer_free(packet->payload);
|
ssh_buffer_free(packet->payload);
|
||||||
SAFE_FREE(packet);
|
SAFE_FREE(packet);
|
||||||
ssh_set_error_oom(sftp->session);
|
ssh_set_error_oom(sftp->session);
|
||||||
@ -451,7 +451,7 @@ static sftp_message sftp_get_message(sftp_packet packet) {
|
|||||||
msg->id,
|
msg->id,
|
||||||
msg->packet_type);
|
msg->packet_type);
|
||||||
|
|
||||||
if (buffer_add_data(msg->payload, buffer_get_rest(packet->payload),
|
if (ssh_buffer_add_data(msg->payload, buffer_get_rest(packet->payload),
|
||||||
buffer_get_rest_len(packet->payload)) < 0) {
|
buffer_get_rest_len(packet->payload)) < 0) {
|
||||||
ssh_set_error_oom(sftp->session);
|
ssh_set_error_oom(sftp->session);
|
||||||
sftp_message_free(msg);
|
sftp_message_free(msg);
|
||||||
|
@ -64,7 +64,9 @@ sftp_client_message sftp_get_client_message(sftp_session sftp) {
|
|||||||
|
|
||||||
/* take a copy of the whole packet */
|
/* take a copy of the whole packet */
|
||||||
msg->complete_message = ssh_buffer_new();
|
msg->complete_message = ssh_buffer_new();
|
||||||
buffer_add_data(msg->complete_message, buffer_get_rest(payload), buffer_get_rest_len(payload));
|
ssh_buffer_add_data(msg->complete_message,
|
||||||
|
buffer_get_rest(payload),
|
||||||
|
buffer_get_rest_len(payload));
|
||||||
|
|
||||||
buffer_get_u32(payload, &msg->id);
|
buffer_get_u32(payload, &msg->id);
|
||||||
|
|
||||||
@ -407,7 +409,7 @@ int sftp_reply_names(sftp_client_message msg) {
|
|||||||
|
|
||||||
if (buffer_add_u32(out, msg->id) < 0 ||
|
if (buffer_add_u32(out, msg->id) < 0 ||
|
||||||
buffer_add_u32(out, htonl(msg->attr_num)) < 0 ||
|
buffer_add_u32(out, htonl(msg->attr_num)) < 0 ||
|
||||||
buffer_add_data(out, buffer_get_rest(msg->attrbuf),
|
ssh_buffer_add_data(out, buffer_get_rest(msg->attrbuf),
|
||||||
buffer_get_rest_len(msg->attrbuf)) < 0 ||
|
buffer_get_rest_len(msg->attrbuf)) < 0 ||
|
||||||
sftp_packet_write(msg->sftp, SSH_FXP_NAME, out) < 0) {
|
sftp_packet_write(msg->sftp, SSH_FXP_NAME, out) < 0) {
|
||||||
ssh_buffer_free(out);
|
ssh_buffer_free(out);
|
||||||
@ -466,7 +468,7 @@ int sftp_reply_data(sftp_client_message msg, const void *data, int len) {
|
|||||||
|
|
||||||
if (buffer_add_u32(out, msg->id) < 0 ||
|
if (buffer_add_u32(out, msg->id) < 0 ||
|
||||||
buffer_add_u32(out, ntohl(len)) < 0 ||
|
buffer_add_u32(out, ntohl(len)) < 0 ||
|
||||||
buffer_add_data(out, data, len) < 0 ||
|
ssh_buffer_add_data(out, data, len) < 0 ||
|
||||||
sftp_packet_write(msg->sftp, SSH_FXP_DATA, out) < 0) {
|
sftp_packet_write(msg->sftp, SSH_FXP_DATA, out) < 0) {
|
||||||
ssh_buffer_free(out);
|
ssh_buffer_free(out);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -281,7 +281,7 @@ int ssh_socket_pollcallback(struct ssh_poll_handle_struct *p, socket_t fd, int r
|
|||||||
}
|
}
|
||||||
if(r>0){
|
if(r>0){
|
||||||
/* Bufferize the data and then call the callback */
|
/* Bufferize the data and then call the callback */
|
||||||
r = buffer_add_data(s->in_buffer,buffer,r);
|
r = ssh_buffer_add_data(s->in_buffer,buffer,r);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -606,7 +606,7 @@ void ssh_socket_fd_set(ssh_socket s, fd_set *set, socket_t *max_fd) {
|
|||||||
*/
|
*/
|
||||||
int ssh_socket_write(ssh_socket s, const void *buffer, int len) {
|
int ssh_socket_write(ssh_socket s, const void *buffer, int len) {
|
||||||
if(len > 0) {
|
if(len > 0) {
|
||||||
if (buffer_add_data(s->out_buffer, buffer, len) < 0) {
|
if (ssh_buffer_add_data(s->out_buffer, buffer, len) < 0) {
|
||||||
ssh_set_error_oom(s->session);
|
ssh_set_error_oom(s->session);
|
||||||
return SSH_ERROR;
|
return SSH_ERROR;
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ static void torture_growing_buffer(void **state) {
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
for(i=0;i<LIMIT;++i){
|
for(i=0;i<LIMIT;++i){
|
||||||
buffer_add_data(buffer,"A",1);
|
ssh_buffer_add_data(buffer,"A",1);
|
||||||
if(buffer->used >= 128){
|
if(buffer->used >= 128){
|
||||||
if(buffer_get_rest_len(buffer) * 2 < buffer->allocated){
|
if(buffer_get_rest_len(buffer) * 2 < buffer->allocated){
|
||||||
assert_true(buffer_get_rest_len(buffer) * 2 >= buffer->allocated);
|
assert_true(buffer_get_rest_len(buffer) * 2 >= buffer->allocated);
|
||||||
@ -43,11 +43,11 @@ static void torture_growing_buffer_shifting(void **state) {
|
|||||||
int i;
|
int i;
|
||||||
unsigned char c;
|
unsigned char c;
|
||||||
for(i=0; i<1024;++i){
|
for(i=0; i<1024;++i){
|
||||||
buffer_add_data(buffer,"S",1);
|
ssh_buffer_add_data(buffer,"S",1);
|
||||||
}
|
}
|
||||||
for(i=0;i<LIMIT;++i){
|
for(i=0;i<LIMIT;++i){
|
||||||
buffer_get_u8(buffer,&c);
|
buffer_get_u8(buffer,&c);
|
||||||
buffer_add_data(buffer,"A",1);
|
ssh_buffer_add_data(buffer,"A",1);
|
||||||
if(buffer->used >= 128){
|
if(buffer->used >= 128){
|
||||||
if(buffer_get_rest_len(buffer) * 4 < buffer->allocated){
|
if(buffer_get_rest_len(buffer) * 4 < buffer->allocated){
|
||||||
assert_true(buffer_get_rest_len(buffer) * 4 >= buffer->allocated);
|
assert_true(buffer_get_rest_len(buffer) * 4 >= buffer->allocated);
|
||||||
@ -63,7 +63,7 @@ static void torture_growing_buffer_shifting(void **state) {
|
|||||||
static void torture_buffer_prepend(void **state) {
|
static void torture_buffer_prepend(void **state) {
|
||||||
ssh_buffer buffer = *state;
|
ssh_buffer buffer = *state;
|
||||||
uint32_t v;
|
uint32_t v;
|
||||||
buffer_add_data(buffer,"abcdef",6);
|
ssh_buffer_add_data(buffer,"abcdef",6);
|
||||||
buffer_prepend_data(buffer,"xyz",3);
|
buffer_prepend_data(buffer,"xyz",3);
|
||||||
assert_int_equal(buffer_get_rest_len(buffer),9);
|
assert_int_equal(buffer_get_rest_len(buffer),9);
|
||||||
assert_memory_equal(buffer_get_rest(buffer), "xyzabcdef", 9);
|
assert_memory_equal(buffer_get_rest(buffer), "xyzabcdef", 9);
|
||||||
@ -109,7 +109,7 @@ static void torture_buffer_get_ssh_string(void **state) {
|
|||||||
rc = buffer_add_u32(buffer,htonl(values[i]));
|
rc = buffer_add_u32(buffer,htonl(values[i]));
|
||||||
assert_int_equal(rc, 0);
|
assert_int_equal(rc, 0);
|
||||||
}
|
}
|
||||||
rc = buffer_add_data(buffer,data,j);
|
rc = ssh_buffer_add_data(buffer,data,j);
|
||||||
assert_int_equal(rc, 0);
|
assert_int_equal(rc, 0);
|
||||||
for(l=0;l<k;++l){
|
for(l=0;l<k;++l){
|
||||||
ssh_string str = buffer_get_ssh_string(buffer);
|
ssh_string str = buffer_get_ssh_string(buffer);
|
||||||
|
Reference in New Issue
Block a user