diff options
Diffstat (limited to 'source4/scripting/python')
| -rw-r--r-- | source4/scripting/python/samba/provision/sambadns.py | 21 | ||||
| -rw-r--r-- | source4/scripting/python/samba/tdb_util.py | 41 | 
2 files changed, 42 insertions, 20 deletions
diff --git a/source4/scripting/python/samba/provision/sambadns.py b/source4/scripting/python/samba/provision/sambadns.py index 21675113d6..4522683fe8 100644 --- a/source4/scripting/python/samba/provision/sambadns.py +++ b/source4/scripting/python/samba/provision/sambadns.py @@ -27,7 +27,7 @@ import time  import ldb  from base64 import b64encode  import samba -import subprocess +from samba.tdb_util import tdb_copy  from samba.ndr import ndr_pack, ndr_unpack  from samba import setup_file  from samba.dcerpc import dnsp, misc, security @@ -739,25 +739,6 @@ def create_zone_file(lp, logger, paths, targetdir, dnsdomain,          os.system(rndc + " unfreeze " + lp.get("realm")) -def tdb_copy(file1, file2): -    """Copy tdb file using tdbbackup utility and rename it -    """ -    # Find the location of tdbbackup tool -    dirs = ["bin", samba.param.bin_dir()] + os.getenv('PATH').split(os.pathsep) -    for d in dirs: -        toolpath = os.path.join(d, "tdbbackup") -        if os.path.exists(toolpath): -            break - -    tdbbackup_cmd = [toolpath, "-s", ".copy.tdb", file1] -    status = subprocess.call(tdbbackup_cmd, close_fds=True, shell=False) - -    if status == 0: -        os.rename("%s.copy.tdb" % file1, file2) -    else: -        raise Exception("Error copying %s" % file1) - -  def create_samdb_copy(samdb, logger, paths, names, domainsid, domainguid):      """Create a copy of samdb and give write permissions to named for dns partitions      """ diff --git a/source4/scripting/python/samba/tdb_util.py b/source4/scripting/python/samba/tdb_util.py new file mode 100644 index 0000000000..d967434e5b --- /dev/null +++ b/source4/scripting/python/samba/tdb_util.py @@ -0,0 +1,41 @@ +# Unix SMB/CIFS implementation. +# tdb util helpers +# +# Copyright (C) Kai Blin <kai@samba.org> 2011 +# Copyright (C) Amitay Isaacs <amitay@gmail.com> 2011 +# Copyright (C) Andrew Bartlett <abartlet@samba.org> 2013 +# +# 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/>. + +import samba +import subprocess +import os + +def tdb_copy(file1, file2): +    """Copy tdb file using tdbbackup utility and rename it +    """ +    # Find the location of tdbbackup tool +    dirs = ["bin", samba.param.bin_dir()] + os.getenv('PATH').split(os.pathsep) +    for d in dirs: +        toolpath = os.path.join(d, "tdbbackup") +        if os.path.exists(toolpath): +            break + +    tdbbackup_cmd = [toolpath, "-s", ".copy.tdb", file1] +    status = subprocess.call(tdbbackup_cmd, close_fds=True, shell=False) + +    if status == 0: +        os.rename("%s.copy.tdb" % file1, file2) +    else: +        raise Exception("Error copying %s" % file1)  | 
