Apache HTTPD
Classes | Typedefs | Functions | Variables
md_acme_authz.c File Reference
#include <assert.h>
#include <stdio.h>
#include <apr_lib.h>
#include <apr_buckets.h>
#include <apr_file_info.h>
#include <apr_file_io.h>
#include <apr_fnmatch.h>
#include <apr_hash.h>
#include <apr_strings.h>
#include <apr_tables.h>
#include "md.h"
#include "md_crypt.h"
#include "md_json.h"
#include "md_http.h"
#include "md_log.h"
#include "md_jws.h"
#include "md_result.h"
#include "md_store.h"
#include "md_util.h"
#include "md_acme.h"
#include "md_acme_authz.h"

Go to the source code of this file.

Classes

struct  md_acme_authz_cha_t
 
struct  authz_req_ctx
 
struct  error_ctx_t
 
struct  cha_type
 
struct  cha_find_ctx
 

Typedefs

typedef apr_status_t cha_setup(md_acme_authz_cha_t *cha, md_acme_authz_t *authz, md_acme_t *acme, md_store_t *store, md_pkeys_spec_t *key_specs, apr_array_header_t *acme_tls_1_domains, const md_t *md, apr_table_t *env, md_result_t *result, const char **psetup_token, apr_pool_t *p)
 
typedef apr_status_t cha_teardown(md_store_t *store, const char *domain, const md_t *md, apr_table_t *env, apr_pool_t *p)
 

Functions

md_acme_authz_tmd_acme_authz_create (apr_pool_t *p)
 
static void authz_req_ctx_init (authz_req_ctx *ctx, md_acme_t *acme, const char *domain, md_acme_authz_t *authz, apr_pool_t *p)
 
apr_status_t md_acme_authz_retrieve (md_acme_t *acme, apr_pool_t *p, const char *url, md_acme_authz_t **pauthz)
 
static int copy_challenge_error (void *baton, size_t index, md_json_t *json)
 
apr_status_t md_acme_authz_update (md_acme_authz_t *authz, md_acme_t *acme, apr_pool_t *p)
 
static md_acme_authz_cha_tcha_from_json (apr_pool_t *p, size_t index, md_json_t *json)
 
static apr_status_t on_init_authz_resp (md_acme_req_t *req, void *baton)
 
static apr_status_t authz_http_set (md_acme_t *acme, apr_pool_t *p, const apr_table_t *hdrs, md_json_t *body, void *baton)
 
static apr_status_t setup_key_authz (md_acme_authz_cha_t *cha, md_acme_authz_t *authz, md_acme_t *acme, apr_pool_t *p, int *pchanged)
 
static apr_status_t cha_http_01_setup (md_acme_authz_cha_t *cha, md_acme_authz_t *authz, md_acme_t *acme, md_store_t *store, md_pkeys_spec_t *key_specs, apr_array_header_t *acme_tls_1_domains, const md_t *md, apr_table_t *env, md_result_t *result, const char **psetup_token, apr_pool_t *p)
 
void tls_alpn01_fnames (apr_pool_t *p, md_pkey_spec_t *kspec, char **keyfn, char **certfn)
 
static apr_status_t cha_tls_alpn_01_setup (md_acme_authz_cha_t *cha, md_acme_authz_t *authz, md_acme_t *acme, md_store_t *store, md_pkeys_spec_t *key_specs, apr_array_header_t *acme_tls_1_domains, const md_t *md, apr_table_t *env, md_result_t *result, const char **psetup_token, apr_pool_t *p)
 
static apr_status_t cha_dns_01_setup (md_acme_authz_cha_t *cha, md_acme_authz_t *authz, md_acme_t *acme, md_store_t *store, md_pkeys_spec_t *key_specs, apr_array_header_t *acme_tls_1_domains, const md_t *md, apr_table_t *env, md_result_t *result, const char **psetup_token, apr_pool_t *p)
 
static apr_status_t cha_dns_01_teardown (md_store_t *store, const char *domain, const md_t *md, apr_table_t *env, apr_pool_t *p)
 
static apr_status_t cha_teardown_dir (md_store_t *store, const char *domain, const md_t *md, apr_table_t *env, apr_pool_t *p)
 
static apr_status_t collect_offered (void *baton, size_t index, md_json_t *json)
 
static apr_status_t find_type (void *baton, size_t index, md_json_t *json)
 
apr_status_t md_acme_authz_respond (md_acme_authz_t *authz, md_acme_t *acme, md_store_t *store, apr_array_header_t *challenges, md_pkeys_spec_t *key_specs, apr_array_header_t *acme_tls_1_domains, const md_t *md, apr_table_t *env, apr_pool_t *p, const char **psetup_token, md_result_t *result)
 
apr_status_t md_acme_authz_teardown (struct md_store_t *store, const char *token, const md_t *md, apr_table_t *env, apr_pool_t *p)
 

Variables

static const cha_type CHA_TYPES []
 
static const apr_size_t CHA_TYPES_LEN = (sizeof(CHA_TYPES)/sizeof(CHA_TYPES[0]))
 

Typedef Documentation

◆ cha_setup

Definition at line 551 of file md_acme_authz.c.

◆ cha_teardown

typedef apr_status_t cha_teardown(md_store_t *store, const char *domain, const md_t *md, apr_table_t *env, apr_pool_t *p)

Definition at line 558 of file md_acme_authz.c.

Function Documentation

◆ authz_http_set()

static apr_status_t authz_http_set ( md_acme_t acme,
apr_pool_t p,
const apr_table_t hdrs,
md_json_t body,
void *  baton 
)
static

Definition at line 203 of file md_acme_authz.c.

◆ authz_req_ctx_init()

static void authz_req_ctx_init ( authz_req_ctx ctx,
md_acme_t acme,
const char domain,
md_acme_authz_t authz,
apr_pool_t p 
)
static

Definition at line 69 of file md_acme_authz.c.

◆ cha_dns_01_setup()

static apr_status_t cha_dns_01_setup ( md_acme_authz_cha_t cha,
md_acme_authz_t authz,
md_acme_t acme,
md_store_t store,
md_pkeys_spec_t key_specs,
apr_array_header_t acme_tls_1_domains,
const md_t md,
apr_table_t env,
md_result_t result,
const char **  psetup_token,
apr_pool_t p 
)
static

Definition at line 419 of file md_acme_authz.c.

◆ cha_dns_01_teardown()

static apr_status_t cha_dns_01_teardown ( md_store_t store,
const char domain,
const md_t md,
apr_table_t env,
apr_pool_t p 
)
static

Definition at line 501 of file md_acme_authz.c.

◆ cha_from_json()

static md_acme_authz_cha_t * cha_from_json ( apr_pool_t p,
size_t  index,
md_json_t json 
)
static

Definition at line 175 of file md_acme_authz.c.

◆ cha_http_01_setup()

static apr_status_t cha_http_01_setup ( md_acme_authz_cha_t cha,
md_acme_authz_t authz,
md_acme_t acme,
md_store_t store,
md_pkeys_spec_t key_specs,
apr_array_header_t acme_tls_1_domains,
const md_t md,
apr_table_t env,
md_result_t result,
const char **  psetup_token,
apr_pool_t p 
)
static

Definition at line 243 of file md_acme_authz.c.

◆ cha_teardown_dir()

static apr_status_t cha_teardown_dir ( md_store_t store,
const char domain,
const md_t md,
apr_table_t env,
apr_pool_t p 
)
static

Definition at line 543 of file md_acme_authz.c.

◆ cha_tls_alpn_01_setup()

static apr_status_t cha_tls_alpn_01_setup ( md_acme_authz_cha_t cha,
md_acme_authz_t authz,
md_acme_t acme,
md_store_t store,
md_pkeys_spec_t key_specs,
apr_array_header_t acme_tls_1_domains,
const md_t md,
apr_table_t env,
md_result_t result,
const char **  psetup_token,
apr_pool_t p 
)
static

Definition at line 304 of file md_acme_authz.c.

◆ collect_offered()

static apr_status_t collect_offered ( void *  baton,
size_t  index,
md_json_t json 
)
static

Definition at line 581 of file md_acme_authz.c.

◆ copy_challenge_error()

static int copy_challenge_error ( void *  baton,
size_t  index,
md_json_t json 
)
static

Definition at line 101 of file md_acme_authz.c.

◆ find_type()

static apr_status_t find_type ( void *  baton,
size_t  index,
md_json_t json 
)
static

Definition at line 593 of file md_acme_authz.c.

◆ md_acme_authz_create()

md_acme_authz_t * md_acme_authz_create ( apr_pool_t p)

Definition at line 42 of file md_acme_authz.c.

◆ md_acme_authz_respond()

apr_status_t md_acme_authz_respond ( md_acme_authz_t authz,
md_acme_t acme,
md_store_t store,
apr_array_header_t challenges,
md_pkeys_spec_t key_specs,
apr_array_header_t acme_tls_1_domains,
const md_t md,
apr_table_t env,
apr_pool_t p,
const char **  psetup_token,
md_result_t result 
)

Definition at line 605 of file md_acme_authz.c.

◆ md_acme_authz_retrieve()

apr_status_t md_acme_authz_retrieve ( md_acme_t acme,
apr_pool_t p,
const char url,
md_acme_authz_t **  pauthz 
)

Definition at line 82 of file md_acme_authz.c.

◆ md_acme_authz_teardown()

apr_status_t md_acme_authz_teardown ( struct md_store_t store,
const char token,
const md_t md,
apr_table_t env,
apr_pool_t p 
)

Definition at line 695 of file md_acme_authz.c.

◆ md_acme_authz_update()

apr_status_t md_acme_authz_update ( md_acme_authz_t authz,
md_acme_t acme,
apr_pool_t p 
)

Definition at line 114 of file md_acme_authz.c.

◆ on_init_authz_resp()

static apr_status_t on_init_authz_resp ( md_acme_req_t req,
void *  baton 
)
static

Definition at line 194 of file md_acme_authz.c.

◆ setup_key_authz()

static apr_status_t setup_key_authz ( md_acme_authz_cha_t cha,
md_acme_authz_t authz,
md_acme_t acme,
apr_pool_t p,
int pchanged 
)
static

Definition at line 216 of file md_acme_authz.c.

◆ tls_alpn01_fnames()

void tls_alpn01_fnames ( apr_pool_t p,
md_pkey_spec_t kspec,
char **  keyfn,
char **  certfn 
)

Definition at line 298 of file md_acme_authz.c.

Variable Documentation

◆ CHA_TYPES

const cha_type CHA_TYPES[]
static
Initial value:
= {
}
static apr_status_t cha_tls_alpn_01_setup(md_acme_authz_cha_t *cha, md_acme_authz_t *authz, md_acme_t *acme, md_store_t *store, md_pkeys_spec_t *key_specs, apr_array_header_t *acme_tls_1_domains, const md_t *md, apr_table_t *env, md_result_t *result, const char **psetup_token, apr_pool_t *p)
static apr_status_t cha_dns_01_teardown(md_store_t *store, const char *domain, const md_t *md, apr_table_t *env, apr_pool_t *p)
static apr_status_t cha_dns_01_setup(md_acme_authz_cha_t *cha, md_acme_authz_t *authz, md_acme_t *acme, md_store_t *store, md_pkeys_spec_t *key_specs, apr_array_header_t *acme_tls_1_domains, const md_t *md, apr_table_t *env, md_result_t *result, const char **psetup_token, apr_pool_t *p)
static apr_status_t cha_http_01_setup(md_acme_authz_cha_t *cha, md_acme_authz_t *authz, md_acme_t *acme, md_store_t *store, md_pkeys_spec_t *key_specs, apr_array_header_t *acme_tls_1_domains, const md_t *md, apr_table_t *env, md_result_t *result, const char **psetup_token, apr_pool_t *p)
static apr_status_t cha_teardown_dir(md_store_t *store, const char *domain, const md_t *md, apr_table_t *env, apr_pool_t *p)

Definition at line 567 of file md_acme_authz.c.

◆ CHA_TYPES_LEN

const apr_size_t CHA_TYPES_LEN = (sizeof(CHA_TYPES)/sizeof(CHA_TYPES[0]))
static

Definition at line 572 of file md_acme_authz.c.