summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2021-12-28 21:00:27 +0000
committertb <>2021-12-28 21:00:27 +0000
commit886fb558d55a800e145044cc39982f181ede1b5d (patch)
tree271134ad9851549d38caaaaead7c3fc2c4a06528 /src
parentd06fd3068d2b8bb4dc68ed93f43de63065b4a558 (diff)
downloadopenbsd-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')
-rw-r--r--src/lib/libcrypto/x509/x509_addr.c16
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)
1274int 1274int
1275X509v3_addr_canonize(IPAddrBlocks *addr) 1275X509v3_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);