The branch, v4-5-stable has been updated via 30d823e VERSION: Disable git snapshots for the 4.5.0rc2 release. via 5ad65ec WHATSNEW: Add changes since rc1. via 6a9bdca dbwrap_ctdb: treat empty records in ltdb as non-existing via aa0522e s4/torture: add a test for ctdb-tombstrone-record deadlock via 449a0cf smbd: ignore ctdb tombstone records in fetch_share_mode_unlocked_parser() via fa0ffa2 dbwrap: Fix structure initialization via 3688305 buildscripts: Fix the regression with --without-acl-support. via a990608 source3/wscript: Add support for disabling vfs_cephfs via 5bcfc32 ctdb-daemon: Clean up SET_DB_PRIORITY/GET_DB_PRIORITY deprecation via ae5f9b0 ctdb-packaging: Stop RPM from renaming working config to ctdb.rpmsave via be449db ctdb-doc: Document that "ctdb tickle" can now read from stdin via 52bff15 ctdb-tools: "ctdb tickle" command should run without daemon via a009532 ctdb-tools: Cancel transaction on error or if commit fails via 34c3499 ctdb-client: transaction_cancel must free transaction handle via 533d7e1 ctdb-tools: Free temporary memory context before exiting via 661f901 ctdb-tools: Close tdb database on error via cab7216 ctdb-tools: Free connection list after processing it via aa3e881 ctdb-tools: Add early return for empty connection list via 08d6c26 ctdb-tools: Free tickle list before exiting via e7c2383 ctdb-tools: Free record if it does not contain valid data via c1dfac0 ctdb-tools: Fix CID 1364706 - resource leak via 66bf88a ctdb-tools: Fix CID 1364705 - resource leak via 15c6776 ctdb-tools: Fix CID 1364704 - resource leak via 5e6bcb9 ctdb-tools: Fix CID 1364703 - resource leak via dcae848 ctdb-tools: Fix CID 1364702 - resource leak via a6b4f12 ctdb-tools: Fix CID 1364701 - resource leak via f0fe4f1 ctdb-tools: Fix CID 1364699 - dereference after null check via fe1ca7a ctdb-mutex: Avoid corner case where helper is already reparented to init via 00d2d4b ctdb-daemon: Fix CID 1125627 Resource leak (RESOURCE_LEAK) via fb3314f ctdb-common: Fix CID 1125585 Dereference after null check (FORWARD_NULL) via 6e8863b ctdb-common: Fix CID 1125583 Dereference after null check (FORWARD_NULL) via 9f0b1e1 ctdb-common: Fix CID 1125581 Dereference after null check (FORWARD_NULL) via 29c0b81 ctdb-tests: Fix CID 1361816 Buffer not null terminated (BUFFER_SIZE_WARNING) via f002457 ctdb-common: Fix CID 1363227 Resource leak (RESOURCE_LEAK) via 2ffc301 ctdb-mutex: Fix CID 1359217 Resource leak (RESOURCE_LEAK) via 96395c2 ctdb-daemon: Fix CID 1363067 Resource leak (RESOURCE_LEAK) via 5d77e76 ctdb-daemon: Fix CID 1363233 Resource leak (RESOURCE_LEAK) via a614e60 ctdb-utils: Fix CID 1297451 Explicit null dereferenced (FORWARD_NULL) via 2c8c82d ctdb-common: Consistently use strlcpy() on interface names via 13301d8 ctdb-common: Fix CID 1125553 Buffer not null terminated (BUFFER_SIZE_WARNING) via 38d8bcf ctdb-tests: Add explicit wait to the fork_helper() via 35f777c ctdb-tests: Clean up and rename simple transaction_loop recovery test via ea6a976 ctdb-tests: Clean up and rename simple transaction_loop test via 106e572 ctdb-tests: Implement --interactive/-i option in transaction_loop via 21cbbb1 ctdb-tests: Clean up and rename simple fetch_ring test via 10e66ef ctdb-tests: Implement --interactive/-i option in fetch ring via 8817849 ctdb-tests: Clean up and rename simple message_ring test via 0686be6 ctdb-tests: Implement --interactive/-i option in message_ring via c026a38 ctdb-tests: Add --interactive/-i option to test options parsing code via a772738 ctdb-tests: Stop cross-talk between reclock tests via 70a1836 ctdb-packaging: Move ctdb tests to libexec directory via ca1ef4d ctdb-waf: Move ctdb tests to libexec directory via 0791bd6 man: Wrong option for parameter ldap ssl in smb.conf man page via 3cf958d async_req: make async_connect_send() "reentrant" via d4e5992 docs: Bump version up to 4.5. via de3d1f3 WHATSNEW: Start release notes for Samba 4.5.0rc2. via de4eaf9 VERSION: Bump version up to 4.5.0rc2... from 955dec2 VERSION: Set version to 4.5.0rc1...
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-5-stable - Log ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: VERSION | 2 +- WHATSNEW.txt | 138 +++++++++++++-------- ctdb/client/client_db.c | 3 + ctdb/common/rb_tree.c | 6 +- ctdb/common/system_linux.c | 8 +- ctdb/common/system_util.c | 1 + ctdb/doc/cluster_mutex_helper.txt | 3 +- ctdb/doc/ctdb.1.xml | 23 +++- ctdb/packaging/RPM/ctdb.spec.in | 15 ++- ctdb/server/ctdb_control.c | 4 +- ctdb/server/ctdb_logging.c | 9 +- ctdb/server/ctdb_mutex_fcntl_helper.c | 24 +++- ctdb/server/ctdb_recover.c | 2 + ctdb/tests/eventscripts/scripts/local.sh | 11 ++ ctdb/tests/simple/51_ctdb_bench.sh | 92 -------------- ctdb/tests/simple/51_message_ring.sh | 66 ++++++++++ ctdb/tests/simple/52_ctdb_fetch.sh | 64 ---------- ctdb/tests/simple/52_fetch_ring.sh | 46 +++++++ ..._ctdb_transaction.sh => 53_transaction_loop.sh} | 15 +-- ...recovery.sh => 54_transaction_loop_recovery.sh} | 18 +-- ctdb/tests/src/fake_ctdbd.c | 4 +- ctdb/tests/src/fetch_ring.c | 15 ++- ctdb/tests/src/message_ring.c | 19 +-- ctdb/tests/src/porting_tests.c | 17 +-- ctdb/tests/src/test_options.c | 3 + ctdb/tests/src/test_options.h | 1 + ctdb/tests/src/transaction_loop.c | 19 ++- ctdb/tools/ctdb.c | 56 +++++++-- ctdb/utils/ping_pong/ping_pong.c | 4 +- ctdb/wscript | 24 ++-- docs-xml/manpages/cifsdd.8.xml | 2 +- docs-xml/manpages/dbwrap_tool.1.xml | 2 +- docs-xml/manpages/eventlogadm.8.xml | 2 +- docs-xml/manpages/findsmb.1.xml | 2 +- docs-xml/manpages/idmap_ad.8.xml | 2 +- docs-xml/manpages/idmap_autorid.8.xml | 2 +- docs-xml/manpages/idmap_hash.8.xml | 2 +- docs-xml/manpages/idmap_ldap.8.xml | 2 +- docs-xml/manpages/idmap_nss.8.xml | 2 +- docs-xml/manpages/idmap_rfc2307.8.xml | 2 +- docs-xml/manpages/idmap_rid.8.xml | 2 +- docs-xml/manpages/idmap_script.8.xml | 2 +- docs-xml/manpages/idmap_tdb.8.xml | 2 +- docs-xml/manpages/idmap_tdb2.8.xml | 2 +- docs-xml/manpages/libsmbclient.7.xml | 2 +- docs-xml/manpages/lmhosts.5.xml | 2 +- docs-xml/manpages/log2pcap.1.xml | 2 +- docs-xml/manpages/net.8.xml | 2 +- docs-xml/manpages/nmbd.8.xml | 2 +- docs-xml/manpages/nmblookup.1.xml | 2 +- docs-xml/manpages/ntlm_auth.1.xml | 2 +- docs-xml/manpages/pam_winbind.8.xml | 2 +- docs-xml/manpages/pam_winbind.conf.5.xml | 2 +- docs-xml/manpages/pdbedit.8.xml | 2 +- docs-xml/manpages/profiles.1.xml | 2 +- docs-xml/manpages/rpcclient.1.xml | 2 +- docs-xml/manpages/samba-regedit.8.xml | 2 +- docs-xml/manpages/samba-tool.8.xml | 2 +- docs-xml/manpages/samba.7.xml | 2 +- docs-xml/manpages/samba.8.xml | 2 +- docs-xml/manpages/sharesec.1.xml | 2 +- docs-xml/manpages/smb.conf.5.xml | 2 +- docs-xml/manpages/smbcacls.1.xml | 2 +- docs-xml/manpages/smbclient.1.xml | 2 +- docs-xml/manpages/smbcontrol.1.xml | 2 +- docs-xml/manpages/smbcquotas.1.xml | 2 +- docs-xml/manpages/smbd.8.xml | 2 +- docs-xml/manpages/smbget.1.xml | 2 +- docs-xml/manpages/smbgetrc.5.xml | 2 +- docs-xml/manpages/smbpasswd.5.xml | 2 +- docs-xml/manpages/smbpasswd.8.xml | 2 +- docs-xml/manpages/smbspool.8.xml | 2 +- docs-xml/manpages/smbspool_krb5_wrapper.8.xml | 2 +- docs-xml/manpages/smbstatus.1.xml | 2 +- docs-xml/manpages/smbtar.1.xml | 2 +- docs-xml/manpages/smbtree.1.xml | 2 +- docs-xml/manpages/testparm.1.xml | 2 +- docs-xml/manpages/vfs_acl_tdb.8.xml | 2 +- docs-xml/manpages/vfs_acl_xattr.8.xml | 2 +- docs-xml/manpages/vfs_aio_fork.8.xml | 2 +- docs-xml/manpages/vfs_aio_linux.8.xml | 2 +- docs-xml/manpages/vfs_aio_pthread.8.xml | 2 +- docs-xml/manpages/vfs_audit.8.xml | 2 +- docs-xml/manpages/vfs_btrfs.8.xml | 2 +- docs-xml/manpages/vfs_cacheprime.8.xml | 2 +- docs-xml/manpages/vfs_cap.8.xml | 2 +- docs-xml/manpages/vfs_catia.8.xml | 2 +- docs-xml/manpages/vfs_ceph.8.xml | 2 +- docs-xml/manpages/vfs_commit.8.xml | 2 +- docs-xml/manpages/vfs_crossrename.8.xml | 2 +- docs-xml/manpages/vfs_default_quota.8.xml | 2 +- docs-xml/manpages/vfs_dirsort.8.xml | 2 +- docs-xml/manpages/vfs_extd_audit.8.xml | 2 +- docs-xml/manpages/vfs_fake_perms.8.xml | 2 +- docs-xml/manpages/vfs_fileid.8.xml | 2 +- docs-xml/manpages/vfs_fruit.8.xml | 2 +- docs-xml/manpages/vfs_full_audit.8.xml | 2 +- docs-xml/manpages/vfs_glusterfs.8.xml | 2 +- docs-xml/manpages/vfs_gpfs.8.xml | 2 +- docs-xml/manpages/vfs_linux_xfs_sgid.8.xml | 2 +- docs-xml/manpages/vfs_media_harmony.8.xml | 2 +- docs-xml/manpages/vfs_netatalk.8.xml | 2 +- docs-xml/manpages/vfs_offline.8.xml | 2 +- docs-xml/manpages/vfs_prealloc.8.xml | 2 +- docs-xml/manpages/vfs_preopen.8.xml | 2 +- docs-xml/manpages/vfs_readahead.8.xml | 2 +- docs-xml/manpages/vfs_readonly.8.xml | 2 +- docs-xml/manpages/vfs_recycle.8.xml | 2 +- docs-xml/manpages/vfs_shadow_copy.8.xml | 2 +- docs-xml/manpages/vfs_shadow_copy2.8.xml | 2 +- docs-xml/manpages/vfs_shell_snap.8.xml | 2 +- docs-xml/manpages/vfs_snapper.8.xml | 2 +- docs-xml/manpages/vfs_streams_depot.8.xml | 2 +- docs-xml/manpages/vfs_streams_xattr.8.xml | 2 +- docs-xml/manpages/vfs_syncops.8.xml | 2 +- docs-xml/manpages/vfs_time_audit.8.xml | 2 +- docs-xml/manpages/vfs_tsmsm.8.xml | 2 +- docs-xml/manpages/vfs_unityed_media.8.xml | 2 +- docs-xml/manpages/vfs_worm.8.xml | 2 +- docs-xml/manpages/vfs_xattr_tdb.8.xml | 2 +- docs-xml/manpages/vfs_zfsacl.8.xml | 2 +- docs-xml/manpages/vfstest.1.xml | 2 +- docs-xml/manpages/wbinfo.1.xml | 2 +- docs-xml/manpages/winbind_krb5_locator.7.xml | 2 +- docs-xml/manpages/winbindd.8.xml | 2 +- docs-xml/smbdotconf/ldap/ldapssl.xml | 4 +- lib/async_req/async_sock.c | 16 ++- source3/lib/dbwrap/dbwrap_ctdb.c | 27 +++- source3/lib/dbwrap/dbwrap_watch.c | 3 +- source3/locking/share_mode_lock.c | 6 + source3/modules/wscript_build | 1 + source3/wscript | 16 ++- source4/torture/smb2/lock.c | 64 ++++++++++ 133 files changed, 625 insertions(+), 414 deletions(-) delete mode 100755 ctdb/tests/simple/51_ctdb_bench.sh create mode 100755 ctdb/tests/simple/51_message_ring.sh delete mode 100755 ctdb/tests/simple/52_ctdb_fetch.sh create mode 100755 ctdb/tests/simple/52_fetch_ring.sh rename ctdb/tests/simple/{53_ctdb_transaction.sh => 53_transaction_loop.sh} (61%) rename ctdb/tests/simple/{54_ctdb_transaction_recovery.sh => 54_transaction_loop_recovery.sh} (71%) Changeset truncated at 500 lines: diff --git a/VERSION b/VERSION index 3f0298b..d2dedc2 100644 --- a/VERSION +++ b/VERSION @@ -87,7 +87,7 @@ SAMBA_VERSION_PRE_RELEASE= # e.g. SAMBA_VERSION_RC_RELEASE=1 # # -> "3.0.0rc1" # ######################################################## -SAMBA_VERSION_RC_RELEASE=1 +SAMBA_VERSION_RC_RELEASE=2 ######################################################## # To mark SVN snapshots this should be set to 'yes' # diff --git a/WHATSNEW.txt b/WHATSNEW.txt index 25da528..f5b693a 100644 --- a/WHATSNEW.txt +++ b/WHATSNEW.txt @@ -1,7 +1,7 @@ Release Announcements ===================== -This is the first preview release of Samba 4.5. This is *not* +This is the second release candidate of Samba 4.5. This is *not* intended for production environments and is designed for testing purposes only. Please report any defects via the Samba bug reporting system at https://bugzilla.samba.org/. @@ -18,11 +18,11 @@ NTLMv1 authentication disabled by default In order to improve security we have changed the default value for the "ntlm auth" option from "yes" to "no". This may have impact on very old -client which doesn't support NTLMv2 yet. +clients which doesn't support NTLMv2 yet. The primary user of NTLMv1 is MSCHAPv2 for VPNs and 802.1x. -By default Samba will only allow NTLMv2 via NTLMSSP now, +By default, Samba will only allow NTLMv2 via NTLMSSP now, as we have the following default "lanman auth = no", "ntlm auth = no" and "raw NTLMv2 auth = no". @@ -34,7 +34,7 @@ Support for LDAP_SERVER_NOTIFICATION_OID ---------------------------------------- The ldap server has support for the LDAP_SERVER_NOTIFICATION_OID -control. This can be used to monitor the active directory database +control. This can be used to monitor the Active Directory database for changes. KCC improvements for sparse network replication @@ -72,7 +72,7 @@ Schema updates are also handled much more reliably. samba-tool drs replicate with new options ----------------------------------------- -samba-tool drs replicate got two new options: +'samba-tool drs replicate' got two new options: The option '--local-online' will do the DsReplicaSync() via IRPC to the local dreplsrv service. @@ -85,7 +85,7 @@ replPropertyMetaData Changes During the development of the DRS replication, tests showed that Samba stores the replPropertyMetaData object incorrectly. To address this, -be aware that dbcheck will now detect and offer to fix all objects in +be aware that 'dbcheck' will now detect and offer to fix all objects in the domain for this error. Linked attributes on deleted objects @@ -93,7 +93,7 @@ Linked attributes on deleted objects In Active Directory, an object that has been tombstoned or recycled has no linked attributes. However, Samba incorrectly maintained such -links, slowing replication and run-time performance. dbcheck now +links, slowing replication and run-time performance. 'dbcheck' now offers to remove such links, and they are no longer kept after the object is tombstoned or recycled. @@ -101,13 +101,13 @@ Improved AD DC performance -------------------------- Many other improvements have been made to our LDAP database layer in -the AD DC, to improve performance, both during samba-tool domain -provision and at runtime. +the AD DC, to improve performance, both during 'samba-tool domain +provision' and at runtime. Other dbcheck improvements -------------------------- - - samba-tool dbcheck can now find and fix a missing or corrupted + - 'samba-tool dbcheck' can now find and fix a missing or corrupted 'deleted objects' container. - BUG 11433: samba-dbcheck no longer offers to resort auxiliary class values in objectClass as these were then re-sorted at the next dbcheck indefinitely. @@ -123,19 +123,18 @@ Multiple DNS Forwarders on the AD DC ------------------------------------ Multiple DNS forwarders are now supported on the AD DC, allowing -samba to fall back between two different DNS servers for forwarded queries. +Samba to fall back between two different DNS servers for forwarded queries. Password quality plugin support in the AD DC -------------------------------------------- -The check password script now operates correctly in the AD DC (this -was silently ignored in past releases) +The check password script now operates correctly in the AD DC. pwdLastSet is now correctly honoured ------------------------------------ -BUG 9654: the pwdLastSet attribute is now correctly handled (this previously -permitted passwords that next expire). +BUG 9654: The pwdLastSet attribute is now correctly handled (this previously +permitted passwords that expire next). net ads dns unregister ---------------------- @@ -143,10 +142,10 @@ net ads dns unregister It is now possible to remove the DNS entries created with 'net ads register' with the matching 'net ads unregister' command. -Samba-tool improvements +samba-tool improvements ------------------------ -Running samba-tool on the command line should now be a lot snappier. The tool +Running 'samba-tool' on the command line should now be a lot snappier. The tool now only loads the code specific to the subcommand that you wish to run. SMB 2.1 Leases enabled by default @@ -169,7 +168,7 @@ descriptors having file locks are opened onto the same file. An internal tunable "smbd:force process locks = true" may be used to turn off OFD locks if there appear to be problems with them. -Password sync as active directory domain controller +Password sync as Active Directory domain controller --------------------------------------------------- The new commands 'samba-tool user getpassword' @@ -180,71 +179,71 @@ If compiled with GPGME support (--with-gpgme) it's possible to store cleartext passwords in a PGP/OpenGPG encrypted form by configuring the new "password hash gpg key ids" option. This requires gpgme devel and python packages to be installed -(e.g. libgpgme11-dev and python-gpgme on debian/ubuntu). +(e.g. libgpgme11-dev and python-gpgme on Debian/Ubuntu). Python crypto requirements -------------------------- -Some samba-tool subcommands require python-crypto and/or +Some 'samba-tool' subcommands require python-crypto and/or python-m2crypto packages to be installed. SmartCard/PKINIT improvements ----------------------------- -"samba-tool user create" accepts --smartcard-required -and "samba-tool user setpassword" accepts --smartcard-required -and --clear-smartcard-required. +'samba-tool user create' accepts "--smartcard-required" +and 'samba-tool user setpassword' accepts "--smartcard-required" +and "--clear-smartcard-required". -Specifying --smartcard-required results in the UF_SMARTCARD_REQUIRED +Specifying "--smartcard-required" results in the UF_SMARTCARD_REQUIRED flags being set in the userAccountControl attribute. -At the same time the account password is reset to a random +At the same time, the account password is reset to a random NTHASH value. Interactive password logons are rejected, if the UF_SMARTCARD_REQUIRED bit is set in the userAccountControl attribute of a user. -When doing a PKINIT based kerberos logon the KDC adds the +When doing a PKINIT based Kerberos logon the KDC adds the required PAC_CREDENTIAL_INFO element to the authorization data. That means the NTHASH is shared between the PKINIT based client and the domain controller, which allows the client to do NTLM based -authentication on behalf of the user. It also allows on offline +authentication on behalf of the user. It also allows an offline logon using a smartcard to work on Windows clients. CTDB changes ------------ -* New improved ctdb tool +* New improved 'ctdb tool' - ctdb tool has been completely rewritten using new client API. + 'ctdb tool' has been completely rewritten using new client API. Usage messages are much improved. * Sample CTDB configuration file is installed as ctdbd.conf. * The use of real-time scheduling when taking locks has been narrowed - to limit potential performance impacts on nodes + to limit potential performance impacts on nodes. * CTDB_RECOVERY_LOCK now supports specification of an external helper - to take and hold the recovery lock + to take and hold the recovery lock. See the RECOVERY LOCK section in ctdb(7) for details. Documentation for writing helpers is provided in doc/cluster_mutex_helper.txt. * "ctdb natgwlist" has been replaced by a top level "ctdb natgw" - command that has "master", "list" and "status" subcommands + command that has "master", "list" and "status" subcommands. -* The onnode command no longer supports the "recmaster", "lvs" and - "natgw" node specifications +* The 'onnode' command no longer supports the "recmaster", "lvs" and + "natgw" node specifications. * Faster resetting of TCP connections to public IP addresses during - failover + failover. * Tunables MaxRedirectCount, ReclockPingPeriod, - DeferredRebalanceOnNodeAdd are now obsolete/ignored + DeferredRebalanceOnNodeAdd are now obsolete/ignored. -* "ctdb listvars" now lists all variables, including the first one +* "ctdb listvars" now lists all variables, including the first one. * "ctdb xpnn", "ctdb rebalanceip" and "ctdb rebalancenode" have been - removed + removed. These are not needed because "ctdb reloadips" should do the correct rebalancing. @@ -270,30 +269,30 @@ CTDB changes ctdb setdebug ctdb uptime -* "ctdb process-exists" has been updated to only take a PID argument +* 'ctdb process-exists' has been updated to only take a PID argument. The PNN can be specified with -n <PNN>. Output also cleaned up. * LVS support has been reworked - related commands and configuration - variables have changed + variables have changed. - "ctdb lvsmaster" and "ctdb lvs" have been replaced by a top level - "ctdb lvs" command that has "master", "list" and "status" + 'ctdb lvsmaster' and 'ctdb lvs' have been replaced by a top level + 'ctdb lvs' command that has 'master', 'list' and 'status' subcommands. See the LVS sections in ctdb(7) and ctdbd.conf(5) for details, including configuration changes. -* Improved sample NFS Ganesha call-out +* Improved sample NFS Ganesha call-out. New shadow_copy2 options ------------------------ -shadow:snapprefix +* shadow:snapprefix With growing number of snapshots file-systems need some mechanism to differentiate one set of snapshots from other, e.g. monthly, weekly, manual, - special events, etc. Therefore these file-systems provide different ways to tag + special events, etc. Therefore, these file-systems provide different ways to tag snapshots, e.g. provide a configurable way to name snapshots, which is not just based on time. With only shadow:format it is very difficult to filter these snapshots. With this optional parameter, one can specify a variable prefix @@ -302,10 +301,10 @@ shadow:snapprefix parameters it determines the possible names of snapshot directories in the file-system. The option only supports Basic Regular Expression (BRE). -shadow:delimiter +* shadow:delimiter - This optional parameter is used as a delimiter between shadow:snapprefix and - shadow:format This parameter is used only when shadow:snapprefix is set. + This optional parameter is used as a delimiter between "shadow:snapprefix" and + "shadow:format". This parameter is used only when "shadow:snapprefix" is set. Default: shadow:delimiter = "_GMT" @@ -313,8 +312,9 @@ shadow:delimiter REMOVED FEATURES ================ -only user and username parameters ---------------------------------- +"only user" and "username" parameters +------------------------------------- + These two parameters have long been deprecated and superseded by "valid users" and "invalid users". @@ -337,7 +337,43 @@ smb.conf changes KNOWN ISSUES ============ -Currently none. +https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.5#All_bugs + + +CHANGES SINCE 4.5.0rc1 +====================== + +o Ralph Boehme <s...@samba.org> + * BUG 12005: parse_share_modes() chokes on ctdb tombstone record from ltdb. + * BUG 12105: smbclient connection to not reachable IP eats 100% CPU. + +o Ira Cooper <i...@samba.org> + * BUG 12133: source3/wscript: Add support for disabling vfs_cephfs. + +o Amitay Isaacs <ami...@gmail.com> + * BUG 12121: ctdb-tools: Fix numerous Coverity IDs and other issues. + * BUG 12122: If a transaction fails, it should be canceled and transaction + handle should be freed. + * BUG 12134: dbwrap: Fix structure initialization. + +o Marc Muehlfeld <mmuehlf...@samba.org> + * BUG 12023: man: Fix wrong option for parameter "ldap ssl" in smb.conf + man page. + +o Andreas Schneider <a...@samba.org> + * BUG 12104: ctdb-waf: Move ctdb tests to libexec directory. + +o Martin Schwenke <mar...@meltin.net> + * BUG 12104: ctdb-packaging: Move ctdb tests to libexec directory. + * BUG 12109: Fixes several CTDB tests. + * BUG 12110: Fix numerous Coverity IDs. + * BUG 12113: ctdb-mutex: Avoid corner case where helper is already + reparented to init. + * BUG 12123: Fix ctdb tickle command and update documentation. + * BUG 12125: CTDB overwrites working configuration due to packaging + change. + * BUG 12126: Fix broken CTDB log messages. + ####################################### Reporting bugs & Development Discussion diff --git a/ctdb/client/client_db.c b/ctdb/client/client_db.c index 98de1b8..794119d 100644 --- a/ctdb/client/client_db.c +++ b/ctdb/client/client_db.c @@ -2304,6 +2304,7 @@ static void ctdb_transaction_cancel_done(struct tevent_req *subreq) DEBUG(DEBUG_ERR, ("transaction_cancel: %s g_lock unlock failed, ret=%d\n", state->h->db->db_name, ret)); + talloc_free(state->h); tevent_req_error(req, ret); return; } @@ -2336,6 +2337,7 @@ int ctdb_transaction_cancel(struct ctdb_transaction_handle *h) mem_ctx = talloc_new(NULL); if (mem_ctx == NULL) { + talloc_free(h); return ENOMEM; } @@ -2343,6 +2345,7 @@ int ctdb_transaction_cancel(struct ctdb_transaction_handle *h) tevent_timeval_zero(), h); if (req == NULL) { talloc_free(mem_ctx); + talloc_free(h); return ENOMEM; } diff --git a/ctdb/common/rb_tree.c b/ctdb/common/rb_tree.c index 1c602a7..990ec61 100644 --- a/ctdb/common/rb_tree.c +++ b/ctdb/common/rb_tree.c @@ -216,21 +216,21 @@ static inline int trbt_get_color_right(trbt_node_t *node) /* setting a NULL node to black is a nop */ static inline void trbt_set_color(trbt_node_t *node, int color) { - if ( (node==NULL) && (color==TRBT_BLACK) ) { + if (node == NULL) { return; } node->rb_color = color; } static inline void trbt_set_color_left(trbt_node_t *node, int color) { - if ( ((node==NULL)||(node->left==NULL)) && (color==TRBT_BLACK) ) { + if (node == NULL || node->left == NULL) { return; } node->left->rb_color = color; } static inline void trbt_set_color_right(trbt_node_t *node, int color) { - if ( ((node==NULL)||(node->right==NULL)) && (color==TRBT_BLACK) ) { + if (node == NULL || node->right == NULL) { return; } node->right->rb_color = color; diff --git a/ctdb/common/system_linux.c b/ctdb/common/system_linux.c index ef78df8..b66ce67 100644 --- a/ctdb/common/system_linux.c +++ b/ctdb/common/system_linux.c @@ -116,7 +116,7 @@ int ctdb_sys_send_arp(const ctdb_sock_addr *addr, const char *iface) } /* get the mac address */ - strncpy(if_hwaddr.ifr_name, iface, sizeof(if_hwaddr.ifr_name)-1); + strlcpy(if_hwaddr.ifr_name, iface, sizeof(if_hwaddr.ifr_name)); ret = ioctl(s, SIOCGIFHWADDR, &if_hwaddr); if ( ret < 0 ) { close(s); @@ -202,7 +202,7 @@ int ctdb_sys_send_arp(const ctdb_sock_addr *addr, const char *iface) } DEBUG(DEBUG_DEBUG, (__location__ " Created SOCKET FD:%d for sending arp\n", s)); - strncpy(ifr.ifr_name, iface, sizeof(ifr.ifr_name)); + strlcpy(ifr.ifr_name, iface, sizeof(ifr.ifr_name)); if (ioctl(s, SIOCGIFINDEX, &ifr) < 0) { DEBUG(DEBUG_CRIT,(__location__ " interface '%s' not found\n", iface)); close(s); @@ -210,7 +210,7 @@ int ctdb_sys_send_arp(const ctdb_sock_addr *addr, const char *iface) } /* get the mac address */ - strncpy(if_hwaddr.ifr_name, iface, sizeof(if_hwaddr.ifr_name)-1); + strlcpy(if_hwaddr.ifr_name, iface, sizeof(if_hwaddr.ifr_name)); ret = ioctl(s, SIOCGIFHWADDR, &if_hwaddr); if ( ret < 0 ) { close(s); @@ -602,7 +602,7 @@ bool ctdb_sys_check_iface_exists(const char *iface) return true; } - strncpy(ifr.ifr_name, iface, sizeof(ifr.ifr_name)-1); + strlcpy(ifr.ifr_name, iface, sizeof(ifr.ifr_name)); if (ioctl(s, SIOCGIFINDEX, &ifr) < 0 && errno == ENODEV) { DEBUG(DEBUG_CRIT,(__location__ " interface '%s' not found\n", iface)); close(s); diff --git a/ctdb/common/system_util.c b/ctdb/common/system_util.c index ea53f5d..9fc6c44 100644 --- a/ctdb/common/system_util.c +++ b/ctdb/common/system_util.c @@ -420,6 +420,7 @@ int ctdb_parse_connections(FILE *fp, TALLOC_CTX *mem_ctx, if (ret != 2) { DEBUG(DEBUG_ERR, ("Bad line [%d]: %s\n", line_num, line)); + talloc_free(conn); return EINVAL; } diff --git a/ctdb/doc/cluster_mutex_helper.txt b/ctdb/doc/cluster_mutex_helper.txt index 0fc3a50..20c8eb2 100644 --- a/ctdb/doc/cluster_mutex_helper.txt +++ b/ctdb/doc/cluster_mutex_helper.txt @@ -64,7 +64,8 @@ Valid status codes are: If a 0 status code is sent then it the helper should periodically check if the (original) parent processes still exists while awaiting termination. If the parent process disappears then the helper should -release the mutex and exit. This avoids stale mutexes. +release the mutex and exit. This avoids stale mutexes. Note that a +helper should never wait for parent process ID 1! If a non-0 status code is sent then the helper can exit immediately. However, if the helper does not exit then it must terminate if it diff --git a/ctdb/doc/ctdb.1.xml b/ctdb/doc/ctdb.1.xml index 7878c4c..9324813 100644 --- a/ctdb/doc/ctdb.1.xml +++ b/ctdb/doc/ctdb.1.xml @@ -1440,13 +1440,24 @@ RUNNING </refsect2> <refsect2> - <title>tickle <parameter>SRC-IPADDR</parameter>:<parameter>SRC-PORT</parameter> <parameter>DST-IPADDR</parameter>:<parameter>DST-PORT</parameter></title> + <title>tickle</title> <para> - Send a TCP tickle to the source host for the specified TCP - connection. A TCP tickle is a TCP ACK packet with an invalid - sequence and acknowledge number and will when received by the - source host result in it sending an immediate correct ACK back - to the other end. + Read a list of TCP connections, one per line, from standard + input and send a TCP tickle to the source host for each + connection. A connection is specified as: + </para> + <synopsis> + <parameter>SRC-IPADDR</parameter>:<parameter>SRC-PORT</parameter> <parameter>DST-IPADDR</parameter>:<parameter>DST-PORT</parameter> + </synopsis> + <para> + A single connection can be specified on the command-line + rather than on standard input. + </para> + <para> + A TCP tickle is a TCP ACK packet with an invalid sequence and + acknowledge number and will when received by the source host + result in it sending an immediate correct ACK back to the + other end. </para> <para> TCP tickles are useful to "tickle" clients after a IP failover has diff --git a/ctdb/packaging/RPM/ctdb.spec.in b/ctdb/packaging/RPM/ctdb.spec.in index b439e27..ea97d8e 100644 -- Samba Shared Repository