Merge from HEAD - patch by metze to fill in 'workgroup' etc in testparm output,
authorAndrew Bartlett <abartlet@samba.org>
Tue, 14 Jan 2003 10:47:56 +0000 (10:47 +0000)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 14 Jan 2003 10:47:56 +0000 (10:47 +0000)
and probably SWAT too..

Andrew Bartlett
(This used to be commit 1df808ac8931979000d681bd086399ef306873b6)

source3/param/loadparm.c
source3/utils/testparm.c

index 837fc87fac1ed2d86cb1cfb84a3c1e3fc443389b..291bfecba0418078e773d98d5d52d03487763117 100644 (file)
@@ -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)
index 95c4b2b265c55ed7b9e6851806fc84467d5d2386..36b2bdfc6d1f80dd33922e87f1a5a7cb8869586c 100644 (file)
@@ -190,7 +190,7 @@ int main(int argc, const char *argv[])
        int ret = 0;
        int opt;
        poptContext pc;
-       static char *term_code = "";
+       static const char *term_code = "";
        static char *new_local_machine = NULL;
        const char *cname;
        const char *caddr;
@@ -202,6 +202,7 @@ int main(int argc, const char *argv[])
                {"verbose", 'v', POPT_ARG_NONE, &show_defaults, 1, "Show default options too"},
                {"server", 'L',POPT_ARG_STRING, &new_local_machine, 0, "Set %%L macro to servername\n"},
                {"encoding", 't', POPT_ARG_STRING, &term_code, 0, "Print parameters with encoding"},
+               {NULL, 0, POPT_ARG_INCLUDE_TABLE, popt_common_version},
                {0,0,0,0}
        };