diff options
| author | William Brown <william@blackhats.net.au> | 2018-05-19 12:19:58 +1000 |
|---|---|---|
| committer | Andrew Bartlett <abartlet@samba.org> | 2018-05-29 08:30:52 +0200 |
| commit | 5b8620307edfd2897dd61c7e860d95662c547ecc (patch) | |
| tree | 563a589bca9631b52f5e7025f62bf9f157848a8f /python | |
| parent | 4b1a86235ba454b0e5e27ca621d87c8644b2a98c (diff) | |
| download | samba-5b8620307edfd2897dd61c7e860d95662c547ecc.tar.gz samba-5b8620307edfd2897dd61c7e860d95662c547ecc.tar.bz2 samba-5b8620307edfd2897dd61c7e860d95662c547ecc.zip | |
python/samba/netcmd/schema.py: samdb schema update now
When we change schema values, we should trigger a schema update to refresh
the changes applied. This is called after a change is made. A helper to
samdb is added so that it's easier for other locations to call additionally.
Signed-off-by: William Brown <william@blackhats.net.au>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue May 29 08:30:52 CEST 2018 on sn-devel-144
Diffstat (limited to 'python')
| -rw-r--r-- | python/samba/netcmd/domain.py | 11 | ||||
| -rw-r--r-- | python/samba/netcmd/schema.py | 1 | ||||
| -rw-r--r-- | python/samba/samdb.py | 9 |
3 files changed, 11 insertions, 10 deletions
diff --git a/python/samba/netcmd/domain.py b/python/samba/netcmd/domain.py index 6698fc9583a..819ddd680be 100644 --- a/python/samba/netcmd/domain.py +++ b/python/samba/netcmd/domain.py @@ -3909,15 +3909,6 @@ class ldif_schema_update: self.dn = None self.ldif = "" - def _ldap_schemaUpdateNow(self, samdb): - ldif = """ -dn: -changetype: modify -add: schemaUpdateNow -schemaUpdateNow: 1 -""" - samdb.modify_ldif(ldif) - def can_ignore_failure(self, error): """Checks if we can safely ignore failure to apply an LDIF update""" (num, errstr) = error.args @@ -3946,7 +3937,7 @@ schemaUpdateNow: 1 # Otherwise the OID-to-attribute mapping in # _apply_updates_in_file() won't work, because it # can't lookup the new OID in the schema - self._ldap_schemaUpdateNow(samdb) + samdb.set_schema_update_now() samdb.modify_ldif(self.ldif, controls=['relax:0']) else: diff --git a/python/samba/netcmd/schema.py b/python/samba/netcmd/schema.py index 6579cc9cdcc..9a356a43b8e 100644 --- a/python/samba/netcmd/schema.py +++ b/python/samba/netcmd/schema.py @@ -125,6 +125,7 @@ class cmd_schema_attribute_modify(Command): str(searchflags_int), ldb.FLAG_MOD_REPLACE, 'searchFlags') samdb.modify(m) + samdb.set_schema_update_now() self.outf.write("modified %s" % attr_dn) class cmd_schema_attribute_show(Command): diff --git a/python/samba/samdb.py b/python/samba/samdb.py index 2b5c43faa54..7184fcfa4b0 100644 --- a/python/samba/samdb.py +++ b/python/samba/samdb.py @@ -762,6 +762,15 @@ accountExpires: %u def set_schema_from_ldb(self, ldb_conn, write_indices_and_attributes=True): dsdb._dsdb_set_schema_from_ldb(self, ldb_conn, write_indices_and_attributes) + def set_schema_update_now(self): + ldif = """ +dn: +changetype: modify +add: schemaUpdateNow +schemaUpdateNow: 1 +""" + self.modify_ldif(ldif) + def dsdb_DsReplicaAttribute(self, ldb, ldap_display_name, ldif_elements): '''convert a list of attribute values to a DRSUAPI DsReplicaAttribute''' return dsdb._dsdb_DsReplicaAttribute(ldb, ldap_display_name, ldif_elements) |
