diff options
| author | tb <> | 2023-12-16 14:09:33 +0000 |
|---|---|---|
| committer | tb <> | 2023-12-16 14:09:33 +0000 |
| commit | 36115e53768be688e983b207493208e6e674f15d (patch) | |
| tree | 169dad6a33880943a268bdd63e0a57068f5bf95f /src | |
| parent | 5ce845a747576167513424c2bbb31b19800e20a0 (diff) | |
| download | openbsd-36115e53768be688e983b207493208e6e674f15d.tar.gz openbsd-36115e53768be688e983b207493208e6e674f15d.tar.bz2 openbsd-36115e53768be688e983b207493208e6e674f15d.zip | |
Move EVP_PBE_find() next to the tables
There is no point in having EVP_PBE_CipherInit() between the table and
the lookup functions (which it notably uses).
No code change.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/evp/evp_pbe.c | 92 |
1 files changed, 46 insertions, 46 deletions
diff --git a/src/lib/libcrypto/evp/evp_pbe.c b/src/lib/libcrypto/evp/evp_pbe.c index 0fe82953e3..94658f8797 100644 --- a/src/lib/libcrypto/evp/evp_pbe.c +++ b/src/lib/libcrypto/evp/evp_pbe.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: evp_pbe.c,v 1.32 2023/12/16 14:04:59 tb Exp $ */ | 1 | /* $OpenBSD: evp_pbe.c,v 1.33 2023/12/16 14:09:33 tb Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 1999. | 3 | * project 1999. |
| 4 | */ | 4 | */ |
| @@ -221,6 +221,51 @@ static const struct pbe_config pbe_prf[] = { | |||
| 221 | #define N_PBE_PRF (sizeof(pbe_prf) / sizeof(pbe_prf[0])) | 221 | #define N_PBE_PRF (sizeof(pbe_prf) / sizeof(pbe_prf[0])) |
| 222 | 222 | ||
| 223 | int | 223 | int |
| 224 | EVP_PBE_find(int type, int pbe_nid, int *out_cipher_nid, int *out_md_nid, | ||
| 225 | EVP_PBE_KEYGEN **out_keygen) | ||
| 226 | { | ||
| 227 | const struct pbe_config *pbe = NULL; | ||
| 228 | size_t i; | ||
| 229 | |||
| 230 | if (out_cipher_nid != NULL) | ||
| 231 | *out_cipher_nid = NID_undef; | ||
| 232 | if (out_md_nid != NULL) | ||
| 233 | *out_md_nid = NID_undef; | ||
| 234 | if (out_keygen != NULL) | ||
| 235 | *out_keygen = NULL; | ||
| 236 | |||
| 237 | if (pbe_nid == NID_undef) | ||
| 238 | return 0; | ||
| 239 | |||
| 240 | if (type == EVP_PBE_TYPE_OUTER) { | ||
| 241 | for (i = 0; i < N_PBE_OUTER; i++) { | ||
| 242 | if (pbe_nid == pbe_outer[i].pbe_nid) { | ||
| 243 | pbe = &pbe_outer[i]; | ||
| 244 | break; | ||
| 245 | } | ||
| 246 | } | ||
| 247 | } else if (type == EVP_PBE_TYPE_PRF) { | ||
| 248 | for (i = 0; i < N_PBE_PRF; i++) { | ||
| 249 | if (pbe_nid == pbe_prf[i].pbe_nid) { | ||
| 250 | pbe = &pbe_prf[i]; | ||
| 251 | break; | ||
| 252 | } | ||
| 253 | } | ||
| 254 | } | ||
| 255 | if (pbe == NULL) | ||
| 256 | return 0; | ||
| 257 | |||
| 258 | if (out_cipher_nid != NULL) | ||
| 259 | *out_cipher_nid = pbe->cipher_nid; | ||
| 260 | if (out_md_nid != NULL) | ||
| 261 | *out_md_nid = pbe->md_nid; | ||
| 262 | if (out_keygen != NULL) | ||
| 263 | *out_keygen = pbe->keygen; | ||
| 264 | |||
| 265 | return 1; | ||
| 266 | } | ||
| 267 | |||
| 268 | int | ||
| 224 | EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen, | 269 | EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen, |
| 225 | ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de) | 270 | ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de) |
| 226 | { | 271 | { |
| @@ -274,51 +319,6 @@ EVP_PBE_CipherInit(ASN1_OBJECT *pbe_obj, const char *pass, int passlen, | |||
| 274 | } | 319 | } |
| 275 | 320 | ||
| 276 | int | 321 | int |
| 277 | EVP_PBE_find(int type, int pbe_nid, int *out_cipher_nid, int *out_md_nid, | ||
| 278 | EVP_PBE_KEYGEN **out_keygen) | ||
| 279 | { | ||
| 280 | const struct pbe_config *pbe = NULL; | ||
| 281 | size_t i; | ||
| 282 | |||
| 283 | if (out_cipher_nid != NULL) | ||
| 284 | *out_cipher_nid = NID_undef; | ||
| 285 | if (out_md_nid != NULL) | ||
| 286 | *out_md_nid = NID_undef; | ||
| 287 | if (out_keygen != NULL) | ||
| 288 | *out_keygen = NULL; | ||
| 289 | |||
| 290 | if (pbe_nid == NID_undef) | ||
| 291 | return 0; | ||
| 292 | |||
| 293 | if (type == EVP_PBE_TYPE_OUTER) { | ||
| 294 | for (i = 0; i < N_PBE_OUTER; i++) { | ||
| 295 | if (pbe_nid == pbe_outer[i].pbe_nid) { | ||
| 296 | pbe = &pbe_outer[i]; | ||
| 297 | break; | ||
| 298 | } | ||
| 299 | } | ||
| 300 | } else if (type == EVP_PBE_TYPE_PRF) { | ||
| 301 | for (i = 0; i < N_PBE_PRF; i++) { | ||
| 302 | if (pbe_nid == pbe_prf[i].pbe_nid) { | ||
| 303 | pbe = &pbe_prf[i]; | ||
| 304 | break; | ||
| 305 | } | ||
| 306 | } | ||
| 307 | } | ||
| 308 | if (pbe == NULL) | ||
| 309 | return 0; | ||
| 310 | |||
| 311 | if (out_cipher_nid != NULL) | ||
| 312 | *out_cipher_nid = pbe->cipher_nid; | ||
| 313 | if (out_md_nid != NULL) | ||
| 314 | *out_md_nid = pbe->md_nid; | ||
| 315 | if (out_keygen != NULL) | ||
| 316 | *out_keygen = pbe->keygen; | ||
| 317 | |||
| 318 | return 1; | ||
| 319 | } | ||
| 320 | |||
| 321 | int | ||
| 322 | EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, int md_nid, | 322 | EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, int md_nid, |
| 323 | EVP_PBE_KEYGEN *keygen) | 323 | EVP_PBE_KEYGEN *keygen) |
| 324 | { | 324 | { |
