X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fx509v3%2Fv3_purp.c;h=451e7f87c171f59dd1921883d2957fd11ce618ba;hp=61745380a35ed7f1017caba010ab7bd9cf58ff46;hb=fe0169b09717b3c3d52c0fba96e1dcf5e8a60d94;hpb=3067095e8a2cca3d33fa0af77788bc45da68b76b diff --git a/crypto/x509v3/v3_purp.c b/crypto/x509v3/v3_purp.c index 61745380a3..451e7f87c1 100644 --- a/crypto/x509v3/v3_purp.c +++ b/crypto/x509v3/v3_purp.c @@ -533,6 +533,11 @@ void X509_set_proxy_flag(X509 *x) x->ex_flags |= EXFLAG_PROXY; } +void X509_set_proxy_pathlen(X509 *x, long l) +{ + x->ex_pcpathlen = l; +} + int X509_check_ca(X509 *x) { if (!(x->ex_flags & EXFLAG_SET)) { @@ -849,3 +854,12 @@ long X509_get_pathlen(X509 *x) return -1; return x->ex_pathlen; } + +long X509_get_proxy_pathlen(X509 *x) +{ + /* Called for side effect of caching extensions */ + if (X509_check_purpose(x, -1, -1) != 1 + || (x->ex_flags & EXFLAG_PROXY) == 0) + return -1; + return x->ex_pcpathlen; +}