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 <r...@catalyst.net.nz> Date: Thu Feb 23 15:54:37 2023 +1300 python: fix mutable default arguments Signed-off-by: Rob van der Linde <r...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@catalyst.net.nz> Autobuild-User(master): Andrew Bartlett <abart...@samba.org> Autobuild-Date(master): Thu Feb 23 23:33:46 UTC 2023 on atb-devel-224 commit e7c87b1d9bd10280bff69f1acaf292364b79d496 Author: Rob van der Linde <r...@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 <r...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@catalyst.net.nz> commit c9535526f08141fc5853f5a198bc76f0184e66fe Author: Rob van der Linde <r...@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 <r...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@catalyst.net.nz> commit 92732858860072f98d358bb89ace00856b469bfa Author: Rob van der Linde <r...@catalyst.net.nz> Date: Thu Feb 23 15:52:21 2023 +1300 buildtools: fix mutable default arguments Signed-off-by: Rob van der Linde <r...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@catalyst.net.nz> commit 4717a58f6ceb40f2fb3d990191f86d18283146b8 Author: Rob van der Linde <r...@catalyst.net.nz> Date: Thu Feb 23 15:51:48 2023 +1300 selftest: fix mutable default arguments Signed-off-by: Rob van der Linde <r...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@catalyst.net.nz> commit f582caad83119b8c928cb3b26e907d889af30923 Author: Rob van der Linde <r...@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 <r...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@catalyst.net.nz> commit 70fe6020b5b6669de6cd12572a18c5ab49537d65 Author: Rob van der Linde <r...@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 <r...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@catalyst.net.nz> commit 8a7a779df5df40cd4b8003b9082cb2e3f22545c9 Author: Rob van der Linde <r...@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 <r...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@catalyst.net.nz> commit 3687ab318a9553883d8c0d1214e2d49b83ec91ba Author: Rob van der Linde <r...@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 <r...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@catalyst.net.nz> commit 1368e359b2a75b6b683aff274b2b2084f3cd469b Author: Rob van der Linde <r...@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 <r...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@catalyst.net.nz> commit 2388db932bb5a356a070f8f2f8550434e2d68730 Author: Rob van der Linde <r...@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 <r...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@catalyst.net.nz> commit ecb628dd4855132850d6972333c7d56c9fcaa363 Author: Rob van der Linde <r...@catalyst.net.nz> Date: Thu Feb 23 11:54:16 2023 +1300 selftest: remove unused import Signed-off-by: Rob van der Linde <r...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@catalyst.net.nz> commit 739ebf46c4c7585525c4f03b78e864e112948642 Author: Rob van der Linde <r...@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 <r...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@catalyst.net.nz> commit e9db529767345cd020b05b82476fdc7dbbd91091 Author: Rob van der Linde <r...@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 <r...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Joseph Sutton <josephsut...@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