from samba.ntacls import setntacl, getntacl, dsacl2fsacl
from samba.ndr import ndr_pack, ndr_unpack
from samba.provision.backend import (
- ExistingBackend,
FDSBackend,
LDBBackend,
OpenLDAPBackend,
provision_backend = LDBBackend(backend_type, paths=paths,
lp=lp,
names=names, logger=logger)
- elif backend_type == "existing":
- # If support for this is ever added back, then the URI will need to be
- # specified again
- provision_backend = ExistingBackend(backend_type, paths=paths,
- lp=lp,
- names=names, logger=logger,
- ldap_backend_forced_uri=ldap_backend_forced_uri)
elif backend_type == "fedora-ds":
provision_backend = FDSBackend(backend_type, paths=paths,
lp=lp,
pass
-class ExistingBackend(ProvisionBackend):
-
- def __init__(self, backend_type, paths=None, lp=None,
- names=None, logger=None, ldapi_uri=None):
-
- super(ExistingBackend, self).__init__(backend_type=backend_type,
- paths=paths, lp=lp,
- names=names, logger=logger,
- ldap_backend_forced_uri=ldapi_uri)
-
- def init(self):
- # Check to see that this 'existing' LDAP backend in fact exists
- ldapi_db = Ldb(self.ldapi_uri)
- ldapi_db.search(base="", scope=SCOPE_BASE,
- expression="(objectClass=OpenLDAProotDSE)")
-
- # For now, assume existing backends at least emulate OpenLDAP
- self.ldap_backend_type = "openldap"
-
-
class LDAPBackend(ProvisionBackend):
def __init__(self, backend_type, paths=None, lp=None,