X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=log.cpp;h=417b544974d30754103bcb2640d0dce6c600f116;hp=b20a89f89b6f75678c3eb55f04c1e5362f231d1c;hb=fbcf58a8bd9ba5f4e2e4a874cff01b09c39f8fef;hpb=bfc1a54cf84bb1784c14bd4f5acbb500460e35b5 diff --git a/log.cpp b/log.cpp index b20a89f..417b544 100644 --- a/log.cpp +++ b/log.cpp @@ -9,6 +9,8 @@ #include #include +#include "tlse.h" + #include "log.h" using namespace std; @@ -17,9 +19,9 @@ using namespace std; #define SYSLOG_FAKE_FILE (static_cast(NULL)) bool logging_started = false; -std::vector log_destinations; +vector log_destinations; -void add_log_destination_file(const std::string &filename) +void add_log_destination_file(const string &filename) { FILE *fp = fopen(filename.c_str(), "a"); if (fp == NULL) { @@ -126,3 +128,66 @@ void log_perror(const char *msg) char errbuf[4096]; log(ERROR, "%s: %s", msg, strerror_r(errno, errbuf, sizeof(errbuf))); } + +void log_tls_error(const char *msg, int tls_err) +{ + switch (tls_err) { + case TLS_NEED_MORE_DATA: + log(ERROR, "%s: Need more data (TLS)", msg); + break; + case TLS_GENERIC_ERROR: + log(ERROR, "%s: Generic TLS error", msg); + break; + case TLS_BROKEN_PACKET: + log(ERROR, "%s: Broken TLS packet", msg); + break; + case TLS_NOT_UNDERSTOOD: + log(ERROR, "%s: Not understood (TLS)", msg); + break; + case TLS_NOT_SAFE: + log(ERROR, "%s: Not safe (TLS)", msg); + break; + case TLS_NO_COMMON_CIPHER: + log(ERROR, "%s: No common TLS cipher", msg); + break; + case TLS_UNEXPECTED_MESSAGE: + log(ERROR, "%s: Unexpected TLS message", msg); + break; + case TLS_CLOSE_CONNECTION: + log(ERROR, "%s: Close TLS connection", msg); + break; + case TLS_COMPRESSION_NOT_SUPPORTED: + log(ERROR, "%s: TLS compression not supported", msg); + break; + case TLS_NO_MEMORY: + log(ERROR, "%s: No TLS memory", msg); + break; + case TLS_NOT_VERIFIED: + log(ERROR, "%s: Not verified (TLS)", msg); + break; + case TLS_INTEGRITY_FAILED: + log(ERROR, "%s: TLS integrity failed", msg); + break; + case TLS_ERROR_ALERT: + log(ERROR, "%s: TLS alert", msg); + break; + case TLS_BROKEN_CONNECTION: + log(ERROR, "%s: Broken TLS connection", msg); + break; + case TLS_BAD_CERTIFICATE: + log(ERROR, "%s: Bad TLS certificate", msg); + break; + case TLS_UNSUPPORTED_CERTIFICATE: + log(ERROR, "%s: Unsupported TLS certificate", msg); + break; + case TLS_NO_RENEGOTIATION: + log(ERROR, "%s: No TLS renegotiation", msg); + break; + case TLS_FEATURE_NOT_SUPPORTED: + log(ERROR, "%s: TLS feature not supported", msg); + break; + default: + log(ERROR, "%s: Unknown TLS error %d", msg, tls_err); + break; + } +}