summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1999-07-14 12:48:07 +0000
committerAndrew Tridgell <tridge@samba.org>1999-07-14 12:48:07 +0000
commit3d1b390edf2f7977f236daacf14d63e6e1c1b416 (patch)
tree1e767ad0e9ee6407c29eafa6e9bec9070714f586
parentd92424b646cf9865623f8e48f090b7efd85e7d68 (diff)
downloadsamba-3d1b390edf2f7977f236daacf14d63e6e1c1b416.tar.gz
parameter changes from 2.0, except I've made levelII oplocks off by
default
-rw-r--r--source/param/loadparm.c63
1 files changed, 60 insertions, 3 deletions
diff --git a/source/param/loadparm.c b/source/param/loadparm.c
index 5271433041a..52e94202c75 100644
--- a/source/param/loadparm.c
+++ b/source/param/loadparm.c
@@ -294,8 +294,12 @@ typedef struct
int iMinPrintSpace;
int iCreate_mask;
int iCreate_force_mode;
+ int iSecurity_mask;
+ int iSecurity_force_mode;
int iDir_mask;
int iDir_force_mode;
+ int iDir_Security_mask;
+ int iDir_Security_force_mode;
int iMaxConnections;
int iDefaultCase;
int iPrinting;
@@ -323,6 +327,7 @@ typedef struct
BOOL bStrictLocking;
BOOL bShareModes;
BOOL bOpLocks;
+ BOOL bLevel2OpLocks;
BOOL bOnlyUser;
BOOL bMangledNames;
BOOL bWidelinks;
@@ -389,8 +394,12 @@ static service sDefault =
0, /* iMinPrintSpace */
0744, /* iCreate_mask */
0000, /* iCreate_force_mode */
+ -1, /* iSecurity_mask */
+ -1, /* iSecurity_force_mode */
0755, /* iDir_mask */
0000, /* iDir_force_mode */
+ -1, /* iDir_Security_mask */
+ -1, /* iDir_Security_force_mode */
0, /* iMaxConnections */
CASE_LOWER, /* iDefaultCase */
DEFAULT_PRINTING, /* iPrinting */
@@ -418,6 +427,7 @@ static service sDefault =
False, /* bStrictLocking */
True, /* bShareModes */
True, /* bOpLocks */
+ False, /* bLevel2OpLocks */
False, /* bOnlyUser */
True, /* bMangledNames */
True, /* bWidelinks */
@@ -572,9 +582,13 @@ static struct parm_struct parm_table[] =
{"create mask", P_OCTAL, P_LOCAL, &sDefault.iCreate_mask, NULL, NULL, FLAG_GLOBAL|FLAG_SHARE},
{"create mode", P_OCTAL, P_LOCAL, &sDefault.iCreate_mask, NULL, NULL, FLAG_GLOBAL},
{"force create mode",P_OCTAL, P_LOCAL, &sDefault.iCreate_force_mode, NULL, NULL, FLAG_GLOBAL|FLAG_SHARE},
+ {"security mask", P_OCTAL, P_LOCAL, &sDefault.iSecurity_mask, NULL, NULL, FLAG_GLOBAL|FLAG_SHARE},
+ {"force security mode",P_OCTAL, P_LOCAL, &sDefault.iSecurity_force_mode,NULL,NULL, FLAG_GLOBAL|FLAG_SHARE},
{"directory mask", P_OCTAL, P_LOCAL, &sDefault.iDir_mask, NULL, NULL, FLAG_GLOBAL|FLAG_SHARE},
{"directory mode", P_OCTAL, P_LOCAL, &sDefault.iDir_mask, NULL, NULL, FLAG_GLOBAL},
- {"force directory mode", P_OCTAL, P_LOCAL, &sDefault.iDir_force_mode, NULL, NULL, FLAG_GLOBAL|FLAG_SHARE},
+ {"force directory mode", P_OCTAL,P_LOCAL,&sDefault.iDir_force_mode, NULL, NULL, FLAG_GLOBAL|FLAG_SHARE},
+ {"directory security mask",P_OCTAL,P_LOCAL,&sDefault.iDir_Security_mask,NULL, NULL, FLAG_GLOBAL|FLAG_SHARE},
+ {"force directory security mode",P_OCTAL, P_LOCAL, &sDefault.iDir_Security_force_mode,NULL,NULL,FLAG_GLOBAL|FLAG_SHARE},
{"guest only", P_BOOL, P_LOCAL, &sDefault.bGuest_only, NULL, NULL, FLAG_SHARE},
{"only guest", P_BOOL, P_LOCAL, &sDefault.bGuest_only, NULL, NULL, 0},
{"guest ok", P_BOOL, P_LOCAL, &sDefault.bGuest_ok, NULL, NULL, FLAG_BASIC|FLAG_SHARE|FLAG_PRINT},
@@ -746,6 +760,7 @@ static struct parm_struct parm_table[] =
{"mangle locks", P_BOOL, P_LOCAL, &sDefault.bMangleLocks, NULL, NULL, FLAG_SHARE|FLAG_GLOBAL},
{"ole locking compatibility", P_BOOL, P_GLOBAL, &Globals.bOleLockingCompat, NULL, NULL, FLAG_GLOBAL},
{"oplocks", P_BOOL, P_LOCAL, &sDefault.bOpLocks, NULL, NULL, FLAG_SHARE|FLAG_GLOBAL},
+ {"level2 oplocks", P_BOOL, P_LOCAL, &sDefault.bLevel2OpLocks, NULL, NULL, FLAG_SHARE|FLAG_GLOBAL},
{"oplock break wait time",P_INTEGER,P_GLOBAL,&Globals.oplock_break_wait_time,NULL,NULL,FLAG_GLOBAL},
{"oplock contention limit",P_INTEGER,P_LOCAL,&sDefault.iOplockContentionLimit,NULL,NULL,FLAG_SHARE|FLAG_GLOBAL},
{"strict locking", P_BOOL, P_LOCAL, &sDefault.bStrictLocking, NULL, NULL, FLAG_SHARE|FLAG_GLOBAL},
@@ -1320,6 +1335,7 @@ FN_LOCAL_BOOL(lp_locking,bLocking)
FN_LOCAL_BOOL(lp_strict_locking,bStrictLocking)
FN_LOCAL_BOOL(lp_share_modes,bShareModes)
FN_LOCAL_BOOL(lp_oplocks,bOpLocks)
+FN_LOCAL_BOOL(lp_level2_oplocks,bLevel2OpLocks)
FN_LOCAL_BOOL(lp_onlyuser,bOnlyUser)
FN_LOCAL_BOOL(lp_manglednames,bMangledNames)
FN_LOCAL_BOOL(lp_widelinks,bWidelinks)
@@ -1336,10 +1352,14 @@ FN_LOCAL_BOOL(lp_fake_dir_create_times,bFakeDirCreateTimes)
FN_LOCAL_BOOL(lp_blocking_locks,bBlockingLocks)
FN_LOCAL_BOOL(lp_mangle_locks,bMangleLocks)
-FN_LOCAL_INTEGER(lp_create_mode,iCreate_mask)
+FN_LOCAL_INTEGER(lp_create_mask,iCreate_mask)
FN_LOCAL_INTEGER(lp_force_create_mode,iCreate_force_mode)
-FN_LOCAL_INTEGER(lp_dir_mode,iDir_mask)
+FN_LOCAL_INTEGER(_lp_security_mask,iSecurity_mask)
+FN_LOCAL_INTEGER(_lp_force_security_mode,iSecurity_force_mode)
+FN_LOCAL_INTEGER(lp_dir_mask,iDir_mask)
FN_LOCAL_INTEGER(lp_force_dir_mode,iDir_force_mode)
+FN_LOCAL_INTEGER(_lp_dir_security_mask,iDir_Security_mask)
+FN_LOCAL_INTEGER(_lp_force_dir_security_mode,iDir_Security_force_mode)
FN_LOCAL_INTEGER(lp_max_connections,iMaxConnections)
FN_LOCAL_INTEGER(lp_defaultcase,iDefaultCase)
FN_LOCAL_INTEGER(lp_minprintspace,iMinPrintSpace)
@@ -2784,3 +2804,40 @@ BOOL lp_kernel_oplocks(void)
{
return kernel_oplocks_available;
}
+
+/***********************************************************
+ Functions to return the current security masks/modes. If
+ set to -1 then return the create mask/mode instead.
+************************************************************/
+
+int lp_security_mask(int snum)
+{
+ int val = _lp_security_mask(snum);
+ if(val == -1)
+ return lp_create_mask(snum);
+ return val;
+}
+
+int lp_force_security_mode(int snum)
+{
+ int val = _lp_force_security_mode(snum);
+ if(val == -1)
+ return lp_force_create_mode(snum);
+ return val;
+}
+
+int lp_dir_security_mask(int snum)
+{
+ int val = _lp_dir_security_mask(snum);
+ if(val == -1)
+ return lp_dir_mask(snum);
+ return val;
+}
+
+int lp_force_dir_security_mode(int snum)
+{
+ int val = _lp_force_dir_security_mode(snum);
+ if(val == -1)
+ return lp_force_dir_mode(snum);
+ return val;
+}