diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/x509/x509_addr.c | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/src/lib/libcrypto/x509/x509_addr.c b/src/lib/libcrypto/x509/x509_addr.c index d2de8dc2aa..edb85f3493 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.57 2022/01/04 20:40:43 tb Exp $ */ | 1 | /* $OpenBSD: x509_addr.c,v 1.58 2022/01/04 20:52:34 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"). |
| @@ -567,29 +567,37 @@ static int | |||
| 567 | i2r_IPAddressOrRanges(BIO *out, const int indent, | 567 | i2r_IPAddressOrRanges(BIO *out, const int indent, |
| 568 | const IPAddressOrRanges *aors, const unsigned afi) | 568 | const IPAddressOrRanges *aors, const unsigned afi) |
| 569 | { | 569 | { |
| 570 | const IPAddressOrRange *aor; | ||
| 571 | const ASN1_BIT_STRING *prefix; | ||
| 572 | const IPAddressRange *range; | ||
| 570 | int i; | 573 | int i; |
| 574 | |||
| 571 | for (i = 0; i < sk_IPAddressOrRange_num(aors); i++) { | 575 | for (i = 0; i < sk_IPAddressOrRange_num(aors); i++) { |
| 572 | const IPAddressOrRange *aor = sk_IPAddressOrRange_value(aors, i); | 576 | aor = sk_IPAddressOrRange_value(aors, i); |
| 577 | |||
| 573 | BIO_printf(out, "%*s", indent, ""); | 578 | BIO_printf(out, "%*s", indent, ""); |
| 579 | |||
| 574 | switch (aor->type) { | 580 | switch (aor->type) { |
| 575 | case IPAddressOrRange_addressPrefix: | 581 | case IPAddressOrRange_addressPrefix: |
| 576 | if (!i2r_address(out, afi, 0x00, aor->u.addressPrefix)) | 582 | prefix = aor->u.addressPrefix; |
| 583 | |||
| 584 | if (!i2r_address(out, afi, 0x00, prefix)) | ||
| 577 | return 0; | 585 | return 0; |
| 578 | BIO_printf(out, "/%d\n", | 586 | BIO_printf(out, "/%d\n", addr_prefix_len(prefix)); |
| 579 | addr_prefix_len(aor->u.addressPrefix)); | ||
| 580 | continue; | 587 | continue; |
| 581 | case IPAddressOrRange_addressRange: | 588 | case IPAddressOrRange_addressRange: |
| 582 | if (!i2r_address(out, afi, 0x00, | 589 | range = aor->u.addressRange; |
| 583 | aor->u.addressRange->min)) | 590 | |
| 591 | if (!i2r_address(out, afi, 0x00, range->min)) | ||
| 584 | return 0; | 592 | return 0; |
| 585 | BIO_puts(out, "-"); | 593 | BIO_puts(out, "-"); |
| 586 | if (!i2r_address(out, afi, 0xff, | 594 | if (!i2r_address(out, afi, 0xff, range->max)) |
| 587 | aor->u.addressRange->max)) | ||
| 588 | return 0; | 595 | return 0; |
| 589 | BIO_puts(out, "\n"); | 596 | BIO_puts(out, "\n"); |
| 590 | continue; | 597 | continue; |
| 591 | } | 598 | } |
| 592 | } | 599 | } |
| 600 | |||
| 593 | return 1; | 601 | return 1; |
| 594 | } | 602 | } |
| 595 | 603 | ||
