session: add getter for kexalgo
Signed-off-by: Jon Simons <jon@jonsimons.org> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Этот коммит содержится в:
родитель
4745d652b5
Коммит
6895d0b727
@ -658,6 +658,7 @@ LIBSSH_API int ssh_event_remove_session(ssh_event event, ssh_session session);
|
||||
LIBSSH_API void ssh_event_free(ssh_event event);
|
||||
LIBSSH_API const char* ssh_get_clientbanner(ssh_session session);
|
||||
LIBSSH_API const char* ssh_get_serverbanner(ssh_session session);
|
||||
LIBSSH_API const char* ssh_get_kex_algo(ssh_session session);
|
||||
LIBSSH_API const char* ssh_get_cipher_in(ssh_session session);
|
||||
LIBSSH_API const char* ssh_get_cipher_out(ssh_session session);
|
||||
LIBSSH_API const char* ssh_get_hmac_in(ssh_session session);
|
||||
|
@ -314,6 +314,35 @@ const char* ssh_get_serverbanner(ssh_session session) {
|
||||
return session->serverbanner;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get the name of the current key exchange algorithm.
|
||||
*
|
||||
* @param[in] session The SSH session
|
||||
*
|
||||
* @return Returns the key exchange algorithm string or NULL.
|
||||
*/
|
||||
const char* ssh_get_kex_algo(ssh_session session) {
|
||||
if ((session == NULL) ||
|
||||
(session->current_crypto == NULL)) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
switch (session->current_crypto->kex_type) {
|
||||
case SSH_KEX_DH_GROUP1_SHA1:
|
||||
return "diffie-hellman-group1-sha1";
|
||||
case SSH_KEX_DH_GROUP14_SHA1:
|
||||
return "diffie-hellman-group14-sha1";
|
||||
case SSH_KEX_ECDH_SHA2_NISTP256:
|
||||
return "ecdh-sha2-nistp256";
|
||||
case SSH_KEX_CURVE25519_SHA256_LIBSSH_ORG:
|
||||
return "curve25519-sha256@libssh.org";
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get the name of the input cipher for the given session.
|
||||
*
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user