[SCM] Samba Shared Repository - branch master updated

Jelmer Vernooij jelmer at samba.org
Wed Oct 12 21:07:03 MDT 2011


The branch, master has been updated
       via  88d997a samba-tool: Use self.outf in a few more places.
       via  0e70e26 samba-tool delegation: Use self.outf, simplify some code.
       via  3978a50 samba.getopt: Refactor parsing of --kerberos argument into separate function.
      from  5e04231 s3:smb2_server: get/set info are limited by max_trans size (bug #8473)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 88d997a63e93c4d0ed20e39a962d34b74c90b90c
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Oct 13 00:36:44 2011 +0200

    samba-tool: Use self.outf in a few more places.
    
    Autobuild-User: Jelmer Vernooij <jelmer at samba.org>
    Autobuild-Date: Thu Oct 13 05:06:52 CEST 2011 on sn-devel-104

commit 0e70e26d927441260332941d8eeb506cf6f06e62
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Oct 13 00:19:51 2011 +0200

    samba-tool delegation: Use self.outf, simplify some code.

commit 3978a502438e9a5f9c004401c06ca83a4824327e
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Oct 12 23:45:52 2011 +0200

    samba.getopt: Refactor parsing of --kerberos argument into separate function.

-----------------------------------------------------------------------

Summary of changes:
 source4/scripting/python/samba/getopt.py           |   29 +++++----
 source4/scripting/python/samba/netcmd/__init__.py  |   12 ++--
 source4/scripting/python/samba/netcmd/dbcheck.py   |   13 ++--
 .../scripting/python/samba/netcmd/delegation.py    |   22 +++----
 source4/scripting/python/samba/netcmd/dsacl.py     |    4 +-
 source4/scripting/python/samba/netcmd/fsmo.py      |    4 +-
 source4/scripting/python/samba/netcmd/gpo.py       |   64 ++++++++++----------
 source4/scripting/python/samba/netcmd/group.py     |   15 +++--
 source4/scripting/python/samba/netcmd/ldapcmp.py   |   33 ++++++----
 source4/scripting/python/samba/netcmd/ntacl.py     |    4 +-
 source4/scripting/python/samba/netcmd/rodc.py      |    2 +-
 source4/scripting/python/samba/netcmd/spn.py       |   11 ++-
 source4/scripting/python/samba/netcmd/testparm.py  |    4 +-
 source4/scripting/python/samba/netcmd/time.py      |    2 +-
 source4/scripting/python/samba/netcmd/user.py      |   24 ++++----
 15 files changed, 128 insertions(+), 115 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/scripting/python/samba/getopt.py b/source4/scripting/python/samba/getopt.py
index 1b30d2f..f939180 100644
--- a/source4/scripting/python/samba/getopt.py
+++ b/source4/scripting/python/samba/getopt.py
@@ -105,8 +105,20 @@ class VersionOptions(optparse.OptionGroup):
         sys.exit(0)
 
 
+def parse_kerberos_arg(arg):
+    if arg.lower() in ["yes", 'true', '1']:
+        return MUST_USE_KERBEROS
+    elif arg.lower() in ["no", 'false', '0']:
+        return DONT_USE_KERBEROS
+    elif arg.lower() in ["auto"]:
+        return AUTO_USE_KERBEROS
+    else:
+        raise optparse.BadOptionError("invalid kerberos option: %s" % arg)
+
+
 class CredentialsOptions(optparse.OptionGroup):
     """Command line options for specifying credentials."""
+
     def __init__(self, parser):
         self.no_pass = True
         self.ipaddress = None
@@ -147,14 +159,7 @@ class CredentialsOptions(optparse.OptionGroup):
         self.ipaddress = arg
 
     def _set_kerberos(self, option, opt_str, arg, parser):
-        if arg.lower() in ["yes", 'true', '1']:
-            self.creds.set_kerberos_state(MUST_USE_KERBEROS)
-        elif arg.lower() in ["no", 'false', '0']:
-            self.creds.set_kerberos_state(DONT_USE_KERBEROS)
-        elif arg.lower() in ["auto"]:
-            self.creds.set_kerberos_state(AUTO_USE_KERBEROS)
-        else:
-            raise optparse.BadOptionError("invalid kerberos option: %s" % arg)
+        self.creds.set_kerberos_state(parse_kerberos_arg(arg))
 
     def _set_simple_bind_dn(self, option, opt_str, arg, parser):
         self.creds.set_bind_dn(arg)
@@ -182,6 +187,7 @@ class CredentialsOptions(optparse.OptionGroup):
 
 class CredentialsOptionsDouble(CredentialsOptions):
     """Command line options for specifying credentials of two servers."""
+
     def __init__(self, parser):
         CredentialsOptions.__init__(self, parser)
         self.no_pass2 = True
@@ -217,10 +223,7 @@ class CredentialsOptionsDouble(CredentialsOptions):
         self.no_pass2 = False
 
     def _set_kerberos2(self, option, opt_str, arg, parser):
-        if bool(arg) or arg.lower() == "yes":
-            self.creds2.set_kerberos_state(MUST_USE_KERBEROS)
-        else:
-            self.creds2.set_kerberos_state(DONT_USE_KERBEROS)
+        self.creds2.set_kerberos_state(parse_kerberos_arg(arg))
 
     def _set_simple_bind_dn2(self, option, opt_str, arg, parser):
         self.creds2.set_bind_dn(arg)
@@ -235,7 +238,7 @@ class CredentialsOptionsDouble(CredentialsOptions):
         if guess:
             self.creds2.guess(lp)
         elif not self.creds2.get_username():
-                self.creds2.set_anonymous()
+            self.creds2.set_anonymous()
 
         if self.no_pass2:
             self.creds2.set_cmdline_callbacks()
diff --git a/source4/scripting/python/samba/netcmd/__init__.py b/source4/scripting/python/samba/netcmd/__init__.py
index 49e0380..33ed3d5 100644
--- a/source4/scripting/python/samba/netcmd/__init__.py
+++ b/source4/scripting/python/samba/netcmd/__init__.py
@@ -100,7 +100,7 @@ class Command(object):
         return parser, optiongroups
 
     def message(self, text):
-        print text
+        self.outf.write(text+"\n")
 
     def _run(self, *argv):
         parser, optiongroups = self._create_parser()
@@ -162,17 +162,17 @@ class SuperCommand(Command):
             usage = "samba-tool <subcommand>"
         else:
             usage = "samba-tool %s <subcommand>" % myname
-        print "Usage: %s [options]" %usage        
-        print "Available subcommands:"
+        self.outf.write("Usage: %s [options]\n" % usage)
+        self.outf.write("Available subcommands:\n")
         subcmds = self.subcommands.keys()
         subcmds.sort()
-        max_length = max(map(lambda c: len(c), subcmds))
+        max_length = max([len(c) for c in subcmds])
         for cmd in subcmds:
-            print "  %*s  - %s" % (-max_length, cmd, self.subcommands[cmd].description)
+            self.outf.write("  %*s  - %s\n" % (-max_length, cmd, self.subcommands[cmd].description))
         if subcommand in [None]:
             raise CommandError("You must specify a subcommand")
         if subcommand in ['help', '-h', '--help']:
-            print "For more help on a specific subcommand, please type: %s (-h|--help)" % usage
+            self.outf.write("For more help on a specific subcommand, please type: %s (-h|--help)\n" % usage)
             return 0
         raise CommandError("No such subcommand '%s'" % subcommand)
 
diff --git a/source4/scripting/python/samba/netcmd/dbcheck.py b/source4/scripting/python/samba/netcmd/dbcheck.py
index 7840a61..44f3ded 100644
--- a/source4/scripting/python/samba/netcmd/dbcheck.py
+++ b/source4/scripting/python/samba/netcmd/dbcheck.py
@@ -56,8 +56,10 @@ class cmd_dbcheck(Command):
                type=str, metavar="URL", dest="H"),
         ]
 
-    def run(self, DN=None, H=None, verbose=False, fix=False, yes=False, cross_ncs=False, quiet=False,
-            scope="SUB", credopts=None, sambaopts=None, versionopts=None, attrs=None, reindex=False):
+    def run(self, DN=None, H=None, verbose=False, fix=False, yes=False,
+            cross_ncs=False, quiet=False,
+            scope="SUB", credopts=None, sambaopts=None, versionopts=None,
+            attrs=None, reindex=False):
 
         lp = sambaopts.get_loadparm()
 
@@ -77,7 +79,7 @@ class cmd_dbcheck(Command):
             samdb_schema = SamDB(session_info=system_session(), url=None,
                                  credentials=creds, lp=lp)
 
-        scope_map = { "SUB": ldb.SCOPE_SUBTREE, "BASE":ldb.SCOPE_BASE, "ONE":ldb.SCOPE_ONELEVEL }
+        scope_map = { "SUB": ldb.SCOPE_SUBTREE, "BASE": ldb.SCOPE_BASE, "ONE":ldb.SCOPE_ONELEVEL }
         scope = scope.upper()
         if not scope in scope_map:
             raise CommandError("Unknown scope %s" % scope)
@@ -95,7 +97,6 @@ class cmd_dbcheck(Command):
             attrs = attrs.split()
 
         started_transaction = False
-
         if yes and fix:
             samdb.transaction_start()
             started_transaction = True
@@ -104,10 +105,10 @@ class cmd_dbcheck(Command):
                     fix=fix, yes=yes, quiet=quiet)
 
             if reindex:
-                print("Re-indexing...")
+                self.outf.write("Re-indexing...\n")
                 error_count = 0
                 if chk.reindex_database():
-                    print("completed re-index OK")
+                    self.outf.write("completed re-index OK\n")
             else:
                 error_count = chk.check_database(DN=DN, scope=search_scope,
                         controls=controls, attrs=attrs)
diff --git a/source4/scripting/python/samba/netcmd/delegation.py b/source4/scripting/python/samba/netcmd/delegation.py
index c29c798..24f4f51 100644
--- a/source4/scripting/python/samba/netcmd/delegation.py
+++ b/source4/scripting/python/samba/netcmd/delegation.py
@@ -53,7 +53,7 @@ class cmd_delegation_show(Command):
         # TODO once I understand how, use the domain info to naildown
         # to the correct domain
         (cleanedaccount, realm, domain) = _get_user_realm_domain(accountname)
-        print "Searching for: %s" % (cleanedaccount)
+        self.outf.write("Searching for: %s\n" % (cleanedaccount))
         res = sam.search(expression="sAMAccountName=%s" % ldb.binary_encode(cleanedaccount),
                             scope=ldb.SCOPE_SUBTREE,
                             attrs=["userAccountControl", "msDS-AllowedToDelegateTo"])
@@ -63,21 +63,15 @@ class cmd_delegation_show(Command):
         uac = int(res[0].get("userAccountControl")[0])
         allowed = res[0].get("msDS-AllowedToDelegateTo")
 
-        print "Account-DN: %s" %  str(res[0].dn)
+        self.outf.write("Account-DN: %s\n" %  str(res[0].dn))
+        self.outf.write("UF_TRUSTED_FOR_DELEGATION: %s\n"
+            % bool(uac & dsdb.UF_TRUSTED_FOR_DELEGATION))
+        self.outf.write("UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION: %s\n" %
+              bool(uac & dsdb.UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION))
 
-        if uac & dsdb.UF_TRUSTED_FOR_DELEGATION:
-            print "UF_TRUSTED_FOR_DELEGATION: 1"
-        else:
-            print "UF_TRUSTED_FOR_DELEGATION: 0"
-
-        if uac & dsdb.UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION:
-            print "UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION: 1"
-        else:
-            print "UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION: 0"
-
-        if allowed != None:
+        if allowed is not None:
             for a in allowed:
-                print "msDS-AllowedToDelegateTo: %s" % (str(a))
+                self.outf.write("msDS-AllowedToDelegateTo: %s\n" % a)
 
 
 
diff --git a/source4/scripting/python/samba/netcmd/dsacl.py b/source4/scripting/python/samba/netcmd/dsacl.py
index 78dae43..97d4eb8 100644
--- a/source4/scripting/python/samba/netcmd/dsacl.py
+++ b/source4/scripting/python/samba/netcmd/dsacl.py
@@ -129,8 +129,8 @@ class cmd_dsacl_set(Command):
     def print_new_acl(self, samdb, object_dn):
         desc = self.read_descriptor(samdb, object_dn)
         desc_sddl = desc.as_sddl(self.get_domain_sid(samdb))
-        print "new descriptor for %s:" % object_dn
-        print desc_sddl
+        self.outf.write("new descriptor for %s:\n" % object_dn)
+        self.outf.write(desc_sddl + "\n")
 
     def run(self, car, action, objectdn, trusteedn, sddl,
             H=None, credopts=None, sambaopts=None, versionopts=None):
diff --git a/source4/scripting/python/samba/netcmd/fsmo.py b/source4/scripting/python/samba/netcmd/fsmo.py
index 06a2de1..e8e24b2 100644
--- a/source4/scripting/python/samba/netcmd/fsmo.py
+++ b/source4/scripting/python/samba/netcmd/fsmo.py
@@ -95,7 +95,7 @@ all=all of the above"""),
             samdb.modify(m)
         except LdbError, (num, msg):
             raise CommandError("Failed to initiate role seize of '%s' role: %s" % (role, msg))
-        print("FSMO transfer of '%s' role successful" % role)
+        self.outf.write("FSMO transfer of '%s' role successful\n" % role)
 
     def run(self, force=None, H=None, role=None,
             credopts=None, sambaopts=None, versionopts=None):
@@ -231,7 +231,7 @@ all=all of the above"""),
             samdb.modify(m)
         except LdbError, (num, msg):
             raise CommandError("Failed to initiate transfer of '%s' role: %s" % (role, msg))
-        print("FSMO transfer of '%s' role successful" % role)    
+        self.outf.write("FSMO transfer of '%s' role successful\n" % role)
 
     def run(self, force=None, H=None, role=None,
             credopts=None, sambaopts=None, versionopts=None):
diff --git a/source4/scripting/python/samba/netcmd/gpo.py b/source4/scripting/python/samba/netcmd/gpo.py
index 8b96d37..0d96dbc 100644
--- a/source4/scripting/python/samba/netcmd/gpo.py
+++ b/source4/scripting/python/samba/netcmd/gpo.py
@@ -256,13 +256,13 @@ class cmd_listall(Command):
         msg = get_gpo_info(self.samdb, None)
 
         for m in msg:
-            print("GPO          : %s" % m['name'][0])
-            print("display name : %s" % m['displayName'][0])
-            print("path         : %s" % m['gPCFileSysPath'][0])
-            print("dn           : %s" % m.dn)
-            print("version      : %s" % attr_default(m, 'versionNumber', '0'))
-            print("flags        : %s" % gpo_flags_string(int(attr_default(m, 'flags', 0))))
-            print("")
+            self.outf.write("GPO          : %s\n" % m['name'][0])
+            self.outf.write("display name : %s\n" % m['displayName'][0])
+            self.outf.write("path         : %s\n" % m['gPCFileSysPath'][0])
+            self.outf.write("dn           : %s\n" % m.dn)
+            self.outf.write("version      : %s\n" % attr_default(m, 'versionNumber', '0'))
+            self.outf.write("flags        : %s\n" % gpo_flags_string(int(attr_default(m, 'flags', 0))))
+            self.outf.write("\n")
 
 
 class cmd_list(Command):
@@ -331,7 +331,8 @@ class cmd_list(Command):
                                                  attrs=['name', 'displayName', 'flags',
                                                         'ntSecurityDescriptor'])
                     except Exception:
-                        print("Failed to fetch gpo object %s" % g['dn'])
+                        self.outf.write("Failed to fetch gpo object %s\n" %
+                            g['dn'])
                         continue
 
                     secdesc_ndr = gmsg[0]['ntSecurityDescriptor'][0]
@@ -343,7 +344,7 @@ class cmd_list(Command):
                                                     dcerpc.security.SEC_ADS_LIST |
                                                     dcerpc.security.SEC_ADS_READ_PROP)
                     except RuntimeError:
-                        print("Failed access check on %s" % msg.dn)
+                        self.outf.write("Failed access check on %s\n" % msg.dn)
                         continue
 
                     # check the flags on the GPO
@@ -368,9 +369,9 @@ class cmd_list(Command):
         else:
             msg_str = 'user'
 
-        print("GPOs for %s %s" % (msg_str, username))
+        self.outf.write("GPOs for %s %s\n" % (msg_str, username))
         for g in gpos:
-            print("    %s %s" % (g[0], g[1]))
+            self.outf.write("    %s %s\n" % (g[0], g[1]))
 
 
 class cmd_show(Command):
@@ -407,14 +408,14 @@ class cmd_show(Command):
         secdesc_ndr = msg['ntSecurityDescriptor'][0]
         secdesc = ndr_unpack(dcerpc.security.descriptor, secdesc_ndr)
 
-        print("GPO          : %s" % msg['name'][0])
-        print("display name : %s" % msg['displayName'][0])
-        print("path         : %s" % msg['gPCFileSysPath'][0])
-        print("dn           : %s" % msg.dn)
-        print("version      : %s" % attr_default(msg, 'versionNumber', '0'))
-        print("flags        : %s" % gpo_flags_string(int(attr_default(msg, 'flags', 0))))
-        print("ACL          : %s" % secdesc.as_sddl())
-        print("")
+        self.outf.write("GPO          : %s\n" % msg['name'][0])
+        self.outf.write("display name : %s\n" % msg['displayName'][0])
+        self.outf.write("path         : %s\n" % msg['gPCFileSysPath'][0])
+        self.outf.write("dn           : %s\n" % msg.dn)
+        self.outf.write("version      : %s\n" % attr_default(msg, 'versionNumber', '0'))
+        self.outf.write("flags        : %s\n" % gpo_flags_string(int(attr_default(msg, 'flags', 0))))
+        self.outf.write("ACL          : %s\n" % secdesc.as_sddl())
+        self.outf.write("\n")
 
 
 class cmd_getlink(Command):
@@ -452,16 +453,16 @@ class cmd_getlink(Command):
             raise CommandError("Could not find Container DN %s (%s)" % container_dn, e)
 
         if 'gPLink' in msg:
-            print("GPO(s) linked to DN %s" % container_dn)
+            self.outf.write("GPO(s) linked to DN %s\n" % container_dn)
             gplist = parse_gplink(msg['gPLink'][0])
             for g in gplist:
                 msg = get_gpo_info(self.samdb, dn=g['dn'])
-                print("    GPO     : %s" % msg[0]['name'][0])
-                print("    Name    : %s" % msg[0]['displayName'][0])
-                print("    Options : %s" % gplink_options_string(g['options']))
-                print("")
+                self.outf.write("    GPO     : %s\n" % msg[0]['name'][0])
+                self.outf.write("    Name    : %s\n" % msg[0]['displayName'][0])
+                self.outf.write("    Options : %s\n" % gplink_options_string(g['options']))
+                self.outf.write("\n")
         else:
-            print("No GPO(s) linked to DN=%s" % container_dn)
+            self.outf.write("No GPO(s) linked to DN=%s\n" % container_dn)
 
 
 class cmd_setlink(Command):
@@ -548,7 +549,7 @@ class cmd_setlink(Command):
         except Exception, e:
             raise CommandError("Error adding GPO Link", e)
 
-        print("Added/Updated GPO link")
+        self.outf.write("Added/Updated GPO link\n")
         cmd_getlink().run(container_dn, H, sambaopts, credopts, versionopts)
 
 
@@ -617,7 +618,7 @@ class cmd_dellink(Command):
         except Exception, e:
             raise CommandError("Error Removing GPO Link (%s)" % e)
 
-        print("Deleted GPO link.")
+        self.outf.write("Deleted GPO link.\n")
         cmd_getlink().run(container_dn, H, sambaopts, credopts, versionopts)
 
 
@@ -660,9 +661,9 @@ class cmd_getinheritance(Command):
             inheritance = int(msg['gPOptions'][0])
 
         if inheritance == dsdb.GPO_BLOCK_INHERITANCE:
-            print("Container has GPO_BLOCK_INHERITANCE")
+            self.outf.write("Container has GPO_BLOCK_INHERITANCE\n")
         else:
-            print("Container has GPO_INHERIT")
+            self.outf.write("Container has GPO_INHERIT\n")
 
 
 class cmd_setinheritance(Command):
@@ -783,8 +784,9 @@ class cmd_fetch(Command):
             os.mkdir(gpodir)
             copy_directory_remote_to_local(conn, sharepath, gpodir)
         except Exception, e:
+            # FIXME: Catch more specific exception
             raise CommandError("Error copying GPO from DC", e)
-        print('GPO copied to %s' % gpodir)
+        self.outf.write('GPO copied to %s\n' % gpodir)
 
 
 class cmd_create(Command):
@@ -951,7 +953,7 @@ class cmd_create(Command):
         except Exception, e:
             raise CommandError("Error setting ACL on GPT", e)
 
-        print "GPO '%s' created as %s" % (displayname, gpo)
+        self.outf.write("GPO '%s' created as %s\n" % (displayname, gpo))
 
 
 class cmd_gpo(SuperCommand):
diff --git a/source4/scripting/python/samba/netcmd/group.py b/source4/scripting/python/samba/netcmd/group.py
index 90bee5f..db2a6d6 100644
--- a/source4/scripting/python/samba/netcmd/group.py
+++ b/source4/scripting/python/samba/netcmd/group.py
@@ -80,8 +80,9 @@ class cmd_group_add(Command):
             samdb.newgroup(groupname, groupou=groupou, grouptype = gtype,
                           description=description, mailaddress=mail_address, notes=notes)
         except Exception, e:
+            # FIXME: catch more specific exception
             raise CommandError('Failed to create group "%s"' % groupname, e)
-        print("Added group %s" % groupname)
+        self.outf.write("Added group %s\n" % groupname)
 
 
 class cmd_group_delete(Command):
@@ -106,8 +107,9 @@ class cmd_group_delete(Command):
                           credentials=creds, lp=lp)
             samdb.deletegroup(groupname)
         except Exception, e:
+            # FIXME: catch more specific exception
             raise CommandError('Failed to remove group "%s"' % groupname, e)
-        print("Deleted group %s" % groupname)
+        self.outf.write("Deleted group %s\n" % groupname)
 
 
 class cmd_group_add_members(Command):
@@ -133,8 +135,10 @@ class cmd_group_add_members(Command):
                           credentials=creds, lp=lp)
             samdb.add_remove_group_members(groupname, listofmembers, add_members_operation=True)
         except Exception, e:
-            raise CommandError('Failed to add members "%s" to group "%s"' % (listofmembers, groupname), e)
-        print("Added members to group %s" % groupname)
+            # FIXME: catch more specific exception
+            raise CommandError('Failed to add members "%s" to group "%s"' % (
+                listofmembers, groupname), e)
+        self.outf.write("Added members to group %s\n" % groupname)
 
 
 class cmd_group_remove_members(Command):
@@ -160,8 +164,9 @@ class cmd_group_remove_members(Command):
                           credentials=creds, lp=lp)
             samdb.add_remove_group_members(groupname, listofmembers, add_members_operation=False)
         except Exception, e:
+            # FIXME: Catch more specific exception
             raise CommandError('Failed to remove members "%s" from group "%s"' % (listofmembers, groupname), e)
-        print("Removed members from group %s" % groupname)
+        self.outf.write("Removed members from group %s\n" % groupname)
 
 
 class cmd_group(SuperCommand):
diff --git a/source4/scripting/python/samba/netcmd/ldapcmp.py b/source4/scripting/python/samba/netcmd/ldapcmp.py
index cd81aa3..7805eca 100755
--- a/source4/scripting/python/samba/netcmd/ldapcmp.py
+++ b/source4/scripting/python/samba/netcmd/ldapcmp.py
@@ -85,11 +85,15 @@ class LDAPBase(object):
         # Log some domain controller specific place-holers that are being used
         # when compare content of two DCs. Uncomment for DEBUG purposes.
         if self.two_domains and not self.quiet:
-            print "\n* Place-holders for %s:" % self.host
-            print 4*" " + "${DOMAIN_DN}      => %s" % self.base_dn
-            print 4*" " + "${DOMAIN_NETBIOS} => %s" % self.domain_netbios
-            print 4*" " + "${SERVER_NAME}     => %s" % self.server_names
-            print 4*" " + "${DOMAIN_NAME}    => %s" % self.domain_name
+            self.outf.write("\n* Place-holders for %s:\n" % self.host)
+            self.outf.write(4*" " + "${DOMAIN_DN}      => %s\n" %
+                self.base_dn)
+            self.outf.write(4*" " + "${DOMAIN_NETBIOS} => %s\n" %
+                self.domain_netbios)
+            self.outf.write(4*" " + "${SERVER_NAME}     => %s\n" %
+                self.server_names)
+            self.outf.write(4*" " + "${DOMAIN_NAME}    => %s\n" %
+                self.domain_name)
 
     def find_domain_sid(self):
         res = self.ldb.search(base=self.base_dn, expression="(objectClass=*)", scope=SCOPE_BASE)
@@ -493,7 +497,7 @@ class LDAPObject(object):
         Log on the screen if there is no --quiet oprion set
         """
         if not self.quiet:
-            print msg
+            self.outf.write(msg+"\n")
 
     def fix_dn(self, s):
         res = "%s" % s
@@ -665,6 +669,7 @@ class LDAPObject(object):
 
 
 class LDAPBundel(object):
+
     def __init__(self, connection, context, dn_list=None, filter_list=None):
         self.con = connection
         self.two_domains = self.con.two_domains
@@ -705,7 +710,7 @@ class LDAPBundel(object):
         Log on the screen if there is no --quiet oprion set
         """
         if not self.quiet:
-            print msg
+            self.outf.write(msg+"\n")
 
     def update_size(self):
         self.size = len(self.dn_list)
@@ -820,7 +825,7 @@ class LDAPBundel(object):
         try:
             res = self.con.ldb.search(base=self.search_base, scope=self.search_scope, attrs=["dn"])
         except LdbError, (enum, estr):
-            print("Failed search of base=%s" % self.search_base)
+            self.outf.write("Failed search of base=%s\n" % self.search_base)
             raise
         for x in res:
            dn_list.append(x["dn"].get_linearized())
@@ -842,6 +847,7 @@ class LDAPBundel(object):
             self.log( "".join([str("\n" + 4*" " + x) for x in self.summary["df_value_attrs"]]) )
             self.summary["df_value_attrs"] = []
 
+
 class cmd_ldapcmp(Command):


-- 
Samba Shared Repository


More information about the samba-cvs mailing list