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

index 8653ba7d0857769425d0da8437352f44dbfbb852..d8b417c97b747fa8550542fd95318b8aa3423405 100644 (file)
@@ -2706,6 +2706,34 @@ static void cli_negprot_done(struct tevent_req *subreq)
                        if (server_domain) {
                                cli->server_domain = server_domain;
                        }
+
+                       blob.data += ret;
+                       blob.length -= ret;
+               }
+
+               if (blob.length > 0) {
+                       ssize_t ret;
+                       char *server_name = NULL;
+
+                       ret = clistr_pull_talloc(talloc_tos(),
+                                                (const char *)inbuf,
+                                                SVAL(inbuf, smb_flg2),
+                                                &server_name,
+                                                (char *)blob.data,
+                                                blob.length,
+                                                STR_TERMINATE|
+                                                STR_UNICODE|
+                                                STR_NOALIGN);
+                       if (ret == -1) {
+                               tevent_req_nterror(req, NT_STATUS_NO_MEMORY);
+                               return;
+                       }
+
+                       if ((server_name != NULL) &&
+                           (strlen(cli->called.name) == 0 ||
+                           strequal(STAR_SMBSERVER, cli->called.name))) {
+                               make_nmb_name(&cli->called, server_name, 0x20);
+                       }
                }
 
                /*