From: Alexander Bokovoy Date: Wed, 4 Nov 2020 17:20:58 +0000 (+0200) Subject: Revert "cli_credentials_parse_string: fix parsing of principals" X-Git-Tag: talloc-2.3.2~48 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=49efe0ca0b07396764f78434989165f941cf5f91;p=thirdparty%2Fsamba.git Revert "cli_credentials_parse_string: fix parsing of principals" This reverts commit eb0474d27bae4592b25ac6bf600da29c6a1cb9f8. --- diff --git a/auth/credentials/credentials.c b/auth/credentials/credentials.c index 53bba78176b..21c170c7ad9 100644 --- a/auth/credentials/credentials.c +++ b/auth/credentials/credentials.c @@ -860,10 +860,11 @@ _PUBLIC_ void cli_credentials_parse_name(struct cli_credentials *credentials, co * in order to undo the effect of * cli_credentials_guess(). */ - cli_credentials_set_principal(credentials, uname, obtained); - *p = 0; cli_credentials_set_username(credentials, uname, obtained); cli_credentials_set_domain(credentials, "", obtained); + + cli_credentials_set_principal(credentials, uname, obtained); + *p = 0; cli_credentials_set_realm(credentials, p+1, obtained); return; } else if ((p = strchr_m(uname,'\\')) diff --git a/auth/credentials/tests/test_creds.c b/auth/credentials/tests/test_creds.c index 38550d6ecf9..ac5bc6d9e04 100644 --- a/auth/credentials/tests/test_creds.c +++ b/auth/credentials/tests/test_creds.c @@ -187,7 +187,7 @@ static void torture_creds_parse_string(void **state) assert_string_equal(creds->domain, ""); assert_int_equal(creds->domain_obtained, CRED_SPECIFIED); - assert_string_equal(creds->username, "wurst"); + assert_string_equal(creds->username, "wurst@brot.realm"); assert_int_equal(creds->username_obtained, CRED_SPECIFIED); assert_string_equal(creds->principal, "wurst@brot.realm"); diff --git a/python/samba/tests/credentials.py b/python/samba/tests/credentials.py index 5d1378fb790..bcd15b1130f 100644 --- a/python/samba/tests/credentials.py +++ b/python/samba/tests/credentials.py @@ -400,7 +400,7 @@ class CredentialsTests(samba.tests.TestCaseInTempDir): os.environ["USER"] = "env_user" creds.guess(lp) creds.parse_string("user@samba.org") - self.assertEqual(creds.get_username(), "user") + self.assertEqual(creds.get_username(), "user@samba.org") self.assertEqual(creds.get_domain(), "") self.assertEqual(creds.get_realm(), "SAMBA.ORG") self.assertEqual(creds.get_principal(), "user@samba.org") @@ -441,7 +441,7 @@ class CredentialsTests(samba.tests.TestCaseInTempDir): os.environ["USER"] = "env_user" creds.guess(lp) creds.parse_string("user@samba.org%pass") - self.assertEqual(creds.get_username(), "user") + self.assertEqual(creds.get_username(), "user@samba.org") self.assertEqual(creds.get_domain(), "") self.assertEqual(creds.get_password(), "pass") self.assertEqual(creds.get_realm(), "SAMBA.ORG")