diff options
author | 2016-05-27 14:38:40 +0000 | |
---|---|---|
committer | 2016-05-27 14:38:40 +0000 | |
commit | f8289792d34ebff3761134f04d85da36be84ab94 (patch) | |
tree | dc52e4905e127062a85aef956d6adc2c1948cec0 | |
parent | Avoid leaking ca_mem when freeing a tls_config. (diff) | |
download | wireguard-openbsd-f8289792d34ebff3761134f04d85da36be84ab94.tar.xz wireguard-openbsd-f8289792d34ebff3761134f04d85da36be84ab94.zip |
Rename some of the internal error setting functions to more closely follow
existing naming standards. Also provide functions for setting a struct
tls_error * directly (rather than having to have a struct tls * or a
struct tls_config *).
-rw-r--r-- | lib/libtls/tls.c | 44 | ||||
-rw-r--r-- | lib/libtls/tls_config.c | 6 | ||||
-rw-r--r-- | lib/libtls/tls_internal.h | 12 |
3 files changed, 48 insertions, 14 deletions
diff --git a/lib/libtls/tls.c b/lib/libtls/tls.c index d067309cd30..76d00e53f36 100644 --- a/lib/libtls/tls.c +++ b/lib/libtls/tls.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tls.c,v 1.37 2016/04/28 17:05:59 jsing Exp $ */ +/* $OpenBSD: tls.c,v 1.38 2016/05/27 14:38:40 jsing Exp $ */ /* * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> * @@ -62,7 +62,7 @@ tls_error(struct tls *ctx) } static int -tls_set_verror(struct tls_error *error, int errnum, const char *fmt, va_list ap) +tls_error_vset(struct tls_error *error, int errnum, const char *fmt, va_list ap) { char *errmsg = NULL; int rv = -1; @@ -94,7 +94,7 @@ tls_set_verror(struct tls_error *error, int errnum, const char *fmt, va_list ap) } int -tls_set_config_error(struct tls_config *config, const char *fmt, ...) +tls_error_set(struct tls_error *error, const char *fmt, ...) { va_list ap; int errnum, rv; @@ -102,20 +102,48 @@ tls_set_config_error(struct tls_config *config, const char *fmt, ...) errnum = errno; va_start(ap, fmt); - rv = tls_set_verror(&config->error, errnum, fmt, ap); + rv = tls_error_vset(error, errnum, fmt, ap); va_end(ap); return (rv); } int -tls_set_config_errorx(struct tls_config *config, const char *fmt, ...) +tls_error_setx(struct tls_error *error, const char *fmt, ...) { va_list ap; int rv; va_start(ap, fmt); - rv = tls_set_verror(&config->error, -1, fmt, ap); + rv = tls_error_vset(error, -1, fmt, ap); + va_end(ap); + + return (rv); +} + +int +tls_config_set_error(struct tls_config *config, const char *fmt, ...) +{ + va_list ap; + int errnum, rv; + + errnum = errno; + + va_start(ap, fmt); + rv = tls_error_vset(&config->error, errnum, fmt, ap); + va_end(ap); + + return (rv); +} + +int +tls_config_set_errorx(struct tls_config *config, const char *fmt, ...) +{ + va_list ap; + int rv; + + va_start(ap, fmt); + rv = tls_error_vset(&config->error, -1, fmt, ap); va_end(ap); return (rv); @@ -130,7 +158,7 @@ tls_set_error(struct tls *ctx, const char *fmt, ...) errnum = errno; va_start(ap, fmt); - rv = tls_set_verror(&ctx->error, errnum, fmt, ap); + rv = tls_error_vset(&ctx->error, errnum, fmt, ap); va_end(ap); return (rv); @@ -143,7 +171,7 @@ tls_set_errorx(struct tls *ctx, const char *fmt, ...) int rv; va_start(ap, fmt); - rv = tls_set_verror(&ctx->error, -1, fmt, ap); + rv = tls_error_vset(&ctx->error, -1, fmt, ap); va_end(ap); return (rv); diff --git a/lib/libtls/tls_config.c b/lib/libtls/tls_config.c index 2e8e0490162..8f73a5a45b6 100644 --- a/lib/libtls/tls_config.c +++ b/lib/libtls/tls_config.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tls_config.c,v 1.17 2016/05/27 14:27:22 jsing Exp $ */ +/* $OpenBSD: tls_config.c,v 1.18 2016/05/27 14:38:40 jsing Exp $ */ /* * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> * @@ -306,7 +306,7 @@ tls_config_set_dheparams(struct tls_config *config, const char *params) else if (strcasecmp(params, "legacy") == 0) keylen = 1024; else { - tls_set_config_errorx(config, "invalid dhe param '%s'", params); + tls_config_set_errorx(config, "invalid dhe param '%s'", params); return (-1); } @@ -325,7 +325,7 @@ tls_config_set_ecdhecurve(struct tls_config *config, const char *name) else if (strcasecmp(name, "auto") == 0) nid = -1; else if ((nid = OBJ_txt2nid(name)) == NID_undef) { - tls_set_config_errorx(config, "invalid ecdhe curve '%s'", name); + tls_config_set_errorx(config, "invalid ecdhe curve '%s'", name); return (-1); } diff --git a/lib/libtls/tls_internal.h b/lib/libtls/tls_internal.h index cb5d90f5427..745fb40c763 100644 --- a/lib/libtls/tls_internal.h +++ b/lib/libtls/tls_internal.h @@ -1,4 +1,4 @@ -/* $OpenBSD: tls_internal.h,v 1.28 2016/04/28 17:05:59 jsing Exp $ */ +/* $OpenBSD: tls_internal.h,v 1.29 2016/05/27 14:38:40 jsing Exp $ */ /* * Copyright (c) 2014 Jeremie Courreges-Anglas <jca@openbsd.org> * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> @@ -118,10 +118,16 @@ int tls_handshake_client(struct tls *ctx); int tls_handshake_server(struct tls *ctx); int tls_host_port(const char *hostport, char **host, char **port); -int tls_set_config_error(struct tls_config *cfg, const char *fmt, ...) +int tls_error_set(struct tls_error *error, const char *fmt, ...) __attribute__((__format__ (printf, 2, 3))) __attribute__((__nonnull__ (2))); -int tls_set_config_errorx(struct tls_config *cfg, const char *fmt, ...) +int tls_error_setx(struct tls_error *error, const char *fmt, ...) + __attribute__((__format__ (printf, 2, 3))) + __attribute__((__nonnull__ (2))); +int tls_config_set_error(struct tls_config *cfg, const char *fmt, ...) + __attribute__((__format__ (printf, 2, 3))) + __attribute__((__nonnull__ (2))); +int tls_config_set_errorx(struct tls_config *cfg, const char *fmt, ...) __attribute__((__format__ (printf, 2, 3))) __attribute__((__nonnull__ (2))); int tls_set_error(struct tls *ctx, const char *fmt, ...) |