diff options
author | Andrew Bartlett <abartlet@samba.org> | 2003-01-14 10:47:56 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2003-01-14 10:47:56 +0000 |
commit | 619f9400c065a1f01cc6083e7b25619120bbd15b (patch) | |
tree | 75253f6dd7eec01e1c2523ec8ca954f043e165fb /source3/param | |
parent | f9c61aef05fefe6f78d55b0a9c62e76b6172294e (diff) | |
download | samba-619f9400c065a1f01cc6083e7b25619120bbd15b.tar.gz samba-619f9400c065a1f01cc6083e7b25619120bbd15b.tar.bz2 samba-619f9400c065a1f01cc6083e7b25619120bbd15b.zip |
Merge from HEAD - patch by metze to fill in 'workgroup' etc in testparm output,
and probably SWAT too..
Andrew Bartlett
(This used to be commit 1df808ac8931979000d681bd086399ef306873b6)
Diffstat (limited to 'source3/param')
-rw-r--r-- | source3/param/loadparm.c | 41 |
1 files changed, 32 insertions, 9 deletions
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 837fc87fac..291bfecba0 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -7,6 +7,7 @@ Copyright (C) Simo Sorce 2001 Copyright (C) Alexander Bokovoy 2002 + Copyright (C) Stefan (metze) Metzmacher 2002 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -126,7 +127,10 @@ typedef struct char *szSocketAddress; char *szNISHomeMapName; char *szAnnounceVersion; /* This is initialised in init_globals */ + char *szWorkgroup; + char *szNetbiosName; char **szNetbiosAliases; + char *szNetbiosScope; char *szDomainOtherSIDs; char *szNameResolveOrder; char *szPanicAction; @@ -708,12 +712,12 @@ static struct parm_struct parm_table[] = { {"comment", P_STRING, P_LOCAL, &sDefault.comment, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT | FLAG_DEVELOPER}, {"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, NULL, handle_workgroup, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER}, + {"workgroup", P_USTRING, P_GLOBAL, &Globals.szWorkgroup, handle_workgroup, 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}, {"ADS server", P_STRING, P_GLOBAL, &Globals.szADSserver, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER}, - {"netbios name", P_UGSTRING, P_GLOBAL, NULL, handle_netbios_name, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER}, + {"netbios name", P_USTRING, P_GLOBAL, &Globals.szNetbiosName, handle_netbios_name, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER}, {"netbios aliases", P_LIST, P_GLOBAL, &Globals.szNetbiosAliases, handle_netbios_aliases, NULL, FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER}, - {"netbios scope", P_UGSTRING, P_GLOBAL, NULL, handle_netbios_scope, NULL, FLAG_ADVANCED | FLAG_DEVELOPER}, + {"netbios scope", P_USTRING, P_GLOBAL, &Globals.szNetbiosScope, handle_netbios_scope, NULL, FLAG_ADVANCED | FLAG_DEVELOPER}, {"server string", P_STRING, P_GLOBAL, &Globals.szServerString, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_DEVELOPER}, {"interfaces", P_LIST, P_GLOBAL, &Globals.szInterfaces, NULL, NULL, FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER}, {"bind interfaces only", P_BOOL, P_GLOBAL, &Globals.bBindInterfacesOnly, NULL, NULL, FLAG_ADVANCED | FLAG_WIZARD | FLAG_DEVELOPER}, @@ -1258,7 +1262,13 @@ static void init_globals(void) * Allow the default PASSWD_CHAT to be overridden in local.h. */ string_set(&Globals.szPasswdChat, DEFAULT_PASSWD_CHAT); + + set_global_myname(myhostname()); + string_set(&Globals.szNetbiosName,global_myname()); + set_global_myworkgroup(WORKGROUP); + string_set(&Globals.szWorkgroup, lp_workgroup()); + string_set(&Globals.szPasswdProgram, ""); string_set(&Globals.szPrintcapname, PRINTCAP_NAME); string_set(&Globals.szPidDir, dyn_PIDDIR); @@ -1847,7 +1857,7 @@ char *lp_parm_string(const char *servicename, const char *type, const char *opti /* local prototypes */ static int map_parameter(const char *pszParmName); -static BOOL set_boolean(BOOL *pb, char *pszParmValue); +static BOOL set_boolean(BOOL *pb, const char *pszParmValue); static int getservicebyname(const char *pszServiceName, service * pserviceDest); static void copy_service(service * pserviceDest, @@ -2113,7 +2123,7 @@ static int map_parameter(const char *pszParmName) represent a boolean. ***************************************************************************/ -static BOOL set_boolean(BOOL *pb, char *pszParmValue) +static BOOL set_boolean(BOOL *pb, const char *pszParmValue) { BOOL bRetval; @@ -2351,28 +2361,41 @@ BOOL lp_file_list_changed(void) static BOOL handle_netbios_name(const char *pszParmValue, char **ptr) { + BOOL ret; pstring netbios_name; pstrcpy(netbios_name, pszParmValue); standard_sub_basic(current_user_info.smb_name, netbios_name,sizeof(netbios_name)); - set_global_myname(netbios_name); + ret = set_global_myname(netbios_name); + string_set(&Globals.szNetbiosName,global_myname()); + DEBUG(4, ("handle_netbios_name: set global_myname to: %s\n", global_myname())); - return (True); + return ret; } static BOOL handle_workgroup(const char *pszParmValue, char **ptr) { - return set_global_myworkgroup(pszParmValue); + BOOL ret; + + ret = set_global_myworkgroup(pszParmValue); + string_set(&Globals.szWorkgroup,lp_workgroup()); + + return ret; } static BOOL handle_netbios_scope(const char *pszParmValue, char **ptr) { - return set_global_scope(pszParmValue); + BOOL ret; + + ret = set_global_scope(pszParmValue); + string_set(&Globals.szNetbiosScope,global_scope()); + + return ret; } static BOOL handle_netbios_aliases(const char *pszParmValue, char **ptr) |