docs-xml/manpages: Add warning about write-behind translator for vfs_glusterfs
[Samba.git] / WHATSNEW.txt
blob674d250c71a106781416628c8e672cd027278a5f
1                    ==============================
2                    Release Notes for Samba 4.12.9
3                           October 29, 2020
4                    ==============================
7 This is a security release in order to address the following defects:
9 o CVE-2020-14318: Missing handle permissions check in SMB1/2/3 ChangeNotify.
10 o CVE-2020-14323: Unprivileged user can crash winbind.
11 o CVE-2020-14383: An authenticated user can crash the DCE/RPC DNS with easily
12                   crafted records.
15 =======
16 Details
17 =======
19 o  CVE-2020-14318:
20    The SMB1/2/3 protocols have a concept of "ChangeNotify", where a client can
21    request file name notification on a directory handle when a condition such as
22    "new file creation" or "file size change" or "file timestamp update" occurs.
24    A missing permissions check on a directory handle requesting ChangeNotify
25    meant that a client with a directory handle open only for
26    FILE_READ_ATTRIBUTES (minimal access rights) could be used to obtain change
27    notify replies from the server. These replies contain information that should
28    not be available to directory handles open for FILE_READ_ATTRIBUTE only.
30 o  CVE-2020-14323:
31    winbind in version 3.6 and later implements a request to translate multiple
32    Windows SIDs into names in one request. This was done for performance
33    reasons: The Microsoft RPC call domain controllers offer to do this
34    translation, so it was an obvious extension to also offer this batch
35    operation on the winbind unix domain stream socket that is available to local
36    processes on the Samba server.
38    Due to improper input validation a hand-crafted packet can make winbind
39    perform a NULL pointer dereference and thus crash.
41 o  CVE-2020-14383:
42    Some DNS records (such as MX and NS records) usually contain data in the
43    additional section. Samba's dnsserver RPC pipe (which is an administrative
44    interface not used in the DNS server itself) made an error in handling the
45    case where there are no records present: instead of noticing the lack of
46    records, it dereferenced uninitialised memory, causing the RPC server to
47    crash. This RPC server, which also serves protocols other than dnsserver,
48    will be restarted after a short delay, but it is easy for an authenticated
49    non-admin attacker to crash it again as soon as it returns. The Samba DNS
50    server itself will continue to operate, but many RPC services will not.
52 For more details, please refer to the security advisories.
55 Changes since 4.12.8
56 --------------------
58 o  Jeremy Allison <jra@samba.org>
59    * BUG 14434: CVE-2020-14318: s3: smbd: Ensure change notifies can't get set
60      unless the directory handle is open for SEC_DIR_LIST.
62 o  Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
63    * BUG 12795: CVE-2020-14383: Remote crash after adding NS or MX records using
64      'samba-tool'.
65    * BUG 14472: CVE-2020-14383: Remote crash after adding MX records.
67 o  Volker Lendecke <vl@samba.org>
68    * BUG 14436: CVE-2020-14323: winbind: Fix invalid lookupsids DoS.
71 #######################################
72 Reporting bugs & Development Discussion
73 #######################################
75 Please discuss this release on the samba-technical mailing list or by
76 joining the #samba-technical IRC channel on irc.freenode.net.
78 If you do report problems then please try to send high quality
79 feedback. If you don't provide vital information to help us track down
80 the problem then you will probably be ignored.  All bug reports should
81 be filed under the Samba 4.1 and newer product in the project's Bugzilla
82 database (https://bugzilla.samba.org/).
85 ======================================================================
86 == Our Code, Our Bugs, Our Responsibility.
87 == The Samba Team
88 ======================================================================
91 Release notes for older releases follow:
92 ----------------------------------------
94                    ==============================
95                    Release Notes for Samba 4.12.8
96                           October 07, 2020
97                    ==============================
100 This is the latest stable release of the Samba 4.12 release series.
103 Changes since 4.12.7
104 --------------------
106 o  Günther Deschner <gd@samba.org>
107    * BUG 14318: docs: Add missing winexe manpage.
109 o  Volker Lendecke <vl@samba.org>
110    * BUG 14465: idmap_ad does not deal properly with a RFC4511 section 4.4.1
111      response.
113 o  Laurent Menase <laurent.menase@hpe.com>
114    * BUG 14388: winbind: Fix a memleak.
116 o  Stefan Metzmacher <metze@samba.org>
117    * BUG 14465: idmap_ad does not deal properly with a RFC4511 section 4.4.1
118      response.
119    * BUG 14482: Compilation of heimdal tree fails if libbsd is not installed.
121 o  Christof Schmitt <cs@samba.org>
122    * BUG 14166: util: Allow symlinks in directory_create_or_exist.
124 o  Andreas Schneider <asn@samba.org>
125    * BUG 14399: waf: Only use gnutls_aead_cipher_encryptv2() for GnuTLS >
126      3.6.14.
127    * BUG 14467: s3:smbd: Fix %U substitutions if it contains a domain name.
129 o  Martin Schwenke <martin@meltin.net>
130    * BUG 14466: ctdb disable/enable can fail due to race condition.
133 #######################################
134 Reporting bugs & Development Discussion
135 #######################################
137 Please discuss this release on the samba-technical mailing list or by
138 joining the #samba-technical IRC channel on irc.freenode.net.
140 If you do report problems then please try to send high quality
141 feedback. If you don't provide vital information to help us track down
142 the problem then you will probably be ignored.  All bug reports should
143 be filed under the Samba 4.1 and newer product in the project's Bugzilla
144 database (https://bugzilla.samba.org/).
147 ======================================================================
148 == Our Code, Our Bugs, Our Responsibility.
149 == The Samba Team
150 ======================================================================
153 ----------------------------------------------------------------------
156                    ==============================
157                    Release Notes for Samba 4.12.7
158                          September 18, 2020
159                    ==============================
162 This is a security release in order to address the following defect:
164 o CVE-2020-1472: Unauthenticated domain takeover via netlogon ("ZeroLogon").
166 The following applies to Samba used as domain controller only (most
167 seriously the Active Directory DC, but also the classic/NT4-style DC).
169 Installations running Samba as a file server only are not directly
170 affected by this flaw, though they may need configuration changes to
171 continue to talk to domain controllers (see "file servers and domain
172 members" below).
174 The netlogon protocol contains a flaw that allows an authentication
175 bypass. This was reported and patched by Microsoft as CVE-2020-1472.
176 Since the bug is a protocol level flaw, and Samba implements the
177 protocol, Samba is also vulnerable.
179 However, since version 4.8 (released in March 2018), the default
180 behaviour of Samba has been to insist on a secure netlogon channel,
181 which is a sufficient fix against the known exploits. This default is
182 equivalent to having 'server schannel = yes' in the smb.conf.
184 Therefore versions 4.8 and above are not vulnerable unless they have
185 the smb.conf lines 'server schannel = no' or 'server schannel = auto'.
187 Samba versions 4.7 and below are vulnerable unless they have 'server
188 schannel = yes' in the smb.conf.
190 Note each domain controller needs the correct settings in its smb.conf.
192 Vendors supporting Samba 4.7 and below are advised to patch their
193 installations and packages to add this line to the [global] section if
194 their smb.conf file.
196 The 'server schannel = yes' smb.conf line is equivalent to Microsoft's
197 'FullSecureChannelProtection=1' registry key, the introduction of
198 which we understand forms the core of Microsoft's fix.
200 Some domains employ third-party software that will not work with a
201 'server schannel = yes'. For these cases patches are available that
202 allow specific machines to use insecure netlogon. For example, the
203 following smb.conf:
205    server schannel = yes
206    server require schannel:triceratops$ = no
207    server require schannel:greywacke$ = no
209 will allow only "triceratops$" and "greywacke$" to avoid schannel.
211 More details can be found here:
212 https://www.samba.org/samba/security/CVE-2020-1472.html
215 Changes since 4.12.6
216 --------------------
218 o  Jeremy Allison <jra@samba.org>
219    * BUG 14497: CVE-2020-1472(ZeroLogon): s3:rpc_server/netlogon: Protect
220      netr_ServerPasswordSet2 against unencrypted passwords.
222 o  Günther Deschner <gd@samba.org>
223    * BUG 14497: CVE-2020-1472(ZeroLogon): s3:rpc_server/netlogon: Support
224      "server require schannel:WORKSTATION$ = no" about unsecure configurations.
226 o  Gary Lockyer <gary@catalyst.net.nz>
227    * BUG 14497: CVE-2020-1472(ZeroLogon): s4 torture rpc: repeated bytes in
228      client challenge.
230 o  Stefan Metzmacher <metze@samba.org>
231    * BUG 14497: CVE-2020-1472(ZeroLogon): libcli/auth: Reject weak client
232      challenges in netlogon_creds_server_init()
233      "server require schannel:WORKSTATION$ = no".
236 #######################################
237 Reporting bugs & Development Discussion
238 #######################################
240 Please discuss this release on the samba-technical mailing list or by
241 joining the #samba-technical IRC channel on irc.freenode.net.
243 If you do report problems then please try to send high quality
244 feedback. If you don't provide vital information to help us track down
245 the problem then you will probably be ignored.  All bug reports should
246 be filed under the Samba 4.1 and newer product in the project's Bugzilla
247 database (https://bugzilla.samba.org/).
250 ======================================================================
251 == Our Code, Our Bugs, Our Responsibility.
252 == The Samba Team
253 ======================================================================
256 ----------------------------------------------------------------------
259                    ==============================
260                    Release Notes for Samba 4.12.6
261                           August 13, 2020
262                    ==============================
265 This is the latest stable release of the Samba 4.12 release series.
268 Changes since 4.12.5
269 --------------------
271 o  Jeremy Allison <jra@samba.org>
272    * BUG 14403: s3: libsmb: Fix SMB2 client rename bug to a Windows server.
274 o  Andrew Bartlett <abartlet@samba.org>
275    * BUG 14424: dsdb: Allow "password hash userPassword schemes = CryptSHA256"
276      to work on RHEL7.
277    * BUG 14450: dbcheck: Allow a dangling forward link outside our known NCs.
279 o  Ralph Boehme <slow@samba.org>
280    * BUG 14426: lib/debug: Set the correct default backend loglevel to
281      MAX_DEBUG_LEVEL.
282    * BUG 14428: PANIC: Assert failed in get_lease_type().
284 o  Bjoern Jacke <bjacke@samba.org>
285    * BUG 14422: util: Fix build on AIX by fixing the order of replace.h include.
287 o  Volker Lendecke <vl@samba.org>
288    * BUG 14355: srvsvc_NetFileEnum asserts with open files.
290 o  Stefan Metzmacher <metze@samba.org>
291    * BUG 14354: KDC breaks with DES keys still in the database and
292      msDS-SupportedEncryptionTypes 31 indicating support for it.
293    * BUG 14427: s3:smbd: Make sure vfs_ChDir() always sets
294      conn->cwd_fsp->fh->fd = AT_FDCWD.
295    * BUG 14428: PANIC: Assert failed in get_lease_type().
297 o  Andreas Schneider <asn@samba.org>
298    * BUG 14358: docs: Fix documentation for require_membership_of of
299      pam_winbind.conf.
301 o  Martin Schwenke <martin@meltin.net>
302    * BUG 14444: ctdb-scripts: Use nfsconf utility for variable values in CTDB
303      NFS scripts.
305 o  Andrew Walker <awalker@ixsystems.com>
306    * BUG 14425: s3:winbind:idmap_ad: Make failure to get attrnames for schema
307      mode fatal.
310 #######################################
311 Reporting bugs & Development Discussion
312 #######################################
314 Please discuss this release on the samba-technical mailing list or by
315 joining the #samba-technical IRC channel on irc.freenode.net.
317 If you do report problems then please try to send high quality
318 feedback. If you don't provide vital information to help us track down
319 the problem then you will probably be ignored.  All bug reports should
320 be filed under the Samba 4.1 and newer product in the project's Bugzilla
321 database (https://bugzilla.samba.org/).
324 ======================================================================
325 == Our Code, Our Bugs, Our Responsibility.
326 == The Samba Team
327 ======================================================================
330 ----------------------------------------------------------------------
333                    ==============================
334                    Release Notes for Samba 4.12.5
335                             July 02, 2020
336                    ==============================
339 This is the latest stable release of the Samba 4.12 release series.
342 Changes since 4.12.4
343 --------------------
345 o  Jeremy Allison <jra@samba.org>
346    * BUG 14301: Fix smbd panic on force-close share during async io.
347    * BUG 14374: Fix segfault when using SMBC_opendir_ctx() routine for share
348      folder that contains incorrect symbols in any file name.
349    * BUG 14391: Fix DFS links.
351 o  Andrew Bartlett <abartlet@samba.org>
352    * BUG 14310: Can't use DNS functionality after a Windows DC has been in
353      domain.
355 o  Alexander Bokovoy <ab@samba.org>
356    * BUG 14413: ldapi search to FreeIPA crashes.
358 o  Isaac Boukris <iboukris@gmail.com>
359    * BUG 14396: Add net-ads-join dnshostname=fqdn option.
360    * BUG 14406: Fix adding msDS-AdditionalDnsHostName to keytab with Windows DC.
362 o  Björn Jacke <bj@sernet.de>
363    * BUG 14386: docs-xml: Update list of posible VFS operations for
364      vfs_full_audit.
366 o  Volker Lendecke <vl@samba.org>
367    * BUG 14382: winbindd: Fix a use-after-free when winbind clients exit.
369 o  Andreas Schneider <asn@samba.org>
370    * BUG 14370: Client tools are not able to read gencache anymore.
373 #######################################
374 Reporting bugs & Development Discussion
375 #######################################
377 Please discuss this release on the samba-technical mailing list or by
378 joining the #samba-technical IRC channel on irc.freenode.net.
380 If you do report problems then please try to send high quality
381 feedback. If you don't provide vital information to help us track down
382 the problem then you will probably be ignored.  All bug reports should
383 be filed under the Samba 4.1 and newer product in the project's Bugzilla
384 database (https://bugzilla.samba.org/).
387 ======================================================================
388 == Our Code, Our Bugs, Our Responsibility.
389 == The Samba Team
390 ======================================================================
393 ----------------------------------------------------------------------
396                    ==============================
397                    Release Notes for Samba 4.12.4
398                             July 02, 2020
399                    ==============================
402 This is a security release in order to address the following defects:
404 o CVE-2020-10730: NULL pointer de-reference and use-after-free in Samba AD DC
405                   LDAP Server with ASQ, VLV and paged_results.
406 o CVE-2020-10745: Parsing and packing of NBT and DNS packets can consume
407                   excessive CPU
408 o CVE-2020-10760: LDAP Use-after-free in Samba AD DC Global Catalog with
409                   paged_results and VLV.
410 o CVE-2020-14303: Empty UDP packet DoS in Samba AD DC nbtd.
413 =======
414 Details
415 =======
417 o  CVE-2020-10730:
418    A client combining the 'ASQ' and 'VLV' LDAP controls can cause a NULL pointer
419    de-reference and further combinations with the LDAP paged_results feature can
420    give a use-after-free in Samba's AD DC LDAP server.
422 o  CVE-2020-10745: Parsing and packing of NBT and DNS packets can consume
423    excessive CPU.
425 o  CVE-2020-10760:
426    The use of the paged_results or VLV controls against the Global Catalog LDAP
427    server on the AD DC will cause a use-after-free.
429 o  CVE-2020-14303:
430    The AD DC NBT server in Samba 4.0 will enter a CPU spin and not process
431    further requests once it receives an empty (zero-length) UDP packet to
432    port 137.
434 For more details, please refer to the security advisories.
437 Changes since 4.12.3
438 --------------------
440 o  Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
441    * BUG 14378: CVE-2020-10745: Invalid DNS or NBT queries containing dots use
442      several seconds of CPU each.
444 o  Andrew Bartlett <abartlet@samba.org>
445    * BUG 14364: CVE-2020-10730: NULL de-reference in AD DC LDAP server when ASQ
446      and VLV combined.
447    * BUG 14402: CVE-2020-10760: Fix use-after-free in AD DC Global Catalog LDAP
448      server with paged_result or VLV.
449    * BUG 14417: CVE-2020-14303: Fix endless loop from empty UDP packet sent to
450      AD DC nbt_server.
452 o  Gary Lockyer <gary@catalyst.net.nz>
453    * BUG 14364: CVE-2020-10730: NULL de-reference in AD DC LDAP server when ASQ
454      and VLV combined, ldb: Bump version to 2.1.4.
455    
457 #######################################
458 Reporting bugs & Development Discussion
459 #######################################
461 Please discuss this release on the samba-technical mailing list or by
462 joining the #samba-technical IRC channel on irc.freenode.net.
464 If you do report problems then please try to send high quality
465 feedback. If you don't provide vital information to help us track down
466 the problem then you will probably be ignored.  All bug reports should
467 be filed under the Samba 4.1 and newer product in the project's Bugzilla
468 database (https://bugzilla.samba.org/).
471 ======================================================================
472 == Our Code, Our Bugs, Our Responsibility.
473 == The Samba Team
474 ======================================================================
477 ----------------------------------------------------------------------
480                    ==============================
481                    Release Notes for Samba 4.12.3
482                             May 19, 2020
483                    ==============================
486 This is the latest stable release of the Samba 4.12 release series.
489 Changes since 4.12.2
490 --------------------
492 o  Jeremy Allison <jra@samba.org>
493    * BUG 14301: Fix smbd panic on force-close share during async io.
494    * BUG 14343: s3: vfs_full_audit: Add missing fcntl entry in vfs_op_names[]
495      array.
496    * BUG 14361: vfs_io_uring: Fix data corruption with Windows clients.
497    * BUG 14372: Fix smbd crashes when MacOS Catalina connects if iconv
498      initialization fails.
500 o  Ralph Boehme <slow@samba.org>
501    * BUG 14150: Exporting from macOS Adobe Illustrator creates multiple copies.
502    * BUG 14256: smbd does a chdir() twice per request.
503    * BUG 14320: smbd mistakenly updates a file's write-time on close.
504    * BUG 14350: vfs_shadow_copy2: implement case canonicalisation in
505      shadow_copy2_get_real_filename().
506    * BUG 14375: Fix Windows 7 clients problem after upgrading samba file server.
508 o  Alexander Bokovoy <ab@samba.org>
509    * BUG 14359: s3: Pass DCE RPC handle type to create_policy_hnd.
511 o  Isaac Boukris <iboukris@gmail.com>
512    * BUG 14155: Fix uxsuccess test with new MIT krb5 library 1.18.
513    * BUG 14342: mit-kdc: Explicitly reject S4U requests.
515 o  Anoop C S <anoopcs@redhat.com>
516    * BUG 14352: dbwrap_watch: Set rec->value_valid while returning nested
517      share_mode_do_locked().
519 o  Amit Kumar <amitkuma@redhat.com>
520    * BUG 14345: lib:util: Fix smbclient -l basename dir.
522 o  Volker Lendecke <vl@samba.org>
523    * BUG 14336: s3:libads: Fix ads_get_upn().
524    * BUG 14348: ctdb: Fix a memleak.
525    * BUG 14366: Malicous SMB1 server can crash libsmbclient.
527 o  Gary Lockyer <gary@catalyst.net.nz>
528    * BUG 14330: ldb: Bump version to 2.1.3, LMDB databases can grow without
529      bounds
531 o  Stefan Metzmacher <metze@samba.org>
532    * BUG 14361: vfs_io_uring: Fix data corruption with Windows clients.
534 o  Noel Power <noel.power@suse.com>
535    * BUG 14344: s3/librpc/crypto: Fix double free with unresolved credential
536      cache.
538 o  Andreas Schneider <asn@samba.org>
539    * BUG 14358: docs-xml: Fix usernames in pam_winbind manpages.
542 #######################################
543 Reporting bugs & Development Discussion
544 #######################################
546 Please discuss this release on the samba-technical mailing list or by
547 joining the #samba-technical IRC channel on irc.freenode.net.
549 If you do report problems then please try to send high quality
550 feedback. If you don't provide vital information to help us track down
551 the problem then you will probably be ignored.  All bug reports should
552 be filed under the Samba 4.1 and newer product in the project's Bugzilla
553 database (https://bugzilla.samba.org/).
556 ======================================================================
557 == Our Code, Our Bugs, Our Responsibility.
558 == The Samba Team
559 ======================================================================
562 ----------------------------------------------------------------------
565                    ==============================
566                    Release Notes for Samba 4.12.2
567                            April 28, 2020
568                    ==============================
571 This is a security release in order to address the following defects:
573 o CVE-2020-10700: Use-after-free in Samba AD DC LDAP Server with ASQ
574 o CVE-2020-10704: LDAP Denial of Service (stack overflow) in Samba AD DC
577 =======
578 Details
579 =======
581 o  CVE-2020-10700:
582    A client combining the 'ASQ' and 'Paged Results' LDAP controls can cause a
583    use-after-free in Samba's AD DC LDAP server.
584 o  CVE-2020-10704:
585    A deeply nested filter in an un-authenticated LDAP search can exhaust the
586    LDAP server's stack memory causing a SIGSEGV.
588 For more details, please refer to the security advisories.
591 Changes since 4.12.1
592 --------------------
594 o  Andrew Bartlett <abartlet@samba.org>
595    * BUG 14331: CVE-2020-10700: Fix use-after-free in AD DC LDAP server when
596      ASQ and paged_results combined.
598 o  Gary Lockyer <gary@catalyst.net.nz>
599    * BUG 20454: CVE-2020-10704: Fix LDAP Denial of Service (stack overflow) in
600      Samba AD DC.
603 #######################################
604 Reporting bugs & Development Discussion
605 #######################################
607 Please discuss this release on the samba-technical mailing list or by
608 joining the #samba-technical IRC channel on irc.freenode.net.
610 If you do report problems then please try to send high quality
611 feedback. If you don't provide vital information to help us track down
612 the problem then you will probably be ignored.  All bug reports should
613 be filed under the Samba 4.1 and newer product in the project's Bugzilla
614 database (https://bugzilla.samba.org/).
617 ======================================================================
618 == Our Code, Our Bugs, Our Responsibility.
619 == The Samba Team
620 ======================================================================
623 ----------------------------------------------------------------------
626                    ==============================
627                    Release Notes for Samba 4.12.1
628                            April 07, 2020
629                    ==============================
632 This is the latest stable release of the Samba 4.12 release series.
635 Changes since 4.12.0
636 --------------------
638 o  Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
639    * BUG 14295: nmblib: Avoid undefined behaviour in handle_name_ptrs().
641 o  Björn Baumbach <bb@sernet.de>
642    * BUG 14296: samba-tool group: Handle group names with special chars
643      correctly.
645 o  Ralph Boehme <slow@samba.org>
646    * BUG 14293: Add missing check for DMAPI offline status in async DOS
647      attributes.
648    * BUG 14295: Starting ctdb node that was powered off hard before results in
649      recovery loop.
650    * BUG 14307: smbd: Ignore set NTACL requests which contain S-1-5-88 NFS ACEs.
651    * BUG 14316: vfs_recycle: Prevent flooding the log if we're called on
652      non-existant paths.
654 o  Günther Deschner <gd@samba.org>
655    * BUG 14313: librpc: Fix IDL for svcctl_ChangeServiceConfigW.
656    * BUG 14327: nsswitch: Fix use-after-free causing segfault in
657      _pam_delete_cred.
659 o  Art M. Gallagher <repos@artmg.net>
660    * BUG 13622: fruit:time machine max size is broken on arm.
662 o  Amitay Isaacs <amitay@gmail.com>
663    * BUG 14294: CTDB recovery corner cases can cause record resurrection and
664      node banning.
666 o  Noel Power <noel.power@suse.com>
667    * BUG 14332: s3/utils: Fix double free error with smbtree.
669 o  Martin Schwenke <martin@meltin.net>
670    * BUG 14294: CTDB recovery corner cases can cause record resurrection and
671      node banning.
672    * BUG 14295: Starting ctdb node that was powered off hard before results in
673      recovery loop.
674    * BUG 14324: CTDB recovery daemon can crash due to dereference of NULL
675      pointer.
678 #######################################
679 Reporting bugs & Development Discussion
680 #######################################
682 Please discuss this release on the samba-technical mailing list or by
683 joining the #samba-technical IRC channel on irc.freenode.net.
685 If you do report problems then please try to send high quality
686 feedback. If you don't provide vital information to help us track down
687 the problem then you will probably be ignored.  All bug reports should
688 be filed under the Samba 4.1 and newer product in the project's Bugzilla
689 database (https://bugzilla.samba.org/).
692 ======================================================================
693 == Our Code, Our Bugs, Our Responsibility.
694 == The Samba Team
695 ======================================================================
698 ----------------------------------------------------------------------
701                    ==============================
702                    Release Notes for Samba 4.12.0
703                            March 03, 2020
704                    ==============================
707 This is the first stable release of the Samba 4.12 release series.
708 Please read the release notes carefully before upgrading.
711 NEW FEATURES/CHANGES
712 ====================
714 Python 3.5 Required
715 -------------------
717 Samba's minimum runtime requirement for python was raised to Python
718 3.4 with samba 4.11.  Samba 4.12 raises this minimum version to Python
719 3.5 both to access new features and because this is the oldest version
720 we test with in our CI infrastructure.
722 (Build time support for the file server with Python 2.6 has not
723 changed)
725 Removing in-tree cryptography: GnuTLS 3.4.7 required
726 ----------------------------------------------------
728 Samba is making efforts to remove in-tree cryptographic functionality,
729 and to instead rely on externally maintained libraries.  To this end,
730 Samba has chosen GnuTLS as our standard cryptographic provider.
732 Samba now requires GnuTLS 3.4.7 to be installed (including development
733 headers at build time) for all configurations, not just the Samba AD
736 Thanks to this work Samba no longer ships an in-tree DES
737 implementation and on GnuTLS 3.6.5 or later Samba will include no
738 in-tree cryptography other than the MD4 hash and that
739 implemented in our copy of Heimdal.
741 Using GnuTLS for SMB3 encryption you will notice huge performance and copy
742 speed improvements. Tests with the CIFS Kernel client from Linux Kernel 5.3
743 show a 3x speed improvement for writing and a 2.5x speed improvement for reads!
745 NOTE WELL: The use of GnuTLS means that Samba will honour the
746 system-wide 'FIPS mode' (a reference to the US FIPS-140 cryptographic
747 standard) and so will not operate in many still common situations if
748 this system-wide parameter is in effect, as many of our protocols rely
749 on outdated cryptography.
751 A future Samba version will mitigate this to some extent where good
752 cryptography effectively wraps bad cryptography, but for now that above
753 applies.
755 zlib library is now required to build Samba
756 -------------------------------------------
758 Samba no longer includes a local copy of zlib in our source tarball.
759 By removing this we do not need to ship (even where we did not
760 build) the old, broken zip encryption code found there.
762 New Spotlight backend for Elasticsearch
763 ---------------------------------------
765 Support for the macOS specific Spotlight search protocol has been enhanced
766 significantly. Starting with 4.12 Samba supports using Elasticsearch as search
767 backend. Various new parameters have been added to configure this:
769   spotlight backend = noindex | elasticsearch | tracker
770   elasticsearch:address = ADDRESS
771   elasticsearch:port = PORT
772   elasticsearch:use tls = BOOLEAN
773   elasticsearch:index = INDEXNAME
774   elasticsearch:mappings = PATH
775   elasticsearch:max results = NUMBER
777 Samba also ships a Spotlight client command "mdfind" which can be used to search
778 any SMB server that runs the Spotlight RPC service. See the manpage of mdfind
779 for details.
781 Note that when upgrading existing installations that are using the previous
782 default Spotlight backend Gnome Tracker must explicitly set "spotlight backend =
783 tracker" as the new default is "noindex".
785 'net ads kerberos pac save' and 'net eventlog export'
786 -----------------------------------------------------
788 The 'net ads kerberos pac save' and 'net eventlog export' tools will
789 no longer silently overwrite an existing file during data export.  If
790 the filename given exits, an error will be shown.
792 Fuzzing
793 -------
795 A large number of fuzz targets have been added to Samba, and Samba has
796 been registered in Google's oss-fuzz cloud fuzzing service.  In
797 particular, we now have good fuzzing coverage of our generated NDR
798 parsing code.
800 A large number of issues have been found and fixed thanks to this
801 effort.
803 'samba-tool' improvements add contacts as member to groups
804 ----------------------------------------------------------
806 Previously 'samba-tool group addmemers' can just add users, groups and
807 computers as members to groups. But also contacts can be members of
808 groups. Samba 4.12 adds the functionality to add contacts to
809 groups. Since contacts have no sAMAccountName, it's possible that
810 there are more than one contact with the same name in different
811 organizational units. Therefore it's necessary to have an option to
812 handle group members by their DN.
814 To get the DN of an object there is now the "--full-dn" option available
815 for all necessary commands.
817 The MS Windows UI allows to search for specific types of group members
818 when searching for new members for a group. This feature is included
819 here with the new samba-tool group addmembers "--object-type=OBJECTYPE"
820 option. The different types are selected accordingly to the Windows
821 UI. The default samba-toole behaviour shouldn't be changed.
823 Allow filtering by OU or subtree in samba-tool
824 ----------------------------------------------
826 A new "--base-dn" and "--member-base-dn" option is added to relevant
827 samba-tool user, group and ou management commands to allow operation
828 on just one part of the AD tree, such as a single OU.
833 SMB_VFS_NTIMES
834 --------------
836 Samba now uses a sentinel value based on utimensat(2) UTIME_OMIT to denote
837 to-be-ignored timestamp variables passed to the SMB_VFS_NTIMES() VFS function.
839 VFS modules can check whether any of the time values inside a struct
840 smb_file_time is to be ignored by calling is_omit_timespec() on the value.
842 'io_uring' vfs module
843 ---------------------
845 The module makes use of the new io_uring infrastructure
846 (intruduced in Linux 5.1), see https://lwn.net/Articles/776703/
848 Currently this implements SMB_VFS_{PREAD,PWRITE,FSYNC}_SEND/RECV
849 and avoids the overhead of the userspace threadpool in the default
850 vfs backend. See also vfs_io_uring(8).
852 In order to build the module you need the liburing userspace library
853 and its developement headers installed, see
854 https://git.kernel.dk/cgit/liburing/
856 At runtime you'll need a Linux kernel with version 5.1 or higher.
857 Note that 5.4.14 and 5.4.15 have a regression that breaks the Samba
858 module! The regression was fixed in Linux 5.4.16 again.
860 MS-DFS changes in the VFS
861 -------------------------
863 This release changes set getting and setting of MS-DFS redirects
864 on the filesystem to go through two new VFS functions:
866 SMB_VFS_CREATE_DFS_PATHAT()
867 SMB_VFS_READ_DFS_PATHAT()
869 instead of smbd explicitly storing MS-DFS redirects inside
870 symbolic links on the filesystem. The underlying default
871 implementations of this has not changed, the redirects are
872 still stored inside symbolic links on the filesystem, but
873 moving the creation and reading of these links into the VFS
874 as first-class functions now allows alternate methods of
875 storing them (maybe in extended attributes) for OEMs who
876 don't want to mis-use filesystem symbolic links in this
877 way.
880 CTDB changes
881 ============
883 * The ctdb_mutex_fcntl_helper periodically re-checks the lock file
885   The re-check period is specified using a 2nd argument to this
886   helper.  The default re-check period is 5s.
888   If the file no longer exists or the inode number changes then the
889   helper exits.  This triggers an election.
892 REMOVED FEATURES
893 ================
895 The smb.conf parameter "write cache size" has been removed.
897 Since the in-memory write caching code was written, our write path has
898 changed significantly. In particular we have gained very flexible
899 support for async I/O, with the new linux io_uring interface in
900 development.  The old write cache concept which cached data in main
901 memory followed by a blocking pwrite no longer gives any improvement
902 on modern systems, and may make performance worse on memory-contrained
903 systems, so this functionality should not be enabled in core smbd
904 code.
906 In addition, it complicated the write code, which is a performance
907 critical code path.
909 If required for specialist purposes, it can be recreated as a VFS
910 module.
912 Retiring DES encryption types in Kerberos.
913 ------------------------------------------
914 With this release, support for DES encryption types has been removed from
915 Samba, and setting DES_ONLY flag for an account will cause Kerberos
916 authentication to fail for that account (see RFC-6649).
918 Samba-DC: DES keys no longer saved in DB.
919 -----------------------------------------
920 When a new password is set for an account, Samba DC will store random keys
921 in DB instead of DES keys derived from the password.  If the account is being
922 migrated to Windbows or to an older version of Samba in order to use DES keys,
923 the password must be reset to make it work.
925 Heimdal-DC: removal of weak-crypto.
926 -----------------------------------
927 Following removal of DES encryption types from Samba, the embedded Heimdal
928 build has been updated to not compile weak crypto code (HEIM_WEAK_CRYPTO).
930 vfs_netatalk: The netatalk VFS module has been removed.
931 -------------------------------------------------------
933 The netatalk VFS module has been removed. It was unmaintained and is not needed
934 any more.
936 BIND9_FLATFILE deprecated
937 -------------------------
939 The BIND9_FLATFILE DNS backend is deprecated in this release and will
940 be removed in the future.  This was only practically useful on a single
941 domain controller or under expert care and supervision.
943 This release removes the 'rndc command' smb.conf parameter, which
944 supported this configuration by writing out a list of DCs permitted to
945 make changes to the DNS Zone and nudging the 'named' server if a new
946 DC was added to the domain.  Administrators using BIND9_FLATFILE will
947 need to maintain this manually from now on.
950 smb.conf changes
951 ================
953   Parameter Name                     Description                Default
954   --------------                     -----------                -------
956   elasticsearch:address              New                        localhost
957   elasticsearch:port                 New                        9200
958   elasticsearch:use tls              New                        No
959   elasticsearch:index                New                        _all
960   elasticsearch:mappings             New                        DATADIR/elasticsearch_mappings.json
961   elasticsearch:max results          New                        100
962   nfs4:acedup                        Changed default            merge
963   rndc command                       Removed
964   write cache size                   Removed
965   spotlight backend                  New                        noindex
968 CHANGES SINCE 4.12.0rc4
969 =======================
971 o  Andrew Bartlett <abartlet@samba.org>
972    * BUG 14258: dsdb: Correctly handle memory in objectclass_attrs.
975 CHANGES SINCE 4.12.0rc3
976 =======================
978 o  Jeremy Allison <jra@samba.org>
979    * BUG 14269: s3: DFS: Don't allow link deletion on a read-only share.
981 o  Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
982    * BUG 14284: pidl/wscript: configure should insist on Parse::Yapp::Driver.
984 o  Andrew Bartlett <abartlet@samba.org>
985    * BUG 14270: ldb: Fix search with scope ONE and small result sets.
986    * BUG 14284: build: Do not check if system perl modules should be bundled.
988 o  Volker Lendecke <vl@samba.org>
989    * BUG 14285: smbd fails to handle EINTR from open(2) properly.
991 o  Stefan Metzmacher <metze@samba.org>
992    * BUG 14270: ldb: version 2.1.1.
995 CHANGES SINCE 4.12.0rc2
996 =======================
998 o  Jeremy Allison <jra@samba.org>
999    * BUG 14282: Set getting and setting of MS-DFS redirects on the filesystem
1000      to go through two new VFS functions SMB_VFS_CREATE_DFS_PATHAT() and
1001      SMB_VFS_READ_DFS_PATHAT().
1003 o  Andrew Bartlett <abartlet@samba.org>
1004    * BUG 14255: bootstrap: Remove un-used dependency python3-crypto.
1006 o  Volker Lendecke <vl@samba.org>
1007    * BUG 14247: Fix CID 1458418 and 1458420.
1008    * BUG 14281: lib: Fix a shutdown crash with "clustering = yes".
1010 o  Stefan Metzmacher <metze@samba.org>
1011    * BUG 14247: Winbind member (source3) fails local SAM auth with empty domain
1012      name.
1013    * BUG 14265: winbindd: Handle missing idmap in getgrgid().
1014    * BUG 14271: Don't use forward declaration for GnuTLS typedefs.
1015    * BUG 14280: Add io_uring vfs module.
1017 o  Andreas Schneider <asn@samba.org>
1018    * BUG 14250: libcli:smb: Improve check for gnutls_aead_cipher_(en|de)cryptv2.
1021 CHANGES SINCE 4.12.0rc1
1022 =======================
1024 o  Jeremy Allison <jra@samba.org>
1025    * BUG 14239: s3: lib: nmblib. Clean up and harden nmb packet processing.
1027 o  Andreas Schneider <asn@samba.org>
1028    * BUG 14253: lib:util: Log mkdir error on correct debug levels.
1031 KNOWN ISSUES
1032 ============
1034 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.12#Release_blocking_bugs
1037 #######################################
1038 Reporting bugs & Development Discussion
1039 #######################################
1041 Please discuss this release on the samba-technical mailing list or by
1042 joining the #samba-technical IRC channel on irc.freenode.net.
1044 If you do report problems then please try to send high quality
1045 feedback. If you don't provide vital information to help us track down
1046 the problem then you will probably be ignored.  All bug reports should
1047 be filed under the Samba 4.1 and newer product in the project's Bugzilla
1048 database (https://bugzilla.samba.org/).
1051 ======================================================================
1052 == Our Code, Our Bugs, Our Responsibility.
1053 == The Samba Team
1054 ======================================================================