summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2007-02-08 21:57:41 +0000
committerVolker Lendecke <vlendec@samba.org>2007-02-08 21:57:41 +0000
commitd2c6bc38f5c6d2605d168840e9a60c05ae867a1f (patch)
treee58e1e14a7ef1ff0b94b7f812212e98b52b6039f
parent32c8683bb841a733f4904571acd7ada087a79fbd (diff)
downloadsamba-d2c6bc38f5c6d2605d168840e9a60c05ae867a1f.tar.gz
samba-d2c6bc38f5c6d2605d168840e9a60c05ae867a1f.tar.xz
samba-d2c6bc38f5c6d2605d168840e9a60c05ae867a1f.zip
r21251: Okay, after Jeremy has kindly tested this, check it in :-)
Attached find a workaround that works for me. This is not the "correct" fix, to me it seems our DFS referral marshalling is broken. Vista requests level 4, we reply with level 2, and Vista seems not to like that. If we reply with level 3 it seems more happy. Needs more work! Volker
-rw-r--r--source/smbd/msdfs.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/smbd/msdfs.c b/source/smbd/msdfs.c
index 53e2fe9418d..2a19d6fb418 100644
--- a/source/smbd/msdfs.c
+++ b/source/smbd/msdfs.c
@@ -865,9 +865,13 @@ int setup_dfs_referral(connection_struct *orig_conn, char *pathname, int max_ref
/* create the referral depeding on version */
DEBUG(10,("max_referral_level :%d\n",max_referral_level));
- if(max_referral_level<2 || max_referral_level>3) {
+
+ if (max_referral_level < 2) {
max_referral_level = 2;
}
+ if (max_referral_level > 3) {
+ max_referral_level = 3;
+ }
switch(max_referral_level) {
case 2: