Factor out privilege checking code into se_file_access_check() which takes a bool...
[mdw/samba.git] / WHATSNEW.txt
index 14aa176ef1b6aaa523aaaf017f5116bdedf9f299..4b1f0fe2090ae28623c9f375b84d3197a29adb54 100644 (file)
-                   =================================
-                   Release Notes for Samba 3.6.0pre1
-                   July 28, 2010
-                   =================================
+What's new in Samba 4.0 beta8
+=============================
+
+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
+========
+
+Samba 4.0 beta8 is not a final Samba release, however we are now making
+good progress towards a Samba 4.0 release.  However, this is expected to be the
+last beta release before we start on our release candidate series.
 
+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'.
 
-This is the first preview release of Samba 3.6.  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.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 behaviour.
+However, as with all our pre-releases we still recommend against
+upgrading production servers from Samba 3.x release to Samba 4.0 beta
+at this stage.
 
+If you are upgrading, or looking to develop, test or deploy Samba 4.0
+beta releases, you should backup all configuration and data.
 
-Major enhancements in Samba 3.6.0 include:
 
+UPGRADING
+=========
 
-Changed security defaults
--------------------------
+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 
 
-Samba 3.6 has adopted a number of improved security defaults that will
-impact on existing users of Samba.
+Users upgrading from Samba 4.0 alpha and beta releases since alpha15
+should run 'samba-tool dbcheck --cross-ncs --fix' before re-starting
+Samba.  Users upgrading from earlier alpha releases should contact the
+team for advice.
 
- client ntlmv2 auth = yes
- client use spnego principal = no
- send spnego principal = no
+Users upgrading an AD DC from any previous release should run
+'samba-tool ntacl sysvolreset' to re-sync ACLs on the sysvol share
+with those matching the GPOs in LDAP and the defaults from an initial
+provision.  This will set an underlying POSIX ACL if required (eg not
+using the NTVFS file server).
 
-The impact of 'client ntlmv2 auth = yes' is that by default we will not
-use NTLM authentication as a client.  This applies to the Samba client
-tools such as smbclient and winbind, but does not change the separately
-released in-kernel CIFS client.  To re-enable the poorer NTLM encryption
-set '--option=clientusentlmv2auth=no' on your smbclient command line, or
-set 'client ntlmv2 auth = no' in your smb.conf
+NEW FEATURES
+============
 
-The impact of 'client use spnego principal = no' is that we may be able
-to use Kerberos to communicate with a server less often in smbclient,
-winbind and other Samba client tools.  We may fall back to NTLMSSP in
-more situations where we would previously rely on the insecure
-indication from the 'NegProt' CIFS packet.  This mostly occursed when
-connecting to a name alias not recorded as a servicePrincipalName for
-the server.  This indication is not available from Windows 2008 or later
-in any case, and is not used by modern Windows clients, so this makes
-Samba's behaviour consistent with other clients and against all servers.
+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.
 
-The impact of 'send spnego principal = no' is to match Windows 2008 and
-not to send this principal, making existing clients give more consistent
-behaviour (more likely to fall back to NTLMSSP) between Samba and
-Windows 2008, and between Windows versions that did and no longer use
-this insecure hint.
+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.
 
-SMB2 support
-------------
+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.  
 
-SMB2 support in 3.6.0 is fully functional (with one omission),
-and can be enabled by setting:
+For pure file server work, the binaries users would expect from that
+series (nmbd, winbindd, smbpasswd) continue to be available.  When
+running an AD DC, you only need to run 'samba' (not
+nmbd/smbd/winbind), as the required services are co-coordinated by this
+master binary.
 
-max protocol = SMB2
+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).
 
-in the [global] section of your smb.conf and re-starting
-Samba. All features should work over SMB2 except the modification
-of user quotas using the Windows quota management tools.
+To provide accurate timestamps to Windows clients, we integrate with
+the NTP project to provide secured NTP replies.  To use you need to
+start ntpd and configure it with the 'restrict ... ms-sntp' and
+ntpsigndsocket options.
 
-As this is the first release containing what we consider
-to be a fully featured SMB2 protocol, we are not enabling
-this by default, but encourage users to enable SMB2 and
-test it. Once we have enough confirmation from Samba
-users and OEMs that SMB2 support is stable in wide user
-testing we will enable SMB2 by default in a future Samba
-release.
+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.
 
 
-Internal Winbind passdb changes
--------------------------------
+CHANGES SINCE beta7
+=====================
 
-Winbind has been changed to use the internal samr and lsa rpc pipe to get
-local user and group information instead of calling passdb functions. The
-reason is to use more of our infrastructure and test this infrastructure by
-using it. With this approach more code in Winbind is shared.
+For a list of changes since beta7, please see the git log.
 
+$ git clone git://git.samba.org/samba.git
+$ cd samba.git
+$ git log samba-4.0.0beta7..samba-4.0.0beta8
 
-New Spoolss code
-----------------
+Some major user-visible changes include:
 
-The spoolss and the old RAP printing code have been completely
-overhauled and refactored.
+- A fix for a segfault/abort on startup of the 'samba' binary in the
+  credentials_secrets code. 
 
-All calls from lanman/printing code has been changed to go through the
-spoolss RPC interfaces, this allows us to keep all checks in one place
-and avoid special cases in the main printing code.
-Printing code has been therefore confined within the spoolss code.
+- A fix for samba-tool classicupgrade of pdb_ldap-based domains
 
-All the printing code, including the spoolss RPC interfaces has been
-changed to use the winreg RPC interfaces to store all data.
-All data has been migrated from custom, arbitrary TDB files to the
-registry interface. This transition allow us to present correct data to
-windows client accessing the server registry through the winreg RPC
-interfaces to query for printer data. Data is served out from a real
-registry implementation and therefore arguably 100% forward compatible.
+- A fix for samba-tool domain exportkeyab only exporting DES keys
 
-Migration code from the previous TDB files formats is provided. This
-code is automatically invoked the first time the new code is run on the
-server. Although manual migration is also available using the 'net
-printer migrate' command.
+- Printing is now enabled on the AD DC
 
-These changes not only make all the spoolss code much more closer to
-"the spec", it also greatly improves our internal testing of both
-spoolss and winreg interfaces, and reduces overall code duplication.
+- Fix bug #9124 - Samba fails to set "inherited" bit on inherited ACE's.
 
-As part of this work, new tests have been also added to increase
-coverage.
+- We now avoid printing secret attributes (such as unicodePwd and
+  suppliementalCredentials) in ldb trace logs
 
-This code will also allow, in future, an easy transition to split out
-the spooling functions into a separate daemon for those OEMs that do not
-need printing functionality in their appliances, reducing the code
-footprint.
+- s3-printing: fix bug 9123 lprng job tracking errors
 
+- A fix for building with MIT Kerberos
 
-SMB Traffic Analyzer
---------------------
+KNOWN ISSUES
+============
 
-Added the new SMB Traffic Analyzer (SMBTA) VFS module protocol 2
-featuring encryption, multiple arguments, and easier parseability. A new
-tool 'smbta-util' has been created to control the encryption behaviour
-of SMBTA. For compatibility, SMBTA by default operates on version 1.
-There are programs consuming the data that the module sends.
+- 'samba-tool domain classicupgrade' will fail when setting ACLs on
+  the GPO folders with NT_STATUS_INVALID_ONWER in the default
+  configuration.  This happens if, as is typical a 'domain admins'
+  group (-512) is mapped in the passdb backend being upgraded.  This
+  is because the group mapping to a GID only prevents Samba from
+  allocating a uid for that group.  The uid is needed so the 'domain
+  admins' group can own the GPO file objects.
 
-More information can be found on
-http://holger123.wordpress.com/smb-traffic-analyzer/
+  To work around this issue, remove the 'domain admins' group before
+  upgrade, as it will be re-created automatically.  You will
+  of course need to fill in the group membership again.  A future release
+  will make this automatic, or find some other workaround.
 
+- 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.
 
-######################################################################
-Changes
-#######
+- 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.
 
-smb.conf changes
-----------------
+- 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.
 
-   Parameter Name                      Description     Default
-   --------------                      -----------     -------
+- Replication may fail on FreeBSD due to getaddrinfo() rejecting names
+  containing _.  A workaround will be in a future beta.
 
-   log writeable files on exit        New             No
-   ctdb locktime warn threshold               New             0
-   smb2 max read                      New             1048576
-   smb2 max write                     New             1048576
-   smb2 max trans                     New             1048576
-   username map cache time            New             0
-   async smb echo handler             New             No
+- upgradeprovision should not be run when upgrading to this release
+  from a recent release.  No important database format changes have
+  been made since alpha16.  
 
+- Installation on systems without a system iconv (and developer
+  headers at compile time) is known to cause errors when dealing with
+  non-ASCII characters.
 
-######################################################################
+- 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.
+
+- There is no NetBIOS browsing support (network neighbourhood)
+  available for the AD domain controller.  (Support in nmbd and smbd
+  for classic domains and member/standalone servers is unchanged).
+
+- 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).
+
+- 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
+=============================
+
+A short guide to setting up Samba 4 as an AD DC can be found on the wiki:
+
+  http://wiki.samba.org/index.php/Samba4/HOWTO
+
+#######################################
 Reporting bugs & Development Discussion
 #######################################
 
@@ -156,7 +202,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 3.6 product in the project's Bugzilla
+be filed under the Samba 4.0 product in the project's Bugzilla
 database (https://bugzilla.samba.org/).