fix2
authorStefan Metzmacher <metze@samba.org>
Fri, 4 Nov 2011 09:20:37 +0000 (10:20 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 15 Nov 2012 08:15:18 +0000 (09:15 +0100)
source3/libsmb/cliconnect.c

index d8b417c97b747fa8550542fd95318b8aa3423405..ca0b96b587e844b5de59fb921cd837848010b674 100644 (file)
@@ -850,6 +850,8 @@ static struct tevent_req *cli_session_setup_nt1_send(
                /* do nothing - guest login */
        } else if (passlen != 24) {
                if (lp_client_ntlmv2_auth()) {
+                       const char *server_workgroup;
+                       const char *server_name;
                        DATA_BLOB server_chal;
                        DATA_BLOB names_blob;
 
@@ -859,6 +861,14 @@ static struct tevent_req *cli_session_setup_nt1_send(
                                return tevent_req_post(req, ev);
                        }
 
+                       if (cli->server_domain && strlen(cli->server_domain) > 0) {
+                               server_workgroup = cli->server_domain;
+                       } else {
+                               server_workgroup = workgroup;
+                       }
+
+                       server_name = cli->called.name;
+
                        /*
                         * note that the 'workgroup' here is a best
                         * guess - we don't know the server's domain
@@ -866,7 +876,7 @@ static struct tevent_req *cli_session_setup_nt1_send(
                         * dodgy...
                         */
                        names_blob = NTLMv2_generate_names_blob(
-                               NULL, cli->called.name, workgroup);
+                               NULL, server_name, server_workgroup);
 
                        if (tevent_req_nomem(names_blob.data, req)) {
                                return tevent_req_post(req, ev);