X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal-remote%2Fmicrohttpd-util.c;h=b45c38d682833217065cc23c404b4a8e94de84eb;hb=0e72da6fe8671d49b4d458519f5ac7600fd04f03;hp=3df34b2323f39b5438e287f08cf1cbff248997cf;hpb=0a1beeb64207eaa88ab9236787b1cbc2f704ae14;p=elogind.git diff --git a/src/journal-remote/microhttpd-util.c b/src/journal-remote/microhttpd-util.c index 3df34b232..b45c38d68 100644 --- a/src/journal-remote/microhttpd-util.c +++ b/src/journal-remote/microhttpd-util.c @@ -38,7 +38,7 @@ void microhttpd_logger(void *arg, const char *fmt, va_list ap) { char *f; - f = strappenda("microhttpd: ", fmt); + f = strjoina("microhttpd: ", fmt); DISABLE_WARNING_FORMAT_NONLITERAL; log_internalv(LOG_INFO, 0, NULL, 0, NULL, f, ap); @@ -170,19 +170,16 @@ static int verify_cert_authorized(gnutls_session_t session) { int r; r = gnutls_certificate_verify_peers2(session, &status); - if (r < 0) { - log_error_errno(-r, "gnutls_certificate_verify_peers2 failed: %m"); - return r; - } + if (r < 0) + return log_error_errno(r, "gnutls_certificate_verify_peers2 failed: %m"); type = gnutls_certificate_type_get(session); r = gnutls_certificate_verification_status_print(status, type, &out, 0); - if (r < 0) { - log_error_errno(-r, "gnutls_certificate_verification_status_print failed: %m"); - return r; - } + if (r < 0) + return log_error_errno(r, "gnutls_certificate_verification_status_print failed: %m"); - log_info("Certificate status: %s", out.data); + log_debug("Certificate status: %s", out.data); + gnutls_free(out.data); return status == 0 ? 0 : -EPERM; } @@ -242,10 +239,14 @@ static int get_auth_dn(gnutls_x509_crt_t client_cert, char **buf) { return 0; } +static inline void gnutls_x509_crt_deinitp(gnutls_x509_crt_t *p) { + gnutls_x509_crt_deinit(*p); +} + int check_permissions(struct MHD_Connection *connection, int *code, char **hostname) { const union MHD_ConnectionInfo *ci; gnutls_session_t session; - gnutls_x509_crt_t client_cert; + _cleanup_(gnutls_x509_crt_deinitp) gnutls_x509_crt_t client_cert = NULL; _cleanup_free_ char *buf = NULL; int r; @@ -279,7 +280,7 @@ int check_permissions(struct MHD_Connection *connection, int *code, char **hostn return -EPERM; } - log_info("Connection from %s", buf); + log_debug("Connection from %s", buf); if (hostname) { *hostname = buf;