summaryrefslogtreecommitdiff
path: root/src/lib/libtls/tls_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libtls/tls_config.c')
-rw-r--r--src/lib/libtls/tls_config.c26
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
104static int
105tls_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
112static int
113tls_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
104static void 120static void
105tls_keypair_clear(struct tls_keypair *keypair) 121tls_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)
664int 680int
665tls_config_set_ocsp_staple_file(struct tls_config *config, const char *staple_file) 681tls_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
671int 687int
672tls_config_set_ocsp_staple_mem(struct tls_config *config, char *staple, size_t len) 688tls_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
677int 693int