libcli/http/gensec: cater for lack of domain with username
authorNoel Power <noel.power@suse.com>
Fri, 21 Jul 2023 08:51:45 +0000 (09:51 +0100)
committerNoel Power <noel.power@suse.com>
Thu, 7 Sep 2023 11:48:34 +0000 (12:48 +0100)
libcli/http/gensec/basic.c

index c7a1bbbb6c8f95166a3b04076b865398ef9e7312..2104ef7a0aa9161d73b754ac1854d51e26180e98 100644 (file)
@@ -111,10 +111,16 @@ static NTSTATUS gensec_http_basic_update_internal(struct gensec_security *gensec
        case GENSEC_CLIENT:
                switch (state->step) {
                case GENSEC_HTTP_BASIC_START:
-                       tmp = talloc_asprintf(mem_ctx, "%s\\%s:%s",
+                       if (cli_credentials_get_domain(creds)) {
+                               tmp = talloc_asprintf(mem_ctx, "%s\\%s:%s",
                                        cli_credentials_get_domain(creds),
                                        cli_credentials_get_username(creds),
                                        cli_credentials_get_password(creds));
+                       } else {
+                               tmp = talloc_asprintf(mem_ctx, "%s:%s",
+                                        cli_credentials_get_username(creds),
+                                        cli_credentials_get_password(creds));
+                       }
                        if (tmp == NULL) {
                                state->step = GENSEC_HTTP_BASIC_ERROR;
                                return NT_STATUS_NO_MEMORY;