| 422 | /* manipulation */ |
| 423 | |
| 424 | static apr_status_t p_md_add(void *baton, apr_pool_t *p, apr_pool_t *ptemp, va_list ap) |
| 425 | { |
| 426 | md_reg_t *reg = baton; |
| 427 | apr_status_t rv = APR_SUCCESS; |
| 428 | md_t *md, *mine; |
| 429 | int do_check; |
| 430 | |
| 431 | md = va_arg(ap, md_t *); |
| 432 | do_check = va_arg(ap, int); |
| 433 | |
| 434 | if (reg->domains_frozen) return APR_EACCES; |
| 435 | mine = md_clone(ptemp, md); |
| 436 | if (do_check && APR_SUCCESS != (rv = check_values(reg, ptemp, md, MD_UPD_ALL))) goto leave; |
| 437 | if (APR_SUCCESS != (rv = state_init(reg, ptemp, mine))) goto leave; |
| 438 | rv = md_save(reg->store, p, MD_SG_DOMAINS, mine, 1); |
| 439 | leave: |
| 440 | return rv; |
| 441 | } |
| 442 | |
| 443 | static apr_status_t add_md(md_reg_t *reg, md_t *md, apr_pool_t *p, int do_checks) |
| 444 | { |
nothing calls this directly
no test coverage detected