diff options
Diffstat (limited to 'source4/libcli/clidfs.c')
-rw-r--r-- | source4/libcli/clidfs.c | 224 |
1 files changed, 112 insertions, 112 deletions
diff --git a/source4/libcli/clidfs.c b/source4/libcli/clidfs.c index ae7a8dc6eb..674666a60a 100644 --- a/source4/libcli/clidfs.c +++ b/source4/libcli/clidfs.c @@ -20,21 +20,21 @@ #include "includes.h" -BOOL cli_client_initialize(struct cli_client* context, +BOOL smbcli_client_initialize(struct smbcli_client* context, const char* sockops, char* username, char* password, char* workgroup, int flags) { int i; for (i=0; i < DFS_MAX_CLUSTER_SIZE ; i++) { - context->cli[i] = cli_raw_initialise(); + context->cli[i] = smbcli_raw_initialise(); } context->sockops = sockops; context->username = username; context->password = password; context->workgroup = workgroup; context->connection_flags = flags; - if (flags & CLI_FULL_CONNECTION_USE_DFS) + if (flags & SMBCLI_FULL_CONNECTION_USE_DFS) context->use_dfs = True; context->number_members = DFS_MAX_CLUSTER_SIZE; return True; @@ -46,7 +46,7 @@ BOOL cli_client_initialize(struct cli_client* context, The structure of a Dfs referral depends on the info level. ****************************************************************************/ -static int interpret_referral(struct cli_state *cli, +static int interpret_referral(struct smbcli_state *cli, int level,char *p,referral_info *rinfo) { char* q; @@ -99,12 +99,12 @@ static int interpret_referral(struct cli_state *cli, } #if 0 -int cli_select_dfs_referral(struct cli_state *cli, dfs_info* dinfo) +int smbcli_select_dfs_referral(struct smbcli_state *cli, dfs_info* dinfo) { return (int)sys_random()%dinfo->number_referrals; } -int cli_get_dfs_referral(struct cli_state *cli,const char *Fname, dfs_info* dinfo) +int smbcli_get_dfs_referral(struct smbcli_state *cli,const char *Fname, dfs_info* dinfo) { struct smb_trans2 parms; int info_level; @@ -123,20 +123,20 @@ int cli_get_dfs_referral(struct cli_state *cli,const char *Fname, dfs_info* dinf pstrcpy(fname,Fname); setup = TRANSACT2_GET_DFS_REFERRAL ; - SSVAL(param,0,CLI_DFS_MAX_REFERRAL_LEVEL); /* attribute */ + SSVAL(param,0,SMBCLI_DFS_MAX_REFERRAL_LEVEL); /* attribute */ p = param+2; p += clistr_push(cli, param+2, fname, -1, STR_TERMINATE); param_len = PTR_DIFF(p, param); - DEBUG(3,("cli_get_dfs_referral: sending request\n")); + DEBUG(3,("smbcli_get_dfs_referral: sending request\n")); trans_param.length = param_len; trans_param.data = param; trans_data.length = 0; trans_data.data = NULL; - if (!cli_send_trans(cli, SMBtrans2, + if (!smbcli_send_trans(cli, SMBtrans2, NULL, /* Name */ -1, 0, /* fid, flags */ &setup, 1, 0, /* setup, length, max */ @@ -147,25 +147,25 @@ int cli_get_dfs_referral(struct cli_state *cli,const char *Fname, dfs_info* dinf return 0; } - if (!cli_receive_trans(cli, SMBtrans2, + if (!smbcli_receive_trans(cli, SMBtrans2, &rparam, ¶m_len, &rdata, &data_len) && - cli_is_dos_error(cli)) { + smbcli_is_dos_error(cli)) { return 0; } - //printf("cli_get_dfs_referral: received response, rdata=%p, rparam=%p\n", + //printf("smbcli_get_dfs_referral: received response, rdata=%p, rparam=%p\n", // rdata, rparam); - if (cli_is_error(cli) || !rdata) + if (smbcli_is_error(cli) || !rdata) return 0; /* parse out some important return info */ - //printf("cli_get_dfs_referral: valid response\n"); + //printf("smbcli_get_dfs_referral: valid response\n"); p = rdata; dinfo->path_consumed = SVAL(p,0); dinfo->number_referrals = SVAL(p,2); dinfo->referral_flags = SVAL(p,4); - DEBUG(3,("cli_get_dfs_referral: path_consumed=%d, # referrals=%d, flags=0x%x\n", + DEBUG(3,("smbcli_get_dfs_referral: path_consumed=%d, # referrals=%d, flags=0x%x\n", dinfo->path_consumed, dinfo->number_referrals, dinfo->referral_flags)); @@ -181,7 +181,7 @@ int cli_get_dfs_referral(struct cli_state *cli,const char *Fname, dfs_info* dinf DEBUG(3,("received %d Dfs referrals\n", dinfo->number_referrals)); - dinfo->selected_referral = cli_select_dfs_referral(cli, dinfo); + dinfo->selected_referral = smbcli_select_dfs_referral(cli, dinfo); DEBUG(3, ("selected Dfs referral %d %s\n", dinfo->selected_referral, dinfo->referrals[dinfo->selected_referral].node)); @@ -190,12 +190,12 @@ int cli_get_dfs_referral(struct cli_state *cli,const char *Fname, dfs_info* dinf #endif /* check if the server produced Dfs redirect */ -BOOL cli_check_dfs_redirect(struct cli_state* c, char* fname, +BOOL smbcli_check_dfs_redirect(struct smbcli_state* c, char* fname, dfs_info* dinfo) { //printf("check_dfs_redirect: error %s\n", - // cli_errstr(c)); - if (cli_is_dos_error(c)) { + // smbcli_errstr(c)); + if (smbcli_is_dos_error(c)) { printf("got dos error\n"); return False; @@ -204,7 +204,7 @@ BOOL cli_check_dfs_redirect(struct cli_state* c, char* fname, /* Check NT error */ - status = cli_nt_error(c); + status = smbcli_nt_error(c); //printf("got nt error 0x%x\n", status); if (NT_STATUS_V(NT_STATUS_PATH_NOT_COVERED) != NT_STATUS_V(status)) { @@ -213,27 +213,27 @@ BOOL cli_check_dfs_redirect(struct cli_state* c, char* fname, } /* execute trans2 getdfsreferral */ //printf("check_dfs_redirect: process referral\n"); - //cli_get_dfs_referral(c, fname, dinfo); + //smbcli_get_dfs_referral(c, fname, dinfo); return True; } -int cli_dfs_open_connection(struct cli_client* cluster, +int smbcli_dfs_open_connection(struct smbcli_client* cluster, char* host, char* share, int flags) { int i; BOOL retry; - struct cli_state* c; + struct smbcli_state* c; // check if already connected for (i=0; i < DFS_MAX_CLUSTER_SIZE; i++) { - if (cluster->cli[i]->in_use && strequal(host, cli_state_get_host(cluster->cli[i])) - && strequal(share, cli_state_get_share(cluster->cli[i]))) { - DEBUG(3,("cli_dfs_open_connection: already connected to \\\\%s\\%s\n", host, share)); + if (cluster->cli[i]->in_use && strequal(host, smbcli_state_get_host(cluster->cli[i])) + && strequal(share, smbcli_state_get_share(cluster->cli[i]))) { + DEBUG(3,("smbcli_dfs_open_connection: already connected to \\\\%s\\%s\n", host, share)); return i; } } // open connection - DEBUG(3,("cli_dfs_open_connection: opening \\\\%s\\%s %s@%s\n", + DEBUG(3,("smbcli_dfs_open_connection: opening \\\\%s\\%s %s@%s\n", host, share, cluster->username, cluster->workgroup)); for (i=0; i < DFS_MAX_CLUSTER_SIZE; i++) { if (!cluster->cli[i]->in_use) { @@ -244,19 +244,19 @@ int cli_dfs_open_connection(struct cli_client* cluster, return -1; c = cluster->cli[i]; - if (NT_STATUS_IS_ERR(cli_full_connection(&c, + if (NT_STATUS_IS_ERR(smbcli_full_connection(&c, NULL, host, NULL, 0, share, "?????", cluster->username, cluster->workgroup, cluster->password, flags, &retry))) return -1; - cli_state_set_sockopt(cluster->cli[i], cluster->sockops); - cli_state_set_host(cluster->cli[i], host); - cli_state_set_share(cluster->cli[i], share); + smbcli_state_set_sockopt(cluster->cli[i], cluster->sockops); + smbcli_state_set_host(cluster->cli[i], host); + smbcli_state_set_share(cluster->cli[i], share); cluster->cli[i]->in_use = True; - DEBUG(3,("cli_dfs_open_connection: connected \\\\%s\\%s (%d) %s@%s\n", - cli_state_get_host(cluster->cli[i]), cli_state_get_share(cluster->cli[i]), i, + DEBUG(3,("smbcli_dfs_open_connection: connected \\\\%s\\%s (%d) %s@%s\n", + smbcli_state_get_host(cluster->cli[i]), smbcli_state_get_share(cluster->cli[i]), i, cluster->username, cluster->workgroup)); return i; @@ -267,7 +267,7 @@ int cli_dfs_open_connection(struct cli_client* cluster, into the dfs_path structure **********************************************************************/ -BOOL cli_parse_dfs_path(char* pathname, struct dfs_path* pdp) +BOOL smbcli_parse_dfs_path(char* pathname, struct dfs_path* pdp) { pstring pathname_local; char* p,*temp; @@ -278,7 +278,7 @@ BOOL cli_parse_dfs_path(char* pathname, struct dfs_path* pdp) ZERO_STRUCTP(pdp); trim_string(temp,"\\","\\"); - DEBUG(10,("temp in cli_parse_dfs_path: .%s. after trimming \\'s\n",temp)); + DEBUG(10,("temp in smbcli_parse_dfs_path: .%s. after trimming \\'s\n",temp)); /* now tokenize */ /* parse out hostname */ @@ -308,7 +308,7 @@ BOOL cli_parse_dfs_path(char* pathname, struct dfs_path* pdp) return True; } -char* rebuild_filename(char *referral_fname, struct cli_state* c, +char* rebuild_filename(char *referral_fname, struct smbcli_state* c, char* fname, int path_consumed) { const char *template = "\\\\%s\\%s\\%s"; @@ -317,12 +317,12 @@ char* rebuild_filename(char *referral_fname, struct cli_state* c, // TODO: handle consumed length DEBUG(3,("rebuild_filename: %s, %d consumed of %d\n", fname, path_consumed, strlen(fname))); - if (cli_parse_dfs_path(fname, &dp)) { + if (smbcli_parse_dfs_path(fname, &dp)) { DEBUG(3,("rebuild_filename: reqpath=%s\n", dp.reqpath)); asprintf(&referral_fname, - template, cli_state_get_host(c), - cli_state_get_share(c), dp.reqpath); + template, smbcli_state_get_host(c), + smbcli_state_get_share(c), dp.reqpath); } else return NULL; @@ -334,7 +334,7 @@ char* rebuild_filename(char *referral_fname, struct cli_state* c, Open a file (allowing for Dfs referral). ****************************************************************************/ -int cli_dfs_open(struct cli_client* cluster, int *server, +int smbcli_dfs_open(struct smbcli_client* cluster, int *server, char *fname_src, int flags, int share_mode) { int referral_number; @@ -342,15 +342,15 @@ int cli_dfs_open(struct cli_client* cluster, int *server, char *referral_fname; int fnum; - DEBUG(3,("cli_dfs_open: open %s on server %s(%d)\n", - fname_src, cli_state_get_host(cluster->cli[*server]), *server)); + DEBUG(3,("smbcli_dfs_open: open %s on server %s(%d)\n", + fname_src, smbcli_state_get_host(cluster->cli[*server]), *server)); cluster->cli[*server]->dfs_referral = *server; - if ((fnum = cli_open(cluster->cli[*server], fname_src, flags, share_mode)) < 0) { - if (cli_check_dfs_redirect(cluster->cli[*server], fname_src, &dinfo)) { + if ((fnum = smbcli_open(cluster->cli[*server], fname_src, flags, share_mode)) < 0) { + if (smbcli_check_dfs_redirect(cluster->cli[*server], fname_src, &dinfo)) { // choose referral, check if already connected, open if not referral_number = dinfo.selected_referral; - DEBUG(3,("cli_dfs_open: redirecting to %s\n", dinfo.referrals[referral_number].node)); - cluster->cli[*server]->dfs_referral = cli_dfs_open_connection(cluster, + DEBUG(3,("smbcli_dfs_open: redirecting to %s\n", dinfo.referrals[referral_number].node)); + cluster->cli[*server]->dfs_referral = smbcli_dfs_open_connection(cluster, dinfo.referrals[referral_number].host, dinfo.referrals[referral_number].share, cluster->connection_flags); @@ -361,17 +361,17 @@ int cli_dfs_open(struct cli_client* cluster, int *server, if (rebuild_filename(referral_fname, cluster->cli[*server], fname_src, dinfo.path_consumed) == NULL) return False; fname_src = referral_fname; - DEBUG(3,("cli_dfs_open: Dfs open %s on server %s(%d)\n", - fname_src, cli_state_get_host(cluster->cli[*server]), *server)); - fnum = cli_open(cluster->cli[*server], fname_src, flags, share_mode); + DEBUG(3,("smbcli_dfs_open: Dfs open %s on server %s(%d)\n", + fname_src, smbcli_state_get_host(cluster->cli[*server]), *server)); + fnum = smbcli_open(cluster->cli[*server], fname_src, flags, share_mode); } - if (cli_is_error(cluster->cli[*server])) { - printf("cli_dfs_open: open of %s failed (%s)\n", - fname_src, cli_errstr(cluster->cli[*server])); + if (smbcli_is_error(cluster->cli[*server])) { + printf("smbcli_dfs_open: open of %s failed (%s)\n", + fname_src, smbcli_errstr(cluster->cli[*server])); return -1; } } - DEBUG(3,("cli_dfs_open: open %s fnum=%d\n", + DEBUG(3,("smbcli_dfs_open: open %s fnum=%d\n", fname_src, fnum)); return fnum; } @@ -380,7 +380,7 @@ int cli_dfs_open(struct cli_client* cluster, int *server, Delete a file (allowing for Dfs referral). ****************************************************************************/ -NTSTATUS cli_nt_unlink(struct cli_client* cluster, int *server, +NTSTATUS smbcli_nt_unlink(struct smbcli_client* cluster, int *server, char *fname_src, uint16_t FileAttributes) { int referral_number; @@ -388,20 +388,20 @@ NTSTATUS cli_nt_unlink(struct cli_client* cluster, int *server, char *referral_fname; struct smb_unlink parms; - DEBUG(3,("cli_nt_unlink: delete %s on server %s(%d), attributes=0x%x\n", - fname_src, cli_state_get_host(cluster->cli[*server]), *server, + DEBUG(3,("smbcli_nt_unlink: delete %s on server %s(%d), attributes=0x%x\n", + fname_src, smbcli_state_get_host(cluster->cli[*server]), *server, FileAttributes)); cluster->cli[*server]->dfs_referral = *server; parms.in.pattern = fname_src; parms.in.dirtype = FileAttributes; - if (NT_STATUS_IS_ERR(cli_raw_unlink(cluster->cli[*server], &parms))) { - printf("cli_nt_unlink: delete of %s failed (%s)\n", - fname_src, cli_errstr(cluster->cli[*server])); - if (cli_check_dfs_redirect(cluster->cli[*server], fname_src, &dinfo)) { + if (NT_STATUS_IS_ERR(smbcli_raw_unlink(cluster->cli[*server], &parms))) { + printf("smbcli_nt_unlink: delete of %s failed (%s)\n", + fname_src, smbcli_errstr(cluster->cli[*server])); + if (smbcli_check_dfs_redirect(cluster->cli[*server], fname_src, &dinfo)) { // choose referral, check if already connected, open if not referral_number = dinfo.selected_referral; - DEBUG(3,("cli_nt_unlink: redirecting to %s\n", dinfo.referrals[referral_number].node)); - cluster->cli[*server]->dfs_referral = cli_dfs_open_connection(cluster, + DEBUG(3,("smbcli_nt_unlink: redirecting to %s\n", dinfo.referrals[referral_number].node)); + cluster->cli[*server]->dfs_referral = smbcli_dfs_open_connection(cluster, dinfo.referrals[referral_number].host, dinfo.referrals[referral_number].share, cluster->connection_flags); @@ -412,38 +412,38 @@ NTSTATUS cli_nt_unlink(struct cli_client* cluster, int *server, if (rebuild_filename(referral_fname, cluster->cli[*server], fname_src, dinfo.path_consumed) == NULL) return NT_STATUS_INTERNAL_ERROR; fname_src = referral_fname; - DEBUG(3,("cli_nt_unlink: Dfs delete %s on server %s(%d)\n", - fname_src, cli_state_get_host(cluster->cli[*server]), *server)); - cli_raw_unlink(cluster->cli[*server], &parms); + DEBUG(3,("smbcli_nt_unlink: Dfs delete %s on server %s(%d)\n", + fname_src, smbcli_state_get_host(cluster->cli[*server]), *server)); + smbcli_raw_unlink(cluster->cli[*server], &parms); } - if (cli_is_error(cluster->cli[*server])) { - printf("cli_nt_unlink: delete of %s failed (%s)\n", - fname_src, cli_errstr(cluster->cli[*server])); + if (smbcli_is_error(cluster->cli[*server])) { + printf("smbcli_nt_unlink: delete of %s failed (%s)\n", + fname_src, smbcli_errstr(cluster->cli[*server])); } } - return cli_nt_error(cluster->cli[*server]); + return smbcli_nt_error(cluster->cli[*server]); } /**************************************************************************** Rename a file (allowing for Dfs referral). ****************************************************************************/ -BOOL cli_dfs_rename(struct cli_client* cluster, int *server, +BOOL smbcli_dfs_rename(struct smbcli_client* cluster, int *server, char *fname_src, char *fname_dst) { int referral_number; dfs_info dinfo; char *referral_fname; - DEBUG(3,("cli_dfs_rename: rename %s to %s on server %s(%d)\n", - fname_src, fname_dst, cli_state_get_host(cluster->cli[*server]), *server)); + DEBUG(3,("smbcli_dfs_rename: rename %s to %s on server %s(%d)\n", + fname_src, fname_dst, smbcli_state_get_host(cluster->cli[*server]), *server)); cluster->cli[*server]->dfs_referral = *server; - if (!cli_rename(cluster->cli[*server], fname_src, fname_dst)) { - if (cli_check_dfs_redirect(cluster->cli[*server], fname_src, &dinfo)) { + if (!smbcli_rename(cluster->cli[*server], fname_src, fname_dst)) { + if (smbcli_check_dfs_redirect(cluster->cli[*server], fname_src, &dinfo)) { // choose referral, check if already connected, open if not referral_number = dinfo.selected_referral; - DEBUG(3,("cli_dfs_rename: redirecting to %s\n", dinfo.referrals[referral_number].node)); - cluster->cli[*server]->dfs_referral = cli_dfs_open_connection(cluster, + DEBUG(3,("smbcli_dfs_rename: redirecting to %s\n", dinfo.referrals[referral_number].node)); + cluster->cli[*server]->dfs_referral = smbcli_dfs_open_connection(cluster, dinfo.referrals[referral_number].host, dinfo.referrals[referral_number].share, cluster->connection_flags); @@ -454,13 +454,13 @@ BOOL cli_dfs_rename(struct cli_client* cluster, int *server, if (rebuild_filename(referral_fname, cluster->cli[*server], fname_src, dinfo.path_consumed) == NULL) return False; fname_src = referral_fname; - DEBUG(3,("cli_dfs_rename: Dfs rename %s to %s on server %s(%d)\n", - fname_src, fname_dst, cli_state_get_host(cluster->cli[*server]), *server)); - cli_rename(cluster->cli[*server], fname_src, fname_dst); + DEBUG(3,("smbcli_dfs_rename: Dfs rename %s to %s on server %s(%d)\n", + fname_src, fname_dst, smbcli_state_get_host(cluster->cli[*server]), *server)); + smbcli_rename(cluster->cli[*server], fname_src, fname_dst); } - if (cli_is_error(cluster->cli[*server])) { - printf("cli_dfs_rename: rename of %s to %s failed (%s)\n", - fname_src, fname_dst, cli_errstr(cluster->cli[*server])); + if (smbcli_is_error(cluster->cli[*server])) { + printf("smbcli_dfs_rename: rename of %s to %s failed (%s)\n", + fname_src, fname_dst, smbcli_errstr(cluster->cli[*server])); return False; } } @@ -471,24 +471,24 @@ BOOL cli_dfs_rename(struct cli_client* cluster, int *server, Make directory (allowing for Dfs referral). ****************************************************************************/ -BOOL cli_dfs_mkdir(struct cli_client* cluster, int *server, +BOOL smbcli_dfs_mkdir(struct smbcli_client* cluster, int *server, char *fname_src) { int referral_number; dfs_info dinfo; char *referral_fname; - DEBUG(3,("cli_dfs_mkdir: mkdir %s on server %s(%d)\n", - fname_src, cli_state_get_host(cluster->cli[*server]), *server)); + DEBUG(3,("smbcli_dfs_mkdir: mkdir %s on server %s(%d)\n", + fname_src, smbcli_state_get_host(cluster->cli[*server]), *server)); cluster->cli[*server]->dfs_referral = *server; - if (!cli_mkdir(cluster->cli[*server], fname_src)) { - printf("cli_dfs_mkdir: mkdir of %s failed (%s)\n", - fname_src, cli_errstr(cluster->cli[*server])); - if (cli_check_dfs_redirect(cluster->cli[*server], fname_src, &dinfo)) { + if (!smbcli_mkdir(cluster->cli[*server], fname_src)) { + printf("smbcli_dfs_mkdir: mkdir of %s failed (%s)\n", + fname_src, smbcli_errstr(cluster->cli[*server])); + if (smbcli_check_dfs_redirect(cluster->cli[*server], fname_src, &dinfo)) { // choose referral, check if already connected, open if not referral_number = dinfo.selected_referral; - DEBUG(3,("cli_dfs_mkdir: redirecting to %s\n", dinfo.referrals[referral_number].node)); - cluster->cli[*server]->dfs_referral = cli_dfs_open_connection(cluster, + DEBUG(3,("smbcli_dfs_mkdir: redirecting to %s\n", dinfo.referrals[referral_number].node)); + cluster->cli[*server]->dfs_referral = smbcli_dfs_open_connection(cluster, dinfo.referrals[referral_number].host, dinfo.referrals[referral_number].share, cluster->connection_flags); @@ -499,13 +499,13 @@ BOOL cli_dfs_mkdir(struct cli_client* cluster, int *server, if (rebuild_filename(referral_fname, cluster->cli[*server], fname_src, dinfo.path_consumed) == NULL) return False; fname_src = referral_fname; - DEBUG(3,("cli_dfs_mkdir: Dfs mkdir %s on server %s(%d)\n", - fname_src, cli_state_get_host(cluster->cli[*server]), *server)); - cli_mkdir(cluster->cli[*server], fname_src); + DEBUG(3,("smbcli_dfs_mkdir: Dfs mkdir %s on server %s(%d)\n", + fname_src, smbcli_state_get_host(cluster->cli[*server]), *server)); + smbcli_mkdir(cluster->cli[*server], fname_src); } - if (cli_is_error(cluster->cli[*server])) { - printf("cli_dfs_mkdir: mkdir of %s failed (%s)\n", - fname_src, cli_errstr(cluster->cli[*server])); + if (smbcli_is_error(cluster->cli[*server])) { + printf("smbcli_dfs_mkdir: mkdir of %s failed (%s)\n", + fname_src, smbcli_errstr(cluster->cli[*server])); return False; } } @@ -516,24 +516,24 @@ BOOL cli_dfs_mkdir(struct cli_client* cluster, int *server, Remove directory (allowing for Dfs referral). ****************************************************************************/ -BOOL cli_dfs_rmdir(struct cli_client* cluster, int *server, +BOOL smbcli_dfs_rmdir(struct smbcli_client* cluster, int *server, char *fname_src) { int referral_number; dfs_info dinfo; char *referral_fname; - DEBUG(3,("cli_dfs_rmdir: rmdir %s on server %s(%d)\n", - fname_src, cli_state_get_host(cluster->cli[*server]), *server)); + DEBUG(3,("smbcli_dfs_rmdir: rmdir %s on server %s(%d)\n", + fname_src, smbcli_state_get_host(cluster->cli[*server]), *server)); cluster->cli[*server]->dfs_referral = *server; - if (!cli_rmdir(cluster->cli[*server], fname_src)) { - printf("cli_dfs_rmdir: rmdir of %s failed (%s)\n", - fname_src, cli_errstr(cluster->cli[*server])); - if (cli_check_dfs_redirect(cluster->cli[*server], fname_src, &dinfo)) { + if (!smbcli_rmdir(cluster->cli[*server], fname_src)) { + printf("smbcli_dfs_rmdir: rmdir of %s failed (%s)\n", + fname_src, smbcli_errstr(cluster->cli[*server])); + if (smbcli_check_dfs_redirect(cluster->cli[*server], fname_src, &dinfo)) { // choose referral, check if already connected, open if not referral_number = dinfo.selected_referral; - DEBUG(3,("cli_dfs_rmdir: redirecting to %s\n", dinfo.referrals[referral_number].node)); - cluster->cli[*server]->dfs_referral = cli_dfs_open_connection(cluster, + DEBUG(3,("smbcli_dfs_rmdir: redirecting to %s\n", dinfo.referrals[referral_number].node)); + cluster->cli[*server]->dfs_referral = smbcli_dfs_open_connection(cluster, dinfo.referrals[referral_number].host, dinfo.referrals[referral_number].share, cluster->connection_flags); @@ -544,13 +544,13 @@ BOOL cli_dfs_rmdir(struct cli_client* cluster, int *server, if (rebuild_filename(referral_fname, cluster->cli[*server], fname_src, dinfo.path_consumed) == NULL) return False; fname_src = referral_fname; - DEBUG(3,("cli_dfs_rmdir: Dfs rmdir %s on server %s(%d)\n", - fname_src, cli_state_get_host(cluster->cli[*server]), *server)); - cli_rmdir(cluster->cli[*server], fname_src); + DEBUG(3,("smbcli_dfs_rmdir: Dfs rmdir %s on server %s(%d)\n", + fname_src, smbcli_state_get_host(cluster->cli[*server]), *server)); + smbcli_rmdir(cluster->cli[*server], fname_src); } - if (cli_is_error(cluster->cli[*server])) { - printf("cli_dfs_rmdir: rmdir of %s failed (%s)\n", - fname_src, cli_errstr(cluster->cli[*server])); + if (smbcli_is_error(cluster->cli[*server])) { + printf("smbcli_dfs_rmdir: rmdir of %s failed (%s)\n", + fname_src, smbcli_errstr(cluster->cli[*server])); return False; } } |