WHATSNEW: Add release notes for Samba 4.6.0.
[Samba.git] / WHATSNEW.txt
blobecfdecc40a64dd309721df096ae2bff57baa65ac
1 Release Announcements
2 =====================
4 This is the first stable release of Samba 4.6.
5 Please read the release notes carefully before upgrading.
8 UPGRADING
9 =========
11 ID Mapping
12 ----------
13 We discovered that the majority of users have an invalid or incorrect
14 ID mapping configuration. We implemented checks in the 'testparm' tool to
15 validate the ID mapping configuration. You should run it and check if it prints
16 any warnings or errors after upgrading! If it does you should fix them. See the
17 'IDENTITY MAPPING CONSIDERATIONS' section in the smb.conf manpage.
18 There are some ID mapping backends which are not allowed to be used for the
19 default backend. Winbind will no longer start if an invalid backend is
20 configured as the default backend.
22 To avoid problems in future we advise all users to run 'testparm' after
23 changing the smb.conf file!
25 vfs_fruit option "fruit:resource" spelling correction
26 -----------------------------------------------------
28 Due to a spelling error in the vfs_fruit option parsing for the "fruit:resource"
29 option, users who have set this option in their smb.conf were still using the
30 default setting "fruit:resource = file" as the parser was looking for the string
31 "fruit:ressource" (two "s").
33 After upgrading to this Samba version 4.6, you MUST either remove the option
34 from your smb.conf or set it to the default "fruit:resource = file", otherwise
35 your macOS clients will not be able to access the resource fork data.
37 This version Samba 4.6 accepts both the correct and incorrect spelling, but the
38 next Samba version 4.7 will not accept the wrong spelling.
40 Users who were using the wrong spelling "ressource" with two "s" can keep the
41 setting, but are advised to switch to the correct spelling.
43 vfs_fruit Netatalk metadata xattr name on *BSD
44 ----------------------------------------------
46 Users on *BSD must rename the metadata xattr used by vfs_fruit when
47 using the default setting "fruit:metadata = netatalk".
49 Due to a glitch in the Samba xattr API compatibility layer for FreeBSD and a
50 mistake in vfs_fruit, vfs_fruit ended up using the wrong xattr name when
51 configured with "fruit:metadata = netatalk" (default). Instead of the correct
53   org.netatalk.Metadata
55 it used
57   netatalk.Metadata
59 Starting with Samba 4.6 vfs_fruit will use the correct "org.netatalk.Metadata"
60 which means existing installations must rename this xattrs. For this purpose
61 Samba now includes a new tool `mvxattr`. See below for further details.
64 NEW FEATURES/CHANGES
65 ====================
67 Kerberos client encryption types
68 --------------------------------
69 Some parts of Samba (most notably winbindd) perform Kerberos client
70 operations based on a Samba-generated krb5.conf file. A new
71 parameter, "kerberos encryption types" allows configuring the
72 encryption types set in this file, thereby allowing the user to
73 enforce strong or legacy encryption in Kerberos exchanges.
75 The default value of "all" is compatible with previous behavior, allowing
76 all encryption algorithms to be negotiated. Setting the parameter to "strong"
77 only allows AES-based algorithms to be negotiated. Setting the parameter to
78 "legacy" allows only RC4-HMAC-MD5 - the legacy algorithm for Active Directory.
79 This can solves some corner cases of mixed environments with Server 2003R2 and
80 newer DCs.
82 Printing
83 --------
84 Support for uploading printer drivers from newer Windows clients (Windows 10)
85 has been added until our implementation of [MS-PAR] protocol is ready.
86 Several issues with uploading different printing drivers have been addressed.
88 The OS Version for the printing server has been increased to announce
89 Windows Server 2003 R2 SP2. If a driver needs a newer version then you should
90 check the smb.conf manpage for details.
92 new option for owner inheritance
93 --------------------------------
94 The "inherit owner" smb.conf parameter instructs smbd to set the
95 owner of files to be the same as the parent directory's owner.
96 Up until now, this parameter could be set to "yes" or "no".
97 A new option, "unix only", enables this feature only for the UNIX owner
98 of the file, not affecting the SID owner in the Windows NT ACL of the
99 file. This can be used to emulate something very similar to folder quotas.
101 Multi-process Netlogon support
102 ------------------------------
104 The Netlogon server in the Samba AD DC can now run as multiple
105 processes.  The Netlogon server is a part of the AD DC that handles
106 NTLM authentication on behalf of domain members, including file
107 servers, NTLM-authenticated web servers and 802.1x gateways.  The
108 previous restriction to running as a single process has been removed,
109 and it will now run in the same process model as the rest of the
110 'samba' binary.
112 As part of this change, the NETLOGON service will now run on a distinct
113 TCP port, rather than being shared with all other RPC services (LSA,
114 SAMR, DRSUAPI etc).
116 New options for controlling TCP ports used for RPC services
117 -----------------------------------------------------------
119 The new 'rpc server port' option controls the default port used for
120 RPC services other than Netlogon.  The Netlogon server honours instead
121 the 'rpc server port:netlogon' option.  The default value for both
122 these options is the first available port including or after 1024.
124 AD LDAP and replication performance improvements
125 ------------------------------------------------
127 Samba's LDB (the database holding the AD directory tree, as seen via
128 LDAP) and our DRSUAPI replication code continues to improve,
129 particularly in respect to the handling of large numbers of objects or
130 linked attributes.
132  * We now respect an 'uptodateness vector' which will dramatically
133    reduce the over-replication of links from new DCs.
135  * We have also made the parsing of on-disk linked attributes much
136    more efficient.
138  * We rely on ldb 1.1.28.  This ldb version has improved memory
139    handling for ldb search results, improving poorly indexed and
140    unindexed search result processing speed by around 20%.
142 DNS improvements
143 ----------------
145 The samba-tool dns subcommand is now much more robust and can delete
146 records in a number of situations where it was not possible to do so
147 in the past.
149 On the server side, DNS names are now more strictly validated.
151 CTDB changes
152 ------------
154 * "ctdb event" is a new top-level command for interacting with event scripts
156   "ctdb event status" replaces "ctdb scriptstatus" - the latter is
157   maintained for backward compatibility but the output format has been
158   cleaned up
160   "ctdb event run" replaces "ctdb eventscript"
162   "ctdb event script enable" replaces "ctdb enablescript"
164   "ctdb event script disable" replaces "ctdb disablescript"
166   The new command "ctdb event script list" lists event scripts.
168 * CTDB's back-end for running event scripts has been replaced by a
169   separate, long-running daemon ctdbd_eventd.
171 * Running ctdb interactively will log to stderr
173 * CTDB logs now include process id for each process
175 * CTDB tags log messages differently.  Changes include:
177   ctdb-recoverd: Messages from CTDB's recovery daemon
178   ctdb-recovery: Messages from CTDB database recovery
179   ctdb-eventd: Messages from CTDB's event daemon
180   ctdb-takeover: Messages from CTDB's public IP takeover subsystem
182 * The mapping between symbolic and numeric debug levels has changed
184   Configurations containing numeric debug levels should be updated.
185   Symbolic debug levels are recommended.  See the DEBUG LEVEL section
186   of ctdb(7) for details.
188 *  Tunable IPAllocAlgorithm replaces LCP2PublicIPs, DeterministicIPs
190    See ctdb-tunables(7) for details
192 * CTDB's configuration tunables should be consistently set across a cluster
194   This has always been the cases for most tunables but this fact is
195   now documented.
197 * CTDB ships with recovery lock helper call-outs for etcd and Ceph RADOS
199   To build/install these, use the --enable-etcd-reclock and
200   --enable-ceph-reclock configure options.
202 winbind changes
203 ---------------
205 4.6 winbind simplifies the calculation of supplementary groups to make
206 it more reliable and predictable. Before 4.6, winbind contained code
207 that tried to emulate the group membership calculation that domain
208 controllers do when a user logs in. This group membership calculation
209 is a very complex process, in particular for domain trust relationship
210 situations. Also, in many scenarios it is impossible for winbind to
211 correctly do this calculation due to access restrictions in the
212 domains: winbind using its machine account simply does not have the
213 rights to ask for an arbitrary user's group memberships.
215 When a user logs in to a Samba server, the domain controller correctly
216 calculates the user's group memberships authoritatively and makes the
217 information available to the Samba server. This is the only reliable
218 way Samba can get informed about the groups a user is member of.
220 Because of its flakiness, the fallback group membership code was
221 removed.
223 This means that "id <username>" without the user having logged in
224 previously stops showing any supplementary groups. Also, it will show
225 "DOMAIN\Domain Users" as the primary group. Once the user has logged
226 in, "id <username>" will correctly show the primary group and
227 supplementary group list.
229 winbind primary group and nss info
230 ----------------------------------
232 With 4.6, it will be possible to optionally use the primary group as
233 set in the "Unix Attributes" tab for the local unix token of a domain
234 user.  Before 4.6, the Windows primary group was always chosen as
235 primary group for the local unix token.
237 To activate the unix primary group, set
239 idmap config <DOMAIN> : unix_primary_group = yes
241 Similarly, set
243 idmap config <DOMAIN> : unix_nss_info = yes
245 to retrieve the home directory and login shell from the "Unix
246 Attributes" of the user. This supersedes the "winbind nss info"
247 parameter with a per-domain configuration option.
249 mvxattr
250 -------
252 mvxattr is a simple utility to recursively rename extended attributes of all
253 files and directories in a directory tree.
255   Usage: mvxattr -s STRING -d STRING PATH [PATH ...]
256     -s, --from=STRING         xattr source name
257     -d, --to=STRING           xattr destination name
258     -l, --follow-symlinks     follow symlinks, the default is to ignore them
259     -p, --print               print files where the xattr got renamed
260     -v, --verbose             print files as they are checked
261     -f, --force               force overwriting of destination xattr
263   Help options:
264     -?, --help                Show this help message
265     --usage                   Display brief usage message
267 idmap_hash
268 ----------
270 The idmap_hash module is marked as deprecated with this release and will be
271 removed in a future version. See the manpage of the module for details.
274 smb.conf changes
275 ================
277   Parameter Name                Description             Default
278   --------------                -----------             -------
279   kerberos encryption types     New                     all
280   inherit owner                 New option
281   fruit:resource                Spelling correction
282   lsa over netlogon             New (deprecated)        no
283   rpc server port               New                     0
286 KNOWN ISSUES
287 ============
289 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.6#Release_blocking_bugs
292 CHANGES SINCE 4.6.0rc4
293 ======================
295 o  Jeremy Allison <jra@samba.org>
296    * BUG 12592: Fix several issues found by covscan.
297    * BUG 12608: s3: smbd: Restart reading the incoming SMB2 fd when the send
298      queue is drained.
300 o  Ralph Boehme <slow@samba.org>
301    * BUG 12427: vfs_fruit doesn't work with fruit:metadata=stream.
302    * BUG 12526: vfs_fruit: Only veto AppleDouble files if "fruit:resource" is
303      set to "file".
304    * BUG 12604: vfs_fruit: Enabling AAPL extensions must be a global switch.
306 o  Stefan Metzmacher <metze@samba.org>
307    * BUG 9048: Samba4 ldap error codes.
308    * BUG 12557: gensec:spnego: Add debug message for the failed principal.
309    * BUG 12605: s3:winbindd: Fix endless forest trust scan.
311 o  Andreas Schneider <asn@samba.org>
312    * BUG 12557: s3:librpc: Handle gss_min in gse_get_client_auth_token()
313      correctly.
314    * BUG 12582: idmap_hash: Add a deprecation message, improve the idmap_hash
315      manpage.
316    * BUG 12592: Fix several issues found by covscan.
318 o  Martin Schwenke <martin@meltin.net>
319    * BUG 12592: ctdb-logging: CID 1396883 Dereference null return value
320      (NULL_RETURNS).
323 CHANGES SINCE 4.6.0rc3
324 ======================
326 o  Jeremy Allison <jra@samba.org>
327    * BUG 12545: s3: rpc_server/mdssvc: Add attribute "kMDItemContentType".
328    * BUG 12572: s3: smbd: Don't loop infinitely on bad-symlink resolution.
330 o  Ralph Boehme <slow@samba.org>
331    * BUG 12490: vfs_fruit: Correct Netatalk metadata xattr on FreeBSD.
332    * BUG 12536: s3/smbd: Check for invalid access_mask
333      smbd_calculate_access_mask().
334    * BUG 12591: vfs_streams_xattr: use fsp, not base_fsp.
336 o  Amitay Isaacs <amitay@gmail.com>
337    * BUG 12580: ctdb-common: Fix use-after-free error in comm_fd_handler().
338    * BUG 12595: build: Fix generation of CTDB manpages while creating tarball.
340 o  Bryan Mason <bmason@redhat.com>
341    * BUG 12575: Modify smbspool_krb5_wrapper to just fall through to smbspool if
342      AUTH_INFO_REQUIRED is not set or is not "negotiate".
344 o  Stefan Metzmacher <metze@samba.org>
345    * BUG 11830: s3:winbindd: Try a NETLOGON connection with noauth over NCACN_NP
346      against trusted domains.
347    * BUG 12262: 'net ads testjoin' and smb access fails after winbindd changed the
348      trust password.
349    * BUG 12585: librpc/rpc: fix regression in
350      NT_STATUS_RPC_ENUM_VALUE_OUT_OF_RANGE error mapping.
351    * BUG 12586: netlogon_creds_cli_LogonSamLogon doesn't work without
352      netr_LogonSamLogonEx.
353    * BUG 12587: winbindd child segfaults on connect to an NT4 domain.
354    * BUG 12588: s3:winbindd: Make sure cm_prepare_connection() only returns OK
355      with a valid tree connect.
356    * BUG 12598: winbindd (as member) requires kerberos against trusted ad domain,
357      while it shouldn't.
358    * BUG 12601: Backport pytalloc_GenericObject_reference() related changes to
359      4.6.
361 o  Garming Sam <garming@catalyst.net.nz>
362    * BUG 12600: dbchecker: Stop ignoring linked cases where both objects are
363      alive.
365 o  Andreas Schneider <asn@samba.org>
366    * BUG 12571: s3-vfs: Only walk the directory once in open_and_sort_dir().
368 o  Martin Schwenke <martin@meltin.net>
369    * BUG 12589: CTDB statd-callout does not cause grace period when
370      CTDB_NFS_CALLOUT="".
371    * BUG 12595: ctdb-build: Fix RPM build.
374 CHANGES SINCE 4.6.0rc2
375 ======================
377 o  Jeremy Allison <jra@samba.org>
378    * BUG 12499: s3: vfs: dirsort doesn't handle opendir of "." correctly.
379    * BUG 12546: s3: VFS: vfs_streams_xattr.c: Make streams_xattr_open() store
380      the same path as streams_xattr_recheck().
381    * BUG 12531: Make vfs_shadow_copy2 cope with server changing directories.
383 o  Andrew Bartlett <abartlet@samba.org>
384    * BUG 12543: samba-tool: Correct handling of default value for use_ntvfs and
385      use_xattrs.
386    * BUG 12573: Samba < 4.7 does not know about compatibleFeatures and
387      requiredFeatures.
388    * BUG 12577: 'samba-tool dbcheck' gives errors on one-way links after a
389      rename.
391 o  Ralph Boehme <slow@samba.org>
392    * BUG 12184: s3/rpc_server: Shared rpc modules loading.
393    * BUG 12520: Ensure global "smb encrypt = off" is effective.
394    * BUG 12524: s3/rpc_server: Move rpc_modules.c to its own subsystem.
395    * BUG 12541: vfs_fruit: checks wrong AAPL config state and so always uses
396      readdirattr.
398 o  Volker Lendecke <vl@samba.org>
399    * BUG 12551: smbd: Fix "map acl inherit" = yes.
401 o  Stefan Metzmacher <metze@samba.org>
402    * BUG 12398: Replication with DRSUAPI_DRS_CRITICAL_ONLY and
403      DRSUAPI_DRS_GET_ANC results in WERR_DS_DRA_MISSING_PARENT S
404    * BUG 12540: s3:smbd: allow "server min protocol = SMB3_00" to go via "SMB
405      2.???" negprot.
407 o  John Mulligan <jmulligan@nasuni.com>
408    * BUG 12542: docs: Improve description of "unix_primary_group" parameter in
409      idmap_ad manpage.
411 o  Andreas Schneider <asn@samba.org>
412    * BUG 12552: waf: Do not install the unit test binary for krb5samba.
414 o  Amitay Isaacs <amitay@gmail.com>
415    * BUG 12547: ctdb-build: Install CTDB tests correctly from toplevel.
416    * BUG 12549: ctdb-common: ioctl(.. FIONREAD ..) returns an int value.
418 o  Garming Sam <garming@catalyst.net.nz>
419    * BUG 12577: 'samba-tool dbcheck' gives errors on one-way links after a
420      rename.
422 o  Uri Simchoni <uri@samba.org>
423    * BUG 12529: waf: Backport finding of pkg-config.
426 CHANGES SINCE 4.6.0rc1
427 ======================
429 o  Amitay Isaacs <amitay@gmail.com>
430    * BUG 12469: CTDB lock helper getting stuck trying to lock a record.
431    * BUG 12500: ctdb-common: Fix a bug in packet reading code for generic socket
432      I/O.
433    * BUG 12510: sock_daemon_test 4 crashes with SEGV.
434    * BUG 12513: ctdb-daemon: Remove stale eventd socket.
436 o  Björn Jacke <bj@sernet.de>
437    * BUG 12535: vfs_default: Unlock the right file in copy chunk.
439 o  Volker Lendecke <vl@samba.org>
440    * BUG 12509: messaging: Fix dead but not cleaned-up-yet destination sockets.
441    * BUG 12538: Backport winbind fixes.
443 o  Stefan Metzmacher <metze@samba.org>
444    * BUG 12501: s3:winbindd: talloc_steal the extra_data in
445      winbindd_list_users_recv().
447 o  Martin Schwenke <martin@meltin.net>
448    * BUG 12511: ctdb-takeover: Handle case where there are no RELEASE_IPs to
449      send.
450    * BUG 12512: ctdb-scripts: Fix remaining uses of "ctdb gratiousarp".
451    * BUG 12516: /etc/iproute2/rt_tables gets populated with multiple
452      'default' entries.
455 #######################################
456 Reporting bugs & Development Discussion
457 #######################################
459 Please discuss this release on the samba-technical mailing list or by
460 joining the #samba-technical IRC channel on irc.freenode.net.
462 If you do report problems then please try to send high quality
463 feedback. If you don't provide vital information to help us track down
464 the problem then you will probably be ignored.  All bug reports should
465 be filed under the Samba 4.1 and newer product in the project's Bugzilla
466 database (https://bugzilla.samba.org/).
469 ======================================================================
470 == Our Code, Our Bugs, Our Responsibility.
471 == The Samba Team
472 ======================================================================