s3-param Remove special case for lp_workgroup()
authorAndrew Bartlett <abartlet@samba.org>
Wed, 8 Jun 2011 05:42:22 +0000 (15:42 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 9 Jun 2011 10:40:09 +0000 (12:40 +0200)
There is no reason this can't be a normal constant string in the
loadparm system, now that we have lp_set_cmdline() to handle overrides
correctly.

Andrew Bartlett

source3/client/client.c
source3/include/proto.h
source3/lib/popt_common.c
source3/lib/util_names.c
source3/param/loadparm.c
source3/rpcclient/rpcclient.c

index d25198bfb9b0436c83a98fc0000a01b910878da2..209c2cb1c9e84b373afddacda4c19baf52837394 100644 (file)
@@ -5068,7 +5068,6 @@ static int do_message_op(struct user_auth_info *a_info)
        poptContext pc;
        char *p;
        int rc = 0;
-       fstring new_workgroup;
        bool tar_opt = false;
        bool service_opt = false;
        struct poptOption long_options[] = {
@@ -5098,10 +5097,9 @@ static int do_message_op(struct user_auth_info *a_info)
                exit(ENOMEM);
        }
 
-       /* initialize the workgroup name so we can determine whether or
+       /* initialize the netbios name so we can determine whether or
           not it was set by a command line option */
 
-       set_global_myworkgroup( "" );
        set_global_myname( "" );
 
         /* set default debug level to 1 regardless of what smb.conf sets */
@@ -5249,13 +5247,6 @@ static int do_message_op(struct user_auth_info *a_info)
                                               poptGetArg(pc));
        }
 
-       /* save the workgroup...
-
-          FIXME!! do we need to do this for other options as well
-          (or maybe a generic way to keep lp_load() from overwriting
-          everything)?  */
-
-       fstrcpy( new_workgroup, lp_workgroup() );
        calling_name = talloc_strdup(frame, global_myname() );
        if (!calling_name) {
                exit(ENOMEM);
@@ -5294,10 +5285,6 @@ static int do_message_op(struct user_auth_info *a_info)
                }
        }
 
-       if ( strlen(new_workgroup) != 0 ) {
-               set_global_myworkgroup( new_workgroup );
-       }
-
        if ( strlen(calling_name) != 0 ) {
                set_global_myname( calling_name );
        } else {
index 42c62d2f6f152b3adfad06f0eee97e2666e01bdf..2edd72e026d914f3ba52a5924186d4167927998b 100644 (file)
@@ -497,7 +497,6 @@ void gfree_netbios_names(void);
 bool set_global_myname(const char *myname);
 const char *global_myname(void);
 bool set_global_myworkgroup(const char *myworkgroup);
-const char *lp_workgroup(void);
 const char *get_global_sam_name(void);
 
 /* The following definitions come from lib/util.c  */
@@ -1199,6 +1198,7 @@ char *lp_passwd_program(void);
 char *lp_passwd_chat(void);
 const char *lp_passwordserver(void);
 const char *lp_name_resolve_order(void);
+const char *lp_workgroup(void);
 const char *lp_realm(void);
 const char *lp_dnsdomain(void);
 const char *lp_afs_username_map(void);
index 8416d70bc4c5a4f60657e5640bce195f209cbb5d..628ed65820629ebdf97f0117e11f3027d371578a 100644 (file)
@@ -149,7 +149,7 @@ static void popt_common_callback(poptContext con,
 
        case 'W':
                if (arg) {
-                       set_global_myworkgroup(arg);
+                       lp_set_cmdline("workgroup", arg);
                }
                break;
        }
@@ -473,7 +473,7 @@ static void get_credentials_file(struct user_auth_info *auth_info,
                } else if (strwicmp("username", param) == 0) {
                        set_cmdline_auth_info_username(auth_info, val);
                } else if (strwicmp("domain", param) == 0) {
-                       set_cmdline_auth_info_domain(val);
+                       set_cmdline_auth_info_domain(auth_info, val);
                }
                memset(buf, 0, sizeof(buf));
        }
index 8170c8bb113d54a38659ea626381063da7514d36..d8ebf213cffb98972ce00bea1bca32dfd38eaefb 100644 (file)
@@ -207,25 +207,6 @@ const char *global_myname(void)
        return smb_myname;
 }
 
-/***********************************************************************
- Allocate and set myworkgroup. Ensure upper case.
-***********************************************************************/
-
-bool set_global_myworkgroup(const char *myworkgroup)
-{
-       SAFE_FREE(smb_myworkgroup);
-       smb_myworkgroup = SMB_STRDUP(myworkgroup);
-       if (!smb_myworkgroup)
-               return False;
-       strupper_m(smb_myworkgroup);
-       return True;
-}
-
-const char *lp_workgroup(void)
-{
-       return smb_myworkgroup;
-}
-
 /******************************************************************
  get the default domain/netbios name to be used when dealing
  with our passdb list of accounts
index dc79c36f1991ccfe668d0ab8c4e831f82b607e70..56f039f46e52d4b9a8348c09a18a0f57e8463957 100644 (file)
@@ -706,7 +706,6 @@ static bool handle_idmap_backend(int snum, const char *pszParmValue, char **ptr)
 static bool handle_idmap_uid( int snum, const char *pszParmValue, char **ptr);
 static bool handle_idmap_gid( int snum, const char *pszParmValue, char **ptr);
 static bool handle_debug_list( int snum, const char *pszParmValue, char **ptr );
-static bool handle_workgroup( int snum, const char *pszParmValue, char **ptr );
 static bool handle_realm( int snum, const char *pszParmValue, char **ptr );
 static bool handle_netbios_aliases( int snum, const char *pszParmValue, char **ptr );
 static bool handle_netbios_scope( int snum, const char *pszParmValue, char **ptr );
@@ -1013,7 +1012,7 @@ static struct parm_struct parm_table[] = {
                .type           = P_USTRING,
                .p_class        = P_GLOBAL,
                .ptr            = &Globals.szWorkgroup,
-               .special        = handle_workgroup,
+               .special        = NULL,
                .enum_list      = NULL,
                .flags          = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD,
        },
@@ -5213,8 +5212,7 @@ static void init_globals(bool reinit_globals)
        set_global_myname(myhostname());
        string_set(&Globals.szNetbiosName,global_myname());
 
-       set_global_myworkgroup(WORKGROUP);
-       string_set(&Globals.szWorkgroup, lp_workgroup());
+       string_set(&Globals.szWorkgroup, WORKGROUP);
 
        string_set(&Globals.szPasswdProgram, "");
        string_set(&Globals.szLockDir, get_dyn_LOCKDIR());
@@ -5619,6 +5617,7 @@ FN_GLOBAL_STRING(lp_passwd_program, &Globals.szPasswdProgram)
 FN_GLOBAL_STRING(lp_passwd_chat, &Globals.szPasswdChat)
 FN_GLOBAL_CONST_STRING(lp_passwordserver, &Globals.szPasswordServer)
 FN_GLOBAL_CONST_STRING(lp_name_resolve_order, &Globals.szNameResolveOrder)
+FN_GLOBAL_CONST_STRING(lp_workgroup, &Globals.szWorkgroup)
 FN_GLOBAL_CONST_STRING(lp_realm, &Globals.szRealmUpper)
 FN_GLOBAL_CONST_STRING(lp_dnsdomain, &Globals.szDnsDomain)
 FN_GLOBAL_CONST_STRING(lp_afs_username_map, &Globals.szAfsUsernameMap)
@@ -7585,18 +7584,6 @@ static bool handle_dos_charset(int snum, const char *pszParmValue, char **ptr)
        return true;
 }
 
-
-
-static bool handle_workgroup(int snum, const char *pszParmValue, char **ptr)
-{
-       bool ret;
-
-       ret = set_global_myworkgroup(pszParmValue);
-       string_set(&Globals.szWorkgroup,lp_workgroup());
-
-       return ret;
-}
-
 static bool handle_realm(int snum, const char *pszParmValue, char **ptr)
 {
        bool ret = true;
index 466212b23a61be1d278031dc43a1e94ab7ca3601..5808f371f0dd01be1ab0da5ad1c91fb1c458741c 100644 (file)
@@ -975,21 +975,13 @@ out_free:
                goto done;
        }
 
-       /* save the workgroup...
-
-          FIXME!! do we need to do this for other options as well
-          (or maybe a generic way to keep lp_load() from overwriting
-          everything)?  */
-
-       fstrcpy( new_workgroup, lp_workgroup() );
-
        /* Load smb.conf file */
 
        if (!lp_load(get_dyn_CONFIGFILE(),True,False,False,True))
                fprintf(stderr, "Can't load %s\n", get_dyn_CONFIGFILE());
 
        if ( strlen(new_workgroup) != 0 )
-               set_global_myworkgroup( new_workgroup );
+               lp_set_cmdline("workgroup", new_workgroup );
 
        /*
         * Get password