s4:rpc_server: remove unused dcesrv_connection_context->private_date
[samba.git] / WHATSNEW.txt
index a521813e2d4b37943cbb679fd3dfbd3ecd6ab994..5f2377130154d58d45da73f04cf62842973c1c96 100644 (file)
 Release Announcements
 =====================
 
-This is the first preview release of Samba 4.6.  This is *not*
+This is the first preview release of Samba 4.10.  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.6 will be the next version of the Samba suite.
+Samba 4.10 will be the next version of the Samba suite.
 
 
 UPGRADING
 =========
 
-vfs_fruit option "fruit:resource" spelling correction
------------------------------------------------------
 
-Due to a spelling error in the vfs_fruit option parsing for the "fruit:resource"
-option, users who have set this option in their smb.conf were still using the
-default setting "fruit:resource = file" as the parser was looking for the string
-"fruit:ressource" (two "s").
+NEW FEATURES/CHANGES
+====================
 
-After upgrading to this Samba version 4.6, you MUST either remove the option
-from your smb.conf or set it to the default "fruit:resource = file", otherwise
-your macOS clients will not be able to access the resource fork data.
+GPO Improvements
+----------------
 
-This version Samba 4.6 accepts both the correct and incorrect spelling, but the
-next Samba version 4.7 will not accept the wrong spelling.
+A new 'samba-tool gpo export' command has been added that can export a
+set of Group Policy Objects from a domain in a generalised XML format.
 
-Users who were using the wrong spelling "ressource" with two "s" can keep the
-setting, but are advised to switch to the correct spelling.
+A corresponding 'samba-tool gpo restore' command has been added to
+rebuild the Group Policy Objects from the XML after generalization.
+(The administrator needs to correct the values of XML entities between
+the backup and restore to account for the change in domain).
 
-ID Mapping
-----------
-We discovered that the majority of users have an invalid or incorrect
-ID mapping configuration. We implemented checks in the 'testparm' tool to
-validate the ID mapping configuration. You should run it and check if it prints
-any warnings or errors after upgrading! If it does you should fix them. See the
-'IDENTITY MAPPING CONSIDERATIONS' section in the smb.conf manpage.
-There are some ID mapping backends which are not allowed to be used for the
-default backend. Winbind will no longer start if an invalid backend is
-configured as the default backend.
+kdc prefork
+-----------
 
-To avoid problems in future we advise all users to run 'testparm' after
-changing the smb.conf file!
+The KDC now supports the pre-fork process model and worker processes will be
+forked for the KDC when the pre-fork process model is selected for samba.
 
+prefork 'prefork children'
+--------------------------
 
-NEW FEATURES/CHANGES
-====================
+The default value for this smdb.conf parameter has been increased from 1 to
+4.
 
-Kerberos client encryption types
---------------------------------
-Some parts of Samba (most notably winbindd) perform Kerberos client
-operations based on a Samba-generated krb5.conf file. A new
-parameter, "kerberos encryption types" allows configuring the
-encryption types set in this file, thereby allowing the user to
-enforce strong or legacy encryption in Kerberos exchanges.
-
-The default value of "all" is compatible with previous behavior, allowing
-all encryption algorithms to be negotiated. Setting the parameter to "strong"
-only allows AES-based algorithms to be negotiated. Setting the parameter to
-"legacy" allows only RC4-HMAC-MD5 - the legacy algorithm for Active Directory.
-This can solves some corner cases of mixed environments with Server 2003R2 and
-newer DCs.
-
-Printing
---------
-Support for uploading printer drivers from newer Windows clients (Windows 10)
-has been added until our implementation of [MS-PAR] protocol is ready.
-Several issues with uploading different printing drivers have been addressed.
-
-The OS Version for the printing server has been increased to announce
-Windows Server 2003 R2 SP2. If a driver needs a newer version then you should
-check the smb.conf manpage for details.
-
-new option for owner inheritance
---------------------------------
-The "inherit owner" smb.conf parameter instructs smbd to set the
-owner of files to be the same as the parent directory's owner.
-Up until now, this parameter could be set to "yes" or "no".
-A new option, "unix only", enables this feature only for the UNIX owner
-of the file, not affecting the SID owner in the Windows NT ACL of the
-file. This can be used to emulate something very similar to folder quotas.
-
-Multi-process Netlogon support
-------------------------------
-
-The Netlogon server in the Samba AD DC can now run as multiple
-processes.  The Netlogon server is a part of the AD DC that handles
-NTLM authentication on behalf of domain members, including file
-servers, NTLM-authenticated web servers and 802.1x gateways.  The
-previous restriction to running as a single process has been removed,
-and it will now run in the same process model as the rest of the
-'samba' binary.
-
-As part of this change, the NETLOGON service will now run on a distinct
-TCP port, rather than being shared with all other RPC services (LSA,
-SAMR, DRSUAPI etc).
-
-new options for controlling TCP ports used for RPC services
------------------------------------------------------------
-
-The new 'rpc server port' option controls the default port used for
-RPC services other than Netlogon.  The Netlogon server honors instead
-the 'rpc server port:netlogon' option.  The default value for both
-these options is the first available port including or after 1024.
-
-Improve AD performance and replication improvements
----------------------------------------------------
-
-Samba's LDB and replication code continues to improve, particularly in
-respect to the handling of large numbers of linked attributes.  We now
-respect an 'uptodateness vector' which will dramatically reduce the
-over-replication of links from new DCs.  We have also made the parsing
-of on-disk linked attributes much more efficient.
-
-DNS improvements
+netlogon prefork
 ----------------
 
-The samba-tool dns subcommand is now much more robust and can delete
-records in a number of situations where it was not possible to do so
-in the past.
+DCERPC now supports pre-forked NETLOGON processes. The netlogon processes are
+pre-forked when the prefork process model is selected for samba.
 
-On the server side, DNS names are now more strictly validated.
+Offline domain backups
+----------------------
 
-CTDB changes
-------------
+The 'samba-tool domain backup' command has been extended with a new 'offline'
+option. This safely creates a backup of the local DC's database directly from
+disk. The main benefits of an offline backup are it's quicker, it stores more
+database details (for forensic purposes), and the samba process does not have
+to be running when the backup is made. Refer to the samba-tool help for more
+details on using this command.
 
-* "ctdb event" is a new top-level command for interacting with event scripts
+Group membership statistics
+---------------------------
 
-  "ctdb event status" replaces "ctdb scriptstatus" - the latter is
-  maintained for backward compatibility but the output format has been
-  cleaned up
+A new 'samba-tool group stats' command has been added. This provides summary
+information about how the users are spread across groups in your domain.
+The 'samba-tool group list --verbose' command has also been updated to include
+the number of users in each group.
 
-  "ctdb event run" replaces "ctdb eventscript"
+prefork process restart
+-----------------------
 
-  "ctdb event script enable" replaces "ctdb enablescript"
+The pre-fork process model now restarts failed processes. The delay between
+restart attempts is controlled by the "prefork backoff increment" (default = 10)
+and "prefork maximum backoff" (default = 120) smbd.conf parameters.  A linear
+back off strategy is used with "prefork backoff increment" added to the
+delay between restart attempts up until it reaches "prefork maximum backoff".
 
-  "ctdb event script disable" replaces "ctdb disablescript"
+Using the default sequence the restart delays (in seconds) are:
+  0, 10, 20, ..., 120, 120, ...
 
-  The new command "ctdb event script list" lists event scripts.
+standard process model
+----------------------
 
-* CTDB's back-end for running event scripts has been replaced by a
-  separate, long-running daemon ctdbd_eventd.
+When using the standard process model samba forks a new process to handle ldap
+and netlogon connections.  Samba now honours the 'max smbd processes' smb.conf
+parameter.  The default value of 0, indicates there is no limit.  The limit
+is applied individually to netlogon and ldap.  When the process limit is
+exceeded Samba drops new connections immediately.
 
-* Running ctdb interactively will log to stderr
+python3 support
+---------------
 
-* CTDB logs now include process id for each process
+The version of python which is now the default for samba is python3.
+'configure' & 'make' will execute using python3. It is possible to still
+specify an additional python version with '--extra-python'
+e.g. '--extra-python=/usr/bin/python2'. It should be noted that support for
+this option will be deprecated in a future release.
 
-* CTDB tags log messages differently.  Changes include:
+What if I need to build with python2? To build with python2 you *must* set
+the 'PYTHON' environent variable to override the python3 default for both
+'configure' and 'make' steps.
 
-  ctdb-recoverd: Messages from CTDB's recovery daemon
-  ctdb-recovery: Messages from CTDB database recovery
-  ctdb-eventd: Messages from CTDB's event daemon
-  ctdb-takeover: Messgaes from CTDB's public IP takeover subsystem
+   'PYTHON=python2 ./configure.developer'
+&
+   'PYTHON=python2 make'
 
-* The mapping between symbolic and numeric debug levels has changed
+Note: Support for python2 (with the exception of a build configured with
+      'PYTHON=python2 ./configure --disable-python' and built with
+      'PYTHON=python2 make' will be deprecated in the next release.
 
-  Configurations containing numeric debug levels should be updated.
-  Symbolic debug levels are recommended.  See the DEBUG LEVEL section
-  of ctdb(7) for details.
+JSON logging
+------------
 
-*  Tunable IPAllocAlgorithm replaces LCP2PublicIPs, DeterministicIPs
+Authentication messages now contain the Windows Event Id "eventId" and logon
+type "logonType". The supported event codes and logon types are:
+  Event codes:
+    4624  Successful logon
+    4625  Unsuccessful logon
 
-   See ctdb-tunables(7) for details
+  Logon Types:
+    2  Interactive
+    3  Network
+    8  NetworkCleartext
 
-* CTDB's configuration tunables should be consistently set across a cluster
+The version number for Authentication messages is now 1.1, changed from 1.0
 
-  This has always been the cases for most tunables but this fact is
-  now documented.
+Password change messages now contain the Windows Event Id "eventId", the
+supported event Id's are:
+  4723 Password changed
+  4724 Password reset
 
-* CTDB ships with recovery lock helper call-outs for etcd and Ceph RADOS
+The version number for PasswordChange messages is now 1.1, changed from 1.0
 
-  To build/install these, use the --enable-etcd-reclock and
-  --enable-ceph-reclock configure options.
+Group membership change messages now contain the Windows Event Id "eventId",
+the supported event Id's are:
+  4728 A member was added to a security enabled global group
+  4729 A member was removed from a security enabled global group
+  4732 A member was added to a security enabled local group
+  4733 A member was removed from a security enabled local group
+  4746 A member was added to a security disabled local group
+  4747 A member was removed from a security disabled local group
+  4751 A member was added to a security disabled global group
+  4752 A member was removed from a security disabled global group
+  4756 A member was added to a security enabled universal group
+  4757 A member was removed from a security enabled universal group
+  4761 A member was added to a security disabled universal group
+  4762 A member was removed from a security disabled universal group
 
 
-smb.conf changes
+The version number for GroupChange messages is now 1.1, changed from 1.0. Also
+A GroupChange message is generated when a new user is created to log that the
+user has been added to their primary group.
+
+The leading "JSON <message type>:" and source file  prefix of the JSON formatted
+log entries has been removed to make the parsing of the JSON log messages
+easier. JSON log entries now start with 2 spaces followed by an opening brace
+i.e. "  {"
+
+
+
+
+REMOVED FEATURES
 ================
 
-  Parameter Name                Description             Default
-  --------------                -----------             -------
-  kerberos encryption types     New                     all
-  inherit owner                 New option
-  fruit:resource                Spelling correction
-  lsa over netlogon             New (deprecated)        no
-  rpc server port               New                     0
+MIT Kerberos build of the AD DC
+-------------------------------
+
+While not removed, the MIT Kerberos build of the Samba AD DC is still
+considered experimental.  Because Samba will not issue security
+patches for this configuration, such builds now require the explicit
+configure option: --with-experimental-mit-ad-dc
+
+For further details see
+https://wiki.samba.org/index.php/Running_a_Samba_AD_DC_with_MIT_Kerberos_KDC
+
+samba_backup
+------------
 
+The samba_backup script has been removed. This has now been replaced by the
+'samba-tool domain backup offline' command.
+
+smb.conf changes
+================
+
+  Parameter Name                     Description                Default
+  --------------                     -----------                -------
+  prefork backoff increment   Delay added to process restart    10 (seconds)
+                              between attempts.
+  prefork maximum backoff     Maximum delay for process between 120 (seconds)
+                              process restart attempts
+  smbd search ask sharemode   Name changed, old name was
+                              "smbd:search ask sharemode"
+  smbd async dosmode          Name changed, old name was
+                              "smbd:async dosmode"
+  smbd max async dosmode      Name changed, old name was
+                              "smbd:max async dosmode"
+  smbd getinfo ask sharemode  New: similar to "smbd search ask  yes
+                              sharemode" but for SMB getinfo
 
 KNOWN ISSUES
 ============
 
-Currently none.
+https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.10#Release_blocking_bugs
+
 
 #######################################
 Reporting bugs & Development Discussion