aboutsummaryrefslogtreecommitdiff
path: root/rcynic/rcynic.c
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2014-02-27 18:56:28 +0000
committerRob Austein <sra@hactrn.net>2014-02-27 18:56:28 +0000
commitf1a28725aedc066d35b2acf4cf6fb0cc2591ea61 (patch)
tree45c284509da0efea7e5c5a8fb451b104b235f183 /rcynic/rcynic.c
parent4cd072207986659361d3461797ffa964bc2113ba (diff)
Pull from trunk.
svn path=/branches/tk671/; revision=5691
Diffstat (limited to 'rcynic/rcynic.c')
-rw-r--r--rcynic/rcynic.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/rcynic/rcynic.c b/rcynic/rcynic.c
index 3cdd2190..5e90df89 100644
--- a/rcynic/rcynic.c
+++ b/rcynic/rcynic.c
@@ -3850,7 +3850,8 @@ static int check_x509(rcynic_ctx_t *rc,
if (x->rfc3779_addr) {
ex_count--;
- if ((loc = X509_get_ext_by_NID(x, NID_sbgp_ipAddrBlock, -1)) < 0 ||
+ if (routercert ||
+ (loc = X509_get_ext_by_NID(x, NID_sbgp_ipAddrBlock, -1)) < 0 ||
!X509_EXTENSION_get_critical(X509_get_ext(x, loc)) ||
!v3_addr_is_canonical(x->rfc3779_addr) ||
sk_IPAddressFamily_num(x->rfc3779_addr) == 0) {
@@ -3877,7 +3878,8 @@ static int check_x509(rcynic_ctx_t *rc,
!X509_EXTENSION_get_critical(X509_get_ext(x, loc)) ||
!v3_asid_is_canonical(x->rfc3779_asid) ||
x->rfc3779_asid->asnum == NULL ||
- x->rfc3779_asid->rdi != NULL) {
+ x->rfc3779_asid->rdi != NULL ||
+ (routercert && x->rfc3779_asid->asnum->type == ASIdentifierChoice_inherit)) {
log_validation_status(rc, uri, bad_asidentifiers, generation);
goto done;
}