svn commit: samba r13784 - in branches/tmp/samba4-ldb-register/source/nbt_server: . wins

jelmer at samba.org jelmer at samba.org
Thu Mar 2 12:53:46 GMT 2006


Author: jelmer
Date: 2006-03-02 12:53:46 +0000 (Thu, 02 Mar 2006)
New Revision: 13784

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

Log:
Convert wins_ldb module, which I forgot previously.

Modified:
   branches/tmp/samba4-ldb-register/source/nbt_server/config.mk
   branches/tmp/samba4-ldb-register/source/nbt_server/wins/wins_ldb.c
   branches/tmp/samba4-ldb-register/source/nbt_server/wins/winsserver.c


Changeset:
Modified: branches/tmp/samba4-ldb-register/source/nbt_server/config.mk
===================================================================
--- branches/tmp/samba4-ldb-register/source/nbt_server/config.mk	2006-03-02 12:43:45 UTC (rev 13783)
+++ branches/tmp/samba4-ldb-register/source/nbt_server/config.mk	2006-03-02 12:53:46 UTC (rev 13784)
@@ -16,6 +16,7 @@
 # Start MODULE libldb_wins_ldb
 [MODULE::libldb_wins_ldb]
 SUBSYSTEM = LIBLDB
+INIT_FUNCTION = wins_ldb_module_init
 OUTPUT_TYPE = MERGEDOBJ
 OBJ_FILES = \
 		wins/wins_ldb.o

Modified: branches/tmp/samba4-ldb-register/source/nbt_server/wins/wins_ldb.c
===================================================================
--- branches/tmp/samba4-ldb-register/source/nbt_server/wins/wins_ldb.c	2006-03-02 12:43:45 UTC (rev 13783)
+++ branches/tmp/samba4-ldb-register/source/nbt_server/wins/wins_ldb.c	2006-03-02 12:53:46 UTC (rev 13784)
@@ -89,27 +89,12 @@
 	return ldb_next_request(module, req);	
 }
 
-static const struct ldb_module_ops wins_ldb_ops = {
-	.name          = "wins_ldb",
-	.request       = wins_ldb_request
-};
-
-
-/* the init function */
-struct ldb_module *wins_ldb_module_init(struct ldb_context *ldb, const char *options[])
+static int wins_ldb_init(struct ldb_module *ctx)
 {
-	struct ldb_module *ctx;
 	struct winsdb_handle *h;
 	const char *owner;
-	int ret;
 
-	ctx = talloc(ldb, struct ldb_module);
-	if (!ctx) return NULL;
-
 	ctx->private_data = NULL;
-	ctx->ldb = ldb;
-	ctx->prev = ctx->next = NULL;
-	ctx->ops = &wins_ldb_ops;
 
 	owner = lp_parm_string(-1, "winsdb", "local_owner");
 	if (!owner) {
@@ -121,17 +106,27 @@
 
 	h = talloc(ctx, struct winsdb_handle);
 	if (!h) goto failed;
-	h->ldb		= ldb;
+	h->ldb		= ctx->ldb;
 	h->caller	= WINSDB_HANDLE_CALLER_ADMIN;
 	h->local_owner	= talloc_strdup(h, owner);
 	if (!h->local_owner) goto failed;
 
-	ret = ldb_set_opaque(ldb, "winsdb_handle", h);
-	if (ret != LDB_SUCCESS) goto failed;
+	return ldb_set_opaque(ctx->ldb, "winsdb_handle", h);
 
-	return ctx;
-
 failed:
-	talloc_free(ctx);
-	return NULL;
+	talloc_free(h);
+	return 1;
 }
+
+static const struct ldb_module_ops wins_ldb_ops = {
+	.name          = "wins_ldb",
+	.request       = wins_ldb_request,
+	.init_context  = wins_ldb_init
+};
+
+
+/* the init function */
+int wins_ldb_module_init(void)
+{
+	return ldb_register_module(&wins_ldb_ops);
+}

Modified: branches/tmp/samba4-ldb-register/source/nbt_server/wins/winsserver.c
===================================================================
--- branches/tmp/samba4-ldb-register/source/nbt_server/wins/winsserver.c	2006-03-02 12:43:45 UTC (rev 13783)
+++ branches/tmp/samba4-ldb-register/source/nbt_server/wins/winsserver.c	2006-03-02 12:53:46 UTC (rev 13784)
@@ -29,6 +29,7 @@
 #include "libcli/composite/composite.h"
 #include "smbd/service_task.h"
 #include "lib/socket/socket.h"
+#include "lib/ldb/include/ldb.h"
 
 /*
   work out the ttl we will use given a client requested ttl
@@ -840,6 +841,8 @@
 		return NT_STATUS_OK;
 	}
 
+	ldb_global_init();
+
 	nbtsrv->winssrv = talloc_zero(nbtsrv, struct wins_server);
 	NT_STATUS_HAVE_NO_MEMORY(nbtsrv->winssrv);
 



More information about the samba-cvs mailing list