selftest: run LOCAL-MESSAGING-READ4
[obnox/samba/samba-obnox.git] / WHATSNEW.txt
index d737e95f2bf2ee8c9a65eb9e9802207a0a33e3fd..78fc7779d3a0eac179f7621d9864f86b5171d44c 100644 (file)
-What's new in Samba 4 alpha21
-=============================
-
-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.
+Release Announcements
+=====================
 
+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/.
 
-WARNINGS
-========
+Samba 4.2 will be the next version of the Samba suite.
 
-Samba4 alpha21 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'.
 
-Samba4 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 alpha at this stage.
+UPGRADING
+=========
 
-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 with --use-ntvfs to obtain the previous default file
-server.  Existing installations will be unaffected at this stage.
+Read the "Winbindd/Netlogon improvements" section (below) carefully!
 
-If you are upgrading, or looking to develop, test or deploy Samba 4.0
-alpha releases, you should backup all configuration and data.
 
 NEW FEATURES
 ============
 
-Samba 4.0 alpha 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.
+Transparent File Compression
+============================
 
-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.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.
 
-Samba 4.0 alpha 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.
+Previous File Versions with Snapper
+===================================
 
-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.  
+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.
 
-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. 
+Winbindd/Netlogon improvements
+==============================
 
-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.  
+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:
 
+  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
 
+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.
 
-CHANGES SINCE alpha20
-=====================
+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",
 
-For a list of changes since alpha20, please see the git log.
+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"
 
-$ git clone git://git.samba.org/samba.git
-$ cd samba.git
-$ git log samba-4.0.0alpha20..samba-4.0.0alpha21
+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.
 
-Some major user-visible changes include:
+Please consult the smb.conf manpage for more details on these new options.
 
-For installations that do not need an AD Domain controller, we can now
-build using MIT Kerberos from the local system.  This is important for
-some distributors.  This is enabled with the new --with-system-mitkrb5
-configure option.  A synonym is the new --without-ad-dc option.
+Winbindd use on the Samba AD DC
+===============================
 
-The 's3fs' effort has moved to a new stage, with this now being the
-default mode of operation for new provisions.  
+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.
 
-The BIND 9 DLZ plugin has had some stability improvements under BIND reloads.
+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.
 
-The 'samba-tool domain samba3upgrade' tool will now generally import
-all group members, and correctly imports domain password policies. 
+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.
 
-Some major but less visible changes include:
+The 'samba' binary still manages the starting of this service, there
+is no need to start the winbindd binary manually.
 
-Continued early implementation work on the SMB 2.2 protocol client and server as
-the team improves and develops support these new protocols.
+Winbind now requires secured connections
+========================================
 
+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.
 
-KNOWN ISSUES
-============
+Also and DCE/RPC pipes must be sealed, set 'require strong key =
+false' and 'winbind sealed pipes = false' to disable.
+
+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.
+
+Larger IO sizes for SMB2/3 by default
+=====================================
+
+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.
+
+Improved DCERPC man in the middle detection
+===========================================
+
+The DCERPC header signing has been implemented
+in addition to the dcerpc_sec_verification_trailer
+protection.
+
+Overhauled "net idmap" command
+==============================
 
-- We are making this alpha release to gain real-world use of the 's3fs'
-  file server combination we will use for the Samba 4.0 release.
-  Users should expect some rough edges: in particular, there are
-  warnings about invalid parameters from the two respective parameter
-  parsing engines.
+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.
 
-- There have been improvements to FreeBSD support, but more work is
-  still required to finish this effort
+tdb 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.  
+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
 
-- Installation on systems without a system iconv (and developer
-  headers at compile time) is known to cause errors when dealing with
-  non-ASCII characters.
+dbwrap_tdb_mutexes:* = yes
 
-- 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.
+in the [global] section of your smb.conf.
 
-- There is no NetBIOS browsing support (network neighbourhood) in the
-  'samba' binary (use nmbd and smbd instead)
+Tdb file space management has also been made more efficient. This
+will lead to smaller and less fragmented databases.
 
-- 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).
+Messaging improvements
+======================
 
-- 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. 
+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.
 
-RUNNING Samba 4.0 as an AD DC
-=============================
+Clustering support
+==================
 
-A short guide to setting up Samba 4 as an AD DC can be found on the wiki:
+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.
+
+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.
+
+CTDB is built separately from the ctdb/ sub-directory.  To build CTDB,
+use the following steps:
+
+  $ cd ctdb
+  $ ./configure
+  $ make
+  # make install
+
+
+######################################################################
+Changes
+#######
+
+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
@@ -153,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/).