From 88b841befe1eb4157e7de6e0421e1699293a91d0 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 11 Apr 2004 10:33:05 +0000 Subject: r160: Fix msdfs proxy. Could others please also test this, this code is soo cluttered. I've tested with w2k and xp with msdfs proxy and normal msdfs root, but I would like others to also look at the code. Thanks, Volker (This used to be commit c31feb045a3d9a6bc1dfd0377a74d93354e8034a) --- source3/msdfs/msdfs.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'source3') diff --git a/source3/msdfs/msdfs.c b/source3/msdfs/msdfs.c index 2ac7bda175..c66f0477a8 100644 --- a/source3/msdfs/msdfs.c +++ b/source3/msdfs/msdfs.c @@ -495,15 +495,13 @@ BOOL get_referred_path(char *pathname, struct junction_map *jucn, */ if (dp.reqpath[0] == '\0') { - return self_ref(pathname, jucn, consumedcntp, self_referralp); - } - - pstrcpy(conn_path, lp_pathname(snum)); - if (!create_conn_struct(conn, snum, conn_path)) - return False; - if (*lp_msdfs_proxy(snum) != '\0') { struct referral* ref; + + if (*lp_msdfs_proxy(snum) == '\0') + return self_ref(pathname, jucn, consumedcntp, + self_referralp); + jucn->referral_count = 1; if ((ref = (struct referral*) malloc(sizeof(struct referral))) == NULL) { DEBUG(0, ("malloc failed for referral\n")); @@ -522,6 +520,10 @@ BOOL get_referred_path(char *pathname, struct junction_map *jucn, goto out; } + pstrcpy(conn_path, lp_pathname(snum)); + if (!create_conn_struct(conn, snum, conn_path)) + return False; + /* If not remote & not a self referral, return False */ if (!resolve_dfs_path(pathname, &dp, conn, False, &jucn->referral_list, &jucn->referral_count, -- cgit