| 222 | } |
| 223 | |
| 224 | static apr_status_t p_purge(void *baton, apr_pool_t *p, apr_pool_t *ptemp, va_list ap) |
| 225 | { |
| 226 | md_store_t *store = baton; |
| 227 | md_acme_order_t *order; |
| 228 | md_store_group_t group; |
| 229 | const md_t *md; |
| 230 | const char *setup_token; |
| 231 | apr_table_t *env; |
| 232 | int i; |
| 233 | |
| 234 | group = (md_store_group_t)va_arg(ap, int); |
| 235 | md = va_arg(ap, const md_t *); |
| 236 | env = va_arg(ap, apr_table_t *); |
| 237 | |
| 238 | if (APR_SUCCESS == md_acme_order_load(store, group, md->name, &order, p)) { |
| 239 | md_log_perror(MD_LOG_MARK, MD_LOG_DEBUG, 0, p, "order loaded for %s", md->name); |
| 240 | for (i = 0; i < order->challenge_setups->nelts; ++i) { |
| 241 | setup_token = APR_ARRAY_IDX(order->challenge_setups, i, const char*); |
| 242 | if (setup_token) { |
| 243 | md_log_perror(MD_LOG_MARK, MD_LOG_DEBUG, 0, p, |
| 244 | "order teardown setup %s", setup_token); |
| 245 | md_acme_authz_teardown(store, setup_token, md, env, p); |
| 246 | } |
| 247 | } |
| 248 | } |
| 249 | return md_store_remove(store, group, md->name, MD_FN_ORDER, ptemp, 1); |
| 250 | } |
| 251 | |
| 252 | apr_status_t md_acme_order_purge(md_store_t *store, apr_pool_t *p, md_store_group_t group, |
| 253 | const md_t *md, apr_table_t *env) |
nothing calls this directly
no test coverage detected