X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/fc5b73a4b95c03c2c81b04ee8c819471b66de52d..c576ad2674c37a1c63f004c71049998f38854c64:/sbr/netsec.c diff --git a/sbr/netsec.c b/sbr/netsec.c index ab05cf8e..25b1f888 100644 --- a/sbr/netsec.c +++ b/sbr/netsec.c @@ -12,6 +12,7 @@ #include #include #include +#include "base64.h" #ifdef CYRUS_SASL #include @@ -187,19 +188,19 @@ netsec_init(void) void netsec_shutdown(netsec_context *nsc) { - mh_xfree(nsc->ns_userid); - mh_xfree(nsc->ns_hostname); - mh_xfree(nsc->ns_inbuffer); - mh_xfree(nsc->ns_outbuffer); - mh_xfree(nsc->sasl_mech); - mh_xfree(nsc->sasl_chosen_mech); + free(nsc->ns_userid); + free(nsc->ns_hostname); + free(nsc->ns_inbuffer); + free(nsc->ns_outbuffer); + free(nsc->sasl_mech); + free(nsc->sasl_chosen_mech); #ifdef OAUTH_SERVICE - mh_xfree(nsc->oauth_service); + free(nsc->oauth_service); #endif /* OAUTH_SERVICE */ #ifdef CYRUS_SASL if (nsc->sasl_conn) sasl_dispose(&nsc->sasl_conn); - mh_xfree(nsc->sasl_cbs); + free(nsc->sasl_cbs); if (nsc->sasl_creds) nmh_credentials_free(nsc->sasl_creds); if (nsc->sasl_secret) { @@ -208,7 +209,7 @@ netsec_shutdown(netsec_context *nsc) } free(nsc->sasl_secret); } - mh_xfree(nsc->sasl_tmpbuf); + free(nsc->sasl_tmpbuf); #endif /* CYRUS_SASL */ #ifdef TLS_SUPPORT if (nsc->ssl_io) @@ -460,8 +461,10 @@ retry: if (nsc->ns_snoop_cb) nsc->ns_snoop_cb(nsc, sptr, strlen(sptr), nsc->ns_snoop_context); - else - fprintf(stderr, "%s\n", sptr); + else { + fputs(sptr, stderr); + putc('\n', stderr); + } } return sptr; } @@ -473,7 +476,7 @@ retry: */ if (count >= nsc->ns_inbufsize / 2) { - netsec_err(errstr, "Unable to find a line terminator after %d bytes", + netsec_err(errstr, "Unable to find a line terminator after %zu bytes", count); return NULL; } @@ -1217,7 +1220,7 @@ netsec_negotiate_sasl(netsec_context *nsc, const char *mechlist, char **errstr) * messages. */ - memset(&secprops, 0, sizeof(secprops)); + ZERO(&secprops); secprops.maxbufsize = SASL_MAXRECVBUF; /* @@ -1279,7 +1282,7 @@ netsec_negotiate_sasl(netsec_context *nsc, const char *mechlist, char **errstr) rc = sasl_client_step(nsc->sasl_conn, (char *) outbuf, outbuflen, NULL, (const char **) &saslbuf, &saslbuflen); - mh_xfree(outbuf); + free(outbuf); if (rc != SASL_OK && rc != SASL_CONTINUE) { netsec_err(errstr, "SASL client negotiation failed: %s", @@ -1631,7 +1634,7 @@ netsec_negotiate_tls(netsec_context *nsc, char **errstr) if (BIO_get_ssl(nsc->ssl_io, &ssl) < 1) { netsec_err(errstr, "Certificate verification failed, but " "cannot retrieve SSL handle: %s", - ERR_error_string(errcode, NULL)); + ERR_error_string(ERR_get_error(), NULL)); } else { netsec_err(errstr, "Server certificate verification failed: %s", X509_verify_cert_error_string(