summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2010-05-17 16:25:26 +1000
committerStefan Metzmacher <metze@samba.org>2010-05-28 18:08:27 +0200
commit539ef13bfe950c7c512a4bdafd9a846c04ba5be4 (patch)
treea9f3f43930e4664dee57e8b5b4b5bfb88dd38893
parent59422efca9734f7e4248f9c7df8b6b823f17999b (diff)
downloadsamba-539ef13bfe950c7c512a4bdafd9a846c04ba5be4.tar.gz
samba-539ef13bfe950c7c512a4bdafd9a846c04ba5be4.tar.bz2
samba-539ef13bfe950c7c512a4bdafd9a846c04ba5be4.zip
s3:lib split out global workgroup and netbios name functions.
Having these in their own file allows easier selective inclusion. Andrew Bartlett Signed-off-by: Stefan Metzmacher <metze@samba.org>
-rw-r--r--source3/Makefile.in3
-rw-r--r--source3/include/proto.h11
-rw-r--r--source3/lib/util.c43
-rw-r--r--source3/lib/util_names.c72
4 files changed, 82 insertions, 47 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 2bbb3c5250..671bd8ed7e 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -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 \
diff --git a/source3/include/proto.h b/source3/include/proto.h
index f53c52c663..934697eda4 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -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);
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 2339cfcc2a..88e4557d60 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -73,51 +73,11 @@ 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
index 0000000000..1ad9cd317c
--- /dev/null
+++ b/source3/lib/util_names.c
@@ -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 );
+}