summaryrefslogtreecommitdiff
path: root/source3/param/loadparm.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/param/loadparm.c')
-rw-r--r--source3/param/loadparm.c39
1 files changed, 37 insertions, 2 deletions
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 25c9440019..7f7132b5b7 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -251,6 +251,9 @@ typedef struct
BOOL bDebugHiresTimestamp;
BOOL bDebugPid;
BOOL bDebugUid;
+#ifdef MS_DFS
+ BOOL bHostMSDfs;
+#endif
} global;
static global Globals;
@@ -363,6 +366,10 @@ typedef struct
BOOL bFakeDirCreateTimes;
BOOL bBlockingLocks;
BOOL bInheritPerms;
+#ifdef MS_DFS
+ char *szDfsMap;
+ BOOL bDfsMapLoaded;
+#endif
char dummy[3]; /* for alignment */
} service;
@@ -471,6 +478,10 @@ static service sDefault =
False, /* bFakeDirCreateTimes */
True, /* bBlockingLocks */
False, /* bInheritPerms */
+#ifdef MS_DFS
+ NULL, /* MS Dfs map path */
+ False, /* bDfsMapLoaded */
+#endif
"" /* dummy */
};
@@ -873,6 +884,12 @@ static struct parm_struct parm_table[] =
{"vfs object", P_STRING, P_LOCAL, &sDefault.szVfsObjectFile, handle_vfs_object, NULL, 0},
{"vfs options", P_STRING, P_LOCAL, &sDefault.szVfsOptions, NULL, NULL, 0},
+
+#ifdef MS_DFS
+ {"dfs map", P_STRING, P_LOCAL, &sDefault.szDfsMap, NULL, NULL, FLAG_SHARE},
+ {"host msdfs", P_BOOL, P_GLOBAL, &Globals.bHostMSDfs, NULL, NULL, FLAG_GLOBAL},
+#endif
+
{NULL, P_BOOL, P_NONE, NULL, NULL, NULL, 0}
};
@@ -1298,7 +1315,9 @@ FN_GLOBAL_BOOL(lp_nt_acl_support,&Globals.bNTAclSupport)
FN_GLOBAL_BOOL(lp_stat_cache,&Globals.bStatCache)
FN_GLOBAL_BOOL(lp_allow_trusted_domains,&Globals.bAllowTrustedDomains)
FN_GLOBAL_BOOL(lp_restrict_anonymous,&Globals.bRestrictAnonymous)
-
+#ifdef MS_DFS
+FN_GLOBAL_BOOL(lp_host_msdfs,&Globals.bHostMSDfs)
+#endif
FN_GLOBAL_INTEGER(lp_os_level,&Globals.os_level)
FN_GLOBAL_INTEGER(lp_max_ttl,&Globals.max_ttl)
FN_GLOBAL_INTEGER(lp_max_wins_ttl,&Globals.max_wins_ttl)
@@ -1371,6 +1390,11 @@ FN_LOCAL_STRING(lp_hide_files,szHideFiles)
FN_LOCAL_STRING(lp_veto_oplocks,szVetoOplockFiles)
FN_LOCAL_STRING(lp_driverlocation,szPrinterDriverLocation)
+#ifdef MS_DFS
+FN_LOCAL_STRING(lp_dfsmap,szDfsMap)
+FN_LOCAL_BOOL(lp_dfsmap_loaded,bDfsMapLoaded)
+#endif
+
FN_LOCAL_BOOL(lp_preexec_close,bPreexecClose)
FN_LOCAL_BOOL(lp_rootpreexec_close,bRootpreexecClose)
FN_LOCAL_BOOL(lp_revalidate,bRevalidate)
@@ -2041,6 +2065,16 @@ static BOOL handle_source_env(char *pszParmValue,char **ptr)
return(result);
}
+
+
+#ifdef MS_DFS
+void set_dfsmap_loaded(int i,BOOL b)
+{
+ pSERVICE(i)->bDfsMapLoaded = b;
+}
+
+#endif
+
/***************************************************************************
handle the interpretation of the vfs object parameter
*************************************************************************/
@@ -2183,7 +2217,6 @@ static BOOL handle_copy(char *pszParmValue,char **ptr)
return (bRetval);
}
-
/***************************************************************************
initialise a copymap
***************************************************************************/
@@ -3079,3 +3112,5 @@ int lp_force_dir_security_mode(int snum)
return lp_force_dir_mode(snum);
return val;
}
+
+