selftest: Add test for 'samba-tool tombstones expunge'
[Samba.git] / WHATSNEW.txt
blobb198a567b4a6f22e5690957ea6be70e28a79589c
1                    =============================
2                    Release Notes for Samba 4.5.0
3                            September 7, 2016
4                    =============================
7 This is the first stable release of the Samba 4.5 release series.
10 UPGRADING
11 =========
13 NTLMv1 authentication disabled by default
14 -----------------------------------------
16 In order to improve security we have changed
17 the default value for the "ntlm auth" option from
18 "yes" to "no". This may have impact on very old
19 clients which doesn't support NTLMv2 yet.
21 The primary user of NTLMv1 is MSCHAPv2 for VPNs and 802.1x.
23 By default, Samba will only allow NTLMv2 via NTLMSSP now,
24 as we have the following default "lanman auth = no",
25 "ntlm auth = no" and "raw NTLMv2 auth = no".
28 NEW FEATURES/CHANGES
29 ====================
31 Support for LDAP_SERVER_NOTIFICATION_OID
32 ----------------------------------------
34 The ldap server has support for the LDAP_SERVER_NOTIFICATION_OID
35 control. This can be used to monitor the Active Directory database
36 for changes.
38 KCC improvements for sparse network replication
39 -----------------------------------------------
41 The Samba KCC will now be the default knowledge consistency checker in
42 Samba AD. Instead of using full mesh replication between every DC, the
43 KCC will set up connections to optimize replication latency and cost
44 (using site links to calculate the routes). This change should allow
45 larger domains to function significantly better in terms of replication
46 traffic and the time spent performing DRS replication.
48 VLV - Virtual List View
49 -----------------------
51 The VLV Control allows applications to page the LDAP directory in the
52 way you might expect a live phone book application to operate, without
53 first downloading the entire directory.
55 DRS Replication for the AD DC
56 -----------------------------
58 DRS Replication in Samba 4.5 is now much more efficient in handling
59 linked attributes, particularly in large domains with over 1000 group
60 memberships or other links.
62 Replication is also much more reliable in the handling of tree
63 renames, such as the rename of an organizational unit containing many
64 users.  Extensive tests have been added to ensure this code remains
65 reliable, particularly in the case of conflicts between objects added
66 with the same name on different servers.
68 Schema updates are also handled much more reliably.
70 samba-tool drs replicate with new options
71 -----------------------------------------
73 'samba-tool drs replicate' got two new options:
75 The option '--local-online' will do the DsReplicaSync() via IRPC
76 to the local dreplsrv service.
78 The option '--async-op' will add DRSUAPI_DRS_ASYNC_OP to the
79 DsReplicaSync(), which won't wait for the replication result.
81 replPropertyMetaData Changes
82 ----------------------------
84 During the development of the DRS replication, tests showed that Samba
85 stores the replPropertyMetaData object incorrectly. To address this,
86 be aware that 'dbcheck' will now detect and offer to fix all objects in
87 the domain for this error.
89 For further information and instructions how to fix the problem, see
90 https://wiki.samba.org/index.php/Updating_Samba#Fixing_replPropertyMetaData_Attributes
92 Linked attributes on deleted objects
93 ------------------------------------
95 In Active Directory, an object that has been tombstoned or recycled
96 has no linked attributes.  However, Samba incorrectly maintained such
97 links, slowing replication and run-time performance.  'dbcheck' now
98 offers to remove such links, and they are no longer kept after the
99 object is tombstoned or recycled.
101 Improved AD DC performance
102 --------------------------
104 Many other improvements have been made to our LDAP database layer in
105 the AD DC, to improve performance, both during 'samba-tool domain
106 provision' and at runtime.
108 Other dbcheck improvements
109 --------------------------
111  - 'samba-tool dbcheck' can now find and fix a missing or corrupted
112    'deleted objects' container.
113  - BUG 11433: samba-dbcheck no longer offers to resort auxiliary class values
114    in objectClass as these were then re-sorted at the next dbcheck indefinitely.
116 Tombstone Reanimation
117 ---------------------
119 Samba now supports tombstone reanimation, a feature in the AD DC
120 allowing tombstones, that is objects which have been deleted, to be
121 restored with the original SID and GUID still in place.
123 Multiple DNS Forwarders on the AD DC
124 ------------------------------------
126 Previously, the Samba internal DNS server supported only one DNS forwarder.
127 The "dns forwarder" option has been enhanced and now supports a space-separated
128 list of multiple DNS server IP addresses. As a result, Samba is now able to
129 fall back to alternative DNS servers. In case that a DNS query to the first
130 server timed out, it is sent to the next DNS server listed in the option.
132 Password quality plugin support in the AD DC
133 --------------------------------------------
135 The check password script now operates correctly in the AD DC.
137 pwdLastSet is now correctly honoured
138 ------------------------------------
140 BUG 9654: The pwdLastSet attribute is now correctly handled (this previously
141 permitted passwords that expire next).
143 net ads dns unregister
144 ----------------------
146 It is now possible to remove the DNS entries created with 'net ads register'
147 with the matching 'net ads unregister' command.
149 samba-tool improvements
150 ------------------------
152 Running 'samba-tool' on the command line should now be a lot snappier. The tool
153 now only loads the code specific to the subcommand that you wish to run.
155 SMB 2.1 Leases enabled by default
156 ---------------------------------
158 Leasing is an SMB 2.1 (and higher) feature which allows clients to
159 aggressively cache files locally above and beyond the caching allowed
160 by SMB 1 oplocks. This feature was disabled in previous releases, but
161 the SMB2 leasing code is now considered mature and stable enough to be
162 enabled by default.
164 Open File Description (OFD) Locks
165 ---------------------------------
167 On systems that support them (currently only Linux), the fileserver now
168 uses Open File Description (OFD) locks instead of POSIX locks to implement
169 client byte range locks. As these locks are associated with a specific
170 file descriptor on a file this allows more efficient use when multiple
171 descriptors having file locks are opened onto the same file. An internal
172 tunable "smbd:force process locks = true" may be used to turn off OFD
173 locks if there appear to be problems with them.
175 Password sync as Active Directory domain controller
176 ---------------------------------------------------
178 The new commands 'samba-tool user getpassword'
179 and 'samba-tool user syncpasswords' provide
180 access and syncing of various password fields.
182 If compiled with GPGME support (--with-gpgme) it's
183 possible to store cleartext passwords in a PGP/OpenGPG
184 encrypted form by configuring the new "password hash gpg key ids"
185 option. This requires gpgme devel and python packages to be installed
186 (e.g. libgpgme11-dev and python-gpgme on Debian/Ubuntu).
188 Python crypto requirements
189 --------------------------
191 Some 'samba-tool' subcommands require python-crypto and/or
192 python-m2crypto packages to be installed.
194 SmartCard/PKINIT improvements
195 -----------------------------
197 'samba-tool user create' accepts "--smartcard-required"
198 and 'samba-tool user setpassword' accepts "--smartcard-required"
199 and "--clear-smartcard-required".
201 Specifying "--smartcard-required" results in the UF_SMARTCARD_REQUIRED
202 flags being set in the userAccountControl attribute.
203 At the same time, the account password is reset to a random
204 NTHASH value.
206 Interactive password logons are rejected, if the UF_SMARTCARD_REQUIRED
207 bit is set in the userAccountControl attribute of a user.
209 When doing a PKINIT based Kerberos logon the KDC adds the
210 required PAC_CREDENTIAL_INFO element to the authorization data.
211 That means the NTHASH is shared between the PKINIT based client and
212 the domain controller, which allows the client to do NTLM based
213 authentication on behalf of the user. It also allows an offline
214 logon using a smartcard to work on Windows clients.
216 CTDB changes
217 ------------
219 * New improved 'ctdb tool'
221   'ctdb tool' has been completely rewritten using new client API.
222   Usage messages are much improved.
224 * Sample CTDB configuration file is installed as ctdbd.conf.
226 * The use of real-time scheduling when taking locks has been narrowed
227   to limit potential performance impacts on nodes.
229 * CTDB_RECOVERY_LOCK now supports specification of an external helper
230   to take and hold the recovery lock.
232   See the RECOVERY LOCK section in ctdb(7) for details.  Documentation
233   for writing helpers is provided in doc/cluster_mutex_helper.txt.
235 * "ctdb natgwlist" has been replaced by a top level "ctdb natgw"
236   command that has "master", "list" and "status" subcommands.
238 * The 'onnode' command no longer supports the "recmaster", "lvs" and
239   "natgw" node specifications.
241 * Faster resetting of TCP connections to public IP addresses during
242   failover.
244 * Tunables MaxRedirectCount, ReclockPingPeriod,
245   DeferredRebalanceOnNodeAdd are now obsolete/ignored.
247 * "ctdb listvars" now lists all variables, including the first one.
249 * "ctdb xpnn", "ctdb rebalanceip" and "ctdb rebalancenode" have been
250   removed.
252   These are not needed because "ctdb reloadips" should do the correct
253   rebalancing.
255 * Output for the following commands has been simplified:
257     ctdb getdbseqnum
258     ctdb getdebug
259     ctdb getmonmode
260     ctdb getpid
261     ctdb getreclock
262     ctdb getpid
263     ctdb pnn
265   These now simply print the requested output with no preamble.  This
266   means that scripts no longer need to strip part of the output.
268   "ctdb getreclock" now prints nothing when the recovery lock is not
269   set.
271 * Output for the following commands has been improved:
273   ctdb setdebug
274   ctdb uptime
276 * 'ctdb process-exists' has been updated to only take a PID argument.
278   The PNN can be specified with -n <PNN>.  Output also cleaned up.
280 * LVS support has been reworked - related commands and configuration
281   variables have changed.
283   'ctdb lvsmaster' and 'ctdb lvs' have been replaced by a top level
284   'ctdb lvs' command that has 'master', 'list' and 'status'
285   subcommands.
287   See the LVS sections in ctdb(7) and ctdbd.conf(5) for details,
288   including configuration changes.
290 * Improved sample NFS Ganesha call-out.
292 New shadow_copy2 options
293 ------------------------
295 * shadow:snapprefix
297   With growing number of snapshots file-systems need some mechanism to
298   differentiate one set of snapshots from other, e.g. monthly, weekly, manual,
299   special events, etc. Therefore, these file-systems provide different ways to tag
300   snapshots, e.g. provide a configurable way to name snapshots, which is not just
301   based on time.  With only shadow:format it is very difficult to filter these
302   snapshots. With this optional parameter, one can specify a variable prefix
303   component for names of the snapshot directories in the file-system. If this
304   parameter is set, together with the shadow:format and shadow:delimiter
305   parameters it determines the possible names of snapshot directories in the
306   file-system. The option only supports Basic Regular Expression (BRE).
308 * shadow:delimiter
310   This optional parameter is used as a delimiter between "shadow:snapprefix" and
311   "shadow:format". This parameter is used only when "shadow:snapprefix" is set.
313   Default: shadow:delimiter = "_GMT"
316 REMOVED FEATURES
317 ================
319 "only user" and "username" parameters
320 -------------------------------------
322 These two parameters have long been deprecated and superseded by
323 "valid users" and "invalid users".
326 smb.conf changes
327 ================
329   Parameter Name                Description             Default
330   --------------                -----------             -------
331   kccsrv:samba_kcc              Changed default         yes
332   ntlm auth                     Changed default         no
333   only user                     Removed
334   password hash gpg key ids     New
335   shadow:snapprefix             New
336   shadow:delimiter              New                     _GMT
337   smb2 leases                   Changed default         yes
338   username                      Removed
341 KNOWN ISSUES
342 ============
344 While a lot of schema replication bugs were fixed in this release
345 Bug 12204 - Samba fails to replicate schema 69
346 (https://bugzilla.samba.org/show_bug.cgi?id=12204) is still open.
347 The replication fails if more than 133 schema objects are added
348 at the same time.
350 More open bugs are listed at:
351 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.5#All_bugs
354 CHANGES SINCE 4.5.0rc3
355 ======================
357 o   Björn Baumbach <bb@sernet.de>
358     * BUG 12194: idmap_script: fix missing "IDTOSID" argument in scripts
359       command line.
361 o   Andrew Bartlett <abartlet@samba.org>
362     * BUG 12178: samba-tool dbcheck fails to fix replPropertyMetaData.
364 o   Ralph Boehme <slow@samba.org>
365     * BUG 12177: Unexpected synthesized default ACL from vfs_acl_xattr.
366     * BUG 12181: vfs_acl_common not setting filesystem permissions anymore.
367     * BUG 12184: Loading shared RPC modules failed.
369 o   Günther Deschner <gd@samba.org>
370     * BUG 12245: fix _spoolss_GetPrinterDataEx by moving the keyname
371       length check.
373 o   Stefan Metzmacher <metze@samba.org>
374     * BUG 11994: smbclient fails to connect to Azure or Apple share spnego
375       fails with no mechListMIC.
377 o   Martin Schwenke <martin@meltin.net>
378     * BUG 12180: CTDB crashes running eventscripts.
381 CHANGES SINCE 4.5.0rc2
382 ======================
384 o   Michael Adam <obnox@samba.org>
385     * BUG 12155: Some idmap backends don't perform range checks for the result
386       of sids_to_xids.
388 o   Jeremy Allison <jra@samba.org>
389     * BUG 12115: Endless loop on drsuapi pull replication after schema changes.
390     * BUG 12135: net ads gpo refresh can crash with null pointer deref..
391     * BUG 12139: Race between break oplock and check for share_mode.
392     * BUG 12150: SMB2 snapshot query fails on DFS shares..
393     * BUG 12165: smbclient allinfo doesn't correctly return 'previous version'
394       info over SMB1.
395     * BUG 12166: smbclient allinfo doesn't correctly return 'previous version'
396       info over SMB2.
397     * BUG 12174: error: 'conn' undeclared.
399 o   Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
400     * BUG 12143: misnamed attribute in samba_kcc causes exception in unusual
401       circumstances.
402     * BUG 12187: Backport changes for partial attribute set calculation
403       for 4.5.
405 o   Andrew Bartlett <abartlet@samba.org>
406     * BUG 12107: backport backupkey tests.
407     * BUG 12115: Endless loop on drsuapi pull replication after schema changes.
408     * BUG 12128: Correctly resolve replicated schema changes regarding linked
409       attributes.
411 o   Amitay Isaacs <amitay@gmail.com>
412     * BUG 12137: Fix printf format non-liternal warnings and printf
413       format errors.
414     * BUG 12138: Fix uninitialized timeout in ctdb_pmda.
415     * BUG 12151: Drop resurrected ctdb commands in new ctdb tool.
416     * BUG 12152: Fix ctdb addip; implementation to match ctdb delip.
417     * BUG 12163: Fix missing arguments and format elements in format strings.
418     * BUG 12168: Fix format-nonliteral warnings.
420 o   Stefan Metzmacher <metze@samba.org>
421     * BUG 12108: Backport selftest/autobuild fixes to v4-5-test.
422     * BUG 12114: In memory schema updated on non schema master.
423     * BUG 12115: Endless loop on drsuapi pull replication after schema changes.
424     * BUG 12128: Correctly resolve replicated schema changes regarding
425       linked attributes.
426     * BUG 12129: let samba-tool ldapcmp ignore whenChanged.
428 o   Garming Sam <garming@catalyst.net.nz>
429     * BUG 12187: Backport changes for partial attribute set calculation
430       for 4.5.
432 o   Andreas Schneider <asn@samba.org>
433     * BUG 12175: smbget always prompts for a username.
435 o   Christof Schmitt <cs@samba.org>
436     * BUG 12150: SMB2 snapshot query fails on DFS shares..
438 o   Martin Schwenke <martin@meltin.net>
439     * BUG 12157: Coverity and related fixes.
440     * BUG 12158: CTDB release IP fixes.
441     * BUG 12161: Fix CTDB cumulative takeover timeout.
442     * BUG 12170: CTDB test runs can kill each other's ctdbd daemons.
444 o   Uri Simchoni <uri@samba.org>
445     * BUG 12145: smbd: if inherit owner is enabled, the free disk on a folder
446       should take the owner's quota into account.
447     * BUG 12149: smbd: cannot load a Windows device driver from a Samba share
448       via SMB2.
449     * BUG 12172: a snapshot folder cannot be accessed via SMB1.
452 CHANGES SINCE 4.5.0rc1
453 ======================
455 o   Ralph Boehme <slow@samba.org>
456     * BUG 12005: parse_share_modes() chokes on ctdb tombstone record from ltdb.
457     * BUG 12105: smbclient connection to not reachable IP eats 100% CPU.
459 o   Ira Cooper <ira@samba.org>
460     * BUG 12133: source3/wscript: Add support for disabling vfs_cephfs.
462 o   Amitay Isaacs <amitay@gmail.com>
463     * BUG 12121: ctdb-tools: Fix numerous Coverity IDs and other issues.
464     * BUG 12122: If a transaction fails, it should be canceled and transaction
465       handle should be freed.
466     * BUG 12134: dbwrap: Fix structure initialization.
468 o   Marc Muehlfeld <mmuehlfeld@samba.org>
469     * BUG 12023: man: Fix wrong option for parameter "ldap ssl" in smb.conf
470       man page.
472 o   Andreas Schneider <asn@samba.org>
473     * BUG 12104: ctdb-waf: Move ctdb tests to libexec directory.
475 o   Martin Schwenke <martin@meltin.net>
476     * BUG 12104: ctdb-packaging: Move ctdb tests to libexec directory.
477     * BUG 12109: Fixes several CTDB tests.
478     * BUG 12110: Fix numerous Coverity IDs.
479     * BUG 12113: ctdb-mutex: Avoid corner case where helper is already
480       reparented to init.
481     * BUG 12123: Fix ctdb tickle command and update documentation.
482     * BUG 12125: CTDB overwrites working configuration due to packaging
483       change.
484     * BUG 12126: Fix broken CTDB log messages.
487 #######################################
488 Reporting bugs & Development Discussion
489 #######################################
491 Please discuss this release on the samba-technical mailing list or by
492 joining the #samba-technical IRC channel on irc.freenode.net.
494 If you do report problems then please try to send high quality
495 feedback. If you don't provide vital information to help us track down
496 the problem then you will probably be ignored.  All bug reports should
497 be filed under the Samba 4.1 and newer product in the project's Bugzilla
498 database (https://bugzilla.samba.org/).
501 ======================================================================
502 == Our Code, Our Bugs, Our Responsibility.
503 == The Samba Team
504 ======================================================================