48 if (!sc || !sc->
mc->
ocsp)
return 0;
73 "unable to parse PEM data", md? md->
name :
s->server_hostname);
76 else if (chain->
nelts < 2) {
78 "need at least 2 certificates in PEM data", md? md->
name :
s->server_hostname);
87 md? md->
name :
s->server_hostname);
112 md? md->
name :
s->server_hostname);
126#define MD_OCSP_WATCHDOG_NAME "_md_ocsp_"
159 "md ocsp watchdog start, ocsp stapling %d certificates",
165 "md ocsp watchdog run, ocsp stapling %d certificates",
179 "md ocsp watchdog next run in %s",
187 "md ocsp watchdog stopping");
218 "mod_watchdog is required for OCSP stapling");
APR-UTIL registration of functions exported by modules.
void ap_ssl_ocsp_copy_resp(const unsigned char *der, apr_size_t der_len, void *userdata)
ap_vhost_iterate_conn_cb void * baton
#define APR_STATUS_IS_ENOENT(s)
#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
void const char apr_status_t(* cleanup)(void *))
apr_vformatter_buff_t * c
apr_abortfunc_t apr_allocator_t * allocator
#define apr_pcalloc(p, size)
#define APR_ARRAY_IDX(ary, i, type)
#define apr_time_from_sec(sec)
#define MD_TIME_OCSP_KEEP_NORM
apr_status_t md_cert_read_chain(apr_array_header_t *chain, apr_pool_t *p, const char *pem, apr_size_t pem_len)
apr_size_t md_ocsp_count(md_ocsp_reg_t *reg)
void md_ocsp_renew(md_ocsp_reg_t *reg, apr_pool_t *p, apr_pool_t *ptemp, apr_time_t *pnext_run)
apr_status_t md_ocsp_remove_responses_older_than(md_ocsp_reg_t *reg, apr_pool_t *p, apr_time_t timestamp)
apr_status_t md_ocsp_prime(md_ocsp_reg_t *reg, const char *ext_id, apr_size_t ext_id_len, md_cert_t *cert, md_cert_t *issuer, const md_t *md)
apr_status_t md_ocsp_get_status(md_ocsp_copy_der *cb, void *userdata, md_ocsp_reg_t *reg, const char *ext_id, apr_size_t ext_id_len, apr_pool_t *p, const md_t *md)
const char * md_duration_print(apr_pool_t *p, apr_interval_time_t duration)
md_timeperiod_t md_timeperiod_slice_before_end(const md_timeperiod_t *period, const md_timeslice_t *ts)
md_srv_conf_t * md_config_get(server_rec *s)
int md_config_geti(const md_srv_conf_t *sc, md_config_var_t var)
@ MD_CONFIG_STAPLE_OTHERS
static apr_time_t next_run_default(void)
static apr_OFN_ap_watchdog_register_callback_t * wd_register_callback
int md_ocsp_provide_status(server_rec *s, conn_rec *c, const char *id, apr_size_t id_len, ap_ssl_ocsp_copy_resp *cb, void *userdata)
static apr_OFN_ap_watchdog_set_callback_interval_t * wd_set_interval
int md_ocsp_prime_status(server_rec *s, apr_pool_t *p, const char *id, apr_size_t id_len, const char *pem)
static apr_status_t ocsp_remove_old_responses(md_mod_conf_t *mc, apr_pool_t *p)
static int staple_here(md_srv_conf_t *sc)
static apr_status_t run_watchdog(int state, void *baton, apr_pool_t *ptemp)
#define MD_OCSP_WATCHDOG_NAME
apr_status_t md_ocsp_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_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.
Structure to store things which are per connection.
struct md_ocsp_reg_t * ocsp
struct apr_array_header_t * assigned
A structure to store information for each virtual server.