s3: pass session_info to remove_msdfs_link()
authorRalph Boehme <slow@samba.org>
Fri, 13 Dec 2019 15:25:44 +0000 (16:25 +0100)
committerRalph Boehme <slow@samba.org>
Fri, 20 Dec 2019 11:41:40 +0000 (11:41 +0000)
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
source3/rpc_server/dfs/srv_dfs_nt.c
source3/smbd/msdfs.c
source3/smbd/proto.h

index 878148d803bda124b7b756573d09845bacc699f5..d7005081cfabce597f3336b47ce801a3144e06b4 100644 (file)
@@ -162,7 +162,7 @@ WERROR _dfs_Remove(struct pipes_struct *p, struct dfs_Remove *r)
 
        /* if no server-share pair given, remove the msdfs link completely */
        if(!r->in.servername && !r->in.sharename) {
-               if(!remove_msdfs_link(jn)) {
+               if(!remove_msdfs_link(jn, p->session_info)) {
                        return WERR_NERR_DFSNOSUCHVOLUME;
                }
        } else {
@@ -193,7 +193,7 @@ WERROR _dfs_Remove(struct pipes_struct *p, struct dfs_Remove *r)
 
                /* Only one referral, remove it */
                if(jn->referral_count == 1) {
-                       if(!remove_msdfs_link(jn)) {
+                       if(!remove_msdfs_link(jn, p->session_info)) {
                                return WERR_NERR_DFSNOSUCHVOLUME;
                        }
                } else {
index 3ac9740873f32263197d58032bff2b448d11a60a..5d2c1dc59b92dffc9c37b2c8d7869aaac8cffecc 100644 (file)
@@ -1496,7 +1496,8 @@ out:
        return ret;
 }
 
-bool remove_msdfs_link(const struct junction_map *jucn)
+bool remove_msdfs_link(const struct junction_map *jucn,
+                      struct auth_session_info *session_info)
 {
        TALLOC_CTX *frame = talloc_stackframe();
        char *path = NULL;
index d40ccd4af8a720415db03024b13f475c3228b63b..e94587442b6d01d7e88ab524c786395b266d6957 100644 (file)
@@ -493,7 +493,9 @@ char *msdfs_link_string(TALLOC_CTX *ctx,
                size_t referral_count);
 bool create_msdfs_link(const struct junction_map *jucn,
                       struct auth_session_info *session_info);
-bool remove_msdfs_link(const struct junction_map *jucn);
+bool remove_msdfs_link(const struct junction_map *jucn,
+                      struct auth_session_info *session_info);
+
 struct junction_map *enum_msdfs_links(TALLOC_CTX *ctx, size_t *p_num_jn);
 NTSTATUS resolve_dfspath_wcard(TALLOC_CTX *ctx,
                                connection_struct *conn,