[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha2-630-g7fc3669

Andrew Bartlett abartlet at samba.org
Mon Feb 4 22:17:31 GMT 2008


The branch, v4-0-test has been updated
       via  7fc3669b9dc34514d8749d3941514fdae7d0f700 (commit)
       via  c3387545c57d2dd4922b4f3806b4552cee8035a3 (commit)
       via  9c9a4731cafd0dcf6c8523a7b06759cd4f14e4db (commit)
      from  145d6c8ea0eafc69cdeca45fbf296148b890133d (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 7fc3669b9dc34514d8749d3941514fdae7d0f700
Merge: c3387545c57d2dd4922b4f3806b4552cee8035a3 145d6c8ea0eafc69cdeca45fbf296148b890133d
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue Feb 5 09:16:37 2008 +1100

    Merge branch 'v4-0-test' of git://git.samba.org/samba into 4-0-abartlet

commit c3387545c57d2dd4922b4f3806b4552cee8035a3
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Feb 4 23:04:35 2008 +1100

    Fix a few more breakages from our recent changes to the server_id
    structure.  The BASE-TORTURE test found this problem - caused because
    the messaging path was not unique.
    
    If we didn't use a macro for cluster_id_equal(), we could make it
    opaque, and avoid this...
    
    Andrew Bartlett

commit 9c9a4731cafd0dcf6c8523a7b06759cd4f14e4db
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Feb 4 21:58:29 2008 +1100

    Remove useless layer of indirection, where every service called
    task_service_init() manually.  Now this is called from service.c for
    all services.
    
    Andrew Bartlett

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

Summary of changes:
 source/cldap_server/cldap_server.c |   11 +----------
 source/cluster/cluster.h           |    4 +++-
 source/dsdb/repl/drepl_service.c   |   10 +---------
 source/kdc/kdc.c                   |   12 +-----------
 source/ldap_server/ldap_server.c   |   14 +-------------
 source/lib/messaging/messaging.c   |    4 ++--
 source/nbt_server/nbt_server.c     |   12 +-----------
 source/rpc_server/service_rpc.c    |   14 +-------------
 source/smb_server/smb_server.c     |   14 +-------------
 source/smbd/service.c              |   11 ++++++-----
 source/web_server/web_server.c     |   14 +-------------
 source/winbind/wb_server.c         |   13 +------------
 source/wrepl_server/wrepl_server.c |   19 +++++--------------
 13 files changed, 25 insertions(+), 127 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/cldap_server/cldap_server.c b/source/cldap_server/cldap_server.c
index 944d679..7858ee2 100644
--- a/source/cldap_server/cldap_server.c
+++ b/source/cldap_server/cldap_server.c
@@ -205,18 +205,9 @@ static void cldapd_task_init(struct task_server *task)
 
 
 /*
-  initialise the cldapd server
- */
-static NTSTATUS cldapd_init(struct event_context *event_ctx, struct loadparm_context *lp_ctx, const struct model_ops *model_ops)
-{
-	return task_server_startup(event_ctx, lp_ctx, "cldap", model_ops, cldapd_task_init);
-}
-
-
-/*
   register ourselves as a available server
 */
 NTSTATUS server_service_cldapd_init(void)
 {
-	return register_server_service("cldap", cldapd_init);
+	return register_server_service("cldap", cldapd_task_init);
 }
diff --git a/source/cluster/cluster.h b/source/cluster/cluster.h
index 203aef4..7545757 100644
--- a/source/cluster/cluster.h
+++ b/source/cluster/cluster.h
@@ -25,7 +25,9 @@
 /*
   test for same cluster id
 */
-#define cluster_id_equal(id1, id2) ((id1)->id == (id2)->id && (id1)->node == (id2)->node)
+#define cluster_id_equal(id_1, id_2) ((id_1)->id == (id_2)->id \
+				    && (id_1)->id2 == (id_2)->id2 \
+				    && (id_1)->node == (id_2)->node)
 
 /*
   test for same cluster node
diff --git a/source/dsdb/repl/drepl_service.c b/source/dsdb/repl/drepl_service.c
index 246309e..3375059 100644
--- a/source/dsdb/repl/drepl_service.c
+++ b/source/dsdb/repl/drepl_service.c
@@ -181,17 +181,9 @@ static void dreplsrv_task_init(struct task_server *task)
 }
 
 /*
-  initialise the dsdb replicator service
- */
-static NTSTATUS dreplsrv_init(struct event_context *event_ctx, struct loadparm_context *lp_ctx, const struct model_ops *model_ops)
-{
-	return task_server_startup(event_ctx, lp_ctx, "drepl", model_ops, dreplsrv_task_init);
-}
-
-/*
   register ourselves as a available server
 */
 NTSTATUS server_service_drepl_init(void)
 {
-	return register_server_service("drepl", dreplsrv_init);
+	return register_server_service("drepl", dreplsrv_task_init);
 }
diff --git a/source/kdc/kdc.c b/source/kdc/kdc.c
index d820f0a..52ee475 100644
--- a/source/kdc/kdc.c
+++ b/source/kdc/kdc.c
@@ -660,18 +660,8 @@ static void kdc_task_init(struct task_server *task)
 }
 
 
-/*
-  called on startup of the KDC service 
-*/
-static NTSTATUS kdc_init(struct event_context *event_ctx, 
-			 struct loadparm_context *lp_ctx,
-			 const struct model_ops *model_ops)
-{	
-	return task_server_startup(event_ctx, lp_ctx, "kdc", model_ops, kdc_task_init);
-}
-
 /* called at smbd startup - register ourselves as a server service */
 NTSTATUS server_service_kdc_init(void)
 {
-	return register_server_service("kdc", kdc_init);
+	return register_server_service("kdc", kdc_task_init);
 }
diff --git a/source/ldap_server/ldap_server.c b/source/ldap_server/ldap_server.c
index f9c763e..5b2519c 100644
--- a/source/ldap_server/ldap_server.c
+++ b/source/ldap_server/ldap_server.c
@@ -576,20 +576,8 @@ failed:
 	task_server_terminate(task, "Failed to startup ldap server task");	
 }
 
-/*
-  called on startup of the web server service It's job is to start
-  listening on all configured sockets
-*/
-static NTSTATUS ldapsrv_init(struct event_context *event_context, 
-			     struct loadparm_context *lp_ctx,
-			     const struct model_ops *model_ops)
-{	
-	return task_server_startup(event_context, lp_ctx, "ldap", model_ops, 
-				   ldapsrv_task_init);
-}
-
 
 NTSTATUS server_service_ldap_init(void)
 {
-	return register_server_service("ldap", ldapsrv_init);
+	return register_server_service("ldap", ldapsrv_task_init);
 }
diff --git a/source/lib/messaging/messaging.c b/source/lib/messaging/messaging.c
index 9cb10f9..6a879ab 100644
--- a/source/lib/messaging/messaging.c
+++ b/source/lib/messaging/messaging.c
@@ -121,8 +121,8 @@ static NTSTATUS irpc_uptime(struct irpc_message *msg,
 */
 static char *messaging_path(struct messaging_context *msg, struct server_id server_id)
 {
-	return talloc_asprintf(msg, "%s/msg.%u.%u", msg->base_path, 
-			       (unsigned)server_id.node, (unsigned)server_id.id);
+	return talloc_asprintf(msg, "%s/msg.%s", msg->base_path, 
+			       cluster_id_string(msg, server_id));
 }
 
 /*
diff --git a/source/nbt_server/nbt_server.c b/source/nbt_server/nbt_server.c
index bcdc63e..2ac1fb4 100644
--- a/source/nbt_server/nbt_server.c
+++ b/source/nbt_server/nbt_server.c
@@ -89,19 +89,9 @@ static void nbtd_task_init(struct task_server *task)
 
 
 /*
-  initialise the nbt server
- */
-static NTSTATUS nbtd_init(struct event_context *event_ctx, struct loadparm_context *lp_ctx, const struct model_ops *model_ops)
-{
-	return task_server_startup(event_ctx, lp_ctx, "nbt",
-				   model_ops, nbtd_task_init);
-}
-
-
-/*
   register ourselves as a available server
 */
 NTSTATUS server_service_nbtd_init(void)
 {
-	return register_server_service("nbt", nbtd_init);
+	return register_server_service("nbt", nbtd_task_init);
 }
diff --git a/source/rpc_server/service_rpc.c b/source/rpc_server/service_rpc.c
index 855e120..ddcf1c2 100644
--- a/source/rpc_server/service_rpc.c
+++ b/source/rpc_server/service_rpc.c
@@ -457,18 +457,6 @@ failed:
 	task_server_terminate(task, "Failed to startup dcerpc server task");	
 }
 
-/*
-  called on startup of the smb server service It's job is to start
-  listening on all configured sockets
-*/
-static NTSTATUS dcesrv_init(struct event_context *event_context, 
-			    struct loadparm_context *lp_ctx,
-			    const struct model_ops *model_ops)
-{	
-	return task_server_startup(event_context, lp_ctx, "rpc",
-				   model_ops, dcesrv_task_init);
-}
-
 NTSTATUS server_service_rpc_init(void)
 {
 	init_module_fn static_init[] = { STATIC_dcerpc_server_MODULES };
@@ -479,5 +467,5 @@ NTSTATUS server_service_rpc_init(void)
 
 	talloc_free(shared_init);
 	
-	return register_server_service("rpc", dcesrv_init);
+	return register_server_service("rpc", dcesrv_task_init);
 }
diff --git a/source/smb_server/smb_server.c b/source/smb_server/smb_server.c
index 866ae26..9a8a8cf 100644
--- a/source/smb_server/smb_server.c
+++ b/source/smb_server/smb_server.c
@@ -250,20 +250,8 @@ failed:
 	task_server_terminate(task, "Failed to startup smb server task");	
 }
 
-/*
-  called on startup of the smb server service It's job is to start
-  listening on all configured sockets
-*/
-static NTSTATUS smbsrv_init(struct event_context *event_context, 
-			    struct loadparm_context *lp_ctx,
-			    const struct model_ops *model_ops)
-{	
-	return task_server_startup(event_context, lp_ctx, "smb",
-				   model_ops, smbsrv_task_init);
-}
-
 /* called at smbd startup - register ourselves as a server service */
 NTSTATUS server_service_smb_init(void)
 {
-	return register_server_service("smb", smbsrv_init);
+	return register_server_service("smb", smbsrv_task_init);
 }
diff --git a/source/smbd/service.c b/source/smbd/service.c
index 525b245..2b1fcc4 100644
--- a/source/smbd/service.c
+++ b/source/smbd/service.c
@@ -30,20 +30,20 @@
 static struct registered_server {
 	struct registered_server *next, *prev;
 	const char *service_name;
-	NTSTATUS (*service_init)(struct event_context *, struct loadparm_context *lp_ctx, const struct model_ops *);
+	void (*task_init)(struct task_server *);
 } *registered_servers;
 
 /*
   register a server service. 
 */
 NTSTATUS register_server_service(const char *name,
-				 NTSTATUS (*service_init)(struct event_context *, struct loadparm_context *lp_ctx, const struct model_ops *))
+				 void (*task_init)(struct task_server *))
 {
 	struct registered_server *srv;
 	srv = talloc(talloc_autofree_context(), struct registered_server);
 	NT_STATUS_HAVE_NO_MEMORY(srv);
 	srv->service_name = name;
-	srv->service_init = service_init;
+	srv->task_init = task_init;
 	DLIST_ADD_END(registered_servers, srv, struct registered_server *);
 	return NT_STATUS_OK;
 }
@@ -53,14 +53,15 @@ NTSTATUS register_server_service(const char *name,
   initialise a server service
 */
 static NTSTATUS server_service_init(const char *name,
-				    struct event_context *event_ctx,
+				    struct event_context *event_context,
 				    struct loadparm_context *lp_ctx,
 				    const struct model_ops *model_ops)
 {
 	struct registered_server *srv;
 	for (srv=registered_servers; srv; srv=srv->next) {
 		if (strcasecmp(name, srv->service_name) == 0) {
-			return srv->service_init(event_ctx, lp_ctx, model_ops);
+			return task_server_startup(event_context, lp_ctx, srv->service_name,
+						   model_ops, srv->task_init);
 		}
 	}
 	return NT_STATUS_INVALID_SYSTEM_SERVICE;
diff --git a/source/web_server/web_server.c b/source/web_server/web_server.c
index bd212cf..ac83a33 100644
--- a/source/web_server/web_server.c
+++ b/source/web_server/web_server.c
@@ -290,20 +290,8 @@ failed:
 }
 
 
-/*
-  called on startup of the web server service It's job is to start
-  listening on all configured sockets
-*/
-static NTSTATUS websrv_init(struct event_context *event_context, 
-			    struct loadparm_context *lp_ctx,
-			    const struct model_ops *model_ops)
-{	
-	return task_server_startup(event_context, lp_ctx, "web", 
-				   model_ops, websrv_task_init);
-}
-
 /* called at smbd startup - register ourselves as a server service */
 NTSTATUS server_service_web_init(void)
 {
-	return register_server_service("web", websrv_init);
+	return register_server_service("web", websrv_task_init);
 }
diff --git a/source/winbind/wb_server.c b/source/winbind/wb_server.c
index 9acde4a..9b303f3 100644
--- a/source/winbind/wb_server.c
+++ b/source/winbind/wb_server.c
@@ -202,20 +202,9 @@ nomem:
 }
 
 /*
-  initialise the winbind server
- */
-static NTSTATUS winbind_init(struct event_context *event_ctx,
-			     struct loadparm_context *lp_ctx,
-			     const struct model_ops *model_ops)
-{
-	return task_server_startup(event_ctx, lp_ctx, "winbind",
-				   model_ops, winbind_task_init);
-}
-
-/*
   register ourselves as a available server
 */
 NTSTATUS server_service_winbind_init(void)
 {
-	return register_server_service("winbind", winbind_init);
+	return register_server_service("winbind", winbind_task_init);
 }
diff --git a/source/wrepl_server/wrepl_server.c b/source/wrepl_server/wrepl_server.c
index d13482d..e750d93 100644
--- a/source/wrepl_server/wrepl_server.c
+++ b/source/wrepl_server/wrepl_server.c
@@ -453,6 +453,10 @@ static void wreplsrv_task_init(struct task_server *task)
 	NTSTATUS status;
 	struct wreplsrv_service *service;
 
+	if (!lp_wins_support(task->lp_ctx)) {
+		return;
+	}
+
 	task_server_set_title(task, "task[wreplsrv]");
 
 	service = talloc_zero(task, struct wreplsrv_service);
@@ -502,22 +506,9 @@ static void wreplsrv_task_init(struct task_server *task)
 }
 
 /*
-  initialise the WREPL server
- */
-static NTSTATUS wreplsrv_init(struct event_context *event_ctx, struct loadparm_context *lp_ctx, const struct model_ops *model_ops)
-{
-	if (!lp_wins_support(lp_ctx)) {
-		return NT_STATUS_OK;
-	}
-
-	return task_server_startup(event_ctx, lp_ctx, "wrepl", 
-				   model_ops, wreplsrv_task_init);
-}
-
-/*
   register ourselves as a available server
 */
 NTSTATUS server_service_wrepl_init(void)
 {
-	return register_server_service("wrepl", wreplsrv_init);
+	return register_server_service("wrepl", wreplsrv_task_init);
 }


-- 
Samba Shared Repository


More information about the samba-cvs mailing list