diff options
author | Volker Lendecke <vlendec@samba.org> | 2004-04-11 10:33:05 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 10:51:11 -0500 |
commit | 88b841befe1eb4157e7de6e0421e1699293a91d0 (patch) | |
tree | e5a7b3d29f23d6fae068f674ea1ee4f0d811c96c /source3/msdfs | |
parent | 3287bd9364c4214e41cd87167dc8d7a768a9edc2 (diff) | |
download | samba-88b841befe1eb4157e7de6e0421e1699293a91d0.tar.gz samba-88b841befe1eb4157e7de6e0421e1699293a91d0.tar.bz2 samba-88b841befe1eb4157e7de6e0421e1699293a91d0.zip |
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)
Diffstat (limited to 'source3/msdfs')
-rw-r--r-- | source3/msdfs/msdfs.c | 16 |
1 files changed, 9 insertions, 7 deletions
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, |