WHATSNEW: Add Samba AD with MIT Kerberos
[samba.git] / WHATSNEW.txt
index 50d1ec89b22f0c17d71e2ed511d3a2bdcc9bedb4..a385d076391d6fe5e8c6251d481bce6d6034088d 100644 (file)
 Release Announcements
 =====================
 
-This is the first release candidate of Samba 4.2.  This is *not*
+This is the first preview release of Samba 4.7.  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.
+Samba 4.7 will be the next version of the Samba suite.
 
 
 UPGRADING
 =========
 
-Read the "Winbindd/Netlogon improvements" section (below) carefully!
 
+NEW FEATURES/CHANGES
+====================
 
-NEW FEATURES
-============
+Samba AD with MIT Kerberos
+--------------------------
+
+After four years of development, Samba finally supports compiling and
+running Samba AD with MIT Kerberos. You can enable it with:
 
-Transparent File Compression
-============================
+    ./configure --with-system-mitkrb5
 
-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 requires version 1.15.1 of MIT Kerberos to build with AD DC support.
+The krb5-devel and krb5-server packages are required.
+The feature set is not on par with with the Heimdal build but the most important
+things, like forest and external trusts, are working. Samba uses the KDC binary
+provided by MIT Kerberos.
 
-Previous File Versions with Snapper
-===================================
+Missing features, compared to Heimdal, are:
+  * PKINIT support
+  * S4U2SELF/S4U2PROXY support
+  * RODC support (not fully working with Heimdal either)
 
-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.
+The Samba AD process will take care of starting the MIT KDC and it will load a
+KDB (Kerberos Database) driver to access the Samba AD database.  When
+provisioning an AD DC using 'samba-tool' it will take care of creating a correct
+kdc.conf file for the MIT KDC. Note that 'samba-tool' will overwrite the system
+kdc.conf by default. It is possible to use a different location during
+provision. You should consult the 'samba-tool' help and smb.conf manpage for
+details.
 
-Winbindd/Netlogon improvements
-==============================
 
-The whole concept of maintaining the netlogon secure channel
-to (other) domain controllers is rewritten in order to maintain
-global state in a netlogon_creds_cli.tdb. This is the proper fix
-for a large number of bugs:
+Authentication and Authorization audit support
+----------------------------------------------
 
-  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
+Detailed authentication and authorization audit information is now
+logged to Samba's debug logs under the "auth_audit" debug class,
+including in particular the client IP address triggering the audit
+line.  Additionally, if Samba is compiled against the jansson JSON
+library, a JSON representation is logged under the "auth_json_audit"
+debug class.
 
-In addition a strong session key is required by default now,
-which means that communication to older servers or clients
-might be rejected by default.
+Audit support is comprehensive for all authentication and
+authorisation of user accounts in the Samba Active Directory Domain
+Controller, as well as the implicit authentication in password
+changes.  In the file server and classic/NT4 domain controller, NTLM
+authentication, SMB and RPC authorization is covered, however password
+changes are not at this stage, and this support is not currently
+backed by a testsuite.
 
-For the client side we 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",
+Parameter changes
+-----------------
 
-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 "strict sync" global parameter has been changed from
+a default of "no" to "yes". This means smbd will by default
+obey client requests to synchronize unwritten data in operating
+system buffers safely onto disk. This is a safer default setting
+for modern SMB1/2/3 clients.
 
-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're trusted domains.
+smb.conf changes
+================
 
-Please consult the smb.conf manpage for more details of this new options.
+  Parameter Name                Description             Default
+  --------------                -----------             -------
+  auth event notification       New parameter           no
+  auth methods                  Deprecated
+  map untrusted to domain       Deprecated
+  strict sync                   Default changed         yes
 
-Larger IO sizes for SMB2/3 by default
-=====================================
+Removal of lpcfg_register_defaults_hook()
+-----------------------------------------
 
-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.
+The undocumented and unsupported function lpcfg_register_defaults_hook()
+that was used by external projects to call into Samba and modify
+smb.conf default parameter settings has been removed. If your project
+was using this call please raise the issue on
+samba-technical@lists.samba.org in order to design a supported
+way of obtaining the same functionality.
 
-######################################################################
-Changes
-#######
+Change of loadable module interface
+-----------------------------------
 
-smb.conf changes
-----------------
+The _init function of all loadable modules in Samba has changed
+from:
 
-   Parameter Name                      Description     Default
-   --------------                      -----------     -------
+NTSTATUS _init(void);
 
-   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
+to:
+
+NTSTATUS _init(TALLOC_CTX *);
+
+This allows a program loading a module to pass in a long-lived
+talloc context (which must be guaranteed to be alive for the
+lifetime of the module). This allows modules to avoid use of
+the talloc_autofree_context() (which is inherently thread-unsafe)
+and still be valgrind-clean on exit. Modules that don't need to
+free long-lived data on exist should use the NULL talloc context.
 
 KNOWN ISSUES
 ============
 
+https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.7#Release_blocking_bugs
+
 
 #######################################
 Reporting bugs & Development Discussion
@@ -114,7 +126,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.2 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/).