| 510 | } |
| 511 | |
| 512 | int md_pkeys_spec_eq(md_pkeys_spec_t *pks1, md_pkeys_spec_t *pks2) |
| 513 | { |
| 514 | int i; |
| 515 | |
| 516 | if (pks1 == pks2) { |
| 517 | return 1; |
| 518 | } |
| 519 | if (pks1 && pks2 && pks1->specs->nelts == pks2->specs->nelts) { |
| 520 | for(i = 0; i < pks1->specs->nelts; ++i) { |
| 521 | if (!md_pkey_spec_eq(APR_ARRAY_IDX(pks1->specs, i, md_pkey_spec_t *), |
| 522 | APR_ARRAY_IDX(pks2->specs, i, md_pkey_spec_t *))) { |
| 523 | return 0; |
| 524 | } |
| 525 | } |
| 526 | return 1; |
| 527 | } |
| 528 | return 0; |
| 529 | } |
| 530 | |
| 531 | static md_pkey_spec_t *pkey_spec_clone(apr_pool_t *p, md_pkey_spec_t *spec) |
| 532 | { |
no test coverage detected