52 for (
i = 0;
i <
md1->domains->nelts; ++
i) {
77 for (
i = 0;
i <
md1->domains->nelts; ++
i) {
124 if (
md1->domains->nelts ==
md2->domains->nelts) {
125 for (
i = 0;
i <
md1->domains->nelts; ++
i) {
139 if (
md1->domains->nelts >=
md2->domains->nelts) {
140 for (
i = 0;
i <
md2->domains->nelts; ++
i) {
219 if (
src->ca_challenges) {
253 if (
src->ca_challenges) {
405#define LE_ACMEv2_PROD "https://acme-v02.api.letsencrypt.org/directory"
406#define LE_ACMEv2_STAGING "https://acme-staging-v02.api.letsencrypt.org/directory"
407#define BUYPASS_ACME "https://api.buypass.com/acme/directory"
408#define BUYPASS_ACME_TEST "https://api.test4.buypass.no/acme/directory"
456 "The CA name '%s' is not known and it is not a URL either (%s). "
457 "Known CA names are: %s.",
APR general purpose library routines.
const char int case_sensitive
#define apr_pcalloc(p, size)
#define APR_ARRAY_PUSH(ary, type)
#define APR_ARRAY_IDX(ary, i, type)
apr_int32_t apr_int32_t apr_int32_t err
#define MD_KEY_WARN_WINDOW
#define MD_KEY_STATE_DESCR
#define MD_KEY_ACME_TLS_1
#define MD_KEY_RENEW_MODE
@ MD_S_EXPIRED_DEPRECATED
#define MD_TIME_LIFE_NORM
#define MD_KEY_TRANSITIVE
#define MD_KEY_CERT_FILES
#define MD_KEY_PKEY_FILES
#define MD_KEY_CHALLENGES
#define MD_KEY_REQUIRE_HTTPS
#define MD_KEY_RENEW_WINDOW
#define MD_KEY_MUST_STAPLE
int md_equal_domains(const md_t *md1, const md_t *md2, int case_sensitive)
int md_cert_count(const md_t *md)
int md_is_covered_by_alt_names(const md_t *md, const struct apr_array_header_t *alt_names)
#define LE_ACMEv2_STAGING
md_t * md_clone(apr_pool_t *p, const md_t *src)
md_t * md_from_json(md_json_t *json, apr_pool_t *p)
md_t * md_get_by_name(struct apr_array_header_t *mds, const char *name)
static md_ca_t KNOWN_CAs[]
const char * md_common_name(const md_t *md1, const md_t *md2)
md_t * md_get_by_domain(struct apr_array_header_t *mds, const char *domain)
int md_domains_overlap(const md_t *md1, const md_t *md2)
md_t * md_copy(apr_pool_t *p, const md_t *src)
apr_size_t md_common_name_count(const md_t *md1, const md_t *md2)
md_json_t * md_to_json(const md_t *md, apr_pool_t *p)
md_t * md_create(apr_pool_t *p, apr_array_header_t *domains)
#define BUYPASS_ACME_TEST
md_t * md_get_by_dns_overlap(struct apr_array_header_t *mds, const md_t *md)
const char * md_get_ca_name_from_url(apr_pool_t *p, const char *url)
apr_status_t md_get_ca_url_from_name(const char **purl, apr_pool_t *p, const char *name)
int md_contains_domains(const md_t *md1, const md_t *md2)
int md_contains(const md_t *md, const char *domain, int case_sensitive)
md_t * md_create_empty(apr_pool_t *p)
md_json_t * md_to_public_json(const md_t *md, apr_pool_t *p)
int md_pkeys_spec_count(const md_pkeys_spec_t *pks)
md_json_t * md_pkeys_spec_to_json(const md_pkeys_spec_t *pks, apr_pool_t *p)
static const char * alt_names(apr_array_header_t *domains, apr_pool_t *p)
md_pkeys_spec_t * md_pkeys_spec_clone(apr_pool_t *p, const md_pkeys_spec_t *pks)
md_pkeys_spec_t * md_pkeys_spec_from_json(struct md_json_t *json, apr_pool_t *p)
int md_pkeys_spec_is_empty(const md_pkeys_spec_t *pks)
md_json_t * md_json_create(apr_pool_t *pool)
int md_json_getb(const md_json_t *json,...)
apr_status_t md_json_sets(const char *value, md_json_t *json,...)
const char * md_json_gets(const md_json_t *json,...)
long md_json_getl(const md_json_t *json,...)
md_json_t * md_json_getj(md_json_t *json,...)
apr_status_t md_json_dupsa(apr_array_header_t *a, apr_pool_t *p, md_json_t *json,...)
apr_status_t md_json_setj(const md_json_t *value, md_json_t *json,...)
int md_json_has_key(const md_json_t *json,...)
apr_status_t md_json_setb(int value, md_json_t *json,...)
const char * md_json_dups(apr_pool_t *p, const md_json_t *json,...)
apr_status_t md_json_setl(long value, md_json_t *json,...)
apr_status_t md_json_setsa(apr_array_header_t *a, md_json_t *json,...)
const char * md_timeslice_format(const md_timeslice_t *ts, apr_pool_t *p)
const char * md_timeslice_parse(md_timeslice_t **pts, apr_pool_t *p, const char *val, apr_interval_time_t norm)
apr_array_header_t * md_array_str_clone(apr_pool_t *p, apr_array_header_t *src)
int md_dns_domains_match(const apr_array_header_t *domains, const char *name)
apr_status_t md_util_abs_uri_check(apr_pool_t *p, const char *uri, const char **perr)
struct apr_array_header_t * md_array_str_compact(apr_pool_t *p, struct apr_array_header_t *src, int case_sensitive)
int md_array_str_index(const apr_array_header_t *array, const char *s, int start, int case_sensitive)
md_timeslice_t * renew_window
struct apr_array_header_t * domains
md_timeslice_t * warn_window
struct apr_array_header_t * acme_tls_1_domains
md_require_t require_https
struct apr_array_header_t * pkey_files
unsigned defn_line_number
const char * ca_effective
struct apr_array_header_t * ca_urls
struct md_pkeys_spec_t * pks
const char * ca_agreement
struct apr_array_header_t * contacts
struct apr_array_header_t * cert_files
struct apr_array_header_t * ca_challenges
typedef int(WSAAPI *apr_winapi_fpt_WSAPoll)(IN OUT LPWSAPOLLFD fdArray