svn commit: samba r26397 - in branches/SAMBA_4_0: . source/auth/kerberos source/lib/socket source/libcli source/libcli/ldap source/libcli/resolve source/librpc

jelmer at samba.org jelmer at samba.org
Tue Dec 11 13:38:56 GMT 2007


Author: jelmer
Date: 2007-12-11 13:38:54 +0000 (Tue, 11 Dec 2007)
New Revision: 26397

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26397

Log:
Fix circular dependency in samba-socket.
Added:
   branches/SAMBA_4_0/source/libcli/resolve/resolve_lp.c
Modified:
   branches/SAMBA_4_0/
   branches/SAMBA_4_0/source/auth/kerberos/krb5_init_context.c
   branches/SAMBA_4_0/source/lib/socket/config.mk
   branches/SAMBA_4_0/source/lib/socket/connect.c
   branches/SAMBA_4_0/source/lib/socket/testsuite.c
   branches/SAMBA_4_0/source/libcli/config.mk
   branches/SAMBA_4_0/source/libcli/ldap/config.mk
   branches/SAMBA_4_0/source/libcli/resolve/resolve.c
   branches/SAMBA_4_0/source/libcli/resolve/resolve.h
   branches/SAMBA_4_0/source/librpc/config.mk


Changeset:

Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: bzr:revision-info
...skipped...
Name: bzr:file-ids
...skipped...
Name: bzr:revision-id:v3-trunk0
...skipped...

Modified: branches/SAMBA_4_0/source/auth/kerberos/krb5_init_context.c
===================================================================
--- branches/SAMBA_4_0/source/auth/kerberos/krb5_init_context.c	2007-12-11 11:28:46 UTC (rev 26396)
+++ branches/SAMBA_4_0/source/auth/kerberos/krb5_init_context.c	2007-12-11 13:38:54 UTC (rev 26397)
@@ -278,7 +278,7 @@
 		}
 
 		status = socket_connect_ev(smb_krb5->sock, NULL, remote_addr, 0, 
-					   lp_resolve_context(global_loadparm), ev); 
+					   NULL, ev); 
 		if (!NT_STATUS_IS_OK(status)) {
 			talloc_free(smb_krb5);
 			continue;

Modified: branches/SAMBA_4_0/source/lib/socket/config.mk
===================================================================
--- branches/SAMBA_4_0/source/lib/socket/config.mk	2007-12-11 11:28:46 UTC (rev 26396)
+++ branches/SAMBA_4_0/source/lib/socket/config.mk	2007-12-11 13:38:54 UTC (rev 26397)
@@ -39,9 +39,7 @@
 		access.o \
 		connect_multi.o \
 		connect.o
-LDFLAGS = $(SUBSYSTEM_LIBCLI_RESOLVE_OUTPUT) $(SUBSYSTEM_LIBCLI_NBT_OUTPUT) $(SUBSYSTEM_NDR_NBT_OUTPUT) $(LIBRARY_NDR_SVCCTL_OUTPUT)
 PUBLIC_DEPENDENCIES = LIBTALLOC
-PRIVATE_DEPENDENCIES = SOCKET_WRAPPER LIBCLI_COMPOSITE 
-#LIBCLI_RESOLVE
+PRIVATE_DEPENDENCIES = SOCKET_WRAPPER LIBCLI_COMPOSITE LIBCLI_RESOLVE
 # End SUBSYSTEM SOCKET
 ################################################

Modified: branches/SAMBA_4_0/source/lib/socket/connect.c
===================================================================
--- branches/SAMBA_4_0/source/lib/socket/connect.c	2007-12-11 11:28:46 UTC (rev 26396)
+++ branches/SAMBA_4_0/source/lib/socket/connect.c	2007-12-11 13:38:54 UTC (rev 26397)
@@ -123,7 +123,7 @@
 
 	set_blocking(socket_get_fd(sock), false);
 
-	if (server_address->addr && strcmp(sock->backend_name, "ipv4") == 0) {
+	if (resolve_ctx && server_address->addr && strcmp(sock->backend_name, "ipv4") == 0) {
 		struct nbt_name name;
 		struct composite_context *creq;
 		make_nbt_name_client(&name, server_address->addr);

Modified: branches/SAMBA_4_0/source/lib/socket/testsuite.c
===================================================================
--- branches/SAMBA_4_0/source/lib/socket/testsuite.c	2007-12-11 11:28:46 UTC (rev 26396)
+++ branches/SAMBA_4_0/source/lib/socket/testsuite.c	2007-12-11 13:38:54 UTC (rev 26397)
@@ -147,7 +147,7 @@
 
 	torture_comment(tctx, "server port is %d\n", srv_addr->port);
 
-	status = socket_connect_ev(sock2, NULL, srv_addr, 0, lp_resolve_context(tctx->lp_ctx), ev);
+	status = socket_connect_ev(sock2, NULL, srv_addr, 0, NULL, ev);
 	torture_assert_ntstatus_ok(tctx, status, "connect() on socket 2");
 
 	status = socket_accept(sock1, &sock3);

Modified: branches/SAMBA_4_0/source/libcli/config.mk
===================================================================
--- branches/SAMBA_4_0/source/libcli/config.mk	2007-12-11 11:28:46 UTC (rev 26396)
+++ branches/SAMBA_4_0/source/libcli/config.mk	2007-12-11 13:38:54 UTC (rev 26397)
@@ -96,13 +96,18 @@
 [SUBSYSTEM::LIBCLI_RESOLVE]
 PRIVATE_PROTO_HEADER = resolve/proto.h
 OBJ_FILES = \
-	resolve/resolve.o \
+	resolve/resolve.o
+PUBLIC_DEPENDENCIES = NDR_NBT
+
+[SUBSYSTEM::LP_RESOLVE]
+PRIVATE_PROTO_HEADER = resolve/lp_proto.h
+OBJ_FILES = \
 	resolve/bcast.o \
 	resolve/nbtlist.o \
 	resolve/wins.o \
-	resolve/host.o
-PUBLIC_DEPENDENCIES = LIBNETIF
-PRIVATE_DEPENDENCIES = LIBCLI_NBT 
+	resolve/host.o \
+	resolve/resolve_lp.o
+PRIVATE_DEPENDENCIES = LIBCLI_NBT LIBSAMBA-CONFIG LIBNETIF 
 
 [SUBSYSTEM::LIBCLI_FINDDCS]
 PRIVATE_PROTO_HEADER = finddcs.h

Modified: branches/SAMBA_4_0/source/libcli/ldap/config.mk
===================================================================
--- branches/SAMBA_4_0/source/libcli/ldap/config.mk	2007-12-11 11:28:46 UTC (rev 26396)
+++ branches/SAMBA_4_0/source/libcli/ldap/config.mk	2007-12-11 13:38:54 UTC (rev 26397)
@@ -9,7 +9,7 @@
 		ldap_controls.o
 PUBLIC_DEPENDENCIES = LIBSAMBA-ERRORS LIBEVENTS LIBPACKET 
 PRIVATE_DEPENDENCIES = LIBCLI_COMPOSITE samba-socket NDR_SAMR LIBTLS ASN1_UTIL \
-					   LDAP_ENCODE LIBNDR
+					   LDAP_ENCODE LIBNDR LP_RESOLVE
 
 
 [SUBSYSTEM::LDAP_ENCODE]

Modified: branches/SAMBA_4_0/source/libcli/resolve/resolve.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/resolve/resolve.c	2007-12-11 11:28:46 UTC (rev 26396)
+++ branches/SAMBA_4_0/source/libcli/resolve/resolve.c	2007-12-11 13:38:54 UTC (rev 26397)
@@ -228,26 +228,4 @@
 	make_nbt_name(nbt, name, NBT_NAME_SERVER);
 }
 
-struct resolve_context *lp_resolve_context(struct loadparm_context *lp_ctx)
-{
-	const char **methods = lp_name_resolve_order(lp_ctx);
-	int i;
-	struct resolve_context *ret = resolve_context_init(lp_ctx);
 
-	if (ret == NULL)
-		return NULL;
-
-	for (i = 0; methods != NULL && methods[i] != NULL; i++) {
-		if (!strcmp(methods[i], "wins")) {
-			resolve_context_add_wins_method(ret, lp_wins_server_list(lp_ctx));
-		} else if (!strcmp(methods[i], "bcast")) {
-			resolve_context_add_bcast_method(ret, lp_ctx);
-		} else if (!strcmp(methods[i], "host")) {
-			resolve_context_add_host_method(ret);
-		} else {
-			DEBUG(0, ("Unknown resolve method '%s'\n", methods[i]));
-		}
-	}
-
-	return ret;
-}

Modified: branches/SAMBA_4_0/source/libcli/resolve/resolve.h
===================================================================
--- branches/SAMBA_4_0/source/libcli/resolve/resolve.h	2007-12-11 11:28:46 UTC (rev 26396)
+++ branches/SAMBA_4_0/source/libcli/resolve/resolve.h	2007-12-11 13:38:54 UTC (rev 26397)
@@ -26,5 +26,6 @@
 typedef struct composite_context *(*resolve_name_send_fn)(TALLOC_CTX *mem_ctx, struct event_context *, void *privdata, struct nbt_name *);
 typedef NTSTATUS (*resolve_name_recv_fn)(struct composite_context *, TALLOC_CTX *, const char **);
 #include "libcli/resolve/proto.h"
+#include "libcli/resolve/lp_proto.h"
 
 #endif /* __RESOLVE_H__ */

Added: branches/SAMBA_4_0/source/libcli/resolve/resolve_lp.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/resolve/resolve_lp.c	2007-12-11 11:28:46 UTC (rev 26396)
+++ branches/SAMBA_4_0/source/libcli/resolve/resolve_lp.c	2007-12-11 13:38:54 UTC (rev 26397)
@@ -0,0 +1,46 @@
+/* 
+   Unix SMB/CIFS implementation.
+   Samba utility functions
+   Copyright (C) Jelmer Vernooij <jelmer at samba.org> 2007
+   
+   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"
+#include "libcli/resolve/resolve.h"
+#include "param/param.h"
+
+struct resolve_context *lp_resolve_context(struct loadparm_context *lp_ctx)
+{
+	const char **methods = lp_name_resolve_order(lp_ctx);
+	int i;
+	struct resolve_context *ret = resolve_context_init(lp_ctx);
+
+	if (ret == NULL)
+		return NULL;
+
+	for (i = 0; methods != NULL && methods[i] != NULL; i++) {
+		if (!strcmp(methods[i], "wins")) {
+			resolve_context_add_wins_method(ret, lp_wins_server_list(lp_ctx));
+		} else if (!strcmp(methods[i], "bcast")) {
+			resolve_context_add_bcast_method(ret, lp_ctx);
+		} else if (!strcmp(methods[i], "host")) {
+			resolve_context_add_host_method(ret);
+		} else {
+			DEBUG(0, ("Unknown resolve method '%s'\n", methods[i]));
+		}
+	}
+
+	return ret;
+}

Modified: branches/SAMBA_4_0/source/librpc/config.mk
===================================================================
--- branches/SAMBA_4_0/source/librpc/config.mk	2007-12-11 11:28:46 UTC (rev 26396)
+++ branches/SAMBA_4_0/source/librpc/config.mk	2007-12-11 13:38:54 UTC (rev 26397)
@@ -487,7 +487,8 @@
 		samba-socket LIBCLI_RESOLVE LIBCLI_SMB LIBCLI_SMB2 \
 		LIBNDR NDR_DCERPC RPC_NDR_EPMAPPER \
 		NDR_SCHANNEL RPC_NDR_NETLOGON \
-		gensec LIBCLI_AUTH LIBCLI_RAW CREDENTIALS
+		gensec LIBCLI_AUTH LIBCLI_RAW CREDENTIALS \
+		LP_RESOLVE
 # End SUBSYSTEM dcerpc
 ################################################
 



More information about the samba-cvs mailing list