Commit Graph
16153 Commits
Author SHA1 Message Date
Florence Blanc-Renaud b08fe8017e azure pipeline: skip step disabling conflicting apparmor profile
aa-disable /etc/apparmor.d/usr.sbin.chronyd fails on Ubuntu 24.04
https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2079019

Skip the step for now

Fix the top command (replace n 1 with -n 1)

Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Rafael Guterres Jeffman <rjeffman@redhat.com>
2025-04-15 16:23:32 +05:30
Florence Blanc-Renaud 26c80e8476 azure pipeline: replace ubuntu-20.04 with 24.04
Azure is deprecating the Ubuntu-20.04 Apr 15th, see announcement
https://devblogs.microsoft.com/devops/upcoming-updates-for-azure-pipelines-agents-images/#ubuntu

With the Ubuntu 24.04 image, we need to change permissions of /etc/shadow
in order to allow sudo commands.

Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Rafael Guterres Jeffman <rjeffman@redhat.com>
2025-04-15 16:23:32 +05:30
Temuri Doghonadze 8bc64a26f6 Translated using Weblate (Georgian)
Currently translated at 35.8% (1749 of 4881 strings)

Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/freeipa/master/ka/
Translation: freeipa/master
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-04-14 14:42:19 +02:00
Florence Blanc-Renaud e964b7de94 ipatests: fix test_idp
The test is calling su -c "sudo yum list yum" keycloakuser
to ensure that keycloakuser is allowed to execute the yum command.

On fedora 42 and above, the yum package does not exist any more.
Replace with a call to yum list sssd-client as the package
sssd-client is always installed on our test machines.

Fixes: https://pagure.io/freeipa/issue/9769
Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Francisco Trivino <ftrivino@redhat.com>
2025-04-09 11:55:29 +05:30
Florence Blanc-Renaud f5084adb6d PRCI: switch testing from f40 and f41 to f41 and f42
Fedora 42 will be available soon and Fedora 40 will be EOL May 13 2025.
Start testing on fedora 41 and fedora 42.

Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Francisco Trivino <ftrivino@redhat.com>
2025-04-09 11:55:29 +05:30
Julien Rische 9b938b511c ipa-sidgen: fix memory leak in ipa_sidgen_add_post_op
Also remove unused "search_pb" variable and its associated free
functions.

Fixes: https://pagure.io/freeipa/issue/9772
Signed-off-by: Julien Rische <jrische@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2025-04-08 09:42:45 +02:00
Sudhir Menon 6ddf7e94c7 ipatests: Fix for ipa-healthcheck test in FIPS Mode
Fix https://github.com/freeipa/freeipa-healthcheck/pull/349
was added for RHEL10 only causing the tests to
fail in RHEL10.1.
Hence the if condition has been changed in the testcode.

Signed-off-by: Sudhir Menon <sumenon@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-04-07 22:19:32 +05:30
Ricky Tigg 83d22c5e45 Translated using Weblate (Finnish)
Currently translated at 20.0% (981 of 4881 strings)

Co-authored-by: Ricky Tigg <ricky.tigg@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/freeipa/master/fi/
Translation: freeipa/master
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-04-04 13:24:55 +02:00
David Hanina ea374e8346 Correct dnsrecord_* tests for --raw --structured
Fixes typo in the tests,  --raw --structured is only checked if rest of
the command is correct as well, therefore test changes were required.

Fixes: https://pagure.io/freeipa/issue/9768
Signed-off-by: David Hanina <dhanina@redhat.com>
Reviewed-By: Michal Polovka <mpolovka@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-03-31 08:46:57 +02:00
Rob Crittenden 9743fb96f2 Address deprecation warning in ipa-replica-manage
Running ipa-replica-manage results in a deprecation warning:

/usr/lib/python3.12/site-packages/ipaclient/install/ipadiscovery.py:20:
DeprecationWarning: ipaclient.install.ipadiscovery is deprecated, use ipacli
ent.discovery

Switch to the new usage.

Fixes: https://pagure.io/freeipa/issue/9771

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-03-28 19:15:04 +05:30
Florence Blanc-Renaud 940a0bc8c8 PRCI definitions: update vagrant box version for rawhide
Use version 0.9.1 based on fedora 43 - March 26, 2025

Reviewed-By: Sudhir Menon <sumenon@redhat.com>
2025-03-28 09:17:15 +01:00
Alexander Bokovoy f9eb1154d0 Revert "add sourcery.ai github action"
This reverts commit e3f991948a.

Sourcery works right now without adding an action as a webhook, so we
don't need an action that cannot access secrets when triggered from a
pull request.

Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
2025-03-26 13:46:11 +02:00
Alexander Bokovoy e3f991948a add sourcery.ai github action
Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
Reviewed-By: Fransisco Trivino Garcia <ftrivino@redhat.com>
2025-03-26 11:17:43 +02:00
Aleksandr Sharov 23bfcdd4e2 Test fix for the update
Fixes: https://pagure.io/freeipa/issue/9760
Signed-off-by: Aleksandr Sharov <asharov@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-03-25 10:33:06 +01:00
Aleksandr Sharov ac6eee670d Add a check into ipa-cert-fix tool to avoid updating certs if CA is close to being expired.
Fixes: https://pagure.io/freeipa/issue/9760
Signed-off-by: Aleksandr Sharov <asharov@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-03-25 10:33:06 +01:00
Francisco Trivino 79c704fb9d doc/designs: add encrypted DNS design documents
Add design page for Encrypted DNS traffic support.

Related: https://pagure.io/freeipa/issue/9605
Signed-off-by: Francisco Trivino <ftrivino@redhat.com>
Reviewed-By: Antonio Torres <antorres@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
2025-03-25 10:30:10 +01:00
Antonio Torres f1c30c5f6b dns: don't populate forwarders with DoT forwarders
DNS over TLS setup overrides global forwarder to point to Unbound, so no
need to setup regular forwarders.

Resolves: https://pagure.io/freeipa/issue/9748
Signed-off-by: Antonio Torres <antorres@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
2025-03-25 12:26:52 +05:30
Rob Crittenden f91b677ada Don't require certificates to have unique ipaCertSubject
In the wild a public CA issued a new subordinate CA certificate
with an identical subject to another, with a new private key.
This was uninstallable using ipa-cacert-manage because it would
fail with "subject public key info mismatch" during verification
because a different certificate with the same subject but
different public key was installed.

I'm not sure of the reasoning to prevent this situation but I
see it as giving users flexibility. This may be hurtful to them
but they can always remove any affected certs.

This is backwards compatible with older releases from the client
perspective. Older servers will choke on the duplicates and
won't be able to manage these.

A new serial number option is added for displaying the list of
certificates and for use when deleting one with a duplicate subject.

ipa-cacert-manage delete on systems without this patch will
successfully remove ALL of the requested certificates. There is no
way to distinguish. At least it won't break anything and the
deleted certificates can be re-added.

Fixes: https://pagure.io/freeipa/issue/9652

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
Reviewed-By: Florence Blanc-Renaud <frenaud@redhat.com>
2025-03-21 13:26:39 -04:00
Sudhir Menon 08450eefe6 ipatests: Tests to check data in journal log
This testcase checks that ipa administrative user
password is not displayed in journal log.

Related: https://issues.redhat.com/browse/RHEL-67190

Signed-off-by: Sudhir Menon <sumenon@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-03-20 21:02:04 +05:30
Florence Blanc-Renaud 5a63a50d04 ipatests: update fedora41 vagrant box to 0.0.2
New version generated March 18

Reviewed-By: Sudhir Menon <sumenon@redhat.com>
2025-03-20 18:44:11 +05:30
David Hanina 1419689113 Disallow removal of dogtag and ipa-dnskeysyncd services on IPA servers
Also removes dogtagldap from unremovable services

Fixes: https://pagure.io/freeipa/issue/9764
Signed-off-by: David Hanina <dhanina@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
2025-03-19 21:40:06 +05:30
Florence Blanc-Renaud ed8b4bc363 gating tests: add test_ipahealthcheck.py::TestIpaHealthCheckWithADtrust
This way we have at least one gating test that calls
ipa trust-add.

Related: test_ipahealthcheck.py::TestIpaHealthCheckWithADtrust
Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2025-03-18 22:35:11 +05:30
Florence Blanc-Renaud 140c3b5477 idrange: use minvalue=0 for baserid and secondarybaserid
With the support of 32 bit idrange, the minvalue was set to 1
but this introduces a regression in the command ipa trust-add
as the range for AD trust is added with baserid=0

Lower the minvalue to 0

Fixes: https://pagure.io/freeipa/issue/9765
Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2025-03-18 22:35:11 +05:30
Temuri Doghonadze 7ab7c808ac Translated using Weblate (Georgian)
Currently translated at 35.7% (1747 of 4881 strings)

Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/freeipa/master/ka/
Translation: freeipa/master
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-03-17 14:48:43 +01:00
Alexander Bokovoy 5a398d270f ipatests: add a test to use full 32-bit ID range space
The test reconfigures IPA deployment to disable subordinate IDs support
and then configures an additional ID range to cover upper half of the
2^32 ID space. It then makes sure that a user with an UID/GID from that
ID range can be created and used.

Fixes: https://pagure.io/freeipa/issue/9757

Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-03-13 21:22:37 +05:30
Alexander Bokovoy 99decb1131 baseuser: allow uidNumber and gidNumber of 32-bit range
JSON format allows to encode integers up to 2^53-1. Linux systems allow
for 32-bit IDs. Permit setting full 32-bit uidNumber and gidNumber
through IPA API. Administrators already can set 32-bit IDs via LDAP.

ID Range also needs to permit larger sizes of RID bases. SIDGEN plugin
already treats RID bases as 1..MAX_UINT32.

Fixes: https://pagure.io/freeipa/issue/9757

Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-03-13 21:22:37 +05:30
Alexander Bokovoy cdafe1d3e4 update_dna_shared_config: do not fail when config is not found
The helper function was supposed to return a DN or None.

Related: https://pagure.io/freeipa/issue/9757

Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-03-13 21:22:37 +05:30
Alexander Bokovoy cc763d78cc config-mod: allow disabling subordinate ID integration
When full 32-bit ID range usage is required, subordinate ID support have
to be disabled. However, even if ID range for subordinate IDs were to be
removed, it will be restored during the next data upgrade.

Change upgrade code to only apply subID range creation when subID
support is enabled.

Do not allow allocating subIDs if their use is disabled.

Allow full 32-bit uidNumber/gidNumber values in JSON payload.

Fixes: https://pagure.io/freeipa/issue/9757

Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-03-13 21:22:37 +05:30
David Hanina b917b320a8 Disable --raw and --structured together
Disables --raw and --structured for dnsrecord-* command.
This is being shown in help for structured, as raw is implemented in
almost every command, therefore people are more likely to view
structured. Also contains tests, even though this is newly noted, this
combination has never worked in the past.

Fixes: https://pagure.io/freeipa/issue/9756
Signed-off-by: David Hanina <dhanina@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
2025-03-12 19:35:37 +05:30
Florence Blanc-Renaud a6060fe5e7 ipatest: make test_cert more robust to replication delays
The test TestCAShowErrorHandling::test_ca_show_error_handling is
adding a subca on the replica, then checks the entry is present on the
master.
If the replication is a bit slow, the call on the master may fail to
return the newly created subca.
The test should wait for replication to complete before calling
ipa ca-find.

Fixes: https://pagure.io/freeipa/issue/9762
Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
2025-03-12 10:23:09 +01:00
Florence Blanc-Renaud 1a7a11c196 Leapp upgrade: skip systemctl calls
During LEAPP upgrade, the system is booted in a special mode
without systemd. As a consequence, any scriptlet calling
systemctl fails and may break the upgrade.

Skip the call to systemctl if a LEAPP upgrade is in progress
(this is easily checked using the env variable $LEAPP_IPU_IN_PROGRESS
that is set for instance to LEAPP_IPU_IN_PROGRESS=8to9).

Fixes: RHEL-82089

Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
2025-03-12 10:19:43 +01:00
Rob Crittenden 6d7f51c115 Drop python 2 support in ipaserver/install/ca.py
Lint issues with unicode

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
2025-03-10 23:06:28 +05:30
Rob Crittenden 4a9c1dde57 Drop python 2 support in installutils.py
Compatibility in python 3.12 is limited and is triggering lint
failures.

Reviewed-By: Rob Crittenden <rcritten@redhat.com>
2025-03-10 23:06:28 +05:30
Rob Crittenden 56be7b460e Drop python v2 in ipaserver/install/certs.py for lint errors
ipaserver/install/certs.py:908: [W4902(deprecated-method), _CrossProcessLock._read] Using deprecated method readfp())
ipaserver/install/certs.py:908: [I0021(useless-suppression), ] Useless suppression of 'no-member')

Related: https://pagure.io/freeipa/issue/9738

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
2025-03-10 23:06:28 +05:30
Frederik Himpe c7b6f4d00e Make path of Samba lock directory configurable and use /run/samba on Debian
Signed-off-by: Frederik Himpe <frederik@frehi.be>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2025-03-10 19:15:09 +05:30
Vasily Parfenov 071e5fe376 man: fix incorrect groff syntax in man pages
Updating cases in man pages which had incorrect groff syntax

Signed-off-by: Erik Belko <ebelko@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-03-10 15:27:08 +05:30
Erik Belko a542a9185a man: fix formatting and syntax issues
Signed-off-by: Erik Belko <ebelko@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-03-10 15:27:08 +05:30
Florence Blanc-Renaud cd3b7b9bd5 ipatests: adapt error code and message for samba 4.22
When establishing trust with an unreachable AD domain controller,
the error code and message have changed with samba 4.22.

Update the test to be compatible with any version of samba.

Fixes: https://pagure.io/freeipa/issue/9751
Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2025-03-07 16:04:33 +01:00
Florence Blanc-Renaud 69ca3e477b WebUI: fix the tooltip for Search Size limit
The tooltip for IPA Server > Configuration > Search size limit
is using the doc from ipasearchtimelimit instead of
ipasearchrecordslimit.

Use the right tooltip to properly display:
Maximum number of records to search (-1 or 0 is unlimited)

Fixes: https://pagure.io/freeipa/issue/9758
Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2025-03-07 18:45:42 +05:30
Rob Crittenden dfcc25525a Log failed auth attempts over LDAP when a user is locked
The KDC logs when a user who is locked out with
Client's credentials have been revoked

The LDAP server did not. This adds a message so administrators
can tell when a user is locked out.

ALERT - ipalockout_postop - User uid=tuser,cn=users,cn=accounts,dc=example,dc=test is locked out. Too many failed authentication attempts.

Fixes: https://pagure.io/freeipa/issue/9742

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-03-06 14:31:46 +01:00
David Hanina 90d70b5dd0 Skip for unpatched freeipa-healthcheck
The patch is not yet live, therefore we should expect an failure.
Once the patched version goes out, the test should work properly.

Signed-off-by: David Hanina <dhanina@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
2025-03-04 18:16:10 +01:00
David Hanina 3c50bc2389 Replace fips-mode-setup
RHEL10 no longer support fips-setup-mode, this has been
replaced in the healthcheck tool, but also needs to be replaced here.

Fixes: https://pagure.io/freeipa/issue/9750

Signed-off-by: David Hanina <dhanina@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
2025-03-04 18:16:10 +01:00
Florence Blanc-Renaud cbe863bf15 vault: remove PKIConnection deprecation warning
PKIConnection should be created without the subsystem and
the susbystem has to be provided in the AccountClient as
described in https://github.com/dogtagpki/pki/wiki/PKI-10.8-Python-Changes

Fixes: https://pagure.io/freeipa/issue/9754
Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Francisco Trivino <ftrivino@redhat.com>
2025-02-27 12:30:28 +01:00
Rob Crittenden 42a94e9998 Remove the migration of the RA cert from mod_nss to mod_ssl
Originally the RA certificate was stored in the Apache NSS
database so it was available natively to the framework. It
was subsequently moved into PEM files even prior to the
switch from mod_nss to mod_ssl.

This code was introduced with 4.5.0 and was last seen in Fedora
in 27 in 2017. We don't support direct in-place upgrades from
such an old version so we should be safe from bricking a user's
installation.

Fixes: https://pagure.io/freeipa/issue/9739

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2025-02-26 16:29:05 +01:00
Rob Crittenden 2085b61cf6 Remove migration from mod_nss to mod_ssl
mod_nss was the original crypto engine used in Apache with IPA.
Support was dropped in IPA release 4.7.0 in 4596674 and looks
like it was introduced into Fedora in F28.

It's time to remove this upgrade code.

This retains the HTTPD_NSS_CONF definition so that
contrib/copy-schema-to-ca-RHEL6.py can still work.

Fixes: https://pagure.io/freeipa/issue/9739

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2025-02-26 16:29:05 +01:00
Frederik Himpe 1937189e60 Make name of nobody group configurable and use nogroup on Debian
Fixes: https://pagure.io/freeipa/issue/9753

Signed-off-by: Frederik Himpe <frederik@frehi.be>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2025-02-26 16:14:28 +01:00
Rob Crittenden 0dee69d771 Fix some memory errors identified by a static analyzer
Fix a couple of leaks and a double free.

Fixes: https://pagure.io/freeipa/issue/9698

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Rafael Guterres Jeffman <rjeffman@redhat.com>
2025-02-26 20:29:17 +05:30
Rob Crittenden 8fda2e0dc7 Use new(er) PKI connection API in ipa-pki-wait-running
Since PKI v10.8.0 the PKIConnection object can longer be
created for a specific subsystem. The client that consumes
the connection specifies the subsystem instead.

Use this new API unconditionally as we require PKI >= 10.10.0
and what is available in supported repos is generally 11.5.0+.

See https://github.com/dogtagpki/pki/wiki/PKI-10.8-Python-Changes

Fixes: https://pagure.io/freeipa/issue/9691

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2025-02-26 20:20:17 +05:30
Florence Blanc-Renaud d2b5a9b93c ipatests: use "sos report" instead of "sosreport" command
The "soscommand" has been deprecated and "sos report" should be
used instead. The redirector was removed in sos 4.9.

Fixes: https://pagure.io/freeipa/issue/9752
Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2025-02-26 20:04:39 +05:30
Rob Crittenden 018b3d3dc6 Validate the default e-mail domain in the config plugin
There was zero validation at all. Re-use the Email validator
since that will be used to validate the eventual e-mail
address set in a user.

Fixes: https://pagure.io/freeipa/issue/9680

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Rafael Guterres Jeffman <rjeffman@redhat.com>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2025-02-13 11:04:23 -05:00