Browse Source

tls: add init flag for keylog_mode

- used to initialized key logging without active flag
Daniel-Constantin Mierla 3 ngày trước cách đây
mục cha
commit
79a76ca6dd
3 tập tin đã thay đổi với 9 bổ sung5 xóa
  1. 4 1
      src/modules/tls/tls_domain.c
  2. 1 1
      src/modules/tls/tls_util.c
  3. 4 3
      src/modules/tls/tls_util.h

+ 4 - 1
src/modules/tls/tls_domain.c

@@ -1091,6 +1091,9 @@ static int tls_server_name_cb(SSL *ssl, int *ad, void *private)
 
 static void ksr_tls_keylog_callback(const SSL *ssl, const char *line)
 {
+	if(!(ksr_tls_keylog_mode & KSR_TLS_KEYLOG_MODE_ACTIVE)) {
+		return;
+	}
 	if(ksr_tls_keylog_mode & KSR_TLS_KEYLOG_MODE_MLOG) {
 		LM_NOTICE("tlskeylog: %s\n", line);
 	}
@@ -1161,7 +1164,7 @@ static int ksr_tls_fix_domain(tls_domain_t *d, tls_domain_t *def)
 					ERR_reason_error_string(e));
 			return -1;
 		}
-		if(ksr_tls_keylog_mode & KSR_TLS_KEYLOG_MODE_ACTIVE) {
+		if(ksr_tls_keylog_mode & KSR_TLS_KEYLOG_MODE_INIT) {
 			SSL_CTX_set_keylog_callback(d->ctx[i], ksr_tls_keylog_callback);
 		}
 		if(d->method > TLS_USE_TLSvRANGE) {

+ 1 - 1
src/modules/tls/tls_util.c

@@ -124,7 +124,7 @@ void tls_openssl_clear_errors(void)
  */
 int ksr_tls_keylog_file_init(void)
 {
-	if(!((ksr_tls_keylog_mode & KSR_TLS_KEYLOG_MODE_ACTIVE)
+	if(!((ksr_tls_keylog_mode & KSR_TLS_KEYLOG_MODE_INIT)
 			   && (ksr_tls_keylog_mode & KSR_TLS_KEYLOG_MODE_FILE))) {
 		return 0;
 	}

+ 4 - 3
src/modules/tls/tls_util.h

@@ -32,9 +32,10 @@
 #include "../../core/str.h"
 #include "tls_domain.h"
 
-#define KSR_TLS_KEYLOG_MODE_ACTIVE (1)
-#define KSR_TLS_KEYLOG_MODE_MLOG (1 << 1)
-#define KSR_TLS_KEYLOG_MODE_FILE (1 << 2)
+#define KSR_TLS_KEYLOG_MODE_INIT (1)
+#define KSR_TLS_KEYLOG_MODE_ACTIVE (1 << 1)
+#define KSR_TLS_KEYLOG_MODE_MLOG (1 << 2)
+#define KSR_TLS_KEYLOG_MODE_FILE (1 << 3)
 
 static inline int tls_err_ret(
 		char *s, SSL *ssl, tls_domains_cfg_t **tls_domains_cfg)