WHATSNEW: Release notes for Samba 4.5.0rc3.
[Samba.git] / WHATSNEW.txt
blob91422af30ee7f0acc096ceb2f6cbca0040db0735
1 Release Announcements
2 =====================
4 This is the third release candidate of Samba 4.5.  This is *not*
5 intended for production environments and is designed for testing
6 purposes only.  Please report any defects via the Samba bug reporting
7 system at https://bugzilla.samba.org/.
9 Samba 4.5 will be the next version of the Samba suite.
12 UPGRADING
13 =========
15 NTLMv1 authentication disabled by default
16 -----------------------------------------
18 In order to improve security we have changed
19 the default value for the "ntlm auth" option from
20 "yes" to "no". This may have impact on very old
21 clients which doesn't support NTLMv2 yet.
23 The primary user of NTLMv1 is MSCHAPv2 for VPNs and 802.1x.
25 By default, Samba will only allow NTLMv2 via NTLMSSP now,
26 as we have the following default "lanman auth = no",
27 "ntlm auth = no" and "raw NTLMv2 auth = no".
30 NEW FEATURES/CHANGES
31 ====================
33 Support for LDAP_SERVER_NOTIFICATION_OID
34 ----------------------------------------
36 The ldap server has support for the LDAP_SERVER_NOTIFICATION_OID
37 control. This can be used to monitor the Active Directory database
38 for changes.
40 KCC improvements for sparse network replication
41 -----------------------------------------------
43 The Samba KCC will now be the default knowledge consistency checker in
44 Samba AD. Instead of using full mesh replication between every DC, the
45 KCC will set up connections to optimize replication latency and cost
46 (using site links to calculate the routes). This change should allow
47 larger domains to function significantly better in terms of replication
48 traffic and the time spent performing DRS replication.
50 VLV - Virtual List View
51 -----------------------
53 The VLV Control allows applications to page the LDAP directory in the
54 way you might expect a live phone book application to operate, without
55 first downloading the entire directory.
57 DRS Replication for the AD DC
58 -----------------------------
60 DRS Replication in Samba 4.5 is now much more efficient in handling
61 linked attributes, particularly in large domains with over 1000 group
62 memberships or other links.
64 Replication is also much more reliable in the handling of tree
65 renames, such as the rename of an organizational unit containing many
66 users.  Extensive tests have been added to ensure this code remains
67 reliable, particularly in the case of conflicts between objects added
68 with the same name on different servers.
70 Schema updates are also handled much more reliably.
72 samba-tool drs replicate with new options
73 -----------------------------------------
75 'samba-tool drs replicate' got two new options:
77 The option '--local-online' will do the DsReplicaSync() via IRPC
78 to the local dreplsrv service.
80 The option '--async-op' will add DRSUAPI_DRS_ASYNC_OP to the
81 DsReplicaSync(), which won't wait for the replication result.
83 replPropertyMetaData Changes
84 ----------------------------
86 During the development of the DRS replication, tests showed that Samba
87 stores the replPropertyMetaData object incorrectly. To address this,
88 be aware that 'dbcheck' will now detect and offer to fix all objects in
89 the domain for this error.
91 For further information and instructions how to fix the problem, see
92 https://wiki.samba.org/index.php/Updating_Samba#Fixing_replPropertyMetaData_Attributes
94 Linked attributes on deleted objects
95 ------------------------------------
97 In Active Directory, an object that has been tombstoned or recycled
98 has no linked attributes.  However, Samba incorrectly maintained such
99 links, slowing replication and run-time performance.  'dbcheck' now
100 offers to remove such links, and they are no longer kept after the
101 object is tombstoned or recycled.
103 Improved AD DC performance
104 --------------------------
106 Many other improvements have been made to our LDAP database layer in
107 the AD DC, to improve performance, both during 'samba-tool domain
108 provision' and at runtime.
110 Other dbcheck improvements
111 --------------------------
113  - 'samba-tool dbcheck' can now find and fix a missing or corrupted
114    'deleted objects' container.
115  - BUG 11433: samba-dbcheck no longer offers to resort auxiliary class values
116    in objectClass as these were then re-sorted at the next dbcheck indefinitely.
118 Tombstone Reanimation
119 ---------------------
121 Samba now supports tombstone reanimation, a feature in the AD DC
122 allowing tombstones, that is objects which have been deleted, to be
123 restored with the original SID and GUID still in place.
125 Multiple DNS Forwarders on the AD DC
126 ------------------------------------
128 Previously, the Samba internal DNS server supported only one DNS forwarder.
129 The "dns forwarder" option has been enhanced and now supports a space-separated
130 list of multiple DNS server IP addresses. As a result, Samba is now able to
131 fall back to alternative DNS servers. In case that a DNS query to the first
132 server timed out, it is sent to the next DNS server listed in the option.
134 Password quality plugin support in the AD DC
135 --------------------------------------------
137 The check password script now operates correctly in the AD DC.
139 pwdLastSet is now correctly honoured
140 ------------------------------------
142 BUG 9654: The pwdLastSet attribute is now correctly handled (this previously
143 permitted passwords that expire next).
145 net ads dns unregister
146 ----------------------
148 It is now possible to remove the DNS entries created with 'net ads register'
149 with the matching 'net ads unregister' command.
151 samba-tool improvements
152 ------------------------
154 Running 'samba-tool' on the command line should now be a lot snappier. The tool
155 now only loads the code specific to the subcommand that you wish to run.
157 SMB 2.1 Leases enabled by default
158 ---------------------------------
160 Leasing is an SMB 2.1 (and higher) feature which allows clients to
161 aggressively cache files locally above and beyond the caching allowed
162 by SMB 1 oplocks. This feature was disabled in previous releases, but
163 the SMB2 leasing code is now considered mature and stable enough to be
164 enabled by default.
166 Open File Description (OFD) Locks
167 ---------------------------------
169 On systems that support them (currently only Linux), the fileserver now
170 uses Open File Description (OFD) locks instead of POSIX locks to implement
171 client byte range locks. As these locks are associated with a specific
172 file descriptor on a file this allows more efficient use when multiple
173 descriptors having file locks are opened onto the same file. An internal
174 tunable "smbd:force process locks = true" may be used to turn off OFD
175 locks if there appear to be problems with them.
177 Password sync as Active Directory domain controller
178 ---------------------------------------------------
180 The new commands 'samba-tool user getpassword'
181 and 'samba-tool user syncpasswords' provide
182 access and syncing of various password fields.
184 If compiled with GPGME support (--with-gpgme) it's
185 possible to store cleartext passwords in a PGP/OpenGPG
186 encrypted form by configuring the new "password hash gpg key ids"
187 option. This requires gpgme devel and python packages to be installed
188 (e.g. libgpgme11-dev and python-gpgme on Debian/Ubuntu).
190 Python crypto requirements
191 --------------------------
193 Some 'samba-tool' subcommands require python-crypto and/or
194 python-m2crypto packages to be installed.
196 SmartCard/PKINIT improvements
197 -----------------------------
199 'samba-tool user create' accepts "--smartcard-required"
200 and 'samba-tool user setpassword' accepts "--smartcard-required"
201 and "--clear-smartcard-required".
203 Specifying "--smartcard-required" results in the UF_SMARTCARD_REQUIRED
204 flags being set in the userAccountControl attribute.
205 At the same time, the account password is reset to a random
206 NTHASH value.
208 Interactive password logons are rejected, if the UF_SMARTCARD_REQUIRED
209 bit is set in the userAccountControl attribute of a user.
211 When doing a PKINIT based Kerberos logon the KDC adds the
212 required PAC_CREDENTIAL_INFO element to the authorization data.
213 That means the NTHASH is shared between the PKINIT based client and
214 the domain controller, which allows the client to do NTLM based
215 authentication on behalf of the user. It also allows an offline
216 logon using a smartcard to work on Windows clients.
218 CTDB changes
219 ------------
221 * New improved 'ctdb tool'
223   'ctdb tool' has been completely rewritten using new client API.
224   Usage messages are much improved.
226 * Sample CTDB configuration file is installed as ctdbd.conf.
228 * The use of real-time scheduling when taking locks has been narrowed
229   to limit potential performance impacts on nodes.
231 * CTDB_RECOVERY_LOCK now supports specification of an external helper
232   to take and hold the recovery lock.
234   See the RECOVERY LOCK section in ctdb(7) for details.  Documentation
235   for writing helpers is provided in doc/cluster_mutex_helper.txt.
237 * "ctdb natgwlist" has been replaced by a top level "ctdb natgw"
238   command that has "master", "list" and "status" subcommands.
240 * The 'onnode' command no longer supports the "recmaster", "lvs" and
241   "natgw" node specifications.
243 * Faster resetting of TCP connections to public IP addresses during
244   failover.
246 * Tunables MaxRedirectCount, ReclockPingPeriod,
247   DeferredRebalanceOnNodeAdd are now obsolete/ignored.
249 * "ctdb listvars" now lists all variables, including the first one.
251 * "ctdb xpnn", "ctdb rebalanceip" and "ctdb rebalancenode" have been
252   removed.
254   These are not needed because "ctdb reloadips" should do the correct
255   rebalancing.
257 * Output for the following commands has been simplified:
259     ctdb getdbseqnum
260     ctdb getdebug
261     ctdb getmonmode
262     ctdb getpid
263     ctdb getreclock
264     ctdb getpid
265     ctdb pnn
267   These now simply print the requested output with no preamble.  This
268   means that scripts no longer need to strip part of the output.
270   "ctdb getreclock" now prints nothing when the recovery lock is not
271   set.
273 * Output for the following commands has been improved:
275   ctdb setdebug
276   ctdb uptime
278 * 'ctdb process-exists' has been updated to only take a PID argument.
280   The PNN can be specified with -n <PNN>.  Output also cleaned up.
282 * LVS support has been reworked - related commands and configuration
283   variables have changed.
285   'ctdb lvsmaster' and 'ctdb lvs' have been replaced by a top level
286   'ctdb lvs' command that has 'master', 'list' and 'status'
287   subcommands.
289   See the LVS sections in ctdb(7) and ctdbd.conf(5) for details,
290   including configuration changes.
292 * Improved sample NFS Ganesha call-out.
294 New shadow_copy2 options
295 ------------------------
297 * shadow:snapprefix
299   With growing number of snapshots file-systems need some mechanism to
300   differentiate one set of snapshots from other, e.g. monthly, weekly, manual,
301   special events, etc. Therefore, these file-systems provide different ways to tag
302   snapshots, e.g. provide a configurable way to name snapshots, which is not just
303   based on time.  With only shadow:format it is very difficult to filter these
304   snapshots. With this optional parameter, one can specify a variable prefix
305   component for names of the snapshot directories in the file-system. If this
306   parameter is set, together with the shadow:format and shadow:delimiter
307   parameters it determines the possible names of snapshot directories in the
308   file-system. The option only supports Basic Regular Expression (BRE).
310 * shadow:delimiter
312   This optional parameter is used as a delimiter between "shadow:snapprefix" and
313   "shadow:format". This parameter is used only when "shadow:snapprefix" is set.
315   Default: shadow:delimiter = "_GMT"
318 REMOVED FEATURES
319 ================
321 "only user" and "username" parameters
322 -------------------------------------
324 These two parameters have long been deprecated and superseded by
325 "valid users" and "invalid users".
328 smb.conf changes
329 ================
331   Parameter Name                Description             Default
332   --------------                -----------             -------
333   kccsrv:samba_kcc              Changed default         yes
334   ntlm auth                     Changed default         no
335   only user                     Removed
336   password hash gpg key ids     New
337   shadow:snapprefix             New
338   shadow:delimiter              New                     _GMT
339   smb2 leases                   Changed default         yes
340   username                      Removed
343 KNOWN ISSUES
344 ============
346 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.5#All_bugs
349 CHANGES SINCE 4.5.0rc2
350 ======================
352 o   Michael Adam <obnox@samba.org>
353     * BUG 12155: Some idmap backends don't perform range checks for the result
354       of sids_to_xids.
356 o   Jeremy Allison <jra@samba.org>
357     * BUG 12115: Endless loop on drsuapi pull replication after schema changes.
358     * BUG 12135: net ads gpo refresh can crash with null pointer deref..
359     * BUG 12139: Race between break oplock and check for share_mode.
360     * BUG 12150: SMB2 snapshot query fails on DFS shares..
361     * BUG 12165: smbclient allinfo doesn't correctly return 'previous version'
362       info over SMB1.
363     * BUG 12166: smbclient allinfo doesn't correctly return 'previous version'
364       info over SMB2.
365     * BUG 12174: error: 'conn' undeclared.
367 o   Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
368     * BUG 12143: misnamed attribute in samba_kcc causes exception in unusual
369       circumstances.
370     * BUG 12187: Backport changes for partial attribute set calculation
371       for 4.5.
373 o   Andrew Bartlett <abartlet@samba.org>
374     * BUG 12107: backport backupkey tests.
375     * BUG 12115: Endless loop on drsuapi pull replication after schema changes.
376     * BUG 12128: Correctly resolve replicated schema changes regarding linked
377       attributes.
379 o   Amitay Isaacs <amitay@gmail.com>
380     * BUG 12137: Fix printf format non-liternal warnings and printf
381       format errors.
382     * BUG 12138: Fix uninitialized timeout in ctdb_pmda.
383     * BUG 12151: Drop resurrected ctdb commands in new ctdb tool.
384     * BUG 12152: Fix ctdb addip; implementation to match ctdb delip.
385     * BUG 12163: Fix missing arguments and format elements in format strings.
386     * BUG 12168: Fix format-nonliteral warnings.
388 o   Stefan Metzmacher <metze@samba.org>
389     * BUG 12108: Backport selftest/autobuild fixes to v4-5-test.
390     * BUG 12114: In memory schema updated on non schema master.
391     * BUG 12115: Endless loop on drsuapi pull replication after schema changes.
392     * BUG 12128: Correctly resolve replicated schema changes regarding
393       linked attributes.
394     * BUG 12129: let samba-tool ldapcmp ignore whenChanged.
396 o   Garming Sam <garming@catalyst.net.nz>
397     * BUG 12187: Backport changes for partial attribute set calculation
398       for 4.5.
400 o   Andreas Schneider <asn@samba.org>
401     * BUG 12175: smbget always prompts for a username.
403 o   Christof Schmitt <cs@samba.org>
404     * BUG 12150: SMB2 snapshot query fails on DFS shares..
406 o   Martin Schwenke <martin@meltin.net>
407     * BUG 12157: Coverity and related fixes.
408     * BUG 12158: CTDB release IP fixes.
409     * BUG 12161: Fix CTDB cumulative takeover timeout.
410     * BUG 12170: CTDB test runs can kill each other's ctdbd daemons.
412 o   Uri Simchoni <uri@samba.org>
413     * BUG 12145: smbd: if inherit owner is enabled, the free disk on a folder
414       should take the owner's quota into account.
415     * BUG 12149: smbd: cannot load a Windows device driver from a Samba share
416       via SMB2.
417     * BUG 12172: a snapshot folder cannot be accessed via SMB1.
420 CHANGES SINCE 4.5.0rc1
421 ======================
423 o   Ralph Boehme <slow@samba.org>
424     * BUG 12005: parse_share_modes() chokes on ctdb tombstone record from ltdb.
425     * BUG 12105: smbclient connection to not reachable IP eats 100% CPU.
427 o   Ira Cooper <ira@samba.org>
428     * BUG 12133: source3/wscript: Add support for disabling vfs_cephfs.
430 o   Amitay Isaacs <amitay@gmail.com>
431     * BUG 12121: ctdb-tools: Fix numerous Coverity IDs and other issues.
432     * BUG 12122: If a transaction fails, it should be canceled and transaction
433       handle should be freed.
434     * BUG 12134: dbwrap: Fix structure initialization.
436 o   Marc Muehlfeld <mmuehlfeld@samba.org>
437     * BUG 12023: man: Fix wrong option for parameter "ldap ssl" in smb.conf
438       man page.
440 o   Andreas Schneider <asn@samba.org>
441     * BUG 12104: ctdb-waf: Move ctdb tests to libexec directory.
443 o   Martin Schwenke <martin@meltin.net>
444     * BUG 12104: ctdb-packaging: Move ctdb tests to libexec directory.
445     * BUG 12109: Fixes several CTDB tests.
446     * BUG 12110: Fix numerous Coverity IDs.
447     * BUG 12113: ctdb-mutex: Avoid corner case where helper is already
448       reparented to init.
449     * BUG 12123: Fix ctdb tickle command and update documentation.
450     * BUG 12125: CTDB overwrites working configuration due to packaging
451       change.
452     * BUG 12126: Fix broken CTDB log messages.
455 #######################################
456 Reporting bugs & Development Discussion
457 #######################################
459 Please discuss this release on the samba-technical mailing list or by
460 joining the #samba-technical IRC channel on irc.freenode.net.
462 If you do report problems then please try to send high quality
463 feedback. If you don't provide vital information to help us track down
464 the problem then you will probably be ignored.  All bug reports should
465 be filed under the Samba 4.1 and newer product in the project's Bugzilla
466 database (https://bugzilla.samba.org/).
469 ======================================================================
470 == Our Code, Our Bugs, Our Responsibility.
471 == The Samba Team
472 ======================================================================