| 470 | } |
| 471 | |
| 472 | apr_status_t md_ocsp_get_meta(md_ocsp_cert_stat_t *pstat, md_timeperiod_t *pvalid, |
| 473 | md_ocsp_reg_t *reg, const md_cert_t *cert, |
| 474 | apr_pool_t *p, const md_t *md) |
| 475 | { |
| 476 | md_ocsp_status_t *ostat; |
| 477 | const char *name; |
| 478 | apr_status_t rv; |
| 479 | md_timeperiod_t valid; |
| 480 | md_ocsp_cert_stat_t stat; |
| 481 | md_data_t id; |
| 482 | |
| 483 | (void)p; |
| 484 | (void)md; |
| 485 | name = md? md->name : MD_OTHER; |
| 486 | memset(&valid, 0, sizeof(valid)); |
| 487 | stat = MD_OCSP_CERT_ST_UNKNOWN; |
| 488 | md_log_perror(MD_LOG_MARK, MD_LOG_TRACE2, 0, reg->p, |
| 489 | "md[%s]: OCSP, get_status", name); |
| 490 | |
| 491 | rv = md_ocsp_init_id(&id, p, cert); |
| 492 | if (APR_SUCCESS != rv) goto cleanup; |
| 493 | |
| 494 | ostat = apr_hash_get(reg->ostat_by_id, id.data, (apr_ssize_t)id.len); |
| 495 | if (!ostat) { |
| 496 | rv = APR_ENOENT; |
| 497 | goto cleanup; |
| 498 | } |
| 499 | ocsp_get_meta(&stat, &valid, reg, ostat, p); |
| 500 | cleanup: |
| 501 | *pstat = stat; |
| 502 | *pvalid = valid; |
| 503 | return rv; |
| 504 | } |
| 505 | |
| 506 | apr_size_t md_ocsp_count(md_ocsp_reg_t *reg) |
| 507 | { |
no test coverage detected