diff options
| author | Andrew Bartlett <abartlet@samba.org> | 2010-06-10 08:58:44 +1000 | 
|---|---|---|
| committer | Andrew Bartlett <abartlet@samba.org> | 2010-06-12 11:18:36 +1000 | 
| commit | 57b6979ad034b50debd47979e05b925daa54b5a4 (patch) | |
| tree | d445dedfc9b9899569eb4e64bf9461bffd21f5d3 /source4/scripting/python | |
| parent | 6336f244758e78dfce61715b5de403e3db7fb02e (diff) | |
| download | samba-57b6979ad034b50debd47979e05b925daa54b5a4.tar.gz samba-57b6979ad034b50debd47979e05b925daa54b5a4.tar.bz2 samba-57b6979ad034b50debd47979e05b925daa54b5a4.zip  | |
s4:provision Allow both additional and override prefixmaps in Schema
The idea here is to allow some callers to specify a new prefixMap that
will override the values loaded from the prefixMap.txt.
Andrew Bartlett
Diffstat (limited to 'source4/scripting/python')
| -rw-r--r-- | source4/scripting/python/samba/provisionbackend.py | 2 | ||||
| -rw-r--r-- | source4/scripting/python/samba/schema.py | 11 | 
2 files changed, 8 insertions, 5 deletions
diff --git a/source4/scripting/python/samba/provisionbackend.py b/source4/scripting/python/samba/provisionbackend.py index 629bc28189..b8abc28eaa 100644 --- a/source4/scripting/python/samba/provisionbackend.py +++ b/source4/scripting/python/samba/provisionbackend.py @@ -604,7 +604,7 @@ class FDSBackend(LDAPBackend):                  schemadn=self.names.schemadn,                  serverdn=self.names.serverdn,                  files=[setup_path("schema_samba4.ldif"), self.samba3_ldif], -                prefixmap=["1000:1.3.6.1.4.1.7165.2.1", "1001:1.3.6.1.4.1.7165.2.2"]) +                additional_prefixmap=["1000:1.3.6.1.4.1.7165.2.1", "1001:1.3.6.1.4.1.7165.2.2"])      def provision(self):          from samba.provision import ProvisioningError diff --git a/source4/scripting/python/samba/schema.py b/source4/scripting/python/samba/schema.py index fc4f131932..bdc09cfd3a 100644 --- a/source4/scripting/python/samba/schema.py +++ b/source4/scripting/python/samba/schema.py @@ -53,7 +53,7 @@ def get_schema_descriptor(domain_sid):  class Schema(object):      def __init__(self, setup_path, domain_sid, invocationid=None, schemadn=None, -                 serverdn=None, files=None, prefixmap=None, am_rodc=False): +                 serverdn=None, files=None, override_prefixmap=None, additional_prefixmap=None, am_rodc=False):          """Load schema for the SamDB from the AD schema files and samba4_schema.ldif          :param samdb: Load a schema into a SamDB. @@ -92,10 +92,13 @@ class Schema(object):              setup_path("provision_schema_basedn.ldif"),              {"SCHEMADN": schemadn, "DESCRIPTOR": descr}) -        self.prefixmap_data = open(setup_path("prefixMap.txt"), 'r').read() +        if override_prefixmap is not None: +            self.prefixmap_data = override_prefixmap +        else: +            self.prefixmap_data = open(setup_path("prefixMap.txt"), 'r').read() -        if prefixmap is not None: -            for map in prefixmap: +        if additional_prefixmap is not None: +            for map in additional_prefixmap:                  self.prefixmap_data += "%s\n" % map          self.prefixmap_data = b64encode(self.prefixmap_data)  | 
