Fix authservice count.
[jelmer/samba4-debian.git] / source / ntptr / ntptr_base.c
index f12a58cb4ec6daec50fd90d4812975580f358ae5..26e192d64bee7529802df974da0814f233601be6 100644 (file)
@@ -7,7 +7,7 @@
 
    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 2 of the License, or
+   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,
@@ -16,8 +16,7 @@
    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, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 /*
   this implements the core code for all NTPTR modules. Backends register themselves here.
@@ -25,7 +24,8 @@
 
 #include "includes.h"
 #include "ntptr/ntptr.h"
-#include "dlinklist.h"
+#include "build.h"
+#include "param/param.h"
 
 /* the list of currently registered NTPTR backends */
 static struct ntptr_backend {
@@ -69,6 +69,19 @@ NTSTATUS ntptr_register(const void *_ops)
        return NT_STATUS_OK;
 }
 
+NTSTATUS ntptr_init(struct loadparm_context *lp_ctx)
+{
+       init_module_fn static_init[] = { STATIC_ntptr_MODULES };
+       init_module_fn *shared_init = load_samba_modules(NULL, lp_ctx, "ntptr");
+
+       run_init_functions(static_init);
+       run_init_functions(shared_init);
+
+       talloc_free(shared_init);
+       
+       return NT_STATUS_OK;    
+}
+
 
 /*
   return the operations structure for a named backend
@@ -106,7 +119,8 @@ const struct ntptr_critical_sizes *ntptr_interface_version(void)
 /*
   create a ntptr_context with a specified NTPTR backend
 */
-NTSTATUS ntptr_init_context(TALLOC_CTX *mem_ctx, const char *providor, struct ntptr_context **_ntptr)
+NTSTATUS ntptr_init_context(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
+                           const char *providor, struct ntptr_context **_ntptr)
 {
        NTSTATUS status;
        struct ntptr_context *ntptr;
@@ -119,6 +133,7 @@ NTSTATUS ntptr_init_context(TALLOC_CTX *mem_ctx, const char *providor, struct nt
        NT_STATUS_HAVE_NO_MEMORY(ntptr);
        ntptr->private_data     = NULL;
        ntptr->ops              = ntptr_backend_byname(providor);
+       ntptr->lp_ctx           = lp_ctx;
 
        if (!ntptr->ops) {
                DEBUG(1,("ntptr_init_context: failed to find NTPTR providor='%s'\n",