diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libtls/tls.c | 44 | ||||
| -rw-r--r-- | src/lib/libtls/tls_config.c | 6 | ||||
| -rw-r--r-- | src/lib/libtls/tls_internal.h | 12 |
3 files changed, 48 insertions, 14 deletions
diff --git a/src/lib/libtls/tls.c b/src/lib/libtls/tls.c index d067309cd3..76d00e53f3 100644 --- a/src/lib/libtls/tls.c +++ b/src/lib/libtls/tls.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tls.c,v 1.37 2016/04/28 17:05:59 jsing Exp $ */ | 1 | /* $OpenBSD: tls.c,v 1.38 2016/05/27 14:38:40 jsing Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -62,7 +62,7 @@ tls_error(struct tls *ctx) | |||
| 62 | } | 62 | } |
| 63 | 63 | ||
| 64 | static int | 64 | static int |
| 65 | tls_set_verror(struct tls_error *error, int errnum, const char *fmt, va_list ap) | 65 | tls_error_vset(struct tls_error *error, int errnum, const char *fmt, va_list ap) |
| 66 | { | 66 | { |
| 67 | char *errmsg = NULL; | 67 | char *errmsg = NULL; |
| 68 | int rv = -1; | 68 | int rv = -1; |
| @@ -94,7 +94,7 @@ tls_set_verror(struct tls_error *error, int errnum, const char *fmt, va_list ap) | |||
| 94 | } | 94 | } |
| 95 | 95 | ||
| 96 | int | 96 | int |
| 97 | tls_set_config_error(struct tls_config *config, const char *fmt, ...) | 97 | tls_error_set(struct tls_error *error, const char *fmt, ...) |
| 98 | { | 98 | { |
| 99 | va_list ap; | 99 | va_list ap; |
| 100 | int errnum, rv; | 100 | int errnum, rv; |
| @@ -102,20 +102,48 @@ tls_set_config_error(struct tls_config *config, const char *fmt, ...) | |||
| 102 | errnum = errno; | 102 | errnum = errno; |
| 103 | 103 | ||
| 104 | va_start(ap, fmt); | 104 | va_start(ap, fmt); |
| 105 | rv = tls_set_verror(&config->error, errnum, fmt, ap); | 105 | rv = tls_error_vset(error, errnum, fmt, ap); |
| 106 | va_end(ap); | 106 | va_end(ap); |
| 107 | 107 | ||
| 108 | return (rv); | 108 | return (rv); |
| 109 | } | 109 | } |
| 110 | 110 | ||
| 111 | int | 111 | int |
| 112 | tls_set_config_errorx(struct tls_config *config, const char *fmt, ...) | 112 | tls_error_setx(struct tls_error *error, const char *fmt, ...) |
| 113 | { | 113 | { |
| 114 | va_list ap; | 114 | va_list ap; |
| 115 | int rv; | 115 | int rv; |
| 116 | 116 | ||
| 117 | va_start(ap, fmt); | 117 | va_start(ap, fmt); |
| 118 | rv = tls_set_verror(&config->error, -1, fmt, ap); | 118 | rv = tls_error_vset(error, -1, fmt, ap); |
| 119 | va_end(ap); | ||
| 120 | |||
| 121 | return (rv); | ||
| 122 | } | ||
| 123 | |||
| 124 | int | ||
| 125 | tls_config_set_error(struct tls_config *config, const char *fmt, ...) | ||
| 126 | { | ||
| 127 | va_list ap; | ||
| 128 | int errnum, rv; | ||
| 129 | |||
| 130 | errnum = errno; | ||
| 131 | |||
| 132 | va_start(ap, fmt); | ||
| 133 | rv = tls_error_vset(&config->error, errnum, fmt, ap); | ||
| 134 | va_end(ap); | ||
| 135 | |||
| 136 | return (rv); | ||
| 137 | } | ||
| 138 | |||
| 139 | int | ||
| 140 | tls_config_set_errorx(struct tls_config *config, const char *fmt, ...) | ||
| 141 | { | ||
| 142 | va_list ap; | ||
| 143 | int rv; | ||
| 144 | |||
| 145 | va_start(ap, fmt); | ||
| 146 | rv = tls_error_vset(&config->error, -1, fmt, ap); | ||
| 119 | va_end(ap); | 147 | va_end(ap); |
| 120 | 148 | ||
| 121 | return (rv); | 149 | return (rv); |
| @@ -130,7 +158,7 @@ tls_set_error(struct tls *ctx, const char *fmt, ...) | |||
| 130 | errnum = errno; | 158 | errnum = errno; |
| 131 | 159 | ||
| 132 | va_start(ap, fmt); | 160 | va_start(ap, fmt); |
| 133 | rv = tls_set_verror(&ctx->error, errnum, fmt, ap); | 161 | rv = tls_error_vset(&ctx->error, errnum, fmt, ap); |
| 134 | va_end(ap); | 162 | va_end(ap); |
| 135 | 163 | ||
| 136 | return (rv); | 164 | return (rv); |
| @@ -143,7 +171,7 @@ tls_set_errorx(struct tls *ctx, const char *fmt, ...) | |||
| 143 | int rv; | 171 | int rv; |
| 144 | 172 | ||
| 145 | va_start(ap, fmt); | 173 | va_start(ap, fmt); |
| 146 | rv = tls_set_verror(&ctx->error, -1, fmt, ap); | 174 | rv = tls_error_vset(&ctx->error, -1, fmt, ap); |
| 147 | va_end(ap); | 175 | va_end(ap); |
| 148 | 176 | ||
| 149 | return (rv); | 177 | return (rv); |
diff --git a/src/lib/libtls/tls_config.c b/src/lib/libtls/tls_config.c index 2e8e049016..8f73a5a45b 100644 --- a/src/lib/libtls/tls_config.c +++ b/src/lib/libtls/tls_config.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tls_config.c,v 1.17 2016/05/27 14:27:22 jsing Exp $ */ | 1 | /* $OpenBSD: tls_config.c,v 1.18 2016/05/27 14:38:40 jsing Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -306,7 +306,7 @@ tls_config_set_dheparams(struct tls_config *config, const char *params) | |||
| 306 | else if (strcasecmp(params, "legacy") == 0) | 306 | else if (strcasecmp(params, "legacy") == 0) |
| 307 | keylen = 1024; | 307 | keylen = 1024; |
| 308 | else { | 308 | else { |
| 309 | tls_set_config_errorx(config, "invalid dhe param '%s'", params); | 309 | tls_config_set_errorx(config, "invalid dhe param '%s'", params); |
| 310 | return (-1); | 310 | return (-1); |
| 311 | } | 311 | } |
| 312 | 312 | ||
| @@ -325,7 +325,7 @@ tls_config_set_ecdhecurve(struct tls_config *config, const char *name) | |||
| 325 | else if (strcasecmp(name, "auto") == 0) | 325 | else if (strcasecmp(name, "auto") == 0) |
| 326 | nid = -1; | 326 | nid = -1; |
| 327 | else if ((nid = OBJ_txt2nid(name)) == NID_undef) { | 327 | else if ((nid = OBJ_txt2nid(name)) == NID_undef) { |
| 328 | tls_set_config_errorx(config, "invalid ecdhe curve '%s'", name); | 328 | tls_config_set_errorx(config, "invalid ecdhe curve '%s'", name); |
| 329 | return (-1); | 329 | return (-1); |
| 330 | } | 330 | } |
| 331 | 331 | ||
diff --git a/src/lib/libtls/tls_internal.h b/src/lib/libtls/tls_internal.h index cb5d90f542..745fb40c76 100644 --- a/src/lib/libtls/tls_internal.h +++ b/src/lib/libtls/tls_internal.h | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tls_internal.h,v 1.28 2016/04/28 17:05:59 jsing Exp $ */ | 1 | /* $OpenBSD: tls_internal.h,v 1.29 2016/05/27 14:38:40 jsing Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Jeremie Courreges-Anglas <jca@openbsd.org> | 3 | * Copyright (c) 2014 Jeremie Courreges-Anglas <jca@openbsd.org> |
| 4 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 4 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
| @@ -118,10 +118,16 @@ int tls_handshake_client(struct tls *ctx); | |||
| 118 | int tls_handshake_server(struct tls *ctx); | 118 | int tls_handshake_server(struct tls *ctx); |
| 119 | int tls_host_port(const char *hostport, char **host, char **port); | 119 | int tls_host_port(const char *hostport, char **host, char **port); |
| 120 | 120 | ||
| 121 | int tls_set_config_error(struct tls_config *cfg, const char *fmt, ...) | 121 | int tls_error_set(struct tls_error *error, const char *fmt, ...) |
| 122 | __attribute__((__format__ (printf, 2, 3))) | 122 | __attribute__((__format__ (printf, 2, 3))) |
| 123 | __attribute__((__nonnull__ (2))); | 123 | __attribute__((__nonnull__ (2))); |
| 124 | int tls_set_config_errorx(struct tls_config *cfg, const char *fmt, ...) | 124 | int tls_error_setx(struct tls_error *error, const char *fmt, ...) |
| 125 | __attribute__((__format__ (printf, 2, 3))) | ||
| 126 | __attribute__((__nonnull__ (2))); | ||
| 127 | int tls_config_set_error(struct tls_config *cfg, const char *fmt, ...) | ||
| 128 | __attribute__((__format__ (printf, 2, 3))) | ||
| 129 | __attribute__((__nonnull__ (2))); | ||
| 130 | int tls_config_set_errorx(struct tls_config *cfg, const char *fmt, ...) | ||
| 125 | __attribute__((__format__ (printf, 2, 3))) | 131 | __attribute__((__format__ (printf, 2, 3))) |
| 126 | __attribute__((__nonnull__ (2))); | 132 | __attribute__((__nonnull__ (2))); |
| 127 | int tls_set_error(struct tls *ctx, const char *fmt, ...) | 133 | int tls_set_error(struct tls *ctx, const char *fmt, ...) |
