diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c index 4342a3b1d1b..be841f23a51 100644 --- a/source3/libsmb/clidfs.c +++ b/source3/libsmb/clidfs.c @@ -151,6 +151,10 @@ static NTSTATUS do_connect(TALLOC_CTX *ctx, int signing_state = get_cmdline_auth_info_signing_state(auth_info); struct cli_credentials *creds = NULL; + DBG_DEBUG("Making new connection to server %s share %s\n", + server, + share); + if (force_encrypt) { signing_state = SMB_SIGNING_REQUIRED; } @@ -380,13 +384,26 @@ static struct cli_state *cli_cm_find(struct cli_state *cli, return NULL; } + DBG_DEBUG("Looking for connection to server %s share %s\n", + server, + share); + /* Search to the start of the list. */ for (p = cli; p; p = DLIST_PREV(p)) { const char *remote_name = smbXcli_conn_remote_name(p->conn); + DBG_DEBUG("List entry server %s share %s\n", + remote_name, + p->share); + if (strequal(server, remote_name) && strequal(share,p->share)) { + + DBG_DEBUG("Found match server %s share %s\n", + remote_name, + p->share); + return p; } } @@ -396,8 +413,17 @@ static struct cli_state *cli_cm_find(struct cli_state *cli, const char *remote_name = smbXcli_conn_remote_name(p->conn); + DBG_DEBUG("List entry server %s share %s\n", + remote_name, + p->share); + if (strequal(server, remote_name) && strequal(share,p->share)) { + + DBG_DEBUG("Found match server %s share %s\n", + remote_name, + p->share); + return p; } } @@ -438,6 +464,10 @@ NTSTATUS cli_cm_open(TALLOC_CTX *ctx, return NT_STATUS_INVALID_PARAMETER; } + DBG_DEBUG("Calling cli_cm_connect on: server %s share %s\n", + server, + share); + status = cli_cm_connect(ctx, referring_cli, server, @@ -954,6 +984,9 @@ NTSTATUS cli_resolve_path(TALLOC_CTX *ctx, return NT_STATUS_NO_MEMORY; } + DBG_DEBUG("Calling cli_qpathinfo_basic on: dfs_path %s\n", + dfs_path); + status = cli_qpathinfo_basic( rootcli, dfs_path, &sbuf, &attributes); if (NT_STATUS_IS_OK(status)) { /* This is an ordinary path, just return it. */ @@ -1000,6 +1033,9 @@ NTSTATUS cli_resolve_path(TALLOC_CTX *ctx, return status; } + DBG_DEBUG("Calling cli_dfs_get_referral on dfs_path %s\n", + dfs_path); + status = cli_dfs_get_referral(ctx, cli_ipc, dfs_path, &refs, &num_refs, &consumed); if (!NT_STATUS_IS_OK(status)) { @@ -1029,6 +1065,10 @@ NTSTATUS cli_resolve_path(TALLOC_CTX *ctx, return NT_STATUS_NOT_FOUND; } + DBG_DEBUG("Calling cli_cm_find on server %s share %s\n", + dfs_refs[count].server, + dfs_refs[count].share); + ccli = cli_cm_find(rootcli, dfs_refs[count].server, dfs_refs[count].share); if (ccli != NULL) { @@ -1043,6 +1083,11 @@ NTSTATUS cli_resolve_path(TALLOC_CTX *ctx, * referral server in the list. */ for (count = 0; (ccli == NULL) && (count < num_refs); count++) { + + DBG_DEBUG("Calling cli_cm_connect on: server %s share %s\n", + dfs_refs[count].server, + dfs_refs[count].share); + /* Connect to the target server & share */ status = cli_cm_connect(ctx, rootcli, dfs_refs[count].server,