X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/177f020f122827214159c46dcfe7ded1e3c8d1c3..63621a81d16ab743de6b57d47578a9a2c670ad22:/h/netsec.h diff --git a/h/netsec.h b/h/netsec.h index e22b39e3..0a14a1d0 100644 --- a/h/netsec.h +++ b/h/netsec.h @@ -1,10 +1,9 @@ -/* Network security library routines for nmh. +/* netsec.h -- network-security library routines. * * These are a common set of routines to handle network security for * things like SASL and OpenSSL. */ -struct _netsec_context; typedef struct _netsec_context netsec_context; /* @@ -16,15 +15,15 @@ netsec_context *netsec_init(void); /* * Shuts down the security context for a connection and frees all - * associated resources. + * associated resources. Will unconditionally close the network socket + * as well. * * Arguments: * * ns_context - Network security context - * closeflag - If set to 1, close the socket descriptor as well. */ -void netsec_shutdown(netsec_context *ns_context, int closeflag); +void netsec_shutdown(netsec_context *ns_context); /* * Sets the file descriptor for this connection. This will be used by @@ -73,7 +72,7 @@ void netsec_set_hostname(netsec_context *ns_context, const char *hostname); * Returns "1" if snoop is enabled, 0 if it is not. */ -int netsec_get_snoop(netsec_context *ns_context); +int netsec_get_snoop(netsec_context *ns_context) PURE; /* * Sets "snoop" status; if snoop is set to a nonzero value, network traffic @@ -202,7 +201,7 @@ int netsec_write(netsec_context *ns_context, const void *buffer, size_t size, */ int netsec_printf(netsec_context *ns_context, char **errstr, - const char *format, ...); + const char *format, ...) CHECK_PRINTF(3, 4); /* * Write bytes using a va_list argument. @@ -218,7 +217,7 @@ int netsec_printf(netsec_context *ns_context, char **errstr, */ int netsec_vprintf(netsec_context *ns_context, char **errstr, - const char *format, va_list ap); + const char *format, va_list ap) CHECK_PRINTF(3, 0); /* * Flush any buffered bytes to the network. @@ -353,7 +352,7 @@ int netsec_negotiate_sasl(netsec_context *ns_context, const char *mechlist, * supported or in use. */ -char *netsec_get_sasl_mechanism(netsec_context *ns_context); +char *netsec_get_sasl_mechanism(netsec_context *ns_context) PURE; /* * Set the OAuth service name used to retrieve the OAuth parameters from @@ -419,4 +418,5 @@ int netsec_negotiate_tls(netsec_context *ns_context, char **errstr); * */ -void netsec_err(char **errstr, const char *format, ...); +void netsec_err(char **errstr, const char *format, ...) + CHECK_PRINTF(2, 3);