TLS Backends: Harmomise the rb_ssl_get_cipher() function

The GNUTLS backend reports the version in use for the client as well
as its ciphersuite -- do the same for the other 2 backends.
This commit is contained in:
Aaron Jones 2016-08-20 04:16:33 +01:00
parent 4906854293
commit 31145ea0b3
No known key found for this signature in database
GPG key ID: EC6F86EE9CD840B5
2 changed files with 18 additions and 8 deletions

View file

@ -735,8 +735,8 @@ rb_get_ssl_info(char *buf, size_t len)
char version_str[512]; char version_str[512];
mbedtls_version_get_string(version_str); mbedtls_version_get_string(version_str);
snprintf(buf, len, "ARM mbedTLS: compiled (v%s), library (v%s)", (void) snprintf(buf, len, "ARM mbedTLS: compiled (v%s), library (v%s)",
MBEDTLS_VERSION_STRING, version_str); MBEDTLS_VERSION_STRING, version_str);
} }
const char * const char *
@ -744,7 +744,15 @@ rb_ssl_get_cipher(rb_fde_t *F)
{ {
if(F == NULL || F->ssl == NULL || SSL_P(F) == NULL) if(F == NULL || F->ssl == NULL || SSL_P(F) == NULL)
return NULL; return NULL;
return mbedtls_ssl_get_ciphersuite(SSL_P(F));
static char buf[512];
const char *version = mbedtls_ssl_get_version(SSL_P(F));
const char *cipher = mbedtls_ssl_get_ciphersuite(SSL_P(F));
(void) snprintf(buf, sizeof buf, "%s, %s", version, cipher);
return buf;
} }
#endif /* HAVE_MBEDTLS */ #endif /* HAVE_MBEDTLS */

View file

@ -871,15 +871,17 @@ rb_get_ssl_info(char *buf, size_t len)
const char * const char *
rb_ssl_get_cipher(rb_fde_t *F) rb_ssl_get_cipher(rb_fde_t *F)
{ {
const SSL_CIPHER *sslciph;
if(F == NULL || F->ssl == NULL) if(F == NULL || F->ssl == NULL)
return NULL; return NULL;
if((sslciph = SSL_get_current_cipher(F->ssl)) == NULL) static char buf[512];
return NULL;
return SSL_CIPHER_get_name(sslciph); const char *version = SSL_get_version(F->ssl);
const char *cipher = SSL_get_cipher_name(F->ssl);
(void) snprintf(buf, sizeof buf, "%s, %s", version, cipher);
return buf;
} }
#endif /* HAVE_OPENSSL */ #endif /* HAVE_OPENSSL */