summaryrefslogtreecommitdiff
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
commit5920d870cfc6be3c5bbc65ab63a6e63d1d7286f4 (patch)
treecb879d9d8cf22f23aa811fbd971154e7b4f34479
parent7db1c6873c15e7950bf7dcc10ce3cdc7bc10248c (diff)
downloadsamba-5920d870cfc6be3c5bbc65ab63a6e63d1d7286f4.tar.gz
samba-5920d870cfc6be3c5bbc65ab63a6e63d1d7286f4.tar.bz2
samba-5920d870cfc6be3c5bbc65ab63a6e63d1d7286f4.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 (This used to be commit 4c3a9135629415086698da28596f68f7a9db9133)
-rw-r--r--source3/smbd/msdfs.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c
index a5cdd8130d..c24cdcc708 100644
--- a/source3/smbd/msdfs.c
+++ b/source3/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: