The branch, v4-7-test has been updated via eec0b43 vfs_catia: Fix a potential memleak via d179770 vfs_catia: Fix a memory leak via 43088b1 smb.conf.5: sort parameters alphabetically via 38d6051 krb5_wrap: ADDRTYPE_INET6 is available in all supported MIT versions via 64db83b krb5_wrap: KRB5_ADDRESS_INET6 is not a define in Heimdal via 779a5a9 s4/torture: vfs_fruit: test xattr unpacking via 4942194 s4/torture: vfs_fruit: replace AppleDouble data blob with xattr data via 76bd6dc vfs_fruit: on-access conversion of AppleDouble xattr data via 3a6ee04 vfs_fruit: static string fruit_catia_maps via d076049 vfs_fruit: pass smb_fname to ad_convert via 266a416 vfs_fruit: unpack AppleDouble xattr header if present via 0a62033 vfs_fruit: allocate ad_data buffer up to AD_XATTR_MAX_HDR_SIZE bytes via a0acb0f vfs_fruit: add AppleDouble xattr structure definitions via 9245b3f vfs_fruit: fix ftruncating resource fork via e433622 vfs_catia: factor out mapping functions via cc2f7d6 ctdb-tests: Add tests for event scripts with multiple '.'s via fbac803 ctdb-common: Ignore event scripts with multiple '.'s via 7d36ecb s3: VFS: Protect errno if sys_getwd() fails across free() call. via 6b1971f s3: VFS: Ensure sys_getwd() doesn't leak memory on error on really old systems. via e507bcd s3: VFS: Ensure default SMB_VFS_GETWD() call can't return a partially completed struct smb_filename. via 7070cfb net: groupmap cleanup should not delete BUILTIN mappings via 61dcee4 ctdb-common: Do not queue a packet if queue does not have valid fd via 433132e ctdb-tests: Send broadcast to connected nodes, not configured nodes via 6676099 ctdb-daemon: Send broadcast to connected nodes, not configured nodes via 7689bdd vfs_solarisacl: fix build for samba 4.7 and up via 7015e55 lib: gpo: Put enforced GPOs at the end of the list. via 953d05b lib: gpo: Fixes issue with GPOPTIONS_BLOCK_INHERITANCE. via 3e7a1d1 lib: gpo: Changes order to match GPO application order. via 9501b00 lib: Use CTDB_CONTROL_CHECK_PID_SRVID via 660a4cc lib: Add "unique_id" to ctdbd_process_exists via f1da343 ctdb-tests: Add tests for client with multiple connections via 8455844 ctdb-tests: Add support for multiple ctdb connections in dummy_client via f007f3c ctdb-tests: Check all connections from a process in CHECK_PID_SRVID control via 3893a71 ctdb-daemon: Check all connections from a process in CHECK_PID_SRVID control via 4c833aa ctdb-tests: Add tests for PID with srvid via c3b6860 ctdb-tests: Implement control CHECK_PID_SRVID in fake daemon via a93d844 ctdb-tests: Reimplement message handlers using srvid abstraction via 00fafb1 ctdb-tool: Update process-exists command to pass optional srvid via ac799fb ctdb-client: Add client code for control CHECK_PID_SRVID via be97d96 ctdb-daemon: Add implementation of control CHECK_PID_SRVID via 655c67f ctdb-protocol: Add marshalling for control CHECK_PID_SRVID via cce9800 ctdb-protocol: Add marshalling for struct ctdb_pid_srvid via ef9db44 ctdb-protocol: Add new control CTDB_CONTROL_CHECK_PID_SRVID via 29fae09 ctdb-common: Extend srvid_exists() check to support optional private_data via 0a99c01 s3: smbd: Currently if getwd() fails after a chdir(), we panic. via df225fe s3/smbd: use correct access in get_file_handle_for_metadata via 12f19c3 s3/smbd: fix access checks in set_ea_dos_attribute() via 7fff450 s3/smbd: README.Coding fixes in set_ea_dos_attribute via 08e6e69 s3: spoolss: Fix GUID string format on GetPrinter info via 3d23c0c s3/mdssvc: missing assignment in sl_pack_float via 7f7b132 s4:rpc_server:backupkey: Move variable into scope via 925aa83 s4-dnsserver: Check for too many DNS results via 6ed5472 s4-dnsserver: Always encode user-supplied names when looking up DNS records via e0d79ab samba-tool dns query: Allow '*' in names via 443b85c samba-tool dns: Test support of DNS wild card in names via bf9ad97 dnsserver: Add support for dns wildcards via 086b68c dnsserver: Tighten DNS name checking via d603ff0 dnsserver: Tests for dns wildcard entries via 8aa3ae4 s4/torture: add a test for rename change notification with inotify enabled via 70809cf selftest: run smb2.notify-inotify testsuite against fileserver via f85dcf3 selftest: enable kernel change notifications in the fileserver environment via 9663cab messaging: Remove messaging_handler_send via 32cbcbe notifyd: Remove notifyd_handler_done via a4e5da1 notifyd: Use messaging_register for MSG_SMB_NOTIFY_DB via dea5b99 notifyd: Use messaging_register for MSG_SMB_NOTIFY_GET_DB via 0af027d notifyd: Use messaging_register for MSG_SMB_NOTIFY_TRIGGER via 3aecf03 notifyd: Use messaging_register for MSG_SMB_NOTIFY_REC_CHANGE via 6fbbb26 messaging: make messaging_rec_create public via a958c33 notifyd: Avoid an if-expression via 6b0de3c notifyd: Consolidate two #ifdef CLUSTER into one via 9870d0e notifyd: Only ask for messaging_ctdb_conn when clustering via 967ce09 man pages: properly ident lists via a1bec76 selftest: prevent interpretation of escape sequences in test_give_owner.sh via 959643e selftest: add some debugging to test_give_owner.sh via 01e6208 vfs_fake_acls: deny give-ownership via bfc1b6a vfs_acl_common: fix take ownership vs give ownership via 16d82b0 vfs_acl_common: factor out a variable declaration via a3cb2ec s3/smbd/posix_acls: return correct status in try_chown via 3d8578c selftest: tests for change ownership on a file via 431ba57 selftest: fix samba3.blackbox.inherit_owner.default test script test_inherit_owner.sh via d44a3ea selftest: fix acl_xattr test script test_acl_xattr.sh via 39ac1dc selftest: fix acl_xattr test: sn-devel unreliable gid via 8ddf781 selftest: fix acl_xattr test: grep ouput before munging via 099ca92 selftest: fix acl_xattr test: group, not user via 784071f selftest: fix acl_xattr test: changing owner via fd3e3a5 vfs/nfs4_acls: move special handling of SMB_ACE4_SYNCHRONIZE to vfs_zfsacl via 241b8dc s3/vfs: move ACE4_ADD_FILE/ACE4_DELETE_CHILD mapping from NFSv4 framework to vfs_zfsacl via b4fdb8a vfs_zfsacl: ensure zfs_get_nt_acl_common() has access to stat info via a3b6a75 vfs_zfsacl: pass smb_fname to zfs_get_nt_acl_common from 6a67866 lib/util/run_cmd: use a cleanup function instead of a destructor
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-7-test - Log ----------------------------------------------------------------- commit eec0b431998fcd56688712928a7dd4d31f44de96 Author: Volker Lendecke <v...@samba.org> Date: Mon Oct 16 17:43:09 2017 +0200 vfs_catia: Fix a potential memleak Together with the previous commit this fixes a memleak (twice) that happens when vfs_catia is loaded with no mappings defined. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13090 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Ralph Boehme <s...@samba.org> Autobuild-User(master): Ralph Böhme <s...@samba.org> Autobuild-Date(master): Tue Oct 17 18:53:48 CEST 2017 on sn-devel-144 (cherry picked from commit f6d6af3b2d5efcd160c1e5e09778fb1129530be0) Autobuild-User(v4-7-test): Karolin Seeger <ksee...@samba.org> Autobuild-Date(v4-7-test): Wed Oct 25 12:59:23 CEST 2017 on sn-devel-144 commit d179770295ad0952c748fc08741e3bda141ce458 Author: Volker Lendecke <v...@samba.org> Date: Tue Oct 17 11:28:36 2017 +0200 vfs_catia: Fix a memory leak Bug: https://bugzilla.samba.org/show_bug.cgi?id=13090 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Ralph Boehme <s...@samba.org> (cherry picked from commit e77b7aff86ab1cb603f59961f2f5689e4dc770ea) commit 43088b110201d439064cb145c6ccb81833432928 Author: Alexander Bokovoy <a...@samba.org> Date: Fri Oct 6 22:49:11 2017 +0300 smb.conf.5: sort parameters alphabetically Content of each separate parameter description file is added into a parameters.all.xml file before compiling smb.conf.5. The issue is that POSIX file systems generally don't give any promises over how glob-produced files are sorted. Thus, we need to sort them in a predictable way. This patch adds sorting based on a file name as a string. Since all parameter files named after the parameter itself (plus .xml), we can use file name sorting. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13081 Signed-off-by: Alexander Bokovoy <a...@samba.org> Reviewed-By: Andreas Schneider <a...@samba.org> Reviewed-by: Andrew Bartlett <abart...@samba.org> (cherry picked from commit 543c0af4767f5be723594b87d078357e1e04f02e) commit 38d6051d51313bd11be48ca92b6f3727f0384a28 Author: Stefan Metzmacher <me...@samba.org> Date: Mon Oct 9 12:50:35 2017 +0200 krb5_wrap: ADDRTYPE_INET6 is available in all supported MIT versions BUG: https://bugzilla.samba.org/show_bug.cgi?id=13079 Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Björn Jacke <bja...@samba.org> (cherry picked from commit 96e471eecce91e6cd9b92d854a3c6ca10e0634f3) commit 64db83bfb1738c0bdbc4d32579ec7c54ff083667 Author: Stefan Metzmacher <me...@samba.org> Date: Mon Oct 9 12:50:35 2017 +0200 krb5_wrap: KRB5_ADDRESS_INET6 is not a define in Heimdal All supported versions of Heimal already have KRB5_ADDRESS_INET6, so there's no need for an explicit check. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13079 Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Björn Jacke <bja...@samba.org> (cherry picked from commit 70146841272bc87c335bd24b736ba2c62efdfe06) commit 779a5a9894ed631f1872dd97e34537c892e6a352 Author: Ralph Boehme <s...@samba.org> Date: Wed Oct 11 16:04:58 2017 +0200 s4/torture: vfs_fruit: test xattr unpacking Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Autobuild-User(master): Ralph Böhme <s...@samba.org> Autobuild-Date(master): Fri Oct 13 21:44:02 CEST 2017 on sn-devel-144 (cherry picked from commit 5f52a0fbe8c9f52c6fed206fd5cd47bd0de867a1) commit 494219485c081148ef2383a3221ceb5ff9c22a7f Author: Ralph Boehme <s...@samba.org> Date: Mon Oct 9 16:18:18 2017 +0200 s4/torture: vfs_fruit: replace AppleDouble data blob with xattr data The osx_adouble_w_xattr datablob is used to test conversion from sidecar ._ file metdata to Samba compatible ._ file. The previous data blob didn't contain xattr data, the new one does. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> (cherry picked from commit c5b25d40e1ab3906805538abdb8f07a934c629f7) commit 76bd6dc1bac9da45528b4ed14a436d4442a9c792 Author: Ralph Boehme <s...@samba.org> Date: Wed Oct 11 12:58:59 2017 +0200 vfs_fruit: on-access conversion of AppleDouble xattr data This finally adds on-access conversion of xattr data stored in sidecar AppleDouble files. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> (cherry picked from commit d7068324407a9a0b94d992b539631246e97c9098) commit 3a6ee04c4c65e07db03721c49d84230bcd90e69e Author: Ralph Boehme <s...@samba.org> Date: Tue Oct 10 19:13:36 2017 +0200 vfs_fruit: static string fruit_catia_maps In a later commit these will be used somewhere else too. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> (cherry picked from commit ce516a34972f51eda48c1536858d47dc230ea99a) commit d076049762eb5d804241461538f802a4d180e2bc Author: Ralph Boehme <s...@samba.org> Date: Tue Oct 10 16:15:49 2017 +0200 vfs_fruit: pass smb_fname to ad_convert This will be needed in a later commit when converting xattrs in sidecar AppleDouble files. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> (cherry picked from commit 386249eea3a13303744dbab88480e80790138329) commit 266a416d59b76864164ffd605a93cd03a37dd92a Author: Ralph Boehme <s...@samba.org> Date: Tue Oct 10 16:06:33 2017 +0200 vfs_fruit: unpack AppleDouble xattr header if present Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> (cherry picked from commit fb137d6070c8cd872a66a4628b0e392cf40c180e) commit 0a620332b49fe74d47bb1bee16fb99fc6cf0eddf Author: Ralph Boehme <s...@samba.org> Date: Tue Oct 10 16:04:29 2017 +0200 vfs_fruit: allocate ad_data buffer up to AD_XATTR_MAX_HDR_SIZE bytes This is in preperation of reading potential xattr header data from the AppleDouble file, not just reading a fixed amount of bytes. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> (cherry picked from commit ab8d01959b906d0b2873357f836bff72d209ff98) commit a0acb0f6f6b27af6b9f14497d320fa2e2b9316ba Author: Ralph Boehme <s...@samba.org> Date: Tue Oct 10 16:03:13 2017 +0200 vfs_fruit: add AppleDouble xattr structure definitions Reference: https://opensource.apple.com/source/xnu/xnu-4570.1.46/bsd/vfs/vfs_xattr.c Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> (cherry picked from commit b5a664e2580d8823f4f2d3e7e516b576317eb290) commit 9245b3f12c4331824245ac52081136a8125c588d Author: Ralph Boehme <s...@samba.org> Date: Wed Oct 11 18:11:12 2017 +0200 vfs_fruit: fix ftruncating resource fork fruit_ftruncate_rsrc_adouble() is called to effectively ftruncate() the ._ AppleDouble file to the requested size. The VFS function SMB_VFS_NEXT_FTRUNCATE() otoh would attempt to truncate to fsp *stream* in any way the next VFS module seems fit. As we know we're stacked with a streams module, the module will attempt to truncate the stream. So we're not truncating the ._ file. This went unnoticed as the AppleDouble file header contains the authorative resource fork size that was updated correctly. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> (cherry picked from commit 3d7932a33263514785fa3e95e2d5502bc02b4ea4) commit e43362268fab5caff4cd4bf92be47da046cd0c2f Author: Ralph Boehme <s...@samba.org> Date: Wed Oct 11 11:35:15 2017 +0200 vfs_catia: factor out mapping functions This moves the core mapping functions to a seperate file and makes them global. string_replace_init_map() is called to parse a mapping in string and produce a mapping object that can then be passed to string_replace_allocate() to do the actual mapping of a string. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> (cherry picked from commit f8bd63e19c8b1c063dd6f41b405d6864a9b546ff) commit cc2f7d6615add0baa1f80bdb0b10382997d211ca Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Oct 12 14:44:03 2017 +1100 ctdb-tests: Add tests for event scripts with multiple '.'s BUG: https://bugzilla.samba.org/show_bug.cgi?id=13070 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> Autobuild-User(master): Martin Schwenke <mart...@samba.org> Autobuild-Date(master): Wed Oct 18 10:19:48 CEST 2017 on sn-devel-144 (cherry picked from commit 3bc8880ea0532abed1db002710d3dd6a91f750dc) commit fbac80354dbe21a82c4cb5871bbd0e721050266a Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Oct 12 14:42:59 2017 +1100 ctdb-common: Ignore event scripts with multiple '.'s BUG: https://bugzilla.samba.org/show_bug.cgi?id=13070 This avoids running event script copies left by a package manager. Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> (cherry picked from commit 7720ca0729b127a93d78401aaf1341d79f9603a4) commit 7d36ecb7e4793935daa01ac169a5ba749d73729e Author: Jeremy Allison <j...@samba.org> Date: Tue Oct 3 10:58:00 2017 -0700 s3: VFS: Protect errno if sys_getwd() fails across free() call. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13069 Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Ralph Boehme <s...@samba.org> (cherry picked from commit 4800ed3595513ce1e2f4edee36c35daafc63a3d5) commit 6b1971fe39cc91ae450d28238fe3f81758d0e6fd Author: Jeremy Allison <j...@samba.org> Date: Tue Oct 3 10:37:55 2017 -0700 s3: VFS: Ensure sys_getwd() doesn't leak memory on error on really old systems. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13069 Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Ralph Boehme <s...@samba.org> (cherry picked from commit fb9ce0685e5d46e3d7abf5fac07b4f626339a413) commit e507bcdd6844075f4ab996192d2d19df77c3cbbf Author: Jeremy Allison <j...@samba.org> Date: Mon Oct 2 17:36:51 2017 -0700 s3: VFS: Ensure default SMB_VFS_GETWD() call can't return a partially completed struct smb_filename. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13068 Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Ralph Boehme <s...@samba.org> Autobuild-User(master): Ralph Böhme <s...@samba.org> Autobuild-Date(master): Wed Oct 4 14:05:33 CEST 2017 on sn-devel-144 (cherry picked from commit b07f22158d7feaf9146b68a874427efe0538dbb6) commit 7070cfbc51f76f8951398da1d608242738299a92 Author: Ralph Boehme <s...@samba.org> Date: Sat Sep 30 08:45:41 2017 +0200 net: groupmap cleanup should not delete BUILTIN mappings Bug: https://bugzilla.samba.org/show_bug.cgi?id=13065 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Autobuild-User(master): Volker Lendecke <v...@samba.org> Autobuild-Date(master): Mon Oct 2 15:17:00 CEST 2017 on sn-devel-144 (cherry picked from commit 064e17c0d6934f685c075abe0cf4913fa20d3a94) commit 61dcee4aa80d5c90931cf0ee7a8a9e9f16cf1372 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Sep 29 14:23:24 2017 +1000 ctdb-common: Do not queue a packet if queue does not have valid fd BUG: https://bugzilla.samba.org/show_bug.cgi?id=13056 The only time a ctdb_queue is created without valid fd is when CTDB is trying to establish connections with other nodes in the cluster. All the other uses always create a ctdb_queue with valid fd. This avoids queueing up packets for dead nodes or nodes that are not running in the cluster and stops consuming memory. Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> (cherry picked from commit ddd97553f0a8bfaada178ec4a7460d76fa21f079) commit 433132e062b8da3837a740f20b6061d2000995ce Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Sep 28 11:47:24 2017 +1000 ctdb-tests: Send broadcast to connected nodes, not configured nodes https://bugzilla.samba.org/show_bug.cgi?id=13056 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> (cherry picked from commit bf11bea5dbb589186a205fa1d81368cc89a6139b) commit 66760994d628411023a4f3fd30715613262bdf98 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Sep 28 11:47:00 2017 +1000 ctdb-daemon: Send broadcast to connected nodes, not configured nodes https://bugzilla.samba.org/show_bug.cgi?id=13056 Database recovery takes care of attaching missing databases on all the nodes. Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> (cherry picked from commit 70d306373e80eafe3a356c60a823a2577001d7d1) commit 7689bddad3a1bcbce189a6838c93858d6ff068f8 Author: Jorge Schrauwen via samba-technical <samba-techni...@lists.samba.org> Date: Tue Oct 3 19:55:28 2017 +0200 vfs_solarisacl: fix build for samba 4.7 and up Bug: https://bugzilla.samba.org/show_bug.cgi?id=13049 Signed-off-by: Jorge Schrauwen <sjo...@blackdot.be> Reviewed-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit d774aeba5e04eacb98cf938d356e4cc502caa2e7) commit 7015e5596c5c5343466ea4d39e433a6aa2903361 Author: Lutz Justen <ljus...@google.com> Date: Thu Sep 21 10:32:05 2017 -0700 lib: gpo: Put enforced GPOs at the end of the list. Enforced GPOs should be applied on top of all non-enforced GPOs, so that they override policies set in non-enforced GPOs. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13046 Signed-off-by: Lutz Justen <ljus...@google.com> Reviewed-by: Jeremy Allison <j...@samba.org> Reviewed-by: Guenther Deschner <g...@samba.org> Autobuild-User(master): Günther Deschner <g...@samba.org> Autobuild-Date(master): Sat Sep 23 05:25:19 CEST 2017 on sn-devel-144 (cherry picked from commit 5f2576a9af4f3c33121ad2b27a621b5f3bb34374) commit 953d05baf7f9b479bad07affa1da768b39e17877 Author: Lutz Justen <ljus...@google.com> Date: Thu Sep 21 10:11:15 2017 -0700 lib: gpo: Fixes issue with GPOPTIONS_BLOCK_INHERITANCE. GP links with the GPOPTIONS_BLOCK_INHERITANCE option set were blocking GPOs from the same link (i.e. an OU with the flag set would block its own GPOs). This patch makes sure the GPOs from the link are added to the list. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13046 Signed-off-by: Lutz Justen <ljus...@google.com> Reviewed-by: Jeremy Allison <j...@samba.org> Reviewed-by: Guenther Deschner <g...@samba.org> (cherry picked from commit 69410c0a02f7b4d7d20eadf4b4fda8ea064e4a0e) commit 3e7a1d13e3d80f4aad647799f57535f8fbf7041c Author: Lutz Justen <ljus...@google.com> Date: Thu Sep 21 10:01:58 2017 -0700 lib: gpo: Changes order to match GPO application order. The order of GPOs in a gpo_list generated by ads_get_gpo_list did not match the order of application. Since GPOs are pushed to the FRONT of gpo_list, GPOs have to be pushed in the opposite order of application. (Pushing to front is useful to get inheritance blocking right). BUG: https://bugzilla.samba.org/show_bug.cgi?id=13046 Signed-off-by: Lutz Justen <ljus...@google.com> Reviewed-by: Jeremy Allison <j...@samba.org> Reviewed-by: Guenther Deschner <g...@samba.org> (cherry picked from commit 6a531773b841f6b713226d1166a1e7d4dbc9b282) commit 9501b007f50e4182ab55e1eb961d1dbb1f04a2ee Author: Volker Lendecke <v...@samba.org> Date: Tue Aug 29 13:31:07 2017 +0200 lib: Use CTDB_CONTROL_CHECK_PID_SRVID Also check the unique ID for remote server ids, just like we do for local server ids Bug: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Amitay Isaacs <ami...@gmail.com> Autobuild-User(master): Volker Lendecke <v...@samba.org> Autobuild-Date(master): Tue Sep 26 13:47:31 CEST 2017 on sn-devel-144 (cherry picked from commit 61de349673809b17e680496b616bc432bf0823b0) commit 660a4cc0a9aa224c78a067c3ae5c68d5f7d1543b Author: Volker Lendecke <v...@samba.org> Date: Tue Aug 29 13:26:20 2017 +0200 lib: Add "unique_id" to ctdbd_process_exists Bug: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Amitay Isaacs <ami...@gmail.com> (cherry picked from commit f059585fe61e33ce2dd518464829c183de874d8a) commit f1da343b7187226621f85c26d91017972731c380 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Sep 22 14:17:59 2017 +1000 ctdb-tests: Add tests for client with multiple connections BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Volker Lendecke <v...@samba.org> Autobuild-User(master): Volker Lendecke <v...@samba.org> Autobuild-Date(master): Fri Sep 22 20:58:46 CEST 2017 on sn-devel-144 (cherry picked from commit 4df3dcdda692ef65b7d95c4b5623905982b4bd2b) commit 8455844f6a5fd575f46a098ffde0f364a8f238b8 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Sep 22 14:14:00 2017 +1000 ctdb-tests: Add support for multiple ctdb connections in dummy_client BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Volker Lendecke <v...@samba.org> (cherry picked from commit 90f7e06c2553a13779dd24739aeefea96f55ba3e) commit f007f3c5faf967b48a41e203abaad93c39841323 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Sep 22 14:04:50 2017 +1000 ctdb-tests: Check all connections from a process in CHECK_PID_SRVID control BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Volker Lendecke <v...@samba.org> (cherry picked from commit 6ed2ed7e2dc55e2508f31f32e53db5dab1fce2a8) commit 3893a71f728dd23db1bcb9ad08ca5be6f077ec09 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Sep 22 13:52:09 2017 +1000 ctdb-daemon: Check all connections from a process in CHECK_PID_SRVID control BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Volker Lendecke <v...@samba.org> (cherry picked from commit e342f1f078fa50904216e6e45fb9b6e40043eb98) commit 4c833aabaaa8a42e695c62dc9f07591f0da56c35 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Aug 30 16:35:49 2017 +1000 ctdb-tests: Add tests for PID with srvid BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> Autobuild-User(master): Martin Schwenke <mart...@samba.org> Autobuild-Date(master): Thu Sep 21 12:56:30 CEST 2017 on sn-devel-144 (cherry picked from commit 503bc3997800cfb2fd9f7f092ef896c355b844cd) commit c3b68601b6d41f8a2444616202e5346ccd80f2b0 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Aug 30 17:04:44 2017 +1000 ctdb-tests: Implement control CHECK_PID_SRVID in fake daemon BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> (cherry picked from commit 7d034fe1399ecb7305c91e16e114a63c67f5a983) commit a93d8448e67f61322d5425dd32b219157a810645 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Aug 30 16:59:16 2017 +1000 ctdb-tests: Reimplement message handlers using srvid abstraction BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042 This is required for CHECK_PID_SRVID control implementation. Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> (cherry picked from commit c480cc0152f3afc8ea81e2bc72c31deed1e0ca71) commit 00fafb1bebcb9e77f8393d5c8a4b633c8016df2e Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Aug 30 16:29:01 2017 +1000 ctdb-tool: Update process-exists command to pass optional srvid BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> (cherry picked from commit 1c472dffd4d412806c2cb7202a8a5f37aac53b0f) commit ac799fb4501f1b29136f171a092ae41e8259b1bd Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Sep 21 15:52:14 2017 +1000 ctdb-client: Add client code for control CHECK_PID_SRVID BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> (cherry picked from commit c6a35200f45b04e2e6f867743213f2d95eabef4f) commit be97d96803c3254bc2db755505d2c40224f4072c Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Aug 30 16:18:02 2017 +1000 ctdb-daemon: Add implementation of control CHECK_PID_SRVID BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> (cherry picked from commit 02ae3d9fab6cdaaa1a2999a57a37ecc281f7f608) commit 655c67fadf11256cc6bf82ffee6cbcf65fb58e2d Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Aug 30 15:13:53 2017 +1000 ctdb-protocol: Add marshalling for control CHECK_PID_SRVID BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> (cherry picked from commit 7115378f7534f79043ab1b5d2b8fb265145537aa) commit cce980013b6b97b37c9ff97bbdd10d24740829ff Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Aug 30 15:13:12 2017 +1000 ctdb-protocol: Add marshalling for struct ctdb_pid_srvid BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> (cherry picked from commit 5d12006e29a898c503a885115069fe26f2e084bc) commit ef9db44d0e81b22ac42aa55dc96c11abe7496e57 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Aug 30 15:10:56 2017 +1000 ctdb-protocol: Add new control CTDB_CONTROL_CHECK_PID_SRVID BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> (cherry picked from commit e5b133a127ff2a34689e679397bdd211fa2aada6) commit 29fae093010fbf000043b750666fb8ccfa2f4efc Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Aug 30 13:27:12 2017 +1000 ctdb-common: Extend srvid_exists() check to support optional private_data BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042 Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> (cherry picked from commit e675f346805de1754a6b18cf0dfbc71df9c7a05d) commit 0a99c01fcfa0789d80058074fe98bdfbe22a1787 Author: Jeremy Allison <j...@samba.org> Date: Wed Oct 4 12:43:22 2017 -0700 s3: smbd: Currently if getwd() fails after a chdir(), we panic. Change this to return to the previous $cwd, and return -1 for the chdir(). If the return to the previous $cwd fails, still panic as we can't return an unknown state. Also do early return from failing SMB_VFS_CHDIR, reducing indentation level BUG: https://bugzilla.samba.org/show_bug.cgi?id=13027 Signed-off-by: Jeremy Allison <j...@samba.org> Signed-off-by: Ralph Böhme <s...@samba.org> (cherry picked from commit 272f1c9febdf51dd6ec7b862d33d2010621e840a) commit df225fecc78e6e54cdc59d1cf8562afb5c5db2c6 Author: Ralph Boehme <s...@samba.org> Date: Tue Aug 29 16:08:06 2017 +0200 s3/smbd: use correct access in get_file_handle_for_metadata All we want here is FILE_WRITE_ATTRIBUTES, not FILE_WRITE_DATA. Bug: https://bugzilla.samba.org/show_bug.cgi?id=12995 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> Autobuild-User(master): Ralph Böhme <s...@samba.org> Autobuild-Date(master): Tue Oct 17 11:48:09 CEST 2017 on sn-devel-144 (cherry picked from commit a3cc2fedab37134edd401b88087e20881c4ea18f) commit 12f19c37f9f640f3a0c0b38c1de75a8b27ad4eb4 Author: Ralph Boehme <s...@samba.org> Date: Tue Aug 29 15:55:19 2017 +0200 s3/smbd: fix access checks in set_ea_dos_attribute() We wanted to set the DOS attributes and failed with permission denied from the VFS/kernel/filesystem. Next thing we wanna do here is override this if either - "dos filemode = true" is set and the security descriptor gives the user write access or if - the stored security descriptor has FILE_WRITE_ATTRIBUTES The former was working, but the latter was not implemented at all. Bug: https://bugzilla.samba.org/show_bug.cgi?id=12995 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 143d26283dad8422fba557de311c304f0093d647) commit 7fff450a908096785ecdbc576d096b286f40e20e Author: Ralph Boehme <s...@samba.org> Date: Thu Oct 12 15:41:01 2017 +0200 s3/smbd: README.Coding fixes in set_ea_dos_attribute While I'm at it, some README.Coding fixes in set_ea_dos_attribute. Bug: https://bugzilla.samba.org/show_bug.cgi?id=12995 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit fbad64200e0199acb644d83073234b2f6c200fce) commit 08e6e69a2081f4b31381a9278626d8dfa18d3140 Author: Samuel Cabrero <scabr...@suse.de> Date: Thu Sep 21 09:53:35 2017 +0200 s3: spoolss: Fix GUID string format on GetPrinter info Fix regression introduced by commit a4157e7c5d75 which removed the braces around the printer GUID in the printer info level 7 structure. MS-RPRN section 2.2 says this protocol uses curly-braced GUIDs so printers are deleted from the directory by the domain controller's pruning service. BUG: https://bugzilla.samba.org/show_bug.cgi?id=12993 Signed-off-by: Samuel Cabrero <scabr...@suse.de> Reviewed-by: David Disseldorp <dd...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> Autobuild-User(master): Jeremy Allison <j...@samba.org> Autobuild-Date(master): Fri Oct 6 05:21:25 CEST 2017 on sn-devel-144 (cherry picked from commit fc03049ca1721c25c6ad3d01cba2501af3f39b93) commit 3d23c0cf3e12777274f6c81e16aa8027be1e6f82 Author: Ralph Boehme <s...@samba.org> Date: Sun Aug 27 19:22:38 2017 +0200 s3/mdssvc: missing assignment in sl_pack_float Spotted by -Werror=maybe-uninitialized: ../source3/rpc_server/mdssvc/marshalling.c: In function ‘sl_pack_float’: ../source3/rpc_server/mdssvc/marshalling.c:171:11: error: ‘ieee_fp_union.w’ may be used uninitialized in this function [-Werror=maybe-uninitialized] offset = sl_push_uint64_val(buf, offset, bufsize, ieee_fp_union.w); Bug: https://bugzilla.samba.org/show_bug.cgi?id=12991 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 7b58c8f54499f01778bcbfc2ad21521ceed2dd57) commit 7f7b132c8c5633b91f9ed57925e28ae029f3d3da Author: Andreas Schneider <a...@samba.org> Date: Tue Jul 18 12:49:05 2017 +0200 s4:rpc_server:backupkey: Move variable into scope CID: #1415510 BUG: https://bugzilla.samba.org/show_bug.cgi?id=12959 Signed-off-by: Andreas Schneider <a...@samba.org> Reviewed-by: Stefan Metzmacher <me...@samba.org> (cherry picked from commit 4791c152b02a47a59fe33870741b2f4c80351e55) commit 925aa8312f50fd6dfc482d407129e0bdf11dbf63 Author: Andrew Bartlett <abart...@samba.org> Date: Tue Aug 29 14:19:22 2017 +1200 s4-dnsserver: Check for too many DNS results If we had this check in when the wildcard DNS tests were written, we would have noticed that the name needed to be escaped (see previous commit). BUG: https://bugzilla.samba.org/show_bug.cgi?id=12994 Signed-off-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Douglas Bagnall <douglas.bagn...@catalyst.net.nz> Reviewed-by: Garming Sam <garm...@catalyst.net.nz> (cherry picked from commit 9e9a8d8f887a3b13d06a7cc71edad78c140bb0be) commit 6ed5472d61b51c84dd4c45b469d175348b6c6c6f Author: Andrew Bartlett <abart...@samba.org> Date: Tue Aug 29 11:48:46 2017 +1200 s4-dnsserver: Always encode user-supplied names when looking up DNS records BUG: https://bugzilla.samba.org/show_bug.cgi?id=12994 Signed-off-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Garming Sam <garm...@catalyst.net.nz> (cherry picked from commit c17470210792e6443bd3c28c18874645f1558494) commit e0d79ab19f826f3fab098d3baefebc88b0801154 Author: Gary Lockyer <g...@catalyst.net.nz> Date: Thu Jul 20 09:13:43 2017 +1200 samba-tool dns query: Allow '*' in names As DNS wild cards are now supported we need to allow '*' characters in the domain names. Signed-off-by: Gary Lockyer <g...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Garming Sam <garm...@catalyst.net.nz> BUG: https://bugzilla.samba.org/show_bug.cgi?id=12952 (cherry picked from commit 29b3a2b0d1e5abc1ca9f112f680251e34fa6e3af) commit 443b85cdcc4cb82793d43d49c2193bc279bec2f9 Author: Gary Lockyer <g...@catalyst.net.nz> Date: Mon Aug 7 13:42:02 2017 +1200 samba-tool dns: Test support of DNS wild card in names As DNS wild cards are now supported we need to allow '*' characters in the domain names. Signed-off-by: Gary Lockyer <g...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Garming Sam <garm...@catalyst.net.nz> BUG: https://bugzilla.samba.org/show_bug.cgi?id=12952 (cherry picked from commit 3d2bd849f119480f0c1262c00e45179ceaa6e755) commit bf9ad9704bc5f8cb45813237848d383039f25a1e Author: Gary Lockyer <g...@catalyst.net.nz> Date: Thu Aug 3 15:12:02 2017 +1200 dnsserver: Add support for dns wildcards Add support for dns wildcard records. i.e. if the following records exist exact.samba.example.com 3600 A 1.1.1.1 *.samba.example.com 3600 A 1.1.1.2 look up on exact.samba.example.com will return 1.1.1.1 look up on *.samba.example.com will return 1.1.1.2 look up on other.samba.example.com will return 1.1.1.2 Signed-off-by: Gary Lockyer <g...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Garming Sam <garm...@catalyst.net.nz> BUG: https://bugzilla.samba.org/show_bug.cgi?id=12952 (cherry picked from commit edcbc991253f4d6f59ef9a43a691c66cbbdc2b6d) commit 086b68c7188e2cfbeeb913f454b5072dcb689125 Author: Gary Lockyer <g...@catalyst.net.nz> Date: Thu Aug 3 15:12:51 2017 +1200 dnsserver: Tighten DNS name checking Add checks for the maximum permitted length, maximum number of labels and the maximum label length. These extra checks will be used by the DNS wild card handling. Signed-off-by: Gary Lockyer <g...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Garming Sam <garm...@catalyst.net.nz> BUG: https://bugzilla.samba.org/show_bug.cgi?id=12952 (cherry picked from commit 34acf5a99214639e5e7792a9e85d24c9fd7640ac) commit d603ff0dc83ea41d26db92b6ee6032ebf82a875d Author: Gary Lockyer <g...@catalyst.net.nz> Date: Tue Jul 25 14:14:53 2017 +1200 dnsserver: Tests for dns wildcard entries Add tests for dns wildcards. Tests validated against Windows Server 2012 R2 Signed-off-by: Gary Lockyer <g...@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Garming Sam <garm...@catalyst.net.nz> BUG: https://bugzilla.samba.org/show_bug.cgi?id=12952 (cherry picked from commit 1184770a76800897d59f1c20adaee3b0240697de) commit 8aa3ae47c77b16bf69c2164acc615c33be918751 Author: Ralph Boehme <s...@samba.org> Date: Thu Jul 13 16:05:49 2017 +0200 s4/torture: add a test for rename change notification with inotify enabled This is already fixed in master by 5eccc2fd0072409f166c63e6876266f926411423~10..5eccc2fd0072409f166c63e6876266f926411423. Bug: https://bugzilla.samba.org/show_bug.cgi?id=12903 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> Autobuild-User(master): Jeremy Allison <j...@samba.org> Autobuild-Date(master): Sat Aug 26 05:05:08 CEST 2017 on sn-devel-144 (cherry picked from commit 51f40a0e1d10069f55a5884ff1579e8f15f10a1e) commit 70809cf6d729c8e895c5a0bfe5b199bf3770eeb1 Author: Ralph Boehme <s...@samba.org> Date: Thu Jul 13 16:04:50 2017 +0200 selftest: run smb2.notify-inotify testsuite against fileserver Next commit adds the suite and a test. Bug: https://bugzilla.samba.org/show_bug.cgi?id=12903 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 71a68d22a15d12c4038026dd065c54721ddc6723) commit f85dcf316585ec74f9289ae62e35d58f2f0a498b Author: Ralph Boehme <s...@samba.org> Date: Thu Jul 13 16:01:53 2017 +0200 selftest: enable kernel change notifications in the fileserver environment This environment is currently not used for any test in the smb2 testsuite, so this change doesn't affect any existing test. A subsequent commit will add a test for change notifications with kernel change notify enabled. It verifies a bug (this one) that only crops up in such a setup and causes rename events to get lost. Bug: https://bugzilla.samba.org/show_bug.cgi?id=12903 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit fb8e0343ebebac322d545b54c33b3c1e7bcda393) commit 9663cab40d637193f7c5af5d5cc2c4acd1e4fef9 Author: Volker Lendecke <v...@samba.org> Date: Sat Jun 24 09:01:46 2017 +0200 messaging: Remove messaging_handler_send This did not really take off, notifyd was the only user Bug: https://bugzilla.samba.org/show_bug.cgi?id=12903 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> Autobuild-User(master): Jeremy Allison <j...@samba.org> Autobuild-Date(master): Fri Jul 7 05:11:48 CEST 2017 on sn-devel-144 (cherry picked from commit 5eccc2fd0072409f166c63e6876266f926411423) commit 32cbcbee2ad3ac2585594c36443f1bb32ff3b4b9 Author: Volker Lendecke <v...@samba.org> Date: Sat Jun 24 08:57:18 2017 +0200 notifyd: Remove notifyd_handler_done Bug: https://bugzilla.samba.org/show_bug.cgi?id=12903 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 197186a1fcc2c190fac9a16893234c337e6ec01c) commit a4e5da1e1d495511c1fddfcae1b26819ed125a3d Author: Volker Lendecke <v...@samba.org> Date: Sat Jun 24 08:56:35 2017 +0200 notifyd: Use messaging_register for MSG_SMB_NOTIFY_DB Bug: https://bugzilla.samba.org/show_bug.cgi?id=12903 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 9430fab61cb746e590db307af37219f8f29b7fd8) commit dea5b9929c84f8e8b6b989ac4cca6904b29f9a99 Author: Volker Lendecke <v...@samba.org> Date: Sat Jun 24 08:48:45 2017 +0200 notifyd: Use messaging_register for MSG_SMB_NOTIFY_GET_DB Bug: https://bugzilla.samba.org/show_bug.cgi?id=12903 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit dc39bb45624f8d6859dadc3c9a9a85793a5a7d0d) commit 0af027d6fc57b8f3026db9f41d233b55f877acab Author: Volker Lendecke <v...@samba.org> Date: Sat Jun 24 08:45:17 2017 +0200 notifyd: Use messaging_register for MSG_SMB_NOTIFY_TRIGGER Bug: https://bugzilla.samba.org/show_bug.cgi?id=12903 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit db15feb162326cb03fb06df24bcdafa5d5cb3087) commit 3aecf03cdc696a5845a8fd2ef4c68d505d7d0012 Author: Volker Lendecke <v...@samba.org> Date: Sat Jun 24 08:38:53 2017 +0200 notifyd: Use messaging_register for MSG_SMB_NOTIFY_REC_CHANGE Bug: https://bugzilla.samba.org/show_bug.cgi?id=12903 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit b6079af1c41481714ac981fdd19f89ee197b4200) commit 6fbbb26b1bfd3b44f5dae2fe93665d20eb1518c2 Author: Volker Lendecke <v...@samba.org> Date: Sat Jun 24 08:38:19 2017 +0200 messaging: make messaging_rec_create public Bug: https://bugzilla.samba.org/show_bug.cgi?id=12903 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 0c1e08b5901e54c70cf72c74837a8ed8cc77f0b8) commit a958c33994a2aba1aa8217fb168407af31d7d2de Author: Volker Lendecke <v...@samba.org> Date: Wed Jul 5 09:37:14 2017 +0200 notifyd: Avoid an if-expression Best reviewed with "git show -b -U10" Bug: https://bugzilla.samba.org/show_bug.cgi?id=12903 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit b8dccd11ea3d43b9ee51811c1ce7d81b91a549ca) commit 6b0de3c090958eb33858d31802503e81828994d0 Author: Volker Lendecke <v...@samba.org> Date: Wed Jul 5 09:34:51 2017 +0200 notifyd: Consolidate two #ifdef CLUSTER into one Bug: https://bugzilla.samba.org/show_bug.cgi?id=12903 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit d0a7bccae9856aba44a057c09499aa0de6b21862) commit 9870d0eed05b8c4de399870e481dfa9dc507267f Author: Volker Lendecke <v...@samba.org> Date: Fri Jun 16 15:20:22 2017 +0200 notifyd: Only ask for messaging_ctdb_conn when clustering Without clustering, messaging_ctdb_conn will fail anyway. Review with "git show -b". Bug: https://bugzilla.samba.org/show_bug.cgi?id=12903 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 939576d968d1e0159456baf6dd1e3c454b98995a) commit 967ce097d128741a31e152c7eac80ba2e00e153b Author: Alexander Bokovoy <a...@samba.org> Date: Fri Oct 6 22:52:36 2017 +0300 man pages: properly ident lists It took me some time (original bug was filed in 2013!) but now lists in smb.conf.5 are properly idented. BUG: https://bugzilla.samba.org/show_bug.cgi?id=9613 Signed-Off-By: Alexander Bokovoy <a...@samba.org> Reviewed-By: Andreas Schneider <a...@samba.org> Reviewed-by: Andrew Bartlett <abart...@samba.org> Autobuild-User(master): Andrew Bartlett <abart...@samba.org> Autobuild-Date(master): Sat Oct 14 11:31:07 CEST 2017 on sn-devel-144 (cherry picked from commit 7d47f75be460977894ca11b2ecc1e74e08ffb9f3) commit a1bec76e366129fbeeb37f4363b1dd1f02f2fdac Author: Ralph Boehme <s...@samba.org> Date: Fri Oct 13 14:32:58 2017 +0200 selftest: prevent interpretation of escape sequences in test_give_owner.sh Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Volker Lendecke <v...@samba.org> Reviewed-by: Andreas Schneider <a...@samba.org> Autobuild-User(master): Ralph Böhme <s...@samba.org> Autobuild-Date(master): Sat Oct 14 06:02:50 CEST 2017 on sn-devel-144 (cherry picked from commit 7abf0acef48cb585fa8e5666fd4c27692b9c8ae3) commit 959643e29e6799151c7200a23a4f12dd07dffa40 Author: Ralph Boehme <s...@samba.org> Date: Thu Oct 12 17:07:15 2017 +0200 selftest: add some debugging to test_give_owner.sh Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> Autobuild-User(master): Jeremy Allison <j...@samba.org> Autobuild-Date(master): Fri Oct 13 01:22:05 CEST 2017 on sn-devel-144 (cherry picked from commit 156015aed0b5a72b2f7150beb5cdaffa32b554e5) commit 01e6208c8ae511b79b72be344e220d9317ea28a8 Author: Ralph Boehme <s...@samba.org> Date: Fri Oct 6 15:25:54 2017 +0200 vfs_fake_acls: deny give-ownership Windows doesn't allow giving ownership away unless the user has SEC_PRIV_RESTORE privilege. This follows from MS-FSA 2.1.5.1, so it's a property of the filesystem layer, not the SMB layer. By implementing this restriction here, we can now have test for this restriction. Other filesystems may want to deliberately allow this behaviour -- although I'm not aware of any that does -- therefor I'm putting in this restriction in the implementation of the chmod VFS function and not into the caller. Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 0666093cb0d820cc27a265c1f0a87bc76cd3c167) commit bfc1b6ac8164d0cd5f1e4ac9fa2eb5c73f81c52a Author: Ralph Boehme <s...@samba.org> Date: Wed Oct 4 22:27:24 2017 +0200 vfs_acl_common: fix take ownership vs give ownership Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 7e7afef819b4a858e6de48389c6f4fa7510cf5c6) commit 16d82b017013621e5a8a4cae4e6e9cf3f02105b9 Author: Ralph Boehme <s...@samba.org> Date: Wed Oct 4 12:51:29 2017 +0200 vfs_acl_common: factor out a variable declaration Just some refactoring, no change in behaviour. Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit e62f90a6d15626a2e20ba92f5cd552101ec4afe0) commit a3cb2ec240afe8bf95077f9854a38ae0750f1957 Author: Ralph Boehme <s...@samba.org> Date: Wed Oct 4 15:45:54 2017 +0200 s3/smbd/posix_acls: return correct status in try_chown Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit cc555be4d01c4140445bd30e16be3fe8343d3872) commit 3d8578c68ebeb2cc003061de364fcb2af559e0e3 Author: Ralph Boehme <s...@samba.org> Date: Fri Oct 6 15:31:20 2017 +0200 selftest: tests for change ownership on a file This test verifies that SEC_STD_WRITE_OWNER only effectively grants take-ownership permissions but NOT give-ownership. The latter requires SeRestorePrivilege privilege. Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 4b2e171e6b90f9c3594ebb705a28c66b981c2bf5) commit 431ba57d5d4a49ff20f90d645d8e2e2d4b89016e Author: Ralph Boehme <s...@samba.org> Date: Sat Oct 7 09:11:56 2017 +0200 selftest: fix samba3.blackbox.inherit_owner.default test script test_inherit_owner.sh Grant the test-user SeRestorePrivilege, this is needed for give-ownership operations. And then granting SeRestorePrivilege requires `net`, so add that as an additional argument to the script. Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit ff199d8e3ea7bd1ed12de8c39340ba640a2b83ca) commit d44a3ea356ef6f9ce10d6273ed437f741b48ac9a Author: Ralph Boehme <s...@samba.org> Date: Sun Oct 8 11:17:12 2017 +0200 selftest: fix acl_xattr test script test_acl_xattr.sh The two "nt_affects_chgrp" tests called the wrong function so the function nt_affects_chgrp() was never run. Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 3aff6315097cc9db0216bc18aa793a996930b0f4) commit 39ac1dced6d82ef3b2e693efa6ffa9d83a0ca1ce Author: Ralph Boehme <s...@samba.org> Date: Sun Oct 8 08:51:05 2017 +0200 selftest: fix acl_xattr test: sn-devel unreliable gid The "nt_affects_chgrp" kept failing in a full autobuild on sn-devel because the actual gid of the created file as returned by smbclient -c getfacl was reliably the unix gid of my account. It should have been the mapped domusers group for the primary users "Domain Users" group. Running the test individually or even the full set of "samba3.blackbox" tests didn't trigger the error. Looks like an issue with vfs_fake_acls and vfs_xattr_tdb, but I wasn't able to track it down. As the test only really want to ensure that smbcacls -G set the gid to the requested value, just remove the check for the actual initial gid. Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit ea0ea829f5af63ab9638e758631c3002cbb6b4ce) commit 8ddf7812fec656a2eeed6927e28144cf5538ead5 Author: Ralph Boehme <s...@samba.org> Date: Sun Oct 8 11:16:27 2017 +0200 selftest: fix acl_xattr test: grep ouput before munging The check of the smbclient getfacl output for presence of a "^# group:" line must be done before munging the saved output with a sed filter. Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 1fabe25339166e381ab0e118667f9c19781b49df) commit 099ca920a4d93a8c6f8fe5901c3fabd026250628 Author: Ralph Boehme <s...@samba.org> Date: Sun Oct 8 11:13:46 2017 +0200 selftest: fix acl_xattr test: group, not user In nt_affects_chgrp() check for domadmins *group*, not user. This didn't trigger an error as nt_affects_chgrp() isn't actually called, see next commit. Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 71a2d06a1e41a1c412c82e58b3966e14c29c6159) commit 784071fddc5acfed200e1060f3613116ec4deab1 Author: Ralph Boehme <s...@samba.org> Date: Sun Oct 8 11:12:48 2017 +0200 selftest: fix acl_xattr test: changing owner Don't give ownership to user "force_user" as user "$USERNAME", this would fail with NT_STATUS_INVALID_OWNER, instead just take ownership as user "force_user". Adding a corresponding ACE for "force_user" with FULL rights ensures this works. Bug: https://bugzilla.samba.org/show_bug.cgi?id=7933 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 0f8de2dee5451c9791f96050f85e4f007bec2819) commit fd3e3a5d6472b68fa6ed42fa8f990f1d44c496e0 Author: Ralph Boehme <s...@samba.org> Date: Wed Sep 6 16:28:10 2017 +0200 vfs/nfs4_acls: move special handling of SMB_ACE4_SYNCHRONIZE to vfs_zfsacl Commit 99a74ff5e6a9f87ad7a650cb44e0f925f834b3a1 added special handling of SMB_ACE4_SYNCHRONIZE, always setting it in the access_mask when fabricating an ACL. While at the same time removing it from the access_mask when setting an ACL, but this is done direclty in vfs_zfsacl, not it the common code. Forcing SMB_ACE4_SYNCHRONIZE to be always set is only needed on ZFS, the other VFS modules using the common NFSv4 infrastructure should not be made victims of the special ZFS behaviour. Bug: https://bugzilla.samba.org/show_bug.cgi?id=7909 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit 4591a91c4aa9e631fb8696ed8f6e53343e773895) commit 241b8dc69e154257350bd04de81a6926ff2f362e Author: Ralph Boehme <s...@samba.org> Date: Wed Sep 6 16:56:47 2017 +0200 s3/vfs: move ACE4_ADD_FILE/ACE4_DELETE_CHILD mapping from NFSv4 framework to vfs_zfsacl This was added in e6a5f11865a55e9644292ae92e4a4b5ec0662ccd to adopt the NFSv4 framework to follow ZFS permission rules. But this is the wrong place, other filesystems like GPFS do not allow deletion when the user has SEC_DIR_ADD_FILE. This patch therefor moves the change from the NFS4 framework into the ZFS module. Bug: https://bugzilla.samba.org/show_bug.cgi?id=6133 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> Autobuild-User(master): Jeremy Allison <j...@samba.org> Autobuild-Date(master): Sat Sep 9 04:59:51 CEST 2017 on sn-devel-144 (cherry picked from commit 4102697503691f3b2eadfcb98834bb66c669f3ab) commit b4fdb8a83d1a246219721c807f2e49a22268c7c5 Author: Ralph Boehme <s...@samba.org> Date: Wed Sep 6 16:53:23 2017 +0200 vfs_zfsacl: ensure zfs_get_nt_acl_common() has access to stat info We'll need this in the next commit. Bug: https://bugzilla.samba.org/show_bug.cgi?id=6133 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit bdc7fc62011cb1744f0246aea358b93e98caef38) commit a3b6a7502e474a3a7af93fdf5c19e1ac9e32f1fc Author: Ralph Boehme <s...@samba.org> Date: Wed Sep 6 16:44:12 2017 +0200 vfs_zfsacl: pass smb_fname to zfs_get_nt_acl_common This is in preperation of moving SMB_ACE4_ADD_FILE / SMB_ACE4_DELETE_CHILD mapping from the common NFSv4 framework into this module excusively. Bug: https://bugzilla.samba.org/show_bug.cgi?id=6133 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> (cherry picked from commit a66572851b6163e56a80463316cc0a6879ffd3e5) ----------------------------------------------------------------------- Summary of changes: ctdb/client/client_control_sync.c | 29 ++ ctdb/client/client_sync.h | 5 + ctdb/common/ctdb_io.c | 5 + ctdb/common/run_event.c | 6 + ctdb/common/srvid.c | 13 +- ctdb/common/srvid.h | 8 +- ctdb/config/events.d/README | 4 +- ctdb/doc/ctdb.1.xml | 8 +- ctdb/include/ctdb_private.h | 2 + ctdb/protocol/protocol.h | 7 + ctdb/protocol/protocol_api.h | 5 + ctdb/protocol/protocol_client.c | 28 ++ ctdb/protocol/protocol_control.c | 22 ++ ctdb/protocol/protocol_debug.c | 1 + ctdb/protocol/protocol_private.h | 5 + ctdb/protocol/protocol_types.c | 47 +++ ctdb/server/ctdb_control.c | 4 + ctdb/server/ctdb_daemon.c | 28 +- ctdb/server/ctdb_ltdb_server.c | 5 +- ctdb/tests/cunit/protocol_test_002.sh | 2 +- ctdb/tests/cunit/run_event_001.sh | 21 ++ ctdb/tests/simple/07_ctdb_process_exists.sh | 20 +- ctdb/tests/src/cluster_wait.c | 2 +- ctdb/tests/src/dummy_client.c | 32 +- ctdb/tests/src/fake_ctdbd.c | 108 ++++-- ctdb/tests/src/protocol_client_test.c | 15 +- ctdb/tests/src/protocol_types_test.c | 15 + ctdb/tests/src/srvid_test.c | 12 +- ctdb/tests/tool/ctdb.process-exists.002.sh | 26 ++ ctdb/tests/tool/ctdb.process-exists.003.sh | 26 ++ ctdb/tools/ctdb.c | 32 +- docs-xml/wscript_build | 9 +- docs-xml/xslt/man.xsl | 1 + lib/krb5_wrap/krb5_samba.c | 4 +- libgpo/gpo_ldap.c | 221 +++++++----- librpc/idl/dns.idl | 3 + python/samba/netcmd/dns.py | 3 +- python/samba/tests/dns_wildcard.py | 288 ++++++++++++++++ python/samba/tests/samba_tool/dnscmd.py | 67 ++++ selftest/target/Samba3.pm | 2 + source3/include/ctdbd_conn.h | 2 +- source3/include/messages.h | 13 +- source3/lib/ctdb_dummy.c | 3 +- source3/lib/ctdbd_conn.c | 24 +- source3/lib/messages.c | 83 +---- source3/lib/serverid.c | 2 +- source3/lib/system.c | 11 +- source3/modules/nfs4_acls.c | 11 - source3/modules/string_replace.c | 178 ++++++++++ .../passwd_proto.h => modules/string_replace.h} | 26 +- source3/modules/vfs_acl_common.c | 18 +- source3/modules/vfs_catia.c | 170 ++------- source3/modules/vfs_default.c | 4 + source3/modules/vfs_fake_acls.c | 18 + source3/modules/vfs_fruit.c | 381 ++++++++++++++++++-- source3/modules/vfs_solarisacl.c | 2 +- source3/modules/vfs_solarisacl.h | 2 +- source3/modules/vfs_zfsacl.c | 54 ++- source3/modules/wscript_build | 7 +- source3/rpc_server/mdssvc/marshalling.c | 2 + source3/rpc_server/spoolss/srv_spoolss_nt.c | 16 +- source3/script/tests/test_acl_xattr.sh | 15 +- source3/script/tests/test_give_owner.sh | 141 ++++++++ source3/script/tests/test_inherit_owner.sh | 17 +- source3/selftest/tests.py | 17 +- source3/smbd/dosmode.c | 35 +- source3/smbd/notifyd/notifyd.c | 244 +++++++------ source3/smbd/posix_acls.c | 2 +- source3/smbd/server.c | 8 +- source3/smbd/vfs.c | 81 ++++- source3/utils/net_groupmap.c | 4 +- source4/dns_server/dlz_bind9.c | 4 +- source4/dns_server/dns_query.c | 5 +- source4/dns_server/dns_server.h | 5 + source4/dns_server/dns_utils.c | 18 + source4/dns_server/dnsserver_common.c | 383 ++++++++++++++++++++- source4/dns_server/dnsserver_common.h | 5 + source4/rpc_server/backupkey/dcesrv_backupkey.c | 4 +- source4/rpc_server/dnsserver/dcerpc_dnsserver.c | 15 +- source4/rpc_server/dnsserver/dnsdb.c | 18 +- source4/selftest/tests.py | 2 +- source4/torture/smb2/notify.c | 158 +++++++++ source4/torture/smb2/smb2.c | 1 + source4/torture/vfs/fruit.c | 171 +++++++-- 84 files changed, 2838 insertions(+), 683 deletions(-) create mode 100755 ctdb/tests/tool/ctdb.process-exists.002.sh create mode 100755 ctdb/tests/tool/ctdb.process-exists.003.sh create mode 100644 python/samba/tests/dns_wildcard.py create mode 100644 source3/modules/string_replace.c copy source3/{utils/passwd_proto.h => modules/string_replace.h} (54%) create mode 100755 source3/script/tests/test_give_owner.sh Changeset truncated at 500 lines: diff --git a/ctdb/client/client_control_sync.c b/ctdb/client/client_control_sync.c index 43a941d..6b64c75 100644 --- a/ctdb/client/client_control_sync.c +++ b/ctdb/client/client_control_sync.c @@ -2758,3 +2758,32 @@ int ctdb_ctrl_db_attach_replicated(TALLOC_CTX *mem_ctx, return 0; } + +int ctdb_ctrl_check_pid_srvid(TALLOC_CTX *mem_ctx, struct tevent_context *ev, + struct ctdb_client_context *client, + int destnode, struct timeval timeout, + struct ctdb_pid_srvid *pid_srvid, int *status) +{ + struct ctdb_req_control request; + struct ctdb_reply_control *reply; + int ret; + + ctdb_req_control_check_pid_srvid(&request, pid_srvid); + ret = ctdb_client_control(mem_ctx, ev, client, destnode, timeout, + &request, &reply); + if (ret != 0) { + DEBUG(DEBUG_ERR, + ("Control CHECK_PID_SRVID failed to node %u, ret=%d\n", + destnode, ret)); + return ret; + } + + ret = ctdb_reply_control_check_pid_srvid(reply, status); + if (ret != 0) { + DEBUG(DEBUG_ERR, + ("Control CHECK_PID_SRVID failed, ret=%d\n", ret)); + return ret; + } + + return 0; +} diff --git a/ctdb/client/client_sync.h b/ctdb/client/client_sync.h index a4b5c49..c0a7b25 100644 --- a/ctdb/client/client_sync.h +++ b/ctdb/client/client_sync.h @@ -494,6 +494,11 @@ int ctdb_ctrl_db_attach_replicated(TALLOC_CTX *mem_ctx, int destnode, struct timeval timeout, const char *db_name, uint32_t *db_id); +int ctdb_ctrl_check_pid_srvid(TALLOC_CTX *mem_ctx, struct tevent_context *ev, + struct ctdb_client_context *client, + int destnode, struct timeval timeout, + struct ctdb_pid_srvid *pid_srvid, int *status); + /* from client/client_message_sync.c */ int ctdb_message_recd_update_ip(TALLOC_CTX *mem_ctx, struct tevent_context *ev, diff --git a/ctdb/common/ctdb_io.c b/ctdb/common/ctdb_io.c index 152d535..3e732e8 100644 --- a/ctdb/common/ctdb_io.c +++ b/ctdb/common/ctdb_io.c @@ -300,6 +300,11 @@ int ctdb_queue_send(struct ctdb_queue *queue, uint8_t *data, uint32_t length) struct ctdb_queue_pkt *pkt; uint32_t length2, full_length; + /* If the queue does not have valid fd, no point queueing a packet */ + if (queue->fd == -1) { + return 0; + } + if (queue->alignment) { /* enforce the length and alignment rules from the tcp packet allocator */ length2 = (length+(queue->alignment-1)) & ~(queue->alignment-1); diff --git a/ctdb/common/run_event.c b/ctdb/common/run_event.c index e5d562c..0961d65 100644 --- a/ctdb/common/run_event.c +++ b/ctdb/common/run_event.c @@ -60,6 +60,12 @@ static int script_filter(const struct dirent *de) return 0; } + /* Ignore filenames with multiple '.'s */ + ptr = index(&de->d_name[3], '.'); + if (ptr != NULL) { + return 0; + } + return 1; } diff --git a/ctdb/common/srvid.c b/ctdb/common/srvid.c index f9cd49b..3304994 100644 --- a/ctdb/common/srvid.c +++ b/ctdb/common/srvid.c @@ -221,9 +221,10 @@ int srvid_deregister(struct srvid_context *srv, uint64_t srvid, /* * Check if a message handler exists */ -int srvid_exists(struct srvid_context *srv, uint64_t srvid) +int srvid_exists(struct srvid_context *srv, uint64_t srvid, void *private_data) { struct srvid_handler_list *list; + struct srvid_handler *h; int ret; ret = srvid_fetch(srv, srvid, &list); @@ -234,6 +235,16 @@ int srvid_exists(struct srvid_context *srv, uint64_t srvid) return ENOENT; } + if (private_data != NULL) { + for (h = list->h; h != NULL; h = h->next) { + if (h->private_data == private_data) { + return 0; + } + } + + return ENOENT; + } + return 0; } diff --git a/ctdb/common/srvid.h b/ctdb/common/srvid.h index f048b5c..702724f 100644 --- a/ctdb/common/srvid.h +++ b/ctdb/common/srvid.h @@ -91,11 +91,17 @@ int srvid_deregister(struct srvid_context *srv, uint64_t srvid, /** * @brief Check if any message handler is registered for srvid * + * If private_data is NULL, then check if there is any registration + * for * specified srvid. If private_data is not NULL, then check for + * registration that matches the specified private data. + * * @param[in] srv The srvid message handler database context * @param[in] srvid The srvid + * @param[in] private_data Private data * @return 0 on success, errno on failure */ -int srvid_exists(struct srvid_context *srv, uint64_t srvid); +int srvid_exists(struct srvid_context *srv, uint64_t srvid, + void *private_data); /** * @brief Call message handlers for given srvid diff --git a/ctdb/config/events.d/README b/ctdb/config/events.d/README index 11da702..69f5904 100644 --- a/ctdb/config/events.d/README +++ b/ctdb/config/events.d/README @@ -11,7 +11,9 @@ alphanumeric sort order. As a special case, any eventscript that ends with a '~' character will be ignored since this is a common postfix that some editors will append to -older versions of a file. +older versions of a file. Similarly, any eventscript with multiple '.'s +will be ignored as package managers can create copies with additional +suffix starting with '.' (e.g. .rpmnew, .dpkg-dist). Only executable event scripts are run by CTDB. Any event script that does not have execute permission is ignored. diff --git a/ctdb/doc/ctdb.1.xml b/ctdb/doc/ctdb.1.xml index 3aceb73..471d825 100644 --- a/ctdb/doc/ctdb.1.xml +++ b/ctdb/doc/ctdb.1.xml @@ -1681,9 +1681,13 @@ RUNNING </refsect2> <refsect2> - <title>process-exists <parameter>PID</parameter></title> + <title>process-exists <parameter>PID</parameter> <parameter>[SRVID]</parameter></title> <para> - This command checks if a specific process exists on the CTDB host. This is mainly used by Samba to check if remote instances of samba are still running or not. + This command checks if a specific process exists on the CTDB + host. This is mainly used by Samba to check if remote instances + of samba are still running or not. When the optional SRVID + argument is specified, the command check if a specific process + exists on the CTDB host and has registered for specified SRVID. </para> </refsect2> diff --git a/ctdb/include/ctdb_private.h b/ctdb/include/ctdb_private.h index 043149e..da3760d 100644 --- a/ctdb/include/ctdb_private.h +++ b/ctdb/include/ctdb_private.h @@ -584,6 +584,8 @@ struct ctdb_client *ctdb_find_client_by_pid(struct ctdb_context *ctdb, pid_t pid); int32_t ctdb_control_process_exists(struct ctdb_context *ctdb, pid_t pid); +int32_t ctdb_control_check_pid_srvid(struct ctdb_context *ctdb, + TDB_DATA indata); int ctdb_control_getnodesfile(struct ctdb_context *ctdb, uint32_t opcode, TDB_DATA indata, TDB_DATA *outdata); diff --git a/ctdb/protocol/protocol.h b/ctdb/protocol/protocol.h index ee409f7..e116b3a 100644 --- a/ctdb/protocol/protocol.h +++ b/ctdb/protocol/protocol.h @@ -369,6 +369,7 @@ enum ctdb_controls {CTDB_CONTROL_PROCESS_EXISTS = 0, CTDB_CONTROL_DB_PUSH_CONFIRM = 148, CTDB_CONTROL_DB_OPEN_FLAGS = 149, CTDB_CONTROL_DB_ATTACH_REPLICATED = 150, + CTDB_CONTROL_CHECK_PID_SRVID = 151, }; #define CTDB_MONITORING_ENABLED 0 @@ -842,6 +843,11 @@ enum ctdb_runstate { CTDB_RUNSTATE_SHUTDOWN, }; +struct ctdb_pid_srvid { + pid_t pid; + uint64_t srvid; +}; + struct ctdb_req_control_data { uint32_t opcode; union { @@ -879,6 +885,7 @@ struct ctdb_req_control_data { struct ctdb_uint64_array *u64_array; struct ctdb_traverse_start_ext *traverse_start_ext; struct ctdb_traverse_all_ext *traverse_all_ext; + struct ctdb_pid_srvid *pid_srvid; } data; }; diff --git a/ctdb/protocol/protocol_api.h b/ctdb/protocol/protocol_api.h index a887544..5961527 100644 --- a/ctdb/protocol/protocol_api.h +++ b/ctdb/protocol/protocol_api.h @@ -606,6 +606,11 @@ void ctdb_req_control_db_attach_replicated(struct ctdb_req_control *request, int ctdb_reply_control_db_attach_replicated(struct ctdb_reply_control *reply, uint32_t *db_id); +void ctdb_req_control_check_pid_srvid(struct ctdb_req_control *request, + struct ctdb_pid_srvid *pid_srvid); +int ctdb_reply_control_check_pid_srvid(struct ctdb_reply_control *reply, + int *status); + /* From protocol/protocol_debug.c */ void ctdb_packet_print(uint8_t *buf, size_t buflen, FILE *fp); diff --git a/ctdb/protocol/protocol_client.c b/ctdb/protocol/protocol_client.c index daa70cc..70bf1f5 100644 --- a/ctdb/protocol/protocol_client.c +++ b/ctdb/protocol/protocol_client.c @@ -2386,3 +2386,31 @@ int ctdb_reply_control_db_attach_replicated(struct ctdb_reply_control *reply, } return reply->status; } + +/* CTDB_CONTROL_CHECK_PID_SRVID */ + +void ctdb_req_control_check_pid_srvid(struct ctdb_req_control *request, + struct ctdb_pid_srvid *pid_srvid) +{ + request->opcode = CTDB_CONTROL_CHECK_PID_SRVID; + request->pad = 0; + request->srvid = 0; + request->client_id = 0; + request->flags = 0; + + request->rdata.opcode = CTDB_CONTROL_CHECK_PID_SRVID; + request->rdata.data.pid_srvid = pid_srvid; +} + +int ctdb_reply_control_check_pid_srvid(struct ctdb_reply_control *reply, + int *status) +{ + if (reply->rdata.opcode != CTDB_CONTROL_CHECK_PID_SRVID) { + return EPROTO; + } + + *status = reply->status; + reply->status = 0; + + return reply->status; +} diff --git a/ctdb/protocol/protocol_control.c b/ctdb/protocol/protocol_control.c index 3c5c7ce..a98c8ea 100644 --- a/ctdb/protocol/protocol_control.c +++ b/ctdb/protocol/protocol_control.c @@ -434,6 +434,10 @@ static size_t ctdb_req_control_data_len(struct ctdb_req_control_data *cd) case CTDB_CONTROL_DB_ATTACH_REPLICATED: len = ctdb_string_len(cd->data.db_name); break; + + case CTDB_CONTROL_CHECK_PID_SRVID: + len = ctdb_pid_srvid_len(cd->data.pid_srvid); + break; } return len; @@ -705,6 +709,10 @@ static void ctdb_req_control_data_push(struct ctdb_req_control_data *cd, case CTDB_CONTROL_DB_ATTACH_REPLICATED: ctdb_string_push(cd->data.db_name, buf); break; + + case CTDB_CONTROL_CHECK_PID_SRVID: + ctdb_pid_srvid_push(cd->data.pid_srvid, buf); + break; } } @@ -1045,6 +1053,11 @@ static int ctdb_req_control_data_pull(uint8_t *buf, size_t buflen, ret = ctdb_string_pull(buf, buflen, mem_ctx, &cd->data.db_name); break; + + case CTDB_CONTROL_CHECK_PID_SRVID: + ret = ctdb_pid_srvid_pull(buf, buflen, mem_ctx, + &cd->data.pid_srvid); + break; } return ret; @@ -1414,6 +1427,9 @@ static size_t ctdb_reply_control_data_len(struct ctdb_reply_control_data *cd) case CTDB_CONTROL_DB_ATTACH_REPLICATED: len = ctdb_uint32_len(cd->data.db_id); break; + + case CTDB_CONTROL_CHECK_PID_SRVID: + break; } return len; @@ -1574,6 +1590,9 @@ static void ctdb_reply_control_data_push(struct ctdb_reply_control_data *cd, case CTDB_CONTROL_DB_ATTACH_REPLICATED: ctdb_uint32_push(cd->data.db_id, buf); break; + + case CTDB_CONTROL_CHECK_PID_SRVID: + break; } } @@ -1771,6 +1790,9 @@ static int ctdb_reply_control_data_pull(uint8_t *buf, size_t buflen, ret = ctdb_uint32_pull(buf, buflen, mem_ctx, &cd->data.db_id); break; + + case CTDB_CONTROL_CHECK_PID_SRVID: + break; } return ret; diff --git a/ctdb/protocol/protocol_debug.c b/ctdb/protocol/protocol_debug.c index 574f903..7c6d862 100644 --- a/ctdb/protocol/protocol_debug.c +++ b/ctdb/protocol/protocol_debug.c @@ -239,6 +239,7 @@ static void ctdb_opcode_print(uint32_t opcode, FILE *fp) { CTDB_CONTROL_DB_PUSH_CONFIRM, "DB_PUSH_CONFIRM" }, { CTDB_CONTROL_DB_OPEN_FLAGS, "DB_OPEN_FLAGS" }, { CTDB_CONTROL_DB_ATTACH_REPLICATED, "DB_ATTACH_REPLICATED" }, + { CTDB_CONTROL_CHECK_PID_SRVID, "CHECK_PID_SRVID" }, { MAP_END, "" }, }; diff --git a/ctdb/protocol/protocol_private.h b/ctdb/protocol/protocol_private.h index f887ce5..ecbd627 100644 --- a/ctdb/protocol/protocol_private.h +++ b/ctdb/protocol/protocol_private.h @@ -240,6 +240,11 @@ void ctdb_db_statistics_push(struct ctdb_db_statistics *dbstats, void *buf); int ctdb_db_statistics_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx, struct ctdb_db_statistics **out); +size_t ctdb_pid_srvid_len(struct ctdb_pid_srvid *in); +void ctdb_pid_srvid_push(struct ctdb_pid_srvid *in, uint8_t *buf); +int ctdb_pid_srvid_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx, + struct ctdb_pid_srvid **out); + size_t ctdb_election_message_len(struct ctdb_election_message *election); void ctdb_election_message_push(struct ctdb_election_message *election, uint8_t *buf); diff --git a/ctdb/protocol/protocol_types.c b/ctdb/protocol/protocol_types.c index 4115e38..2fbfcdc 100644 --- a/ctdb/protocol/protocol_types.c +++ b/ctdb/protocol/protocol_types.c @@ -2394,6 +2394,53 @@ int ctdb_db_statistics_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx, return 0; } +size_t ctdb_pid_srvid_len(struct ctdb_pid_srvid *in) +{ + return ctdb_pid_len(in->pid) + + ctdb_uint64_len(in->srvid); +} + +void ctdb_pid_srvid_push(struct ctdb_pid_srvid *in, uint8_t *buf) +{ + size_t offset = 0; + + ctdb_pid_push(in->pid, buf+offset); + offset += ctdb_pid_len(in->pid); + + ctdb_uint64_push(in->srvid, buf+offset); +} + +int ctdb_pid_srvid_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx, + struct ctdb_pid_srvid **out) +{ + struct ctdb_pid_srvid *val; + size_t offset = 0; + int ret; + + val = talloc(mem_ctx, struct ctdb_pid_srvid); + if (val == NULL) { + return ENOMEM; + } + + ret = ctdb_pid_pull(buf+offset, buflen-offset, val, &val->pid); + if (ret != 0) { + goto fail; + } + offset += ctdb_pid_len(val->pid); + + ret = ctdb_uint64_pull(buf+offset, buflen-offset, val, &val->srvid); + if (ret != 0) { + goto fail; + } + + *out = val; + return 0; + +fail: + talloc_free(val); + return ret; +} + size_t ctdb_election_message_len(struct ctdb_election_message *election) { return sizeof(struct ctdb_election_message); diff --git a/ctdb/server/ctdb_control.c b/ctdb/server/ctdb_control.c index 4048443..6835cca 100644 --- a/ctdb/server/ctdb_control.c +++ b/ctdb/server/ctdb_control.c @@ -701,6 +701,10 @@ static int32_t ctdb_control_dispatch(struct ctdb_context *ctdb, return 0; } + case CTDB_CONTROL_CHECK_PID_SRVID: + CHECK_CONTROL_DATA_SIZE((sizeof(pid_t) + sizeof(uint64_t))); + return ctdb_control_check_pid_srvid(ctdb, indata); + default: DEBUG(DEBUG_CRIT,(__location__ " Unknown CTDB control opcode %u\n", opcode)); return -1; diff --git a/ctdb/server/ctdb_daemon.c b/ctdb/server/ctdb_daemon.c index 90f0e54..de38542 100644 --- a/ctdb/server/ctdb_daemon.c +++ b/ctdb/server/ctdb_daemon.c @@ -230,7 +230,7 @@ int daemon_check_srvids(struct ctdb_context *ctdb, TDB_DATA indata, return -1; } for (i=0; i<num_ids; i++) { - if (srvid_exists(ctdb->srv, ids[i]) == 0) { + if (srvid_exists(ctdb->srv, ids[i], NULL) == 0) { results[i/8] |= (1 << (i%8)); } } @@ -1813,6 +1813,32 @@ int32_t ctdb_control_process_exists(struct ctdb_context *ctdb, pid_t pid) return kill(pid, 0); } +int32_t ctdb_control_check_pid_srvid(struct ctdb_context *ctdb, + TDB_DATA indata) +{ + struct ctdb_client_pid_list *client_pid; + pid_t pid; + uint64_t srvid; + int ret; + + pid = *(pid_t *)indata.dptr; + srvid = *(uint64_t *)(indata.dptr + sizeof(pid_t)); + + for (client_pid = ctdb->client_pids; + client_pid != NULL; + client_pid = client_pid->next) { + if (client_pid->pid == pid) { + ret = srvid_exists(ctdb->srv, srvid, + client_pid->client); + if (ret == 0) { + return 0; + } + } + } + + return -1; +} + int ctdb_control_getnodesfile(struct ctdb_context *ctdb, uint32_t opcode, TDB_DATA indata, TDB_DATA *outdata) { struct ctdb_node_map_old *node_map = NULL; diff --git a/ctdb/server/ctdb_ltdb_server.c b/ctdb/server/ctdb_ltdb_server.c index d837838..c199aac 100644 --- a/ctdb/server/ctdb_ltdb_server.c +++ b/ctdb/server/ctdb_ltdb_server.c @@ -1206,7 +1206,7 @@ int32_t ctdb_control_db_attach(struct ctdb_context *ctdb, TDB_DATA indata, } /* tell all the other nodes about this database */ - ctdb_daemon_send_control(ctdb, CTDB_BROADCAST_ALL, 0, opcode, + ctdb_daemon_send_control(ctdb, CTDB_BROADCAST_CONNECTED, 0, opcode, 0, CTDB_CTRL_FLAG_NOREPLY, -- Samba Shared Repository