Revert "cli_credentials_parse_string: fix parsing of principals"
authorAlexander Bokovoy <ab@samba.org>
Wed, 4 Nov 2020 17:20:58 +0000 (19:20 +0200)
committerAlexander Bokovoy <ab@samba.org>
Thu, 5 Nov 2020 06:30:31 +0000 (06:30 +0000)
This reverts commit eb0474d27bae4592b25ac6bf600da29c6a1cb9f8.

auth/credentials/credentials.c
auth/credentials/tests/test_creds.c
python/samba/tests/credentials.py

index 53bba78176bbfd0d751287ba6bbac0d840f6e48f..21c170c7ad9ecf24ff9e31b85eacc93647d72406 100644 (file)
@@ -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,'\\'))
index 38550d6ecf9fc8c95373bc118e84a477e034ea2e..ac5bc6d9e047549444509c6a156deab5255e1cad 100644 (file)
@@ -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");
index 5d1378fb7900db767e5c374cdeca511b05c5d2f0..bcd15b1130f943dc37d93db80f5a0b4a4950be69 100644 (file)
@@ -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")