diff options
| author | beck <> | 2023-11-30 17:01:04 +0000 |
|---|---|---|
| committer | beck <> | 2023-11-30 17:01:04 +0000 |
| commit | f3769bfa34b0b9ec972b18db6e859d5ee33a9d5a (patch) | |
| tree | 197a1d57b25aa19f1e15e38f3fe90c1c639c8f8f /src | |
| parent | 69bbc5fea4f411f0c0033ecb0fc5126c895ea82a (diff) | |
| download | openbsd-f3769bfa34b0b9ec972b18db6e859d5ee33a9d5a.tar.gz openbsd-f3769bfa34b0b9ec972b18db6e859d5ee33a9d5a.tar.bz2 openbsd-f3769bfa34b0b9ec972b18db6e859d5ee33a9d5a.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@
Diffstat (limited to 'src')
| -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 |
