WHATSNEW: Add Samba AD with MIT Kerberos
[samba.git] / WHATSNEW.txt
index d58ad09b5b9b194653b8b53dea4f8a2e6ddae1b5..a385d076391d6fe5e8c6251d481bce6d6034088d 100644 (file)
-What's new in Samba 4 alpha19
-=============================
-
-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.
-
-WARNINGS
-========
-
-Samba4 alpha19 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.
-
-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.
-
-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.
-
-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 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).
-
-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.
-
-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 alpha18
+Release Announcements
 =====================
 
-For a list of changes since alpha 18, please see the git log.
-
-$ git clone git://git.samba.org/samba.git
-$ cd samba.git
-$ git log samba-4.0.0alpha18..samba-4.0.0alpha19
+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/.
 
-Some major user-visible changes include:
+Samba 4.7 will be the next version of the Samba suite.
 
-CVE-2012-1182:
-   Samba 3.0.x to 3.6.3 are affected by a
-   vulnerability that allows remote code
-   execution as the "root" user.
 
-Portability to MacOS X.  By using the CC_MD5*() routines we no longer
-segfault on MacOS X.
+UPGRADING
+=========
 
-The source4/librpc layer has been reworked to be much more robust to
-connection failures.
 
-security=share in smbd has now been removed.
+NEW FEATURES/CHANGES
+====================
 
-A segfault in vfs_aio_fork for the smbd file server has been fixed
+Samba AD with MIT Kerberos
+--------------------------
 
-ldbadd and ldbmodify now handle each ldif file in a single
-transaction, when modifying a local ldb.
+After four years of development, Samba finally supports compiling and
+running Samba AD with MIT Kerberos. You can enable it with:
 
-Further improvements to the dlz_bind9 and internal DNS servers.
+    ./configure --with-system-mitkrb5
 
+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.
 
-Some major but less visible changes include:
+Missing features, compared to Heimdal, are:
+  * PKINIT support
+  * S4U2SELF/S4U2PROXY support
+  * RODC support (not fully working with Heimdal either)
 
-Initial support for s3fs, using the smbd file server in the AD Domain
-controller has been added (but not yet finished, so not exposed)
+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.
 
-Samba now only uses the _FILE_OFFSET_BITS=64 API for accessing large
-files, not the _LARGEFILE64_SOURCE API.
 
-All Samba daemons now monitor stdin when launched in the foreground,
-and shutdown when stdin is closed.  We also ensure that all child
-processes are clened up by a similar mechanism.  This ensures that
-stray processes do not hang around, particularly in make test.
+Authentication and Authorization audit support
+----------------------------------------------
 
-Further preparation work for moving to TDB2, a new version of Samba's core TDB
-database.
+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.
 
-Early implementation work on the SMB 2.2 protocol client and server as
-the team improves and develops support these new protocols.
+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.
 
-The last of the old-style krb5 ticket handling has been removed.
+Parameter changes
+-----------------
 
+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.
 
-KNOWN ISSUES
-============
+smb.conf changes
+================
 
-- upgradeprovision should not be run when upgrading to this release
-  from a recent release.  No important database format changes have
-  been made since alpha16.  
+  Parameter Name                Description             Default
+  --------------                -----------             -------
+  auth event notification       New parameter           no
+  auth methods                  Deprecated
+  map untrusted to domain       Deprecated
+  strict sync                   Default changed         yes
 
-- The BIND 9 DLZ plugin is compatible only with BIND 9.8, not BIND 9.9. 
+Removal of lpcfg_register_defaults_hook()
+-----------------------------------------
 
-- 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.
+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.
 
-- Installation on systems without a system iconv (and developer
-  headers at compile time) is known to cause errors when dealing with
-  non-ASCII characters.
+Change of loadable module interface
+-----------------------------------
 
-- In some situations, group members may not be upgraded by the
-  samba-tool domain samba3upgrade tool
+The _init function of all loadable modules in Samba has changed
+from:
 
-- 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.
+NTSTATUS _init(void);
 
-- There is no printing support in the 'samba' binary (use smbd instead)
+to:
 
-- There is no NetBIOS browsing support (network neighbourhood) in the
-  'samba' binary (use nmbd and smbd instead)
+NTSTATUS _init(TALLOC_CTX *);
 
-- 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).
+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.
 
-- 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. 
-
-RUNNING Samba 4.0 as an AD DC
-=============================
+KNOWN ISSUES
+============
 
-A short guide to setting up Samba 4 as an AD DC can be found on the wiki:
+https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.7#Release_blocking_bugs
 
-  http://wiki.samba.org/index.php/Samba4/HOWTO
 
 #######################################
 Reporting bugs & Development Discussion
@@ -165,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.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/).