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);
+ }
}
/*