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:
Andreas Schneider
2009-04-30 09:07:12 +00:00
parent c3ee07d747
commit 982045bb96

View File

@@ -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;
} }
/** @} /** @}
*/ */