diff options
-rw-r--r-- | auth/credentials/credentials.c | 8 | ||||
-rw-r--r-- | python/samba/tests/credentials.py | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/auth/credentials/credentials.c b/auth/credentials/credentials.c index a0f91e92b73..cca772d9f41 100644 --- a/auth/credentials/credentials.c +++ b/auth/credentials/credentials.c @@ -781,6 +781,14 @@ _PUBLIC_ void cli_credentials_parse_string(struct cli_credentials *credentials, } if ((p = strchr_m(uname,'@'))) { + /* + * We also need to set username and domain + * in order to undo the effect of + * cli_credentials_guess(). + */ + 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); diff --git a/python/samba/tests/credentials.py b/python/samba/tests/credentials.py index 8bfab7ad823..82a8ad90ff7 100644 --- a/python/samba/tests/credentials.py +++ b/python/samba/tests/credentials.py @@ -229,8 +229,8 @@ class CredentialsTests(samba.tests.TestCaseInTempDir): os.environ["USER"] = "env_user" creds.guess(lp) creds.parse_string("user@samba.org") - self.assertEqual(creds.get_username(), "env_user") - self.assertEqual(creds.get_domain(), lp.get("workgroup").upper()) + 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") self.assertEqual(creds.is_anonymous(), False) @@ -270,8 +270,8 @@ 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(), "env_user") - self.assertEqual(creds.get_domain(), lp.get("workgroup").upper()) + 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") self.assertEqual(creds.get_principal(), "user@samba.org") |