MCPcopy Create free account
hub / github.com/apache/httpd / ssl_var_lookup_ssl_cert_san

Function ssl_var_lookup_ssl_cert_san

modules/ssl/ssl_engine_vars.c:632–674  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

630}
631
632static char *ssl_var_lookup_ssl_cert_san(apr_pool_t *p, X509 *xs, char *var)
633{
634 int type;
635 apr_size_t numlen;
636 const char *onf = NULL;
637 apr_array_header_t *entries;
638
639 if (strcEQn(var, "Email_", 6)) {
640 type = GEN_EMAIL;
641 var += 6;
642 }
643 else if (strcEQn(var, "DNS_", 4)) {
644 type = GEN_DNS;
645 var += 4;
646 }
647 else if (strcEQn(var, "OTHER_", 6)) {
648 type = GEN_OTHERNAME;
649 var += 6;
650 if (strEQn(var, "msUPN_", 6)) {
651 var += 6;
652 onf = "msUPN";
653 }
654 else if (strEQn(var, "dnsSRV_", 7)) {
655 var += 7;
656 onf = "id-on-dnsSRV";
657 }
658 else
659 return NULL;
660 }
661 else
662 return NULL;
663
664 /* sanity check: number must be between 1 and 4 digits */
665 numlen = strspn(var, "0123456789");
666 if ((numlen < 1) || (numlen > 4) || (numlen != strlen(var)))
667 return NULL;
668
669 if (modssl_X509_getSAN(p, xs, type, onf, atoi(var), &entries))
670 /* return the first entry from this 1-element array */
671 return APR_ARRAY_IDX(entries, 0, char *);
672 else
673 return NULL;
674}
675
676static char *ssl_var_lookup_ssl_cert_valid(apr_pool_t *p, const ASN1_TIME *tm)
677{

Callers 1

ssl_var_lookup_ssl_certFunction · 0.85

Calls 1

modssl_X509_getSANFunction · 0.85

Tested by

no test coverage detected