s3: nmbd: Ensure the main nmbd process doesn't create zombies.
[samba.git] / WHATSNEW.txt
index a9258b0fa836f7f9ad2e002098a41071e59f4ebc..78fc7779d3a0eac179f7621d9864f86b5171d44c 100644 (file)
-What's new in Samba 4 alpha18
-=============================
+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/.
 
-WARNINGS
-========
+Samba 4.2 will be the next version of the Samba suite.
 
-Samba4 alpha18 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 both the technology of Samba 3.6
-(that you can reasonably expect to upgrade existing Samba 3.x releases
-to) and the AD domain controller work previously known as 'samba4'.
 
-While binaries for the stable file server are provided in this
-release, for a stable, supported file server, Samba3 domain or AD
-domain member installation, please run a Samba 3.x release, as we are
-still bedding down the new single build system.
+UPGRADING
+=========
 
-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.
+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.  The file server
-from the Samba 3.x series is 'smbd', and works with the binaries users
-would expect from that series (nmbd, winbindd, smbpasswd).
+Previous File Versions with Snapper
+===================================
 
-Samba 4.0 also ships with a new file server, which is tuned to match
-the requirements of an AD domain controller.  Users should not use the
-file server in the 'samba' binary for non-DC related tasks.
+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.
 
-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.
+Winbindd/Netlogon improvements
+==============================
 
+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:
 
-CHANGES SINCE alpha17
-=====================
+  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 alpha 17, 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.0alpha17..samba-4.0.0alpha18
+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"
 
-Improvements to DNS servers.  Samba4 now has 3 options for the
-handling of DNS:  The default option is to use the BIND 9.8 DLZ plugin,
-which stores the information about the DNS zone in the directory.
-There is also an internal DNS server (but which does not support
-secure DNS updates at this time) and the flat file BIND 9.8 backend
-(storing the data in traditional zone files).
+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.
 
-To migrate from zone files to directory based DNS servers, a migration
-tool (upgradedns) has been added.
+Please consult the smb.conf manpage for more details on these new options.
 
-samba-tool dns commands to manage DNS records stored in directory.
+Winbindd use on the Samba AD DC
+===============================
 
-smbwrapper (a user-space file system based on LD_PRELOAD) has been
-removed.  
+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.
 
-Improvement to the upgrade process between Samba 3.x domains and Samba
-4.0 AD domains (samba-tool domain samba3upgrade).
+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.
 
-Some major but less visible changes include:
+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.
 
-Major work to bridge the code gap between the major parts of the code
-base, including a common loadparm wrapper, smb client library, as well
-as NTLMSSP, GSSAPI and SPNEGO code as part of the GENSEC
-authentication and authorization stack.
+The 'samba' binary still manages the starting of this service, there
+is no need to start the winbindd binary manually.
 
-Preparation work for moving to TDB2, a new version of Samba's core TDB
-database.
+Winbind now requires secured connections
+========================================
 
-smbtorture tests for SMB 2 and SMB 2.2 as the team improves and
-develops support these new protocols.
+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.
 
-Major cleanup and removal of global variables in the smbd SMB and SMB2 server.
+Also and DCE/RPC pipes must be sealed, set 'require strong key =
+false' and 'winbind sealed pipes = false' to disable.
 
-Heimdal security issue 2012-01-11 - libkrb5 checksum - denial of serice
-http://www.h5l.org//advisories.html?show=2012-01-11
+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.
 
-KNOWN ISSUES
-============
+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
+==============================
+
+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.
 
-- upgradeprovision should not be run when upgrading to this release
-  from a recent release.  No important database format changes have
-  been made since alpha16.  
+tdb improvements
+================
 
-- The BIND 9 DLZ plugin is compatible only with BIND 9.8, not BIND 9.9. 
+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
 
-- Systems with tdb or ldb installed as a system library may have
-  difficulty building this release of Samba4.  The --disable-tdb2
-  configure switch may be of assistance.  (Distributors who (rightly)
-  have difficulty with this may wish to wait until a future release,
-  which will soon fix this issue).
+dbwrap_tdb_mutexes:* = yes
 
-- Installation on systems without a system iconv (and developer
-  headers at compile time) is known to cause errors when dealing with
-  non-ASCII characters.
+in the [global] section of your smb.conf.
 
-- In some situations, group members may not be upgraded by the
-  samba-tool domain samba3upgrade tool
+Tdb file space management has also been made more efficient. This
+will lead to smaller and less fragmented databases.
 
-- 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.
+Messaging improvements
+======================
 
-- There is no printing support in the 'samba' binary (use smbd instead)
+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.
 
-- There is no NetBIOS browsing support (network neighbourhood) in the
-  'samba' binary (use nmbd and smbd instead)
+Clustering support
+==================
 
-- 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).
+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.
 
-- 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. 
+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.
 
-RUNNING Samba 4.0 as an AD DC
-=============================
+CTDB is built separately from the ctdb/ sub-directory.  To build CTDB,
+use the following steps:
 
-A short guide to setting up Samba 4 as an AD DC can be found on the wiki:
+  $ 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
@@ -160,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/).