aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libssh/buffer.c2
-rw-r--r--libssh/connect.c4
-rw-r--r--libssh/crypt.c6
-rw-r--r--libssh/keyfiles.c12
-rw-r--r--libssh/keys.c4
-rw-r--r--libssh/packet.c2
-rw-r--r--libssh/sftp.c10
-rw-r--r--libssh/wrapper.c12
8 files changed, 29 insertions, 23 deletions
diff --git a/libssh/buffer.c b/libssh/buffer.c
index 04934f47..88cca409 100644
--- a/libssh/buffer.c
+++ b/libssh/buffer.c
@@ -227,7 +227,7 @@ STRING *buffer_get_ssh_string(BUFFER *buffer){
return NULL; /* it is indeed */
str=string_new(hostlen);
if(buffer_get_data(buffer,str->string,hostlen)!=hostlen){
- ssh_say(0,"buffer_get_ssh_string: oddish : second test failed when first was successful. len=%d",hostlen);
+ // should never happen
free(str);
return NULL;
}
diff --git a/libssh/connect.c b/libssh/connect.c
index dacb291f..8a42b0c1 100644
--- a/libssh/connect.c
+++ b/libssh/connect.c
@@ -130,7 +130,7 @@ int ssh_connect_ai_timeout(SSH_SESSION *session, const char *host, int port, str
return -1;
}
/* s is connected ? */
- ssh_say(3,"socket connected with timeout\n");
+ ssh_log(session,SSH_LOG_PACKET,"socket connected with timeout\n");
sock_set_blocking(s);
leave_function();
return s;
@@ -164,7 +164,7 @@ socket_t ssh_connect_host(SSH_SESSION *session, const char *host, const char
if(bind_addr){
struct addrinfo *bind_ai, *bind_ai2;
- ssh_say(2,"resolving %s\n",bind_addr);
+ ssh_log(session,SSH_LOG_PACKET,"resolving %s\n",bind_addr);
my_errno=getai(host,0,&bind_ai);
if (my_errno){
ssh_set_error(session,SSH_FATAL,"Failed to resolve bind address %s (%s)",bind_addr,gai_strerror(my_errno));
diff --git a/libssh/crypt.c b/libssh/crypt.c
index e2f53aa1..3e5bb5a1 100644
--- a/libssh/crypt.c
+++ b/libssh/crypt.c
@@ -39,14 +39,14 @@ u32 packet_decrypt_len(SSH_SESSION *session, char *crypted){
if(session->current_crypto)
packet_decrypt(session,crypted,session->current_crypto->in_cipher->blocksize);
memcpy(&decrypted,crypted,sizeof(decrypted));
- ssh_say(3,"size decrypted : %lx\n",ntohl(decrypted));
+ ssh_log(session,SSH_LOG_PACKET,"packet size decrypted : %d (0x%lx)",ntohl(decrypted),ntohl(decrypted));
return ntohl(decrypted);
}
int packet_decrypt(SSH_SESSION *session, void *data,u32 len){
struct crypto_struct *crypto=session->current_crypto->in_cipher;
char *out=malloc(len);
- ssh_say(3,"Decrypting %d bytes data\n",len);
+ ssh_log(session,SSH_LOG_PACKET,"Decrypting %d bytes",len);
#ifdef HAVE_LIBGCRYPT
crypto->set_decrypt_key(crypto,session->current_crypto->decryptkey,session->current_crypto->decryptIV);
crypto->cbc_decrypt(crypto,data,out,len);
@@ -69,7 +69,7 @@ unsigned char * packet_encrypt(SSH_SESSION *session,void *data,u32 len){
if(!session->current_crypto)
return NULL; /* nothing to do here */
crypto= session->current_crypto->out_cipher;
- ssh_say(3,"seq num = %d, len = %d\n",session->send_seq,len);
+ ssh_log(session,SSH_LOG_PACKET,"encrypting packet with seq num: %d, len: %d",session->send_seq,len);
#ifdef HAVE_LIBGCRYPT
crypto->set_encrypt_key(crypto,session->current_crypto->encryptkey,session->current_crypto->encryptIV);
#elif defined HAVE_LIBCRYPTO
diff --git a/libssh/keyfiles.c b/libssh/keyfiles.c
index 63e182ed..8a2c4985 100644
--- a/libssh/keyfiles.c
+++ b/libssh/keyfiles.c
@@ -727,23 +727,23 @@ STRING *publickey_from_next_file(SSH_SESSION *session,char **pub_keys_path,char
++*count;
/* are them readable ? */
snprintf(public,256,pub,home);
- ssh_say(2,"Trying to open %s\n",public);
+ ssh_log(session,SSH_LOG_PACKET,"Trying to open public key %s",public);
if(!ssh_file_readaccess_ok(public)){
- ssh_say(2,"Failed\n");
+ ssh_log(session,SSH_LOG_PACKET,"Failed");
return publickey_from_next_file(session,pub_keys_path,keys_path,privkeyfile,type,count);
}
snprintf(private,256,priv,home);
- ssh_say(2,"Trying to open %s\n",private);
+ ssh_log(session,SSH_LOG_PACKET,"Trying to open private key %s",private);
if(!ssh_file_readaccess_ok(private)){
- ssh_say(2,"Failed\n");
+ ssh_log(session,SSH_LOG_PACKET,"Failed");
return publickey_from_next_file(session,pub_keys_path,keys_path,privkeyfile,type,count);
}
- ssh_say(2,"Okay both files ok\n");
+ ssh_log(session,SSH_LOG_PACKET,"Success reading public and private key");
/* ok, we are sure both the priv8 and public key files are readable : we return the public one as a string,
and the private filename in arguments */
pubkey=publickey_from_file(session,public,type);
if(!pubkey){
- ssh_say(2,"Wasn't able to open public key file %s : %s\n",public,ssh_get_error(session));
+ ssh_log(session,SSH_LOG_PACKET,"Wasn't able to open public key file %s : %s",public,ssh_get_error(session));
return publickey_from_next_file(session,pub_keys_path,keys_path,privkeyfile,type,count);
}
*privkeyfile=realloc(*privkeyfile,strlen(private)+1);
diff --git a/libssh/keys.c b/libssh/keys.c
index 2839f281..18d0b372 100644
--- a/libssh/keys.c
+++ b/libssh/keys.c
@@ -535,7 +535,7 @@ SIGNATURE *signature_from_string(SSH_SESSION *session, STRING *signature,PUBLIC_
return NULL;
}
if(len<rsalen)
- ssh_say(0,"Len %d < %d\n",len,rsalen);
+ ssh_log(session,SSH_LOG_RARE,"RSA signature len %d < %d",len,rsalen);
sign->type=TYPE_RSA;
#ifdef HAVE_LIBGCRYPT
gcry_sexp_build(&sig,NULL,"(sig-val(rsa(s %b)))",string_len(e),e->string);
@@ -576,7 +576,7 @@ void signature_free(SIGNATURE *sign){
#endif
break;
default:
- ssh_say(1,"freeing a signature with no type !\n");
+ ssh_log(NULL,SSH_LOG_RARE,"freeing a signature with no type !\n");
}
free(sign);
}
diff --git a/libssh/packet.c b/libssh/packet.c
index a1b06cd0..295ef13c 100644
--- a/libssh/packet.c
+++ b/libssh/packet.c
@@ -161,7 +161,7 @@ static int packet_read2(SSH_SESSION *session){
packet=malloc(to_be_read);
memcpy(packet,buffer_get_rest(session->in_socket_buffer),to_be_read-current_macsize);
buffer_pass_bytes(session->in_socket_buffer,to_be_read-current_macsize);
- ssh_say(3,"Read a %d bytes packet\n",len);
+ ssh_log(session,SSH_LOG_PACKET,"Read a %d bytes packet",len);
buffer_add_data(session->in_buffer,packet,to_be_read-current_macsize);
free(packet);
}
diff --git a/libssh/sftp.c b/libssh/sftp.c
index c6fd56f2..e0eb14d6 100644
--- a/libssh/sftp.c
+++ b/libssh/sftp.c
@@ -80,15 +80,19 @@ SFTP_SESSION *sftp_server_new(SSH_SESSION *session, CHANNEL *chan){
}
int sftp_server_init(SFTP_SESSION *sftp){
+ sftp_enter_function();
SFTP_PACKET *packet=sftp_packet_read(sftp);
u32 version;
BUFFER *reply;
- if(!packet)
- return -1;
+ if(!packet){
+ sftp_leave_function();
+ 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);
sftp_packet_free(packet);
+ sftp_leave_function();
return -1;
}
ssh_say(2,"received SSH_FXP_INIT\n");
@@ -101,6 +105,7 @@ int sftp_server_init(SFTP_SESSION *sftp){
buffer_add_u32(reply,ntohl(LIBSFTP_VERSION));
if(sftp_packet_write(sftp,SSH_FXP_VERSION,reply)==-1){
buffer_free(reply);
+ sftp_leave_function();
return -1;
}
buffer_free(reply);
@@ -109,6 +114,7 @@ int sftp_server_init(SFTP_SESSION *sftp){
sftp->version=LIBSFTP_VERSION;
else
sftp->version=version;
+ sftp_leave_function();
return 0;
}
#endif
diff --git a/libssh/wrapper.c b/libssh/wrapper.c
index 366455d2..b5906ff6 100644
--- a/libssh/wrapper.c
+++ b/libssh/wrapper.c
@@ -466,7 +466,7 @@ static int crypt_set_algorithms2(SSH_SESSION *session){
ssh_set_error(session,SSH_FATAL,"Crypt_set_algorithms2 : no crypto algorithm function found for %s",wanted);
return SSH_ERROR;
}
- ssh_say(2,"Set output algorithm %s\n",wanted);
+ ssh_log(session,SSH_LOG_PACKET,"Set output algorithm %s",wanted);
session->next_crypto->out_cipher=cipher_new(i);
i=0;
/* in */
@@ -477,7 +477,7 @@ static int crypt_set_algorithms2(SSH_SESSION *session){
ssh_set_error(session,SSH_FATAL,"Crypt_set_algorithms : no crypto algorithm function found for %s",wanted);
return SSH_ERROR;
}
- ssh_say(2,"Set input algorithm %s\n",wanted);
+ ssh_log(session,SSH_LOG_PACKET,"Set input algorithm %s",wanted);
session->next_crypto->in_cipher=cipher_new(i);
/* compression */
if(strstr(session->client_kex.methods[SSH_COMP_C_S],"zlib"))
@@ -524,7 +524,7 @@ int crypt_set_algorithms_server(SSH_SESSION *session){
ssh_set_error(session,SSH_FATAL,"Crypt_set_algorithms_server : no crypto algorithm function found for %s",server);
return SSH_ERROR;
}
- ssh_say(2,"Set output algorithm %s\n",match);
+ ssh_log(session,SSH_LOG_PACKET,"Set output algorithm %s",match);
session->next_crypto->out_cipher=cipher_new(i);
i=0;
/* in */
@@ -541,14 +541,14 @@ int crypt_set_algorithms_server(SSH_SESSION *session){
ssh_set_error(session,SSH_FATAL,"Crypt_set_algorithms_server : no crypto algorithm function found for %s",server);
return SSH_ERROR;
}
- ssh_say(2,"Set input algorithm %s\n",match);
+ ssh_log(session,SSH_LOG_PACKET,"Set input algorithm %s",match);
session->next_crypto->in_cipher=cipher_new(i);
/* compression */
client=session->client_kex.methods[SSH_CRYPT_C_S];
server=session->server_kex.methods[SSH_CRYPT_C_S];
match=ssh_find_matching(client,server);
if(match && !strcmp(match,"zlib")){
- ssh_say(2,"enabling C->S compression\n");
+ ssh_log(session,SSH_LOG_PACKET,"enabling C->S compression");
session->next_crypto->do_compress_in=1;
}
@@ -556,7 +556,7 @@ int crypt_set_algorithms_server(SSH_SESSION *session){
server=session->server_kex.methods[SSH_CRYPT_S_C];
match=ssh_find_matching(client,server);
if(match && !strcmp(match,"zlib")){
- ssh_say(2,"enabling S->C compression\n");
+ ssh_log(session,SSH_LOG_PACKET,"enabling S->C compression\n");
session->next_crypto->do_compress_out=1;
}