char *szLdapFilter;
char *szLdapRoot;
char *szLdapRootPassword;
+ char *szPanicAction;
int max_log_size;
int mangled_stack;
int max_xmit;
int client_code_page;
int announce_as; /* This is initialised in init_globals */
int machine_password_timeout;
+ int change_notify_timeout;
#ifdef WITH_LDAP
int ldap_port;
#endif /* WITH_LDAP */
BOOL bUnixPasswdSync;
BOOL bPasswdChatDebug;
BOOL bOleLockingCompat;
+ BOOL bTimestampLogs;
} global;
static global Globals;
{"syslog only", P_BOOL, P_GLOBAL, &Globals.bSyslogOnly, NULL, NULL, 0},
{"log file", P_STRING, P_GLOBAL, &Globals.szLogFile, NULL, NULL, 0},
{"max log size", P_INTEGER, P_GLOBAL, &Globals.max_log_size, NULL, NULL, 0},
+ {"timestamp logs", P_BOOL, P_GLOBAL, &Globals.bTimestampLogs, NULL, NULL, 0},
+ {"debug timestamp", P_BOOL, P_GLOBAL, &Globals.bTimestampLogs, NULL, NULL, 0},
{"status", P_BOOL, P_LOCAL, &sDefault.status, NULL, NULL, FLAG_GLOBAL},
{"Protocol Options", P_SEP, P_SEPARATOR},
{"time server", P_BOOL, P_GLOBAL, &Globals.bTimeServer, NULL, NULL, 0},
{"Tuning Options", P_SEP, P_SEPARATOR},
+ {"change notify timeout", P_INTEGER, P_GLOBAL, &Globals.change_notify_timeout, NULL, NULL, 0},
{"max disk size", P_INTEGER, P_GLOBAL, &Globals.maxdisksize, NULL, NULL, 0},
{"lpq cache time", P_INTEGER, P_GLOBAL, &Globals.lpqcachetime, NULL, NULL, 0},
{"getwd cache", P_BOOL, P_GLOBAL, &use_getwd_cache, NULL, NULL, 0},
{"dos filetime resolution",P_BOOL,P_LOCAL,&sDefault.bDosFiletimeResolution, NULL, NULL, FLAG_GLOBAL},
{"fake directory create times", P_BOOL,P_LOCAL, &sDefault.bFakeDirCreateTimes, NULL, NULL, FLAG_GLOBAL},
+ {"panic action", P_STRING, P_GLOBAL, &Globals.szPanicAction, NULL, NULL, 0},
+
{NULL, P_BOOL, P_NONE, NULL, NULL, NULL, 0}
};
Globals.bStripDot = False;
Globals.syslog = 1;
Globals.bSyslogOnly = False;
+ Globals.bTimestampLogs = True;
Globals.os_level = 0;
- Globals.max_ttl = 60*60*24*3; /* 3 days default */
- Globals.max_wins_ttl = 60*60*24*6; /* 6 days default */
- Globals.min_wins_ttl = 60*60*6; /* 6 hours default */
- Globals.machine_password_timeout = 60*60*24*7; /* 7 days default */
+ Globals.max_ttl = 60*60*24*3; /* 3 days default. */
+ Globals.max_wins_ttl = 60*60*24*6; /* 6 days default. */
+ Globals.min_wins_ttl = 60*60*6; /* 6 hours default. */
+ Globals.machine_password_timeout = 60*60*24*7; /* 7 days default. */
+ Globals.change_notify_timeout = 60; /* 1 minute default. */
Globals.ReadSize = 16*1024;
Globals.lm_announce = 2; /* = Auto: send only if LM clients found */
Globals.lm_interval = 60;
Globals.bUnixRealname = False;
#if (defined(HAVE_NETGROUP) && defined(WITH_AUTOMOUNT))
Globals.bNISHomeMap = False;
-#ifdef NISPLUS_HOME
+#ifdef WITH_NISPLUS_HOME
string_set(&Globals.szNISHomeMapName, "auto_home.org_dir");
#else
string_set(&Globals.szNISHomeMapName, "auto.home");
FN_GLOBAL_STRING(lp_announce_version,&Globals.szAnnounceVersion)
FN_GLOBAL_STRING(lp_netbios_aliases,&Globals.szNetbiosAliases)
FN_GLOBAL_STRING(lp_driverfile,&Globals.szDriverFile)
+FN_GLOBAL_STRING(lp_panic_action,&Globals.szPanicAction);
FN_GLOBAL_STRING(lp_domain_sid,&Globals.szDomainSID)
FN_GLOBAL_STRING(lp_domain_other_sids,&Globals.szDomainOtherSIDs)
FN_GLOBAL_BOOL(lp_encrypted_passwords,&Globals.bEncryptPasswords)
FN_GLOBAL_BOOL(lp_update_encrypted,&Globals.bUpdateEncrypt)
FN_GLOBAL_BOOL(lp_syslog_only,&Globals.bSyslogOnly)
+FN_GLOBAL_BOOL(lp_timestamp_logs,&Globals.bTimestampLogs)
FN_GLOBAL_BOOL(lp_browse_list,&Globals.bBrowseList)
FN_GLOBAL_BOOL(lp_unix_realname,&Globals.bUnixRealname)
FN_GLOBAL_BOOL(lp_nis_home_map,&Globals.bNISHomeMap)
FN_GLOBAL_INTEGER(lp_lm_announce,&Globals.lm_announce)
FN_GLOBAL_INTEGER(lp_lm_interval,&Globals.lm_interval)
FN_GLOBAL_INTEGER(lp_machine_password_timeout,&Globals.machine_password_timeout)
+FN_GLOBAL_INTEGER(lp_change_notify_timeout,&Globals.change_notify_timeout)
#ifdef WITH_LDAP
FN_GLOBAL_INTEGER(lp_ldap_port,&Globals.ldap_port)
pstrcpy(n2,f->name);
standard_sub_basic(n2);
- DEBUG(6,("file %s -> %s last mod_time: %s\n",
- f->name, n2, ctime(&f->modtime)));
+ DEBUGADD( 6, ( "file %s -> %s last mod_time: %s\n",
+ f->name, n2, ctime(&f->modtime) ) );
mod_time = file_modtime(n2);
if (f->modtime != mod_time) {
- DEBUG(6,("file %s modified: %s\n", n2, ctime(&mod_time)));
+ DEBUGADD(6,("file %s modified: %s\n", n2, ctime(&mod_time)));
f->modtime = mod_time;
return(True);
}
- f = f->next;
+ f = f->next;
}
return(False);
}
/***************************************************************************
-auto-load some homes and printer services
+auto-load some home services
***************************************************************************/
static void lp_add_auto_services(char *str)
{
- char *s;
- char *p;
- int homes, printers;
-
- if (!str)
- return;
-
- s = strdup(str);
- if (!s) return;
+ char *s;
+ char *p;
+ int homes;
- homes = lp_servicenumber(HOMES_NAME);
- printers = lp_servicenumber(PRINTERS_NAME);
+ if (!str) return;
- for (p=strtok(s,LIST_SEP);p;p=strtok(NULL,LIST_SEP))
- {
- char *home = get_home_dir(p);
-
- if (lp_servicenumber(p) >= 0) continue;
+ s = strdup(str);
+ if (!s) return;
- if (home && homes >= 0)
- {
- lp_add_home(p,homes,home);
- continue;
+ homes = lp_servicenumber(HOMES_NAME);
+
+ for (p=strtok(s,LIST_SEP);p;p=strtok(NULL,LIST_SEP)) {
+ char *home = get_home_dir(p);
+
+ if (lp_servicenumber(p) >= 0) continue;
+
+ if (home && homes >= 0) {
+ lp_add_home(p,homes,home);
+ }
}
-
- if (printers >= 0 && pcap_printername_ok(p,NULL))
- lp_add_printer(p,printers);
- }
- free(s);
+ free(s);
}
/***************************************************************************
auto-load one printer
***************************************************************************/
-static void lp_add_one_printer(char *name,char *comment)
-{
- int printers = lp_servicenumber(PRINTERS_NAME);
- int i;
-
- if (lp_servicenumber(name) < 0)
- {
- lp_add_printer(name,printers);
- if ((i=lp_servicenumber(name)) >= 0)
- string_set(&iSERVICE(i).comment,comment);
- }
-}
-
-
-/***************************************************************************
-auto-load printer services
-***************************************************************************/
-static void lp_add_all_printers(void)
+void lp_add_one_printer(char *name,char *comment)
{
- int printers = lp_servicenumber(PRINTERS_NAME);
-
- if (printers < 0) return;
+ int printers = lp_servicenumber(PRINTERS_NAME);
+ int i;
- pcap_printer_fn(lp_add_one_printer);
+ if (lp_servicenumber(name) < 0) {
+ lp_add_printer(name,printers);
+ if ((i=lp_servicenumber(name)) >= 0)
+ string_set(&iSERVICE(i).comment,comment);
+ }
}
/***************************************************************************
bRetval = service_ok(iServiceIndex);
lp_add_auto_services(lp_auto_services());
- if (lp_load_printers())
- lp_add_all_printers();
if (add_ipc)
lp_add_ipc();
return(ret);
}
-#if 0
-/*
- * nmbd only loads the global section. There seems to be no way to
- * determine exactly is a service is printable by only looking at the
- * [global] section so for now always announce as a print server. This
- * will need looking at in the future. Jeremy (jallison@whistle.com).
- */
-/*******************************************************************
- Return true if any printer services are defined.
- ******************************************************************/
-static BOOL lp_printer_services(void)
-{
- int iService;
-
- for (iService = iNumServices - 1; iService >= 0; iService--)
- if (VALID(iService) && iSERVICE(iService).bPrint_ok)
- return True;
- return False;
-}
-#endif
/*******************************************************************
Set the server type we will announce as via nmbd.
else if(lp_announce_as() == ANNOUNCE_AS_WFW)
default_server_announce |= SV_TYPE_WFW;
default_server_announce |= (lp_time_server() ? SV_TYPE_TIME_SOURCE : 0);
-/*
- * nmbd only loads the [global] section. There seems to be no way to
- * determine exactly if any service is printable by only looking at the
- * [global] section so for now always announce as a print server. This
- * will need looking at in the future. Jeremy (jallison@whistle.com).
- */
-#if 0
- default_server_announce |= (lp_printer_services() ? SV_TYPE_PRINTQ_SERVER : 0);
-#endif
}