mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-11 18:50:28 +09:00
Reformat sftp_common.c according to current coding style.
Signed-off-by: Eshan Kelkar <eshankelkar@galorithm.com> Reviewed-by: Sahana Prasad <sahana@redhat.com> Reviewed-by: Jakub Jelen <jjelen@redhat.com>
This commit is contained in:
committed by
Sahana Prasad
parent
c3e03ab465
commit
7455b6ae64
@@ -75,7 +75,7 @@ sftp_packet sftp_packet_read(sftp_session sftp)
|
||||
do {
|
||||
int s;
|
||||
|
||||
// read from channel until 4 bytes have been read or an error occurs
|
||||
/* read from channel until 4 bytes have been read or an error occurs */
|
||||
s = ssh_channel_read(sftp->channel, tmpbuf + nread, 4 - nread, 0);
|
||||
if (s < 0) {
|
||||
goto error;
|
||||
@@ -246,6 +246,7 @@ int buffer_add_attributes(ssh_buffer buffer, sftp_attributes attr)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -254,9 +255,11 @@ int buffer_add_attributes(ssh_buffer buffer, sftp_attributes attr)
|
||||
* baselines from the protocol version 4.
|
||||
* This code is more or less dead but maybe we will need it in the future.
|
||||
*/
|
||||
static sftp_attributes sftp_parse_attr_4(sftp_session sftp, ssh_buffer buf,
|
||||
int expectnames) {
|
||||
sftp_attributes attr;
|
||||
static sftp_attributes sftp_parse_attr_4(sftp_session sftp,
|
||||
ssh_buffer buf,
|
||||
int expectnames)
|
||||
{
|
||||
sftp_attributes attr = NULL;
|
||||
ssh_string owner = NULL;
|
||||
ssh_string group = NULL;
|
||||
uint32_t flags = 0;
|
||||
@@ -393,9 +396,9 @@ static sftp_attributes sftp_parse_attr_4(sftp_session sftp, ssh_buffer buf,
|
||||
}
|
||||
attr->extended_count = ntohl(attr->extended_count);
|
||||
|
||||
while(attr->extended_count &&
|
||||
while (attr->extended_count &&
|
||||
(attr->extended_type = ssh_buffer_get_ssh_string(buf)) &&
|
||||
(attr->extended_data = ssh_buffer_get_ssh_string(buf))){
|
||||
(attr->extended_data = ssh_buffer_get_ssh_string(buf))) {
|
||||
attr->extended_count--;
|
||||
}
|
||||
|
||||
@@ -434,18 +437,22 @@ enum sftp_longname_field_e {
|
||||
SFTP_LONGNAME_NAME,
|
||||
};
|
||||
|
||||
static char *sftp_parse_longname(const char *longname,
|
||||
enum sftp_longname_field_e longname_field) {
|
||||
static char * sftp_parse_longname(const char *longname,
|
||||
enum sftp_longname_field_e longname_field)
|
||||
{
|
||||
const char *p, *q;
|
||||
size_t len, field = 0;
|
||||
|
||||
p = longname;
|
||||
/* Find the beginning of the field which is specified by sftp_longname_field_e. */
|
||||
while(field != longname_field) {
|
||||
if(isspace(*p)) {
|
||||
/*
|
||||
* Find the beginning of the field which is specified
|
||||
* by sftp_longname_field_e.
|
||||
*/
|
||||
while (field != longname_field) {
|
||||
if (isspace(*p)) {
|
||||
field++;
|
||||
p++;
|
||||
while(*p && isspace(*p)) {
|
||||
while (*p && isspace(*p)) {
|
||||
p++;
|
||||
}
|
||||
} else {
|
||||
@@ -478,8 +485,10 @@ static char *sftp_parse_longname(const char *longname,
|
||||
string extended_data
|
||||
... more extended data (extended_type - extended_data pairs),
|
||||
so that number of pairs equals extended_count */
|
||||
static sftp_attributes sftp_parse_attr_3(sftp_session sftp, ssh_buffer buf,
|
||||
int expectname) {
|
||||
static sftp_attributes sftp_parse_attr_3(sftp_session sftp,
|
||||
ssh_buffer buf,
|
||||
int expectname)
|
||||
{
|
||||
sftp_attributes attr;
|
||||
int rc;
|
||||
|
||||
@@ -501,12 +510,14 @@ static sftp_attributes sftp_parse_attr_3(sftp_session sftp, ssh_buffer buf,
|
||||
|
||||
/* Set owner and group if we talk to openssh and have the longname */
|
||||
if (ssh_get_openssh_version(sftp->session)) {
|
||||
attr->owner = sftp_parse_longname(attr->longname, SFTP_LONGNAME_OWNER);
|
||||
attr->owner = sftp_parse_longname(attr->longname,
|
||||
SFTP_LONGNAME_OWNER);
|
||||
if (attr->owner == NULL) {
|
||||
goto error;
|
||||
}
|
||||
|
||||
attr->group = sftp_parse_longname(attr->longname, SFTP_LONGNAME_GROUP);
|
||||
attr->group = sftp_parse_longname(attr->longname,
|
||||
SFTP_LONGNAME_GROUP);
|
||||
if (attr->group == NULL) {
|
||||
goto error;
|
||||
}
|
||||
@@ -534,14 +545,14 @@ static sftp_attributes sftp_parse_attr_3(sftp_session sftp, ssh_buffer buf,
|
||||
rc = ssh_buffer_unpack(buf, "dd",
|
||||
&attr->uid,
|
||||
&attr->gid);
|
||||
if (rc != SSH_OK){
|
||||
if (rc != SSH_OK) {
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
|
||||
if (attr->flags & SSH_FILEXFER_ATTR_PERMISSIONS) {
|
||||
rc = ssh_buffer_unpack(buf, "d", &attr->permissions);
|
||||
if (rc != SSH_OK){
|
||||
if (rc != SSH_OK) {
|
||||
goto error;
|
||||
}
|
||||
|
||||
@@ -571,29 +582,29 @@ static sftp_attributes sftp_parse_attr_3(sftp_session sftp, ssh_buffer buf,
|
||||
rc = ssh_buffer_unpack(buf, "dd",
|
||||
&attr->atime,
|
||||
&attr->mtime);
|
||||
if (rc != SSH_OK){
|
||||
if (rc != SSH_OK) {
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
|
||||
if (attr->flags & SSH_FILEXFER_ATTR_EXTENDED) {
|
||||
rc = ssh_buffer_unpack(buf, "d", &attr->extended_count);
|
||||
if (rc != SSH_OK){
|
||||
if (rc != SSH_OK) {
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (attr->extended_count > 0){
|
||||
if (attr->extended_count > 0) {
|
||||
rc = ssh_buffer_unpack(buf, "ss",
|
||||
&attr->extended_type,
|
||||
&attr->extended_data);
|
||||
if (rc != SSH_OK){
|
||||
if (rc != SSH_OK) {
|
||||
goto error;
|
||||
}
|
||||
attr->extended_count--;
|
||||
}
|
||||
/* just ignore the remaining extensions */
|
||||
|
||||
while (attr->extended_count > 0){
|
||||
while (attr->extended_count > 0) {
|
||||
ssh_string tmp1,tmp2;
|
||||
rc = ssh_buffer_unpack(buf, "SS", &tmp1, &tmp2);
|
||||
if (rc != SSH_OK){
|
||||
@@ -607,7 +618,7 @@ static sftp_attributes sftp_parse_attr_3(sftp_session sftp, ssh_buffer buf,
|
||||
|
||||
return attr;
|
||||
|
||||
error:
|
||||
error:
|
||||
SSH_STRING_FREE(attr->extended_type);
|
||||
SSH_STRING_FREE(attr->extended_data);
|
||||
SAFE_FREE(attr->name);
|
||||
@@ -625,7 +636,7 @@ sftp_attributes sftp_parse_attr(sftp_session session,
|
||||
ssh_buffer buf,
|
||||
int expectname)
|
||||
{
|
||||
switch(session->version) {
|
||||
switch (session->version) {
|
||||
case 4:
|
||||
return sftp_parse_attr_4(session, buf, expectname);
|
||||
case 3:
|
||||
@@ -635,14 +646,16 @@ sftp_attributes sftp_parse_attr(sftp_session session,
|
||||
return sftp_parse_attr_3(session, buf, expectname);
|
||||
default:
|
||||
ssh_set_error(session->session, SSH_FATAL,
|
||||
"Version %d unsupported by client", session->server_version);
|
||||
"Version %d unsupported by client",
|
||||
session->server_version);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void sftp_set_error(sftp_session sftp, int errnum) {
|
||||
void sftp_set_error(sftp_session sftp, int errnum)
|
||||
{
|
||||
if (sftp != NULL) {
|
||||
sftp->errnum = errnum;
|
||||
}
|
||||
@@ -658,7 +671,8 @@ void sftp_message_free(sftp_message msg)
|
||||
SAFE_FREE(msg);
|
||||
}
|
||||
|
||||
static sftp_request_queue request_queue_new(sftp_message msg) {
|
||||
static sftp_request_queue request_queue_new(sftp_message msg)
|
||||
{
|
||||
sftp_request_queue queue = NULL;
|
||||
|
||||
queue = calloc(1, sizeof(struct sftp_request_queue_struct));
|
||||
@@ -673,7 +687,8 @@ static sftp_request_queue request_queue_new(sftp_message msg) {
|
||||
return queue;
|
||||
}
|
||||
|
||||
static void request_queue_free(sftp_request_queue queue) {
|
||||
static void request_queue_free(sftp_request_queue queue)
|
||||
{
|
||||
if (queue == NULL) {
|
||||
return;
|
||||
}
|
||||
@@ -682,7 +697,8 @@ static void request_queue_free(sftp_request_queue queue) {
|
||||
SAFE_FREE(queue);
|
||||
}
|
||||
|
||||
static int sftp_enqueue(sftp_session sftp, sftp_message msg) {
|
||||
static int sftp_enqueue(sftp_session sftp, sftp_message msg)
|
||||
{
|
||||
sftp_request_queue queue = NULL;
|
||||
sftp_request_queue ptr;
|
||||
|
||||
@@ -712,7 +728,8 @@ static int sftp_enqueue(sftp_session sftp, sftp_message msg) {
|
||||
* Pulls a message from the queue based on the ID.
|
||||
* Returns NULL if no message has been found.
|
||||
*/
|
||||
sftp_message sftp_dequeue(sftp_session sftp, uint32_t id){
|
||||
sftp_message sftp_dequeue(sftp_session sftp, uint32_t id)
|
||||
{
|
||||
sftp_request_queue prev = NULL;
|
||||
sftp_request_queue queue;
|
||||
sftp_message msg;
|
||||
@@ -723,7 +740,7 @@ sftp_message sftp_dequeue(sftp_session sftp, uint32_t id){
|
||||
|
||||
queue = sftp->queue;
|
||||
while (queue) {
|
||||
if(queue->message->id == id) {
|
||||
if (queue->message->id == id) {
|
||||
/* remove from queue */
|
||||
if (prev == NULL) {
|
||||
sftp->queue = queue->next;
|
||||
@@ -751,7 +768,7 @@ static sftp_message sftp_get_message(sftp_packet packet)
|
||||
sftp_message msg = NULL;
|
||||
int rc;
|
||||
|
||||
switch(packet->type) {
|
||||
switch (packet->type) {
|
||||
case SSH_FXP_STATUS:
|
||||
case SSH_FXP_HANDLE:
|
||||
case SSH_FXP_DATA:
|
||||
@@ -823,8 +840,9 @@ int sftp_read_and_dispatch(sftp_session sftp)
|
||||
return 0;
|
||||
}
|
||||
|
||||
sftp_status_message parse_status_msg(sftp_message msg){
|
||||
sftp_status_message status;
|
||||
sftp_status_message parse_status_msg(sftp_message msg)
|
||||
{
|
||||
sftp_status_message status = NULL;
|
||||
int rc;
|
||||
|
||||
if (msg->packet_type != SSH_FXP_STATUS) {
|
||||
@@ -844,18 +862,19 @@ sftp_status_message parse_status_msg(sftp_message msg){
|
||||
status->id = msg->id;
|
||||
rc = ssh_buffer_unpack(msg->payload, "d",
|
||||
&status->status);
|
||||
if (rc != SSH_OK){
|
||||
if (rc != SSH_OK) {
|
||||
SAFE_FREE(status);
|
||||
ssh_set_error(msg->sftp->session, SSH_FATAL,
|
||||
"Invalid SSH_FXP_STATUS message");
|
||||
sftp_set_error(msg->sftp, SSH_FX_FAILURE);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
rc = ssh_buffer_unpack(msg->payload, "ss",
|
||||
&status->errormsg,
|
||||
&status->langmsg);
|
||||
|
||||
if(rc != SSH_OK && msg->sftp->version >=3){
|
||||
if (rc != SSH_OK && msg->sftp->version >= 3) {
|
||||
/* These are mandatory from version 3 */
|
||||
SAFE_FREE(status);
|
||||
ssh_set_error(msg->sftp->session, SSH_FATAL,
|
||||
@@ -863,10 +882,13 @@ sftp_status_message parse_status_msg(sftp_message msg){
|
||||
sftp_set_error(msg->sftp, SSH_FX_FAILURE);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (status->errormsg == NULL)
|
||||
status->errormsg = strdup("No error message in packet");
|
||||
|
||||
if (status->langmsg == NULL)
|
||||
status->langmsg = strdup("");
|
||||
|
||||
if (status->errormsg == NULL || status->langmsg == NULL) {
|
||||
ssh_set_error_oom(msg->sftp->session);
|
||||
sftp_set_error(msg->sftp, SSH_FX_FAILURE);
|
||||
@@ -877,7 +899,8 @@ sftp_status_message parse_status_msg(sftp_message msg){
|
||||
return status;
|
||||
}
|
||||
|
||||
void status_msg_free(sftp_status_message status){
|
||||
void status_msg_free(sftp_status_message status)
|
||||
{
|
||||
if (status == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user