s3:auth: remove static from finalize_local_nt_token()
[Samba.git] / WHATSNEW.txt
blob021f2e7e5f400282992db169e9ee7b1443f68515
1                    =============================
2                    Release Notes for Samba 4.7.6
3                            March 13, 2018
4                    =============================
7 This is a security release in order to address the following defects:
9 o  CVE-2018-1050 (Denial of Service Attack on external print server.) 
10 o  CVE-2018-1057 (Authenticated users can change other users' password.)
13 =======
14 Details
15 =======
17 o  CVE-2018-1050:
18    All versions of Samba from 4.0.0 onwards are vulnerable to a denial of
19    service attack when the RPC spoolss service is configured to be run as
20    an external daemon. Missing input sanitization checks on some of the
21    input parameters to spoolss RPC calls could cause the print spooler
22    service to crash.
24    There is no known vulnerability associated with this error, merely a
25    denial of service. If the RPC spoolss service is left by default as an
26    internal service, all a client can do is crash its own authenticated
27    connection.
29 o  CVE-2018-1057:
30    On a Samba 4 AD DC the LDAP server in all versions of Samba from
31    4.0.0 onwards incorrectly validates permissions to modify passwords
32    over LDAP allowing authenticated users to change any other users'
33    passwords, including administrative users.
35    Possible workarounds are described at a dedicated page in the Samba wiki:
36    https://wiki.samba.org/index.php/CVE-2018-1057
39 Changes since 4.7.5:
40 --------------------
42 o  Jeremy Allison <jra@samba.org>
43    * BUG 11343: CVE-2018-1050: Codenomicon crashes in spoolss server code.
45 o  Ralph Boehme <slow@samba.org>
46    * BUG 13272: CVE-2018-1057: Unprivileged user can change any user (and admin)
47      password.
49 o  Stefan Metzmacher <metze@samba.org>
50    * BUG 13272: CVE-2018-1057: Unprivileged user can change any user (and admin)
51      password.
54 #######################################
55 Reporting bugs & Development Discussion
56 #######################################
58 Please discuss this release on the samba-technical mailing list or by
59 joining the #samba-technical IRC channel on irc.freenode.net.
61 If you do report problems then please try to send high quality
62 feedback. If you don't provide vital information to help us track down
63 the problem then you will probably be ignored.  All bug reports should
64 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
65 database (https://bugzilla.samba.org/).
68 ======================================================================
69 == Our Code, Our Bugs, Our Responsibility.
70 == The Samba Team
71 ======================================================================
74 Release notes for older releases follow:
75 ----------------------------------------
77                    =============================
78                    Release Notes for Samba 4.7.5
79                           February 7, 2018
80                    =============================
83 This is the latest stable release of the Samba 4.7 release series.
85 Major enhancements include:
87 o  BUG 13228: This is a major issue in Samba's ActiveDirectory domain
88    controller code. It might happen that AD objects have missing or broken
89    linked attributes. This could lead to broken group memberships e.g.
90    All Samba AD domain controllers set up with Samba 4.6 or lower and then
91    upgraded to 4.7 are affected. The corrupt database can be fixed with
92    'samba-tool dbcheck --cross-ncs --fix'.
95 Changes since 4.7.4:
96 --------------------
98 o  Jeremy Allison <jra@samba.org>
99    * BUG 13193: smbd tries to release not leased oplock during oplock II
100      downgrade.
102 o  Ralph Boehme <slow@samba.org>
103    * BUG 13181: Fix copying file with empty FinderInfo from Windows client
104      to Samba share with fruit.
106 o  Günther Deschner <gd@samba.org>
107    * BUG 10976: build: Deal with recent glibc sunrpc header removal.
108    * BUG 13238: Make Samba work with tirpc and libnsl2.
110 o  David Disseldorp <ddiss@samba.org>
111    * BUG 13208: vfs_ceph: Add fs_capabilities hook to avoid local statvfs.
113 o  Love Hornquist Astrand <lha@h5l.org>
114    * BUG 12986: Kerberos: PKINIT: Can't decode algorithm parameters in
115      clientPublicValue.
117 o  Amitay Isaacs <amitay@gmail.com>
118    * BUG 13188: ctdb-recovery-helper: Deregister message handler in error
119      paths.
121 o  Volker Lendecke <vl@samba.org>
122    * BUG 13240: samba: Only use async signal-safe functions in signal handler.
124 o  Stefan Metzmacher <metze@samba.org>
125    * BUG 12986: Kerberos: PKINIT: Can't decode algorithm parameters in
126      clientPublicValue.
127    * BUG 13228: repl_meta_data: Fix linked attribute corruption on databases
128      with unsorted links on expunge. dbcheck: Add functionality to fix the
129      corrupt database.
131 o  Christof Schmitt <cs@samba.org>
132    * BUG 13189: Fix smbd panic when chdir returns error during exit.
134 o  Andreas Schneider <asn@samba.org>
135    * BUG 13238: Make Samba work with tirpc and libnsl2.
137 o  Uri Simchoni <uri@samba.org>
138    * BUG 13176: Fix POSIX ACL support on HPUX and possibly other big-endian OSs.
141 #######################################
142 Reporting bugs & Development Discussion
143 #######################################
145 Please discuss this release on the samba-technical mailing list or by
146 joining the #samba-technical IRC channel on irc.freenode.net.
148 If you do report problems then please try to send high quality
149 feedback. If you don't provide vital information to help us track down
150 the problem then you will probably be ignored.  All bug reports should
151 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
152 database (https://bugzilla.samba.org/).
155 ======================================================================
156 == Our Code, Our Bugs, Our Responsibility.
157 == The Samba Team
158 ======================================================================
161 ----------------------------------------------------------------------
164                    =============================
165                    Release Notes for Samba 4.7.4
166                           December 22, 2017
167                    =============================
170 This is the latest stable release of the Samba 4.7 release series.
173 smbclient reparse point symlink parameters reversed
174 ===================================================
176 A bug in smbclient caused the 'symlink' command to reverse the
177 meaning of the new name and link target parameters when creating a
178 reparse point symlink against a Windows server.
180 This only affects using the smbclient 'symlink' command against
181 a Windows server, not a Samba server using the UNIX extensions
182 (the parameter order is correct in that case) so no existing
183 user scripts that depend on creating symlinks on Samba servers
184 need to change.
186 As this is a little used feature the ordering of these parameters
187 has been reversed to match the parameter ordering of the UNIX
188 extensions 'symlink' command. This means running 'symlink' against
189 both Windows and Samba now uses the same paramter ordering in both
190 cases.
192 The usage message for this command has also been improved to remove confusion.
195 Changes since 4.7.3:
196 --------------------
198 o  Jeremy Allison <jra@samba.org>
199    * BUG 13140: s3: smbclient: Implement 'volume' command over SMB2.
200    * BUG 13171: s3: libsmb: Fix valgrind read-after-free error in
201      cli_smb2_close_fnum_recv().
202    * BUG 13172: s3: libsmb: Fix reversing of oldname/newname paths when creating
203      a reparse point symlink on Windows from smbclient.
205 o  Timur I. Bakeyev <timur@iXsystems.com>
206    * BUG 12934: Build man page for vfs_zfsacl.8 with Samba.
208 o  Andrew Bartlett <abartlet@samba.org>
209    * BUG 13095: repl_meta_data: Allow delete of an object with dangling
210      backlinks.
211    * BUG 13129: s4:samba: Fix default to be running samba as a deamon.
212    * BUG 13191: Performance regression in DNS server with introduction of
213      DNS wildcard, ldb: Release 1.2.3
215 o  Ralph Boehme <slow@samba.org>
216    * BUG 6133: vfs_zfsacl: Fix compilation error.
217    * BUG 13051: "smb encrypt" setting changes are not fully applied until full
218      smbd restart.
219    * BUG 13052: winbindd: Fix idmap_rid dependency on trusted domain list.
220    * BUG 13155: vfs_fruit: Proper VFS-stackable conversion of FinderInfo.
221    * BUG 13173: winbindd: Dependency on trusted-domain list in winbindd in
222      critical auth codepath.
224 o  Andrej Gessel <Andrej.Gessel@janztec.com>
225    * BUG 13120: repl_meta_data: Fix removing of backlink on deleted objects.
227 o  Amitay Isaacs <amitay@gmail.com>
228    "* BUG 13153: ctdb: sock_daemon leaks memory.
229    * BUG 13154: TCP tickles not getting synchronised on CTDB restart.
231 o  Volker Lendecke <vl@samba.org>
232    * BUG 13150: winbindd: winbind parent and child share a ctdb connection.
233    * BUG 13170: pthreadpool: Fix deadlock.
234    * BUG 13179: pthreadpool: Fix starvation after fork.
235    * BUG 13180: messaging: Always register the unique id.
237 o  Gary Lockyer <gary@catalyst.net.nz>
238    * 13129: s4/smbd: set the process group.
240 o  Stefan Metzmacher <metze@samba.org>
241    * BUG 13095: Fix broken linked attribute handling.
242    * BUG 13132: The KDC on an RWDC doesn't send error replies in some
243      situations.
244    * BUG 13149: libnet_join: Fix 'net rpc oldjoin'.
245    * BUG 13195: g_lock conflict detection broken when processing stale entries.
246    * BUG 13197: s3:smb2_server: allow logoff, close, unlock, cancel and echo
247      on expired sessions.
249 o  Noel Power <noel.power@suse.com>
250    * BUG 13166: s3:libads: net ads keytab list fails with "Key table name
251      malformed".
253 o  Christof Schmitt <cs@samba.org>
254    * BUG 13170: Fix crash in pthreadpool thread after failure from pthread_create.
256 o  Andreas Schneider <asn@samba.org>
257    * BUG 13129: s4:samba: Allow samba daemon to run in foreground.
258    * BUG 13174: third_party: Link the aesni-intel library with "-z noexecstack".
260 o  Niels de Vos <ndevos@redhat.com>
261    * BUG 13125: vfs_glusterfs: include glusterfs/api/glfs.h without relying on
262      "-I" options.
265 #######################################
266 Reporting bugs & Development Discussion
267 #######################################
269 Please discuss this release on the samba-technical mailing list or by
270 joining the #samba-technical IRC channel on irc.freenode.net.
272 If you do report problems then please try to send high quality
273 feedback. If you don't provide vital information to help us track down
274 the problem then you will probably be ignored.  All bug reports should
275 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
276 database (https://bugzilla.samba.org/).
279 ======================================================================
280 == Our Code, Our Bugs, Our Responsibility.
281 == The Samba Team
282 ======================================================================
285 ----------------------------------------------------------------------
288                    =============================
289                    Release Notes for Samba 4.7.3
290                          November 21, 2017
291                    =============================
294 This is a security release in order to address the following defects:
296 o  CVE-2017-14746 (Use-after-free vulnerability.)
297 o  CVE-2017-15275 (Server heap memory information leak.)
300 =======
301 Details
302 =======
304 o  CVE-2017-14746:
305    All versions of Samba from 4.0.0 onwards are vulnerable to a use after
306    free vulnerability, where a malicious SMB1 request can be used to
307    control the contents of heap memory via a deallocated heap pointer. It
308    is possible this may be used to compromise the SMB server.
310 o  CVE-2017-15275:
311    All versions of Samba from 3.6.0 onwards are vulnerable to a heap
312    memory information leak, where server allocated heap memory may be
313    returned to the client without being cleared.
315    There is no known vulnerability associated with this error, but
316    uncleared heap memory may contain previously used data that may help
317    an attacker compromise the server via other methods. Uncleared heap
318    memory may potentially contain password hashes or other high-value
319    data.
321 For more details and workarounds, please see the security advisories:
323    o https://www.samba.org/samba/security/CVE-2017-14746.html
324    o https://www.samba.org/samba/security/CVE-2017-15275.html
327 Changes since 4.7.2:
328 --------------------
330 o  Jeremy Allison <jra@samba.org>
331    * BUG 13041: CVE-2017-14746: s3: smbd: Fix SMB1 use-after-free crash bug.
332    * BUG 13077: CVE-2017-15275: s3: smbd: Chain code can return uninitialized
333      memory when talloc buffer is grown.
336 #######################################
337 Reporting bugs & Development Discussion
338 #######################################
340 Please discuss this release on the samba-technical mailing list or by
341 joining the #samba-technical IRC channel on irc.freenode.net.
343 If you do report problems then please try to send high quality
344 feedback. If you don't provide vital information to help us track down
345 the problem then you will probably be ignored.  All bug reports should
346 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
347 database (https://bugzilla.samba.org/).
350 ======================================================================
351 == Our Code, Our Bugs, Our Responsibility.
352 == The Samba Team
353 ======================================================================
356 ----------------------------------------------------------------------
359                    =============================
360                    Release Notes for Samba 4.7.2
361                          November 15, 2017
362                    =============================
365 This is an additional bugfix release to address a possible data corruption
366 issue. Please update immediately! For details, please see
368   https://bugzilla.samba.org/show_bug.cgi?id=13130
370 Samba 4.6.0 and newer is affected by this issue.
373 Changes since 4.7.1:
374 --------------------
376 o  Jeremy Allison <jra@samba.org>
377    * BUG 13121: Non-smbd processes using kernel oplocks can hang smbd.
379 o  Joe Guo <joeg@catalyst.net.nz>
380    * BUG 13127: python: use communicate to fix Popen deadlock.
382 o  Volker Lendecke <vl@samba.org>
383    * BUG 13130: smbd on disk file corruption bug under heavy threaded load.
385 o  Stefan Metzmacher <metze@samba.org>
386    * BUG 13130: tevent: version 0.9.34.
388 o  Ralph Wuerthner <ralph.wuerthner@de.ibm.com>
389    * BUG 13118: s3: smbd: Fix delete-on-close after smb2_find.
392 #######################################
393 Reporting bugs & Development Discussion
394 #######################################
396 Please discuss this release on the samba-technical mailing list or by
397 joining the #samba-technical IRC channel on irc.freenode.net.
399 If you do report problems then please try to send high quality
400 feedback. If you don't provide vital information to help us track down
401 the problem then you will probably be ignored.  All bug reports should
402 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
403 database (https://bugzilla.samba.org/).
406 ======================================================================
407 == Our Code, Our Bugs, Our Responsibility.
408 == The Samba Team
409 ======================================================================
412 ----------------------------------------------------------------------
415                    =============================
416                    Release Notes for Samba 4.7.1
417                          November 02, 2017
418                    =============================
421 This is the latest stable release of the Samba 4.7 release series.
424 Changes since 4.7.0:
425 --------------------
427 o  Michael Adam <obnox@samba.org>
428    * BUG 13091: vfs_glusterfs: Fix exporting subdirs with shadow_copy2.
430 o  Jeremy Allison <jra@samba.org>
431    * BUG 13027: s3: smbd: Currently if getwd() fails after a chdir(), we panic.
432    * BUG 13068: s3: VFS: Ensure default SMB_VFS_GETWD() call can't return a
433      partially completed struct smb_filename.
434    * BUG 13069: sys_getwd() can leak memory or possibly return the wrong errno
435      on older systems.
436    * BUG 13093: 'smbclient' doesn't correctly canonicalize all local names
437      before use.
439 o  Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
440    * BUG 13095: Fix broken linked attribute handling.
442 o  Andrew Bartlett <abartlet@samba.org>
443    * BUG 12994: Missing LDAP query escapes in DNS rpc server.
444    * BUG 13087: replace: Link to -lbsd when building replace.c by hand.
446 o  Ralph Boehme <slow@samba.org>
447    * BUG 6133: Cannot delete non-ACL files on Solaris/ZFS/NFSv4 ACL filesystem.
448    * BUG 7909: Map SYNCHRONIZE acl permission statically in zfs_acl vfs module.
449    * BUG 7933: Samba fails to honor SEC_STD_WRITE_OWNER bit with the
450      acl_xattr module.
451    * BUG 12991: s3/mdssvc: Missing assignment in sl_pack_float.
452    * BUG 12995: Wrong Samba access checks when changing DOS attributes.
453    * BUG 13062: samba_runcmd_send() leaves zombie processes on timeout
454    * BUG 13065: net: groupmap cleanup should not delete BUILTIN mappings.
455    * BUG 13076: Enabling vfs_fruit results in loss of Finder tags and other
456      xattrs.
458 o  Alexander Bokovoy <ab@samba.org>
459    * BUG 9613: man pages: Properly ident lists.
460    * BUG 13081: smb.conf.5: Sort parameters alphabetically.
462 o  Samuel Cabrero <scabrero@suse.de>
463    * BUG 12993: s3: spoolss: Fix GUID string format on GetPrinter info.
465 o  Amitay Isaacs <amitay@gmail.com>
466    * BUG 13042: Remote serverid check doesn't check for the unique id.
467    * BUG 13056: CTDB starts consuming memory if there are dead nodes in the
468      cluster.
469    * BUG 13070: ctdb-common: Ignore event scripts with multiple '.'s.
471 o  Lutz Justen <ljusten@google.com>
472    * BUG 13046: libgpo doesn't sort the GPOs in the correct order.
474 o  Volker Lendecke <vl@samba.org>
475    * BUG 13042: Remote serverid check doesn't check for the unique id.
476    * BUG 13090: vfs_catia: Fix a potential memleak.
477    * BUG 12903: Fix file change notification for renames.
479 o  Gary Lockyer <gary@catalyst.net.nz>
480    * BUG 12952: Samba DNS server does not honour wildcards.
482 o  Stefan Metzmacher <metze@samba.org>
483    * BUG 13079:  Can't change password in samba from a Windows client if Samba
484      runs on IPv6 only interface.
486 o  Anoop C S <anoopcs@redhat.com>
487    * BUG 13086: vfs_fruit: Replace closedir() by SMB_VFS_CLOSEDIR.
489 o  Christof Schmitt <cs@samba.org>
490    * BUG 13047: Apple client can't cope with SMB2 async replies when creating
491      symlinks.
493 o  Andreas Schneider <asn@samba.org>
494    * BUG 12959: s4:rpc_server:backupkey: Move variable into scope.
495    * BUG 13099: s4:scripting: Fix ntstatus_gen.h generation on 32bit.
496    * BUG 13100: s3:vfs_glusterfs: Fix a double free in vfs_gluster_getwd().
497    * BUG 13101: Fix resouce leaks and pointer issues.
499 o  Jorge Schrauwen
500    * BUG 13049: vfs_solarisacl: Fix build for samba 4.7 and up.
503 #######################################
504 Reporting bugs & Development Discussion
505 #######################################
507 Please discuss this release on the samba-technical mailing list or by
508 joining the #samba-technical IRC channel on irc.freenode.net.
510 If you do report problems then please try to send high quality
511 feedback. If you don't provide vital information to help us track down
512 the problem then you will probably be ignored.  All bug reports should
513 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
514 database (https://bugzilla.samba.org/).
517 ======================================================================
518 == Our Code, Our Bugs, Our Responsibility.
519 == The Samba Team
520 ======================================================================
523 ----------------------------------------------------------------------
526                    =============================
527                    Release Notes for Samba 4.7.0
528                         September 20, 2017
529                    =============================
532 This is the first stable release of Samba 4.7.
533 Please read the release notes carefully before upgrading.
535 UPGRADING
536 =========
538 'smbclient' changes
539 ------------------
541 'smbclient' no longer prints a 'Domain=[...] OS=[Windows 6.1] Server=[...]'
542 banner when connecting to the first server. With SMB2 and Kerberos,
543 there's no way to print this information reliably. Now we avoid it at all
544 consistently. In interactive sessions the following banner is now presented
545 to the user: 'Try "help" do get a list of possible commands.'.
547 The default for "client max protocol" has changed to "SMB3_11",
548 which means that 'smbclient' (and related commands) will work against
549 servers without SMB1 support.
551 It's possible to use the '-m/--max-protocol' option to overwrite
552 the "client max protocol" option temporarily.
554 Note that the '-e/--encrypt' option also works with most SMB3 servers
555 (e.g. Windows >= 2012 and Samba >= 4.0.0), so the SMB1 unix extensions
556 are not required for encryption.
558 The change to SMB3_11 as default also means 'smbclient' no longer
559 negotiates SMB1 unix extensions by default, when talking to a Samba server with
560 "unix extensions = yes".  As a result, some commands are not available, e.g.
561 'posix_encrypt', 'posix_open', 'posix_mkdir', 'posix_rmdir', 'posix_unlink',
562 'posix_whoami', 'getfacl' and 'symlink'. Using "-mNT1" reenables them, if the
563 server supports SMB1.
565 Note the default ("CORE") for "client min protocol" hasn't changed,
566 so it's still possible to connect to SMB1-only servers by default.
568 'smbclient' learned a new command 'deltree' that is able to do
569 a recursive deletion of a directory tree.
572 NEW FEATURES/CHANGES
573 ====================
575 Whole DB read locks: Improved LDAP and replication consistency
576 --------------------------------------------------------------
578 Prior to Samba 4.7 and ldb 1.2.0, the LDB database layer used by Samba
579 erroneously did not take whole-DB read locks to protect search
580 and DRS replication operations.
582 While each object returned remained subject to a record-level lock (so
583 would remain consistent to itself), under a race condition with a
584 rename or delete, it and any links (like the member attribute) to it
585 would not be returned.
587 The symptoms of this issue include:
589 Replication failures with this error showing in the client side logs:
590  error during DRS repl ADD: No objectClass found in replPropertyMetaData for
591  Failed to commit objects:
592  WERR_GEN_FAILURE/NT_STATUS_INVALID_NETWORK_RESPONSE
594 A crash of the server, in particular the rpc_server process with
595  INTERNAL ERROR: Signal 11
597 LDAP read inconsistency
598  A DN subject to a search at the same time as it is being renamed
599  may not appear under either the old or new name, but will re-appear
600  for a subsequent search.
602 See https://bugzilla.samba.org/show_bug.cgi?id=12858 for more details
603 and updated advise on database recovery for affected installations.
605 Samba AD with MIT Kerberos
606 --------------------------
608 After four years of development, Samba finally supports compiling and
609 running Samba AD with MIT Kerberos. You can enable it with:
611     ./configure --with-system-mitkrb5
613 Samba requires version 1.15.1 of MIT Kerberos to build with AD DC support.
614 The krb5-devel and krb5-server packages are required.
615 The feature set is not on par with the Heimdal build but the most important
616 things, like forest and external trusts, are working. Samba uses the KDC binary
617 provided by MIT Kerberos.
619 Missing features, compared to Heimdal, are:
620   * PKINIT support
621   * S4U2SELF/S4U2PROXY support
622   * RODC support (not fully working with Heimdal either)
624 The Samba AD process will take care of starting the MIT KDC and it will load a
625 KDB (Kerberos Database) driver to access the Samba AD database.  When
626 provisioning an AD DC using 'samba-tool' it will take care of creating a correct
627 kdc.conf file for the MIT KDC.
629 For further details, see:
630 https://wiki.samba.org/index.php/Running_a_Samba_AD_DC_with_MIT_Kerberos_KDC
632 Dynamic RPC port range
633 ----------------------
635 The dynamic port range for RPC services has been changed from the old default
636 value "1024-1300" to "49152-65535". This port range is not only used by a
637 Samba AD DC, but also applies to all other server roles including NT4-style
638 domain controllers. The new value has been defined by Microsoft in Windows
639 Server 2008 and newer versions. To make it easier for Administrators to control
640 those port ranges we use the same default and make it configurable with the
641 option: "rpc server dynamic port range".
643 The "rpc server port" option sets the first available port from the new
644 "rpc server dynamic port range" option. The option "rpc server port" only
645 applies to Samba provisioned as an AD DC.
647 Authentication and Authorization audit support
648 ----------------------------------------------
650 Detailed authentication and authorization audit information is now
651 logged to Samba's debug logs under the "auth_audit" debug class,
652 including in particular the client IP address triggering the audit
653 line.  Additionally, if Samba is compiled against the jansson JSON
654 library, a JSON representation is logged under the "auth_json_audit"
655 debug class.
657 Audit support is comprehensive for all authentication and
658 authorisation of user accounts in the Samba Active Directory Domain
659 Controller, as well as the implicit authentication in password
660 changes.  In the file server and classic/NT4 domain controller, NTLM
661 authentication, SMB and RPC authorization is covered, however password
662 changes are not at this stage, and this support is not currently
663 backed by a testsuite.
665 For further details, see:
666 https://wiki.samba.org/index.php/Setting_up_Audit_Logging
668 Multi-process LDAP Server
669 -------------------------
671 The LDAP server in the AD DC now honours the process model used for
672 the rest of the 'samba' process, rather than being forced into a single
673 process.  This aids in Samba's ability to scale to larger numbers of AD
674 clients and the AD DC's overall resiliency, but will mean that there is a
675 fork()ed child for every LDAP client, which may be more resource
676 intensive in some situations.  If you run Samba in a
677 resource-constrained VM, consider allocating more RAM and swap space.
679 Improved Read-Only Domain Controller (RODC) Support
680 ---------------------------------------------------
682 Support for RODCs in Samba AD until now has been experimental. With this latest
683 version, many of the critical bugs have been fixed and the RODC can be used in
684 DC environments requiring no writable behaviour. RODCs now correctly support
685 bad password lockouts and password disclosure auditing through the
686 msDS-RevealedUsers attribute.
688 The fixes made to the RWDC will also allow Windows RODC to function more
689 correctly and to avoid strange data omissions such as failures to replicate
690 groups or updated passwords. Password changes are currently rejected at the
691 RODC, although referrals should be given over LDAP. While any bad passwords can
692 trigger domain-wide lockout, good passwords which have not been replicated yet
693 for a password change can only be used via NTLM on the RODC (and not Kerberos).
695 The reliability of RODCs locating a writable partner still requires some
696 improvements and so the 'password server' configuration option is generally
697 recommended on the RODC.
699 Samba 4.7 is the first Samba release to be secure as an RODC or when
700 hosting an RODC.  If you have been using earlier Samba versions to
701 host or be an RODC, please upgrade.
703 In particular see https://bugzilla.samba.org/show_bug.cgi?id=12977 for
704 details on the security implications for password disclosure to an
705 RODC using earlier versions.
707 Additional password hashes stored in supplementalCredentials
708 ------------------------------------------------------------
710 A new config option 'password hash userPassword schemes' has been added to
711 enable generation of SHA-256 and SHA-512 hashes (without storing the plaintext
712 password with reversible encryption). This builds upon previous work to improve
713 password sync for the AD DC (originally using GPG).
715 The user command of 'samba-tool' has been updated in order to be able to
716 extract these additional hashes, as well as extracting the (HTTP) WDigest
717 hashes that we had also been storing in supplementalCredentials.
719 Improvements to DNS during Active Directory domain join
720 -------------------------------------------------------
722 The 'samba-tool' domain join command will now add the A and GUID DNS records
723 (on both the local and remote servers) during a join if possible via RPC. This
724 should allow replication to proceed more smoothly post-join.
726 The mname element of the SOA record will now also be dynamically generated to
727 point to the local read-write server. 'samba_dnsupdate' should now be more
728 reliable as it will now find the appropriate name server even when resolv.conf
729 points to a forwarder.
731 Significant AD performance and replication improvements
732 -------------------------------------------------------
734 Previously, replication of group memberships was been an incredibly expensive
735 process for the AD DC. This was mostly due to unnecessary CPU time being spent
736 parsing member linked attributes. The database now stores these linked
737 attributes in sorted form to perform efficient searches for existing members.
738 In domains with a large number of group memberships, a join can now be
739 completed in half the time compared with Samba 4.6.
741 LDAP search performance has also improved, particularly in the unindexed search
742 case. Parsing and processing of security descriptors should now be more
743 efficient, improving replication but also overall performance.
745 Query record for open file or directory
746 ---------------------------------------
748 The record attached to an open file or directory in Samba can be
749 queried through the 'net tdb locking' command. In clustered Samba this
750 can be useful to determine the file or directory triggering
751 corresponding "hot" record warnings in ctdb.
753 Removal of lpcfg_register_defaults_hook()
754 -----------------------------------------
756 The undocumented and unsupported function lpcfg_register_defaults_hook()
757 that was used by external projects to call into Samba and modify
758 smb.conf default parameter settings has been removed. If your project
759 was using this call please raise the issue on
760 samba-technical@lists.samba.org in order to design a supported
761 way of obtaining the same functionality.
763 Change of loadable module interface
764 -----------------------------------
766 The _init function of all loadable modules in Samba has changed
767 from:
769 NTSTATUS _init(void);
773 NTSTATUS _init(TALLOC_CTX *);
775 This allows a program loading a module to pass in a long-lived
776 talloc context (which must be guaranteed to be alive for the
777 lifetime of the module). This allows modules to avoid use of
778 the talloc_autofree_context() (which is inherently thread-unsafe)
779 and still be valgrind-clean on exit. Modules that don't need to
780 free long-lived data on exit should use the NULL talloc context.
782 SHA256 LDAPS Certificates
783 -------------------------
785 The self-signed certificate generated for use on LDAPS will now be
786 generated with a SHA256 self-signature, not a SHA1 self-signature.
788 Replacing this certificate with a certificate signed by a trusted
789 CA is still highly recommended.
791 CTDB changes
792 ------------
794 * CTDB no longer allows mixed minor versions in a cluster
796   See the AllowMixedVersions tunable option in ctdb-tunables(7) and also
797   https://wiki.samba.org/index.php/Upgrading_a_CTDB_cluster#Policy
799 * CTDB now ignores hints from Samba about TDB flags when attaching to databases
801   CTDB will use the correct flags depending on the type of database.
802   For clustered databases, the smb.conf setting
803   dbwrap_tdb_mutexes:*=true will be ignored. Instead, CTDB continues
804   to use the TDBMutexEnabled tunable.
806 * New configuration variable CTDB_NFS_CHECKS_DIR
808   See ctdbd.conf(5) for more details.
810 * The CTDB_SERVICE_AUTOSTARTSTOP configuration variable has been
811   removed
813   To continue to manage/unmanage services while CTDB is running:
815   - Start service by hand and then flag it as managed
817   - Mark service as unmanaged and shut it down by hand
819   - In some cases CTDB does something fancy - e.g. start Samba under
820     "nice", so care is needed. One technique is to disable the
821     eventscript, mark as managed, run the startup event by hand and then
822     re-enable the eventscript.
824 * The CTDB_SCRIPT_DEBUGLEVEL configuration variable has been removed
826 * The example NFS Ganesha call-out has been improved
828 * A new "replicated" database type is available
830   Replicated databases are intended for CTDB's internal use to
831   replicate state data across the cluster, but may find other
832   uses. The data in replicated databases is valid for the lifetime of
833   CTDB and cleared on first attach.
835 Using x86_64 Accelerated AES Crypto Instructions
836 ------------------------------------------------
838 Samba on x86_64 can now be configured to use the Intel accelerated AES
839 instruction set, which has the potential to make SMB3 signing and
840 encryption much faster on client and server. To enable this, configure
841 Samba using the new option --accel-aes=intelaesni.
843 This is a temporary solution that is being included to allow users
844 to enjoy the benefits of Intel accelerated AES on the x86_64 platform,
845 but the longer-term solution will be to move Samba to a fully supported
846 external crypto library.
848 The third_party/aesni-intel code will be removed from Samba as soon as
849 external crypto library performance reaches parity.
851 The default is to build without setting --accel-aes, which uses the
852 existing Samba software AES implementation.
854 Parameter changes
855 -----------------
857 The "strict sync" global parameter has been changed from
858 a default of "no" to "yes". This means smbd will by default
859 obey client requests to synchronize unwritten data in operating
860 system buffers safely onto disk. This is a safer default setting
861 for modern SMB1/2/3 clients.
863 The 'ntlm auth' option default is renamed to 'ntlmv2-only', reflecting
864 the previous behaviour.  Two new values have been provided,
865 'mschapv2-and-ntlmv2-only' (allowing MSCHAPv2 while denying NTLMv1)
866 and 'disabled', totally disabling NTLM authentication and password
867 changes.
869 smb.conf changes
870 ================
872   Parameter Name                     Description             Default
873   --------------                     -----------             -------
874   allow unsafe cluster upgrade       New parameter           no
875   auth event notification            New parameter           no
876   auth methods                       Deprecated
877   client max protocol                Effective               SMB3_11
878                                      default changed
879   map untrusted to domain            New value/              auto
880                                      Default changed/
881                                      Deprecated
882   mit kdc command                    New parameter
883   profile acls                       Deprecated
884   rpc server dynamic port range      New parameter           49152-65535
885   strict sync                        Default changed         yes
886   password hash userPassword schemes New parameter
887   ntlm auth                          New values              ntlmv2-only
890 KNOWN ISSUES
891 ============
893 https://wiki.samba.org/inFdex.php/Release_Planning_for_Samba_4.7#Release_blocking_bugs
896 CHANGES SINCE 4.7.0rc6
897 ======================
899 o  CVE-2017-12150:
900    A man in the middle attack may hijack client connections.
902 o  CVE-2017-12151:
903    A man in the middle attack can read and may alter confidential
904    documents transferred via a client connection, which are reached
905    via DFS redirect when the original connection used SMB3.
907 o  CVE-2017-12163:
908    Client with write access to a share can cause server memory contents to be
909    written into a file or printer.
912 CHANGES SINCE 4.7.0rc5
913 ======================
915 o  Jeremy Allison <jra@samba.org>
916    * BUG 13003: s3: vfs: catia: compression get/set must act only on base file, and
917      must cope with fsp==NULL.
918    * BUG 13008: lib: crypto: Make smbd use the Intel AES instruction set for signing
919      and encryption.
921 o  Andrew Bartlett <abartlet@samba.org>
922    * BUG 12946: s4-drsuapi: Avoid segfault when replicating as a non-admin with
923      GUID_DRS_GET_CHANGES.
924    * BUG 13015: Allow re-index of newer databases with binary GUID TDB keys
925      (this officially removes support for re-index of the original pack format 0,
926      rather than simply segfaulting).
927    * BUG 13017: Add ldb_ldif_message_redacted_string() to allow debug of redacted
928      log messages, avoiding showing secret values.
929    * BUG 13023: ldb: version 1.2.2.
930    * BUG 13025: schema: Rework dsdb_schema_set_indices_and_attributes() db
931      operations.
933 o  Alexander Bokovoy <ab@samba.org>
934    * BUG 13030: Install dcerpc/__init__.py for all Python environments.
936 o  Ralph Boehme <slow@samba.org>
937    * BUG 13024: s3/smbd: Sticky write time offset miscalculation causes broken
938      timestamps
939    * BUG 13037: lib/util: Only close the event_fd in tfork if the caller didn't
940      call tfork_event_fd().
942 o  Volker Lendecke <vl@samba.org>
943    * BUG 13006: messaging: Avoid a socket leak after fork.
945 o  Stefan Metzmacher <metze@samba.org>
946    * BUG 13018: charset: Fix str[n]casecmp_m() by comparing lower case values.
948 o  Gary Lockyer <gary@catalyst.net.nz>
949    * BUG 13037: util_runcmd: Free the fde in event handler.
951 o  Amitay Isaacs <amitay@gmail.com>
952    * BUG 13012: ctdb-daemon: Fix implementation of process_exists control.
953    * BUG 13021: GET_DB_SEQNUM control can cause ctdb to deadlock when databases
954      are frozen.
955    * BUG 13029: ctdb-daemon: Free up record data if a call request is deferred.
956    * BUG 13036: ctdb-client: Initialize ctdb_ltdb_header completely for empty
957      record.
959 o  Christof Schmitt <cs@samba.org>
960    * BUG 13032: vfs_streams_xattr: Fix segfault when running with log level 10.
963 CHANGES SINCE 4.7.0rc4
964 ======================
966 o  Andrew Bartlett <abartlet@samba.org>
967    * BUG 12929: smb.conf: Explain that "ntlm auth" is a per-passdb setting.
968    * BUG 12953: s4/lib/tls: Use SHA256 to sign the TLS certificates.
970 o  Jeremy Allison <jra@samba.org>
971    * BUG 12932: Get rid of talloc_autofree_context().
973 o  Amitay Isaacs <amitay@gmail.com>
974    * BUG 12978: After restarting CTDB, it attaches replicated databases with
975      wrong flags.
977 o  Stefan Metzmacher <metze@samba.org>
978    * BUG 12863: s3:smbclient: Don't try any workgroup listing with
979      "client min protocol = SMB2".
980    * BUG 12876: s3:libsmb: Don't call cli_NetServerEnum() on SMB2/3 connections
981      in SMBC_opendir_ctx().
982    * BUG 12881: s3:libsmb: Let do_connect() debug the negotiation result
983      similar to "session request ok".
984    * BUG 12919: s4:http/gensec: add missing tevent_req_done() to
985      gensec_http_ntlm_update_done().
986    * BUG 12968: Fix 'smbclient tarmode' with SMB2/3.
987    * BUG 12973: 'smbd': Don't use a lot of CPU on startup of a connection.
989 o  Christof Schmitt <cs@samba.org>
990    * BUG 12983: vfs_default: Fix passing of errno from async calls.
992 o  Andreas Schneider <asn@samba.org>
993    * BUG 12629: s3:utils: Do not report an invalid range for AD DC role.
994    * BUG 12704: s3:libsmb: Let get_ipc_connect() use
995      CLI_FULL_CONNECTION_FORCE_SMB1.
996    * BUG 12930: Fix build issues with GCC 7.1.
997    * BUG 12950: s3:script: Untaint user supplied data in modprinter.pl.
998    * BUG 12956: s3:libads: Fix changing passwords with Kerberos.
999    * BUG 12975: Fix changing the password with 'smbpasswd' as a local user on
1000      a domain member.
1003 CHANGES SINCE 4.7.0rc3
1004 ======================
1006 o  Jeremy Allison <jra@samba.org>
1007    * BUG 12913: Implement cli_smb2_setatr() by calling cli_smb2_setpathinfo().
1009 o  Andrew Bartlett <abartlet@samba.org>
1010    * BUG 11392: s4-cldap/netlogon: Match Windows 2012R2 and return
1011      NETLOGON_NT_VERSION_5 when version unspecified.
1012    * BUG 12855: dsdb: Do not force a re-index of sam.ldb on upgrade to 4.7.
1013    * BUG 12904: dsdb: Fix dsdb_next_callback to correctly use ldb_module_done()
1014      etc.
1015    * BUG 12939: s4-rpc_server: Improve debug of new endpoints.
1017 o  Ralph Boehme <slow@samba.org>
1018    * BUG 12791: Fix kernel oplocks issues with named streams.
1019    * BUG 12944: vfs_gpfs: Handle EACCES when fetching DOS attributes from xattr.
1021 o  Bob Campbell <bobcampbell@catalyst.net.nz>
1022    * BUG 12842: samdb/cracknames: Support user and service principal as desired
1023      format.
1025 o  David Disseldorp <ddiss@samba.org>
1026    * BUG 12911: vfs_ceph: Fix cephwrap_chdir().
1028 o  Gary Lockyer <gary@catalyst.net.nz>
1029    * BUG 12865: Track machine account ServerAuthenticate3.
1031 o  Marc Muehlfeld <mmuehlfeld@samba.org>
1032    * BUG 12947: python: Fix incorrect kdc.conf parameter name in kerberos.py.
1034 o  Noel Power <noel.power@suse.com>
1035    * BUG 12937: s3/utils: 'smbcacls' failed to detect DIRECTORIES using SMB2
1036      (Windows only).
1038 o  Arvid Requate <requate@univention.de>
1039    * BUG 11392: s4-dsdb/netlogon: Allow missing ntver in cldap ping.
1041 o  Anoop C S <anoopcs@redhat.com>
1042    * BUG 12936: source3/client: Fix typo in help message displayed by default.
1044 o  Andreas Schneider <asn@samba.org>
1045    * BUG 12930: Fix building with GCC 7.1.1.
1048 CHANGES SINCE 4.7.0rc2
1049 ======================
1051 o  Jeremy Allison <jra@samba.org>
1052    * BUG 12836: s3: smbd: Fix a read after free if a chained SMB1 call goes
1053      async.
1054    * BUG 12899: s3: libsmb: Reverse sense of 'clear all attributes', ignore
1055      attribute change in SMB2 to match SMB1.
1056    * BUG 12914: s3: smbclient: Add new command deltree.
1058 o  Ralph Boehme <slow@samba.org>
1059    * BUG 12885: s3/smbd: Let non_widelink_open() chdir() to directories
1060      directly.
1061    * BUG 12887: Remove SMB_VFS_STRICT_UNLOCK noop from the VFS.
1062    * BUG 12891: Enable TDB mutexes in dbwrap and ctdb.
1063    * BUG 12897: vfs_fruit: don't use MS NFS ACEs with Windows clients.
1064    * BUG 12910: s3/notifyd: Ensure notifyd doesn't return from
1065      smbd_notifyd_init.
1067 o  Alexander Bokovoy <ab@samba.org>
1068    * BUG 12905: Build py3 versions of other rpc modules.
1070 o  Günther Deschner <gd@samba.org>
1071    * BUG 12840: vfs_fruit: Add "fruit:model = <modelname>" parametric option.
1073 o  Dustin L. Howett
1074    * BUG 12720: idmap_ad: Retry query_user exactly once if we get
1075      TLDAP_SERVER_DOWN.
1077 o  Amitay Isaacs <amitay@gmail.com>
1078    * BUG 12891: dbwrap_ctdb: Fix calculation of persistent flag.
1080 o  Thomas Jarosch <thomas.jarosch@intra2net.com>
1081    * BUG 12927: s3: libsmb: Fix use-after-free when accessing pointer *p.
1083 o  Volker Lendecke <vl@samba.org>
1084    * BUG 12925: smbd: Fix a connection run-down race condition.
1086 o  Stefan Metzmacher <metze@samba.org>
1087    * tevent: version 0.9.33: make tevent_req_print() more robust against crashes.
1088    * ldb: version 1.2.1
1089    * BUG 12882: Do not install _ldb_text.py if we have system libldb.
1090    * BUG 12890: s3:smbd: consistently use talloc_tos() memory for
1091      rpc_pipe_open_interface().
1092    * BUG 12900: Fix index out of bound in ldb_msg_find_common_values.
1094 o  Rowland Penny <rpenny@samba.org>
1095    * BUG 12884: Easily edit a users object in AD, as if using 'ldbedit'.
1097 o  Bernhard M. Wiedemann <bwiedemann@suse.de>
1098    * BUG 12906: s3: drop build_env
1100 o  Andreas Schneider <asn@samba.org>
1101    * BUG 12882: waf: Do not install _ldb_text.py if we have system libldb.
1103 o  Martin Schwenke <martin@meltin.net>
1104    * BUG 12898: ctdb-common: Set close-on-exec when creating PID file.
1107 CHANGES SINCE 4.7.0rc1
1108 ======================
1110 o  Jeffrey Altman <jaltman@secure-endpoints.com>
1111    * BUG 12894: CVE-2017-11103: Orpheus' Lyre KDC-REP service name validation
1114 #######################################
1115 Reporting bugs & Development Discussion
1116 #######################################
1118 Please discuss this release on the samba-technical mailing list or by
1119 joining the #samba-technical IRC channel on irc.freenode.net.
1121 If you do report problems then please try to send high quality
1122 feedback. If you don't provide vital information to help us track down
1123 the problem then you will probably be ignored.  All bug reports should
1124 be filed under the Samba 4.1 and newer product in the project's Bugzilla
1125 database (https://bugzilla.samba.org/).
1128 ======================================================================
1129 == Our Code, Our Bugs, Our Responsibility.
1130 == The Samba Team
1131 ======================================================================