The branch, master has been updated via da589447bde s3: net_ads: Cleanup, remove unused talloc_ctx in net_ads_kerberos_kinit(). via 3d6ec74fd22 s3:libads: RIP ads_destroy() via 8ea0dd1a38c s3:libads: Allocate ads->config.config_path under ADS_STRUCT talloc context via 6ca5eaccfa3 s3:libads: Allocate ads->config.schema_path under ADS_STRUCT talloc context via 9fe2cf1b206 s3:libads: Allocate ads->config.client_site_name under ADS_STRUCT talloc context via 40cd92040b9 s3:libads: Allocate ads->config.server_site_name under ADS_STRUCT talloc context via dcf6578dff3 s3:libads: Allocate ads->config.ldap_server_name under ADS_STRUCT talloc context via dd9e0f11912 s3:libads: Allocate ads->config.bind_path under ADS_STRUCT talloc context via b2381e1038a s3:libads: Return ADS_STATUS from ads_build_dn() via 9530ca85372 s3:libads: Return ADS_STATUS from ads_build_path() via b8a0446a4da s3:libads: Allocate ads->config.realm under ADS_STRUCT talloc context via ed784ed07e9 s3:libads: Allocate ads->auth.ccache_name under ADS_STRUCT talloc context via 89c3f22407f s3:libads: Print ads->auth.ccache_name in ndr_print_ads_struct() via ca7ac79faef s3:libads: Allocate ads->auth.kdc_server under ADS_STRUCT talloc context via 633ccc55c06 s3:libads: Allocate ads->auth.user_name under ADS_STRUCT talloc context via d64335eaef5 s3:libads: Allocate ads->auth.password under ADS_STRUCT talloc context via c1ab39163bb s3:libads: Allocate ads->auth.realm under ADS_STRUCT talloc context via cc8465f1b79 s3:libads: Allocate ads->server.ldap_server under ADS_STRUCT talloc context via 5ec9b8ef317 s3:libads: Allocate ads->server.workgroup under ADS_STRUCT talloc context via cdef601150c s3:libads: Alloc ads->server.realm under ADS_STRUCT talloc context via e60d2bc8c88 s3:libads: Remove no longer used is_mine flag from ADS_STRUCT via d0dc0171ad6 s3:libads: Allocate ADS_STRUCT under a talloc context via 50934b85ffe s3:net: Refactor net_ads_check_int(), allocate a talloc context via d005418005d s3:libads: Move the ads_destroy() function up in the file via e6cd1be1e99 s3:libads: Remove unused define via ba7a3667e95 s3:net: Pass a talloc context to ads_startup_int() via 0748783396b s3:net: Pass a talloc context to ads_startup() via 2979196d69b s3:net: Exit returning -1 when usage is displayed via 923db0f2b85 s3:net: Refactor net_ads_enctypes_delete(), allocate a talloc context via 5a4ccc5e927 s3:net: Refactor net_ads_enctypes_set(), allocate a talloc context via 1b04ae0d3c1 s3:net: Refactor net_ads_enctypes_list(), allocate a talloc context via 998e9b9a199 s3:net: Refactor net_ads_setspn_delete(), allocate a talloc context via d4059d525cd s3:net: Refactor net_ads_setspn_add(), allocate a talloc context via d8c84717eed s3:net: Refactor net_ads_setspn_list(), allocate a talloc context via 04fa6e9882c s3:net: Refactor net_ads_keytab_create(), allocate a talloc context via d4937439a62 s3:net: Refactor net_ads_keytab_add(), allocate a talloc context via 484345bd4bc s3:net: Refactor net_ads_keytab_flush(), allocate a talloc context via c443b0b18e4 s3:net: Refactor net_ads_sid(), allocate a talloc context via c0ed4d85adf s3:net: Refactor net_ads_dn(), allocate a talloc context via f665c66133b s3:net: Refactor net_ads_search(), allocate a talloc context via 407e156d594 s3:net: Refactor net_ads_changetrustpw(), allocate a talloc context via 4e2f7cf565b s3:net: Refactor net_ads_password(), allocate a talloc context via bb1a344844a s3:net: Refactor net_ads_printer_remove(), allocate a talloc context via 75a3f3800d2 s3:net: Refactor net_ads_printer_publish(), allocate a talloc context via 7f2267cce97 s3:net: Refactor net_ads_printer_info(), allocate a talloc context via 507c90e2fb8 s3:net: Refactor net_ads_printer_search(), allocate a talloc context via 1867b09c8fd s3:net: Refactor net_ads_dns_unregister(), allocate a talloc context via d92055e01b2 s3:net: Refactor net_ads_dns_register(), allocate a talloc context via ec00cbc6e0b s3:net: Refactor net_ads_join(), allocate a talloc context via f810a41f6a9 s3:net: Refactor net_ads_join_ok(), allocate a talloc context via 818ed102a3b s3:net: Refactor net_ads_leave(), allocate a talloc context via ce9da6e6504 s3:net: Refactor net_ads_status(), allocate a talloc context via 786e0394dfe s3:net: Refactor net_ads_group(), allocate a talloc context via 356aa3e357c s3:net: Refactor ads_group_delete(), allocate a talloc context via 66a72fbe012 s3:net: Refactor ads_group_add(), allocate a talloc context via 937021d51bb s3:net: Refactor net_ads_user(), allocate a talloc context via 3c2b813a0b1 s3:net: Refactor ads_user_delete(), allocate a talloc context via eaa7411c3ae s3:net: Refactor ads_user_info(), allocate a talloc context via 5f587ab00b2 s3:net: Refactor ads_user_add(), allocate a talloc context via 0693b9aa30b s3:net: Pass a memory context to ads_startup_nobind() via 887188702d1 s3:net: Refactor net_ads_workgroup(), allocate a talloc context via aeaf1e48699 s3:net: Refactor net_ads_info(), allocate a talloc context via fa6dc883612 s3:net: Refactor net_ads_lookup(), allocate a talloc context via 91630335601 s3:libads: Allocate temporary memory context for ads_domain_func_level() via 20936391175 s3:libads: Rename talloc context via cfa6da8658b s3:winbind: Allocate a temporary memory context for dcip_check_name_ads() via 23bc40f6c5e s3:winbind: Early return on error in dcip_check_name_ads() via d42849c5c5a s3:winbind: Factor out dcip_check_name_ads() via 5fe4929938a s3:winbind: Create a temporary talloc context for ads_cached_connection_connect() via 2c753ad6902 s3:winbind: Pass a memory context to ads_cached_connection_connect() via cec0b404d2c s3:winbind: Allocate a temporary memory context for ads_cached_connection() via 4350d9cd16b s3:winbind: Allocate a temporary talloc context for ads_idmap_cached_connection() via fd5e1f166a9 s3:winbind: Init pointers to NULL and use new debug macros via e8d3acd3321 s3:winbind: Return ADS_STATUS from ads_cached_connection() via f4d0db0d404 s3:winbind: Pass a memory context to ads_idmap_cached_connection() via 6130d113981 s3:printing: Allocate a temporary talloc context for nt_printer_publish() via db052963fcd s3:libsmb: Allocate a temporary talloc context for ads_dc_name() via 9cbe5503ba0 s3:libnet: Allocate a temporary talloc context in libnet_connect_ads() via ee8ff51cfa8 s3:netapi: Allocate a temporary talloc context for NetGetJoinableOUs_l() via 577fdd0f97a pygpo: Make ads_ADSType object inherit from pytalloc_BaseObject via 392cd137783 s3:libnet: Allocate the machine name string under its container's talloc context via 1b4d33d8727 s3:libnet: Allocate the machine name string under its container's talloc context via 6e3135ff229 s3:winbind: Fix a memory leak in ads_cached_connection() via 600f081c396 s3:winbind: Fix a memory leak in ads_idmap_cached_connection() via 337d7df48e4 s3:winbind: Remove dupplicated talloc_get_type() call via 6223dea34e7 s3:libads: Pass the correct ADS_STRUCT pointer to ads_msgfree via ed89ef46af2 s3:libads: Clear previous CLDAP ping flags when reusing the ADS_STRUCT via 5b69b62db43 s3:printing: Fix temporary talloc context leak via f2b6258b682 vfs_acl_xattr: add acl_xattr:security_acl_name option from f06b40a9196 bootstrap: Use quay.io to download fedora images
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit da589447bdeeb28386555d00c6803cf049a35970 Author: Jeremy Allison <j...@samba.org> Date: Fri Jun 24 17:02:43 2022 -0700 s3: net_ads: Cleanup, remove unused talloc_ctx in net_ads_kerberos_kinit(). Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Samuel Cabrero <scabr...@samba.org> Autobuild-User(master): Jeremy Allison <j...@samba.org> Autobuild-Date(master): Mon Jun 27 16:48:32 UTC 2022 on sn-devel-184 commit 3d6ec74fd22511817baea39e391c38d3a14a3456 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed Jun 15 12:36:02 2022 +0200 s3:libads: RIP ads_destroy() All ADS_STRUCT members are allocated under its talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 8ea0dd1a38cd04d85527b7147618256af6c52b2d Author: Samuel Cabrero <scabr...@samba.org> Date: Wed Jun 15 12:29:15 2022 +0200 s3:libads: Allocate ads->config.config_path under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 6ca5eaccfa3169a85917d86540145a447ddf2340 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed Jun 15 12:26:06 2022 +0200 s3:libads: Allocate ads->config.schema_path under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 9fe2cf1b206854c9351377d9769b96bea6e79b91 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed Jun 15 12:16:23 2022 +0200 s3:libads: Allocate ads->config.client_site_name under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 40cd92040b9ed238614e1a9d00352cac5e718a86 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed Jun 15 12:09:21 2022 +0200 s3:libads: Allocate ads->config.server_site_name under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit dcf6578dff3a51bf04c1d969f8b2a8253da49083 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed Jun 15 12:03:56 2022 +0200 s3:libads: Allocate ads->config.ldap_server_name under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit dd9e0f11912c4650832e167dde53f8b8417f887f Author: Samuel Cabrero <scabr...@samba.org> Date: Wed Jun 15 11:36:25 2022 +0200 s3:libads: Allocate ads->config.bind_path under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit b2381e1038ab58b542184c625a04aea01192c411 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed Jun 15 10:50:22 2022 +0200 s3:libads: Return ADS_STATUS from ads_build_dn() Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 9530ca8537250e84f00f9a55f2e955a06c613f18 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed Jun 15 10:38:51 2022 +0200 s3:libads: Return ADS_STATUS from ads_build_path() Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit b8a0446a4da2c220c8c3bf1ce17842bbce732c9d Author: Samuel Cabrero <scabr...@samba.org> Date: Mon Jun 13 17:44:02 2022 +0200 s3:libads: Allocate ads->config.realm under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit ed784ed07e9eca5d5c653e8c826fd228d9182f8a Author: Samuel Cabrero <scabr...@samba.org> Date: Mon Jun 13 17:13:20 2022 +0200 s3:libads: Allocate ads->auth.ccache_name under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 89c3f22407fed370d3b0fbc32a4a10a68a049db5 Author: Samuel Cabrero <scabr...@suse.de> Date: Mon Jun 13 17:04:47 2022 +0200 s3:libads: Print ads->auth.ccache_name in ndr_print_ads_struct() Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit ca7ac79faefc92c5fb9cdc7acf14bd0d401b0d14 Author: Samuel Cabrero <scabr...@suse.de> Date: Mon Jun 13 17:03:01 2022 +0200 s3:libads: Allocate ads->auth.kdc_server under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 633ccc55c0670cfe663ab7bf119feb8b22c92794 Author: Samuel Cabrero <scabr...@suse.de> Date: Mon Jun 13 16:53:32 2022 +0200 s3:libads: Allocate ads->auth.user_name under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit d64335eaef5ad690ea923a8e6656b9185a54d9fa Author: Samuel Cabrero <scabr...@suse.de> Date: Mon Jun 13 13:56:10 2022 +0200 s3:libads: Allocate ads->auth.password under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit c1ab39163bbaf8ef9c8dc92b1d14c3f6cb56456c Author: Samuel Cabrero <scabr...@suse.de> Date: Mon Jun 13 12:38:24 2022 +0200 s3:libads: Allocate ads->auth.realm under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit cc8465f1b79e335d9af6a2c2edf128aa5ce07ec0 Author: Samuel Cabrero <scabr...@samba.org> Date: Fri Jun 10 16:55:43 2022 +0200 s3:libads: Allocate ads->server.ldap_server under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 5ec9b8ef31727f8f35f1c5309598e59f5d283e1b Author: Samuel Cabrero <scabr...@samba.org> Date: Fri Jun 10 16:09:48 2022 +0200 s3:libads: Allocate ads->server.workgroup under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit cdef601150ce29f339f646183dafcd15395c575e Author: Samuel Cabrero <scabr...@samba.org> Date: Fri Jun 10 15:04:51 2022 +0200 s3:libads: Alloc ads->server.realm under ADS_STRUCT talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit e60d2bc8c88d02fe131ad4f1cc14425c09b83b26 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed Jun 22 10:50:44 2022 +0200 s3:libads: Remove no longer used is_mine flag from ADS_STRUCT Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit d0dc0171ad6abd969e834f8eb2bbfc08bef4547a Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 17:28:34 2022 +0200 s3:libads: Allocate ADS_STRUCT under a talloc context The ads_destroy() function is now static and only called from the ADS_STRUCT destructor. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 50934b85ffe57ba35e6558a2b54097e64f464419 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 15:13:02 2022 +0200 s3:net: Refactor net_ads_check_int(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit d005418005d4fdd73f3c43c016bed9196102f3e7 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 15:02:31 2022 +0200 s3:libads: Move the ads_destroy() function up in the file Will be static soon Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit e6cd1be1e998c82ddfd8392d2717ca7808123814 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 14:50:58 2022 +0200 s3:libads: Remove unused define Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit ba7a3667e95bf509886fb926f2f525e266e24779 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 14:43:25 2022 +0200 s3:net: Pass a talloc context to ads_startup_int() The ads struct will be allocated under this context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 0748783396bca630907be64cb4c4c45107d2f2df Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 14:41:24 2022 +0200 s3:net: Pass a talloc context to ads_startup() The ads struct will be allocated under this context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 2979196d69b93949576b4cba27c33a799f1776a8 Author: Samuel Cabrero <scabr...@samba.org> Date: Tue Jun 21 13:49:08 2022 +0200 s3:net: Exit returning -1 when usage is displayed Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 923db0f2b854b2775c6492129df41ad507b56696 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 13:51:44 2022 +0200 s3:net: Refactor net_ads_enctypes_delete(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 5a4ccc5e9274d37b92f9bc48409a18f43b862b67 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 13:49:18 2022 +0200 s3:net: Refactor net_ads_enctypes_set(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 1b04ae0d3c1bfe86ffe6332635c8d5d320dcbe06 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 13:44:17 2022 +0200 s3:net: Refactor net_ads_enctypes_list(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 998e9b9a199b3d95e1e5b7756d2b0dc5d619c419 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 13:41:43 2022 +0200 s3:net: Refactor net_ads_setspn_delete(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit d4059d525cd23c5dde686796aab99a648c82faa4 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 13:37:31 2022 +0200 s3:net: Refactor net_ads_setspn_add(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit d8c84717eede62480d020b6338b1c8f961b37ee4 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 13:35:11 2022 +0200 s3:net: Refactor net_ads_setspn_list(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 04fa6e9882cf61e6d87ea30724b19cfa3a5e7f69 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 13:31:57 2022 +0200 s3:net: Refactor net_ads_keytab_create(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit d4937439a62accc1beecbf30bc9264d20ba0ddbf Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 13:29:56 2022 +0200 s3:net: Refactor net_ads_keytab_add(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 484345bd4bcb962c5b5464e35d1a82c50abc5584 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 13:25:40 2022 +0200 s3:net: Refactor net_ads_keytab_flush(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit c443b0b18e4807cb333d30973bf47f31cb8b8012 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 13:23:30 2022 +0200 s3:net: Refactor net_ads_sid(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit c0ed4d85adf906d7ee822a7ed0310895ef05575d Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 13:20:36 2022 +0200 s3:net: Refactor net_ads_dn(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit f665c66133bc15edcca16825ab0499870bde6168 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 13:18:01 2022 +0200 s3:net: Refactor net_ads_search(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 407e156d5947e6a92c73fc3b1719a6479c36f6c8 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 13:14:50 2022 +0200 s3:net: Refactor net_ads_changetrustpw(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 4e2f7cf565b6ec7fe4e6562ce35570b03133e1e9 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 13:08:01 2022 +0200 s3:net: Refactor net_ads_password(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit bb1a344844ab07f7d02b3ff6012d453bf271aa9f Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 12:46:05 2022 +0200 s3:net: Refactor net_ads_printer_remove(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 75a3f3800d204d63b02611dda8bbaa3774aa1352 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 12:40:32 2022 +0200 s3:net: Refactor net_ads_printer_publish(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 7f2267cce97942e2e5e861ea1e4fa12e4dc5065e Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 12:29:14 2022 +0200 s3:net: Refactor net_ads_printer_info(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 507c90e2fb8f97e464f75197b2dac84849489f8d Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 12:23:17 2022 +0200 s3:net: Refactor net_ads_printer_search(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 1867b09c8fd19a059f87a492c9a6f437aa061b08 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 12:11:16 2022 +0200 s3:net: Refactor net_ads_dns_unregister(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit d92055e01b21cd0ae2f5c8bb350c089b23dbfb34 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 12:08:45 2022 +0200 s3:net: Refactor net_ads_dns_register(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit ec00cbc6e0b9d9ae8c7ef4c5e80bc6e8931b2148 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 09:37:15 2022 +0200 s3:net: Refactor net_ads_join(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit f810a41f6a9d68c1c06ff2b9f5e7140d488851d3 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 09:25:34 2022 +0200 s3:net: Refactor net_ads_join_ok(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 818ed102a3b9e645bcbbb7effc1163af9907c215 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 09:18:11 2022 +0200 s3:net: Refactor net_ads_leave(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit ce9da6e6504c07a261e2c7818947b771e3433527 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 09:10:06 2022 +0200 s3:net: Refactor net_ads_status(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 786e0394dfe9c6fd5e3a6d969ed1f8d0339c3451 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 18:06:14 2022 +0200 s3:net: Refactor net_ads_group(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Best viewed with "git diff -b". Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 356aa3e357cfad210d1c92172eb2a5edb3b8a85c Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 18:02:11 2022 +0200 s3:net: Refactor ads_group_delete(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 66a72fbe0124986674c53c5cf0a71e769d4cc677 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 17:57:34 2022 +0200 s3:net: Refactor ads_group_add(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 937021d51bb79ffb5cd7322f07013f55e040ea33 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 17:41:50 2022 +0200 s3:net: Refactor net_ads_user(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Best viewed using "git diff -b". Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 3c2b813a0b15c967bc90fd010bd99fb8efdb17fb Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 17:33:02 2022 +0200 s3:net: Refactor ads_user_delete(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit eaa7411c3ae5c1b7f99b88e5864ee985dba9241b Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 17:27:41 2022 +0200 s3:net: Refactor ads_user_info(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 5f587ab00b2cdc5d21025e08014d38c64736e9d3 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 17:18:08 2022 +0200 s3:net: Refactor ads_user_add(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 0693b9aa30bfb4a60ece7d7e6fd56032fdfc0936 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 17:09:51 2022 +0200 s3:net: Pass a memory context to ads_startup_nobind() The ads struct will be allocated under this context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 887188702d16b1461fa4e261d49449e0c0aef828 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 17:07:42 2022 +0200 s3:net: Refactor net_ads_workgroup(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit aeaf1e4869988fecd39c2ab83d27ed401abf6dd5 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 17:04:58 2022 +0200 s3:net: Refactor net_ads_info(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit fa6dc88361267bf350fbc4c6fd7521d2ef236bcb Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 17:02:14 2022 +0200 s3:net: Refactor net_ads_lookup(), allocate a talloc context ADS_STRUCT will be allocated in the talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 916303356017daab5b4b8fb2346baede3249e910 Author: Samuel Cabrero <scabr...@samba.org> Date: Tue May 24 18:05:38 2022 +0200 s3:libads: Allocate temporary memory context for ads_domain_func_level() Prepare to allocate ADS_STRUCT under talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 20936391175a43567368115848afe5417bf1f509 Author: Samuel Cabrero <scabr...@samba.org> Date: Tue May 24 18:02:04 2022 +0200 s3:libads: Rename talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit cfa6da8658bf428045e3f7f8bc038fed893137b8 Author: Samuel Cabrero <scabr...@samba.org> Date: Tue May 24 16:17:42 2022 +0200 s3:winbind: Allocate a temporary memory context for dcip_check_name_ads() Prepare to allocate ADS_STRUCT under a talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 23bc40f6c5e77fc66b79cf39c9b4c3f0cc29e411 Author: Samuel Cabrero <scabr...@samba.org> Date: Tue May 24 16:14:11 2022 +0200 s3:winbind: Early return on error in dcip_check_name_ads() Also use new debug macros and improve debug message. Best viewed with "git diff -b". Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit d42849c5c5acb989688e5e6081e473e656fbb8cb Author: Samuel Cabrero <scabr...@samba.org> Date: Tue May 24 16:00:22 2022 +0200 s3:winbind: Factor out dcip_check_name_ads() Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 5fe4929938ad10e87a9f9c9f68fbbf16ac3b5236 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 16:16:17 2022 +0200 s3:winbind: Create a temporary talloc context for ads_cached_connection_connect() Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 2c753ad69025a2aa9ceccb68c5715d371f5b5262 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 16:15:22 2022 +0200 s3:winbind: Pass a memory context to ads_cached_connection_connect() The ads struct will be allocated under this context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit cec0b404d2c1e012d8339f9dd96432677371d8a8 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 16:13:38 2022 +0200 s3:winbind: Allocate a temporary memory context for ads_cached_connection() Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 4350d9cd16bed46cc306c1f596da4c1a4ae9d283 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 16:12:03 2022 +0200 s3:winbind: Allocate a temporary talloc context for ads_idmap_cached_connection() Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit fd5e1f166a9fb474f77d2adaad85f4d0336eed12 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 16:06:21 2022 +0200 s3:winbind: Init pointers to NULL and use new debug macros Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit e8d3acd33212391eb90e6ff089c42515eb2fe33b Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 14:35:55 2022 +0200 s3:winbind: Return ADS_STATUS from ads_cached_connection() Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit f4d0db0d404a9f20671e009e21760fd1ca0701e1 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 13:25:32 2022 +0200 s3:winbind: Pass a memory context to ads_idmap_cached_connection() Prepare to allocate ADS_STRUCT under a talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 6130d1139817d0526f92c4ddfbb55c622c35084d Author: Samuel Cabrero <scabr...@samba.org> Date: Tue May 24 13:23:38 2022 +0200 s3:printing: Allocate a temporary talloc context for nt_printer_publish() Prepare to allocate ADS_STRUCT under a talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit db052963fcdd4d8b8fd8e662a3b6150aa929afb7 Author: Samuel Cabrero <scabr...@samba.org> Date: Tue May 24 13:10:35 2022 +0200 s3:libsmb: Allocate a temporary talloc context for ads_dc_name() Prepare to allocate ADS_STRUCT under a talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 9cbe5503ba0124bb3db8c55d2280bcd78b237d7d Author: Samuel Cabrero <scabr...@samba.org> Date: Tue May 24 13:05:43 2022 +0200 s3:libnet: Allocate a temporary talloc context in libnet_connect_ads() Prepare to allocate ADS_STRUCT under a talloc context. Pass a talloc context where the ads struct will be moved on success. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit ee8ff51cfa8623c6c96754ee5cf941b0cb8b1608 Author: Samuel Cabrero <scabr...@samba.org> Date: Tue May 24 12:01:13 2022 +0200 s3:netapi: Allocate a temporary talloc context for NetGetJoinableOUs_l() Prepare to allocate ADS_STRUCT under a talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 577fdd0f97a6ae8e983d6b2eefe5cfc37d961161 Author: Samuel Cabrero <scabr...@samba.org> Date: Tue May 24 12:44:36 2022 +0200 pygpo: Make ads_ADSType object inherit from pytalloc_BaseObject Prepare to allocate ADS_STRUCT under a talloc context. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 392cd137783ef2d51564b278187c0d85365e6520 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 09:36:54 2022 +0200 s3:libnet: Allocate the machine name string under its container's talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 1b4d33d87270a0bb45d1e39212ad731d98bef049 Author: Samuel Cabrero <scabr...@samba.org> Date: Thu May 26 09:16:59 2022 +0200 s3:libnet: Allocate the machine name string under its container's talloc context Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 6e3135ff22946d0809fab2356f5b7714995b567a Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 15:59:11 2022 +0200 s3:winbind: Fix a memory leak in ads_cached_connection() The trust password was leaked. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 600f081c39613613219d17321a2c0283641204b5 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 14:17:51 2022 +0200 s3:winbind: Fix a memory leak in ads_idmap_cached_connection() The trust password was leaked. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 337d7df48e4f02b68afc735d8b540deb2c34d2b8 Author: Samuel Cabrero <scabr...@samba.org> Date: Wed May 25 13:21:02 2022 +0200 s3:winbind: Remove dupplicated talloc_get_type() call Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 6223dea34e7a5af95321c02acd6a6022531bced1 Author: Samuel Cabrero <scabr...@samba.org> Date: Tue May 24 18:09:02 2022 +0200 s3:libads: Pass the correct ADS_STRUCT pointer to ads_msgfree The search is performed using the ads_s pointer. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit ed89ef46af2d29dafdb95a3cca38f0d350be95bd Author: Samuel Cabrero <scabr...@samba.org> Date: Tue May 24 18:06:47 2022 +0200 s3:libads: Clear previous CLDAP ping flags when reusing the ADS_STRUCT Fixes the problem described in commit a26f535dedc651afa2a25dd37113ac71787197ff but for ads_domain_func_level() function. Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit 5b69b62db435e684b4c3b1c3d6583ef77deadfab Author: Samuel Cabrero <scabr...@samba.org> Date: Tue May 24 13:25:03 2022 +0200 s3:printing: Fix temporary talloc context leak Signed-off-by: Samuel Cabrero <scabr...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit f2b6258b6822027b8213370779a08c1550ccfa03 Author: Ralph Boehme <s...@samba.org> Date: Fri Jun 3 05:37:01 2022 +0200 vfs_acl_xattr: add acl_xattr:security_acl_name option Pair-Programmed-With: Jeremy Allison <j...@samba.org> Signed-off-by: Ralph Boehme <s...@samba.org> ----------------------------------------------------------------------- Summary of changes: docs-xml/manpages/vfs_acl_xattr.8.xml | 19 + libgpo/pygpo.c | 78 +- selftest/target/Samba3.pm | 6 + source3/include/ads.h | 2 - source3/lib/netapi/joindomain.c | 56 +- source3/libads/ads_proto.h | 12 +- source3/libads/ads_struct.c | 128 +-- source3/libads/disp_sec.c | 10 +- source3/libads/ldap.c | 134 ++- source3/libads/ldap_utils.c | 6 +- source3/libads/ndr.c | 2 +- source3/libnet/libnet_join.c | 71 +- source3/libnet/libnet_keytab.c | 4 +- source3/libsmb/namequery_dc.c | 39 +- source3/modules/vfs_acl_common.h | 1 + source3/modules/vfs_acl_xattr.c | 243 +++++- source3/printing/nt_printing_ads.c | 94 +- source3/selftest/tests.py | 2 + source3/utils/net_ads.c | 1533 +++++++++++++++++++-------------- source3/utils/net_ads_gpo.c | 18 +- source3/utils/net_ads_join_dns.c | 40 +- source3/utils/net_proto.h | 10 +- source3/winbindd/idmap_ad_nss.c | 4 +- source3/winbindd/idmap_rfc2307.c | 9 +- source3/winbindd/winbindd_ads.c | 197 +++-- source3/winbindd/winbindd_ads.h | 5 +- source3/winbindd/winbindd_cm.c | 142 +-- source4/selftest/tests.py | 1 + source4/torture/smb2/ea.c | 152 ++++ source4/torture/smb2/smb2.c | 1 + source4/torture/smb2/wscript_build | 1 + 31 files changed, 1921 insertions(+), 1099 deletions(-) create mode 100644 source4/torture/smb2/ea.c Changeset truncated at 500 lines: diff --git a/docs-xml/manpages/vfs_acl_xattr.8.xml b/docs-xml/manpages/vfs_acl_xattr.8.xml index 9937076d9bc..5a26359fa26 100644 --- a/docs-xml/manpages/vfs_acl_xattr.8.xml +++ b/docs-xml/manpages/vfs_acl_xattr.8.xml @@ -61,6 +61,25 @@ <variablelist> <!-- please keep in sync with the other acl vfs modules that provide the same options --> + <varlistentry> + <term>acl_xattr:security_acl_name = NAME</term> + <listitem> + <para> + This option allows to redefine the default location for the + NTACL extended attribute (xattr). If not set, NTACL xattrs are + written to security.NTACL which is a protected location, which + means the content of the security.NTACL attribute is not + accessible from normal users outside of Samba. When this option + is set to use a user-defined value, e.g. user.NTACL then any + user can potentially access and overwrite this information. The + module prevents access to this xattr over SMB, but the xattr may + still be accessed by other means (eg local access, SSH, NFS). This option must only be used + when this consequence is clearly understood and when specific precautions + are taken to avoid compromising the ACL content. + </para> + </listitem> + </varlistentry> + <varlistentry> <term>acl_xattr:ignore system acls = [yes|no]</term> <listitem> diff --git a/libgpo/pygpo.c b/libgpo/pygpo.c index b5ec85a48d4..485c96f4f2d 100644 --- a/libgpo/pygpo.c +++ b/libgpo/pygpo.c @@ -29,6 +29,7 @@ #include "libcli/util/pyerrors.h" #include "python/py3compat.h" #include "python/modules.h" +#include <pytalloc.h> /* A Python C API module to use LIBGPO */ @@ -141,7 +142,7 @@ typedef struct { static void py_ads_dealloc(ADS* self) { - ads_destroy(&(self->ads_ptr)); + TALLOC_FREE(self->ads_ptr); Py_CLEAR(self->py_creds); Py_TYPE(self)->tp_free((PyObject*)self); } @@ -206,11 +207,14 @@ static int py_ads_init(ADS *self, PyObject *args, PyObject *kwds) /* in case __init__ is called more than once */ if (self->ads_ptr) { - ads_destroy(&self->ads_ptr); - self->ads_ptr = NULL; + TALLOC_FREE(self->ads_ptr); } /* always succeeds or crashes */ - self->ads_ptr = ads_init(realm, workgroup, ldap_server, ADS_SASL_PLAIN); + self->ads_ptr = ads_init(pytalloc_get_mem_ctx(args), + realm, + workgroup, + ldap_server, + ADS_SASL_PLAIN); return 0; } @@ -225,47 +229,67 @@ static PyObject* py_ads_connect(ADS *self, PyErr_SetString(PyExc_RuntimeError, "Uninitialized"); return NULL; } - SAFE_FREE(self->ads_ptr->auth.user_name); - SAFE_FREE(self->ads_ptr->auth.password); - SAFE_FREE(self->ads_ptr->auth.realm); + TALLOC_FREE(self->ads_ptr->auth.user_name); + TALLOC_FREE(self->ads_ptr->auth.password); + TALLOC_FREE(self->ads_ptr->auth.realm); if (self->cli_creds) { - self->ads_ptr->auth.user_name = - SMB_STRDUP(cli_credentials_get_username(self->cli_creds)); - self->ads_ptr->auth.password = - SMB_STRDUP(cli_credentials_get_password(self->cli_creds)); - self->ads_ptr->auth.realm = - SMB_STRDUP(cli_credentials_get_realm(self->cli_creds)); + self->ads_ptr->auth.user_name = talloc_strdup(self->ads_ptr, + cli_credentials_get_username(self->cli_creds)); + if (self->ads_ptr->auth.user_name == NULL) { + PyErr_NoMemory(); + goto err; + } + self->ads_ptr->auth.password = talloc_strdup(self->ads_ptr, + cli_credentials_get_password(self->cli_creds)); + if (self->ads_ptr->auth.password == NULL) { + PyErr_NoMemory(); + goto err; + } + self->ads_ptr->auth.realm = talloc_strdup(self->ads_ptr, + cli_credentials_get_realm(self->cli_creds)); + if (self->ads_ptr->auth.realm == NULL) { + PyErr_NoMemory(); + goto err; + } self->ads_ptr->auth.flags |= ADS_AUTH_USER_CREDS; status = ads_connect_user_creds(self->ads_ptr); } else { char *passwd = NULL; - int ret; + if (!secrets_init()) { PyErr_SetString(PyExc_RuntimeError, "secrets_init() failed"); goto err; } - passwd = secrets_fetch_machine_password(self->ads_ptr->server.workgroup, - NULL, NULL); + self->ads_ptr->auth.user_name = talloc_asprintf(self->ads_ptr, + "%s$", + lp_netbios_name()); + if (self->ads_ptr->auth.user_name == NULL) { + PyErr_NoMemory(); + goto err; + } + + passwd = secrets_fetch_machine_password( + self->ads_ptr->server.workgroup, NULL, NULL); if (passwd == NULL) { PyErr_SetString(PyExc_RuntimeError, "Failed to fetch the machine account " "password"); goto err; } - ret = asprintf(&(self->ads_ptr->auth.user_name), "%s$", - lp_netbios_name()); - if (ret == -1) { - SAFE_FREE(passwd); + + self->ads_ptr->auth.password = talloc_strdup(self->ads_ptr, + passwd); + SAFE_FREE(passwd); + if (self->ads_ptr->auth.password == NULL) { PyErr_NoMemory(); goto err; } - self->ads_ptr->auth.password = passwd; /* take ownership of this data */ - self->ads_ptr->auth.realm = - SMB_STRDUP(self->ads_ptr->server.realm); - if (!strupper_m(self->ads_ptr->auth.realm)) { - PyErr_SetString(PyExc_RuntimeError, "Failed to strupper"); + self->ads_ptr->auth.realm = talloc_asprintf_strupper_m( + self->ads_ptr, "%s", self->ads_ptr->server.realm); + if (self->ads_ptr->auth.realm == NULL) { + PyErr_NoMemory(); goto err; } self->ads_ptr->auth.flags |= ADS_AUTH_USER_CREDS; @@ -498,6 +522,7 @@ static PyMethodDef ADS_methods[] = { static PyTypeObject ads_ADSType = { .tp_name = "gpo.ADS_STRUCT", .tp_basicsize = sizeof(ADS), + .tp_new = PyType_GenericNew, .tp_dealloc = (destructor)py_ads_dealloc, .tp_flags = Py_TPFLAGS_DEFAULT, .tp_doc = "ADS struct", @@ -540,8 +565,7 @@ MODULE_INIT_FUNC(gpo) goto err; } - ads_ADSType.tp_new = PyType_GenericNew; - if (PyType_Ready(&ads_ADSType) < 0) { + if (pytalloc_BaseObject_PyType_Ready(&ads_ADSType) < 0) { goto err; } diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm index db8c55602da..e8afded4b7b 100755 --- a/selftest/target/Samba3.pm +++ b/selftest/target/Samba3.pm @@ -1939,6 +1939,12 @@ sub setup_fileserver path = $volume_serial_number_sharedir volume serial number = 0xdeadbeef +[ea_acl_xattr] + path = $share_dir + vfs objects = acl_xattr + acl_xattr:security_acl_name = user.hackme + read only = no + [homes] comment = Home directories browseable = No diff --git a/source3/include/ads.h b/source3/include/ads.h index ebc5728f3a4..808554310a4 100644 --- a/source3/include/ads.h +++ b/source3/include/ads.h @@ -56,8 +56,6 @@ struct ads_saslwrap { }; typedef struct ads_struct { - int is_mine; /* do I own this structure's memory? */ - /* info needed to find the server */ struct { char *realm; diff --git a/source3/lib/netapi/joindomain.c b/source3/lib/netapi/joindomain.c index 4fe5a3b8eef..ced16031d44 100644 --- a/source3/lib/netapi/joindomain.c +++ b/source3/lib/netapi/joindomain.c @@ -397,6 +397,8 @@ WERROR NetGetJoinableOUs_l(struct libnetapi_ctx *ctx, struct NetGetJoinableOUs *r) { #ifdef HAVE_ADS + TALLOC_CTX *tmp_ctx = talloc_stackframe(); + WERROR ret; NTSTATUS status; ADS_STATUS ads_status; ADS_STRUCT *ads = NULL; @@ -411,64 +413,86 @@ WERROR NetGetJoinableOUs_l(struct libnetapi_ctx *ctx, priv = talloc_get_type_abort(ctx->private_data, struct libnetapi_private_ctx); - status = dsgetdcname(ctx, priv->msg_ctx, r->in.domain, + status = dsgetdcname(tmp_ctx, priv->msg_ctx, r->in.domain, NULL, NULL, flags, &info); if (!NT_STATUS_IS_OK(status)) { libnetapi_set_error_string(ctx, "%s", get_friendly_nt_error_msg(status)); - return ntstatus_to_werror(status); + ret = ntstatus_to_werror(status); + goto out; } dc = strip_hostname(info->dc_unc); - ads = ads_init(info->domain_name, + ads = ads_init(tmp_ctx, + info->domain_name, info->domain_name, dc, ADS_SASL_PLAIN); if (!ads) { - return WERR_GEN_FAILURE; + ret = WERR_GEN_FAILURE; + goto out; } - SAFE_FREE(ads->auth.user_name); + TALLOC_FREE(ads->auth.user_name); if (r->in.account) { - ads->auth.user_name = SMB_STRDUP(r->in.account); + ads->auth.user_name = talloc_strdup(ads, r->in.account); + if (ads->auth.user_name == NULL) { + ret = WERR_NOT_ENOUGH_MEMORY; + goto out; + } } else { const char *username = NULL; libnetapi_get_username(ctx, &username); if (username != NULL) { - ads->auth.user_name = SMB_STRDUP(username); + ads->auth.user_name = talloc_strdup(ads, username); + if (ads->auth.user_name == NULL) { + ret = WERR_NOT_ENOUGH_MEMORY; + goto out; + } } } - SAFE_FREE(ads->auth.password); + TALLOC_FREE(ads->auth.password); if (r->in.password) { - ads->auth.password = SMB_STRDUP(r->in.password); + ads->auth.password = talloc_strdup(ads, r->in.password); + if (ads->auth.password == NULL) { + ret = WERR_NOT_ENOUGH_MEMORY; + goto out; + } } else { const char *password = NULL; libnetapi_get_password(ctx, &password); if (password != NULL) { - ads->auth.password = SMB_STRDUP(password); + ads->auth.password = talloc_strdup(ads, password); + if (ads->auth.password == NULL) { + ret = WERR_NOT_ENOUGH_MEMORY; + goto out; + } } } ads_status = ads_connect_user_creds(ads); if (!ADS_ERR_OK(ads_status)) { - ads_destroy(&ads); - return WERR_NERR_DEFAULTJOINREQUIRED; + ret = WERR_NERR_DEFAULTJOINREQUIRED; + goto out; } ads_status = ads_get_joinable_ous(ads, ctx, &p, &s); if (!ADS_ERR_OK(ads_status)) { - ads_destroy(&ads); - return WERR_NERR_DEFAULTJOINREQUIRED; + ret = WERR_NERR_DEFAULTJOINREQUIRED; + goto out; } *r->out.ous = discard_const_p(const char *, p); *r->out.ou_count = s; - ads_destroy(&ads); - return WERR_OK; + ret = WERR_OK; +out: + TALLOC_FREE(tmp_ctx); + + return ret; #else return WERR_NOT_SUPPORTED; #endif diff --git a/source3/libads/ads_proto.h b/source3/libads/ads_proto.h index 5701a5d79d4..ce04ac2a252 100644 --- a/source3/libads/ads_proto.h +++ b/source3/libads/ads_proto.h @@ -40,15 +40,19 @@ enum ads_sasl_state_e { /* The following definitions come from libads/ads_struct.c */ -char *ads_build_path(const char *realm, const char *sep, const char *field, int reverse); -char *ads_build_dn(const char *realm); +ADS_STATUS ads_build_path(const char *realm, + const char *sep, + const char *field, + int reverse, + char **_path); +ADS_STATUS ads_build_dn(const char *realm, TALLOC_CTX *mem_ctx, char **_dn); char *ads_build_domain(const char *dn); -ADS_STRUCT *ads_init(const char *realm, +ADS_STRUCT *ads_init(TALLOC_CTX *mem_ctx, + const char *realm, const char *workgroup, const char *ldap_server, enum ads_sasl_state_e sasl_state); bool ads_set_sasl_wrap_flags(ADS_STRUCT *ads, unsigned flags); -void ads_destroy(ADS_STRUCT **ads); /* The following definitions come from libads/disp_sec.c */ diff --git a/source3/libads/ads_struct.c b/source3/libads/ads_struct.c index 413e566b287..164e0a30175 100644 --- a/source3/libads/ads_struct.c +++ b/source3/libads/ads_struct.c @@ -24,7 +24,11 @@ /* return a ldap dn path from a string, given separators and field name caller must free */ -char *ads_build_path(const char *realm, const char *sep, const char *field, int reverse) +ADS_STATUS ads_build_path(const char *realm, + const char *sep, + const char *field, + int reverse, + char **_path) { char *p, *r; int numbits = 0; @@ -32,10 +36,12 @@ char *ads_build_path(const char *realm, const char *sep, const char *field, int int len; char *saveptr; + *_path = NULL; + r = SMB_STRDUP(realm); if (!r || !*r) { - return r; + return ADS_ERROR_NT(NT_STATUS_NO_MEMORY); } for (p=r; *p; p++) { @@ -49,21 +55,21 @@ char *ads_build_path(const char *realm, const char *sep, const char *field, int ret = (char *)SMB_MALLOC(len); if (!ret) { free(r); - return NULL; + return ADS_ERROR_NT(NT_STATUS_NO_MEMORY); } if (strlcpy(ret,field, len) >= len) { /* Truncate ! */ free(r); free(ret); - return NULL; + return ADS_ERROR_NT(NT_STATUS_NO_MEMORY); } p=strtok_r(r, sep, &saveptr); if (p) { if (strlcat(ret, p, len) >= len) { free(r); free(ret); - return NULL; + return ADS_ERROR_NT(NT_STATUS_NO_MEMORY); } while ((p=strtok_r(NULL, sep, &saveptr)) != NULL) { @@ -76,7 +82,7 @@ char *ads_build_path(const char *realm, const char *sep, const char *field, int free(ret); if (retval == -1) { free(r); - return NULL; + return ADS_ERROR_NT(NT_STATUS_NO_MEMORY); } ret = SMB_STRDUP(s); free(s); @@ -84,16 +90,33 @@ char *ads_build_path(const char *realm, const char *sep, const char *field, int } free(r); - return ret; + + *_path = ret; + + return ADS_ERROR_NT(NT_STATUS_OK); } /* return a dn of the form "dc=AA,dc=BB,dc=CC" from a realm of the form AA.BB.CC caller must free */ -char *ads_build_dn(const char *realm) +ADS_STATUS ads_build_dn(const char *realm, TALLOC_CTX *mem_ctx, char **_dn) { - return ads_build_path(realm, ".", "dc=", 0); + ADS_STATUS status; + char *dn = NULL; + + status = ads_build_path(realm, ".", "dc=", 0, &dn); + if (!ADS_ERR_OK(status)) { + return status; + } + + *_dn = talloc_strdup(mem_ctx, dn); + SAFE_FREE(dn); + if (*_dn == NULL) { + return ADS_ERROR_NT(NT_STATUS_NO_MEMORY); + } + + return ADS_ERROR_NT(NT_STATUS_OK); } /* return a DNS name in the for aa.bb.cc from the DN @@ -121,35 +144,56 @@ char *ads_build_domain(const char *dn) return dnsdomain; } - - -#ifndef LDAP_PORT -#define LDAP_PORT 389 +static int ads_destructor(ADS_STRUCT *ads) +{ +#ifdef HAVE_LDAP + ads_disconnect(ads); #endif + return 0; +} /* initialise a ADS_STRUCT, ready for some ads_ ops */ -ADS_STRUCT *ads_init(const char *realm, +ADS_STRUCT *ads_init(TALLOC_CTX *mem_ctx, + const char *realm, const char *workgroup, const char *ldap_server, enum ads_sasl_state_e sasl_state) { - ADS_STRUCT *ads; + ADS_STRUCT *ads = NULL; int wrap_flags; - ads = SMB_XMALLOC_P(ADS_STRUCT); - ZERO_STRUCTP(ads); + ads = talloc_zero(mem_ctx, ADS_STRUCT); + if (ads == NULL) { + return NULL; + } + talloc_set_destructor(ads, ads_destructor); + #ifdef HAVE_LDAP ads_zero_ldap(ads); #endif - ads->server.realm = realm? SMB_STRDUP(realm) : NULL; - ads->server.workgroup = workgroup ? SMB_STRDUP(workgroup) : NULL; - ads->server.ldap_server = ldap_server? SMB_STRDUP(ldap_server) : NULL; + ads->server.realm = talloc_strdup(ads, realm); + if (realm != NULL && ads->server.realm == NULL) { + DBG_WARNING("Out of memory\n"); -- Samba Shared Repository