Apache HTTPD
Macros | Functions | Variables
mod_md_config.c File Reference
#include <assert.h>
#include <apr_lib.h>
#include <apr_strings.h>
#include <httpd.h>
#include <http_core.h>
#include <http_config.h>
#include <http_log.h>
#include <http_vhost.h>
#include "md.h"
#include "md_acme.h"
#include "md_crypt.h"
#include "md_log.h"
#include "md_json.h"
#include "md_util.h"
#include "mod_md_private.h"
#include "mod_md_config.h"

Go to the source code of this file.

Macros

#define MD_CMD_MD_SECTION   "<MDomainSet"
 
#define MD_CMD_MD2_SECTION   "<MDomain"
 
#define DEF_VAL   (-1)
 
#define MD_DEFAULT_BASE_DIR   "md"
 
#define CONF_S_NAME(s)   (s && s->server_hostname? s->server_hostname : "default")
 
#define MD_LOC_GLOBAL   (0x01)
 
#define MD_LOC_MD   (0x02)
 
#define MD_LOC_ELSE   (0x04)
 
#define MD_LOC_ALL   (0x07)
 
#define MD_LOC_NOT_MD   (0x102)
 

Functions

static apr_status_t cleanup_mod_config (void *dummy)
 
static md_mod_conf_tmd_mod_conf_get (apr_pool_t *pool, int create)
 
static void srv_conf_props_clear (md_srv_conf_t *sc)
 
static void srv_conf_props_copy (md_srv_conf_t *to, const md_srv_conf_t *from)
 
static void srv_conf_props_apply (md_t *md, const md_srv_conf_t *from, apr_pool_t *p)
 
void * md_config_create_svr (apr_pool_t *pool, server_rec *s)
 
static void * md_config_merge (apr_pool_t *pool, void *basev, void *addv)
 
void * md_config_merge_svr (apr_pool_t *pool, void *basev, void *addv)
 
static int inside_section (cmd_parms *cmd, const char *section)
 
static int inside_md_section (cmd_parms *cmd)
 
static const charmd_section_check (cmd_parms *cmd)
 
static const charmd_conf_check_location (cmd_parms *cmd, int flags)
 
static const charset_on_off (int *pvalue, const char *s, apr_pool_t *p)
 
static void add_domain_name (apr_array_header_t *domains, const char *name, apr_pool_t *p)
 
static const charset_transitive (int *ptransitive, const char *value)
 
static const charmd_config_sec_start (cmd_parms *cmd, void *mconfig, const char *arg)
 
static const charmd_config_sec_add_members (cmd_parms *cmd, void *dc, int argc, char *const argv[])
 
static const charmd_config_set_names (cmd_parms *cmd, void *dc, int argc, char *const argv[])
 
static const charmd_config_set_ca (cmd_parms *cmd, void *dc, int argc, char *const argv[])
 
static const charmd_config_set_contact (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_ca_proto (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_agreement (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_renew_mode (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_must_staple (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_stapling (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_staple_others (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_base_server (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_check_interval (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_min_delay (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_retry_failover (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_store_locks (cmd_parms *cmd, void *dc, const char *s)
 
static const charmd_config_set_match_mode (cmd_parms *cmd, void *dc, const char *s)
 
static const charmd_config_set_require_https (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_renew_window (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_warn_window (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_proxy (cmd_parms *cmd, void *arg, const char *value)
 
static const charmd_config_set_store_dir (cmd_parms *cmd, void *arg, const char *value)
 
static const charset_port_map (md_mod_conf_t *mc, const char *value)
 
static const charmd_config_set_port_map (cmd_parms *cmd, void *arg, const char *v1, const char *v2)
 
static const charmd_config_set_cha_tyes (cmd_parms *cmd, void *dc, int argc, char *const argv[])
 
static const charmd_config_set_pkeys (cmd_parms *cmd, void *dc, int argc, char *const argv[])
 
static const charmd_config_set_notify_cmd (cmd_parms *cmd, void *mconfig, const char *arg)
 
static const charmd_config_set_msg_cmd (cmd_parms *cmd, void *mconfig, const char *arg)
 
static const charmd_config_set_dns01_cmd (cmd_parms *cmd, void *mconfig, const char *arg)
 
static const charmd_config_set_dns01_version (cmd_parms *cmd, void *mconfig, const char *value)
 
static const charmd_config_add_cert_file (cmd_parms *cmd, void *mconfig, const char *arg)
 
static const charmd_config_add_key_file (cmd_parms *cmd, void *mconfig, const char *arg)
 
static const charmd_config_set_server_status (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_certificate_status (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_ocsp_keep_window (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_ocsp_renew_window (cmd_parms *cmd, void *dc, const char *value)
 
static const charmd_config_set_cert_check (cmd_parms *cmd, void *dc, const char *name, const char *url)
 
static const charmd_config_set_activation_delay (cmd_parms *cmd, void *mconfig, const char *arg)
 
static const charmd_config_set_ca_certs (cmd_parms *cmd, void *dc, const char *path)
 
static const charmd_config_set_eab (cmd_parms *cmd, void *dc, const char *keyid, const char *hmac)
 
apr_status_t md_config_post_config (server_rec *s, apr_pool_t *p)
 
static md_srv_conf_tconfig_get_int (server_rec *s, apr_pool_t *p)
 
md_srv_conf_tmd_config_get (server_rec *s)
 
md_srv_conf_tmd_config_get_unique (server_rec *s, apr_pool_t *p)
 
md_srv_conf_tmd_config_cget (conn_rec *c)
 
const charmd_config_gets (const md_srv_conf_t *sc, md_config_var_t var)
 
int md_config_geti (const md_srv_conf_t *sc, md_config_var_t var)
 
void md_config_get_timespan (md_timeslice_t **pspan, const md_srv_conf_t *sc, md_config_var_t var)
 
const md_tmd_get_for_domain (server_rec *s, const char *domain)
 

Variables

static md_timeslice_t def_ocsp_keep_window
 
static md_timeslice_t def_ocsp_renew_window
 
static md_mod_conf_t defmc
 
static md_timeslice_t def_renew_window
 
static md_timeslice_t def_warn_window
 
static md_srv_conf_t defconf
 
static md_mod_conf_tmod_md_config
 
const command_rec md_cmds []
 

Macro Definition Documentation

◆ CONF_S_NAME

#define CONF_S_NAME (   s)    (s && s->server_hostname? s->server_hostname : "default")

Definition at line 160 of file mod_md_config.c.

◆ DEF_VAL

#define DEF_VAL   (-1)

Definition at line 40 of file mod_md_config.c.

◆ MD_CMD_MD2_SECTION

#define MD_CMD_MD2_SECTION   "<MDomain"

Definition at line 38 of file mod_md_config.c.

◆ MD_CMD_MD_SECTION

#define MD_CMD_MD_SECTION   "<MDomainSet"

Definition at line 37 of file mod_md_config.c.

◆ MD_DEFAULT_BASE_DIR

#define MD_DEFAULT_BASE_DIR   "md"

Definition at line 43 of file mod_md_config.c.

◆ MD_LOC_ALL

#define MD_LOC_ALL   (0x07)

Definition at line 307 of file mod_md_config.c.

◆ MD_LOC_ELSE

#define MD_LOC_ELSE   (0x04)

Definition at line 306 of file mod_md_config.c.

◆ MD_LOC_GLOBAL

#define MD_LOC_GLOBAL   (0x01)

Definition at line 304 of file mod_md_config.c.

◆ MD_LOC_MD

#define MD_LOC_MD   (0x02)

Definition at line 305 of file mod_md_config.c.

◆ MD_LOC_NOT_MD

#define MD_LOC_NOT_MD   (0x102)

Definition at line 308 of file mod_md_config.c.

Function Documentation

◆ add_domain_name()

static void add_domain_name ( apr_array_header_t domains,
const char name,
apr_pool_t p 
)
static

Definition at line 344 of file mod_md_config.c.

◆ cleanup_mod_config()

static apr_status_t cleanup_mod_config ( void *  dummy)
static

Definition at line 133 of file mod_md_config.c.

◆ config_get_int()

static md_srv_conf_t * config_get_int ( server_rec s,
apr_pool_t p 
)
static

Definition at line 1353 of file mod_md_config.c.

◆ inside_md_section()

static int inside_md_section ( cmd_parms cmd)
static

Definition at line 292 of file mod_md_config.c.

◆ inside_section()

static int inside_section ( cmd_parms cmd,
const char section 
)
static

Definition at line 282 of file mod_md_config.c.

◆ md_conf_check_location()

static const char * md_conf_check_location ( cmd_parms cmd,
int  flags 
)
static

< Forbidden in <VirtualHost>

< Forbidden in <Limit>

< Forbidden in <Directory>

< Forbidden in <Location>

< Forbidden in <Files> or <If>

< Forbidden in <Proxy>

< Forbidden in <Directory>

< Forbidden in <Location>

Definition at line 310 of file mod_md_config.c.

◆ md_config_add_cert_file()

static const char * md_config_add_cert_file ( cmd_parms cmd,
void *  mconfig,
const char arg 
)
static

Definition at line 1047 of file mod_md_config.c.

◆ md_config_add_key_file()

static const char * md_config_add_key_file ( cmd_parms cmd,
void *  mconfig,
const char arg 
)
static

Definition at line 1064 of file mod_md_config.c.

◆ md_config_cget()

md_srv_conf_t * md_config_cget ( conn_rec c)

Definition at line 1378 of file mod_md_config.c.

◆ md_config_create_svr()

void * md_config_create_svr ( apr_pool_t pool,
server_rec s 
)

Definition at line 228 of file mod_md_config.c.

◆ md_config_get()

md_srv_conf_t * md_config_get ( server_rec s)

Definition at line 1367 of file mod_md_config.c.

◆ md_config_get_timespan()

void md_config_get_timespan ( md_timeslice_t **  pspan,
const md_srv_conf_t sc,
md_config_var_t  var 
)

Definition at line 1423 of file mod_md_config.c.

◆ md_config_get_unique()

md_srv_conf_t * md_config_get_unique ( server_rec s,
apr_pool_t p 
)

Definition at line 1372 of file mod_md_config.c.

◆ md_config_geti()

int md_config_geti ( const md_srv_conf_t sc,
md_config_var_t  var 
)

Definition at line 1403 of file mod_md_config.c.

◆ md_config_gets()

const char * md_config_gets ( const md_srv_conf_t sc,
md_config_var_t  var 
)

Definition at line 1383 of file mod_md_config.c.

◆ md_config_merge()

static void * md_config_merge ( apr_pool_t pool,
void *  basev,
void *  addv 
)
static

Definition at line 241 of file mod_md_config.c.

◆ md_config_merge_svr()

void * md_config_merge_svr ( apr_pool_t pool,
void *  basev,
void *  addv 
)

Definition at line 277 of file mod_md_config.c.

◆ md_config_post_config()

apr_status_t md_config_post_config ( server_rec s,
apr_pool_t p 
)

Definition at line 1331 of file mod_md_config.c.

◆ md_config_sec_add_members()

static const char * md_config_sec_add_members ( cmd_parms cmd,
void *  dc,
int  argc,
char *const  argv[] 
)
static

Definition at line 426 of file mod_md_config.c.

◆ md_config_sec_start()

static const char * md_config_sec_start ( cmd_parms cmd,
void *  mconfig,
const char arg 
)
static

Definition at line 364 of file mod_md_config.c.

◆ md_config_set_activation_delay()

static const char * md_config_set_activation_delay ( cmd_parms cmd,
void *  mconfig,
const char arg 
)
static

Definition at line 1152 of file mod_md_config.c.

◆ md_config_set_agreement()

static const char * md_config_set_agreement ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 542 of file mod_md_config.c.

◆ md_config_set_base_server()

static const char * md_config_set_base_server ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 618 of file mod_md_config.c.

◆ md_config_set_ca()

static const char * md_config_set_ca ( cmd_parms cmd,
void *  dc,
int  argc,
char *const  argv[] 
)
static

Definition at line 490 of file mod_md_config.c.

◆ md_config_set_ca_certs()

static const char * md_config_set_ca_certs ( cmd_parms cmd,
void *  dc,
const char path 
)
static

Definition at line 1169 of file mod_md_config.c.

◆ md_config_set_ca_proto()

static const char * md_config_set_ca_proto ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 529 of file mod_md_config.c.

◆ md_config_set_cert_check()

static const char * md_config_set_cert_check ( cmd_parms cmd,
void *  dc,
const char name,
const char url 
)
static

Definition at line 1137 of file mod_md_config.c.

◆ md_config_set_certificate_status()

static const char * md_config_set_certificate_status ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 1093 of file mod_md_config.c.

◆ md_config_set_cha_tyes()

static const char * md_config_set_cha_tyes ( cmd_parms cmd,
void *  dc,
int  argc,
char *const  argv[] 
)
static

Definition at line 881 of file mod_md_config.c.

◆ md_config_set_check_interval()

static const char * md_config_set_check_interval ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 628 of file mod_md_config.c.

◆ md_config_set_contact()

static const char * md_config_set_contact ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 516 of file mod_md_config.c.

◆ md_config_set_dns01_cmd()

static const char * md_config_set_dns01_cmd ( cmd_parms cmd,
void *  mconfig,
const char arg 
)
static

Definition at line 1010 of file mod_md_config.c.

◆ md_config_set_dns01_version()

static const char * md_config_set_dns01_version ( cmd_parms cmd,
void *  mconfig,
const char value 
)
static

Definition at line 1029 of file mod_md_config.c.

◆ md_config_set_eab()

static const char * md_config_set_eab ( cmd_parms cmd,
void *  dc,
const char keyid,
const char hmac 
)
static

Definition at line 1178 of file mod_md_config.c.

◆ md_config_set_match_mode()

static const char * md_config_set_match_mode ( cmd_parms cmd,
void *  dc,
const char s 
)
static

Definition at line 707 of file mod_md_config.c.

◆ md_config_set_min_delay()

static const char * md_config_set_min_delay ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 646 of file mod_md_config.c.

◆ md_config_set_msg_cmd()

static const char * md_config_set_msg_cmd ( cmd_parms cmd,
void *  mconfig,
const char arg 
)
static

Definition at line 997 of file mod_md_config.c.

◆ md_config_set_must_staple()

static const char * md_config_set_must_staple ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 582 of file mod_md_config.c.

◆ md_config_set_names()

static const char * md_config_set_names ( cmd_parms cmd,
void *  dc,
int  argc,
char *const  argv[] 
)
static

Definition at line 451 of file mod_md_config.c.

◆ md_config_set_notify_cmd()

static const char * md_config_set_notify_cmd ( cmd_parms cmd,
void *  mconfig,
const char arg 
)
static

Definition at line 984 of file mod_md_config.c.

◆ md_config_set_ocsp_keep_window()

static const char * md_config_set_ocsp_keep_window ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 1105 of file mod_md_config.c.

◆ md_config_set_ocsp_renew_window()

static const char * md_config_set_ocsp_renew_window ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 1119 of file mod_md_config.c.

◆ md_config_set_pkeys()

static const char * md_config_set_pkeys ( cmd_parms cmd,
void *  dc,
int  argc,
char *const  argv[] 
)
static

Definition at line 909 of file mod_md_config.c.

◆ md_config_set_port_map()

static const char * md_config_set_port_map ( cmd_parms cmd,
void *  arg,
const char v1,
const char v2 
)
static

Definition at line 865 of file mod_md_config.c.

◆ md_config_set_proxy()

static const char * md_config_set_proxy ( cmd_parms cmd,
void *  arg,
const char value 
)
static

Definition at line 789 of file mod_md_config.c.

◆ md_config_set_renew_mode()

static const char * md_config_set_renew_mode ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 555 of file mod_md_config.c.

◆ md_config_set_renew_window()

static const char * md_config_set_renew_window ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 753 of file mod_md_config.c.

◆ md_config_set_require_https()

static const char * md_config_set_require_https ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 728 of file mod_md_config.c.

◆ md_config_set_retry_failover()

static const char * md_config_set_retry_failover ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 661 of file mod_md_config.c.

◆ md_config_set_server_status()

static const char * md_config_set_server_status ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 1081 of file mod_md_config.c.

◆ md_config_set_staple_others()

static const char * md_config_set_staple_others ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 606 of file mod_md_config.c.

◆ md_config_set_stapling()

static const char * md_config_set_stapling ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 594 of file mod_md_config.c.

◆ md_config_set_store_dir()

static const char * md_config_set_store_dir ( cmd_parms cmd,
void *  arg,
const char value 
)
static

Definition at line 806 of file mod_md_config.c.

◆ md_config_set_store_locks()

static const char * md_config_set_store_locks ( cmd_parms cmd,
void *  dc,
const char s 
)
static

Definition at line 677 of file mod_md_config.c.

◆ md_config_set_warn_window()

static const char * md_config_set_warn_window ( cmd_parms cmd,
void *  dc,
const char value 
)
static

Definition at line 771 of file mod_md_config.c.

◆ md_get_for_domain()

const md_t * md_get_for_domain ( server_rec s,
const char domain 
)

Definition at line 1437 of file mod_md_config.c.

◆ md_mod_conf_get()

static md_mod_conf_t * md_mod_conf_get ( apr_pool_t pool,
int  create 
)
static

Definition at line 140 of file mod_md_config.c.

◆ md_section_check()

static const char * md_section_check ( cmd_parms cmd)
static

Definition at line 296 of file mod_md_config.c.

◆ set_on_off()

static const char * set_on_off ( int pvalue,
const char s,
apr_pool_t p 
)
static

Definition at line 328 of file mod_md_config.c.

◆ set_port_map()

static const char * set_port_map ( md_mod_conf_t mc,
const char value 
)
static

Definition at line 819 of file mod_md_config.c.

◆ set_transitive()

static const char * set_transitive ( int ptransitive,
const char value 
)
static

Definition at line 351 of file mod_md_config.c.

◆ srv_conf_props_apply()

static void srv_conf_props_apply ( md_t md,
const md_srv_conf_t from,
apr_pool_t p 
)
static

Definition at line 204 of file mod_md_config.c.

◆ srv_conf_props_clear()

static void srv_conf_props_clear ( md_srv_conf_t sc)
static

Definition at line 162 of file mod_md_config.c.

◆ srv_conf_props_copy()

static void srv_conf_props_copy ( md_srv_conf_t to,
const md_srv_conf_t from 
)
static

Definition at line 183 of file mod_md_config.c.

Variable Documentation

◆ def_ocsp_keep_window

md_timeslice_t def_ocsp_keep_window
static
Initial value:
= {
0,
(((apr_time_t)( 7 * (24* (60*60) ) ) * APR_INT64_C( 1000000 ) )) ,
}
apr_size_t size
apr_int64_t apr_time_t
Definition apr_time.h:45

Definition at line 46 of file mod_md_config.c.

◆ def_ocsp_renew_window

md_timeslice_t def_ocsp_renew_window
static
Initial value:
= {
(((apr_time_t)( 100 * (24* (60*60) ) ) * APR_INT64_C( 1000000 ) )) ,
(((apr_time_t)( 33 * (24* (60*60) ) ) * APR_INT64_C( 1000000 ) )) ,
}

Definition at line 51 of file mod_md_config.c.

◆ def_renew_window

md_timeslice_t def_renew_window
static
Initial value:
= {
(((apr_time_t)( 100 * (24* (60*60) ) ) * APR_INT64_C( 1000000 ) )) ,
(((apr_time_t)( 33 * (24* (60*60) ) ) * APR_INT64_C( 1000000 ) )) ,
}

Definition at line 95 of file mod_md_config.c.

◆ def_warn_window

md_timeslice_t def_warn_window
static
Initial value:
= {
(((apr_time_t)( 100 * (24* (60*60) ) ) * APR_INT64_C( 1000000 ) )) ,
(((apr_time_t)( 10 * (24* (60*60) ) ) * APR_INT64_C( 1000000 ) )) ,
}

Definition at line 99 of file mod_md_config.c.

◆ defconf

md_srv_conf_t defconf
static
Initial value:
= {
"default",
NULL,
&defmc,
1,
0,
NULL,
NULL,
NULL,
"ACME" ,
NULL,
NULL,
NULL,
NULL,
0,
1,
NULL,
NULL,
NULL,
0,
}
@ MD_RENEW_AUTO
Definition md.h:71
@ MD_REQUIRE_OFF
Definition md.h:63
static md_timeslice_t def_renew_window
static md_timeslice_t def_warn_window
static md_mod_conf_t defmc
return NULL
Definition mod_so.c:359

Definition at line 105 of file mod_md_config.c.

◆ defmc

md_mod_conf_t defmc
static

Definition at line 57 of file mod_md_config.c.

◆ md_cmds

const command_rec md_cmds[]

Definition at line 1238 of file mod_md_config.c.

◆ mod_md_config

md_mod_conf_t* mod_md_config
static

Definition at line 131 of file mod_md_config.c.