64e95065511dd5ee710b51633b66821209b90ac0
fc590194d85be8325338a38d43c29ee2bd13fc7b
712a1570a1c52cd2519cb85c08231165f203011f
b16536382f9ccb7cc1bafdf3e64a2ba63e279a4e
66a523ff470469746e51a4aa0627473ba12ef549
e1637da7484a97131ce37140aca6ef2e1402f590
b1194b891eccc0937db4d4de150fee7fae8074d5
This relies on https://github.com/freeipa/freeipa/pull/7645 on the IPA side that adds a cert_request API.
The purpose of this change is to make certmonger less dependent upon the PKI API.
Note that the IPA API is only usable post-installation (chicken-and-egg) so the XML API is used during IPA server bootstrapping.
7 new commits added
Pass all=True to certprofile-find to retrieve all profiles
Suppress unused arguments to the LDAP SASL interactive callback
Fix directive argument is NULL errors (-Wformat-overflow)
Fix format-overflow warning when converting time
Drop unused cm_submit_d parameters
Add tests for the expanded dogtag requests through IPA API
Use the IPA API by default for dogtag requests
@rcritten, I'm still testing and reviewing the changes but there seem to be some files missing from tests/Makefile.am - they don't make it into the SRPM and thus RPM build test phase fails. Below is a fixup patch for this PR. I've also created https://pagure.io/certmonger/pull-request/288 which addresses the same issue, but the files were unrelated to this change set.
tests/Makefile.am
From adeaa429ef92fa4669b5d36837b56ca460ca484a Mon Sep 17 00:00:00 2001 From: Fraser Tweedale <ftweedal@redhat.com> Date: Thu, 6 Feb 2025 09:37:37 -0500 Subject: [PATCH] fixup --- tests/Makefile.am | 59 +++++++++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 25 deletions(-) diff --git a/tests/Makefile.am b/tests/Makefile.am index e20b6d8ff38ed43d5b5da260ed0d64d7f7a9bd31..38b5619e57dbc013325ffb026c9dd1e57b45da80 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -233,31 +233,40 @@ EXTRA_DIST = \ 018-pembase/run.sh \ 019-dparse/expected.out \ 019-dparse/run.sh \ - 019-dparse/bad.checkRequest.nosuch \ - 019-dparse/bad.displayCertFromRequest.incomplete \ - 019-dparse/bad.displayCertFromRequest.no-such-request \ - 019-dparse/bad.displayCertFromRequest.rejected \ - 019-dparse/bad.profileProcess.bad-property \ - 019-dparse/bad.profileProcess.no-agent-cert \ - 019-dparse/bad.profileProcess.no-ca-cert \ - 019-dparse/bad.profileProcess.no-property \ - 019-dparse/bad.profileProcess.not-pending \ - 019-dparse/bad.profileReview.no-such-request \ - 019-dparse/bad.profileReview.unauthorized-cert \ - 019-dparse/bad.profileReview.wrong-nssdb \ - 019-dparse/bad.profileSubmit.csr.empty \ - 019-dparse/bad.profileSubmit.csr.subject-mismatch \ - 019-dparse/bad.profileSubmit.serial.empty \ - 019-dparse/bad.profileSubmit.serial.invalid \ - 019-dparse/bad.profileSubmit.serial.out-of-range \ - 019-dparse/good.checkRequest.complete \ - 019-dparse/good.checkRequest.pending \ - 019-dparse/good.displayCertFromRequest \ - 019-dparse/good.displayCertFromRequest-extra-line \ - 019-dparse/good.profileList \ - 019-dparse/good.profileReview \ - 019-dparse/good.profileSubmit.issued \ - 019-dparse/good.profileSubmit.serial.in-range \ + 019-dparse/bad.checkRequest.nosuch.json \ + 019-dparse/bad.checkRequest.nosuch.xml \ + 019-dparse/bad.displayCertFromRequest.incomplete.xml \ + 019-dparse/bad.displayCertFromRequest.no-such-request.json \ + 019-dparse/bad.displayCertFromRequest.no-such-request.xml \ + 019-dparse/bad.displayCertFromRequest.rejected.xml \ + 019-dparse/bad.profileProcess.bad-property.xml \ + 019-dparse/bad.profileProcess.no-agent-cert.xml \ + 019-dparse/bad.profileProcess.no-ca-cert.xml \ + 019-dparse/bad.profileProcess.no-property.xml \ + 019-dparse/bad.profileProcess.not-pending.xml \ + 019-dparse/bad.profileReview.no-such-request.xml \ + 019-dparse/bad.profileReview.unauthorized-cert.xml \ + 019-dparse/bad.profileReview.wrong-nssdb.xml \ + 019-dparse/bad.profileSubmit.csr.empty.json \ + 019-dparse/bad.profileSubmit.csr.empty.xml \ + 019-dparse/bad.profileSubmit.csr.invalid.json \ + 019-dparse/bad.profileSubmit.csr.subject-mismatch.xml \ + 019-dparse/bad.profileSubmit.serial.empty.xml \ + 019-dparse/bad.profileSubmit.serial.invalid.xml \ + 019-dparse/bad.profileSubmit.serial.out-of-range.xml \ + 019-dparse/good.checkRequest.complete.json \ + 019-dparse/good.checkRequest.complete.xml \ + 019-dparse/good.checkRequest.pending.json \ + 019-dparse/good.checkRequest.pending.xml \ + 019-dparse/good.displayCertFromRequest.json \ + 019-dparse/good.displayCertFromRequest.xml \ + 019-dparse/good.displayCertFromRequest-extra-line.xml \ + 019-dparse/good.profileList.json \ + 019-dparse/good.profileList.xml \ + 019-dparse/good.profileReview.xml \ + 019-dparse/good.profileSubmit.issued.json \ + 019-dparse/good.profileSubmit.issued.xml \ + 019-dparse/good.profileSubmit.serial.in-range.xml \ 020-xparse/certmaster-fault.xml \ 020-xparse/certmaster-rep1.xml \ 020-xparse/certmaster-rep2.xml \ -- 2.48.1
rebased onto 1b682f1069a79040ffc6f5de84c27b3160d7a53d
Thanks, I squashed that into the patch that introduced the tests
ACK, we can merge this.
rebased onto a96cf5fc20b264080f43bbc71917fa550c8de84e
Pull-Request has been merged by rcritten
This relies on https://github.com/freeipa/freeipa/pull/7645 on the IPA side that adds a cert_request API.
The purpose of this change is to make certmonger less dependent upon the PKI API.
Note that the IPA API is only usable post-installation (chicken-and-egg) so the XML API is used during IPA server bootstrapping.