URL: https://github.com/SSSD/sssd/pull/5943 Author: jakub-vavra-cz Title: #5943: Tests: Add a test for bz1859315 - sssd does not use kerberos port that is set Action: synchronized
To pull the PR as Git branch: git remote add ghsssd https://github.com/SSSD/sssd git fetch ghsssd pull/5943/head:pr5943 git checkout pr5943
From d35fb4df2c52621ee63c1d77b87924df633a3954 Mon Sep 17 00:00:00 2001 From: Jakub Vavra <jva...@redhat.com> Date: Thu, 6 Jan 2022 08:56:39 +0100 Subject: [PATCH] Tests: Add a test for bz1859315 - sssd does not use kerberos port that is set. Verifies: SSSD-2827 Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1859315 --- .../multihost/ad/test_adparameters_ported.py | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/src/tests/multihost/ad/test_adparameters_ported.py b/src/tests/multihost/ad/test_adparameters_ported.py index 4048c27704..06968ab80b 100644 --- a/src/tests/multihost/ad/test_adparameters_ported.py +++ b/src/tests/multihost/ad/test_adparameters_ported.py @@ -14,6 +14,8 @@ from sssd.testlib.common.utils import sssdTools from sssd.testlib.common.utils import SSSDException from sssd.testlib.common.utils import ADOperations +from sssd.testlib.common.expect import pexpect_ssh +from sssd.testlib.common.exceptions import SSHLoginException @pytest.fixture(scope="function", name="create_plain_aduser_group") @@ -128,6 +130,7 @@ def ssh_setup(session_multihost, user, group=""): ' -q -N "" <<< y\n') tfile.write(f'HOMEDIR="$(getent -s sss passwd {user}|awk -F:' f' \'{{print $6}}\')"\n') + tfile.write(f'test -z "$HOMEDIR" && export HOMEDIR="/home/{user}"\n') tfile.write('mkdir -p $HOMEDIR/.ssh\n') tfile.write('chmod 0700 $HOMEDIR/.ssh\n') tfile.write('cat /root/.ssh/id_rsa.pub >> $HOMEDIR/.ssh/' @@ -3535,3 +3538,87 @@ def test_0042_ad_parameters_nonroot_user_sssd( assert usr_cmd.returncode == 0, f"User {aduser} was not found." assert grp_cmd.returncode == 0, f"Group {adgroup} was not found." assert ps_cmd.returncode == 0, "Sssd is not running under user!" + + @staticmethod + @pytest.mark.tier1_2 + def test_0043_sssd_not_using_given_krb_port( + multihost, adjoin, create_aduser_group): + """ + :title: IDM-SSSD-TC: SSSD does not use kerberos port that is set. + :bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1859315 + :id: 558f692b-01c5-46f4-ad39-6b190dd7c017 + :steps: + 1. Start SSSD with alternate port in config + 2. Call 'kinit username@domain' + 3. Call 'ssh -l username@domain localhost' and check sssd logs + :expectedresults: + 1. SSSD should start + 2. Should succeed + 3. Logs contain info about right port being used + Logs do not contain wrong (default) port being used + """ + + adjoin(membersw='adcli') + ad_realm = multihost.ad[0].domainname.upper() + + # Create AD user and group + (aduser, _) = create_aduser_group + + # Configure sssd + client = sssdTools(multihost.client[0], multihost.ad[0]) + client.backup_sssd_conf() + + dom_section = f'domain/{client.get_domain_section_name()}' + sssd_params = { + 'ad_domain': multihost.ad[0].domainname, + 'debug_level': '0x4000', + 'cache_credentials': 'True', + 'krb5_store_password_if_offline': 'True', + 'krb5_server': f'{multihost.ad[0].hostname}:6666', + 'id_provider': 'ad', + 'auth_provider': 'krb5', + 'access_provider': 'ad', + 'krb5_realm': ad_realm, + 'fallback_homedir': '/home/%u', + } + client.sssd_conf(dom_section, sssd_params) + + # Clear cache and restart SSSD + client.clear_sssd_cache() + + # Debug + multihost.client[0].run_command( + 'cat /etc/sssd/sssd.conf', raiseonerr=False) + + # Run kinit for the user + kinit_cmd = multihost.client[0].run_command( + f'kinit {aduser}@{ad_realm}', stdin_text='Secret123', + raiseonerr=False) + + # Run ssh + multihost.client[0].run_command( + f'ssh -l {aduser}@{ad_realm} localhost whoami', + stdin_text='Secret123', + raiseonerr=False) + + multihost.client[0].run_command( + 'cat /var/lib/sss/pubconf/kdcinfo.*', raiseonerr=False) + + # Download all logs + log_str = multihost.client[0].run_command( + "cat /var/log/sssd/*.log").stdout_text + + # TEARDOWN + client.restore_sssd_conf() + client.clear_sssd_cache() + + # Evaluate test results + assert f"Option krb5_server has value " \ + f"{multihost.ad[0].sys_hostname}:6666" in log_str + assert f"Sending initial UDP request to dgram " \ + f"{multihost.ad[0].ip}:88" not in log_str + assert f"Initiating TCP connection to stream {multihost.ad[0].ip}:88" \ + not in log_str + assert f"Initiating TCP connection to stream " \ + f"{multihost.ad[0].ip}:6666" in log_str + assert kinit_cmd.returncode == 0, "kinit failed."
_______________________________________________ sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/sssd-devel@lists.fedorahosted.org Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure