- cli_credentials_set_principal(credentials, uname, obtained);
- *p = 0;
- cli_credentials_set_realm(credentials, p+1, obtained);
+ if (realm[0] == '\0') {
+ *p = 0;
+
+ /*
+ * 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);
+ } else {
+ cli_credentials_set_principal(credentials,
+ uname,
+ obtained);
+ *p = 0;
+
+ cli_credentials_set_realm(credentials, realm, obtained);
+ }