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

Reply via email to