Big changes :

refactoring of the socket class. Now the buffering happens in the socket class.
enhanced the logging system. Cleaned up some debugging messages.
Verified the working with ssh-1.
If this cleanup introduced bugs (it did but corrected the found ones) at least, they will be easier to find

also added the (c) and fixed dates for updated files


git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@169 7dcaeef0-15fb-0310-b436-a5af3365683c
This commit is contained in:
Aris Adamantiadis
2008-06-16 23:02:49 +00:00
parent 5367581ce1
commit 77603dbc5a
15 changed files with 414 additions and 337 deletions

View File

@@ -1,7 +1,7 @@
/* session.c */
/* contains the non-networking functions ssh_* */
/*
* Copyright 2005-2008 Aris Adamantiadis
* Copyright (c) 2005-2008 Aris Adamantiadis
*
* This file is part of the SSH Library
*
@@ -41,10 +41,12 @@ SSH_SESSION *ssh_new() {
memset(session,0,sizeof(SSH_SESSION));
session->next_crypto=crypto_new();
session->maxchannel=FIRST_CHANNEL;
session->socket=ssh_socket_new();
session->socket=ssh_socket_new(session);
session->alive=0;
session->blocking=1;
session->log_indent=0;
session->out_buffer=buffer_new();
session->in_buffer=buffer_new();
return session;
}
@@ -59,10 +61,6 @@ void ssh_cleanup(SSH_SESSION *session){
buffer_free(session->in_buffer);
if(session->out_buffer)
buffer_free(session->out_buffer);
if(session->in_socket_buffer)
buffer_free(session->in_socket_buffer);
if(session->out_socket_buffer)
buffer_free(session->out_socket_buffer);
if(session->banner)
free(session->banner);
if(session->options)
@@ -105,7 +103,6 @@ void ssh_cleanup(SSH_SESSION *session){
*/
void ssh_silent_disconnect(SSH_SESSION *session){
enter_function();
ssh_log(session,SSH_LOG_ENTRY,"ssh_silent_disconnect()");
ssh_socket_close(session->socket);
session->alive=0;
ssh_disconnect(session);