#define OUTPUT_BUFFER_SIZE 65535
-#define SSL_VERSION_LENGTH 13
-
#define LOG_TLS_DEFAULT 0
#define LOG_TLS_EXTENDED (1 << 0)
#define LOG_TLS_CUSTOM (1 << 1)
{
if (ssl_state->flags & SSL_AL_FLAG_SESSION_RESUMED) {
/* Only log a session as 'resumed' if a certificate has not
- been seen. */
- if (ssl_state->server_connp.cert0_issuerdn == NULL &&
- ssl_state->server_connp.cert0_subject == NULL) {
+ been seen, and the session is not TLSv1.3 or later. */
+ if ((ssl_state->server_connp.cert0_issuerdn == NULL &&
+ ssl_state->server_connp.cert0_subject == NULL) &&
+ ((ssl_state->flags & SSL_AL_FLAG_LOG_WITHOUT_CERT) == 0)) {
json_object_set_new(js, "session_resumed", json_boolean(true));
}
}
static void JsonTlsLogVersion(json_t *js, SSLState *ssl_state)
{
- char ssl_version[SSL_VERSION_LENGTH + 1];
-
- switch (ssl_state->server_connp.version) {
- case TLS_VERSION_UNKNOWN:
- snprintf(ssl_version, SSL_VERSION_LENGTH, "UNDETERMINED");
- break;
- case SSL_VERSION_2:
- snprintf(ssl_version, SSL_VERSION_LENGTH, "SSLv2");
- break;
- case SSL_VERSION_3:
- snprintf(ssl_version, SSL_VERSION_LENGTH, "SSLv3");
- break;
- case TLS_VERSION_10:
- snprintf(ssl_version, SSL_VERSION_LENGTH, "TLSv1");
- break;
- case TLS_VERSION_11:
- snprintf(ssl_version, SSL_VERSION_LENGTH, "TLS 1.1");
- break;
- case TLS_VERSION_12:
- snprintf(ssl_version, SSL_VERSION_LENGTH, "TLS 1.2");
- break;
- default:
- snprintf(ssl_version, SSL_VERSION_LENGTH, "0x%04x",
- ssl_state->server_connp.version);
- break;
- }
+ char ssl_version[SSL_VERSION_MAX_STRLEN];
+ SSLVersionToString(ssl_state->server_connp.version, ssl_version);
json_object_set_new(js, "version", json_string(ssl_version));
}
if ((ssl_state->server_connp.cert0_issuerdn == NULL ||
ssl_state->server_connp.cert0_subject == NULL) &&
((ssl_state->flags & SSL_AL_FLAG_SESSION_RESUMED) == 0 ||
- (tls_ctx->flags & LOG_TLS_SESSION_RESUMPTION) == 0)) {
+ (tls_ctx->flags & LOG_TLS_SESSION_RESUMPTION) == 0) &&
+ ((ssl_state->flags & SSL_AL_FLAG_LOG_WITHOUT_CERT) == 0)) {
return 0;
}