summaryrefslogtreecommitdiff
path: root/source4/libcli
diff options
context:
space:
mode:
Diffstat (limited to 'source4/libcli')
-rw-r--r--source4/libcli/composite/connect.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/source4/libcli/composite/connect.c b/source4/libcli/composite/connect.c
index 7e08aab0d5..4f6df154a7 100644
--- a/source4/libcli/composite/connect.c
+++ b/source4/libcli/composite/connect.c
@@ -219,19 +219,22 @@ static NTSTATUS connect_socket(struct smbcli_composite *c,
state->transport = smbcli_transport_init(state->sock);
NT_STATUS_HAVE_NO_MEMORY(state->transport);
+ calling.name = io->in.calling_name;
+ calling.type = NBT_NAME_CLIENT;
+ calling.scope = NULL;
+
+ nbt_choose_called_name(state, &called, io->in.called_name, NBT_NAME_SERVER);
+
/* we have a connected socket - next step is a session
request, if needed. Port 445 doesn't need it, so it goes
straight to the negprot */
if (state->sock->port == 445) {
+ status = nbt_name_dup(state->transport, &called,
+ &state->transport->called);
+ NT_STATUS_NOT_OK_RETURN(status);
return connect_send_negprot(c, io);
}
- calling.name = io->in.calling_name;
- calling.type = NBT_NAME_CLIENT;
- calling.scope = NULL;
-
- nbt_choose_called_name(state, &called, io->in.called_name, NBT_NAME_SERVER);
-
state->req = smbcli_transport_connect_send(state->transport, &calling, &called);
NT_STATUS_HAVE_NO_MEMORY(state->req);