mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-09 18:04:25 +09:00
Improve ssh_accept().
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@656 7dcaeef0-15fb-0310-b436-a5af3365683c
This commit is contained in:
@@ -471,27 +471,46 @@ static int dh_handshake_server(SSH_SESSION *session) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* do the banner and key exchange */
|
/* Do the banner and key exchange */
|
||||||
int ssh_accept(SSH_SESSION *session){
|
int ssh_accept(SSH_SESSION *session) {
|
||||||
ssh_send_banner(session,1);
|
if (ssh_send_banner(session, 1) < 0) {
|
||||||
if (ssh_crypto_init() < 0) {
|
return -1;
|
||||||
return -1;
|
}
|
||||||
}
|
|
||||||
session->alive=1;
|
if (ssh_crypto_init() < 0) {
|
||||||
session->clientbanner=ssh_get_banner(session);
|
return -1;
|
||||||
if (server_set_kex(session) < 0) {
|
}
|
||||||
return -1;
|
|
||||||
}
|
session->alive = 1;
|
||||||
ssh_send_kex(session,1);
|
|
||||||
if(ssh_get_kex(session,1) < 0) {
|
session->clientbanner = ssh_get_banner(session);
|
||||||
return -1;
|
if (session->clientbanner == NULL) {
|
||||||
}
|
return -1;
|
||||||
ssh_list_kex(session, &session->client_kex);
|
}
|
||||||
crypt_set_algorithms_server(session);
|
|
||||||
if(dh_handshake_server(session))
|
if (server_set_kex(session) < 0) {
|
||||||
return -1;
|
return -1;
|
||||||
session->connected=1;
|
}
|
||||||
return 0;
|
|
||||||
|
if (ssh_send_kex(session, 1) < 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ssh_get_kex(session,1) < 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
ssh_list_kex(session, &session->client_kex);
|
||||||
|
crypt_set_algorithms_server(session);
|
||||||
|
|
||||||
|
if (dh_handshake_server(session) < 0) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
session->connected = 1;
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @}
|
/** @}
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user