WHATSNEW: Add release notes for Samba 4.2.0rc3.
[samba.git] / WHATSNEW.txt
1 Release Announcements
2 =====================
3
4 This is the third release candidate of Samba 4.2.  This is *not*
5 intended for production environments and is designed for testing
6 purposes only.  Please report any defects via the Samba bug reporting
7 system at https://bugzilla.samba.org/.
8
9 Samba 4.2 will be the next version of the Samba suite.
10
11
12 IMPORTANT NOTE ABOUT THE SUPPORT END OF SAMBA 3
13 =================================================
14
15 With the final release of Samba 4.2, the last series of Samba 3 has
16 been discontinued! People still running 3.6.x or earlier,should
17 consider moving to a more recent and maintained version (4.0 - 4.2).
18 One of the common misconceptions is that Samba 4.x automatically
19 means "Active Directory only": This is wrong!
20
21 Acting as an Active Directory Domain Controller is just one of the
22 enhancements included in Samba 4.0 and later. Version 4.0 was just the
23 next release after the 3.6 series and contains all the features of the
24 previous ones - including the NT4-style (classic) domain support. This
25 means you can update a Samba 3.x NT4-style PDC to 4.x, just as you've
26 updated in the past (e.g. from 3.4.x to 3.5.x). You don't have to move
27 your NT4-style domain to an Active Directory!
28
29 And of course the possibility remains unchanged, to setup a new NT4-style
30 PDC with Samba 4.x, like done in the past (e.g. with openLDAP backend).
31 Active Directory support in Samba 4 is additional and does not replace
32 any of these features. We do understand the difficulty presented by
33 existing LDAP structures and for that reason there isn't a plan to
34 decommission the classic PDC support. It remains tested by the continuous
35 integration system.
36
37 The code that supports the classic Domain Controller is also the same
38 code that supports the internal 'Domain' of standalone servers and
39 Domain Member Servers. This means that we still use this code, even
40 when not acting as an AD Domain Controller. It is also the basis for
41 some of the features of FreeIPA and so it gets development attention
42 from that direction as well.
43
44
45 UPGRADING
46 =========
47
48 Read the "Winbindd/Netlogon improvements" section (below) carefully!
49
50
51 NEW FEATURES
52 ============
53
54 Transparent File Compression
55 ============================
56
57 Samba 4.2.0 adds support for the manipulation of file and folder
58 compression flags on the Btrfs filesystem.
59 With the Btrfs Samba VFS module enabled, SMB2+ compression flags can
60 be set remotely from the Windows Explorer File->Properties->Advanced
61 dialog. Files flagged for compression are transparently compressed
62 and uncompressed when accessed or modified.
63
64 Previous File Versions with Snapper
65 ===================================
66
67 The newly added Snapper VFS module exposes snapshots managed by
68 Snapper for use by Samba. This provides the ability for remote
69 clients to access shadow-copies via Windows Explorer using the
70 "previous versions" dialog.
71
72 Winbindd/Netlogon improvements
73 ==============================
74
75 The whole concept of maintaining the netlogon secure channel
76 to (other) domain controllers was rewritten in order to maintain
77 global state in a netlogon_creds_cli.tdb. This is the proper fix
78 for a large number of bugs:
79
80   https://bugzilla.samba.org/show_bug.cgi?id=6563
81   https://bugzilla.samba.org/show_bug.cgi?id=7944
82   https://bugzilla.samba.org/show_bug.cgi?id=7945
83   https://bugzilla.samba.org/show_bug.cgi?id=7568
84   https://bugzilla.samba.org/show_bug.cgi?id=8599
85
86 In addition a strong session key is now required by default,
87 which means that communication to older servers or clients
88 might be rejected by default.
89
90 For the client side we have the following new options:
91 "require strong key" (yes by default), "reject md5 servers" (no by default).
92 E.g. for Samba 3.0.37 you need "require strong key = no" and
93 for NT4 DCs you need "require strong key = no" and "client NTLMv2 auth = no",
94
95 On the server side (as domain controller) we have the following new options:
96 "allow nt4 crypto" (no by default), "reject md5 client" (no by default).
97 E.g. in order to allow Samba < 3.0.27 or NT4 members to work
98 you need "allow nt4 crypto = yes"
99
100 winbindd does not list group memberships for display purposes
101 (e.g. getent group <domain\<group>) anymore by default.
102 The new default is "winbind expand groups = 0" now,
103 the reason for this is the same as for "winbind enum users = no"
104 and "winbind enum groups = no". Providing this information is not always
105 reliably possible, e.g. if there are trusted domains.
106
107 Please consult the smb.conf manpage for more details on these new options.
108
109 Winbindd use on the Samba AD DC
110 ===============================
111
112 Winbindd is now used on the Samba AD DC by default, replacing the
113 partial rewrite used for winbind operations in Samba 4.0 and 4.1.
114
115 This allows more code to be shared, more options to be honoured, and
116 paves the way for support for trusted domains in the AD DC.
117
118 If required the old internal winbind can be activated by setting
119 'server services = +winbind -winbindd'.  Upgrading users with a server
120 services parameter specified should ensure they change 'winbind' to
121 'winbindd' to obtain the new functionality.
122
123 The 'samba' binary still manages the starting of this service, there
124 is no need to start the winbindd binary manually.
125
126 Winbind now requires secured connections
127 ========================================
128
129 To improve protection against rogue domain controllers we now require
130 that when we connect to an AD DC in our forest, that the connection be
131 signed using SMB Signing.  Set 'client signing = off' in the smb.conf
132 to disable.
133
134 Also and DCE/RPC pipes must be sealed, set 'require strong key =
135 false' and 'winbind sealed pipes = false' to disable.
136
137 Finally, the default for 'client ldap sasl wrapping' has been set to
138 'sign', to ensure the integrity of LDAP connections.  Set 'client ldap
139 sasl wrapping = plain' to disable.
140
141 Larger IO sizes for SMB2/3 by default
142 =====================================
143
144 The default values for "smb2 max read", "smb2 max write" and "smb2 max trans"
145 have been changed to 8388608 (8MiB) in order to match the default of
146 Windows 2012R2.
147
148 SMB2 leases
149 ===========
150
151 The SMB2 protocol allows clients to aggressively cache files
152 locally above and beyond the caching allowed by SMB1 and SMB2 oplocks.
153
154 Called SMB2 leases, this can greatly reduce traffic on an SMB2
155 connection. Samba 4.2 now implements SMB2 leases.
156
157 It can be turned on by setting the parameter "smb2 leases = yes"
158 in the [global] section of your smb.conf. This parameter is set
159 to off by default until the SMB2 leasing code is declared fully stable.
160
161 Improved DCERPC man in the middle detection
162 ===========================================
163
164 The DCERPC header signing has been implemented
165 in addition to the dcerpc_sec_verification_trailer
166 protection.
167
168 Overhauled "net idmap" command
169 ==============================
170
171 The command line interface of the "net idmap" command has been
172 made systematic, and subcommands for reading and writing the autorid idmap
173 database have been added. Note that the writing commands should be
174 used with great care. See the net(8) manual page for details.
175
176 tdb improvements
177 ================
178
179 The tdb library, our core mechanism to store Samba-specific data on disk and
180 share it between processes, has been improved to support process shared robust
181 mutexes on Linux. These mutexes are available on Linux and Solaris and
182 significantly reduce the overhead involved with tdb. To enable mutexes for
183 tdb, set
184
185 dbwrap_tdb_mutexes:* = yes
186
187 in the [global] section of your smb.conf.
188
189 Tdb file space management has also been made more efficient. This
190 will lead to smaller and less fragmented databases.
191
192 Messaging improvements
193 ======================
194
195 Our internal messaging subsystem, used for example for things like oplock
196 break messages between smbds or setting a process debug level dynamically, has
197 been rewritten to use unix domain datagram messages.
198
199 Clustering support
200 ==================
201
202 Samba's file server clustering component CTDB is now integrated in the
203 Samba tree.  This avoids the confusion of compatibility of Samba and CTDB
204 versions as existed previously.
205
206 To build the Samba file server with cluster support, use the configure
207 command line option --with-cluster-support.  This will build clustered
208 file server against the in-tree CTDB and will also build CTDB.
209 Building clustered samba with previous versions of CTDB is no longer
210 supported.
211
212 Samba Registry Editor
213 =====================
214
215 The utitlity to browse the samba registry has been overhauled by our Google
216 Summer of Code student Chris Davis. Now samba-regedit has a
217 Midnight-Commander-like theme and UI experience. You can browse keys and edit
218 the diffent value types. For a data value type a hexeditor has been
219 implemented.
220
221 Bad Password Lockout in the AD DC
222 =================================
223
224 Samba's AD DC now implements bad password lockout (on a per-DC basis).
225
226 That is, incorrect password attempts are tracked, and accounts locked
227 out if too many bad passwords are submitted.  There is also a grace
228 period of 60 minutes on the previous password when used for NTLM
229 authentication (matching Windows 2003 SP1: https://support2.microsoft.com/kb/906305).
230
231 The relevant settings can be seen using 'samba-tool domain
232 passwordsettings show' (the new settings being highlighted):
233
234 Password informations for domain 'DC=samba,DC=example,DC=com'
235
236 Password complexity: on
237 Store plaintext passwords: off
238 Password history length: 24
239 Minimum password length: 7
240 Minimum password age (days): 1
241 Maximum password age (days): 42
242 * Account lockout duration (mins): 30     *
243 * Account lockout threshold (attempts): 0 *
244 * Reset account lockout after (mins): 30  *
245
246 These values can be set using 'samba-tool domain passwordsettings set'.
247
248 Correct defaults in the smb.conf manpages
249 =========================================
250
251 The default values for smb.conf parameters are now correctly specified
252 in the smb.conf manpage, even when they refer to build-time specified
253 paths.  Provided Samba is built on a system with the right tools
254 (xsltproc in particular) required to generate our man pages, then
255 these will be built with the exact same embedded paths as used by the
256 configuration parser at runtime.  Additionally, the default values
257 read from the smb.conf manpage are checked by our test suite to match
258 the values seen in testparm and used by the running binaries.
259
260 Consistent behaviour between samba-tool testparm and testparm
261 =============================================================
262
263 With the exception of the registry backend, which remains only
264 available in the file server, the behaviour of the smb.conf parser and
265 the tools 'samba-tool testparm' and 'testparm' is now consistent,
266 particularly with regard to default values.  Except with regard to
267 registry shares, it is no longer needed to use one tool on the AD
268 DC, and another on the file server.
269
270 VFS WORM module
271 ===============
272
273 A VFS module for basic WORM (Write once read many) support has been
274 added. It allows an additional layer on top of a Samba share, that provides
275 a basic set of WORM functionality on the client side, to control the
276 writeability of files and folders.
277
278 As the module is simply an additional layer, share access and permissions
279 work like expected - only WORM functionality is added on top. Removing the
280 module from the share configuration, removes this layer again. The
281 filesystem ACLs are not affected in any way from the module and treated
282 as usual.
283
284 The module does not provide complete WORM functions, like some archiving
285 products do! It is not audit-proof, because the WORM function is only
286 available on the client side, when accessing a share through SMB! If
287 the same folder is shared by other services like NFS, the access only
288 depends on the underlying filesystem ACLs. Equally if you access the
289 content directly on the server.
290
291 For additional information, see
292 https://wiki.samba.org/index.php/VFS/vfs_worm
293
294 vfs_fruit, a VFS module for OS X clients
295 ========================================
296
297 A new VFS module that provides enhanced compatibility with Apple SMB
298 clients and interoperability with a Netatalk 3 AFP fileserver.
299
300 The module features enhanced performance with reliable named streams
301 support, interoperability with special characters commonly used by OS
302 X client (eg '*', '/'), integrated file locking and Mac metadata
303 access with Netatalk 3 and enhanced performance by implementing
304 Apple's SMB2 extension codenamed "AAPL".
305
306 The modules behaviour is fully configurable, please refer to the
307 manpage vfs_fruit for further details.
308
309 smbclient archival improvements
310 ===============================
311
312 Archive creation and extraction support in smbclient has been rewritten
313 to use libarchive. This fixes a number of outstanding bugs in Samba's
314 previous custom tar implementation and also adds support for the
315 extraction of zipped archives.
316 smbclient archive support can be enabled or disabled at build time with
317 corresponding --with[out]-libarchive configure parameters.
318
319
320 ######################################################################
321 Changes
322 #######
323
324 smb.conf changes
325 ----------------
326
327    Parameter Name                       Description     Default
328    --------------                       -----------     -------
329
330    allow nt4 crypto                     New             no
331    neutralize nt4 emulation             New             no
332    reject md5 client                    New             no
333    reject md5 servers                   New             no
334    require strong key                   New             yes
335    smb2 max read                        Changed default 8388608
336    smb2 max write                       Changed default 8388608
337    smb2 max trans                       Changed default 8388608
338    winbind expand groups                Changed default 0
339
340
341 CHANGES SINCE 4.2.0rc2
342 ======================
343
344 o   Michael Adam <obnox@samba.org>
345     * BUG 10892: Integrate CTDB into top-level Samba build.
346
347
348 o   Jeremy Allison <jra@samba.org>
349     * BUG 10851: lib: uid_wrapper: Fix setgroups and syscall detection on a
350       system without native uid_wrapper library.
351     * BUG 10896: s3-nmbd: Fix netbios name truncation.
352     * BUG 10904: Fix smbclient loops doing a directory listing against Mac OS X 10
353       server with a non-wildcard path.
354     * BUG 10911: Add support for SMB2 leases.
355     * BUG 10920: s3: nmbd: Ensure NetBIOS names are only 15 characters stored.
356     * BUG 10966: libcli: SMB2: Pure SMB2-only negprot fix to make us behave as a
357       Windows client does.
358     * BUG 10982: s3: smbd: Fix *allocate* calls to follow POSIX error return
359       convention.
360
361
362 o   Christian Ambach <ambi@samba.org>
363     * BUG 9629: Make 'profiles' work again.
364
365
366 o   Björn Baumbach <bb@sernet.de>
367     * BUG 11014: ctdb-build: Fix build without xsltproc.
368
369
370 o   Ralph Boehme <slow@samba.org>
371     * BUG 10834: Don't build vfs_snapper on FreeBSD.
372     * BUG 10971: vfs_streams_xattr: Check stream type.
373     * BUG 10983: vfs_fruit: Add support for AAPL.
374     * BUG 11005: vfs_streams_xattr: Add missing call to SMB_VFS_NEXT_CONNECT.
375
376
377 o   Günther Deschner <gd@samba.org>
378     * BUG 9056: pam_winbind: fix warn_pwd_expire implementation.
379     * BUG 10942: Cleanup add_string_to_array and usage.
380
381
382 o   David Disseldorp <ddiss@samba.org>
383     * BUG 10898: spoolss: Fix handling of bad EnumJobs levels.
384     * BUG 10905: Fix print job enumeration.
385
386
387 o   Amitay Isaacs <amitay@gmail.com>
388     * BUG 10620: s4-dns: Add support for BIND 9.10.
389     * BUG 10892: Integrate CTDB into top-level Samba build.
390     * BUG 10996: Fix IPv6 support in CTDB.
391     * BUG 11014: packaging: Include CTDB man pages in the tarball.
392
393
394 o   Björn Jacke <bj@sernet.de>
395     * BUG 10835: nss_winbind: Add getgroupmembership for FreeBSD.
396
397
398 o   Guenter Kukkukk <linux@kukkukk.com>
399     * BUG 10952: Fix 'samba-tool dns serverinfo <server>' for IPv6.
400
401
402 o   Volker Lendecke <vl@samba.org>
403     * BUG 10932: pdb_tdb: Fix a TALLOC/SAFE_FREE mixup.
404     * BUG 10942: dbwrap_ctdb: Pass on mutex flags to tdb_open.
405
406
407 o   Justin Maggard <jmaggard10@gmail.com>
408     * BUG 10852: winbind3: Fix pwent variable substitution.
409
410
411 o   Kamen Mazdrashki <kamenim@samba.org>
412     * BUG 10975: ldb: version 1.1.18
413
414
415 o   Stefan Metzmacher <metze@samba.org>
416     * BUG 10781: tdb: version 1.3.3
417     * BUG 10911: Add support for SMB2 leases.
418     * BUG 10921: s3:smbd: Fix file corruption using "write cache size != 0".
419     * BUG 10949: Fix RootDSE search with extended dn control.
420     * BUG 10958: libcli/smb: only force signing of smb2 session setups when
421       binding a new session.
422     * BUG 10975: ldb: version 1.1.18
423     * BUG 11016: pdb_get_trusteddom_pw() fails with non valid UTF16 random
424       passwords.
425
426
427 o   Marc Muehlfeld <mmuehlfeld@samba.org>
428     * BUG 10895: samba-tool group add: Add option '--nis-domain' and '--gid'.
429
430
431 o   Noel Power <noel.power@suse.com>
432     * BUG 10918: btrfs: Don't leak opened directory handle.
433
434
435 o   Matt Rogers <mrogers@redhat.com>
436     * BUG 10933: s3-keytab: fix keytab array NULL termination.
437
438
439 o   Garming Sam <garming@catalyst.net.nz>
440     * BUG 10355: pdb: Fix build issues with shared modules.
441     * BUG 10720: idmap: Return the correct id type to *id_to_sid methods.
442     * BUG 10864: Fix testparm to show hidden share defaults.
443
444
445 o   Andreas Schneider <asn@samba.org>
446     * BUG 10279: Make 'smbclient' use cached creds.
447     * BUG 10960: s3-smbclient: Return success if we listed the shares.
448     * BUG 10961: s3-smbstatus: Fix exit code of profile output.
449     * BUG 10965: socket_wrapper: Add missing prototype check for eventfd.
450
451
452 o   Martin Schwenke <martin@meltin.net>
453     * BUG 10892: Integrate CTDB into top-level Samba build.
454     * BUG 10996: Fix IPv6 support in CTDB.
455
456
457 CHANGES SINCE 4.2.0rc1
458 ======================
459
460 o   Jeremy Allison <jra@samba.org>
461     * BUG 10848: s3: smb2cli: query info return length check was reversed.
462
463
464 o   Björn Baumbach <bb@sernet.de>
465     * BUG 10862: build: Do not install 'texpect' binary anymore.
466
467
468 o   Chris Davis <cd.rattan@gmail.com>
469     * BUG 10859: Improve samba-regedit.
470
471
472 o   Jakub Hrozek <jakub.hrozek@gmail.com>
473     * BUG 10861: Fix build of socket_wrapper on systems without SO_PROTOCOL.
474
475
476 o   Volker Lendecke <vl@samba.org>
477     * BUG 10860: registry: Don't leave dangling transactions.
478
479
480 o   Stefan Metzmacher <metze@samba.org>
481     * BUG 10866: libcli/smb: Fix smb2cli_validate_negotiate_info with
482       min=PROTOCOL_NT1 max=PROTOCOL_SMB2_02.
483
484
485 o   Christof Schmitt <cs@samba.org>
486     * BUG 10837: idmap_rfc2307: Fix a crash after connection problem to DC.
487
488
489 #######################################
490 Reporting bugs & Development Discussion
491 #######################################
492
493 Please discuss this release on the samba-technical mailing list or by
494 joining the #samba-technical IRC channel on irc.freenode.net.
495
496 If you do report problems then please try to send high quality
497 feedback. If you don't provide vital information to help us track down
498 the problem then you will probably be ignored.  All bug reports should
499 be filed under the Samba 4.2 product in the project's Bugzilla
500 database (https://bugzilla.samba.org/).
501
502
503 ======================================================================
504 == Our Code, Our Bugs, Our Responsibility.
505 == The Samba Team
506 ======================================================================
507