[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Thu Feb 23 23:34:02 UTC 2023


The branch, master has been updated
       via  5cb8805811e python: fix mutable default arguments
       via  e7c87b1d9bd selftest: source3: fix mutable default arguments
       via  c9535526f08 selftest: source4: fix mutable default arguments
       via  92732858860 buildtools: fix mutable default arguments
       via  4717a58f6ce selftest: fix mutable default arguments
       via  f582caad831 selftest: fix typo in test comment
       via  70fe6020b5b selftest: fix scope and attrs not passed to search
       via  8a7a779df5d selftest: fix invalid loop variables uid and gid
       via  3687ab318a9 selftest: fix flapping samba-tool drs showrepl test
       via  1368e359b2a selftest: make two samba-tool drs tests generic
       via  2388db932bb selftest: specify env rather than picking it up from loop
       via  ecb628dd485 selftest: remove unused import
       via  739ebf46c4c selftest: pep8: too many blank lines
       via  e9db5297673 selftest: Fix some typos in selftest tests.py
      from  5c051eacd42 selftests: Make sure print queue is empty before printing_var_exp test ends

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


- Log -----------------------------------------------------------------
commit 5cb8805811ee5e5a880c1c2d42f4fd9b195abe75
Author: Rob van der Linde <rob at catalyst.net.nz>
Date:   Thu Feb 23 15:54:37 2023 +1300

    python: fix mutable default arguments
    
    Signed-off-by: Rob van der Linde <rob at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Joseph Sutton <josephsutton at catalyst.net.nz>
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Thu Feb 23 23:33:46 UTC 2023 on atb-devel-224

commit e7c87b1d9bd10280bff69f1acaf292364b79d496
Author: Rob van der Linde <rob at catalyst.net.nz>
Date:   Thu Feb 23 15:54:21 2023 +1300

    selftest: source3: fix mutable default arguments
    
    Signed-off-by: Rob van der Linde <rob at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Joseph Sutton <josephsutton at catalyst.net.nz>

commit c9535526f08141fc5853f5a198bc76f0184e66fe
Author: Rob van der Linde <rob at catalyst.net.nz>
Date:   Thu Feb 23 15:53:58 2023 +1300

    selftest: source4: fix mutable default arguments
    
    Signed-off-by: Rob van der Linde <rob at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Joseph Sutton <josephsutton at catalyst.net.nz>

commit 92732858860072f98d358bb89ace00856b469bfa
Author: Rob van der Linde <rob at catalyst.net.nz>
Date:   Thu Feb 23 15:52:21 2023 +1300

    buildtools: fix mutable default arguments
    
    Signed-off-by: Rob van der Linde <rob at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Joseph Sutton <josephsutton at catalyst.net.nz>

commit 4717a58f6ceb40f2fb3d990191f86d18283146b8
Author: Rob van der Linde <rob at catalyst.net.nz>
Date:   Thu Feb 23 15:51:48 2023 +1300

    selftest: fix mutable default arguments
    
    Signed-off-by: Rob van der Linde <rob at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Joseph Sutton <josephsutton at catalyst.net.nz>

commit f582caad83119b8c928cb3b26e907d889af30923
Author: Rob van der Linde <rob at catalyst.net.nz>
Date:   Thu Feb 23 15:50:53 2023 +1300

    selftest: fix typo in test comment
    
    Signed-off-by: Rob van der Linde <rob at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Joseph Sutton <josephsutton at catalyst.net.nz>

commit 70fe6020b5b6669de6cd12572a18c5ab49537d65
Author: Rob van der Linde <rob at catalyst.net.nz>
Date:   Thu Feb 23 15:49:11 2023 +1300

    selftest: fix scope and attrs not passed to search
    
    Signed-off-by: Rob van der Linde <rob at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Joseph Sutton <josephsutton at catalyst.net.nz>

commit 8a7a779df5df40cd4b8003b9082cb2e3f22545c9
Author: Rob van der Linde <rob at catalyst.net.nz>
Date:   Thu Feb 23 15:46:43 2023 +1300

    selftest: fix invalid loop variables uid and gid
    
    Signed-off-by: Rob van der Linde <rob at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Joseph Sutton <josephsutton at catalyst.net.nz>

commit 3687ab318a9553883d8c0d1214e2d49b83ec91ba
Author: Rob van der Linde <rob at catalyst.net.nz>
Date:   Thu Feb 23 16:56:30 2023 +1300

    selftest: fix flapping samba-tool drs showrepl test
    
    Test should have been using "schema_pair_dc", it was picking this up from the variable env in the loop above it.
    
    However, it was hardcoded to use promoted_dc.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15316
    
    Signed-off-by: Rob van der Linde <rob at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Joseph Sutton <josephsutton at catalyst.net.nz>

commit 1368e359b2a75b6b683aff274b2b2084f3cd469b
Author: Rob van der Linde <rob at catalyst.net.nz>
Date:   Thu Feb 23 16:56:07 2023 +1300

    selftest: make two samba-tool drs tests generic
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15316
    
    Signed-off-by: Rob van der Linde <rob at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Joseph Sutton <josephsutton at catalyst.net.nz>

commit 2388db932bb5a356a070f8f2f8550434e2d68730
Author: Rob van der Linde <rob at catalyst.net.nz>
Date:   Thu Feb 23 16:18:42 2023 +1300

    selftest: specify env rather than picking it up from loop
    
    Signed-off-by: Rob van der Linde <rob at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Joseph Sutton <josephsutton at catalyst.net.nz>

commit ecb628dd4855132850d6972333c7d56c9fcaa363
Author: Rob van der Linde <rob at catalyst.net.nz>
Date:   Thu Feb 23 11:54:16 2023 +1300

    selftest: remove unused import
    
    Signed-off-by: Rob van der Linde <rob at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Joseph Sutton <josephsutton at catalyst.net.nz>

commit 739ebf46c4c7585525c4f03b78e864e112948642
Author: Rob van der Linde <rob at catalyst.net.nz>
Date:   Thu Feb 23 11:53:30 2023 +1300

    selftest: pep8: too many blank lines
    
    Signed-off-by: Rob van der Linde <rob at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Joseph Sutton <josephsutton at catalyst.net.nz>

commit e9db529767345cd020b05b82476fdc7dbbd91091
Author: Rob van der Linde <rob at catalyst.net.nz>
Date:   Tue Feb 21 13:11:13 2023 +1300

    selftest: Fix some typos in selftest tests.py
    
    Signed-off-by: Rob van der Linde <rob at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Joseph Sutton <josephsutton at catalyst.net.nz>

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

Summary of changes:
 buildtools/wafsamba/samba_autoconf.py              |   8 +-
 buildtools/wafsamba/samba_bundled.py               |   8 +-
 buildtools/wafsamba/wafsamba.py                    |   4 +-
 python/samba/descriptor.py                         | 105 ++++++++++++++++-----
 python/samba/emulate/traffic.py                    |   4 +-
 python/samba/gp/gp_cert_auto_enroll_ext.py         |   4 +-
 python/samba/gp/gpclass.py                         |   7 +-
 python/samba/gp/util/logging.py                    |  28 ++++--
 python/samba/graph.py                              |   4 +-
 python/samba/netcmd/dbcheck.py                     |   5 +-
 python/samba/netcmd/dns.py                         |   5 +-
 python/samba/netcmd/domain.py                      |  31 +++++-
 python/samba/netcmd/gpo.py                         |  14 ++-
 python/samba/provision/common.py                   |   8 +-
 python/samba/samdb.py                              |   8 +-
 python/samba/schema.py                             |   5 +-
 python/samba/sd_utils.py                           |   4 +-
 python/samba/tests/__init__.py                     |   4 +-
 python/samba/tests/dcerpc/raw_testcase.py          |  16 +++-
 python/samba/tests/dns.py                          |   4 +-
 python/samba/tests/domain_backup_offline.py        |   4 +-
 python/samba/tests/kcc/kcc_utils.py                |   4 +-
 python/samba/tests/samba_tool/computer.py          |   8 +-
 python/samba/tests/samba_tool/contact.py           |   8 +-
 python/samba/tests/samba_tool/group.py             |   4 +-
 python/samba/tests/samba_tool/ou.py                |   5 +-
 python/samba/tests/samba_tool/user.py              |  12 ++-
 .../tests/samba_tool/user_check_password_script.py |   4 +-
 python/samba/tests/usage.py                        |   4 +-
 selftest/selftesthelpers.py                        |  16 +++-
 source3/script/tests/test_wbinfo_sids2xids_int.py  |  13 ++-
 .../dsdb/tests/python/ad_dc_medley_performance.py  |  10 +-
 source4/dsdb/tests/python/dsdb_schema_info.py      |   5 +-
 source4/dsdb/tests/python/linked_attributes.py     |   9 +-
 source4/dsdb/tests/python/sec_descriptor.py        |   5 +-
 source4/dsdb/tests/python/subtree_rename.py        |  10 +-
 source4/dsdb/tests/python/tombstone_reanimation.py |   5 +-
 source4/selftest/tests.py                          |  22 ++++-
 source4/torture/drs/python/drs_base.py             |  16 +++-
 source4/torture/drs/python/repl_rodc.py            |   5 +-
 .../torture/drs/python/samba_tool_drs_showrepl.py  |  37 +++++---
 41 files changed, 372 insertions(+), 110 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py
index b047fe421b4..f429ad2d487 100644
--- a/buildtools/wafsamba/samba_autoconf.py
+++ b/buildtools/wafsamba/samba_autoconf.py
@@ -892,10 +892,12 @@ def CONFIG_PATH(conf, name, default):
             conf.env[name] = conf.env['PREFIX'] + default
 
 @conf
-def ADD_NAMED_CFLAGS(conf, name, flags, testflags=False, prereq_flags=[]):
+def ADD_NAMED_CFLAGS(conf, name, flags, testflags=False, prereq_flags=None):
     '''add some CFLAGS to the command line
        optionally set testflags to ensure all the flags work
     '''
+    if prereq_flags is None:
+        prereq_flags = []
     prereq_flags = TO_LIST(prereq_flags)
     if testflags:
         ok_flags=[]
@@ -908,10 +910,12 @@ def ADD_NAMED_CFLAGS(conf, name, flags, testflags=False, prereq_flags=[]):
     conf.env[name].extend(TO_LIST(flags))
 
 @conf
-def ADD_CFLAGS(conf, flags, testflags=False, prereq_flags=[]):
+def ADD_CFLAGS(conf, flags, testflags=False, prereq_flags=None):
     '''add some CFLAGS to the command line
        optionally set testflags to ensure all the flags work
     '''
+    if prereq_flags is None:
+        prereq_flags = []
     ADD_NAMED_CFLAGS(conf, 'EXTRA_CFLAGS', flags, testflags=testflags,
                      prereq_flags=prereq_flags)
 
diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py
index 7d2d855cd9c..c7b7246e0d6 100644
--- a/buildtools/wafsamba/samba_bundled.py
+++ b/buildtools/wafsamba/samba_bundled.py
@@ -104,12 +104,14 @@ def LIB_MUST_BE_PRIVATE(conf, libname):
 
 @conf
 def CHECK_BUNDLED_SYSTEM_PKG(conf, libname, minversion='0.0.0',
-        maxversion=None, version_blacklist=[],
+        maxversion=None, version_blacklist=None,
         onlyif=None, implied_deps=None, pkg=None):
     '''check if a library is available as a system library.
 
     This only tries using pkg-config
     '''
+    if version_blacklist is None:
+        version_blacklist = []
     return conf.CHECK_BUNDLED_SYSTEM(libname,
                                      minversion=minversion,
                                      maxversion=maxversion,
@@ -120,7 +122,7 @@ def CHECK_BUNDLED_SYSTEM_PKG(conf, libname, minversion='0.0.0',
 
 @conf
 def CHECK_BUNDLED_SYSTEM(conf, libname, minversion='0.0.0',
-                         maxversion=None, version_blacklist=[],
+                         maxversion=None, version_blacklist=None,
                          checkfunctions=None, headers=None, checkcode=None,
                          onlyif=None, implied_deps=None,
                          require_headers=True, pkg=None, set_target=True):
@@ -129,6 +131,8 @@ def CHECK_BUNDLED_SYSTEM(conf, libname, minversion='0.0.0',
     tries by testing for a specified function in the specified lib
     '''
     # We always do a logic validation of 'onlyif' first
+    if version_blacklist is None:
+        version_blacklist = []
     missing = []
     if onlyif:
         for l in samba_utils.TO_LIST(onlyif):
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 17a188f5036..40c7b866fba 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -899,10 +899,12 @@ def SAMBA_GENERATOR(bld, name, rule, source='', target='',
                     private_headers=None,
                     header_path=None,
                     vars=None,
-                    dep_vars=[],
+                    dep_vars=None,
                     always=False):
     '''A generic source generator target'''
 
+    if dep_vars is None:
+        dep_vars = []
     if not SET_TARGET_TYPE(bld, name, 'GENERATOR'):
         return
 
diff --git a/python/samba/descriptor.py b/python/samba/descriptor.py
index ac4c7e3273d..e2d1e38ccf9 100644
--- a/python/samba/descriptor.py
+++ b/python/samba/descriptor.py
@@ -45,14 +45,20 @@ def sddl2binary(sddl_in, domain_sid, name_map):
     return ndr_pack(sec)
 
 
-def get_empty_descriptor(domain_sid, name_map={}):
+def get_empty_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = ""
     return sddl2binary(sddl, domain_sid, name_map)
 
 # "get_schema_descriptor" is located in "schema.py"
 
 
-def get_config_descriptor(domain_sid, name_map={}):
+def get_config_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "O:EAG:EAD:(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;ED)" \
            "(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;ED)" \
            "(OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;ED)" \
@@ -71,7 +77,10 @@ def get_config_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_config_partitions_descriptor(domain_sid, name_map={}):
+def get_config_partitions_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "D:" \
         "(A;;LCLORC;;;AU)" \
         "(OA;;RP;e48d0154-bcf8-11d1-8702-00c04fb96050;;AU)" \
@@ -89,7 +98,10 @@ def get_config_partitions_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_config_sites_descriptor(domain_sid, name_map={}):
+def get_config_sites_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "D:" \
         "(A;;RPLCLORC;;;AU)" \
         "(OA;CIIO;SW;d31a8757-2447-4545-8081-3bb610cacbf2;f0f8ffab-1191-11d0-a060-00aa006c33ed;RO)" \
@@ -104,7 +116,10 @@ def get_config_sites_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_config_ntds_quotas_descriptor(domain_sid, name_map={}):
+def get_config_ntds_quotas_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "D:" \
         "(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;EA)" \
         "(A;;RPLCLORC;;;BA)" \
@@ -112,7 +127,10 @@ def get_config_ntds_quotas_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_config_delete_protected1_descriptor(domain_sid, name_map={}):
+def get_config_delete_protected1_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "D:AI" \
         "(A;;RPLCLORC;;;AU)" \
         "(A;;RPWPCRCCLCLORCWOWDSW;;;EA)" \
@@ -120,7 +138,10 @@ def get_config_delete_protected1_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_config_delete_protected1wd_descriptor(domain_sid, name_map={}):
+def get_config_delete_protected1wd_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "D:AI" \
         "(A;;RPLCLORC;;;WD)" \
         "(A;;RPWPCRCCLCLORCWOWDSW;;;EA)" \
@@ -128,7 +149,10 @@ def get_config_delete_protected1wd_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_config_delete_protected2_descriptor(domain_sid, name_map={}):
+def get_config_delete_protected2_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "D:AI" \
         "(A;;RPLCLORC;;;AU)" \
         "(A;;RPWPCRCCDCLCLORCWOWDSW;;;EA)" \
@@ -136,7 +160,10 @@ def get_config_delete_protected2_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_domain_descriptor(domain_sid, name_map={}):
+def get_domain_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "O:BAG:BAD:AI(OA;CIIO;RP;4c164200-20c0-11d0-a768-00aa006e0529;4828cc14-1437-45bc-9b07-ad6f015e5f28;RU)" \
         "(OA;CIIO;RP;4c164200-20c0-11d0-a768-00aa006e0529;bf967aba-0de6-11d0-a285-00aa003049e2;RU)" \
         "(OA;CIIO;RP;5f202010-79a5-11d0-9020-00c04fc2d4cf;4828cc14-1437-45bc-9b07-ad6f015e5f28;RU)" \
@@ -189,7 +216,10 @@ def get_domain_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_domain_infrastructure_descriptor(domain_sid, name_map={}):
+def get_domain_infrastructure_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "D:" \
         "(A;;RPLCLORC;;;AU)" \
         "(A;;RPWPCRCCLCLORCWOWDSW;;;DA)" \
@@ -199,7 +229,10 @@ def get_domain_infrastructure_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_domain_builtin_descriptor(domain_sid, name_map={}):
+def get_domain_builtin_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "D:" \
         "(OA;CIIO;RP;4c164200-20c0-11d0-a768-00aa006e0529;4828cc14-1437-45bc-9b07-ad6f015e5f28;RU)" \
         "(OA;CIIO;RP;4c164200-20c0-11d0-a768-00aa006e0529;bf967aba-0de6-11d0-a285-00aa003049e2;RU)" \
@@ -256,7 +289,10 @@ def get_domain_builtin_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_domain_computers_descriptor(domain_sid, name_map={}):
+def get_domain_computers_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "D:" \
         "(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)" \
         "(A;;RPWPCRCCDCLCLORCWOWDSW;;;DA)" \
@@ -270,7 +306,10 @@ def get_domain_computers_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_domain_users_descriptor(domain_sid, name_map={}):
+def get_domain_users_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "D:" \
         "(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)" \
         "(A;;RPWPCRCCDCLCLORCWOWDSW;;;DA)" \
@@ -283,7 +322,10 @@ def get_domain_users_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_managed_service_accounts_descriptor(domain_sid, name_map={}):
+def get_managed_service_accounts_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "D:" \
         "(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)" \
         "(A;;RPWPCRCCDCLCLORCWOWDSW;;;DA)" \
@@ -295,7 +337,10 @@ def get_managed_service_accounts_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_domain_controllers_descriptor(domain_sid, name_map={}):
+def get_domain_controllers_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "D:" \
         "(A;;RPLCLORC;;;AU)" \
         "(A;;RPWPCRCCLCLORCWOWDSW;;;DA)" \
@@ -307,7 +352,10 @@ def get_domain_controllers_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_domain_delete_protected1_descriptor(domain_sid, name_map={}):
+def get_domain_delete_protected1_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "D:AI" \
         "(A;;RPLCLORC;;;AU)" \
         "(A;;RPWPCRCCLCLORCWOWDSW;;;DA)" \
@@ -315,7 +363,10 @@ def get_domain_delete_protected1_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_domain_delete_protected2_descriptor(domain_sid, name_map={}):
+def get_domain_delete_protected2_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "D:AI" \
         "(A;;RPLCLORC;;;AU)" \
         "(A;;RPWPCRCCDCLCLORCWOWDSW;;;DA)" \
@@ -323,7 +374,10 @@ def get_domain_delete_protected2_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_dns_partition_descriptor(domain_sid, name_map={}):
+def get_dns_partition_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "O:SYG:BAD:AI" \
         "(OA;CIIO;RP;4c164200-20c0-11d0-a768-00aa006e0529;4828cc14-1437-45bc-9b07-ad6f015e5f28;RU)" \
         "(OA;CIIO;RP;4c164200-20c0-11d0-a768-00aa006e0529;bf967aba-0de6-11d0-a285-00aa003049e2;RU)" \
@@ -378,14 +432,20 @@ def get_dns_partition_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_dns_forest_microsoft_dns_descriptor(domain_sid, name_map={}):
+def get_dns_forest_microsoft_dns_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "O:SYG:SYD:AI" \
         "(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)" \
         "(A;CI;RPWPCRCCDCLCRCWOWDSDDTSW;;;ED)"
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_dns_domain_microsoft_dns_descriptor(domain_sid, name_map={}):
+def get_dns_domain_microsoft_dns_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "O:SYG:SYD:AI" \
         "(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;DA)" \
         "(A;CI;RPWPCRCCDCLCRCWOWDSDDTSW;;;DnsAdmins)" \
@@ -394,7 +454,10 @@ def get_dns_domain_microsoft_dns_descriptor(domain_sid, name_map={}):
     return sddl2binary(sddl, domain_sid, name_map)
 
 
-def get_paritions_crossref_subdomain_descriptor(domain_sid, name_map={}):
+def get_paritions_crossref_subdomain_descriptor(domain_sid, name_map=None):
+    if name_map is None:
+        name_map = {}
+
     sddl = "O:SubdomainAdminsG:SubdomainAdminsD:AI" \
         "(A;;RPWPCRCCLCLORCWOWDSW;;;SubdomainAdmins)" \
         "(A;;RPLCLORC;;;AU)" \
diff --git a/python/samba/emulate/traffic.py b/python/samba/emulate/traffic.py
index c141e36b629..f314e3d3fc1 100644
--- a/python/samba/emulate/traffic.py
+++ b/python/samba/emulate/traffic.py
@@ -1188,7 +1188,9 @@ class TrafficModel(object):
         self.cumulative_duration = 0.0
         self.packet_rate = [0, 1]
 
-    def learn(self, conversations, dns_opcounts={}):
+    def learn(self, conversations, dns_opcounts=None):
+        if dns_opcounts is None:
+            dns_opcounts = {}
         prev = 0.0
         cum_duration = 0.0
         key = (NON_PACKET,) * (self.n - 1)
diff --git a/python/samba/gp/gp_cert_auto_enroll_ext.py b/python/samba/gp/gp_cert_auto_enroll_ext.py
index 3be8931bf1e..312c8ddf467 100644
--- a/python/samba/gp/gp_cert_auto_enroll_ext.py
+++ b/python/samba/gp/gp_cert_auto_enroll_ext.py
@@ -161,7 +161,9 @@ def fetch_certification_authorities(ldb):
         result.append(data)
     return result
 
-def fetch_template_attrs(ldb, name, attrs=['msPKI-Minimal-Key-Size']):
+def fetch_template_attrs(ldb, name, attrs=None):
+    if attrs is None:
+        attrs = ['msPKI-Minimal-Key-Size']
     basedn = ldb.get_default_basedn()
     dn = 'CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,%s' % basedn
     expr = '(cn=%s)' % name
diff --git a/python/samba/gp/gpclass.py b/python/samba/gp/gpclass.py
index bec1ec5fecf..68c1050f632 100644
--- a/python/samba/gp/gpclass.py
+++ b/python/samba/gp/gpclass.py
@@ -475,7 +475,7 @@ class gp_applier(object):
         '''
         pass
 
-    def clean(self, guid, keep=[], remove=[], **kwargs):
+    def clean(self, guid, keep=None, remove=None, **kwargs):
         '''Cleanup old removed attributes
         keep    - A list of attributes to keep
         remove  - A single attribute to remove, or a list of attributes to
@@ -487,6 +487,11 @@ class gp_applier(object):
         '''
         # Clean syntax is, either provide a single remove attribute,
         # or a list of either removal attributes or keep attributes.
+        if keep is None:
+            keep = []
+        if remove is None:
+            remove = []
+
         if type(remove) != list:
             value = self.cache_get_attribute_value(guid, remove)
             if value is not None:
diff --git a/python/samba/gp/util/logging.py b/python/samba/gp/util/logging.py
index 7373af0961e..a74a8707d50 100644
--- a/python/samba/gp/util/logging.py
+++ b/python/samba/gp/util/logging.py
@@ -42,7 +42,9 @@ class slogm(object):
     '''
     Structured log message class
     '''
-    def __init__(self, message, kwargs=dict()):
+    def __init__(self, message, kwargs=None):
+        if kwargs is None:
+            kwargs = {}
         self.message = message
         self.kwargs = kwargs
         if not isinstance(self.kwargs, dict):
@@ -64,35 +66,47 @@ def message_with_code(mtype, message):
 
 class log(object):
     @staticmethod
-    def info(message, data={}):
+    def info(message, data=None):
+        if data is None:
+            data = {}
         msg = message_with_code('I', message)
         logger.info(slogm(msg, data))
         return msg
 
     @staticmethod
-    def warning(message, data={}):
+    def warning(message, data=None):
+        if data is None:
+            data = {}
         msg = message_with_code('W', message)
         logger.warning(slogm(msg, data))
         return msg
 
     @staticmethod
-    def warn(message, data={}):
+    def warn(message, data=None):
+        if data is None:
+            data = {}
         return log.warning(message, data)
 
     @staticmethod
-    def error(message, data={}):
+    def error(message, data=None):
+        if data is None:
+            data = {}
         msg = message_with_code('E', message)
         logger.error(slogm(msg, data))
         return msg
 
     @staticmethod
-    def fatal(message, data={}):
+    def fatal(message, data=None):
+        if data is None:
+            data = {}
         msg = message_with_code('F', message)
         logger.fatal(slogm(msg, data))
         return msg
 
     @staticmethod
-    def debug(message, data={}):
+    def debug(message, data=None):
+        if data is None:
+            data = {}
         msg = message_with_code('D', message)
         logger.debug(slogm(msg, data))
         return msg
diff --git a/python/samba/graph.py b/python/samba/graph.py
index a338fd44a8d..537dc661fb3 100644
--- a/python/samba/graph.py
+++ b/python/samba/graph.py
@@ -133,7 +133,7 @@ def shorten_vertex_names(vertices, suffix=',...', aggressive=False):
     return vmap, replacements
 
 
-def compile_graph_key(key_items, nodes_above=[], elisions=None,
+def compile_graph_key(key_items, nodes_above=None, elisions=None,
                       prefix='key_', width=2):
     """Generate a dot file snippet that acts as a legend for a graph.
 
@@ -148,6 +148,8 @@ def compile_graph_key(key_items, nodes_above=[], elisions=None,
     (True) or edge (False). Style is a dot style string for the edge
     or vertex. label is the text associated with the key item.
     """
+    if nodes_above is None:
+        nodes_above = []
     edge_lines = []
     edge_names = []
     vertex_lines = []
diff --git a/python/samba/netcmd/dbcheck.py b/python/samba/netcmd/dbcheck.py
index 215e8072f14..4d5c79ff11b 100644
--- a/python/samba/netcmd/dbcheck.py
+++ b/python/samba/netcmd/dbcheck.py
@@ -96,7 +96,10 @@ class cmd_dbcheck(Command):
             quick_membership_checks=False,
             reset_well_known_acls=False,
             selftest_check_expired_tombstones=False,
-            yes_rules=[]):
+            yes_rules=None):
+
+        if yes_rules is None:


-- 
Samba Shared Repository



More information about the samba-cvs mailing list