dbcheck: don't check expired tombstone objects by default anymore
[Samba.git] / WHATSNEW.txt
blob46298bdbbbcb115af3ce17b1d2ca5052ce953b6b
1                    =============================
2                    Release Notes for Samba 4.9.5
3                            March 12, 2019
4                    =============================
7 Changes since 4.9.4:
8 --------------------
10 o  Andrew Bartlett <abartlet@samba.org>
11    * BUG 13714: audit_logging: Remove debug log header and JSON Authentication:
12      prefix.
13    * BUG 13760: Fix upgrade from 4.7 (or earlier) to 4.9.
15 o  Jeremy Allison <jra@samba.org>
16    * BUG 11495: s3: lib: nmbname: Ensure we limit the NetBIOS name correctly.
17      CID: 1433607.
18    * BUG 13690: smbd: uid: Don't crash if 'force group' is added to an existing
19      share connection.
20    * BUG 13770: s3: VFS: vfs_fruit. Fix the NetAtalk deny mode compatibility
21      code.
22    * BUG 13803: s3: SMB1 POSIX mkdir does case insensitive name lookup.
24 o  Christian Ambach <ambi@samba.org>
25    * BUG 13199: s3:utils/smbget fix recursive download with empty source
26      directories.
28 o  Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
29    * BUG 13716: samba-tool drs showrepl: Do not crash if no dnsHostName found.
31 o  Tim Beale <timbeale@catalyst.net.nz>
32    * BUG 13736: s3:libsmb: cli_smb2_list() can sometimes fail initially on a
33      connection.
34    * BUG 13747: join: Throw CommandError instead of Exception for simple errors.
35    * BUG 13762: ldb: Avoid inefficient one-level searches.
37 o  Ralph Boehme <slow@samba.org>
38    * BUG 13736: s3: libsmb: use smb2cli_conn_max_trans_size() in
39      cli_smb2_list().
40    * BUG 13776: tldap: Avoid use after free errors.
41    * BUG 13802: Fix idmap xid2sid cache churn.
42    * BUG 13812: access_check_max_allowed() doesn't process "Owner Rights" ACEs.
44 o  Günther Deschner <gd@samba.org>
45    * BUG 13720: s3-smbd: Avoid assuming fsp is always intact after close_file
46      call.
47    * BUG 13725: s3-vfs-fruit: Add close call.
48    * BUG 13746: s3-smbd: Use fruit:model string for mDNS registration.
49    * BUG 13774: s3-vfs: add glusterfs_fuse vfs module.
51 o  David Disseldorp <ddiss@samba.org>
52    * BUG 13766: printing: Check lp_load_printers() prior to pcap cache update.
53    * BUG 13807: vfs_ceph: vfs_ceph strict_allocate_ftruncate calls (local FS)
54      ftruncate and fallocate.
56 o  Philipp Gesang <philipp.gesang@intra2net.com>
57    * BUG 13737: lib/audit_logging: Actually create talloc.
59 o  Joe Guo <joeg@catalyst.net.nz>
60    * BUG 13728: netcmd/user: python[3]-gpgme unsupported and replaced by
61      python[3]-gpg.
63 o  Aaron Haslett <aaronhaslett@catalyst.net.nz>
64    * BUG 13738: dns: Changing onelevel search for wildcard to subtree.
66 o  Björn Jacke <bj@sernet.de>
67    * BUG 13721: samba-tool: Don't print backtrace on simple DNS errors.
68    * BUG 13759: sambaundoguididx: Use the right escaped oder unescaped sam ldb
69      files.
71 o  Volker Lendecke <vl@samba.org>
72    * BUG 13742: ctdb: Print locks latency in machinereadable stats.
73    * BUG 13786: messages_dgm: Messaging gets stuck when pids are recycled.
75 o  Gary Lockyer <gary@catalyst.net.nz>
76    * BUG 13715: audit_logging: auth_json_audit required auth_json.
77    * BUG 13765: man pages: Document prefork process model.
78    * BUG 13773: CVE-2019-3824 ldb: Release ldb 1.4.6.
80 o  Stefan Metzmacher <metze@samba.org>
81    * BUG 13697: s3:auth: ignore create_builtin_guests() failing without a valid
82      idmap configuration.
83    * BUG 13722: s3:auth_winbind: Ignore a missing winbindd as NT4 PDC/BDC
84      without trusts.
85    * BUG 13723: s3:auth_winbind: return NT_STATUS_NO_LOGON_SERVERS if winbindd
86      is not available.
87    * BUG 13752: s4:server: Add support for 'smbcontrol samba shutdown' and
88      'smbcontrol <pid> debug/debuglevel'.
90 o  Noel Power <noel.power@suse.com>
91    * BUG 13616: Python: Ensure ldb.Dn can doesn't rencoded str with py2.
93 o  Anoop C S <anoopcs@redhat.com>
94    * BUG 13330: vfs_glusterfs: Adapt to changes in libgfapi signatures.
95    * BUG 13774: s3-vfs: Use ENOATTR in errno comparison for getxattr.
97 o  Jiří Šašek <jiri.sasek@oracle.com>
98    * BUG 13704: notifyd: Fix SIGBUS on sparc.
100 o  Christof Schmitt <cs@samba.org>
101    * BUG 13787: waf: Check for libnscd.
103 o  Andreas Schneider <asn@samba.org>
104    * BUG 13770: s3:vfs: Correctly check if OFD locks should be enabled or not.
106 o  Martin Schwenke <martin@meltin.net>
107    * BUG 13717: lib/util: Count a trailing line that doesn't end in a newline.
108    * BUG 13800: Recovery lock bug fixes.
110 o  Justin Stephenson <jstephen@redhat.com>
111    * BUG 13726: s3: net: Do not set NET_FLAGS_ANONYMOUS with -k.
112    * BUG 13727: s3:libsmb: Honor disable_netbios option in smbsock_connect_send.
114 o  Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
115    * BUG 13741: vfs_fileid: Fix get_connectpath_ino.
116    * BUG 13744: vfs_fileid: Fix fsname_norootdir algorithm.
119 #######################################
120 Reporting bugs & Development Discussion
121 #######################################
123 Please discuss this release on the samba-technical mailing list or by
124 joining the #samba-technical IRC channel on irc.freenode.net.
126 If you do report problems then please try to send high quality
127 feedback. If you don't provide vital information to help us track down
128 the problem then you will probably be ignored.  All bug reports should
129 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
130 database (https://bugzilla.samba.org/).
133 ======================================================================
134 == Our Code, Our Bugs, Our Responsibility.
135 == The Samba Team
136 ======================================================================
139 Release notes for older releases follow:
140 ----------------------------------------
142                    =============================
143                    Release Notes for Samba 4.9.4
144                           December 20, 2018
145                    =============================
148 Major bug fixes include:
149 ------------------------
151    o dns: Fix CNAME loop prevention using counter regression (bug #13600).
154 Changes since 4.9.3:
155 --------------------
157 o  Ralph Boehme <slow@samba.org>
158    * BUG 9175: libcli/smb: Don't overwrite status code.
159    * BUG 12164: wbinfo --group-info 'NT AUTHORITY\System' does not work.
160    * BUG 13661: Session setup reauth fails to sign response.
161    * BUG 13677: vfs_fruit: Validation of writes on AFP_AfpInfo stream.
162    * BUG 13688: vfs_shadow_copy2: Nicely deal with attempts to open previous
163      version for writing.
164    * BUG 13455: Restoring previous version of stream with vfs_shadow_copy2 fails
165      with NT_STATUS_OBJECT_NAME_INVALID fsp->base_fsp->fsp_name.
167 o  Isaac Boukris <iboukris@gmail.com>
168    * BUG 13571: CVE-2018-16853: Fix S4U2Self crash with MIT KDC build.
170 o  Günther Deschner <gd@samba.org>
171    * BUG 13708: s3-vfs: Prevent NULL pointer dereference in vfs_glusterfs.
173 o  Joe Guo <joeg@catalyst.net.nz>
174    * PEP8: fix E231: missing whitespace after ','.
176 o  Volker Lendecke <vl@samba.org>
177    * BUG 13629: winbindd: Fix crash when taking profiles.
179 o  Stefan Metzmacher <metze@samba.org>
180    * BUG 13600: CVE-2018-14629 dns: Fix CNAME loop prevention using counter
181      regression.
183 o  Garming Sam <garming@catalyst.net.nz>
184    * BUG 13686: 'samba-tool user syscpasswords' fails on a domain with many DCs. 
186 o  Andreas Schneider <asn@samba.org>
187    * BUG 13571: CVE-2018-16853: Do not segfault if client is not set.
188    * BUG 13679: lib:util: Fix DEBUGCLASS pointer initializiation.
190 o  Martin Schwenke <martin@meltin.net>
191    * BUG 13696: ctdb-daemon: Exit with error if a database directory does not
192      exist.
194 o  Justin Stephenson <jstephen@redhat.com>
195    * BUG 13498: s3:libads: Add net ads leave keep-account option.
198 #######################################
199 Reporting bugs & Development Discussion
200 #######################################
202 Please discuss this release on the samba-technical mailing list or by
203 joining the #samba-technical IRC channel on irc.freenode.net.
205 If you do report problems then please try to send high quality
206 feedback. If you don't provide vital information to help us track down
207 the problem then you will probably be ignored.  All bug reports should
208 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
209 database (https://bugzilla.samba.org/).
212 ======================================================================
213 == Our Code, Our Bugs, Our Responsibility.
214 == The Samba Team
215 ======================================================================
218 ----------------------------------------------------------------------
221                    =============================
222                    Release Notes for Samba 4.9.3
223                          November 27, 2018
224                    =============================
227 This is a security release in order to address the following defects:
229 o  CVE-2018-14629 (Unprivileged adding of CNAME record causing loop in AD
230                    Internal DNS server)
231 o  CVE-2018-16841 (Double-free in Samba AD DC KDC with PKINIT)
232 o  CVE-2018-16851 (NULL pointer de-reference in Samba AD DC LDAP server)
233 o  CVE-2018-16852 (NULL pointer de-reference in Samba AD DC DNS servers)
234 o  CVE-2018-16853 (Samba AD DC S4U2Self crash in experimental MIT Kerberos
235                    configuration (unsupported))
236 o  CVE-2018-16857 (Bad password count in AD DC not always effective)
239 =======
240 Details
241 =======
243 o  CVE-2018-14629:
244    All versions of Samba from 4.0.0 onwards are vulnerable to infinite
245    query recursion caused by CNAME loops. Any dns record can be added via
246    ldap by an unprivileged user using the ldbadd tool, so this is a
247    security issue.
249 o  CVE-2018-16841:
250    When configured to accept smart-card authentication, Samba's KDC will call
251    talloc_free() twice on the same memory if the principal in a validly signed
252    certificate does not match the principal in the AS-REQ.
254    This is only possible after authentication with a trusted certificate.
256    talloc is robust against further corruption from a double-free with
257    talloc_free() and directly calls abort(), terminating the KDC process.
259    There is no further vulnerability associated with this issue, merely a
260    denial of service.
262 o  CVE-2018-16851:
263    During the processing of an LDAP search before Samba's AD DC returns
264    the LDAP entries to the client, the entries are cached in a single
265    memory object with a maximum size of 256MB.  When this size is
266    reached, the Samba process providing the LDAP service will follow the
267    NULL pointer, terminating the process.
269    There is no further vulnerability associated with this issue, merely a
270    denial of service.
272 o  CVE-2018-16852:
273    During the processing of an DNS zone in the DNS management DCE/RPC server,
274    the internal DNS server or the Samba DLZ plugin for BIND9, if the
275    DSPROPERTY_ZONE_MASTER_SERVERS property or DSPROPERTY_ZONE_SCAVENGING_SERVERS
276    property is set, the server will follow a NULL pointer and terminate.
278    There is no further vulnerability associated with this issue, merely a
279    denial of service.
281 o  CVE-2018-16853:
282    A user in a Samba AD domain can crash the KDC when Samba is built in the
283    non-default MIT Kerberos configuration.
285    With this advisory we clarify that the MIT Kerberos build of the Samba
286    AD DC is considered experimental.  Therefore the Samba Team will not
287    issue security patches for this configuration.
289 o  CVE-2018-16857:
290    AD DC Configurations watching for bad passwords (to restrict brute forcing
291    of passwords) in a window of more than 3 minutes may not watch for bad
292    passwords at all.
294 For more details and workarounds, please refer to the security advisories.
297 Changes since 4.9.2:
298 --------------------
300 o  Andrew Bartlett <abartlet@samba.org>
301    * BUG 13628: CVE-2018-16841: heimdal: Fix segfault on PKINIT with
302      mis-matching principal.
303    * BUG 13678: CVE-2018-16853: build: The Samba AD DC, when build with MIT
304      Kerberos is experimental
306 o  Tim Beale <timbeale@catalyst.net.nz>
307    * BUG 13683: CVE-2018-16857: dsdb/util: Correctly treat
308      lockOutObservationWindow as 64-bit int.
310 o  Joe Guo <joeg@catalyst.net.nz>
311    * BUG 13683: CVE-2018-16857 PEP8: Fix E305: Expected 2 blank lines after
312      class or function definition, found 1.
314 o  Aaron Haslett <aaronhaslett@catalyst.net.nz>
315    * BUG 13600: CVE-2018-14629: dns: CNAME loop prevention using counter.
317 o  Gary Lockyer <gary@catalyst.net.nz>
318    * BUG 13669: CVE-2018-16852: Fix NULL pointer de-reference in Samba AD DC
319      DNS management.
321 o  Garming Sam <garming@catalyst.net.nz>
322    * BUG 13674: CVE-2018-16851: ldap_server: Check ret before manipulating blob.
325 #######################################
326 Reporting bugs & Development Discussion
327 #######################################
329 Please discuss this release on the samba-technical mailing list or by
330 joining the #samba-technical IRC channel on irc.freenode.net.
332 If you do report problems then please try to send high quality
333 feedback. If you don't provide vital information to help us track down
334 the problem then you will probably be ignored.  All bug reports should
335 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
336 database (https://bugzilla.samba.org/).
339 ======================================================================
340 == Our Code, Our Bugs, Our Responsibility.
341 == The Samba Team
342 ======================================================================
345 ----------------------------------------------------------------------
348                    =============================
349                    Release Notes for Samba 4.9.2
350                          November 08, 2018
351                    =============================
354 This is the latest stable release of the Samba 4.9 release series.
357 Changes since 4.9.1:
358 --------------------
360 o  Andrew Bartlett <abartlet@samba.org>
361    * BUG 13418: dsdb: Add comments explaining the limitations of our current
362      backlink behaviour.
363    * BUG 13621: Fix problems running domain backups (handling SMBv2, sites).
365 o  Tim Beale <timbeale@catalyst.net.nz>
366    * BUG 13621: Fix problems running domain backups (handling SMBv2, sites).
368 o  Ralph Boehme <slow@samba.org>
369    * BUG 13465: testparm: Fix crashes with PANIC: Messaging not initialized on
370      SLES 12 SP3.
371    * BUG 13642: Make vfs_fruit able to cleanup AppleDouble files.
372    * BUG 13646: File saving issues with vfs_fruit on samba >= 4.8.5.
373    * BUG 13649: Enabling vfs_fruit looses FinderInfo.
374    * BUG 13667: Cancelling of SMB2 aio reads and writes returns wrong error
375      NT_STATUS_INTERNAL_ERROR.
377 o  Amitay Isaacs <amitay@gmail.com>
378    * BUG 13641: Fix CTDB recovery record resurrection from inactive nodes and
379      simplify vacuuming.
381 o  Volker Lendecke <vl@samba.org>
382    * BUG 13465: examples: Fix the smb2mount build.
383    * BUG 13629: libtevent: Fix build due to missing open_memstream on Illiumos.
384    * BUG 13662: winbindd_cache: Fix timeout calculation for sid<->name cache.
386 o  Gary Lockyer <gary@catalyst.net.nz>
387    * BUG 13653: dsdb encrypted_secrets: Allow "ldb:// and "mdb://" in file path.
389 o  Stefan Metzmacher <metze@samba.org>
390    * BUG 13418: Extended DN SID component missing for member after switching
391      group membership.
392    * BUG 13624: Return STATUS_SESSION_EXPIRED error encrypted, if the request
393      was encrypted.
395 o  David Mulder <dmulder@suse.com>
396    * BUG 13621: python: Allow forced signing via smb.SMB().
397    * BUG 13665: lib:socket: If returning early, set ifaces.
399 o  Noel Power <noel.power@suse.com>
400    * BUG 13616: ldb: Bump ldb version to 1.4.3, Python: Ensure ldb.Dn can accept
401      utf8 encoded unicode.
403 o  Christof Schmitt <cs@samba.org>
404    * BUG 13465: testparm: Fix crashes with PANIC: Messaging not initialized on
405      SLES 12 SP3.
406    * BUG 13673: smbd: Fix DELETE_ON_CLOSE behaviour on files with READ_ONLY
407      attribute.
409 o  Andreas Schneider <asn@samba.org>
410    * BUG 13601: waf: Add -fstack-clash-protection.
411    * BUG 13668: winbind: Fix segfault if an invalid passdb backend is
412      configured.
414 o  Martin Schwenke <martin@meltin.net>
415    * BUG 13659: Fix bugs in CTDB event handling.
416    * BUG 13670: Misbehaving nodes are sometimes not banned.
419 #######################################
420 Reporting bugs & Development Discussion
421 #######################################
423 Please discuss this release on the samba-technical mailing list or by
424 joining the #samba-technical IRC channel on irc.freenode.net.
426 If you do report problems then please try to send high quality
427 feedback. If you don't provide vital information to help us track down
428 the problem then you will probably be ignored.  All bug reports should
429 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
430 database (https://bugzilla.samba.org/).
433 ======================================================================
434 == Our Code, Our Bugs, Our Responsibility.
435 == The Samba Team
436 ======================================================================
439 ----------------------------------------------------------------------
442                    =============================
443                    Release Notes for Samba 4.9.1
444                          September 24, 2018
445                    =============================
448 This is the latest stable release of the Samba 4.9 release series.
451 Major enhancements include:
452 ---------------------------
454    o  s3: nmbd: Stop nmbd network announce storm (bug #13620).
457 Changes since 4.9.0:
458 --------------------
460 o  Andrew Bartlett <abartlet@samba.org>
461    * BUG 13620: s3: nmbd: Stop nmbd network announce storm.
463 o  Günther Deschner <gd@samba.org>
464    * BUG 13597: s3-rpcclient: Use spoolss_init_spoolss_UserLevel1 in winspool
465      cmds.
467 o  Martin Schwenke <martin@meltin.net>
468    * BUG 13617: CTDB recovery lock has some race conditions.
470 o  Justin Stephenson <jstephen@redhat.com>
471    * BUG 13597: s3-rpc_client: Advertise Windows 7 client info.
473 o  Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
474    * BUG 13610: ctdb-doc: Remove PIDFILE option from ctdbd_wrapper man page.
477 #######################################
478 Reporting bugs & Development Discussion
479 #######################################
481 Please discuss this release on the samba-technical mailing list or by
482 joining the #samba-technical IRC channel on irc.freenode.net.
484 If you do report problems then please try to send high quality
485 feedback. If you don't provide vital information to help us track down
486 the problem then you will probably be ignored.  All bug reports should
487 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
488 database (https://bugzilla.samba.org/).
491 ======================================================================
492 == Our Code, Our Bugs, Our Responsibility.
493 == The Samba Team
494 ======================================================================
497 ----------------------------------------------------------------------
500                    =============================
501                    Release Notes for Samba 4.9.0
502                         September 13, 2018
503                    =============================
506 This is the first stable release of the Samba 4.9 release series.
507 Please read the release notes carefully before upgrading.
510 NEW FEATURES/CHANGES
511 ====================
513 'net ads setspn'
514 ----------------
516 There is a new 'net ads setspn' sub command for managing Windows SPN(s)
517 on the AD. This command aims to give the basic functionality that is
518 provided on windows by 'setspn.exe' e.g. ability to add, delete and list
519 Windows SPN(s) stored in a Windows AD Computer object.
521 The format of the command is:
523 net ads setspn list [machine]
524 net ads setspn [add | delete ] SPN [machine]
526 'machine' is the name of the computer account on the AD that is to be managed.
527 If 'machine' is not specified the name of the 'client' running the command
528 is used instead.
530 The format of a Windows SPN is
531   'serviceclass/host:port/servicename' (servicename and port are optional)
533 serviceclass/host is generally sufficient to specify a host based service.
535 'net ads keytab' changes
536 ------------------------
538 net ads keytab add no longer attempts to convert the passed serviceclass
539 (e.g. nfs, html etc.) into a Windows SPN which is added to the Windows AD
540 computer object. By default just the keytab file is modified.
542 A new keytab subcommand 'add_update_ads' has been added to preserve the
543 legacy behaviour. However the new 'net ads setspn add' subcommand should
544 really be used instead.
546 net ads keytab create no longer tries to generate SPN(s) from existing
547 entries in a keytab file. If it is required to add Windows SPN(s) then
548 'net ads setspn add' should be used instead.
550 Local authorization plugin for MIT Kerberos
551 -------------------------------------------
553 This plugin controls the relationship between Kerberos principals and AD
554 accounts through winbind. The module receives the Kerberos principal and the
555 local account name as inputs and can then check if they match. This can resolve
556 issues with canonicalized names returned by Kerberos within AD. If the user
557 tries to log in as 'alice', but the samAccountName is set to ALICE (uppercase),
558 Kerberos would return ALICE as the username. Kerberos would not be able to map
559 'alice' to 'ALICE' in this case and auth would fail.  With this plugin, account
560 names can be correctly mapped. This only applies to GSSAPI authentication,
561 not for getting the initial ticket granting ticket.
563 VFS audit modules
564 -----------------
566 The vfs_full_audit module has changed its default set of monitored successful
567 and failed operations from "all" to "none". That helps to prevent potential
568 denial of service caused by simple addition of the module to the VFS objects.
570 Also, modules vfs_audit, vfs_ext_audit and vfs_full_audit now accept any valid
571 syslog(3) facility, in accordance with the manual page.
573 Database audit support
574 ----------------------
576 Changes to the Samba AD's sam.ldb database are now logged to Samba's debug log
577 under the "dsdb_audit" debug class and "dsdb_json_audit" for JSON formatted log
578 entries.
580 Transaction commits and roll backs are now logged to Samba's debug logs under
581 the "dsdb_transaction_audit" debug class and "dsdb_transaction_json_audit" for
582 JSON formatted log entries.
584 Password change audit support
585 -----------------------------
587 Password changes in the AD DC are now logged to Samba's debug logs under the
588 "dsdb_password_audit" debug class and "dsdb_password_json_audit" for JSON
589 formatted log entries.
591 Group membership change audit support
592 -------------------------------------
594 Group membership changes on the AD DC are now logged to
595 Samba's debug log under the "dsdb_group_audit" debug class and
596 "dsdb_group_json_audit" for JSON formatted log entries.
598 Log Authentication duration
599 ---------------------------
601 For NTLM and Kerberos KDC authentication, the authentication duration is now
602 logged. Note that the duration is only included in the JSON formatted log
603 entries.
605 JSON library Jansson required for the AD DC
606 -------------------------------------------
608 By default, the Jansson JSON library is required for Samba to build.
609 It is strictly required for the Samba AD DC, and is optional for
610 builds "--without-ad-dc" by specifying "--without-json-audit" at configure
611 time.
613 New experimental LMDB LDB backend
614 ---------------------------------
616 A new experimental LDB backend using LMDB is now available. This allows
617 databases larger than 4Gb (Currently the limit is set to 6Gb, but this will be
618 increased in a future release). To enable lmdb, provision or join a domain using
619 the "--backend-store=mdb" option.
621 This requires that a version of lmdb greater than 0.9.16 is installed and that
622 samba has not been built with the "--without-ldb-lmdb" option.
624 Please note this is an experimental feature and is not recommended for
625 production deployments.
627 Password Settings Objects
628 -------------------------
630 Support has been added for Password Settings Objects (PSOs). This AD feature is
631 also known as Fine-Grained Password Policies (FGPP).
633 PSOs allow AD administrators to override the domain password policy settings
634 for specific users, or groups of users. For example, PSOs can force certain
635 users to have longer password lengths, or relax the complexity constraints for
636 other users, and so on. PSOs can be applied to groups or to individual users.
637 When multiple PSOs apply to the same user, essentially the PSO with the best
638 precedence takes effect.
640 PSOs can be configured and applied to users/groups using the 'samba-tool domain
641 passwordsettings pso' set of commands.
643 Domain backup and restore
644 -------------------------
646 A new 'samba-tool' subcommand has been added that allows administrators to
647 create a backup-file of their domain DB. In the event of a catastrophic failure
648 of the domain, this backup-file can be used to restore Samba services.
650 The new 'samba-tool domain backup online' command takes a snapshot of the
651 domain DB from a given DC. In the event of a catastrophic DB failure, all DCs
652 in the domain should be taken offline, and the backup-file can then be used to
653 recreate a fresh new DC, using the 'samba-tool domain backup restore' command.
654 Once the backed-up domain DB has been restored on the new DC, other DCs can
655 then subsequently be joined to the new DC, in order to repopulate the Samba
656 network.
658 Domain rename tool
659 ------------------
661 Basic support has been added for renaming a Samba domain. The rename feature is
662 designed for the following cases:
663 1). Running a temporary alternate domain, in the event of a catastrophic
664 failure of the regular domain. Using a completely different domain name and
665 realm means that the original domain and the renamed domain can both run at the
666 same time, without interfering with each other. This is an advantage over
667 creating a regular 'online' backup - it means the renamed/alternate domain can
668 provide core Samba network services, while trouble-shooting the fault on the
669 original domain can be done in parallel.
670 2). Creating a realistic lab domain or pre-production domain for testing.
672 Note that the renamed tool is currently not intended to support a long-term
673 rename of the production domain. Currently renaming the GPOs is not supported
674 and would need to be done manually.
676 The domain rename is done in two steps: first, the 'samba-tool domain backup
677 rename' command will clone the domain DB, renaming it in the process, and
678 producing a backup-file. Then, the 'samba-tool domain backup restore' command
679 takes the backup-file and restores the renamed DB to disk on a fresh DC.
681 New samba-tool options for diagnosing DRS replication issues
682 ------------------------------------------------------------
684 The 'samba-tool drs showrepl' command has two new options controlling
685 the output. With --summary, the command says very little when DRS
686 replication is working well. With --json, JSON is produced. These
687 options are intended for human and machine audiences, respectively.
689 The 'samba-tool visualize uptodateness' visualizes replication lag as
690 a heat-map matrix based on the DRS uptodateness vectors. This will
691 show you if (but not why) changes are failing to replicate to some DCs.
693 Automatic site coverage and GetDCName improvements
694 --------------------------------------------------
696 Samba's AD DC now automatically claims otherwise empty sites based on
697 which DC is the nearest in the replication topology.
699 This, combined with efforts to correctly identify the client side in
700 the GetDCName Netlogon call will improve service to sites without a
701 local DC.
703 Improved 'samba-tool computer' command
704 --------------------------------------
706 The 'samba-tool computer' command allow manipulation of computer
707 accounts including creating a new computer and resetting the password.
708 This allows an 'offline join' of a member server or workstation to the
709 Samba AD domain.
711 New 'samba-tool ou' command
712 ---------------------------
714 The new 'samba-tool ou' command allows to manage organizational units.
716 Available subcommands are:
717   create       - Create an organizational unit.
718   delete       - Delete an organizational unit.
719   list         - List all organizational units
720   listobjects  - List all objects in an organizational unit.
721   move         - Move an organizational unit.
722   rename       - Rename an organizational unit.
724 In addition to the ou commands, there are new subcommands for the user
725 and group management, which can make use of the organizational units:
726   group move   - Move a group to an organizational unit/container.
727   user move    - Move a user to an organizational unit/container.
728   user show    - Display a user AD object.
730 Samba performance tool now operates against Microsoft Windows AD
731 ----------------------------------------------------------------
733 The Samba AD performance testing tool 'traffic_reply' can now operate
734 against a Windows based AD domain.  Previously it only operated
735 correctly against Samba.
737 DNS entries are now cleaned up during DC demote
738 -----------------------------------------------
740 DNS records are now cleaned up as part of the 'samba-tool domain
741 demote' including both the default and '--remove-other-dead-server'
742 modes.
744 Additionally, DNS records can be automatically cleaned up for a given
745 name with the 'samba-tool dns cleanup' command, which aids in cleaning
746 up partially removed DCs.
748 samba-tool ntacl sysvolreset is now much faster
749 -----------------------------------------------
751 The 'samba-tool ntacl sysvolreset' command, used on the Samba AD DC,
752 is now much faster than in previous versions, after an internal
753 rework.
755 Samba now tested with CI GitLab
756 -------------------------------
758 Samba developers now have pre-commit testing available in GitLab,
759 giving reviewers confidence that the submitted patches pass a full CI
760 before being submitted to the Samba Team's own autobuild system.
762 Dynamic DNS record scavenging support
763 -------------------------------------
765 It is now possible to enable scavenging of DNS Zones to remove DNS
766 records that were dynamically created and have not been touched in
767 some time.
769 This support should however only be enabled on new zones or new
770 installations.  Sadly old Samba versions suffer from BUG 12451 and
771 mark dynamic DNS records as static and static records as dynamic.
772 While a dbcheck rule may be able to find these in the future,
773 currently a reliable test has not been devised.
775 Finally, there is not currently a command-line tool to enable this
776 feature, currently it should be enabled from the DNS Manager tool from
777 Windows. Also the feature needs to have been enabled by setting the smb.conf
778 parameter "dns zone scavenging = yes".
780 Improved support for trusted domains (as AD DC)
781 -----------------------------------------------
783 The support for trusted domains/forests has been further improved.
785 External domain trusts, as well a transitive forest trusts,
786 are supported in both directions (inbound and outbound)
787 for Kerberos and NTLM authentication.
789 The following features are new in 4.9 (compared to 4.8):
791 - It's now possible to add users/groups of a trusted domain
792   into domain groups. The group memberships are expanded
793   on trust boundaries.
794 - foreignSecurityPrincipal objects (FPO) are now automatically
795   created when members (as SID) of a trusted domain/forest
796   are added to a group.
797 - The 'samba-tool group *members' commands allow
798   members to be specified as foreign SIDs.
800 However there are currently still a few limitations:
802 - Both sides of the trust need to fully trust each other!
803 - No SID filtering rules are applied at all!
804 - This means DCs of domain A can grant domain admin rights
805   in domain B.
806 - Selective (CROSS_ORGANIZATION) authentication is
807   not supported. It's possible to create such a trust,
808   but the KDC and winbindd ignore them.
809 - Samba can still only operate in a forest with just
810   one single domain.
812 CTDB changes
813 ------------
815 There are many changes to CTDB in this release.
817 * Configuration has been completely overhauled
819   - Daemon and tool options are now specified in a new ctdb.conf
820     Samba-style configuration file.  See ctdb.conf(5) for details.
822   - Event script configuration is no longer specified in the top-level
823     configuration file.  It can now be specified per event script.
824     For example, configuration options for the 50.samba event script
825     can be placed alongside the event script in a file called
826     50.samba.options.  Script options can also be specified in a new
827     script.options file.  See ctdb-script.options(5) for details.
829   - Options that affect CTDB startup should be configured in the
830     distribution-specific configuration file.  See ctdb.sysconfig(5)
831     for details.
833   - Tunable settings are now loaded from ctdb.tunables.  Using
834     CTDB_SET_TunableVariable=<value> in the main configuration file is
835     no longer supported.  See ctdb-tunables(7) for details.
837   A example script to migrate an old-style configuration to the new
838   style is available in ctdb/doc/examples/config_migrate.sh.
840 * The following configuration variables and corresponding ctdbd
841   command-line options have been removed and not replaced with
842   counterparts in the new configuration scheme:
844     CTDB_PIDFILE                     --pidfile
845     CTDB_SOCKET                      --socket
846     CTDB_NODES                       --nlist
847     CTDB_PUBLIC_ADDRESSES            --public-addresses
848     CTDB_EVENT_SCRIPT_DIR            --event-script-dir
849     CTDB_NOTIFY_SCRIPT               --notification-script
850     CTDB_PUBLIC_INTERFACE            --public-interface
851     CTDB_MAX_PERSISTENT_CHECK_ERRORS --max-persistent-check-errors
853   - The compile-time defaults should be used for the first 6 of these.
854   - Use a symbolic link from the configuration directory to specify a
855     different location for nodes or public_addresses (e.g. in the
856     cluster filesystem).
857   - Executable notification scripts in the notify.d/ subdirectory of
858     the configuration directory are now run by unconditionally.
859   - Interfaces for public IP addresses must always be specified in the
860     public_addresses file using the currently supported format.
862   Some related items that have been removed are:
864   - The ctdb command's --socket command-line option
865   - The ctdb command's CTDB_NODES environment variable
867   When writing tests there are still mechanisms available to change
868   the locations of certain directories and files.
870 * The following ctdbd.conf and ctdbd options have been replaced by new
871   ctdb.conf options:
873     CTDB_LOGGING/--logging                     logging  -> location
874     CTDB_DEBUGLEVEL/-d                         logging  -> log level
875     CTDB_TRANSPORT/--transport                 cluster  -> transport
876     CTDB_NODE_ADDRESS/--listen                 cluster  -> node address
877     CTDB_RECOVERY_LOCK/--reclock               cluster  -> recovery lock
878     CTDB_DBDIR/--dbdir                         database -> volatile database directory
879     CTDB_DBDIR_PERSISTENT/--dbdir-persistent   database -> peristent database directory
880     CTDB_DBDIR_STATE/--dbdir-state             database -> state database directory
881     CTDB_DEBUG_LOCKS                           database -> lock debug script
882     CTDB_DEBUG_HUNG_SCRIPT                     event    -> debug script
883     CTDB_NOSETSCHED/--nosetsched               legacy   -> realtime scheduling
884     CTDB_CAPABILITY_RECMASTER/--no-recmaster   legacy   -> recmaster capability
885     CTDB_CAPABILITY_LMASTER/--no-lmaster       legacy   -> lmaster capability
886     CTDB_START_AS_STOPPED/--start-as-stopped   legacy   -> start as stopped
887     CTDB_START_AS_DISABLED/--start-as-disabled legacy   -> start as disabled
888     CTDB_SCRIPT_LOG_LEVEL/--script-log-level   legacy   -> script log level
890 * Event scripts have moved to the scripts/legacy subdirectory of the
891   configuration directory
893   Event scripts must now end with a ".script" suffix.
895 * The "ctdb event" command has changed in 2 ways:
897   - A component is now required for all commands
899     In this release the only valid component is "legacy".
901   - There is no longer a default event when running "ctdb event status"
903     Listing the status of the "monitor" event is now done via:
905       ctdb event status legacy monitor
907    See ctdb(1) for details.
909 * The following service-related event script options have been
910   removed:
912     CTDB_MANAGES_SAMBA
913     CTDB_MANAGES_WINBIND
915     CTDB_MANAGES_CLAMD
916     CTDB_MANAGES_HTTPD
917     CTDB_MANAGES_ISCSI
918     CTDB_MANAGES_NFS
919     CTDB_MANAGES_VSFTPD
921     CTDB_MANAGED_SERVICES
923   Event scripts for services are now disabled by default.  To enable
924   an event script and, therefore, manage a service use a command like
925   the following:
927     ctdb event script enable legacy 50.samba
929 * Notification scripts have moved to the scripts/notification
930   subdirectory of the configuration directory
932   Notification scripts must now end with a ".script" suffix.
934 * Support for setting CTDB_DBDIR=tmpfs has been removed
936   This feature has not been implemented in the new configuration
937   system.  If this is desired then a tmpfs filesystem should be
938   manually mounted on the directory pointed to by the "volatile
939   database directory" option.  See ctdb.conf(5) for more details.
941 * The following tunable options are now ctdb.conf options:
943     DisabledIPFailover    failover -> disabled
944     TDBMutexEnabled       database -> tdb mutexes
946 * Support for the NoIPHostOnAllDisabled tunable has been removed
948   If all nodes are unhealthy or disabled then CTDB will not host
949   public IP addresses.  That is, CTDB now behaves as if
950   NoIPHostOnAllDisabled were set to 1.
952 * The onnode command's CTDB_NODES_FILE environment variable has been
953   removed
955   The -f option can still be used to specify an alternate node file.
957 * The 10.external event script has been removed
959 * The CTDB_SHUTDOWN_TIMEOUT configuration variable has been removed
961   As with other daemons, if ctdbd does not shut down when requested
962   then manual intervention is required.  There is no safe way of
963   automatically killing ctdbd after a failed shutdown.
965 * CTDB_SUPPRESS_COREFILE and CTDB_MAX_OPEN_FILES configuration
966   variable have been removed
968   These should be setup in the systemd unit/system file or, for SYSV
969   init, in the distribution-specific configuration file for the ctdb
970   service.
972 * CTDB_PARTIALLY_ONLINE_INTERFACES incompatibility no longer enforced
974   11.natgw and 91.lvs will no longer fail if
975   CTDB_PARTIALLY_ONLINE_INTERFACES=yes.  The incompatibility is,
976   however, well documented.  This option will be removed in future and
977   replaced by sensible behaviour where public IP addresses simply
978   switch interfaces or become unavailable when interfaces are down.
980 * Configuration file /etc/ctdb/sysconfig/ctdb is no longer supported
982 GPO Improvements
983 ----------------
985 The 'samba_gpoupdate' command (used in applying Group Policies to the
986 Samba machine itself) has been renamed to "samba_gpupdate" and had the
987 syntax changed to better match the same tool on Windows.
989 New glusterfs_fuse VFS module
990 -----------------------------
992 The new vfs_glusterfs_fuse module improves performance when Samba
993 accesses a glusterfs volume mounted via FUSE (Filesystem in Userspace
994 as part of the Linux kernel). It achieves that by leveraging a
995 mechanism to retrieve the appropriate case of filenames by querying a
996 specific extended attribute in the filesystem. No extra configuration
997 is required to use this module, only glusterfs_fuse needs to be set in
998 the "vfs objects" parameter. Further details can be found in the
999 vfs_glusterfs_fuse(8) manpage. This new vfs_glusterfs_fuse module does
1000 not replace the existing vfs_glusterfs module, it just provides an
1001 additional, alternative mechanism to access a Gluster volume.
1003 REMOVED FEATURES
1004 ================
1008 smb.conf changes
1009 ================
1011 As the most popular Samba install platforms (Linux and FreeBSD) both
1012 support extended attributes by default, the parameters "map readonly",
1013 "store dos attributes" and "ea support" have had their defaults changed
1014 to allow better Windows fileserver compatibility in a default install.
1016   Parameter Name                     Description             Default
1017   --------------                     -----------             -------
1018   map readonly                       Default changed              no
1019   store dos attributes               Default changed             yes
1020   ea support                         Default changed             yes
1021   full_audit:success                 Default changed            none
1022   full_audit:failure                 Default changed            none
1024 VFS interface changes
1025 =====================
1027 The VFS ABI interface version has changed to 39. Function changes
1028 are:
1030 SMB_VFS_FSYNC: Removed: Only async versions are used.
1031 SMB_VFS_READ: Removed: Only PREAD or async versions are used.
1032 SMB_VFS_WRITE: Removed: Only PWRITE or async versions are used.
1033 SMB_VFS_CHMOD_ACL: Removed: Only CHMOD is used.
1034 SMB_VFS_FCHMOD_ACL: Removed: Only FCHMOD is used.
1036 Any external VFS modules will need to be updated to match these
1037 changes in order to work with 4.9.x.
1039 CHANGES SINCE 4.9.0rc5
1040 ======================
1042 o  Björn Baumbach <bb@sernet.de>
1043    * BUG 13605: samba_dnsupdate: Honor 'dns zone scavenging' option, only
1044      update if needed.
1046 o  Andreas Schneider <asn@samba.org>
1047    * BUG 13606: wafsamba: Fix 'make -j<jobs>'.
1049 CHANGES SINCE 4.9.0rc4
1050 ======================
1052 o  Jeremy Allison <jra@samba.org>
1053    * BUG 13565: s3: VFS: vfs_full_audit: Ensure smb_fname_str_do_log() only
1054      returns absolute pathnames.
1056 o  Paulo Alcantara <paulo@paulo.ac>
1057    * BUG 13578: s3: util: Do not take over stderr when there is no log file.
1059 o  Ralph Boehme <slow@samba.org>
1060    * BUG 13549: Durable Reconnect fails because cookie.allow_reconnect is not
1061      set.
1063 o  Alexander Bokovoy <ab@samba.org>
1064    * BUG 13539: krb5-samba: Interdomain trust uses different salt principal.
1066 o  Volker Lendecke <vl@samba.org>
1067    * BUG 13441: vfs_fruit: Don't unlink the main file.
1068    * BUG 13602: smbd: Fix a memleak in async search ask sharemode.
1070 o  Stefan Metzmacher <metze@samba.org>
1071    * BUG 11517: Fix Samba GPO issue when Trust is enabled.
1072    * BUG 13539: samba-tool: Add "virtualKerberosSalt" attribute to
1073      'user getpassword/syncpasswords'.
1075 o  Martin Schwenke <martin@meltin.net>
1076    * BUG 13589: Fix CTDB configuration issues.
1077    * BUG 13592: ctdbd logs an error until it can successfully connect to
1078      eventd.
1081 CHANGES SINCE 4.9.0rc3
1082 ======================
1084 o  Jeremy Allison <jra@samba.org>
1085    * BUG 13585: s3: smbd: Ensure get_real_filename() copes with empty
1086      pathnames.
1088 o  Tim Beale <timbeale@catalyst.net.nz>
1089    * BUG 13566: samba domain backup online/rename commands force user to specify
1090      password on CLI.
1092 o  Alexander Bokovoy <ab@samba.org>
1093    * BUG 13579: wafsamba/samba_abi: Always hide ABI symbols which must be
1094      local.
1096 o  Volker Lendecke <vl@samba.org>
1097    * BUG 13584: Fix a panic if fruit_access_check detects a locking conflict.
1099 o  Andreas Schneider <asn@samba.org>
1100    * BUG 13567: Fix memory and resource leaks.
1101    * BUG 13580: python: Fix print in dns_invalid.py.
1103 o  Martin Schwenke <martin@meltin.net>
1104    * BUG 13588: Aliasing issue causes incorrect IPv6 checksum.
1105    * BUG 13589: Fix CTDB configuration issues.
1107 o  Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
1108    * BUG 13568: s3: vfs: time_audit: fix handling of token_blob in
1109      smb_time_audit_offload_read_recv().
1112 CHANGES SINCE 4.9.0rc2
1113 ======================
1115 o  Jeremy Allison <jra@samba.org>
1116    * BUG 13453: CVE-2018-10858: libsmb: Harden smbc_readdir_internal() against
1117      returns from malicious servers.
1119 o  Andrew Bartlett <abartlet@samba.org>
1120    * BUG 13374: CVE-2018-1140: ldbsearch '(distinguishedName=abc)' and DNS query
1121      with escapes crashes, ldb: Release LDB 1.3.5 for CVE-2018-1140
1122    * BUG 13552: CVE-2018-10918: cracknames: Fix DoS (NULL pointer de-ref) when
1123      not servicePrincipalName is set on a user.
1125 o  Tim Beale <timbeale@catalyst.net.nz>
1126    * BUG 13434: CVE-2018-10919: acl_read: Fix unauthorized attribute access via
1127      searches.
1129 o  Samuel Cabrero <scabrero@suse.de>
1130    * BUG 13540: ctdb_mutex_ceph_rados_helper: Set SIGINT signal handler.
1132 o  Günther Deschner <gd@samba.org>
1133    * BUG 13360: CVE-2018-1139 libcli/auth: Do not allow ntlmv1 over SMB1 when it
1134      is disabled via "ntlm auth".
1135    * BUG 13529: s3-tldap: do not install test_tldap.
1137 o  David Disseldorp <ddiss@samba.org>
1138    * BUG 13540: ctdb_mutex_ceph_rados_helper: Fix deadlock via lock renewals.
1140 o  Andrej Gessel <Andrej.Gessel@janztec.com>
1141    * BUG 13374: CVE-2018-1140 Add NULL check for ldb_dn_get_casefold() in
1142      ltdb_index_dn_attr().
1144 o  Amitay Isaacs <amitay@gmail.com>
1145    * BUG 13554: ctdb-eventd: Fix CID 1438155.
1147 o  Volker Lendecke <vl@samba.org>
1148    * BUG 13553: Fix CIDs 1438243, (Unchecked return value) 1438244
1149      (Unsigned compared against 0), 1438245 (Dereference before null check) and
1150      1438246 (Unchecked return value).
1151    * BUG 13554: ctdb: Fix a cut&paste error.
1153 o  Oleksandr Natalenko <oleksandr@redhat.com>
1154    * BUG 13559: systemd: Only start smb when network interfaces are up.
1156 o  Noel Power <noel.power@suse.com>
1157    * BUG 13553: Fix quotas don't work with SMB2.
1158    * BUG 13563: s3/smbd: Ensure quota code is only called when quota support
1159      detected.
1161 o  Anoop C S <anoopcs@redhat.com>
1162    * BUG 13204: s3/libsmb: Explicitly set delete_on_close token for rmdir.
1164 o  Andreas Schneider <asn@samba.org>
1165    * BUG 13561: s3:waf: Install eventlogadm to /usr/sbin.
1167 o  Justin Stephenson <jstephen@redhat.com>
1168    * BUG 13562: Shorten description in vfs_linux_xfs_sgid manual.
1171 CHANGES SINCE 4.9.0rc1
1172 ======================
1174 o  Jeremy Allison <jra@samba.org>
1175    * BUG 13537: s3: smbd:  Using "sendfile = yes" with SMB2 can cause CPU spin.
1177 o  Ralph Boehme <slow@samba.org>
1178    * BUG 13535: s3: smbd: Fix path check in
1179      smbd_smb2_create_durable_lease_check().
1181 o  Alexander Bokovoy <ab@samba.org>
1182    * BUG 13538: samba-tool trust: Support discovery via netr_GetDcName.
1183    * BUG 13542: s4-dsdb: Only build dsdb Python modules for AD DC.
1185 o  Amitay Isaacs <amitay@gmail.com>
1186    * BUG 13520: Fix portability issues on freebsd.
1188 o  Gary Lockyer <gary@catalyst.net.nz>
1189    * BUG 13536: DNS wildcard search does not handle multiple labels correctly.
1191 o  Stefan Metzmacher <metze@samba.org>
1192    * BUG 13308: samba-tool domain trust: Fix trust compatibility to Windows
1193      Server 1709 and FreeIPA.
1195 o  Martin Schwenke <martin@meltin.net>
1196    * BUG 13520: Fix portability issues on freebsd.
1197    * BUG 13545: ctdb-protocol: Fix CTDB compilation issues.
1198    * BUG 13546: ctdb-docs: Replace obsolete reference to CTDB_DEBUG_HUNG_SCRIPT
1199      option.
1200    * BUG 13550: ctdb-doc: Provide an example script for migrating old
1201      configuration.
1202    * BUG 13551: ctdb-event: Implement event tool "script list" command.
1205 KNOWN ISSUES
1206 ============
1208 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.9#Release_blocking_bugs
1211 #######################################
1212 Reporting bugs & Development Discussion
1213 #######################################
1215 Please discuss this release on the samba-technical mailing list or by
1216 joining the #samba-technical IRC channel on irc.freenode.net.
1218 If you do report problems then please try to send high quality
1219 feedback. If you don't provide vital information to help us track down
1220 the problem then you will probably be ignored.  All bug reports should
1221 be filed under the Samba 4.1 and newer product in the project's Bugzilla
1222 database (https://bugzilla.samba.org/).
1225 ======================================================================
1226 == Our Code, Our Bugs, Our Responsibility.
1227 == The Samba Team
1228 ======================================================================