diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libtls/tls_internal.h | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/lib/libtls/tls_internal.h b/src/lib/libtls/tls_internal.h index b203b5662e..21bf2b4613 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.26 2015/10/07 23:33:38 beck Exp $ */ | 1 | /* $OpenBSD: tls_internal.h,v 1.27 2016/04/28 16:48:44 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> |
| @@ -34,7 +34,14 @@ union tls_addr { | |||
| 34 | struct in6_addr ip6; | 34 | struct in6_addr ip6; |
| 35 | }; | 35 | }; |
| 36 | 36 | ||
| 37 | struct tls_error { | ||
| 38 | char *msg; | ||
| 39 | int num; | ||
| 40 | }; | ||
| 41 | |||
| 37 | struct tls_config { | 42 | struct tls_config { |
| 43 | struct tls_error error; | ||
| 44 | |||
| 38 | const char *ca_file; | 45 | const char *ca_file; |
| 39 | const char *ca_path; | 46 | const char *ca_path; |
| 40 | char *ca_mem; | 47 | char *ca_mem; |
| @@ -78,12 +85,11 @@ struct tls_conninfo { | |||
| 78 | 85 | ||
| 79 | struct tls { | 86 | struct tls { |
| 80 | struct tls_config *config; | 87 | struct tls_config *config; |
| 88 | struct tls_error error; | ||
| 89 | |||
| 81 | uint32_t flags; | 90 | uint32_t flags; |
| 82 | uint32_t state; | 91 | uint32_t state; |
| 83 | 92 | ||
| 84 | char *errmsg; | ||
| 85 | int errnum; | ||
| 86 | |||
| 87 | char *servername; | 93 | char *servername; |
| 88 | int socket; | 94 | int socket; |
| 89 | 95 | ||
| @@ -104,14 +110,23 @@ int tls_configure_ssl_verify(struct tls *ctx, int verify); | |||
| 104 | int tls_handshake_client(struct tls *ctx); | 110 | int tls_handshake_client(struct tls *ctx); |
| 105 | int tls_handshake_server(struct tls *ctx); | 111 | int tls_handshake_server(struct tls *ctx); |
| 106 | int tls_host_port(const char *hostport, char **host, char **port); | 112 | int tls_host_port(const char *hostport, char **host, char **port); |
| 113 | |||
| 114 | int tls_set_config_error(struct tls_config *cfg, const char *fmt, ...) | ||
| 115 | __attribute__((__format__ (printf, 2, 3))) | ||
| 116 | __attribute__((__nonnull__ (2))); | ||
| 117 | int tls_set_config_errorx(struct tls_config *cfg, const char *fmt, ...) | ||
| 118 | __attribute__((__format__ (printf, 2, 3))) | ||
| 119 | __attribute__((__nonnull__ (2))); | ||
| 107 | int tls_set_error(struct tls *ctx, const char *fmt, ...) | 120 | int tls_set_error(struct tls *ctx, const char *fmt, ...) |
| 108 | __attribute__((__format__ (printf, 2, 3))) | 121 | __attribute__((__format__ (printf, 2, 3))) |
| 109 | __attribute__((__nonnull__ (2))); | 122 | __attribute__((__nonnull__ (2))); |
| 110 | int tls_set_errorx(struct tls *ctx, const char *fmt, ...) | 123 | int tls_set_errorx(struct tls *ctx, const char *fmt, ...) |
| 111 | __attribute__((__format__ (printf, 2, 3))) | 124 | __attribute__((__format__ (printf, 2, 3))) |
| 112 | __attribute__((__nonnull__ (2))); | 125 | __attribute__((__nonnull__ (2))); |
| 126 | |||
| 113 | int tls_ssl_error(struct tls *ctx, SSL *ssl_conn, int ssl_ret, | 127 | int tls_ssl_error(struct tls *ctx, SSL *ssl_conn, int ssl_ret, |
| 114 | const char *prefix); | 128 | const char *prefix); |
| 129 | |||
| 115 | int tls_get_conninfo(struct tls *ctx); | 130 | int tls_get_conninfo(struct tls *ctx); |
| 116 | void tls_free_conninfo(struct tls_conninfo *conninfo); | 131 | void tls_free_conninfo(struct tls_conninfo *conninfo); |
| 117 | 132 | ||
