diff options
author | tb <> | 2021-12-28 21:00:27 +0000 |
---|---|---|
committer | tb <> | 2021-12-28 21:00:27 +0000 |
commit | 886fb558d55a800e145044cc39982f181ede1b5d (patch) | |
tree | 271134ad9851549d38caaaaead7c3fc2c4a06528 /src/lib | |
parent | d06fd3068d2b8bb4dc68ed93f43de63065b4a558 (diff) | |
download | openbsd-886fb558d55a800e145044cc39982f181ede1b5d.tar.gz openbsd-886fb558d55a800e145044cc39982f181ede1b5d.tar.bz2 openbsd-886fb558d55a800e145044cc39982f181ede1b5d.zip |
Rewrite X509v3_addr_canonize() with new accessors
This is again a straightforward conversion and leads to something which
matches our usual style more.
ok jsing
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libcrypto/x509/x509_addr.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/lib/libcrypto/x509/x509_addr.c b/src/lib/libcrypto/x509/x509_addr.c index 225f961002..f9fd9f3ad0 100644 --- a/src/lib/libcrypto/x509/x509_addr.c +++ b/src/lib/libcrypto/x509/x509_addr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x509_addr.c,v 1.44 2021/12/28 20:58:05 tb Exp $ */ | 1 | /* $OpenBSD: x509_addr.c,v 1.45 2021/12/28 21:00:27 tb Exp $ */ |
2 | /* | 2 | /* |
3 | * Contributed to the OpenSSL Project by the American Registry for | 3 | * Contributed to the OpenSSL Project by the American Registry for |
4 | * Internet Numbers ("ARIN"). | 4 | * Internet Numbers ("ARIN"). |
@@ -1274,24 +1274,26 @@ IPAddressOrRanges_canonize(IPAddressOrRanges *aors, const unsigned afi) | |||
1274 | int | 1274 | int |
1275 | X509v3_addr_canonize(IPAddrBlocks *addr) | 1275 | X509v3_addr_canonize(IPAddrBlocks *addr) |
1276 | { | 1276 | { |
1277 | IPAddressFamily *f; | ||
1278 | IPAddressOrRanges *aors; | ||
1277 | unsigned int afi; | 1279 | unsigned int afi; |
1278 | int i; | 1280 | int i; |
1279 | 1281 | ||
1280 | for (i = 0; i < sk_IPAddressFamily_num(addr); i++) { | 1282 | for (i = 0; i < sk_IPAddressFamily_num(addr); i++) { |
1281 | IPAddressFamily *f = sk_IPAddressFamily_value(addr, i); | 1283 | f = sk_IPAddressFamily_value(addr, i); |
1282 | 1284 | ||
1283 | /* Check AFI/SAFI here - IPAddressFamily_cmp() can't error. */ | 1285 | /* Check AFI/SAFI here - IPAddressFamily_cmp() can't error. */ |
1284 | if ((afi = X509v3_addr_get_afi(f)) == 0) | 1286 | if ((afi = X509v3_addr_get_afi(f)) == 0) |
1285 | return 0; | 1287 | return 0; |
1286 | 1288 | ||
1287 | if (f->ipAddressChoice->type == | 1289 | if ((aors = IPAddressFamily_addressesOrRanges(f)) == NULL) |
1288 | IPAddressChoice_addressesOrRanges && | 1290 | continue; |
1289 | !IPAddressOrRanges_canonize(f->ipAddressChoice->u.addressesOrRanges, | 1291 | |
1290 | X509v3_addr_get_afi(f))) | 1292 | if (!IPAddressOrRanges_canonize(aors, afi)) |
1291 | return 0; | 1293 | return 0; |
1292 | } | 1294 | } |
1293 | 1295 | ||
1294 | (void)sk_IPAddressFamily_set_cmp_func(addr, IPAddressFamily_cmp); | 1296 | sk_IPAddressFamily_set_cmp_func(addr, IPAddressFamily_cmp); |
1295 | sk_IPAddressFamily_sort(addr); | 1297 | sk_IPAddressFamily_sort(addr); |
1296 | 1298 | ||
1297 | return X509v3_addr_is_canonical(addr); | 1299 | return X509v3_addr_is_canonical(addr); |