summaryrefslogtreecommitdiffstats
path: root/source/smbd/msdfs.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2007-02-08 21:57:41 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:17:51 -0500
commit4c3a9135629415086698da28596f68f7a9db9133 (patch)
tree295c7d243461e8f9e5100a3508b43cd95d2e0fd4 /source/smbd/msdfs.c
parentd781eeb0e4362b7af1497634d26315498a5257d4 (diff)
downloadsamba-4c3a9135629415086698da28596f68f7a9db9133.tar.gz
samba-4c3a9135629415086698da28596f68f7a9db9133.tar.xz
samba-4c3a9135629415086698da28596f68f7a9db9133.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
Diffstat (limited to 'source/smbd/msdfs.c')
-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 a5cdd8130d1..c24cdcc7086 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: