57#define MD_RENEW_WATCHDOG_NAME "_md_renew_"
114 "md(%s): has revoked certificates", job->
mdomain);
118 "md(%s): no need to renew", job->
mdomain);
127 "%s: event-handler for 'renewing' returned %d, preventing renewal to proceed.",
155 "%s: encountered error for the %d. time, next run in %s",
164 "md(%s): warn about expiration", md->
name);
211 "md watchdog start, auto drive %d mds",
dctx->jobs->nelts);
216 "md watchdog run, auto drive %d mds",
dctx->jobs->nelts);
223 for (
i = 0;
i <
dctx->jobs->nelts; ++
i) {
245 "md watchdog stopping");
311 for (
i = 0;
i <
mc->mds->nelts; ++
i) {
313 if (!md || !md->
watched)
continue;
318 "md(%s): state=%d, created drive job", md->
name, md->
state);
329 "md(%s): previous drive job showed %d errors, purging STAGING "
337 if (!
dctx->jobs->nelts) {
339 "no managed domain to drive, no watchdog needed.");
APR-UTIL registration of functions exported by modules.
ap_vhost_iterate_conn_cb void * baton
#define APR_RETRIEVE_OPTIONAL_FN(name)
#define APR_OPTIONAL_FN_TYPE(name)
#define AP_WATCHDOG_STATE_STARTING
#define AP_WATCHDOG_STATE_STOPPING
#define AP_WATCHDOG_STATE_RUNNING
#define AP_DEBUG_ASSERT(exp)
apr_array_header_t ** result
apr_vformatter_buff_t * c
apr_abortfunc_t apr_allocator_t * allocator
#define apr_pcalloc(p, size)
#define APR_ARRAY_PUSH(ary, type)
#define APR_ARRAY_IDX(ary, i, type)
@ MD_S_MISSING_INFORMATION
md_t * md_get_by_name(struct apr_array_header_t *mds, const char *name)
apr_status_t md_rand_bytes(unsigned char *buf, apr_size_t len, apr_pool_t *p)
apr_status_t md_event_raise(const char *event, const char *mdomain, struct md_job_t *job, struct md_result_t *result, apr_pool_t *p)
void md_event_holler(const char *event, const char *mdomain, struct md_job_t *job, struct md_result_t *result, apr_pool_t *p)
int md_reg_should_renew(md_reg_t *reg, const md_t *md, apr_pool_t *p)
apr_status_t md_reg_renew(md_reg_t *reg, const md_t *md, apr_table_t *env, int reset, int attempt, md_result_t *result, apr_pool_t *p)
int md_reg_has_revoked_certs(md_reg_t *reg, struct md_ocsp_reg_t *ocsp, const md_t *md, apr_pool_t *p)
md_job_t * md_reg_job_make(md_reg_t *reg, const char *mdomain, apr_pool_t *p)
int md_reg_should_warn(md_reg_t *reg, const md_t *md, apr_pool_t *p)
struct md_store_t * md_reg_store_get(md_reg_t *reg)
void md_result_assign(md_result_t *dest, const md_result_t *src)
md_result_t * md_result_md_make(apr_pool_t *p, const char *md_name)
void md_job_start_run(md_job_t *job, md_result_t *result, md_store_t *store)
apr_status_t md_job_load(md_job_t *job)
void md_job_end_run(md_job_t *job, md_result_t *result)
apr_status_t md_job_save(md_job_t *job, md_result_t *result, apr_pool_t *p)
void md_job_retry_at(md_job_t *job, apr_time_t later)
void md_job_log_append(md_job_t *job, const char *type, const char *status, const char *detail)
apr_status_t md_job_notify(md_job_t *job, const char *reason, md_result_t *result)
apr_status_t md_store_purge(md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *name)
const char * md_duration_print(apr_pool_t *p, apr_interval_time_t duration)
#define MD_RENEW_WATCHDOG_NAME
static apr_OFN_ap_watchdog_register_callback_t * wd_register_callback
static apr_OFN_ap_watchdog_set_callback_interval_t * wd_set_interval
int md_will_renew_cert(const md_t *md)
static apr_status_t run_watchdog(int state, void *baton, apr_pool_t *ptemp)
static void process_drive_job(md_renew_ctx_t *dctx, md_job_t *job, apr_pool_t *ptemp)
apr_status_t md_renew_start_watching(md_mod_conf_t *mc, server_rec *s, apr_pool_t *p)
static apr_OFN_ap_watchdog_get_instance_t * wd_get_instance
static apr_time_t next_run_default(void)
static apr_status_t ap_watchdog_register_callback(ap_watchdog_t *w, apr_interval_time_t interval, const void *data, ap_watchdog_callback_fn_t *callback)
static apr_status_t ap_watchdog_get_instance(ap_watchdog_t **watchdog, const char *name, int parent, int singleton, apr_pool_t *p)
static apr_status_t ap_watchdog_set_callback_interval(ap_watchdog_t *w, apr_interval_time_t interval, const void *data, ap_watchdog_callback_fn_t *callback)
Watchdog module for Apache.
struct md_result_t * last_result
apr_array_header_t * jobs
struct apr_array_header_t * cert_files
A structure to store information for each virtual server.