X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/29a1ada5b960fbf29d52e0f44911370a6c0c7c5f..394a751fd883d2bbfc769fed7e254e008a2ef45e:/sbr/netsec.c diff --git a/sbr/netsec.c b/sbr/netsec.c index 1fe8f1ae..3f0ea221 100644 --- a/sbr/netsec.c +++ b/sbr/netsec.c @@ -6,10 +6,13 @@ * complete copyright information. */ -#include -#include -#include -#include +#include "h/mh.h" +#include "credentials.h" +#include "getcpy.h" +#include "brkstring.h" +#include "h/utils.h" +#include "h/netsec.h" +#include "h/oauth.h" #include #include #include "base64.h" @@ -288,7 +291,8 @@ netsec_set_snoop(netsec_context *nsc, int snoop) * Set the snoop callback for this connection. */ -void netsec_set_snoop_callback(netsec_context *nsc, +void +netsec_set_snoop_callback(netsec_context *nsc, netsec_snoop_callback callback, void *context) { nsc->ns_snoop_cb = callback; @@ -806,6 +810,7 @@ netsec_vprintf(netsec_context *nsc, char **errstr, const char *format, va_list ap) { int rc; + va_list apcopy; /* * Cheat a little. If we can fit the data into our outgoing buffer, @@ -813,8 +818,10 @@ netsec_vprintf(netsec_context *nsc, char **errstr, const char *format, */ retry: + va_copy(apcopy, ap); rc = vsnprintf((char *) nsc->ns_outptr, - nsc->ns_outbufsize - nsc->ns_outbuflen, format, ap); + nsc->ns_outbufsize - nsc->ns_outbuflen, format, apcopy); + va_end(apcopy); if (rc >= (int) (nsc->ns_outbufsize - nsc->ns_outbuflen)) { /* @@ -1103,7 +1110,8 @@ netsec_set_sasl_params(netsec_context *nsc, const char *service, * library when asked. */ -int netsec_get_user(void *context, int id, const char **result, +int +netsec_get_user(void *context, int id, const char **result, unsigned int *len) { netsec_context *nsc = (netsec_context *) context;