# define OPENSSL_SONAME "libssl.so"
#endif
-#define FIRSTLINE "# SSL key logfile generated by sslkeylog.c\n"
-#define FIRSTLINE_LEN (sizeof(FIRSTLINE) - 1)
-
/* When building for OpenSSL 1.1.0 or newer, no headers are required. */
#ifdef NO_OPENSSL_102_SUPPORT
typedef struct ssl_st SSL;
const char *filename = getenv("OPENSSLKEYLOGFILE");
if (filename) {
- keylog_file_fd = open(filename, O_WRONLY | O_APPEND | O_CREAT, 0644);
+ /* ctime output is max 26 bytes, POSIX 1003.1-2017 */
+ keylog_file_fd = open(filename, O_WRONLY | O_APPEND | O_CREAT, 0644);
if (keylog_file_fd >= 0 && lseek(keylog_file_fd, 0, SEEK_END) == 0) {
+ time_t timenow = time(NULL);
+ char txtnow[30] = { '#', ' ', 0 };
+ ctime_r(&timenow, txtnow + 2);
/* file is opened successfully and there is no data (pos == 0) */
- write(keylog_file_fd, FIRSTLINE, FIRSTLINE_LEN);
+ write(keylog_file_fd, txtnow, strlen(txtnow));
}
}
}