diff --git a/src/quic_openssl_compat.c b/src/quic_openssl_compat.c index 2f36c68d6..f293419e3 100644 --- a/src/quic_openssl_compat.c +++ b/src/quic_openssl_compat.c @@ -150,22 +150,22 @@ void quic_tls_compat_keylog_callback(const SSL *ssl, const char *line) if (sizeof(QUIC_OPENSSL_COMPAT_CLIENT_HANDSHAKE) - 1 == n && !strncmp(start, QUIC_OPENSSL_COMPAT_CLIENT_HANDSHAKE, n)) { level = ssl_encryption_handshake; - write = 0; + write = qc_is_listener(qc) ? 0 : 1; } else if (sizeof(QUIC_OPENSSL_COMPAT_SERVER_HANDSHAKE) - 1 == n && !strncmp(start, QUIC_OPENSSL_COMPAT_SERVER_HANDSHAKE, n)) { level = ssl_encryption_handshake; - write = 1; + write = qc_is_listener(qc) ? 1 : 0; } else if (sizeof(QUIC_OPENSSL_COMPAT_CLIENT_APPLICATION) - 1 == n && !strncmp(start, QUIC_OPENSSL_COMPAT_CLIENT_APPLICATION, n)) { level = ssl_encryption_application; - write = 0; + write = qc_is_listener(qc) ? 0 : 1; } else if (sizeof(QUIC_OPENSSL_COMPAT_SERVER_APPLICATION) - 1 == n && !strncmp(start, QUIC_OPENSSL_COMPAT_SERVER_APPLICATION, n)) { level = ssl_encryption_application; - write = 1; + write = qc_is_listener(qc) ? 1 : 0; } else goto leave;