summaryrefslogtreecommitdiff
path: root/lib/gnutls_kx.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gnutls_kx.c')
-rw-r--r--lib/gnutls_kx.c30
1 files changed, 6 insertions, 24 deletions
diff --git a/lib/gnutls_kx.c b/lib/gnutls_kx.c
index fd963421cf..6fe4ef6d32 100644
--- a/lib/gnutls_kx.c
+++ b/lib/gnutls_kx.c
@@ -97,42 +97,24 @@ int _gnutls_generate_master(gnutls_session_t session, int keep_premaster)
static void write_nss_key_log(gnutls_session_t session, const gnutls_datum_t *premaster)
{
- const char *filename;
char buf[512];
+ char buf2[512];
FILE *fp;
- if (session->security_parameters.entity == GNUTLS_SERVER)
+ if (_gnutls_keylogfile == NULL)
return;
- filename = getenv("GNUTLS_KEYLOGFILE");
-
- if (filename == NULL)
- return;
-
- fp = fopen(filename, "w");
+ fp = fopen(_gnutls_keylogfile, "a");
if (fp == NULL)
return;
- if (session->security_parameters.kx_algorithm == GNUTLS_KX_RSA) {
- fprintf(fp, "RSA %s ",
- _gnutls_bin2hex(premaster->data,
- premaster->size,
- buf, sizeof(buf),
- NULL));
- fprintf(fp, "%s\n",
- _gnutls_bin2hex(session->security_parameters.
- master_secret, GNUTLS_MASTER_SIZE,
- buf, sizeof(buf), NULL));
- }
-
- fprintf(fp, "CLIENT_RANDOM %s ",
+ fprintf(fp, "CLIENT_RANDOM %s %s\n",
_gnutls_bin2hex(session->security_parameters.
client_random, 32, buf,
- sizeof(buf), NULL));
- fprintf(fp, "%s\n",
+ sizeof(buf), NULL),
_gnutls_bin2hex(session->security_parameters.
master_secret, GNUTLS_MASTER_SIZE,
- buf, sizeof(buf), NULL));
+ buf2, sizeof(buf2), NULL));
fclose(fp);
}