int ivalue;
char *svalue;
char cvalue;
- char **lvalue;
+ const char **lvalue;
} def;
};
char *szSMBPasswdFile;
char *szSAM_URL;
char *szSPOOLSS_URL;
+ char *szWINS_URL;
char *szPrivateDir;
char **szPreloadModules;
char **szPasswordServers;
int iLockSpinCount;
int iLockSpinTime;
int nbt_port;
+ int dgram_port;
char *socket_options;
BOOL bDNSproxy;
BOOL bWINSsupport;
{"path", P_STRING, P_LOCAL, &sDefault.szPath, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT | FLAG_DEVELOPER},
{"directory", P_STRING, P_LOCAL, &sDefault.szPath, NULL, NULL, FLAG_HIDE},
{"workgroup", P_USTRING, P_GLOBAL, &Globals.szWorkgroup, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER},
- {"realm", P_USTRING, P_GLOBAL, &Globals.szRealm, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER},
+ {"realm", P_STRING, P_GLOBAL, &Globals.szRealm, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER},
{"ADS server", P_STRING, P_GLOBAL, &Globals.szADSserver, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER},
{"netbios name", P_USTRING, P_GLOBAL, &Globals.szNetbiosName, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER},
{"netbios aliases", P_LIST, P_GLOBAL, &Globals.szNetbiosAliases, NULL, NULL, FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER},
{"smb passwd file", P_STRING, P_GLOBAL, &Globals.szSMBPasswdFile, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
{"sam database", P_STRING, P_GLOBAL, &Globals.szSAM_URL, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
{"spoolss database", P_STRING, P_GLOBAL, &Globals.szSPOOLSS_URL, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
+ {"wins database", P_STRING, P_GLOBAL, &Globals.szWINS_URL, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
{"private dir", P_STRING, P_GLOBAL, &Globals.szPrivateDir, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
{"non unix account range", P_STRING, P_GLOBAL, &Globals.szNonUnixAccountRange, handle_non_unix_account_range, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
{"root directory", P_STRING, P_GLOBAL, &Globals.szRootdir, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
{"smb ports", P_LIST, P_GLOBAL, &Globals.smb_ports, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
{"nbt port", P_INTEGER, P_GLOBAL, &Globals.nbt_port, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
+ {"dgram port", P_INTEGER, P_GLOBAL, &Globals.dgram_port, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
{"large readwrite", P_BOOL, P_GLOBAL, &Globals.bLargeReadwrite, NULL, NULL, FLAG_DEVELOPER},
{"max protocol", P_ENUM, P_GLOBAL, &Globals.maxprotocol, NULL, enum_protocol, FLAG_DEVELOPER},
{"min protocol", P_ENUM, P_GLOBAL, &Globals.minprotocol, NULL, enum_protocol, FLAG_DEVELOPER},
do_parameter("ntvfs handler", "unixuid default");
do_parameter("max connections", "-1");
- do_parameter("dcerpc endpoint servers", "epmapper srvsvc wkssvc rpcecho samr netlogon lsarpc spoolss drsuapi winreg IOXIDResolver IRemoteActivation dssetup");
+ do_parameter("dcerpc endpoint servers", "epmapper srvsvc wkssvc rpcecho samr netlogon lsarpc spoolss drsuapi winreg dssetup");
do_parameter("server services", "smb rpc nbt");
do_parameter("auth methods", "anonymous sam_ignoredomain");
do_parameter("smb passwd file", dyn_SMB_PASSWD_FILE);
do_parameter("private dir", dyn_PRIVATE_DIR);
do_parameter_var("sam database", "tdb://%s/sam.ldb", dyn_PRIVATE_DIR);
do_parameter_var("spoolss database", "tdb://%s/spoolss.ldb", dyn_PRIVATE_DIR);
+ do_parameter_var("wins database", "tdb://%s/wins.ldb", dyn_PRIVATE_DIR);
do_parameter_var("registry:HKEY_LOCAL_MACHINE", "ldb:/%s/hklm.ldb", dyn_PRIVATE_DIR);
do_parameter("guest account", GUEST_ACCOUNT);
do_parameter("smb ports", SMB_PORTS);
do_parameter("nbt port", "137");
+ do_parameter("dgram port", "138");
do_parameter("nt status support", "True");
+
+ do_parameter("max wins ttl", "432000");
+ do_parameter("min wins ttl", "10");
}
static TALLOC_CTX *lp_talloc;
FN_GLOBAL_LIST(lp_smb_ports, &Globals.smb_ports)
FN_GLOBAL_INTEGER(lp_nbt_port, &Globals.nbt_port)
+FN_GLOBAL_INTEGER(lp_dgram_port, &Globals.dgram_port)
FN_GLOBAL_STRING(lp_dos_charset, &Globals.dos_charset)
FN_GLOBAL_STRING(lp_unix_charset, &Globals.unix_charset)
FN_GLOBAL_STRING(lp_display_charset, &Globals.display_charset)
FN_GLOBAL_STRING(lp_smb_passwd_file, &Globals.szSMBPasswdFile)
FN_GLOBAL_STRING(lp_sam_url, &Globals.szSAM_URL)
FN_GLOBAL_STRING(lp_spoolss_url, &Globals.szSPOOLSS_URL)
+FN_GLOBAL_STRING(lp_wins_url, &Globals.szWINS_URL)
FN_GLOBAL_STRING(lp_private_dir, &Globals.szPrivateDir)
FN_GLOBAL_STRING(lp_serverstring, &Globals.szServerString)
FN_GLOBAL_STRING(lp_printcapname, &Globals.szPrintcapname)
/* Parametric option has following syntax: 'Type: option = value' */
/* Returned value is allocated in 'lp_talloc' context */
-char **lp_parm_string_list(int lookup_service, const char *type, const char *option,
- const char *separator)
+const char **lp_parm_string_list(int lookup_service, const char *type, const char *option,
+ const char *separator)
{
const char *value = get_parametrics(lookup_service, type, option);
if (value)
- return str_list_make(NULL, value, separator);
+ return str_list_make(talloc_autofree_context(), value, separator);
return NULL;
}
strupper(*(char **)dest_ptr);
break;
case P_LIST:
- *(char ***)dest_ptr = str_list_copy(NULL, *(const char ***)src_ptr);
+ *(const char ***)dest_ptr = str_list_copy(talloc_autofree_context(),
+ *(const char ***)src_ptr);
break;
default:
break;
DEBUG(0, ("WARNING: [%s] service MUST be printable!\n",
ServicePtrs[iService]->szService));
ServicePtrs[iService]->bPrint_ok = True;
+ update_server_announce_as_printserver();
}
/* [printers] service must also be non-browsable. */
if (ServicePtrs[iService]->bBrowseable)
string_set(ptr, fname);
- if (file_exist(fname, NULL))
+ if (file_exist(fname))
return (pm_process(fname, do_section, do_parameter));
DEBUG(2, ("Can't find include file %s\n", fname));
break;
case P_LIST:
- *(char ***)parm_ptr = str_list_make(NULL, pszParmValue, NULL);
+ *(const char ***)parm_ptr = str_list_make(talloc_autofree_context(),
+ pszParmValue, NULL);
break;
case P_STRING:
}
+#define BOOLSTR(b) ((b) ? "Yes" : "No")
+
/***************************************************************************
Print a parameter of the specified type.
***************************************************************************/
continue;
switch (parm_table[i].type) {
case P_LIST:
- parm_table[i].def.lvalue = str_list_copy(NULL,
+ parm_table[i].def.lvalue = str_list_copy(talloc_autofree_context(),
*(const char ***)parm_table[i].ptr);
break;
case P_STRING:
if (lp_host_msdfs())
default_server_announce |= SV_TYPE_DFS_SERVER;
+
+ /* TODO: only announce us as print server when we are a print server */
+ default_server_announce |= SV_TYPE_PRINTQ_SERVER;
}
/***********************************************************