The branch, master has been updated via 70dea37d063 wscript: Refer to correct ConfigSet variable via 54ebd103c85 wscript: Remove semicolons via 8f430492c8e wscript: Remove unused imports via c6d0323bf15 wscript: Use ‘is’ to compare with singletons via b5cc15fdf16 wscript: Remove unused variable via 752a1c409e0 third_party/heimdal_build: Use ‘is’ to compare with singletons via a6c442acea1 third_party/heimdal_build: Remove semicolons via dfe25969f31 third_party/heimdal_build: Remove unused imports via 0898329b8d7 selftest: Don’t use invalid escape sequences via 0fe4a12b3f3 selftest: Remove star imports via 6db02afab81 selftest: Remove unused imports via 3c7ef6d0415 s4:dsdb:tests: Fix usage lines via fec8d228ad1 s4:dsdb:tests: Remove unused imports via 6e20afeb42a s4:dsdb:tests: Fix spelling via 357b520b37f tests/krb5: Have modified_ticket() not modify its arguments via b4a2e64110f tests/krb5: Add KerberosCredentials.get_rid() via 7b4b03e5e79 tests/krb5: Re-raise any LdbError other than ERR_ENTRY_ALREADY_EXISTS via 3f01cf91699 tests/krb5: Correctly assert that we found a LOGON_INFO PAC buffer via 04cdb13c080 tests/krb5: Remove local variable via 1def8f04f34 tests/krb5: Move KDC TGT tests to new file via e390e674ecb tests/krb5: Remove test of pre-1.20 MIT Kerberos behaviour via 2b566979acf gp: Use read_file() instead of readfp() via 34042677b7d gp: Fix resource leaks via 928f2bbc6b5 gp: Use assertEqual() instead of assertEquals() via 953bc91851c gp: Check correct variables via 036a523e516 gp: Prefer ‘x not in y’ to ‘not x in y’ via 94afa3b1946 gp: Don’t shadow imports via 5755b4a4905 gp: Add missing import via de04333b4d5 pytest/dns_aging: Assert that the name of the node to search for is a string via 472d80c1c9f pytest/dns_aging: Correctly check that record is tombstoned via 8e5c998b1d3 pytest/dns_aging: Check value of ‘dtime’ via d3bc6faa7a5 python:tests: Rename test method so as not to mask previously-defined method via bbd0e35f11f python:tests: Complete assertion messages via c4e0d4fbd17 python:tests: Fix usage line via 83230577ece python: Fix reference to undefined name ‘samba’ via 5c5045eeb44 samba-tool: Remove useless return via b076cad4b26 python:join: Fix references to undefined variables via b068592dd0d python: Fix invalid escape sequences via 12f1c7825db python: Remove redundant backslashes via fce882ab671 python: Remove unused imports via 6c6db88ddac python: Fix spelling via 5de640fc581 ldb: Heed return code from Python testsuite via b440732e7fc ldb: Remove unused import via e4ab1de4e41 lib:ldb:tests: Remove explicit comparison with False via 84dc7129ead buildtools: Properly set global variable via 8d61d3f8e02 buildtools: Prefer ‘x not in y’ to ‘not x in y’ via 6df81630af8 buildtools: Use ‘is’ to compare with singletons via 94f46f0cbbc buildtools: Fix comments and documentation via 6668d213e77 pyldb: Fix leaks via 5e9187baf92 pyldb: Check return values of Python functions via e5794b8c8a6 pyldb: Check return values of talloc functions via 93d37f8bfca pyldb: Check whether Python object is a list from 7dc181757c7 gp: Send list of keys instead of dict to remove
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 70dea37d063fea3e72f5a04c29e6bbd5e11d20b0 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 12:18:27 2023 +1200 wscript: Refer to correct ConfigSet variable LIB_GSSAPI appears to be an error of copy-and-pasting. Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Autobuild-User(master): Andrew Bartlett <abart...@samba.org> Autobuild-Date(master): Wed Aug 30 03:15:05 UTC 2023 on atb-devel-224 commit 54ebd103c859333e96c1b609ada42de52029b18a Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 12:15:19 2023 +1200 wscript: Remove semicolons Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 8f430492c8e92a542d0d3a92bb82d1f7e1bb105c Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 12:14:45 2023 +1200 wscript: Remove unused imports Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit c6d0323bf1535f41d11a1df3561128cdd84e6848 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 12:11:39 2023 +1200 wscript: Use ‘is’ to compare with singletons Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit b5cc15fdf16dbfa64b6808dca5c0ac6701f1a553 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 12:11:08 2023 +1200 wscript: Remove unused variable Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 752a1c409e035a57b13bda1ffee3849f81743069 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 12:07:33 2023 +1200 third_party/heimdal_build: Use ‘is’ to compare with singletons Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit a6c442acea1de3dfcfaf8d897bf87d4e9d042912 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 12:06:13 2023 +1200 third_party/heimdal_build: Remove semicolons Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit dfe25969f319e9e494e6621db9b9768bef532086 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 14:58:53 2023 +1200 third_party/heimdal_build: Remove unused imports Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 0898329b8d7c49eb56515bdae5a01ba703549b37 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Wed Aug 23 11:00:42 2023 +1200 selftest: Don’t use invalid escape sequences Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 0fe4a12b3f30f44558962b1f3d997db4cd358e66 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 15:14:51 2023 +1200 selftest: Remove star imports Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 6db02afab8115643dea587dd8c90a6e481b261db Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 15:14:23 2023 +1200 selftest: Remove unused imports Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 3c7ef6d04157ce38931a2eb04103a0ee4d6006de Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 11:13:56 2023 +1200 s4:dsdb:tests: Fix usage lines Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit fec8d228ad1ad3215a125ba0719d503f89a9f35f Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 11:12:34 2023 +1200 s4:dsdb:tests: Remove unused imports Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 6e20afeb42a646fb0d3f1f9c20bdbf3bfb07460d Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 14:24:00 2023 +1200 s4:dsdb:tests: Fix spelling Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 357b520b37f5fd832118f58c1f034c1d64fb7a43 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Mon Aug 28 13:52:47 2023 +1200 tests/krb5: Have modified_ticket() not modify its arguments Inexplicable behaviour could result when the same arguments were passed in across multiple calls. Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit b4a2e64110f9c1fb159bc6c8cc94cd90ba14323e Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 15:12:39 2023 +1200 tests/krb5: Add KerberosCredentials.get_rid() Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 7b4b03e5e79d02385dc5508bc115ac8f21f31769 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 10:58:05 2023 +1200 tests/krb5: Re-raise any LdbError other than ERR_ENTRY_ALREADY_EXISTS Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 3f01cf9169947d52138a16c53d5bedb28f8c78cc Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 10:53:00 2023 +1200 tests/krb5: Correctly assert that we found a LOGON_INFO PAC buffer Because ‘found_logon_info’ was invariably true, we would miss the case in which set_pac_sids() failed to accomplish anything, having been unable to find the LOGON_INFO PAC buffer. Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 04cdb13c0809194092ec418313ec8c3eede8b18a Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 10:52:31 2023 +1200 tests/krb5: Remove local variable This seems a bit clearer to me. Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 1def8f04f34f26529f73f4bbf8b0d077ed0e233a Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Thu Aug 24 14:11:45 2023 +1200 tests/krb5: Move KDC TGT tests to new file We can now rely on having MIT Kerberos 1.20 available. Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit e390e674ecb93d7c64456825697cc7de4cbf181d Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 14:48:24 2023 +1200 tests/krb5: Remove test of pre-1.20 MIT Kerberos behaviour Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 2b566979acfc89ad609eb7c0c87d720f1a35f30a Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 16:30:08 2023 +1200 gp: Use read_file() instead of readfp() readfp() is deprecated and could be removed in a future version of Python. Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 34042677b7da79936ed0278a80ec34ee9b93de3e Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 16:29:55 2023 +1200 gp: Fix resource leaks Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 928f2bbc6b56294207bbcbcfb6b2dc8678c4cc5e Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 16:27:04 2023 +1200 gp: Use assertEqual() instead of assertEquals() assertEquals() is deprecated and could be removed in a future version of Python. Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 953bc91851cdae05b0876b44792b97bca7ad061a Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 13:59:06 2023 +1200 gp: Check correct variables We were intending to check the keys, not the certificates. Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 036a523e5169a77d062607d0369eba0a02c230db Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 13:58:17 2023 +1200 gp: Prefer ‘x not in y’ to ‘not x in y’ Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 94afa3b194607d389986f2504c15c02578aa8ada Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 13:57:09 2023 +1200 gp: Don’t shadow imports Rename a variable that shadows an import of ‘gp_ext’. Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 5755b4a4905e945b3afb07aaa3434c19e5beeecd Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 14:57:20 2023 +1200 gp: Add missing import Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit de04333b4d5da7a4b22778c83428e80c1a6ca97d Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 17:37:31 2023 +1200 pytest/dns_aging: Assert that the name of the node to search for is a string Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 472d80c1c9f24bd352cd1cb41b0d66dde418ce91 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 17:31:14 2023 +1200 pytest/dns_aging: Correctly check that record is tombstoned We were passing in as the name parameter to assert_tombstoned() an NDR Python object, rather than a string. This meant that the LDAP search filter would look something like this: (&(objectClass=dnsNode)(name=<dnsp.DnssrvRpcRecord talloc based object at 0x29abee0>)) and we would fail to find any records. These searches should have a better chance of working if we pass in the name of the record instead. Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 8e5c998b1d327dd6f3e4a8c433bf456cf496ac75 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Mon Aug 28 13:39:03 2023 +1200 pytest/dns_aging: Check value of ‘dtime’ Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit d3bc6faa7a5d9d937045de975c9917a5e4646983 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Mon Aug 28 13:40:03 2023 +1200 python:tests: Rename test method so as not to mask previously-defined method Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit bbd0e35f11f71e57b14e954c591eb2aac9f0c916 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 13:58:39 2023 +1200 python:tests: Complete assertion messages Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit c4e0d4fbd17741e7feff5aec71ee6fbbc83df4c2 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 11:57:09 2023 +1200 python:tests: Fix usage line Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 83230577ece3568e7365f3e449a62ff3d826e963 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Mon Aug 28 13:15:10 2023 +1200 python: Fix reference to undefined name ‘samba’ Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 5c5045eeb449230c8a59748e40aa9a9d2475de2b Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 12:51:43 2023 +1200 samba-tool: Remove useless return Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit b076cad4b2679369652f864fcb3a77b22d28fd2a Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Mon Aug 28 13:11:21 2023 +1200 python:join: Fix references to undefined variables Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit b068592dd0dccce634cb17b66f0659ba60523908 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 13:56:21 2023 +1200 python: Fix invalid escape sequences Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 12f1c7825db44d83e94ba37335c1582363281f75 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 13:55:23 2023 +1200 python: Remove redundant backslashes Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit fce882ab67186fddd957404fe62f84d41380895c Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 11:09:52 2023 +1200 python: Remove unused imports Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 6c6db88ddacdc962c146ef348a62605405a5c109 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 14:23:51 2023 +1200 python: Fix spelling Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 5de640fc58113014fef7c6b27b63810fa503984b Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 20:50:32 2023 +1200 ldb: Heed return code from Python testsuite When we added a second run of the Python testsuite, the return code from the first run began to go ignored. Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit b440732e7fcd817d7c2012ea2f843899eaa45a9a Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 20:50:13 2023 +1200 ldb: Remove unused import Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit e4ab1de4e411b057f34dcc98544501057bed74ca Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 20:48:58 2023 +1200 lib:ldb:tests: Remove explicit comparison with False Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 84dc7129ead1c80b89f89f7d5b426ea3592fca58 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 20:48:14 2023 +1200 buildtools: Properly set global variable Since we didn’t declare ‘old_refill_task_list’ as global, we were just assigning a value to a local variable that was destroyed after we returned from this function. We clearly intended instead to assign to a global variable of the same name. Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 8d61d3f8e021284bc879f65c55958f5b1d946035 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 15:10:53 2023 +1200 buildtools: Prefer ‘x not in y’ to ‘not x in y’ Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 6df81630af8e8d11711b0387baec8b84e0e529fc Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 15:12:27 2023 +1200 buildtools: Use ‘is’ to compare with singletons Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 94f46f0cbbc5097111c58b3310c925b2cf446a51 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Tue Aug 29 14:22:58 2023 +1200 buildtools: Fix comments and documentation Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 6668d213e77590305e4598c27b22155fd07fccc8 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Wed Aug 30 09:47:28 2023 +1200 pyldb: Fix leaks Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 5e9187baf926b513032cc781a7b9519d5fa91636 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 14:20:50 2023 +1200 pyldb: Check return values of Python functions Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit e5794b8c8a6561c82cc2d45b39589715b9460689 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 14:22:15 2023 +1200 pyldb: Check return values of talloc functions Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 93d37f8bfcac58893a514349ed47c12d27149146 Author: Joseph Sutton <josephsut...@catalyst.net.nz> Date: Fri Aug 25 14:21:24 2023 +1200 pyldb: Check whether Python object is a list If we’re going to call PyList_Size() on an object, we should be sure that it is a list first. Signed-off-by: Joseph Sutton <josephsut...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> ----------------------------------------------------------------------- Summary of changes: buildtools/wafsamba/pkgconfig.py | 2 +- buildtools/wafsamba/samba_deps.py | 2 +- buildtools/wafsamba/samba_install.py | 2 +- buildtools/wafsamba/stale_files.py | 1 + buildtools/wafsamba/wafsamba.py | 6 +- buildtools/wafsamba/wscript | 12 +- lib/ldb/pyldb.c | 336 +++++++++++++++++--- lib/ldb/pyldb_util.c | 53 +++- lib/ldb/tests/python/api.py | 2 +- lib/ldb/wscript | 3 +- python/samba/__init__.py | 1 - python/samba/domain_update.py | 3 - python/samba/forest_update.py | 2 - python/samba/gp/gp_centrify_crontab_ext.py | 6 +- python/samba/gp/gp_centrify_sudoers_ext.py | 1 - python/samba/gp/gp_cert_auto_enroll_ext.py | 10 +- python/samba/gp/gp_ext_loader.py | 14 +- python/samba/gp/gp_gnome_settings_ext.py | 5 +- python/samba/gp/gp_msgs_ext.py | 11 +- python/samba/gp/gp_sec_ext.py | 6 +- python/samba/gp/gp_smb_conf_ext.py | 2 +- python/samba/gp/gp_sudoers_ext.py | 6 +- python/samba/gp/gpclass.py | 25 +- python/samba/gp/util/logging.py | 1 - python/samba/gp/vgp_access_ext.py | 1 - python/samba/gp/vgp_issue_ext.py | 12 +- python/samba/gp/vgp_motd_ext.py | 12 +- python/samba/gp/vgp_openssh_ext.py | 6 +- python/samba/gp/vgp_startup_scripts_ext.py | 2 +- python/samba/gp/vgp_sudoers_ext.py | 5 +- python/samba/gp/vgp_symlink_ext.py | 2 - python/samba/gp_parse/gp_ini.py | 4 +- python/samba/graph.py | 2 +- python/samba/join.py | 14 +- python/samba/kcc/kcc_utils.py | 4 +- python/samba/mdb_util.py | 1 - python/samba/netcmd/domain/level.py | 1 - python/samba/netcmd/gpo.py | 8 +- python/samba/ntacls.py | 2 +- python/samba/policies.py | 5 +- python/samba/provision/__init__.py | 6 - python/samba/provision/sambadns.py | 4 - python/samba/remove_dc.py | 6 +- python/samba/safe_tarfile.py | 2 +- python/samba/samdb.py | 2 +- python/samba/subunit/__init__.py | 1 - python/samba/tests/__init__.py | 6 +- python/samba/tests/common.py | 2 +- python/samba/tests/complex_expressions.py | 2 +- python/samba/tests/compression.py | 2 - python/samba/tests/dcerpc/samr_change_password.py | 1 - python/samba/tests/dns_aging.py | 19 +- python/samba/tests/dns_forwarder.py | 2 +- python/samba/tests/domain_backup_offline.py | 3 - python/samba/tests/dsdb_dns.py | 1 - python/samba/tests/dsdb_lock.py | 1 - python/samba/tests/getdcname.py | 5 +- python/samba/tests/gpo.py | 346 ++++++++++----------- python/samba/tests/gpo_member.py | 2 - python/samba/tests/krb5/compatability_tests.py | 69 ---- python/samba/tests/krb5/kdc_base_test.py | 10 +- .../tests/krb5/{rodc_tests.py => kdc_tgt_tests.py} | 65 ++-- python/samba/tests/krb5/raw_testcase.py | 12 + python/samba/tests/krb5_credentials.py | 2 +- python/samba/tests/ldap_upn_sam_account.py | 4 +- python/samba/tests/ldap_whoami.py | 2 +- python/samba/tests/netlogonsvc.py | 1 - python/samba/tests/password_hash_ldap.py | 1 - python/samba/tests/safe_tarfile.py | 1 - python/samba/tests/samba_startup_fl_change.py | 3 +- python/samba/tests/samba_tool/gpo.py | 8 +- python/samba/tests/samdb_api.py | 1 - python/samba/tests/security_descriptors.py | 1 - python/samba/tests/smb-notify.py | 1 - python/samba/tests/smb1posix.py | 1 - python/samba/tests/smbconf.py | 2 +- python/samba/upgrade.py | 1 - python/samba/upgradehelpers.py | 2 +- selftest/knownfail_mit_kdc_1_20 | 1 - selftest/tap2subunit | 12 +- selftest/wscript | 16 +- source4/dsdb/tests/python/acl_modify.py | 2 +- source4/dsdb/tests/python/ad_dc_multi_bind.py | 10 +- source4/dsdb/tests/python/deletetest.py | 6 +- source4/dsdb/tests/python/ldap.py | 8 +- source4/dsdb/tests/python/ndr_pack_performance.py | 8 - source4/dsdb/tests/python/notification.py | 7 +- source4/dsdb/tests/python/priv_attrs.py | 34 +- source4/dsdb/tests/python/rodc.py | 4 - source4/dsdb/tests/python/rodc_rwdc.py | 3 +- source4/dsdb/tests/python/sort.py | 2 +- source4/dsdb/tests/python/subtree_rename.py | 1 - source4/dsdb/tests/python/tombstone_reanimation.py | 1 - source4/dsdb/tests/python/user_account_control.py | 6 +- third_party/heimdal_build/wscript_build | 5 +- third_party/heimdal_build/wscript_configure | 5 +- wscript | 27 +- wscript_build | 2 - wscript_configure_system_gnutls | 1 - wscript_configure_system_heimdal | 3 - wscript_configure_system_mitkrb5 | 16 +- 101 files changed, 784 insertions(+), 589 deletions(-) copy python/samba/tests/krb5/{rodc_tests.py => kdc_tgt_tests.py} (50%) Changeset truncated at 500 lines: diff --git a/buildtools/wafsamba/pkgconfig.py b/buildtools/wafsamba/pkgconfig.py index b77bd618c89..417bf030fe4 100644 --- a/buildtools/wafsamba/pkgconfig.py +++ b/buildtools/wafsamba/pkgconfig.py @@ -5,7 +5,7 @@ from waflib import Build, Logs from samba_utils import SUBST_VARS_RECURSIVE, TO_LIST def subst_at_vars(task): - '''substiture @VAR@ style variables in a file''' + '''substitute @VAR@ style variables in a file''' s = task.inputs[0].read() # split on the vars diff --git a/buildtools/wafsamba/samba_deps.py b/buildtools/wafsamba/samba_deps.py index 66adf40307e..80379d37a9c 100644 --- a/buildtools/wafsamba/samba_deps.py +++ b/buildtools/wafsamba/samba_deps.py @@ -360,7 +360,7 @@ def show_final_deps(bld, tgt_list): def add_samba_attributes(bld, tgt_list): - '''ensure a target has a the required samba attributes''' + '''ensure a target has the required samba attributes''' targets = LOCAL_CACHE(bld, 'TARGET_TYPE') diff --git a/buildtools/wafsamba/samba_install.py b/buildtools/wafsamba/samba_install.py index 2957e16c3da..a43d10398d3 100644 --- a/buildtools/wafsamba/samba_install.py +++ b/buildtools/wafsamba/samba_install.py @@ -188,7 +188,7 @@ def symlink_lib(self): blddir = os.path.dirname(self.bld.srcnode.abspath(self.bld.env)) libpath = self.link_task.outputs[0].abspath(self.env) - # calculat the link target and put it in the environment + # calculate the link target and put it in the environment soext="" vnum = getattr(self, 'vnum', None) if vnum is not None: diff --git a/buildtools/wafsamba/stale_files.py b/buildtools/wafsamba/stale_files.py index 78efea424fd..ac2c2a74194 100644 --- a/buildtools/wafsamba/stale_files.py +++ b/buildtools/wafsamba/stale_files.py @@ -107,6 +107,7 @@ def replace_refill_task_list(self): def AUTOCLEANUP_STALE_FILES(bld): """automatically clean up any files in bin that shouldn't be there""" + global old_refill_task_list old_refill_task_list = Parallel.refill_task_list Parallel.refill_task_list = replace_refill_task_list Parallel.bld = bld diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index 40c7b866fba..c14eb58c879 100644 --- a/buildtools/wafsamba/wafsamba.py +++ b/buildtools/wafsamba/wafsamba.py @@ -82,7 +82,7 @@ def ADD_INIT_FUNCTION(bld, subsystem, target, init_function): return bld.ASSERT(subsystem is not None, "You must specify a subsystem for init_function '%s'" % init_function) cache = LOCAL_CACHE(bld, 'INIT_FUNCTIONS') - if not subsystem in cache: + if subsystem not in cache: cache[subsystem] = [] cache[subsystem].append( { 'TARGET':target, 'INIT_FUNCTION':init_function } ) Build.BuildContext.ADD_INIT_FUNCTION = ADD_INIT_FUNCTION @@ -303,7 +303,7 @@ def SAMBA_LIBRARY(bld, libname, source, else: bundled_name = libname.replace('_', '-') else: - assert (private_library == True and realname is None) + assert (private_library is True and realname is None) bundled_name = PRIVATE_NAME(bld, libname.replace('_', '-')) vnum = None @@ -1058,7 +1058,7 @@ def copy_and_fix_perl_path(task): lineno = 0 for line in source_file: newline = line - if lineno == 0 and task.env["PERL_SPECIFIED"] == True and line[:2] == "#!": + if lineno == 0 and task.env["PERL_SPECIFIED"] is True and line[:2] == "#!": newline = replacement_shebang elif pattern in line: newline = line.replace(pattern, replacement) diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript index 30cb366331a..99a623737f1 100644 --- a/buildtools/wafsamba/wscript +++ b/buildtools/wafsamba/wscript @@ -37,7 +37,7 @@ def options(opt): help=(f'''comma separated list of bundled libraries. {Context.g_module.APPNAME} includes copies of externally maintained -system libraries (such as popt, cmokca) as well as Samba-maintained +system libraries (such as popt, cmocka) as well as Samba-maintained libraries that can be found on the system already (such as talloc, tdb). @@ -99,7 +99,7 @@ versions of libraries that we include match that found on the system, before we will select not to 'bundle'. This option, possibly useful for packagers, allows that specified -version to be overridden (say, if it is absolutely known that a the +version to be overridden (say, if it is absolutely known that the newer version included in this tarball has no relevant changes). Use this with extreme care @@ -539,7 +539,7 @@ def configure(conf): # conf.DEFINE('_XOPEN_SOURCE', 600, add_to_cflags=True) # we should use the PIC options in waf instead - # Some compilo didn't support -fPIC but just print a warning + # Some compiler didn't support -fPIC but just print a warning if conf.env['COMPILER_CC'] == "suncc": conf.ADD_CFLAGS('-KPIC', testflags=True) # we really want define here as we need to have this @@ -552,7 +552,7 @@ def configure(conf): # On Solaris 8 with suncc (at least) the flags for the linker to define the name of the # library are not always working (if the command line is very very long and with a lot - # files) + # of files) if conf.env['COMPILER_CC'] == "suncc": save = conf.env['SONAME_ST'] @@ -615,7 +615,7 @@ struct foo bar = { .y = 'X', .x = 1 }; # see if we need special largefile flags if not conf.CHECK_LARGEFILE(): - raise Errors.WafError('Samba requires large file support support, but not available on this platform: sizeof(off_t) < 8') + raise Errors.WafError('Samba requires large file support, but not available on this platform: sizeof(off_t) < 8') if conf.env.HAVE_STDDEF_H and conf.env.HAVE_STDLIB_H: conf.DEFINE('STDC_HEADERS', 1) @@ -632,7 +632,7 @@ struct foo bar = { .y = 'X', .x = 1 }; else: conf.define('SHLIBEXT', "so", quote=True) - # First try a header check for cross-compile friendlyness + # First try a header check for cross-compile friendliness conf.CHECK_CODE(code = """#ifdef __BYTE_ORDER #define B __BYTE_ORDER #elif defined(BYTE_ORDER) diff --git a/lib/ldb/pyldb.c b/lib/ldb/pyldb.c index bb491af5ada..49641957223 100644 --- a/lib/ldb/pyldb.c +++ b/lib/ldb/pyldb.c @@ -91,6 +91,9 @@ static PyObject *PyLdbBytes_FromStringAndSize(const char *msg, int size) PyObject* result = NULL; PyObject* args = NULL; args = Py_BuildValue("(y#)", msg, size); + if (args == NULL) { + return NULL; + } result = PyLdbBytesType.tp_new(&PyLdbBytesType, args, NULL); Py_DECREF(args); return result; @@ -454,11 +457,29 @@ static struct ldb_result *PyLdbResult_AsResult(TALLOC_CTX *mem_ctx, if (obj == Py_None) return NULL; + if (!PyList_Check(obj)) { + PyErr_SetString(PyExc_ValueError, "Expected list of LDB results"); + return NULL; + } + res = talloc_zero(mem_ctx, struct ldb_result); + if (res == NULL) { + PyErr_NoMemory(); + return NULL; + } res->count = PyList_Size(obj); res->msgs = talloc_array(res, struct ldb_message *, res->count); + if (res->msgs == NULL) { + talloc_free(res); + PyErr_NoMemory(); + return NULL; + } for (i = 0; i < res->count; i++) { PyObject *item = PyList_GetItem(obj, i); + if (item == NULL) { + talloc_free(res); + return NULL; + } res->msgs[i] = pyldb_Message_AsMessage(item); } return res; @@ -889,35 +910,69 @@ static Py_ssize_t py_ldb_dn_len(PyLdbDnObject *self) */ static PyObject *py_ldb_dn_copy(struct ldb_dn *dn) { + TALLOC_CTX *mem_ctx = NULL; + struct ldb_dn *new_dn = NULL; PyLdbDnObject *py_ret; + mem_ctx = talloc_new(NULL); + if (mem_ctx == NULL) { + return PyErr_NoMemory(); + } + + new_dn = ldb_dn_copy(mem_ctx, dn); + if (new_dn == NULL) { + talloc_free(mem_ctx); + return PyErr_NoMemory(); + } + py_ret = (PyLdbDnObject *)PyLdbDn.tp_alloc(&PyLdbDn, 0); if (py_ret == NULL) { + talloc_free(mem_ctx); PyErr_NoMemory(); return NULL; } - py_ret->mem_ctx = talloc_new(NULL); - py_ret->dn = ldb_dn_copy(py_ret->mem_ctx, dn); + py_ret->mem_ctx = mem_ctx; + py_ret->dn = new_dn; return (PyObject *)py_ret; } static PyObject *py_ldb_dn_concat(PyLdbDnObject *self, PyObject *py_other) { + TALLOC_CTX *mem_ctx = NULL; struct ldb_dn *dn = pyldb_Dn_AS_DN((PyObject *)self), *other; + struct ldb_dn *new_dn = NULL; PyLdbDnObject *py_ret; if (!pyldb_Object_AsDn(NULL, py_other, NULL, &other)) return NULL; + mem_ctx = talloc_new(NULL); + if (mem_ctx == NULL) { + return PyErr_NoMemory(); + } + + new_dn = ldb_dn_copy(mem_ctx, dn); + if (new_dn == NULL) { + talloc_free(mem_ctx); + return PyErr_NoMemory(); + } + + if (!ldb_dn_add_base(new_dn, other)) { + PyErr_SetString(PyExc_RuntimeError, "unable to concatenate DNs"); + talloc_free(mem_ctx); + return NULL; + } + py_ret = (PyLdbDnObject *)PyLdbDn.tp_alloc(&PyLdbDn, 0); if (py_ret == NULL) { + talloc_free(mem_ctx); PyErr_NoMemory(); return NULL; } - py_ret->mem_ctx = talloc_new(NULL); - py_ret->dn = ldb_dn_copy(py_ret->mem_ctx, dn); - ldb_dn_add_base(py_ret->dn, other); + py_ret->mem_ctx = mem_ctx; + py_ret->dn = new_dn; + return (PyObject *)py_ret; } @@ -1208,6 +1263,7 @@ static int py_ldb_init(PyLdbObject *self, PyObject *args, PyObject *kwargs) ret = ldb_connect(ldb, url, flags, options); if (ret != LDB_SUCCESS) { PyErr_SetLdbError(PyExc_LdbError, ret, ldb); + talloc_free(options); return -1; } } else { @@ -1220,20 +1276,29 @@ static int py_ldb_init(PyLdbObject *self, PyObject *args, PyObject *kwargs) static PyObject *py_ldb_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { + TALLOC_CTX *mem_ctx = NULL; PyLdbObject *ret; struct ldb_context *ldb; - ret = (PyLdbObject *)type->tp_alloc(type, 0); - if (ret == NULL) { + + mem_ctx = talloc_new(NULL); + if (mem_ctx == NULL) { + return PyErr_NoMemory(); + } + + ldb = ldb_init(mem_ctx, NULL); + if (ldb == NULL) { + talloc_free(mem_ctx); PyErr_NoMemory(); return NULL; } - ret->mem_ctx = talloc_new(NULL); - ldb = ldb_init(ret->mem_ctx, NULL); - if (ldb == NULL) { + ret = (PyLdbObject *)type->tp_alloc(type, 0); + if (ret == NULL) { + talloc_free(mem_ctx); PyErr_NoMemory(); return NULL; } + ret->mem_ctx = mem_ctx; ret->ldb_ctx = ldb; return (PyObject *)ret; @@ -1869,10 +1934,14 @@ static PyObject *py_ldb_write_ldif(PyLdbObject *self, PyObject *args) ldif.changetype = changetype; mem_ctx = talloc_new(NULL); + if (mem_ctx == NULL) { + return PyErr_NoMemory(); + } string = ldb_ldif_write_string(pyldb_Ldb_AS_LDBCONTEXT(self), mem_ctx, &ldif); if (!string) { PyErr_SetString(PyExc_KeyError, "Failed to generate LDIF"); + talloc_free(mem_ctx); return NULL; } @@ -1901,6 +1970,11 @@ static PyObject *py_ldb_parse_ldif(PyLdbObject *self, PyObject *args) } list = PyList_New(0); + if (list == NULL) { + talloc_free(mem_ctx); + return NULL; + } + while (s && *s != '\0') { ldif = ldb_ldif_read_string(self->ldb_ctx, &s); talloc_steal(mem_ctx, ldif); @@ -1999,6 +2073,7 @@ static PyObject *py_ldb_msg_diff(PyLdbObject *self, PyObject *args) diff = ldb_msg_copy(mem_ctx, diff); if (diff == NULL) { + talloc_free(mem_ctx); PyErr_NoMemory(); return NULL; } @@ -2616,15 +2691,29 @@ static PyMethodDef py_ldb_methods[] = { static PyObject *PyLdbModule_FromModule(struct ldb_module *mod) { + TALLOC_CTX *mem_ctx = NULL; + struct ldb_module *mod_ref = NULL; PyLdbModuleObject *ret; + mem_ctx = talloc_new(NULL); + if (mem_ctx == NULL) { + return PyErr_NoMemory(); + } + + mod_ref = talloc_reference(mem_ctx, mod); + if (mod_ref == NULL) { + talloc_free(mem_ctx); + return PyErr_NoMemory(); + } + ret = (PyLdbModuleObject *)PyLdbModule.tp_alloc(&PyLdbModule, 0); if (ret == NULL) { + talloc_free(mem_ctx); PyErr_NoMemory(); return NULL; } - ret->mem_ctx = talloc_new(NULL); - ret->mod = talloc_reference(ret->mem_ctx, mod); + ret->mem_ctx = mem_ctx; + ret->mod = mod_ref; return (PyObject *)ret; } @@ -2685,15 +2774,29 @@ static PySequenceMethods py_ldb_seq = { static PyObject *PyLdb_FromLdbContext(struct ldb_context *ldb_ctx) { + TALLOC_CTX *mem_ctx = NULL; + struct ldb_context *ldb_ctx_ref = NULL; PyLdbObject *ret; + mem_ctx = talloc_new(NULL); + if (mem_ctx == NULL) { + return PyErr_NoMemory(); + } + + ldb_ctx_ref = talloc_reference(mem_ctx, ldb_ctx); + if (ldb_ctx_ref == NULL) { + talloc_free(mem_ctx); + return PyErr_NoMemory(); + } + ret = (PyLdbObject *)PyLdb.tp_alloc(&PyLdb, 0); if (ret == NULL) { + talloc_free(mem_ctx); PyErr_NoMemory(); return NULL; } - ret->mem_ctx = talloc_new(NULL); - ret->ldb_ctx = talloc_reference(ret->mem_ctx, ldb_ctx); + ret->mem_ctx = mem_ctx; + ret->ldb_ctx = ldb_ctx_ref; return (PyObject *)ret; } @@ -3274,10 +3377,26 @@ static PyObject *ldb_msg_element_to_set(struct ldb_context *ldb_ctx, /* Python << 2.5 doesn't have PySet_New and PySet_Add. */ result = PyList_New(me->num_values); + if (result == NULL) { + return NULL; + } for (i = 0; i < me->num_values; i++) { - PyList_SetItem(result, i, - PyObject_FromLdbValue(&me->values[i])); + PyObject *obj = NULL; + int ret; + + obj = PyObject_FromLdbValue(&me->values[i]); + if (obj == NULL) { + Py_DECREF(result); + return NULL; + } + + ret = PyList_SetItem(result, i, obj); + if (ret) { + Py_DECREF(obj); + Py_DECREF(result); + return NULL; + } } return result; @@ -3362,17 +3481,27 @@ static PyObject *py_ldb_msg_element_iter(PyLdbMessageElementObject *self) static PyObject *PyLdbMessageElement_FromMessageElement(struct ldb_message_element *el, TALLOC_CTX *mem_ctx) { + TALLOC_CTX *ret_mem_ctx = NULL; PyLdbMessageElementObject *ret; - ret = PyObject_New(PyLdbMessageElementObject, &PyLdbMessageElement); - if (ret == NULL) { + + ret_mem_ctx = talloc_new(NULL); + if (ret_mem_ctx == NULL) { + return PyErr_NoMemory(); + } + + if (talloc_reference(ret_mem_ctx, mem_ctx) == NULL) { + talloc_free(ret_mem_ctx); PyErr_NoMemory(); return NULL; } - ret->mem_ctx = talloc_new(NULL); - if (talloc_reference(ret->mem_ctx, mem_ctx) == NULL) { + + ret = PyObject_New(PyLdbMessageElementObject, &PyLdbMessageElement); + if (ret == NULL) { + talloc_free(ret_mem_ctx); PyErr_NoMemory(); return NULL; } + ret->mem_ctx = ret_mem_ctx; ret->el = el; return (PyObject *)ret; } @@ -3632,12 +3761,46 @@ static PyObject *py_ldb_msg_keys(PyLdbMessageObject *self, struct ldb_message *msg = pyldb_Message_AsMessage(self); Py_ssize_t i, j = 0; PyObject *obj = PyList_New(msg->num_elements+(msg->dn != NULL?1:0)); + if (obj == NULL) { + return NULL; + } + if (msg->dn != NULL) { - PyList_SetItem(obj, j, PyUnicode_FromString("dn")); + PyObject *py_dn = NULL; + int ret; + + py_dn = PyUnicode_FromString("dn"); + if (py_dn == NULL) { + Py_DECREF(obj); + return NULL; + } + + ret = PyList_SetItem(obj, j, py_dn); + if (ret) { + Py_DECREF(py_dn); + Py_DECREF(obj); + return NULL; + } + j++; } for (i = 0; i < msg->num_elements; i++) { - PyList_SetItem(obj, j, PyUnicode_FromString(msg->elements[i].name)); + PyObject *py_name = NULL; + int ret; + + py_name = PyUnicode_FromString(msg->elements[i].name); + if (py_name == NULL) { + Py_DECREF(obj); + return NULL; + } -- Samba Shared Repository