| 558 | } |
| 559 | |
| 560 | static int cert_check_iter(void *baton, const char *key, md_json_t *json) |
| 561 | { |
| 562 | status_ctx *ctx = baton; |
| 563 | const char *fingerprint; |
| 564 | |
| 565 | fingerprint = md_json_gets(json, MD_KEY_SHA256_FINGERPRINT, NULL); |
| 566 | if (fingerprint) { |
| 567 | if (HTML_STATUS(ctx)) { |
| 568 | apr_brigade_printf(ctx->bb, NULL, NULL, |
| 569 | "<a href=\"%s%s\">%s[%s]</a><br>", |
| 570 | ctx->mc->cert_check_url, fingerprint, |
| 571 | ctx->mc->cert_check_name, key); |
| 572 | } |
| 573 | else { |
| 574 | apr_brigade_printf(ctx->bb, NULL, NULL, |
| 575 | "%sType: %s\n", |
| 576 | ctx->prefix, |
| 577 | key); |
| 578 | apr_brigade_printf(ctx->bb, NULL, NULL, |
| 579 | "%sName: %s\n", |
| 580 | ctx->prefix, |
| 581 | ctx->mc->cert_check_name); |
| 582 | apr_brigade_printf(ctx->bb, NULL, NULL, |
| 583 | "%sURL: %s%s\n", |
| 584 | ctx->prefix, |
| 585 | ctx->mc->cert_check_url, fingerprint); |
| 586 | apr_brigade_printf(ctx->bb, NULL, NULL, |
| 587 | "%sFingerprint: %s\n", |
| 588 | ctx->prefix, |
| 589 | fingerprint); |
| 590 | } |
| 591 | } |
| 592 | return 1; |
| 593 | } |
| 594 | |
| 595 | static void si_val_remote_check(status_ctx *ctx, md_json_t *mdj, const status_info *info) |
| 596 | { |
nothing calls this directly
no test coverage detected