1
1
fixes in client.c and server.c for this


git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@778 7dcaeef0-15fb-0310-b436-a5af3365683c
Этот коммит содержится в:
Aris Adamantiadis 2009-06-15 15:31:23 +00:00
родитель 3873489688
Коммит 7dbc66e4a3
4 изменённых файлов: 21 добавлений и 12 удалений

Просмотреть файл

@ -377,6 +377,7 @@ int ssh_userauth_kbdint_setanswer(SSH_SESSION *session, unsigned int i,
/* init.c */
int ssh_init(void);
int ssh_finalize(void);
#ifdef __cplusplus

Просмотреть файл

@ -467,15 +467,10 @@ int ssh_connect(SSH_SESSION *session) {
session->alive = 0;
session->client = 1;
if (ssh_crypto_init() < 0) {
if (ssh_init() < 0) {
leave_function();
return SSH_ERROR;
}
if (ssh_socket_init() < 0) {
leave_function();
return SSH_ERROR;
}
if (options->fd == -1 && options->host == NULL) {
ssh_set_error(session, SSH_FATAL, "Hostname required");
leave_function();

Просмотреть файл

@ -31,12 +31,29 @@
* @{
*/
/**
* @brief initialize global cryptographic data structures.
*
* This function should only be called once, at the begining of the program, in the main thread. It may be omitted if your program is not multithreaded.
*
* @returns 0
*/
int ssh_init(void) {
if(ssh_crypto_init())
return -1;
if(ssh_socket_init())
return -1;
return 0;
}
/**
* @brief Finalize and cleanup all libssh and cryptographic data structures.
*
* This function should only be called once, at the end of the program!
*
* @returns 0
* @returns -1 in case of error
@returns 0 otherwise
*/
int ssh_finalize(void) {
ssh_crypto_finalize();

Просмотреть файл

@ -135,7 +135,7 @@ int ssh_bind_listen(SSH_BIND *ssh_bind) {
return -1;
}
if (ssh_socket_init() < 0) {
if (ssh_init() < 0) {
return -1;
}
@ -479,10 +479,6 @@ int ssh_accept(SSH_SESSION *session) {
return -1;
}
if (ssh_crypto_init() < 0) {
return -1;
}
session->alive = 1;
session->clientbanner = ssh_get_banner(session);