summaryrefslogtreecommitdiff
path: root/source3/rpc_server/srv_dfs_nt.c
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2007-06-27 09:23:50 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:23:37 -0500
commit6eb18630f789d4188e299a5d60e796161e2996ad (patch)
tree9de113228a27c137d625ea9a41d79622b0ce539b /source3/rpc_server/srv_dfs_nt.c
parenta458211702da5f573f09dde196ca302f2f7cb976 (diff)
downloadsamba-6eb18630f789d4188e299a5d60e796161e2996ad.tar.gz
samba-6eb18630f789d4188e299a5d60e796161e2996ad.tar.bz2
samba-6eb18630f789d4188e299a5d60e796161e2996ad.zip
r23623: Fix rpcclient and rpc_server with new DFS idl.
Guenther (This used to be commit bffe33dd261fdcf9ef8f9f232c15559661843c7c)
Diffstat (limited to 'source3/rpc_server/srv_dfs_nt.c')
-rw-r--r--source3/rpc_server/srv_dfs_nt.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/source3/rpc_server/srv_dfs_nt.c b/source3/rpc_server/srv_dfs_nt.c
index d114a07994..eb159bdc64 100644
--- a/source3/rpc_server/srv_dfs_nt.c
+++ b/source3/rpc_server/srv_dfs_nt.c
@@ -32,10 +32,11 @@
void _dfs_GetManagerVersion(pipes_struct *p, struct dfs_GetManagerVersion *r)
{
- if(lp_host_msdfs())
- *r->out.exist_flag = 1;
- else
- *r->out.exist_flag = 0;
+ if (lp_host_msdfs()) {
+ *r->out.version = DFS_MANAGER_VERSION_NT4;
+ } else {
+ *r->out.version = 0;
+ }
}
WERROR _dfs_Add(pipes_struct *p, struct dfs_Add *r)
@@ -109,22 +110,22 @@ WERROR _dfs_Remove(pipes_struct *p, struct dfs_Remove *r)
return WERR_ACCESS_DENIED;
}
- if (r->in.server && r->in.share) {
- pstrcpy(altpath, r->in.server);
+ if (r->in.servername && r->in.sharename) {
+ pstrcpy(altpath, r->in.servername);
pstrcat(altpath, "\\");
- pstrcat(altpath, r->in.share);
+ pstrcat(altpath, r->in.sharename);
strlower_m(altpath);
}
DEBUG(5,("init_reply_dfs_remove: Request to remove %s -> %s\\%s.\n",
- r->in.path, r->in.server, r->in.share));
+ r->in.dfs_entry_path, r->in.servername, r->in.sharename));
- if(!NT_STATUS_IS_OK(get_referred_path(p->mem_ctx, r->in.path, &jn, &consumedcnt, &self_ref))) {
+ if(!NT_STATUS_IS_OK(get_referred_path(p->mem_ctx, r->in.dfs_entry_path, &jn, &consumedcnt, &self_ref))) {
return WERR_DFS_NO_SUCH_VOL;
}
/* if no server-share pair given, remove the msdfs link completely */
- if(!r->in.server && !r->in.share) {
+ if(!r->in.servername && !r->in.sharename) {
if(!remove_msdfs_link(&jn)) {
vfs_ChDir(p->conn,p->conn->connectpath);
return WERR_DFS_NO_SUCH_VOL;
@@ -324,11 +325,11 @@ WERROR _dfs_GetInfo(pipes_struct *p, struct dfs_GetInfo *r)
BOOL self_ref = False;
BOOL ret;
- if(!create_junction(r->in.path, &jn))
+ if(!create_junction(r->in.dfs_entry_path, &jn))
return WERR_DFS_NO_SUCH_SERVER;
/* The following call can change the cwd. */
- if(!NT_STATUS_IS_OK(get_referred_path(p->mem_ctx, r->in.path, &jn, &consumedcnt, &self_ref)) || consumedcnt < strlen(r->in.path)) {
+ if(!NT_STATUS_IS_OK(get_referred_path(p->mem_ctx, r->in.dfs_entry_path, &jn, &consumedcnt, &self_ref)) || consumedcnt < strlen(r->in.dfs_entry_path)) {
vfs_ChDir(p->conn,p->conn->connectpath);
return WERR_DFS_NO_SUCH_VOL;
}