diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libtls/tls_config.c | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/src/lib/libtls/tls_config.c b/src/lib/libtls/tls_config.c index 8fa810461c..83c649fd51 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.34 2017/01/24 01:48:05 claudio Exp $ */ | 1 | /* $OpenBSD: tls_config.c,v 1.35 2017/01/29 17:52:11 beck Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -101,6 +101,22 @@ tls_keypair_set_key_mem(struct tls_keypair *keypair, const uint8_t *key, | |||
| 101 | return set_mem(&keypair->key_mem, &keypair->key_len, key, len); | 101 | return set_mem(&keypair->key_mem, &keypair->key_len, key, len); |
| 102 | } | 102 | } |
| 103 | 103 | ||
| 104 | static int | ||
| 105 | tls_keypair_set_ocsp_staple_file(struct tls_keypair *keypair, | ||
| 106 | struct tls_error *error, const char *ocsp_file) | ||
| 107 | { | ||
| 108 | return tls_config_load_file(error, "ocsp", ocsp_file, | ||
| 109 | &keypair->ocsp_staple, &keypair->ocsp_staple_len); | ||
| 110 | } | ||
| 111 | |||
| 112 | static int | ||
| 113 | tls_keypair_set_ocsp_staple_mem(struct tls_keypair *keypair, | ||
| 114 | const uint8_t *staple, size_t len) | ||
| 115 | { | ||
| 116 | return set_mem(&keypair->ocsp_staple, &keypair->ocsp_staple_len, staple, | ||
| 117 | len); | ||
| 118 | } | ||
| 119 | |||
| 104 | static void | 120 | static void |
| 105 | tls_keypair_clear(struct tls_keypair *keypair) | 121 | tls_keypair_clear(struct tls_keypair *keypair) |
| 106 | { | 122 | { |
| @@ -118,6 +134,7 @@ tls_keypair_free(struct tls_keypair *keypair) | |||
| 118 | 134 | ||
| 119 | free(keypair->cert_mem); | 135 | free(keypair->cert_mem); |
| 120 | free(keypair->key_mem); | 136 | free(keypair->key_mem); |
| 137 | free(keypair->ocsp_staple); | ||
| 121 | 138 | ||
| 122 | free(keypair); | 139 | free(keypair); |
| 123 | } | 140 | } |
| @@ -241,7 +258,6 @@ tls_config_free(struct tls_config *config) | |||
| 241 | free((char *)config->ca_mem); | 258 | free((char *)config->ca_mem); |
| 242 | free((char *)config->ca_path); | 259 | free((char *)config->ca_path); |
| 243 | free((char *)config->ciphers); | 260 | free((char *)config->ciphers); |
| 244 | free(config->ocsp_staple); | ||
| 245 | 261 | ||
| 246 | free(config); | 262 | free(config); |
| 247 | } | 263 | } |
| @@ -664,14 +680,14 @@ tls_config_verify_client_optional(struct tls_config *config) | |||
| 664 | int | 680 | int |
| 665 | tls_config_set_ocsp_staple_file(struct tls_config *config, const char *staple_file) | 681 | tls_config_set_ocsp_staple_file(struct tls_config *config, const char *staple_file) |
| 666 | { | 682 | { |
| 667 | return tls_config_load_file(&config->error, "OCSP", staple_file, | 683 | return tls_keypair_set_ocsp_staple_file(config->keypair, &config->error, |
| 668 | &config->ocsp_staple, &config->ocsp_staple_len); | 684 | staple_file); |
| 669 | } | 685 | } |
| 670 | 686 | ||
| 671 | int | 687 | int |
| 672 | tls_config_set_ocsp_staple_mem(struct tls_config *config, char *staple, size_t len) | 688 | tls_config_set_ocsp_staple_mem(struct tls_config *config, char *staple, size_t len) |
| 673 | { | 689 | { |
| 674 | return set_mem(&config->ocsp_staple, &config->ocsp_staple_len, staple, len); | 690 | return tls_keypair_set_ocsp_staple_mem(config->keypair, staple, len); |
| 675 | } | 691 | } |
| 676 | 692 | ||
| 677 | int | 693 | int |
