diff options
author | beck <> | 2023-11-30 17:01:04 +0000 |
---|---|---|
committer | beck <> | 2023-11-30 17:01:04 +0000 |
commit | 1585202f052c6925b43e2faa17ba8f0bcbd644a3 (patch) | |
tree | 197a1d57b25aa19f1e15e38f3fe90c1c639c8f8f | |
parent | fc4faac9b396d551d0f7729a4dffa6ee31ac2d3e (diff) | |
download | openbsd-1585202f052c6925b43e2faa17ba8f0bcbd644a3.tar.gz openbsd-1585202f052c6925b43e2faa17ba8f0bcbd644a3.tar.bz2 openbsd-1585202f052c6925b43e2faa17ba8f0bcbd644a3.zip |
Clean up and de-spaghettize by_file_callback
I had to read this for other purposes and it exceeded my muppetry
tolerance.
ok tb@
-rw-r--r-- | src/lib/libcrypto/x509/by_file.c | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/src/lib/libcrypto/x509/by_file.c b/src/lib/libcrypto/x509/by_file.c index 606f4c8d0c..fc2d72bbd2 100644 --- a/src/lib/libcrypto/x509/by_file.c +++ b/src/lib/libcrypto/x509/by_file.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: by_file.c,v 1.28 2023/02/16 08:38:17 tb Exp $ */ | 1 | /* $OpenBSD: by_file.c,v 1.29 2023/11/30 17:01:04 beck Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -95,28 +95,22 @@ static int | |||
95 | by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl, | 95 | by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl, |
96 | char **ret) | 96 | char **ret) |
97 | { | 97 | { |
98 | int ok = 0; | 98 | const char *file = argp; |
99 | int type = argl; | ||
99 | 100 | ||
100 | switch (cmd) { | 101 | if (cmd != X509_L_FILE_LOAD) |
101 | case X509_L_FILE_LOAD: | 102 | return 0; |
102 | if (argl == X509_FILETYPE_DEFAULT) { | 103 | |
103 | ok = (X509_load_cert_crl_file(ctx, | 104 | if (argl == X509_FILETYPE_DEFAULT) { |
104 | X509_get_default_cert_file(), | 105 | file = X509_get_default_cert_file(); |
105 | X509_FILETYPE_PEM) != 0); | 106 | type = X509_FILETYPE_PEM; |
106 | if (!ok) { | ||
107 | X509error(X509_R_LOADING_DEFAULTS); | ||
108 | } | ||
109 | } else { | ||
110 | if (argl == X509_FILETYPE_PEM) | ||
111 | ok = (X509_load_cert_crl_file(ctx, argp, | ||
112 | X509_FILETYPE_PEM) != 0); | ||
113 | else | ||
114 | ok = (X509_load_cert_file(ctx, | ||
115 | argp, (int)argl) != 0); | ||
116 | } | ||
117 | break; | ||
118 | } | 107 | } |
119 | return ok; | 108 | if (X509_load_cert_crl_file(ctx, file, type) != 0) |
109 | return 1; | ||
110 | if (argl == X509_FILETYPE_DEFAULT) | ||
111 | X509error(X509_R_LOADING_DEFAULTS); | ||
112 | |||
113 | return 0; | ||
120 | } | 114 | } |
121 | 115 | ||
122 | int | 116 | int |