s3:lib split out global workgroup and netbios name functions.
authorAndrew Bartlett <abartlet@samba.org>
Mon, 17 May 2010 06:25:26 +0000 (16:25 +1000)
committerStefan Metzmacher <metze@samba.org>
Fri, 28 May 2010 16:08:27 +0000 (18:08 +0200)
Having these in their own file allows easier selective inclusion.

Andrew Bartlett

Signed-off-by: Stefan Metzmacher <metze@samba.org>
source3/Makefile.in
source3/include/proto.h
source3/lib/util.c
source3/lib/util_names.c [new file with mode: 0644]

index 2bbb3c525033bc49570f4a76af0c2389b9956660..671bd8ed7e96503286f3c373ecd6535c6e20384f 100644 (file)
@@ -398,7 +398,8 @@ LIB_OBJ = $(LIBSAMBAUTIL_OBJ) $(UTIL_OBJ) $(CRYPTO_OBJ) \
          lib/wins_srv.o \
          lib/util_str.o lib/clobber.o lib/util_sid.o lib/util_uuid.o \
          lib/util_unistr.o lib/util_file.o \
-         lib/util.o lib/util_sock.o lib/sock_exec.o lib/util_sec.o \
+         lib/util.o lib/util_names.o \
+         lib/util_sock.o lib/sock_exec.o lib/util_sec.o \
          lib/substitute.o lib/dbwrap_util.o \
          lib/ms_fnmatch.o lib/select.o lib/errmap_unix.o \
          lib/tallocmsg.o lib/dmallocmsg.o \
index f53c52c6635502d774c00f0daf736fc31a03ff1c..934697eda4f2e2c24beeeb4e35f44f9a00b78ac1 100644 (file)
@@ -1125,15 +1125,18 @@ bool nt_time_is_set(const NTTIME *nt);
 char *get_user_home_dir(TALLOC_CTX *mem_ctx, const char *user);
 struct passwd *Get_Pwnam_alloc(TALLOC_CTX *mem_ctx, const char *user);
 
+/* The following definitions come from lib/util_names.c  */
+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);
+
 /* The following definitions come from lib/util.c  */
 
 enum protocol_types get_Protocol(void);
 void set_Protocol(enum protocol_types  p);
 bool all_zero(const uint8_t *ptr, size_t size);
-bool set_global_myname(const char *myname);
-const char *global_myname(void);
-bool set_global_myworkgroup(const char *myworkgroup);
-const char *lp_workgroup(void);
 bool set_global_scope(const char *scope);
 const char *global_scope(void);
 void gfree_names(void);
index 2339cfcc2a7459b7ce3817e93e0c387a745dbb89..88e4557d60b247e90fee2f5a0ac27c1046bf5cab 100644 (file)
@@ -73,50 +73,10 @@ static enum remote_arch_types ra_type = RA_UNKNOWN;
  Definitions for all names.
 ***********************************************************************/
 
-static char *smb_myname;
-static char *smb_myworkgroup;
 static char *smb_scope;
 static int smb_num_netbios_names;
 static char **smb_my_netbios_names;
 
-/***********************************************************************
- Allocate and set myname. Ensure upper case.
-***********************************************************************/
-
-bool set_global_myname(const char *myname)
-{
-       SAFE_FREE(smb_myname);
-       smb_myname = SMB_STRDUP(myname);
-       if (!smb_myname)
-               return False;
-       strupper_m(smb_myname);
-       return True;
-}
-
-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;
-}
-
 /***********************************************************************
  Allocate and set scope. Ensure upper case.
 ***********************************************************************/
@@ -184,8 +144,7 @@ static bool set_my_netbios_names(const char *name, int i)
 
 void gfree_names(void)
 {
-       SAFE_FREE( smb_myname );
-       SAFE_FREE( smb_myworkgroup );
+       gfree_netbios_names();
        SAFE_FREE( smb_scope );
        free_netbios_names_array();
        free_local_machine_name();
diff --git a/source3/lib/util_names.c b/source3/lib/util_names.c
new file mode 100644 (file)
index 0000000..1ad9cd3
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+   Unix SMB/CIFS implementation.
+   Samba utility functions
+   Copyright (C) Andrew Tridgell 1992-1998
+   Copyright (C) Jeremy Allison 2001-2007
+   Copyright (C) Simo Sorce 2001
+   Copyright (C) Jim McDonough <jmcd@us.ibm.com> 2003
+   Copyright (C) James Peach 2006
+   Copyright (C) Andrew Bartlett 2010
+
+   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
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "includes.h"
+
+static char *smb_myname;
+static char *smb_myworkgroup;
+
+/***********************************************************************
+ Allocate and set myname. Ensure upper case.
+***********************************************************************/
+
+bool set_global_myname(const char *myname)
+{
+       SAFE_FREE(smb_myname);
+       smb_myname = SMB_STRDUP(myname);
+       if (!smb_myname)
+               return False;
+       strupper_m(smb_myname);
+       return True;
+}
+
+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;
+}
+
+void gfree_netbios_names(void)
+{
+       SAFE_FREE( smb_myname );
+       SAFE_FREE( smb_myworkgroup );
+}