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

Function md_reg_get_pubcert

modules/md/md_reg.c:623–648  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

621}
622
623apr_status_t md_reg_get_pubcert(const md_pubcert_t **ppubcert, md_reg_t *reg,
624 const md_t *md, int i, apr_pool_t *p)
625{
626 apr_status_t rv = APR_SUCCESS;
627 const md_pubcert_t *pubcert;
628 const char *name;
629
630 name = apr_psprintf(p, "%s[%d]", md->name, i);
631 pubcert = apr_hash_get(reg->certs, name, (apr_ssize_t)strlen(name));
632 if (!pubcert && !reg->domains_frozen) {
633 rv = md_util_pool_vdo(pubcert_load, reg, reg->p, &pubcert, MD_SG_DOMAINS, md, i, NULL);
634 if (APR_STATUS_IS_ENOENT(rv)) {
635 /* We cache it missing with an empty record */
636 pubcert = apr_pcalloc(reg->p, sizeof(*pubcert));
637 }
638 else if (APR_SUCCESS != rv) goto leave;
639 if (p != reg->p) name = apr_pstrdup(reg->p, name);
640 apr_hash_set(reg->certs, name, (apr_ssize_t)strlen(name), pubcert);
641 }
642leave:
643 if (APR_SUCCESS == rv && (!pubcert || !pubcert->certs)) {
644 rv = APR_ENOENT;
645 }
646 *ppubcert = (APR_SUCCESS == rv)? pubcert : NULL;
647 return rv;
648}
649
650apr_status_t md_reg_get_cred_files(const char **pkeyfile, const char **pcertfile,
651 md_reg_t *reg, md_store_group_t group,

Callers 9

ad_setup_orderFunction · 0.85
status_get_md_jsonFunction · 0.85
state_initFunction · 0.85
md_reg_valid_untilFunction · 0.85
md_reg_renew_atFunction · 0.85
md_reg_should_warnFunction · 0.85
md_reg_freeze_domainsFunction · 0.85
md_reg_has_revoked_certsFunction · 0.85
acme_get_ariFunction · 0.85

Calls 1

md_util_pool_vdoFunction · 0.85

Tested by

no test coverage detected