lib: Fix a pointless error check
[samba.git] / WHATSNEW.txt
index 4b1f0fe2090ae28623c9f375b84d3197a29adb54..25da5286135f9fdfbab9651d3d9dc09aa66333c7 100644 (file)
-What's new in Samba 4.0 beta8
-=============================
+Release Announcements
+=====================
 
-Samba 4.0 will be the next version of the Samba suite and incorporates
-all the technology found in both the Samba4 alpha series and the
-stable 3.x series. The primary additional features over Samba 3.6 are
-support for the Active Directory logon protocols used by Windows 2000
-and above.
+This is the first preview release 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/.
 
+Samba 4.5 will be the next version of the Samba suite.
 
-WARNINGS
-========
 
-Samba 4.0 beta8 is not a final Samba release, however we are now making
-good progress towards a Samba 4.0 release.  However, this is expected to be the
-last beta release before we start on our release candidate series.
+UPGRADING
+=========
 
-This release contains the best of all of Samba's
-technology parts, both a file server (that you can reasonably expect
-to upgrade existing Samba 3.x releases to) and the AD domain
-controller work previously known as 'samba4'.
+NTLMv1 authentication disabled by default
+-----------------------------------------
 
-Samba 4.0 is subjected to an awesome battery of tests on an automated
-basis, we have found Samba 4.0 to be very stable in it's behaviour.
-However, as with all our pre-releases we still recommend against
-upgrading production servers from Samba 3.x release to Samba 4.0 beta
-at this stage.
+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.
 
-If you are upgrading, or looking to develop, test or deploy Samba 4.0
-beta releases, you should backup all configuration and data.
+The primary user of NTLMv1 is MSCHAPv2 for VPNs and 802.1x.
 
+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".
 
-UPGRADING
-=========
 
-Users upgrading from Samba 3.x domain controllers and wanting to use
-Samba 4.0 as an AD DC should use the 'samba-tool domain
-classicupgrade' command.  See the wiki for more details:
-https://wiki.samba.org/index.php/Samba4/samba3upgrade/HOWTO 
+NEW FEATURES/CHANGES
+====================
 
-Users upgrading from Samba 4.0 alpha and beta releases since alpha15
-should run 'samba-tool dbcheck --cross-ncs --fix' before re-starting
-Samba.  Users upgrading from earlier alpha releases should contact the
-team for advice.
+Support for LDAP_SERVER_NOTIFICATION_OID
+----------------------------------------
 
-Users upgrading an AD DC from any previous release should run
-'samba-tool ntacl sysvolreset' to re-sync ACLs on the sysvol share
-with those matching the GPOs in LDAP and the defaults from an initial
-provision.  This will set an underlying POSIX ACL if required (eg not
-using the NTVFS file server).
+The ldap server has support for the LDAP_SERVER_NOTIFICATION_OID
+control. This can be used to monitor the active directory database
+for changes.
 
-NEW FEATURES
-============
+KCC improvements for sparse network replication
+-----------------------------------------------
 
-Samba 4.0 beta supports the server-side of the Active Directory logon
-environment used by Windows 2000 and later, so we can do full domain
-join and domain logon operations with these clients.
-
-Our Domain Controller (DC) implementation includes our own built-in
-LDAP server and Kerberos Key Distribution Center (KDC) as well as the
-Samba3-like logon services provided over CIFS.  We correctly generate
-the infamous Kerberos PAC, and include it with the Kerberos tickets we
-issue.
-
-Samba 4.0 beta ships with two distinct file servers.  We now use the
-file server from the Samba 3.x series 'smbd' for all file serving by
-default.
-
-Samba 4.0 also ships with the 'NTVFS' file server.  This file server
-is what was used in all previous alpha releases of Samba 4.0, and is
-tuned to match the requirements of an AD domain controller.  We
-continue to support this, not only to provide continuity to
-installations that have deployed it as part of an AD DC, but also as a
-running example of the NT-FSA architecture we expect to move smbd to in
-the longer term.  
-
-For pure file server work, the binaries users would expect from that
-series (nmbd, winbindd, smbpasswd) continue to be available.  When
-running an AD DC, you only need to run 'samba' (not
-nmbd/smbd/winbind), as the required services are co-coordinated by this
-master binary.
-
-As DNS is an integral part of Active Directory, we also provide a DNS
-solution, using the BIND DLZ mechanism in versions 9.8 and 9.9.
-During the provision, a configuration file will be generated for bind
-to make it use this plugin.  We also have a project to provide a
-minimal internal DNS server from within the Samba process, for easier
-'out of the box' configuration.  Note however that this is not yet
-complete (pending addition of secure DNS update support).
-
-To provide accurate timestamps to Windows clients, we integrate with
-the NTP project to provide secured NTP replies.  To use you need to
-start ntpd and configure it with the 'restrict ... ms-sntp' and
-ntpsigndsocket options.
-
-Finally, a new scripting interface has been added to Samba 4, allowing
-Python programs to interface to Samba's internals, and many tools and
-internal workings of the DC code is now implemented in python.
-
-
-CHANGES SINCE beta7
-=====================
+The Samba KCC will now be the default knowledge consistency checker in
+Samba AD. Instead of using full mesh replication between every DC, the
+KCC will set up connections to optimize replication latency and cost
+(using site links to calculate the routes). This change should allow
+larger domains to function significantly better in terms of replication
+traffic and the time spent performing DRS replication.
 
-For a list of changes since beta7, please see the git log.
+VLV - Virtual List View
+-----------------------
 
-$ git clone git://git.samba.org/samba.git
-$ cd samba.git
-$ git log samba-4.0.0beta7..samba-4.0.0beta8
+The VLV Control allows applications to page the LDAP directory in the
+way you might expect a live phone book application to operate, without
+first downloading the entire directory.
 
-Some major user-visible changes include:
+DRS Replication for the AD DC
+-----------------------------
 
-- A fix for a segfault/abort on startup of the 'samba' binary in the
-  credentials_secrets code. 
+DRS Replication in Samba 4.5 is now much more efficient in handling
+linked attributes, particularly in large domains with over 1000 group
+memberships or other links.
 
-- A fix for samba-tool classicupgrade of pdb_ldap-based domains
+Replication is also much more reliable in the handling of tree
+renames, such as the rename of an organizational unit containing many
+users.  Extensive tests have been added to ensure this code remains
+reliable, particularly in the case of conflicts between objects added
+with the same name on different servers.
 
-- A fix for samba-tool domain exportkeyab only exporting DES keys
+Schema updates are also handled much more reliably.
 
-- Printing is now enabled on the AD DC
+samba-tool drs replicate with new options
+-----------------------------------------
 
-- Fix bug #9124 - Samba fails to set "inherited" bit on inherited ACE's.
+samba-tool drs replicate got two new options:
 
-- We now avoid printing secret attributes (such as unicodePwd and
-  suppliementalCredentials) in ldb trace logs
+The option '--local-online' will do the DsReplicaSync() via IRPC
+to the local dreplsrv service.
 
-- s3-printing: fix bug 9123 lprng job tracking errors
+The option '--async-op' will add DRSUAPI_DRS_ASYNC_OP to the
+DsReplicaSync(), which won't wait for the replication result.
 
-- A fix for building with MIT Kerberos
+replPropertyMetaData Changes
+----------------------------
 
-KNOWN ISSUES
-============
+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
+the domain for this error.
+
+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
+offers to remove such links, and they are no longer kept after the
+object is tombstoned or recycled.
+
+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.
+
+Other dbcheck improvements
+--------------------------
+
+ - 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.
+
+Tombstone Reanimation
+---------------------
+
+Samba now supports tombstone reanimation, a feature in the AD DC
+allowing tombstones, that is objects which have been deleted, to be
+restored with the original SID and GUID still in place.
+
+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.
+
+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)
+
+pwdLastSet is now correctly honoured
+------------------------------------
+
+BUG 9654: the pwdLastSet attribute is now correctly handled (this previously
+permitted passwords that next expire).
+
+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
+------------------------
+
+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
+---------------------------------
+
+Leasing is an SMB 2.1 (and higher) feature which allows clients to
+aggressively cache files locally above and beyond the caching allowed
+by SMB 1 oplocks. This feature was disabled in previous releases, but
+the SMB2 leasing code is now considered mature and stable enough to be
+enabled by default.
+
+Open File Description (OFD) Locks
+---------------------------------
+
+On systems that support them (currently only Linux), the fileserver now
+uses Open File Description (OFD) locks instead of POSIX locks to implement
+client byte range locks. As these locks are associated with a specific
+file descriptor on a file this allows more efficient use when multiple
+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
+---------------------------------------------------
+
+The new commands 'samba-tool user getpassword'
+and 'samba-tool user syncpasswords' provide
+access and syncing of various password fields.
+
+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).
 
-- 'samba-tool domain classicupgrade' will fail when setting ACLs on
-  the GPO folders with NT_STATUS_INVALID_ONWER in the default
-  configuration.  This happens if, as is typical a 'domain admins'
-  group (-512) is mapped in the passdb backend being upgraded.  This
-  is because the group mapping to a GID only prevents Samba from
-  allocating a uid for that group.  The uid is needed so the 'domain
-  admins' group can own the GPO file objects.
+Python crypto requirements
+--------------------------
 
-  To work around this issue, remove the 'domain admins' group before
-  upgrade, as it will be re-created automatically.  You will
-  of course need to fill in the group membership again.  A future release
-  will make this automatic, or find some other workaround.
+Some samba-tool subcommands require python-crypto and/or
+python-m2crypto packages to be installed.
 
-- This release makes the s3fs file server the default, as this is the
-  file server combination we will use for the Samba 4.0 release.
+SmartCard/PKINIT improvements
+-----------------------------
 
-- For similar reasons, sites with ACLs stored by the ntvfs file server
-  may wish to continue to use that file server implementation, as a
-  posix ACL will similarly not be set in this case.
+"samba-tool user create" accepts --smartcard-required
+and "samba-tool user setpassword" accepts --smartcard-required
+and --clear-smartcard-required.
 
-- Replication of DNS data from one AD server to another may not work.
-  The DNS data used by the internal DNS server and bind9_dlz is stored
-  in an application partition in our directory.  The replication of
-  this partition is not yet reliable.
+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
+NTHASH value.
 
-- Replication may fail on FreeBSD due to getaddrinfo() rejecting names
-  containing _.  A workaround will be in a future beta.
+Interactive password logons are rejected, if the UF_SMARTCARD_REQUIRED
+bit is set in the userAccountControl attribute of a user.
 
-- upgradeprovision should not be run when upgrading to this release
-  from a recent release.  No important database format changes have
-  been made since alpha16.  
+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
+logon using a smartcard to work on Windows clients.
 
-- Installation on systems without a system iconv (and developer
-  headers at compile time) is known to cause errors when dealing with
-  non-ASCII characters.
+CTDB changes
+------------
 
-- Domain member support in the 'samba' binary is in it's infancy, and
-  is not comparable to the support found in winbindd.  As such, do not
-  use the 'samba' binary (provided for the AD server) on a member
-  server.
+* New improved ctdb tool
 
-- There is no NetBIOS browsing support (network neighbourhood)
-  available for the AD domain controller.  (Support in nmbd and smbd
-  for classic domains and member/standalone servers is unchanged).
+  ctdb tool has been completely rewritten using new client API.
+  Usage messages are much improved.
 
-- Clock Synchronisation is critical.  Many 'wrong password' errors are
-  actually due to Kerberos objecting to a clock skew between client
-  and server.  (The NTP work in the previous alphas are partly to assist
-  with this problem).
+* Sample CTDB configuration file is installed as ctdbd.conf.
 
-- The DRS replication code may fail.  Please contact the team if you
-  experience issues with DRS replication, as we have fixed many issues
-  here in response to feedback from our production users. 
+* The use of real-time scheduling when taking locks has been narrowed
+  to limit potential performance impacts on nodes
 
+* CTDB_RECOVERY_LOCK now supports specification of an external helper
+  to take and hold the recovery lock
 
-RUNNING Samba 4.0 as an AD DC
-=============================
+  See the RECOVERY LOCK section in ctdb(7) for details.  Documentation
+  for writing helpers is provided in doc/cluster_mutex_helper.txt.
 
-A short guide to setting up Samba 4 as an AD DC can be found on the wiki:
+* "ctdb natgwlist" has been replaced by a top level "ctdb natgw"
+  command that has "master", "list" and "status" subcommands
+
+* The onnode command no longer supports the "recmaster", "lvs" and
+  "natgw" node specifications
+
+* Faster resetting of TCP connections to public IP addresses during
+  failover
+
+* Tunables MaxRedirectCount, ReclockPingPeriod,
+  DeferredRebalanceOnNodeAdd are now obsolete/ignored
+
+* "ctdb listvars" now lists all variables, including the first one
+
+* "ctdb xpnn", "ctdb rebalanceip" and "ctdb rebalancenode" have been
+  removed
+
+  These are not needed because "ctdb reloadips" should do the correct
+  rebalancing.
+
+* Output for the following commands has been simplified:
+
+    ctdb getdbseqnum
+    ctdb getdebug
+    ctdb getmonmode
+    ctdb getpid
+    ctdb getreclock
+    ctdb getpid
+    ctdb pnn
+
+  These now simply print the requested output with no preamble.  This
+  means that scripts no longer need to strip part of the output.
+
+  "ctdb getreclock" now prints nothing when the recovery lock is not
+  set.
+
+* Output for the following commands has been improved:
+
+  ctdb setdebug
+  ctdb uptime
+
+* "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
+
+  "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
+
+New shadow_copy2 options
+------------------------
+
+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
+  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
+  component for names of the snapshot directories in the file-system. If this
+  parameter is set, together with the shadow:format and shadow:delimiter
+  parameters it determines the possible names of snapshot directories in the
+  file-system. The option only supports Basic Regular Expression (BRE).
+
+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.
+
+  Default: shadow:delimiter = "_GMT"
+
+
+REMOVED FEATURES
+================
+
+only user and username parameters
+---------------------------------
+These two parameters have long been deprecated and superseded by
+"valid users" and "invalid users".
+
+
+smb.conf changes
+================
+
+  Parameter Name                Description             Default
+  --------------                -----------             -------
+  kccsrv:samba_kcc              Changed default         yes
+  ntlm auth                     Changed default         no
+  only user                     Removed
+  password hash gpg key ids     New
+  shadow:snapprefix             New
+  shadow:delimiter              New                     _GMT
+  smb2 leases                   Changed default         yes
+  username                      Removed
+
+
+KNOWN ISSUES
+============
 
-  http://wiki.samba.org/index.php/Samba4/HOWTO
+Currently none.
 
 #######################################
 Reporting bugs & Development Discussion
@@ -202,7 +349,7 @@ joining the #samba-technical IRC channel on irc.freenode.net.
 If you do report problems then please try to send high quality
 feedback. If you don't provide vital information to help us track down
 the problem then you will probably be ignored.  All bug reports should
-be filed under the Samba 4.0 product in the project's Bugzilla
+be filed under the Samba 4.1 and newer product in the project's Bugzilla
 database (https://bugzilla.samba.org/).