From f99fefc587b610996d9f6cc70feaad77a67b44f9 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 11 Mar 2009 10:49:04 +0000 Subject: [PATCH] Replace ssh_say with ssh_log. git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@262 7dcaeef0-15fb-0310-b436-a5af3365683c --- libssh/sftp.c | 68 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 25 deletions(-) diff --git a/libssh/sftp.c b/libssh/sftp.c index d541a7e6..28ce4ebe 100644 --- a/libssh/sftp.c +++ b/libssh/sftp.c @@ -69,6 +69,7 @@ SFTP_SESSION *sftp_server_new(SSH_SESSION *session, CHANNEL *chan){ } int sftp_server_init(SFTP_SESSION *sftp){ + struct ssh_session *session = sftp->session; SFTP_PACKET *packet; BUFFER *reply; u32 version; @@ -80,16 +81,17 @@ int sftp_server_init(SFTP_SESSION *sftp){ return -1; } if(packet->type != SSH_FXP_INIT){ - ssh_set_error(sftp->session,SSH_FATAL,"Packet read of type %d instead of SSH_FXP_INIT", - packet->type); + ssh_set_error(session, SSH_FATAL, + "Packet read of type %d instead of SSH_FXP_INIT", + packet->type); sftp_packet_free(packet); sftp_leave_function(); return -1; } - ssh_say(2,"received SSH_FXP_INIT\n"); + ssh_log(session, SSH_LOG_PACKET, "received SSH_FXP_INIT"); buffer_get_u32(packet->payload,&version); version=ntohl(version); - ssh_say(2,"client version %d\n"); + ssh_log(session, SSH_LOG_PACKET, "Client version: %d", version); sftp->client_version=version; sftp_packet_free(packet); reply=buffer_new(); @@ -100,7 +102,7 @@ int sftp_server_init(SFTP_SESSION *sftp){ return -1; } buffer_free(reply); - ssh_say(2,"server version sent\n"); + ssh_log(session, SSH_LOG_RARE, "Server version sent"); if(version > LIBSFTP_VERSION) sftp->version=LIBSFTP_VERSION; else @@ -135,7 +137,10 @@ int sftp_packet_write(SFTP_SESSION *sftp,u8 type, BUFFER *payload){ if (size < 0) { return -1; } else if((u32) size != buffer_get_len(payload)){ - ssh_say(1,"had to write %d bytes, wrote only %d\n",buffer_get_len(payload),size); + ssh_log(sftp->session, SSH_LOG_PACKET, + "Had to write %d bytes, wrote only %d", + buffer_get_len(payload), + size); } return size; } @@ -228,7 +233,10 @@ static SFTP_MESSAGE *sftp_get_message(SFTP_PACKET *packet){ sftp_leave_function(); return NULL; } - ssh_say(2,"packet with id %d type %d\n",msg->id,msg->packet_type); + ssh_log(packet->sftp->session, SSH_LOG_PACKET, + "Packet with id %d type %d", + msg->id, + msg->packet_type); buffer_add_data(msg->payload,buffer_get_rest(packet->payload),buffer_get_rest_len(packet->payload)); sftp_leave_function(); return msg; @@ -285,11 +293,14 @@ int sftp_init(SFTP_SESSION *sftp){ buffer_get_u32(packet->payload,&version); version=ntohl(version); if(!(ext_name_s=buffer_get_ssh_string(packet->payload))||!(ext_data_s=buffer_get_ssh_string(packet->payload))) - ssh_say(2,"sftp server version %d\n",version); + ssh_log(sftp->session, SSH_LOG_RARE, + "sftp server version %d", version); else{ ext_name=string_to_char(ext_name_s); ext_data=string_to_char(ext_data_s); - ssh_say(2,"sftp server version %d (%s,%s)\n",version,ext_name,ext_data); + ssh_log(sftp->session, SSH_LOG_RARE, + "sftp server version %d (%s,%s)", + version, ext_name, ext_data); free(ext_name); free(ext_data); } @@ -315,14 +326,16 @@ static void request_queue_free(REQUEST_QUEUE *queue){ free(queue); } -void sftp_enqueue(SFTP_SESSION *session, SFTP_MESSAGE *msg){ +void sftp_enqueue(SFTP_SESSION *sftp, SFTP_MESSAGE *msg){ REQUEST_QUEUE *queue=request_queue_new(msg); REQUEST_QUEUE *ptr; - ssh_say(2,"queued msg type %d id %d\n",msg->id,msg->packet_type); - if(!session->queue) - session->queue=queue; + ssh_log(sftp->session, SSH_LOG_PACKET, + "queued msg type %d id %d", + msg->id, msg->packet_type); + if(!sftp->queue) + sftp->queue=queue; else { - ptr=session->queue; + ptr=sftp->queue; while(ptr->next){ ptr=ptr->next; /* find end of linked list */ } @@ -331,24 +344,27 @@ void sftp_enqueue(SFTP_SESSION *session, SFTP_MESSAGE *msg){ } /* pulls of a message from the queue based on the ID. returns null if no message has been found */ -static SFTP_MESSAGE *sftp_dequeue(SFTP_SESSION *session, u32 id){ +static SFTP_MESSAGE *sftp_dequeue(SFTP_SESSION *sftp, u32 id){ REQUEST_QUEUE *queue,*prev=NULL; SFTP_MESSAGE *msg; - if(session->queue==NULL){ + if(sftp->queue==NULL){ return NULL; } - queue=session->queue; + queue=sftp->queue; while(queue){ if(queue->message->id==id){ /* remove from queue */ if(prev==NULL){ - session->queue=queue->next; + sftp->queue=queue->next; } else { prev->next=queue->next; } msg=queue->message; request_queue_free(queue); - ssh_say(2,"dequeued msg id %d type %d\n",msg->id,msg->packet_type); + ssh_log(sftp->session, SSH_LOG_PACKET, + "Dequeued msg id %d type %d", + msg->id, + msg->packet_type); return msg; } prev=queue; @@ -616,7 +632,7 @@ static SFTP_ATTRIBUTES *sftp_parse_attr_3(SFTP_SESSION *sftp, BUFFER *buf, break; attr->name=string_to_char(name); free(name); - ssh_say(2,"name : %s\n",attr->name); + ssh_log(sftp->session, SSH_LOG_RARE, "Name: %s", attr->name); if(!(longname=buffer_get_ssh_string(buf))) break; attr->longname=string_to_char(longname); @@ -626,12 +642,12 @@ static SFTP_ATTRIBUTES *sftp_parse_attr_3(SFTP_SESSION *sftp, BUFFER *buf, break; flags=ntohl(flags); attr->flags=flags; - ssh_say(2,"flags : %.8lx\n",flags); + ssh_log(sftp->session, SSH_LOG_RARE, "Flags: %.8lx\n", flags); if(flags & SSH_FILEXFER_ATTR_SIZE){ if(buffer_get_u64(buf,&attr->size)!=sizeof(u64)) break; attr->size=ntohll(attr->size); - ssh_say(2,"size : %lld\n",attr->size); + ssh_log(sftp->session, SSH_LOG_RARE, "Size: %lld\n", attr->size); } if(flags & SSH_FILEXFER_ATTR_UIDGID){ if(buffer_get_u32(buf,&attr->uid)!=sizeof(u32)) @@ -740,7 +756,8 @@ SFTP_ATTRIBUTES *sftp_readdir(SFTP_SESSION *sftp, SFTP_DIR *dir){ buffer_add_ssh_string(payload,dir->handle); sftp_packet_write(sftp,SSH_FXP_READDIR,payload); buffer_free(payload); - ssh_say(2,"sent a ssh_fxp_readdir with id %d\n",id); + ssh_log(sftp->session, SSH_LOG_PACKET, + "Sent a ssh_fxp_readdir with id %d", id); while(!msg){ if(sftp_read_and_dispatch(sftp)) /* something nasty has happened */ @@ -783,7 +800,7 @@ SFTP_ATTRIBUTES *sftp_readdir(SFTP_SESSION *sftp, SFTP_DIR *dir){ ssh_set_error(sftp->session,SSH_FATAL,"Count of files sent by the server is zero, which is invalid, or libsftp bug"); return NULL; } - ssh_say(2,"Count is %d\n",dir->count); + ssh_log(sftp->session, SSH_LOG_RARE, "Count is %d", dir->count); attr=sftp_parse_attr(sftp,dir->buffer,1); dir->count--; if(dir->count==0){ @@ -1157,7 +1174,8 @@ ssize_t sftp_write(SFTP_FILE *file, const void *buf, size_t count){ free(datastring); if((u32) sftp_packet_write(file->sftp,SSH_FXP_WRITE,buffer) != buffer_get_len(buffer)) { - ssh_say(1,"sftp_packet_write did not write as much data as expected\n"); + ssh_log(sftp->session, SSH_LOG_PACKET, + "sftp_packet_write did not write as much data as expected"); } buffer_free(buffer); while(!msg){