BOOL bDisableNetbios;
BOOL bKernelChangeNotify;
BOOL bUseKerberosKeytab;
+ BOOL bDeferSharingViolations;
int restrict_anonymous;
int name_cache_timeout;
int client_signing;
BOOL bMap_acl_inherit;
BOOL bAfs_Share;
BOOL bEASupport;
- BOOL bDeferSharingViolations;
param_opt_struct *param_opt;
char dummy[3]; /* for alignment */
False, /* bMap_acl_inherit */
False, /* bAfs_Share */
False, /* bEASupport */
- True, /* bDeferSharingViolations */
NULL, /* Parametric options */
{"disable netbios", P_BOOL, P_GLOBAL, &Globals.bDisableNetbios, NULL, NULL, FLAG_ADVANCED},
{"acl compatibility", P_STRING, P_GLOBAL, &Globals.szAclCompat, handle_acl_compatibility, NULL, FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL},
- { "defer sharing violations", P_BOOL, P_LOCAL, &sDefault.bDeferSharingViolations, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL},
+ { "defer sharing violations", P_BOOL, P_GLOBAL, &Globals.bDeferSharingViolations, NULL, NULL, FLAG_ADVANCED | FLAG_GLOBAL},
{"ea support", P_BOOL, P_LOCAL, &sDefault.bEASupport, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL},
{"nt acl support", P_BOOL, P_LOCAL, &sDefault.bNTAclSupport, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL},
{"nt pipe support", P_BOOL, P_GLOBAL, &Globals.bNTPipeSupport, NULL, NULL, FLAG_ADVANCED},
Globals.client_signing = Auto;
Globals.server_signing = False;
+ Globals.bDeferSharingViolations = True;
string_set(&Globals.smb_ports, SMB_PORTS);
}
FN_GLOBAL_BOOL(lp_hostname_lookups, &Globals.bHostnameLookups)
FN_GLOBAL_BOOL(lp_kernel_change_notify, &Globals.bKernelChangeNotify)
FN_GLOBAL_BOOL(lp_use_kerberos_keytab, &Globals.bUseKerberosKeytab)
+FN_GLOBAL_BOOL(lp_defer_sharing_violations, &Globals.bDeferSharingViolations)
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)
FN_LOCAL_BOOL(lp_default_devmode, bDefaultDevmode)
FN_LOCAL_BOOL(lp_nt_acl_support, bNTAclSupport)
FN_LOCAL_BOOL(lp_ea_support, bEASupport)
-FN_LOCAL_BOOL(lp_defer_sharing_violations, bDeferSharingViolations)
FN_LOCAL_BOOL(_lp_use_sendfile, bUseSendfile)
FN_LOCAL_BOOL(lp_profile_acls, bProfileAcls)
FN_LOCAL_BOOL(lp_map_acl_inherit, bMap_acl_inherit)
{
struct pending_message_list *pml;
+ if (!lp_defer_sharing_violations()) {
+ return;
+ }
+
for (pml = smb_sharing_violation_queue; pml; pml = pml->next) {
if (mid == SVAL(pml->buf.data,smb_mid)) {
DEBUG(10,("remove_sharing_violation_open_smb_message: deleting mid %u len %u\n",
struct pending_message_list *pml;
int i = 0;
+ if (!lp_defer_sharing_violations()) {
+ return;
+ }
+
for (pml = smb_sharing_violation_queue; pml; pml = pml->next) {
uint16 msg_mid = SVAL(pml->buf.data,smb_mid);
DEBUG(10,("schedule_sharing_violation_open_smb_message: [%d] msg_mid = %u\n", i++,
BOOL open_was_deferred(uint16 mid)
{
struct pending_message_list *pml;
+
+ if (!lp_defer_sharing_violations()) {
+ return False;
+ }
+
for (pml = smb_sharing_violation_queue; pml; pml = pml->next) {
if (SVAL(pml->buf.data,smb_mid) == mid) {
return True;
struct pending_message_list *get_open_deferred_message(uint16 mid)
{
struct pending_message_list *pml;
+
+ if (!lp_defer_sharing_violations()) {
+ return NULL;
+ }
+
for (pml = smb_sharing_violation_queue; pml; pml = pml->next) {
if (SVAL(pml->buf.data,smb_mid) == mid) {
return pml;
struct timeval tv;
SMB_BIG_INT tdif;
+ if (!lp_defer_sharing_violations()) {
+ return True;
+ }
+
tv = *ptv;
tdif = tv.tv_sec;
tdif *= 1000000;