diff options
author | Andrew Tridgell <tridge@samba.org> | 1999-07-14 12:48:07 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 1999-07-14 12:48:07 +0000 |
commit | 3d1b390edf2f7977f236daacf14d63e6e1c1b416 (patch) | |
tree | 1e767ad0e9ee6407c29eafa6e9bec9070714f586 | |
parent | d92424b646cf9865623f8e48f090b7efd85e7d68 (diff) | |
download | samba-3d1b390edf2f7977f236daacf14d63e6e1c1b416.tar.gz |
parameter changes from 2.0, except I've made levelII oplocks off by
default
-rw-r--r-- | source/param/loadparm.c | 63 |
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; +} |