Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-fixmodulesdir
authorJelmer Vernooij <jelmer@samba.org>
Tue, 17 Jun 2008 11:48:29 +0000 (13:48 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Tue, 17 Jun 2008 11:48:29 +0000 (13:48 +0200)
source/include/includes.h
source/lib/ldb/common/ldb.c
source/lib/ldb/common/ldb_modules.c
source/param/util.c
source/scripting/python/samba/provision.py
source/selftest/target/Samba4.pm

index 1a92e4665718749a11290bb92055a90e4a2856e0..df0d8f77132ba53d728f20fe09d25d86e6a61b5c 100644 (file)
 #define TALLOC_ABORT(reason) smb_panic(reason)
 #endif
 
+/* this needs to be a string which is not in the C library. We
+   previously used "init_module", but that meant that modules which
+   did not define this function ended up calling the C library
+   function init_module() which makes a system call */
+#define SAMBA_INIT_MODULE "samba_init_module"
+
 #endif /* _INCLUDES_H */
index d0570c538211eefa2f9a5d45db10b910dab62ce9..cac0a383d8d6e2c0112c93e8ad69691d5a907c5c 100644 (file)
@@ -184,16 +184,6 @@ int ldb_connect_backend(struct ldb_context *ldb,
 
        fn = ldb_find_backend(backend);
 
-       if (fn == NULL) {
-               int (*init_fn) (void);
-
-               init_fn = ldb_dso_load_symbol(ldb, backend,
-                                             "init_module");
-               if (init_fn != NULL && init_fn() == 0) {
-                       fn = ldb_find_backend(backend);
-               }
-       }
-
        if (fn == NULL) {
                struct ldb_backend_ops *ops;
                char *symbol_name = talloc_asprintf(ldb, "ldb_%s_backend_ops", backend);
index ddbe0f23a60cee35c904c92f20eff172b728836b..fbfb5e5322fdca4f05e71e2066908e6e049c37ca 100644 (file)
@@ -223,16 +223,6 @@ int ldb_load_modules_list(struct ldb_context *ldb, const char **module_list, str
                const struct ldb_module_ops *ops;
                
                ops = ldb_find_module_ops(module_list[i]);
-               if (ops == NULL) {
-                       int (*init_fn) (void);
-
-                       init_fn = ldb_dso_load_symbol(ldb, module_list[i], 
-                                                     "init_module");
-                       if (init_fn != NULL && init_fn() == 0) {
-                               ops = ldb_find_module_ops(module_list[i]);
-                       }
-               }
-
                if (ops == NULL) {
                        char *symbol_name = talloc_asprintf(ldb, "ldb_%s_module_ops", 
                                                                                                module_list[i]);
index 15e3b4768ceb5ebe094bbd599be38174b4aee09b..ec192939d0a1933d78379211747b1e682c458a1b 100644 (file)
@@ -182,7 +182,7 @@ init_module_fn load_module(TALLOC_CTX *mem_ctx, const char *path)
                return NULL;
        }
 
-       init_fn = dlsym(handle, "init_module");
+       init_fn = dlsym(handle, SAMBA_INIT_MODULE);
 
        if (init_fn == NULL) {
                DEBUG(0, ("Unable to find init_module() in %s: %s\n", path, dlerror()));
index 3f936c3301cc2de98bc406c8fc3624c154d0cb9e..93a4c8f50222e6fe76a7c22e31aeea7f11300013 100644 (file)
@@ -1180,6 +1180,8 @@ def provision_backend(setup_dir=None, message=None,
 
     schemadb = Ldb(schemadb_path, lp=lp)
  
+    prefixmap = open(setup_path("prefixMap.txt"), 'r').read()
+
     setup_add_ldif(schemadb, setup_path("provision_schema_basedn.ldif"), 
                    {"SCHEMADN": names.schemadn,
                     "ACI": "#",
@@ -1191,7 +1193,8 @@ def provision_backend(setup_dir=None, message=None,
                            "NETBIOSNAME": names.netbiosname,
                            "DEFAULTSITE": DEFAULTSITE,
                            "CONFIGDN": names.configdn,
-                           "SERVERDN": names.serverdn
+                           "SERVERDN": names.serverdn,
+                           "PREFIXMAP_B64": b64encode(prefixmap)
                            })
     
     setup_add_ldif(schemadb, setup_path("schema_samba4.ldif"), 
index b1b74e4323dff620df840272cc914f4cd80d382e..b3dc984593efc14390e78163fed76fff889a95b0 100644 (file)
@@ -751,7 +751,7 @@ nogroup:x:65534:nobody
        if (defined($self->{ldap})) {
 
                 push (@provision_options, "--ldap-backend=$ldap_uri");
-               system("$self->{bindir}/smbpython $self->{setupdir}/provision-backend $configuration --ldap-manager-pass=$password --root=$unix_name --realm=$realm --domain=$domain --host-name=$netbiosname --ldap-backend-type=$self->{ldap}>&2") == 0 or die("backend provision failed");
+               system("$self->{setupdir}/provision-backend $configuration --ldap-manager-pass=$password --root=$unix_name --realm=$realm --domain=$domain --host-name=$netbiosname --ldap-backend-type=$self->{ldap}>&2") == 0 or die("backend provision failed");
 
                if ($self->{ldap} eq "openldap") {
                       ($ret->{SLAPD_CONF}, $ret->{OPENLDAP_PIDFILE}) = $self->mk_openldap($ldapdir, $configuration) or die("Unable to create openldap directories");