selftest: run LOCAL-MESSAGING-READ4
[obnox/samba/samba-obnox.git] / WHATSNEW.txt
index 1b08ff31a4d91698aeab625dc1eb2785d601987e..78fc7779d3a0eac179f7621d9864f86b5171d44c 100644 (file)
-What's new in Samba 4.0 beta5
-=============================
+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 release candidate of Samba 4.2.  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.2 will be the next version of the Samba suite.
 
-WARNINGS
-========
 
-Samba 4.0 beta5 is not a final Samba release, however we are now making
-good progress towards a Samba 4.0 release, of which this is a preview.
-Be aware the 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'.
+UPGRADING
+=========
 
-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 behavior.
-However, we still recommend against upgrading production servers from
-Samba 3.x release to Samba 4.0 beta at this stage.
+Read the "Winbindd/Netlogon improvements" section (below) carefully!
 
-In particular note that the new default configuration 's3fs' may have
-different stability characteristics compared with our previous default
-file server.  We are making this release so that we can find and fix
-any of these issues that arise in the real world.  New AD DC
-installations can provision or join with --use-ntvfs to obtain the
-previous default file server.  See below how to continue using ntvfs
-in an existing installation.
 
-If you are upgrading, or looking to develop, test or deploy Samba 4.0
-beta releases, you should backup all configuration and data.
+NEW FEATURES
+============
 
+Transparent File Compression
+============================
 
-UPGRADING
-=========
+Samba 4.2.0 adds support for the manipulation of file and folder
+compression flags on the Btrfs filesystem.
+With the Btrfs Samba VFS module enabled, SMB2+ compression flags can
+be set remotely from the Windows Explorer File->Properties->Advanced
+dialog. Files flagged for compression are transparently compressed
+and uncompressed when accessed or modified.
 
-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 
+Previous File Versions with Snapper
+===================================
 
-Users upgrading from Samba 4.0 alpha and beta releases since alpha15 
-should run 'samba-tool dbcheck --cross-ncs --fix'.  Users upgrading
-from earlier alpha releases should contact the team for advice. 
+The newly added Snapper VFS module exposes snapshots managed by
+Snapper for use by Samba. This provides the ability for remote
+clients to access shadow-copies via Windows Explorer using the
+"previous versions" dialog.
 
+Winbindd/Netlogon improvements
+==============================
 
-NEW FEATURES
-============
+The whole concept of maintaining the netlogon secure channel
+to (other) domain controllers was rewritten in order to maintain
+global state in a netlogon_creds_cli.tdb. This is the proper fix
+for a large number of bugs:
 
-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.  For pure file server work, the binaries users would expect
-from that series (nmbd, winbindd, smbpasswd) continue to be available.
-
-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.  
-
-As mentioned above, this change to the default file server may cause
-instability, as we learn about the real-world interactions between
-these two key components. 
-
-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. 
-
-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 beta4
-=====================
+  https://bugzilla.samba.org/show_bug.cgi?id=6563
+  https://bugzilla.samba.org/show_bug.cgi?id=7944
+  https://bugzilla.samba.org/show_bug.cgi?id=7945
+  https://bugzilla.samba.org/show_bug.cgi?id=7568
+  https://bugzilla.samba.org/show_bug.cgi?id=8599
 
-For a list of changes since beta4, please see the git log.
+In addition a strong session key is now required by default,
+which means that communication to older servers or clients
+might be rejected by default.
 
-$ git clone git://git.samba.org/samba.git
-$ cd samba.git
-$ git log samba-4.0.0beta4..samba-4.0.0beta5
+For the client side we have the following new options:
+"require strong key" (yes by default), "reject md5 servers" (no by default).
+E.g. for Samba 3.0.37 you need "require strong key = no" and
+for NT4 DCs you need "require strong key = no" and "client NTLMv2 auth = no",
 
-Some major user-visible changes include:
+On the server side (as domain controller) we have the following new options:
+"allow nt4 crypto" (no by default), "reject md5 client" (no by default).
+E.g. in order to allow Samba < 3.0.27 or NT4 members to work
+you need "allow nt4 crypto = yes"
 
-- The issue with beta4 being unable to build with a released version of
-  ldb has been resolved. 
+winbindd does not list group memberships for display purposes
+(e.g. getent group <domain\<group>) anymore by default.
+The new default is "winbind expand groups = 0" now,
+the reason for this is the same as for "winbind enum users = no"
+and "winbind enum groups = no". Providing this information is not always
+reliably possible, e.g. if there are trusted domains.
 
-- The two parameter tables for our two smb.conf parsing engines have
-  been merged.  This removes the ugly (but harmless) "unknown
-  parameter xxx" warnings, particularly from the smbd child process.
+Please consult the smb.conf manpage for more details on these new options.
 
-- Major issues have been fixed in conflict and missing/deleted parent
-  handling in or DRS replication engine.
+Winbindd use on the Samba AD DC
+===============================
 
-- Safety improvements to prevent corruption of read-write replicas
-  by manual replication from a read-only replica.
+Winbindd is now used on the Samba AD DC by default, replacing the
+partial rewrite used for winbind operations in Samba 4.0 and 4.1.
 
-- Improvements to dbcheck to correct incorrect instanceType values from
-  the above and to relocate objects with missing parents.
+This allows more code to be shared, more options to be honoured, and
+paves the way for support for trusted domains in the AD DC.
 
-- smbd no longer places all accounts in the 'Domain Users' of the AD
-  domain to which it is joined
+If required the old internal winbind can be activated by setting
+'server services = +winbind -winbindd'.  Upgrading users with a server
+services parameter specified should ensure they change 'winbind' to
+'winbindd' to obtain the new functionality.
 
-- AES support in NETLOGON Schannel
+The 'samba' binary still manages the starting of this service, there
+is no need to start the winbindd binary manually.
 
-- DCE/RPC timeout handling no longer crashes
+Winbind now requires secured connections
+========================================
 
-- "socket address" is now "nbt client socket address" as it only
-  controls the binding of the NetBIOS client, not other protocols.
-  See 'bind interfaces only = yes'.  This parameter is also now depricated.
+To improve protection against rouge domain controllers we now require
+that when we connect to an AD DC in our forest, that the connection be
+signed using SMB Signing.  Set 'client signing = off' in the smb.conf
+to disable.
 
-- nmbd now always binds to it's broadcast sockets explicitly, rather
-  than just relying on the socket address above.
+Also and DCE/RPC pipes must be sealed, set 'require strong key =
+false' and 'winbind sealed pipes = false' to disable.
 
-Less visible, but important changes under the hood include:
+Finally, the default for 'client ldap sasl wrapping' has been set to
+'sign', to ensure the integrity of LDAP connections.  Set 'client ldap
+sasl wrapping = plain' to disable.
 
-- Continued work to support SMB2 and SMB3
+Larger IO sizes for SMB2/3 by default
+=====================================
 
-- Continued work to use async IO to improve file server performance.
+The default values for "smb2 max read", "smb2 max write" and "smb2 max trans"
+have been changed to 8388608 (8MiB) in order to match the default of
+Windows 2012R2.
 
-- Patches to ensure that talloc_tos() and talloc_stackframe() are
-  always used correctly.
+Improved DCERPC man in the middle detection
+===========================================
 
-KNOWN ISSUES
-============
+The DCERPC header signing has been implemented
+in addition to the dcerpc_sec_verification_trailer
+protection.
+
+Overhauled "net idmap" command
+==============================
+
+The command line interface of the "net idmap" command has been
+made systematic, and subcommands for reading and writing the autorid idmap
+database have been added. Note that the writing commands should be
+used with great care. See the net(8) manual page for details.
+
+tdb improvements
+================
 
-- 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.
+The tdb library, our core mechanism to store Samba-specific data on disk and
+share it between processes, has been improved to support process shared robust
+mutexes on Linux. These mutexes are available on Linux and Solaris and
+significantly reduce the overhead involved with tdb. To enable mutexes for
+tdb, set
 
-- Modifying of group policies by members of the Domain Administrators
-  group is not possible with the s3fs file server, only with the ntvfs
-  file server.  This is due to the underlying POSIX ACL not being set
-  at provision time.
+dbwrap_tdb_mutexes:* = yes
 
-- 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.
+in the [global] section of your smb.conf.
 
-- 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.
+Tdb file space management has also been made more efficient. This
+will lead to smaller and less fragmented databases.
 
-- Replication may fail on FreeBSD due to getaddrinfo() rejecting names
-  containing _.  A workaround will be in the next beta.
+Messaging improvements
+======================
 
-- upgradeprovision should not be run when upgrading to this release
-  from a recent release.  No important database format changes have
-  been made since alpha16.  
+Our internal messaging subsystem, used for example for things like oplock
+break messages between smbds or setting a process debug level dynamically, has
+been rewritten to use unix domain datagram messages.
 
-- Installation on systems without a system iconv (and developer
-  headers at compile time) is known to cause errors when dealing with
-  non-ASCII characters.
+Clustering support
+==================
 
-- 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.
+Samba's file server clustering component CTDB is now integrated in the
+Samba tree.  This avoids the confusion of compatibility of Samba and CTDB
+versions as existed previously.
 
-- There is no NetBIOS browsing support (network neighbourhood) in the
-  'samba' binary (use nmbd and smbd instead)
+To build the Samba file server with cluster support, use the configure
+command line option --with-cluster-support.  This will build clustered
+file server against the in-tree ctdb.  Building clustered samba with
+previous versions of CTDB is no longer supported.
 
-- 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).
+CTDB is built separately from the ctdb/ sub-directory.  To build CTDB,
+use the following steps:
 
-- 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. 
+  $ cd ctdb
+  $ ./configure
+  $ make
+  # make install
 
 
-RUNNING Samba 4.0 as an AD DC
-=============================
+######################################################################
+Changes
+#######
 
-A short guide to setting up Samba 4 as an AD DC can be found on the wiki:
+smb.conf changes
+----------------
+
+   Parameter Name                      Description     Default
+   --------------                      -----------     -------
+
+   allow nt4 crypto                     New             no
+   neutralize nt4 emulation             New             no
+   reject md5 client                    New             no
+   reject md5 servers                   New             no
+   require strong key                   New             yes
+   smb2 max read                        Changed default 8388608
+   smb2 max write                       Changed default 8388608
+   smb2 max trans                       Changed default 8388608
+   winbind expand groups                Changed default 0
+
+KNOWN ISSUES
+============
 
-  http://wiki.samba.org/index.php/Samba4/HOWTO
 
 #######################################
 Reporting bugs & Development Discussion
@@ -210,7 +205,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.2 product in the project's Bugzilla
 database (https://bugzilla.samba.org/).