diff options
Diffstat (limited to 'src/lib/libtls/tls_config.c')
| -rw-r--r-- | src/lib/libtls/tls_config.c | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/src/lib/libtls/tls_config.c b/src/lib/libtls/tls_config.c index 16120c5e4e..7697fa6ee8 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.2 2015/01/22 09:16:24 reyk Exp $ */ | 1 | /* $OpenBSD: tls_config.c,v 1.3 2015/02/07 06:19:26 jsing Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -71,7 +71,8 @@ tls_config_new(void) | |||
| 71 | tls_config_free(config); | 71 | tls_config_free(config); |
| 72 | return (NULL); | 72 | return (NULL); |
| 73 | } | 73 | } |
| 74 | tls_config_set_ecdhcurve(config, "auto"); | 74 | tls_config_set_dheparams(config, "none"); |
| 75 | tls_config_set_ecdhecurve(config, "auto"); | ||
| 75 | tls_config_set_protocols(config, TLS_PROTOCOLS_DEFAULT); | 76 | tls_config_set_protocols(config, TLS_PROTOCOLS_DEFAULT); |
| 76 | tls_config_set_verify_depth(config, 6); | 77 | tls_config_set_verify_depth(config, 6); |
| 77 | 78 | ||
| @@ -145,18 +146,37 @@ tls_config_set_ciphers(struct tls_config *config, const char *ciphers) | |||
| 145 | } | 146 | } |
| 146 | 147 | ||
| 147 | int | 148 | int |
| 148 | tls_config_set_ecdhcurve(struct tls_config *config, const char *name) | 149 | tls_config_set_dheparams(struct tls_config *config, const char *params) |
| 150 | { | ||
| 151 | int keylen; | ||
| 152 | |||
| 153 | if (params == NULL || strcasecmp(params, "none") == 0) | ||
| 154 | keylen = 0; | ||
| 155 | else if (strcasecmp(params, "auto") == 0) | ||
| 156 | keylen = -1; | ||
| 157 | else if (strcmp(params, "legacy")) | ||
| 158 | keylen = 1024; | ||
| 159 | else | ||
| 160 | return (-1); | ||
| 161 | |||
| 162 | config->dheparams = keylen; | ||
| 163 | |||
| 164 | return (0); | ||
| 165 | } | ||
| 166 | |||
| 167 | int | ||
| 168 | tls_config_set_ecdhecurve(struct tls_config *config, const char *name) | ||
| 149 | { | 169 | { |
| 150 | int nid; | 170 | int nid; |
| 151 | 171 | ||
| 152 | if (name == NULL) | 172 | if (name == NULL || strcasecmp(name, "none") == 0) |
| 153 | nid = NID_undef; | 173 | nid = NID_undef; |
| 154 | else if (strcasecmp(name, "auto") == 0) | 174 | else if (strcasecmp(name, "auto") == 0) |
| 155 | nid = -1; | 175 | nid = -1; |
| 156 | else if ((nid = OBJ_txt2nid(name)) == NID_undef) | 176 | else if ((nid = OBJ_txt2nid(name)) == NID_undef) |
| 157 | return (-1); | 177 | return (-1); |
| 158 | 178 | ||
| 159 | config->ecdhcurve = nid; | 179 | config->ecdhecurve = nid; |
| 160 | 180 | ||
| 161 | return (0); | 181 | return (0); |
| 162 | } | 182 | } |
