Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into manpage
authorJelmer Vernooij <jelmer@samba.org>
Fri, 1 Aug 2008 18:17:56 +0000 (20:17 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Fri, 1 Aug 2008 18:17:56 +0000 (20:17 +0200)
(This used to be commit c87a8ba1fef1ba508ad6527d0bae4bcdd5b3cb69)

1  2 
source4/scripting/python/samba/provision.py

index 33aeff2008cb9095dd0dbf768046096c636ad9f1,441d662b239a73512b0efadc2c0be7026a8a5ec8..6b1fd33b9f880c47bc3b2dcaecbd58a5e81498ad
@@@ -133,26 -133,6 +133,6 @@@ findnss_uid = lambda names: findnss(pwd
  findnss_gid = lambda names: findnss(grp.getgrnam, names)[2]
  
  
- def open_ldb(session_info, credentials, lp, dbname):
-     """Open a LDB, thrashing it if it is corrupt.
-     :param session_info: auth session information
-     :param credentials: credentials
-     :param lp: Loadparm context
-     :param dbname: Path of the database to open.
-     :return: a Ldb object
-     """
-     assert session_info is not None
-     try:
-         return Ldb(dbname, session_info=session_info, credentials=credentials, 
-                    lp=lp)
-     except LdbError, e:
-         print e
-         os.unlink(dbname)
-         return Ldb(dbname, session_info=session_info, credentials=credentials,
-                    lp=lp)
  def read_and_sub_file(file, subst_vars):
      """Read a file and sub in variables found in it
      
@@@ -799,7 -779,6 +779,6 @@@ def setup_samdb(path, setup_path, sessi
          setup_add_ldif(samdb, setup_path("provision_configuration_basedn.ldif"), {
              "CONFIGDN": names.configdn, 
              "ACI": aci,
-             "EXTENSIBLEOBJECT": "# no objectClass: extensibleObject for local ldb",
              })
          message("Modifying configuration container")
          setup_modify_ldif(samdb, setup_path("provision_configuration_basedn_modify.ldif"), {
          setup_add_ldif(samdb, setup_path("provision_schema_basedn.ldif"), {
              "SCHEMADN": names.schemadn,
              "ACI": aci,
-             "EXTENSIBLEOBJECT": "# no objectClass: extensibleObject for local ldb"
              })
          message("Modifying schema container")
  
@@@ -1195,7 -1173,7 +1173,7 @@@ def provision_backend(setup_dir=None, m
      paths = provision_paths_from_lp(lp, names.dnsdomain)
  
      if not os.path.isdir(paths.ldapdir):
-         os.makedirs(paths.ldapdir)
+         os.makedirs(paths.ldapdir, 0700)
      schemadb_path = os.path.join(paths.ldapdir, "schema-tmp.ldb")
      try:
          os.unlink(schemadb_path)
      setup_add_ldif(schemadb, setup_path("provision_schema_basedn.ldif"), 
                     {"SCHEMADN": names.schemadn,
                      "ACI": "#",
-                     "EXTENSIBLEOBJECT": "# no objectClass: extensibleObject for local ldb"
                      })
      setup_modify_ldif(schemadb, 
                        setup_path("provision_schema_basedn_modify.ldif"), \
          
          slapdcommand="Initailise Fedora DS with: setup-ds.pl --file=%s" % paths.fedoradsinf
         
+         ldapuser = "--simple-bind-dn=" + names.ldapmanagerdn
      elif ldap_backend_type == "openldap":
          attrs = ["linkID", "lDAPDisplayName"]
          res = schemadb.search(expression="(&(&(linkID=*)(!(linkID:1.2.840.113556.1.4.803:=1)))(objectclass=attributeSchema))", base=names.schemadn, scope=SCOPE_SUBTREE, attrs=attrs)
          setup_db_config(setup_path, os.path.join(paths.ldapdir, "db", "schema"))
  
          if not os.path.exists(os.path.join(paths.ldapdir, "db", "samba",  "cn=samba")):
-             os.makedirs(os.path.join(paths.ldapdir, "db", "samba",  "cn=samba"))
+             os.makedirs(os.path.join(paths.ldapdir, "db", "samba",  "cn=samba"), 0700)
  
          setup_file(setup_path("cn=samba.ldif"), 
                     os.path.join(paths.ldapdir, "db", "samba",  "cn=samba.ldif"),
              server_port_string = " -h ldap://0.0.0.0:%d" % ldap_backend_port
          else:
              server_port_string = ""
-             slapdcommand="Start slapd with:    slapd -f " + paths.ldapdir + "/slapd.conf -h " + ldapi_uri + server_port_string
+         slapdcommand="Start slapd with:    slapd -f " + paths.ldapdir + "/slapd.conf -h " + ldapi_uri + server_port_string
+         ldapuser = "--username=samba-admin"
  
              
      schema_command = "bin/ad2oLschema --option=convert:target=" + ldap_backend_type + " -I " + setup_path(mapping) + " -H tdb://" + schemadb_path + " -O " + os.path.join(paths.ldapdir, backend_schema)
  
      message("LDAP admin password: %s" % adminpass)
      message(slapdcommand)
+     message("Run provision with:  --ldap-backend=ldapi --ldap-backend-type=" + ldap_backend_type + " --password=" + adminpass + " " + ldapuser)
  
  def create_phpldapadmin_config(path, setup_path, ldapi_uri):
      """Create a PHP LDAP admin configuration file.
@@@ -1453,7 -1435,6 +1435,7 @@@ def load_schema(setup_path, samdb, sche
      schema_data = open(setup_path("schema.ldif"), 'r').read()
      schema_data += open(setup_path("schema_samba4.ldif"), 'r').read()
      schema_data = substitute_var(schema_data, {"SCHEMADN": schemadn})
 +    check_all_substituted(schema_data)
      prefixmap = open(setup_path("prefixMap.txt"), 'r').read()
      prefixmap = b64encode(prefixmap)
  
                      "DEFAULTSITE":sitename,
                      "PREFIXMAP_B64":prefixmap
      })
 +    check_all_substituted(head_data)
      samdb.attach_schema_from_ldif(head_data, schema_data)