diff options
Diffstat (limited to 'source4/scripting')
-rwxr-xr-x | source4/scripting/bin/upgradeprovision | 15 | ||||
-rw-r--r-- | source4/scripting/python/samba/misc.py | 33 | ||||
-rw-r--r-- | source4/scripting/python/samba/tests/dsdb.py | 6 |
3 files changed, 14 insertions, 40 deletions
diff --git a/source4/scripting/bin/upgradeprovision b/source4/scripting/bin/upgradeprovision index a478856165..242d040c7d 100755 --- a/source4/scripting/bin/upgradeprovision +++ b/source4/scripting/bin/upgradeprovision @@ -22,6 +22,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. +import ldb import logging import optparse import os @@ -41,7 +42,6 @@ from ldb import (SCOPE_SUBTREE, SCOPE_BASE, FLAG_MOD_REPLACE, FLAG_MOD_ADD, FLAG_MOD_DELETE, MessageElement, Message, Dn) from samba import param -from samba.misc import messageEltFlagToString from samba.provision import (find_setup_dir, get_domain_descriptor, get_config_descriptor, secretsdb_self_join, ProvisioningError, getLastProvisionUSN, @@ -683,6 +683,13 @@ def handle_links(samdb, att, basedn, dn, value, ref_value, delta): else: delta.remove(att) + +msg_elt_flag_strs = { + ldb.FLAG_MOD_ADD: "MOD_ADD", + ldb.FLAG_MOD_REPLACE: "MOD_REPLACE", + ldb.FLAG_MOD_DELETE: "MOD_DELETE" } + + def update_present(ref_samdb, samdb, basedn, listPresent, usns, invocationid): """ This function updates the object that are already present in the provision @@ -857,11 +864,11 @@ def update_present(ref_samdb, samdb, basedn, listPresent, usns, invocationid): if opts.debugchange or opts.debugall: try: dump_denied_change(dn, att, - messageEltFlagToString(msgElt.flags()), + msg_elt_flag_strs[msgElt.flags()], current[0][att], reference[0][att]) except KeyError: dump_denied_change(dn, att, - messageEltFlagToString(msgElt.flags()), + msg_elt_flag_strs[msgElt.flags()], current[0][att], None) delta.remove(att) continue @@ -881,6 +888,7 @@ def update_present(ref_samdb, samdb, basedn, listPresent, usns, invocationid): samdb.modify(delta) return changed + def update_partition(ref_samdb, samdb, basedn, names, schema, provisionUSNs): """Check differences between the reference provision and the upgraded one. @@ -960,7 +968,6 @@ def update_partition(ref_samdb, samdb, basedn, names, schema, provisionUSNs): return 0 - def check_updated_sd(ref_sam, cur_sam, names): """Check if the security descriptor in the upgraded provision are the same as the reference diff --git a/source4/scripting/python/samba/misc.py b/source4/scripting/python/samba/misc.py deleted file mode 100644 index 0089751586..0000000000 --- a/source4/scripting/python/samba/misc.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/python - -# Unix SMB/CIFS implementation. -# Copyright (C) Matthieu Patou 2010 <mat@matws.net> -# -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# - -"""Misc helper functions""" - -__docformat__ = "restructuredText" - -import ldb - -def messageEltFlagToString(flag): - if flag == ldb.FLAG_MOD_ADD: - return "MOD_ADD" - elif flag == ldb.FLAG_MOD_REPLACE: - return "MOD_REPLACE" - elif flag == ldb.FLAG_MOD_DELETE: - return "MOD_DELETE" diff --git a/source4/scripting/python/samba/tests/dsdb.py b/source4/scripting/python/samba/tests/dsdb.py index 86ec3ecd6c..24a2888bf3 100644 --- a/source4/scripting/python/samba/tests/dsdb.py +++ b/source4/scripting/python/samba/tests/dsdb.py @@ -19,7 +19,7 @@ import samba.dsdb from samba.credentials import Credentials -from samba import Ldb +from samba.samdb import SamDB from samba.auth import system_session from testtools.testcase import TestCase import os @@ -36,7 +36,7 @@ class DsdbTests(TestCase): creds = Credentials() creds.guess(lp) session = system_session() - test_ldb = Ldb(os.path.join(self._baseprovpath(), "private", "sam.ldb"), + test_ldb = SamDB(os.path.join(self._baseprovpath(), "private", "sam.ldb"), session_info=session, credentials=creds,lp=lp) - oid = samba.dsdb.dsdb_get_oid_from_attid(test_ldb, 591614) + oid = test_ldb.dsdb_get_oid_from_attid(591614) self.assertEquals(oid, "1.2.840.113556.1.4.1790") |