36#define MD_PKEY_RSA_BITS_MIN 2048
37#define MD_PKEY_RSA_BITS_DEF 2048
40#define MD_HSTS_HEADER "Strict-Transport-Security"
41#define MD_HSTS_MAX_AGE_DEFAULT 15768000
43#define PROTO_ACME_TLS_1 "acme-tls/1"
45#define MD_TIME_LIFE_NORM (apr_time_from_sec(100 * MD_SECS_PER_DAY))
46#define MD_TIME_RENEW_WINDOW_DEF (apr_time_from_sec(33 * MD_SECS_PER_DAY))
47#define MD_TIME_WARN_WINDOW_DEF (apr_time_from_sec(10 * MD_SECS_PER_DAY))
48#define MD_TIME_OCSP_KEEP_NORM (apr_time_from_sec(7 * MD_SECS_PER_DAY))
50#define MD_OTHER "other"
115#define MD_KEY_ACCOUNT "account"
116#define MD_KEY_ACME_TLS_1 "acme-tls/1"
117#define MD_KEY_ACTIVATION_DELAY "activation-delay"
118#define MD_KEY_ACTIVITY "activity"
119#define MD_KEY_AGREEMENT "agreement"
120#define MD_KEY_AUTHORIZATIONS "authorizations"
121#define MD_KEY_BITS "bits"
122#define MD_KEY_CA "ca"
123#define MD_KEY_CA_URL "ca-url"
124#define MD_KEY_CERT "cert"
125#define MD_KEY_CERT_FILES "cert-files"
126#define MD_KEY_CERTIFICATE "certificate"
127#define MD_KEY_CHALLENGE "challenge"
128#define MD_KEY_CHALLENGES "challenges"
129#define MD_KEY_CMD_DNS01 "cmd-dns-01"
130#define MD_KEY_DNS01_VERSION "cmd-dns-01-version"
131#define MD_KEY_COMPLETE "complete"
132#define MD_KEY_CONTACT "contact"
133#define MD_KEY_CONTACTS "contacts"
134#define MD_KEY_CSR "csr"
135#define MD_KEY_CURVE "curve"
136#define MD_KEY_DETAIL "detail"
137#define MD_KEY_DISABLED "disabled"
138#define MD_KEY_DIR "dir"
139#define MD_KEY_DOMAIN "domain"
140#define MD_KEY_DOMAINS "domains"
141#define MD_KEY_EAB "eab"
142#define MD_KEY_EAB_REQUIRED "externalAccountRequired"
143#define MD_KEY_ENTRIES "entries"
144#define MD_KEY_ERRORED "errored"
145#define MD_KEY_ERROR "error"
146#define MD_KEY_ERRORS "errors"
147#define MD_KEY_EXPIRES "expires"
148#define MD_KEY_FINALIZE "finalize"
149#define MD_KEY_FINISHED "finished"
150#define MD_KEY_FROM "from"
151#define MD_KEY_GOOD "good"
152#define MD_KEY_HMAC "hmac"
153#define MD_KEY_HTTP "http"
154#define MD_KEY_HTTPS "https"
155#define MD_KEY_ID "id"
156#define MD_KEY_IDENTIFIER "identifier"
157#define MD_KEY_KEY "key"
158#define MD_KEY_KID "kid"
159#define MD_KEY_KEYAUTHZ "keyAuthorization"
160#define MD_KEY_LAST "last"
161#define MD_KEY_LAST_RUN "last-run"
162#define MD_KEY_LOCATION "location"
163#define MD_KEY_LOG "log"
164#define MD_KEY_MDS "managed-domains"
165#define MD_KEY_MESSAGE "message"
166#define MD_KEY_MUST_STAPLE "must-staple"
167#define MD_KEY_NAME "name"
168#define MD_KEY_NEXT_RUN "next-run"
169#define MD_KEY_NOTIFIED "notified"
170#define MD_KEY_NOTIFIED_RENEWED "notified-renewed"
171#define MD_KEY_OCSP "ocsp"
172#define MD_KEY_OCSPS "ocsps"
173#define MD_KEY_ORDERS "orders"
174#define MD_KEY_PERMANENT "permanent"
175#define MD_KEY_PKEY "privkey"
176#define MD_KEY_PKEY_FILES "pkey-files"
177#define MD_KEY_PROBLEM "problem"
178#define MD_KEY_PROTO "proto"
179#define MD_KEY_READY "ready"
180#define MD_KEY_REGISTRATION "registration"
181#define MD_KEY_RENEW "renew"
182#define MD_KEY_RENEW_AT "renew-at"
183#define MD_KEY_RENEW_MODE "renew-mode"
184#define MD_KEY_RENEWAL "renewal"
185#define MD_KEY_RENEWING "renewing"
186#define MD_KEY_RENEW_WINDOW "renew-window"
187#define MD_KEY_REQUIRE_HTTPS "require-https"
188#define MD_KEY_RESOURCE "resource"
189#define MD_KEY_RESPONSE "response"
190#define MD_KEY_REVOKED "revoked"
191#define MD_KEY_SERIAL "serial"
192#define MD_KEY_SHA256_FINGERPRINT "sha256-fingerprint"
193#define MD_KEY_STAPLING "stapling"
194#define MD_KEY_STATE "state"
195#define MD_KEY_STATE_DESCR "state-descr"
196#define MD_KEY_STATUS "status"
197#define MD_KEY_STORE "store"
198#define MD_KEY_SUBPROBLEMS "subproblems"
199#define MD_KEY_TEMPORARY "temporary"
200#define MD_KEY_TOS "termsOfService"
201#define MD_KEY_TOKEN "token"
202#define MD_KEY_TOTAL "total"
203#define MD_KEY_TRANSITIVE "transitive"
204#define MD_KEY_TYPE "type"
205#define MD_KEY_UNKNOWN "unknown"
206#define MD_KEY_UNTIL "until"
207#define MD_KEY_URL "url"
208#define MD_KEY_URLS "urls"
209#define MD_KEY_URI "uri"
210#define MD_KEY_VALID "valid"
211#define MD_KEY_VALID_FROM "valid-from"
212#define MD_KEY_VALUE "value"
213#define MD_KEY_VERSION "version"
214#define MD_KEY_WATCHED "watched"
215#define MD_KEY_WHEN "when"
216#define MD_KEY_WARN_WINDOW "warn-window"
221#define MD_VAL_UPDATE(n,o,s) ((n)->s != (o)->s)
222#define MD_SVAL_UPDATE(n,o,s) ((n)->s && (!(o)->s || strcmp((n)->s, (o)->s)))
328#define MD_OK(c) (APR_SUCCESS == (rv = c))
ap_vhost_iterate_conn_cb void * baton
const char int case_sensitive
apr_array_header_t ** result
int md_equal_domains(const md_t *md1, const md_t *md2, int case_sensitive)
int md_cert_count(const md_t *md)
apr_status_t md_job_notify_cb(struct md_job_t *job, const char *reason, struct md_result_t *result, apr_pool_t *p, void *baton)
int md_is_covered_by_alt_names(const md_t *md, const struct apr_array_header_t *alt_names)
@ MD_S_EXPIRED_DEPRECATED
@ MD_S_MISSING_INFORMATION
md_t * md_clone(apr_pool_t *p, const md_t *src)
md_t * md_get_by_name(struct apr_array_header_t *mds, const char *name)
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_create(apr_pool_t *p, struct apr_array_header_t *domains)
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_t * md_get_by_dns_overlap(struct apr_array_header_t *mds, const md_t *md)
struct md_json_t * md_to_json(const md_t *md, apr_pool_t *p)
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)
md_t * md_from_json(struct md_json_t *json, apr_pool_t *p)
int md_contains(const md_t *md, const char *domain, int case_sensitive)
struct md_json_t * md_to_public_json(const md_t *md, apr_pool_t *p)
md_t * md_create_empty(apr_pool_t *p)
static const char * alt_names(apr_array_header_t *domains, apr_pool_t *p)
struct apr_array_header_t * certs
struct apr_array_header_t * alt_names
md_timeslice_t * renew_window
struct apr_array_header_t * domains
const struct md_srv_conf_t * sc
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
const char * configured_name
struct apr_array_header_t * contacts
struct apr_array_header_t * cert_files
struct apr_array_header_t * ca_challenges