mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-12-02 01:17:52 +03:00
session: add getter for kexalgo
Signed-off-by: Jon Simons <jon@jonsimons.org> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
This commit is contained in:
committed by
Andreas Schneider
parent
4745d652b5
commit
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 void ssh_event_free(ssh_event event);
|
||||||
LIBSSH_API const char* ssh_get_clientbanner(ssh_session session);
|
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_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_in(ssh_session session);
|
||||||
LIBSSH_API const char* ssh_get_cipher_out(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);
|
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;
|
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.
|
* @brief get the name of the input cipher for the given session.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user