[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Fri Jul 27 04:17:03 MDT 2012


The branch, master has been updated
       via  dc00df2 lib/param: Rename "socket address" to "nbt client socket address" to clarify role
       via  b181a0b lib/param: Remove use of lp{cfg,}_socket_address outside the NBT client and server
      from  ec64f79 lib/param: Mark lpcfg_cachedir and lpcfg_statedir as const char *

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit dc00df2adddfe23e5ebb61f9f7c16ec7d3f2c03e
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Jul 27 12:56:22 2012 +1000

    lib/param: Rename "socket address" to "nbt client socket address" to clarify role
    
    This parameter is only used in our NBT client code and in nmbd as a
    fallback when we fail to select a better interface from "interfaces"
    to use directly.
    
    Andrew Bartlett
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Fri Jul 27 12:16:25 CEST 2012 on sn-devel-104

commit b181a0b96b8313206923e6f5b46b0803aaf64907
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Fri Jul 27 12:31:28 2012 +1000

    lib/param: Remove use of lp{cfg,}_socket_address outside the NBT client and server
    
    In these other cases, control of the sockets to bind to can be obtained using
    "bind interfaces only = yes" and "interfaces = ".
    
    Andrew Bartlett

-----------------------------------------------------------------------

Summary of changes:
 ...ocketaddress.xml => nbtclientsocketaddress.xml} |   14 ++++++--------
 lib/param/loadparm.c                               |    2 +-
 lib/param/param_functions.c                        |    2 +-
 lib/param/param_table.c                            |   11 ++++++++++-
 source3/include/proto.h                            |    2 +-
 source3/libsmb/namequery.c                         |    4 ++--
 source3/nmbd/nmbd.c                                |    2 +-
 source3/param/loadparm.c                           |    2 +-
 source3/rpc_server/rpc_sock_helper.c               |   18 ++++++------------
 source3/smbd/server.c                              |    9 +++------
 source3/utils/nmblookup.c                          |    2 +-
 source4/lib/socket/interface.c                     |   10 ----------
 source4/wrepl_server/wrepl_in_connection.c         |    5 +----
 13 files changed, 34 insertions(+), 49 deletions(-)
 rename docs-xml/smbdotconf/misc/{socketaddress.xml => nbtclientsocketaddress.xml} (52%)


Changeset truncated at 500 lines:

diff --git a/docs-xml/smbdotconf/misc/socketaddress.xml b/docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml
similarity index 52%
rename from docs-xml/smbdotconf/misc/socketaddress.xml
rename to docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml
index 13ae11f..f6784c3 100644
--- a/docs-xml/smbdotconf/misc/socketaddress.xml
+++ b/docs-xml/smbdotconf/misc/nbtclientsocketaddress.xml
@@ -1,19 +1,17 @@
-<samba:parameter name="socket address"
+<samba:parameter name="nbt client socket address"
 	         context="G"
 			 type="string"
 		 developer="1"
 		 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
-	<para>This option allows you to control what
-	address Samba will listen for connections on. This is used to
-	support multiple virtual interfaces on the one server, each
-	with a different configuration.</para>
+	<para>This option allows you to control what address Samba
+	will send NBT client packets from, and process replies using,
+	including in nmbd. </para>
 	<para>Setting this option should never be necessary on usual Samba
 	servers running only one nmbd.</para>
 
-	<para>By default Samba will accept connections on any
-		address.</para>
-	<para>This parameter is deprecated.  See <smbconfoption name="bind interfaces only">Yes</smbconfoption> and <smbconfoption name="interfaces"></smbconfoption> .</para>
+	<para>By default Samba will send UDP packets from the OS default address for the destination, and accept replies on 0.0.0.0.</para>
+	<para>This parameter is deprecated.  See <smbconfoption name="bind interfaces only">Yes</smbconfoption> and <smbconfoption name="interfaces"></smbconfoption> for the previous behaviour of controlling the normal listening sockets.</para>
 </description>
 
 <value type="default">0.0.0.0</value>
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 2dcf06c..80733b4 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -2128,7 +2128,7 @@ struct loadparm_context *loadparm_init(TALLOC_CTX *mem_ctx)
 	lpcfg_do_global_parameter(lp_ctx, "cache directory", dyn_CACHEDIR);
 	lpcfg_do_global_parameter(lp_ctx, "ncalrpc dir", dyn_NCALRPCDIR);
 
-	lpcfg_do_global_parameter(lp_ctx, "socket address", "");
+	lpcfg_do_global_parameter(lp_ctx, "nbt client socket address", "");
 	lpcfg_do_global_parameter_var(lp_ctx, "server string",
 				   "Samba %s", SAMBA_VERSION_STRING);
 
diff --git a/lib/param/param_functions.c b/lib/param/param_functions.c
index 36e89f3..4ff44f0 100644
--- a/lib/param/param_functions.c
+++ b/lib/param/param_functions.c
@@ -249,6 +249,7 @@ FN_GLOBAL_CONST_STRING(logon_drive, szLogonDrive)
 FN_GLOBAL_CONST_STRING(logon_home, szLogonHome)
 FN_GLOBAL_CONST_STRING(logon_path, szLogonPath)
 FN_GLOBAL_CONST_STRING(logon_script, szLogonScript)
+FN_GLOBAL_CONST_STRING(nbt_client_socket_address, nbt_client_socket_address)
 FN_GLOBAL_CONST_STRING(ncalrpc_dir, ncalrpc_dir)
 FN_GLOBAL_CONST_STRING(netbios_name, szNetbiosName)
 FN_GLOBAL_CONST_STRING(netbios_scope, szNetbiosScope)
@@ -259,7 +260,6 @@ FN_GLOBAL_CONST_STRING(piddir, szPidDir)
 FN_GLOBAL_CONST_STRING(private_dir, szPrivateDir)
 FN_GLOBAL_CONST_STRING(realm, szRealm_upper)
 FN_GLOBAL_CONST_STRING(smb_passwd_file, szSMBPasswdFile)
-FN_GLOBAL_CONST_STRING(socket_address, szSocketAddress)
 FN_GLOBAL_CONST_STRING(socket_options, socket_options)
 FN_GLOBAL_CONST_STRING(template_homedir, szTemplateHomedir)
 FN_GLOBAL_CONST_STRING(template_shell, szTemplateShell)
diff --git a/lib/param/param_table.c b/lib/param/param_table.c
index 7cbc15c..a793695 100644
--- a/lib/param/param_table.c
+++ b/lib/param/param_table.c
@@ -3477,10 +3477,19 @@ static struct parm_struct parm_table[] = {
 		.flags		= FLAG_ADVANCED,
 	},
 	{
+		.label		= "nbt client socket address",
+		.type		= P_STRING,
+		.p_class	= P_GLOBAL,
+		.offset		= GLOBAL_VAR(nbt_client_socket_address),
+		.special	= NULL,
+		.enum_list	= NULL,
+		.flags		= FLAG_ADVANCED | FLAG_DEPRECATED,
+	},
+	{
 		.label		= "socket address",
 		.type		= P_STRING,
 		.p_class	= P_GLOBAL,
-		.offset		= GLOBAL_VAR(szSocketAddress),
+		.offset		= GLOBAL_VAR(nbt_client_socket_address),
 		.special	= NULL,
 		.enum_list	= NULL,
 		.flags		= FLAG_ADVANCED | FLAG_DEPRECATED,
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 0b4f093..101d62d 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1046,7 +1046,7 @@ char *lp_remote_browse_sync(TALLOC_CTX *ctx);
 bool lp_nmbd_bind_explicit_broadcast(void);
 const char **lp_wins_server_list(void);
 const char **lp_interfaces(void);
-const char *lp_socket_address(void);
+const char *lp_nbt_client_socket_address(void);
 char *lp_nis_home_map_name(TALLOC_CTX *ctx);
 const char **lp_netbios_aliases(void);
 const char *lp_passdb_backend(void);
diff --git a/source3/libsmb/namequery.c b/source3/libsmb/namequery.c
index e4dda16..b62b52b 100644
--- a/source3/libsmb/namequery.c
+++ b/source3/libsmb/namequery.c
@@ -216,7 +216,7 @@ char *saf_fetch( const char *domain )
 
 static void set_socket_addr_v4(struct sockaddr_storage *addr)
 {
-	if (!interpret_string_addr(addr, lp_socket_address(),
+	if (!interpret_string_addr(addr, lp_nbt_client_socket_address(),
 				   AI_NUMERICHOST|AI_PASSIVE)) {
 		zero_sockaddr(addr);
 	}
@@ -2071,7 +2071,7 @@ struct tevent_req *resolve_wins_send(TALLOC_CTX *mem_ctx,
 	}
 
 	/* the address we will be sending from */
-	if (!interpret_string_addr(&src_ss, lp_socket_address(),
+	if (!interpret_string_addr(&src_ss, lp_nbt_client_socket_address(),
 				AI_NUMERICHOST|AI_PASSIVE)) {
 		zero_sockaddr(&src_ss);
 	}
diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c
index a28ed7c..1728bb9 100644
--- a/source3/nmbd/nmbd.c
+++ b/source3/nmbd/nmbd.c
@@ -692,7 +692,7 @@ static void process(struct messaging_context *msg)
 static bool open_sockets(bool isdaemon, int port)
 {
 	struct sockaddr_storage ss;
-	const char *sock_addr = lp_socket_address();
+	const char *sock_addr = lp_nbt_client_socket_address();
 
 	/*
 	 * The sockets opened here will be used to receive broadcast
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 4bfcbc2..59f74d7 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -738,7 +738,7 @@ static void init_globals(bool reinit_globals)
 	string_set(&Globals.szStateDir, get_dyn_STATEDIR());
 	string_set(&Globals.szCacheDir, get_dyn_CACHEDIR());
 	string_set(&Globals.szPidDir, get_dyn_PIDDIR());
-	string_set(&Globals.szSocketAddress, "0.0.0.0");
+	string_set(&Globals.nbt_client_socket_address, "0.0.0.0");
 	/*
 	 * By default support explicit binding to broadcast
  	 * addresses.
diff --git a/source3/rpc_server/rpc_sock_helper.c b/source3/rpc_server/rpc_sock_helper.c
index c767cd8..198df90 100644
--- a/source3/rpc_server/rpc_sock_helper.c
+++ b/source3/rpc_server/rpc_sock_helper.c
@@ -98,18 +98,15 @@ NTSTATUS rpc_create_tcpip_sockets(const struct ndr_interface_table *iface,
 			}
 		}
 	} else {
-		const char *sock_addr = lp_socket_address();
+		const char *sock_addr;
 		const char *sock_ptr;
 		char *sock_tok;
 
-		if (strequal(sock_addr, "0.0.0.0") ||
-		    strequal(sock_addr, "::")) {
 #if HAVE_IPV6
-			sock_addr = "::,0.0.0.0";
+		sock_addr = "::,0.0.0.0";
 #else
-			sock_addr = "0.0.0.0";
+		sock_addr = "0.0.0.0";
 #endif
-		}
 
 		for (sock_ptr = sock_addr;
 		     next_token_talloc(talloc_tos(), &sock_ptr, &sock_tok, " \t,");
@@ -217,18 +214,15 @@ NTSTATUS rpc_setup_tcpip_sockets(struct tevent_context *ev_ctx,
 			}
 		}
 	} else {
-		const char *sock_addr = lp_socket_address();
+		const char *sock_addr;
 		const char *sock_ptr;
 		char *sock_tok;
 
-		if (strequal(sock_addr, "0.0.0.0") ||
-		    strequal(sock_addr, "::")) {
 #if HAVE_IPV6
-			sock_addr = "::,0.0.0.0";
+		sock_addr = "::,0.0.0.0";
 #else
-			sock_addr = "0.0.0.0";
+		sock_addr = "0.0.0.0";
 #endif
-		}
 
 		for (sock_ptr = sock_addr;
 		     next_token_talloc(talloc_tos(), &sock_ptr, &sock_tok, " \t,");
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 63edf00..6abf8cc 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -796,18 +796,15 @@ static bool open_sockets_smbd(struct smbd_parent_context *parent,
 		/* Just bind to 0.0.0.0 - accept connections
 		   from anywhere. */
 
-		const char *sock_addr = lp_socket_address();
+		const char *sock_addr;
 		char *sock_tok;
 		const char *sock_ptr;
 
-		if (strequal(sock_addr, "0.0.0.0") ||
-		    strequal(sock_addr, "::")) {
 #if HAVE_IPV6
-			sock_addr = "::,0.0.0.0";
+		sock_addr = "::,0.0.0.0";
 #else
-			sock_addr = "0.0.0.0";
+		sock_addr = "0.0.0.0";
 #endif
-		}
 
 		for (sock_ptr=sock_addr;
 		     next_token_talloc(talloc_tos(), &sock_ptr, &sock_tok, " \t,"); ) {
diff --git a/source3/utils/nmblookup.c b/source3/utils/nmblookup.c
index b767b41..0d5e64a 100644
--- a/source3/utils/nmblookup.c
+++ b/source3/utils/nmblookup.c
@@ -40,7 +40,7 @@ static bool find_status = false;
 static bool open_sockets(void)
 {
 	struct sockaddr_storage ss;
-	const char *sock_addr = lp_socket_address();
+	const char *sock_addr = lp_nbt_client_socket_address();
 
 	if (!interpret_string_addr(&ss, sock_addr,
 				AI_NUMERICHOST|AI_PASSIVE)) {
diff --git a/source4/lib/socket/interface.c b/source4/lib/socket/interface.c
index 27ac715..7a4733f 100644
--- a/source4/lib/socket/interface.c
+++ b/source4/lib/socket/interface.c
@@ -502,20 +502,10 @@ bool iface_list_same_net(const char *ip1, const char *ip2, const char *netmask)
 /**
    return the list of wildcard interfaces
    this will include the IPv4 0.0.0.0, and may include IPv6 ::
-   it is overridden by the 'socket address' option in smb.conf
 */
 const char **iface_list_wildcard(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx)
 {
 	const char **ret;
-	const char *socket_address;
-
-	/* the user may have configured a specific address */
-	socket_address = lpcfg_socket_address(lp_ctx);
-	if (strcmp(socket_address, "") != 0) {
-		ret = (const char **)str_list_make(mem_ctx, socket_address, NULL);
-		return ret;
-	}
-
 	ret = (const char **)str_list_make(mem_ctx, "0.0.0.0", NULL);
 	if (ret == NULL) return NULL;
 
diff --git a/source4/wrepl_server/wrepl_in_connection.c b/source4/wrepl_server/wrepl_in_connection.c
index 962a1cb..251e5a0 100644
--- a/source4/wrepl_server/wrepl_in_connection.c
+++ b/source4/wrepl_server/wrepl_in_connection.c
@@ -467,10 +467,7 @@ NTSTATUS wreplsrv_setup_sockets(struct wreplsrv_service *service, struct loadpar
 			}
 		}
 	} else {
-		address = lpcfg_socket_address(lp_ctx);
-		if (strcmp(address, "") == 0) {
-			address = "0.0.0.0";
-		}
+		address = "0.0.0.0";
 		status = stream_setup_socket(task, task->event_ctx, task->lp_ctx,
 					     model_ops, &wreplsrv_stream_ops,
 					     "ipv4", address, &port, lpcfg_socket_options(task->lp_ctx),


-- 
Samba Shared Repository


More information about the samba-cvs mailing list