Apache2
md_acme_order.h
Go to the documentation of this file.
1 /* Copyright 2019 greenbytes GmbH (https://www.greenbytes.de)
2  *
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8 
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef md_acme_order_h
17 #define md_acme_order_h
18 
19 struct md_json_t;
20 struct md_result_t;
21 
22 typedef struct md_acme_order_t md_acme_order_t;
23 
24 typedef enum {
31 
34  const char *url;
38  struct md_json_t *json;
39  const char *finalize;
40  const char *certificate;
41 };
42 
43 #define MD_FN_ORDER "order.json"
44 
45 /**************************************************************************************************/
46 
48 
49 apr_status_t md_acme_order_add(md_acme_order_t *order, const char *authz_url);
50 apr_status_t md_acme_order_remove(md_acme_order_t *order, const char *authz_url);
51 
54 
56  const char *md_name, md_acme_order_t **pauthz_set,
57  apr_pool_t *p);
59  md_store_group_t group, const char *md_name,
60  md_acme_order_t *authz_set, int create);
61 
63  md_store_group_t group, const md_t *md,
64  apr_table_t *env);
65 
67  apr_array_header_t *challenge_types,
68  md_store_t *store, const md_t *md,
69  apr_table_t *env, struct md_result_t *result,
70  apr_pool_t *p);
71 
73  const md_t *md, apr_interval_time_t timeout,
74  struct md_result_t *result, apr_pool_t *p);
75 
76 /* ACMEv2 only ************************************************************************************/
77 
79  const char *name, struct apr_array_header_t *domains);
80 
82  struct md_result_t *result, apr_pool_t *p);
83 
85  const md_t *md, apr_interval_time_t timeout,
86  struct md_result_t *result, apr_pool_t *p);
88  const md_t *md, apr_interval_time_t timeout,
89  struct md_result_t *result, apr_pool_t *p);
90 
91 #endif /* md_acme_order_h */
const char const dav_liveprop_group * group
Definition: mod_dav.h:1049
const char * name
Definition: mod_dav.h:805
int apr_status_t
Definition: apr_errno.h:44
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
struct apr_table_t apr_table_t
Definition: apr_tables.h:56
apr_int64_t apr_interval_time_t
Definition: apr_time.h:55
md_acme_order_t * md_acme_order_create(apr_pool_t *p)
apr_status_t md_acme_order_save(struct md_store_t *store, apr_pool_t *p, md_store_group_t group, const char *md_name, md_acme_order_t *authz_set, int create)
apr_status_t md_acme_order_purge(struct md_store_t *store, apr_pool_t *p, md_store_group_t group, const md_t *md, apr_table_t *env)
apr_status_t md_acme_order_load(struct md_store_t *store, md_store_group_t group, const char *md_name, md_acme_order_t **pauthz_set, apr_pool_t *p)
apr_status_t md_acme_order_await_ready(md_acme_order_t *order, md_acme_t *acme, const md_t *md, apr_interval_time_t timeout, struct md_result_t *result, apr_pool_t *p)
apr_status_t md_acme_order_remove(md_acme_order_t *order, const char *authz_url)
apr_status_t md_acme_order_monitor_authzs(md_acme_order_t *order, md_acme_t *acme, const md_t *md, apr_interval_time_t timeout, struct md_result_t *result, apr_pool_t *p)
md_acme_order_t * md_acme_order_from_json(struct md_json_t *json, apr_pool_t *p)
apr_status_t md_acme_order_await_valid(md_acme_order_t *order, md_acme_t *acme, const md_t *md, apr_interval_time_t timeout, struct md_result_t *result, apr_pool_t *p)
md_acme_order_st
Definition: md_acme_order.h:24
@ MD_ACME_ORDER_ST_VALID
Definition: md_acme_order.h:28
@ MD_ACME_ORDER_ST_PENDING
Definition: md_acme_order.h:25
@ MD_ACME_ORDER_ST_INVALID
Definition: md_acme_order.h:29
@ MD_ACME_ORDER_ST_READY
Definition: md_acme_order.h:26
@ MD_ACME_ORDER_ST_PROCESSING
Definition: md_acme_order.h:27
apr_status_t md_acme_order_update(md_acme_order_t *order, md_acme_t *acme, struct md_result_t *result, apr_pool_t *p)
apr_status_t md_acme_order_start_challenges(md_acme_order_t *order, md_acme_t *acme, apr_array_header_t *challenge_types, md_store_t *store, const md_t *md, apr_table_t *env, struct md_result_t *result, apr_pool_t *p)
apr_status_t md_acme_order_register(md_acme_order_t **porder, md_acme_t *acme, apr_pool_t *p, const char *name, struct apr_array_header_t *domains)
struct md_json_t * md_acme_order_to_json(md_acme_order_t *set, apr_pool_t *p)
apr_status_t md_acme_order_add(md_acme_order_t *order, const char *authz_url)
struct md_json_t md_json_t
Definition: md_json.h:29
md_store_group_t
Definition: md_store.h:62
Definition: apr_tables.h:62
Definition: md_acme_order.h:32
const char * finalize
Definition: md_acme_order.h:39
const char * certificate
Definition: md_acme_order.h:40
apr_pool_t * p
Definition: md_acme_order.h:33
struct md_json_t * json
Definition: md_acme_order.h:38
struct apr_array_header_t * authz_urls
Definition: md_acme_order.h:36
md_acme_order_st status
Definition: md_acme_order.h:35
const char * url
Definition: md_acme_order.h:34
struct apr_array_header_t * challenge_setups
Definition: md_acme_order.h:37
Definition: md_acme.h:94
Definition: md_result.h:29
Definition: md_store.h:325
Definition: md.h:76
apr_pool_t * p