WHATSNEW: Add release notes for Samba 4.16.1.
[samba.git] / WHATSNEW.txt
1                    ==============================
2                    Release Notes for Samba 4.16.1
3                             May 02, 2022
4                    ==============================
5
6
7 This is the latest stable release of the Samba 4.16 release series.
8
9
10 Changes since 4.16.0
11 --------------------
12
13 o  Jeremy Allison <jra@samba.org>
14    * BUG 14831: Share and server swapped in smbget password prompt.
15    * BUG 15022: Durable handles won't reconnect if the leased file is written
16      to.
17    * BUG 15023: rmdir silently fails if directory contains unreadable files and
18      hide unreadable is yes.
19    * BUG 15038: SMB2_CLOSE_FLAGS_FULL_INFORMATION fails to return information on
20      renamed file handle.
21
22 o  Andrew Bartlett <abartlet@samba.org>
23    * BUG 8731: Need to describe --builtin-libraries= better (compare with
24     --bundled-libraries).
25
26 o  Ralph Boehme <slow@samba.org>
27    * BUG 14957: vfs_shadow_copy2 breaks "smbd async dosmode" sync fallback.
28    * BUG 15035: shadow_copy2 fails listing snapshotted dirs with
29      shadow:fixinodes.
30
31 o  Samuel Cabrero <scabrero@samba.org>
32    * BUG 15046: PAM Kerberos authentication incorrectly fails with a clock skew
33      error.
34
35 o  Pavel Filipenský <pfilipen@redhat.com>
36    * BUG 15041: Username map - samba erroneously applies unix group memberships
37      to user account entries.
38
39 o  Stefan Metzmacher <metze@samba.org>
40    * BUG 14951: KVNO off by 100000.
41
42 o  Christof Schmitt <cs@samba.org>
43    * BUG 15027: Uninitialized litemask in variable in vfs_gpfs module.
44    * BUG 15055: vfs_gpfs recalls=no option prevents listing files.
45
46 o  Andreas Schneider <asn@cryptomilk.org>
47    * BUG 15054: smbd doesn't handle UPNs for looking up names.
48
49
50 #######################################
51 Reporting bugs & Development Discussion
52 #######################################
53
54 Please discuss this release on the samba-technical mailing list or by
55 joining the #samba-technical:matrix.org matrix room, or
56 #samba-technical IRC channel on irc.libera.chat.
57
58 If you do report problems then please try to send high quality
59 feedback. If you don't provide vital information to help us track down
60 the problem then you will probably be ignored.  All bug reports should
61 be filed under the Samba 4.1 and newer product in the project's Bugzilla
62 database (https://bugzilla.samba.org/).
63
64
65 ======================================================================
66 == Our Code, Our Bugs, Our Responsibility.
67 == The Samba Team
68 ======================================================================
69
70
71 Release notes for older releases follow:
72 ----------------------------------------
73                    ==============================
74                    Release Notes for Samba 4.16.0
75                            March 21, 2022
76                    ==============================
77
78 This is the first stable release of the Samba 4.16 release series.
79 Please read the release notes carefully before upgrading.
80
81
82 NEW FEATURES/CHANGES
83 ====================
84
85 New samba-dcerpcd binary to provide DCERPC in the member server setup
86 ---------------------------------------------------------------------
87
88 In order to make it much easier to break out the DCERPC services
89 from smbd, a new samba-dcerpcd binary has been created.
90
91 samba-dcerpcd can be used in two ways. In the normal case without
92 startup script modification it is invoked on demand from smbd or
93 winbind --np-helper to serve DCERPC over named pipes. Note that
94 in order to run in this mode the smb.conf [global] section has
95 a new parameter "rpc start on demand helpers = [true|false]".
96 This parameter is set to "true" by default, meaning no changes to
97 smb.conf files are needed to run samba-dcerpcd on demand as a named
98 pipe helper.
99
100 It can also be used in a standalone mode where it is started
101 separately from smbd or winbind but this requires changes to system
102 startup scripts, and in addition a change to smb.conf, setting the new
103 [global] parameter "rpc start on demand helpers = false". If "rpc
104 start on demand helpers" is not set to false, samba-dcerpcd will
105 refuse to start in standalone mode.
106
107 Note that when Samba is run in the Active Directory Domain Controller
108 mode the samba binary that provides the AD code will still provide its
109 normal DCERPC services whilst allowing samba-dcerpcd to provide
110 services like SRVSVC in the same way that smbd used to in this
111 configuration.
112
113 The parameters that allowed some smbd-hosted services to be started
114 externally are now gone (detailed below) as this is now the default
115 setting.
116
117 samba-dcerpcd can also be useful for use outside of the Samba
118 framework, for example, use with the Linux kernel SMB2 server ksmbd or
119 possibly other SMB2 server implementations.
120
121 Heimdal-8.0pre used for Samba Internal Kerberos, adds FAST support
122 ------------------------------------------------------------------
123
124 Samba has since Samba 4.0 included a snapshot of the Heimdal Kerberos
125 implementation.  This snapshot has now been updated and will closely
126 match what will be released as Heimdal 8.0 shortly.
127
128 This is a major update, previously we used a snapshot of Heimdal from
129 2011, and brings important new Kerberos security features such as
130 Kerberos request armoring, known as FAST.  This tunnels ticket
131 requests and replies that might be encrypted with a weak password
132 inside a wrapper built with a stronger password, say from a machine
133 account.
134
135 In Heimdal and MIT modes Samba's KDC now supports FAST, for the
136 support of non-Windows clients.
137
138 Windows clients will not use this feature however, as they do not
139 attempt to do so against a server not advertising domain Functional
140 Level 2012.  Samba users are of course free to modify how Samba
141 advertises itself, but use with Windows clients is not supported "out
142 of the box".
143
144 Finally, Samba also uses a per-KDC, not per-realm 'cookie' to secure part of
145 the FAST protocol.  A future version will align this more closely with
146 Microsoft AD behaviour.
147
148 If FAST needs to be disabled on your Samba KDC, set
149
150  kdc enable fast = no
151
152 in the smb.conf.
153
154 The Samba project wishes to thank the numerous developers who have put
155 in a massive effort to make this possible over many years.  In
156 particular we thank Stefan Metzmacher, Joseph Sutton, Gary Lockyer,
157 Isaac Boukris and Andrew Bartlett.  Samba's developers in turn thank
158 their employers and in turn their customers who have supported this
159 effort over many years.
160
161 Certificate Auto Enrollment
162 ---------------------------
163
164 Certificate Auto Enrollment allows devices to enroll for certificates from
165 Active Directory Certificate Services. It is enabled by Group Policy.
166 To enable Certificate Auto Enrollment, Samba's group policy will need to be
167 enabled by setting the smb.conf option `apply group policies` to Yes. Samba
168 Certificate Auto Enrollment depends on certmonger, the cepces certmonger
169 plugin, and sscep. Samba uses sscep to download the CA root chain, then uses
170 certmonger paired with cepces to monitor the host certificate templates.
171 Certificates are installed in /var/lib/samba/certs and private keys are
172 installed in /var/lib/samba/private/certs.
173
174 Ability to add ports to dns forwarder addresses in internal DNS backend
175 -----------------------------------------------------------------------
176
177 The internal DNS server of Samba forwards queries non-AD zones to one or more
178 configured forwarders. Up until now it has been assumed that these forwarders
179 listen on port 53. Starting with this version it is possible to configure the
180 port using host:port notation. See smb.conf for more details. Existing setups
181 are not affected, as the default port is 53.
182
183 CTDB changes
184 ------------
185
186 * The "recovery master" role has been renamed "leader"
187
188   Documentation and logs now refer to "leader".
189
190   The following ctdb tool command names have changed:
191
192     recmaster -> leader
193     setrecmasterrole -> setleaderrole
194
195   Command output has changed for the following commands:
196
197     status
198     getcapabilities
199
200   The "[legacy] -> recmaster capability" configuration option has been
201   renamed and moved to the cluster section, so this is now:
202
203     [cluster] -> leader capability
204
205 * The "recovery lock" has been renamed "cluster lock"
206
207   Documentation and logs now refer to "cluster lock".
208
209   The "[cluster] -> recovery lock" configuration option has been
210   deprecated and will be removed in a future version.  Please use
211   "[cluster] -> cluster lock" instead.
212
213   If the cluster lock is enabled then traditional elections are not
214   done and leader elections use a race for the cluster lock.  This
215   avoids various conditions where a node is elected leader but can not
216   take the cluster lock.  Such conditions included:
217
218   - At startup, a node elects itself leader of its own cluster before
219     connecting to other nodes
220
221   - Cluster filesystem failover is slow
222
223   The abbreviation "reclock" is still used in many places, because a
224   better abbreviation eludes us (i.e. "clock" is obvious bad) and
225   changing all instances would require a lot of churn.  If the
226   abbreviation "reclock" for "cluster lock" is confusing, please
227   consider mentally prefixing it with "really excellent".
228
229 * CTDB now uses leader broadcasts and an associated timeout to
230   determine if an election is required
231
232   The leader broadcast timeout can be configured via new configuration
233   option
234
235     [cluster] -> leader timeout
236
237   This specifies the number of seconds without leader broadcasts
238   before a node calls an election.  The default is 5.
239
240
241 REMOVED FEATURES
242 ================
243
244 Older SMB1 protocol SMBCopy command removed
245 -------------------------------------------
246
247 SMB is a nearly 30-year old protocol, and some protocol commands that
248 while supported in all versions, have not seen widespread use.
249
250 One of those is SMBCopy, a feature for a server-side copy of a file.
251 This feature has been so unmaintained that Samba has no testsuite for
252 it.
253
254 The SMB1 command SMB_COM_COPY (SMB1 command number 0x29) was
255 introduced in the LAN Manager 1.0 dialect and it was rendered obsolete
256 in the NT LAN Manager dialect.
257
258 Therefore it has been removed from the Samba smbd server.
259
260 We do note that a fully supported and tested server-side copy is
261 present in SMB2, and can be accessed with "scopy" subcommand in
262 smbclient)
263
264 SMB1 server-side wildcard expansion removed
265 -------------------------------------------
266
267 Server-side wildcard expansion is another feature that sounds useful,
268 but is also rarely used and has become problematic - imposing extra
269 work on the server (both in terms of code and CPU time).
270
271 In actual OS design, wildcard expansion is handled in the local shell,
272 not at the remote server using SMB wildcard syntax (which is not shell
273 syntax).
274
275 In Samba 4.16 the ability to process file name wildcards in requests
276 using the SMB1 commands SMB_COM_RENAME (SMB1 command number 0x7),
277 SMB_COM_NT_RENAME (SMB1 command number 0xA5) and SMB_COM_DELETE (SMB1
278 command number 0x6) has been removed.
279
280 SMB1 protocol has been deprecated, particularly older dialects
281 --------------------------------------------------------------
282
283 We take this opportunity to remind that we have deprecated and
284 disabled by default, but not removed, the whole SMB1 protocol since
285 Samba 4.11.  If needed for security purposes or code maintenance we
286 will continue to remove older protocol commands and dialects that are
287 unused or have been replaced in more modern SMB1 versions.
288
289 We specifically deprecate the older dialects older than "NT LM 0.12"
290 (also known as "NT LANMAN 1.0" and "NT1").
291
292 Please note that "NT LM 0.12" is the dialect used by software as old
293 as Windows 95, Windows NT and Samba 2.0, so this deprecation applies
294 to DOS and similar era clients.
295
296 We do reassure that that 'simple' operation of older clients than
297 these (eg DOS) will, while untested, continue for the near future, our
298 purpose is not to cripple use of Samba in unique situations, but to
299 reduce the maintaince burden.
300
301 Eventually SMB1 as a whole will be removed, but no broader change is
302 announced for 4.16.
303
304 In the rare case where the above changes cause incompatibilities,
305 users requiring support for these features will need to use older
306 versions of Samba.
307
308 No longer using Linux mandatory locks for sharemodes
309 ====================================================
310
311 smbd mapped sharemodes to Linux mandatory locks. This code in the Linux kernel
312 was broken for a long time, and is planned to be removed with Linux 5.15. This
313 Samba release removes the usage of mandatory locks for sharemodes and the
314 "kernel share modes" config parameter is changed to default to "no". The Samba
315 VFS interface is kept, so that file-system specific VFS modules can still use
316 private calls for enforcing sharemodes.
317
318
319 smb.conf changes
320 ================
321
322   Parameter Name                          Description     Default
323   --------------                          -----------     -------
324   kernel share modes                      New default     No
325   dns forwarder                           Changed
326   rpc_daemon                              Removed
327   rpc_server                              Removed
328   rpc start on demand helpers             Added           true
329
330
331 CHANGES SINCE 4.16.0rc5
332 =======================
333
334 o  Andrew Bartlett <abartlet@samba.org>
335    * BUG 15000: Memory leak in FAST cookie handling.
336
337 o  Elia Geretto <elia.f.geretto@gmail.com>
338    * BUG 14983: NT_STATUS_ACCESS_DENIED translates into EPERM instead of EACCES
339      in SMBC_server_internal.
340
341 o  Stefan Metzmacher <metze@samba.org>
342    * BUG 13879: Simple bind doesn't work against an RODC (with non-preloaded
343      users).
344    * BUG 14641: Crash of winbind on RODC.
345    * BUG 15001: LDAP simple binds should honour "old password allowed period".
346    * BUG 15002: S4U2Self requests don't work against servers without FAST
347      support.
348    * BUG 15003: wbinfo -a doesn't work reliable with upn names.
349    * BUG 15005: A cross-realm kerberos client exchanges fail using KDCs with and
350      without FAST.
351    * BUG 15015: PKINIT: hdb_samba4_audit: Unhandled hdb_auth_status=9 =>
352      INTERNAL_ERROR.
353
354 o  Garming Sam <garming@catalyst.net.nz>
355    * BUG 13879: Simple bind doesn't work against an RODC (with non-preloaded
356      users).
357
358 o  Andreas Schneider <asn@samba.org>
359    * BUG 15016: Regression: create krb5 conf = yes doesn't work with a single
360      KDC.
361
362 o  Joseph Sutton <josephsutton@catalyst.net.nz>
363    * BUG 15015: PKINIT: hdb_samba4_audit: Unhandled hdb_auth_status=9 =>
364      INTERNAL_ERROR.
365
366
367 CHANGES SINCE 4.16.0rc4
368 =======================
369
370 o  Jeremy Allison <jra@samba.org>
371    * BUG 14737: Samba does not response STATUS_INVALID_PARAMETER when opening 2
372      objects with same lease key.
373
374 o  Jule Anger <janger@samba.org>
375    * BUG 14999: Listing shares with smbstatus no longer works.
376
377 o  Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
378    * BUG 14996: Fix ldap simple bind with TLS auditing.
379
380 o  Andrew Bartlett <abartlet@samba.org>
381    * BUG 14995: Use Heimdal 8.0 (pre) rather than an earlier snapshot.
382
383 o  Volker Lendecke <vl@samba.org>
384    * BUG 14989: Fix a use-after-free in SMB1 server.
385
386 o  Stefan Metzmacher <metze@samba.org>
387    * BUG 14865: Uncached logon on RODC always fails once.
388    * BUG 14984: Changing the machine password against an RODC likely destroys
389      the domain join.
390    * BUG 14993: authsam_make_user_info_dc() steals memory from its struct
391      ldb_message *msg argument.
392    * BUG 14995: Use Heimdal 8.0 (pre) rather than an earlier snapshot.
393
394 o  Joseph Sutton <josephsutton@catalyst.net.nz>
395    * BUG 14995: Use Heimdal 8.0 (pre) rather than an earlier snapshot.
396
397
398 CHANGES SINCE 4.16.0rc3
399 =======================
400
401 o  Samuel Cabrero <scabrero@suse.de>
402    * BUG 14979: Problem when winbind renews Kerberos.
403
404 o  Björn Jacke <bj@sernet.de>
405    * BUG 13631: DFS fix for AIX broken.
406    * BUG 14974: Solaris and AIX acl modules: wrong function arguments.
407    * BUG 7239: Function aixacl_sys_acl_get_file not declared / coredump.
408
409 o  Andreas Schneider <asn@samba.org>
410    * BUG 14967: Samba autorid fails to map AD users if id rangesize fits in the
411      id range only once.
412
413 o  Martin Schwenke <martin@meltin.net>
414    * BUG 14958: CTDB can get stuck in election and recovery.
415
416
417 CHANGES SINCE 4.16.0rc2
418 =======================
419
420 o  Jeremy Allison <jra@samba.org>
421    * BUG 14169: Renaming file on DFS root fails with
422      NT_STATUS_OBJECT_PATH_NOT_FOUND.
423    * BUG 14938: NT error code is not set when overwriting a file during rename
424      in libsmbclient.
425
426 o  Ralph Boehme <slow@samba.org>
427    * BUG 14674: net ads info shows LDAP Server: 0.0.0.0 depending on contacted
428      server.
429
430 o  Pavel Filipenský <pfilipen@redhat.com>
431    * BUG 14971: virusfilter_vfs_openat: Not scanned: Directory or special file.
432
433 o  Volker Lendecke <vl@samba.org>
434    * BUG 14900: Regression: Samba 4.15.2 on macOS segfaults intermittently
435      during strcpy in tdbsam_getsampwnam.
436    * BUG 14975: Fix a crash in vfs_full_audit - CREATE_FILE can free a used fsp.
437
438 o  Stefan Metzmacher <metze@samba.org>
439    * BUG 14968: smb2_signing_decrypt_pdu() may not decrypt with
440      gnutls_aead_cipher_decrypt() from gnutls before 3.5.2.
441
442 o  Andreas Schneider <asn@samba.org>
443    * BUG 14960: SDB uses HDB flags directly which can lead to unwanted side
444      effects.
445
446
447 CHANGES SINCE 4.16.0rc1
448 =======================
449
450 o  Jeremy Allison <jra@samba.org>
451    * BUG 14911: CVE-2021-44141: UNIX extensions in SMB1 disclose whether the
452      outside target of a symlink exists.
453
454 o  Ralph Boehme <slow@samba.org>
455    * BUG 14914: CVE-2021-44142: Out-of-Bound Read/Write on Samba vfs_fruit
456      module.
457    * BUG 14961: install elasticsearch_mappings.json
458
459 o  FeRD (Frank Dana) <ferdnyc@gmail.com>
460    * BUG 14947: samba-bgqd still notifying systemd, triggering log warnings
461      without NotifyAccess=all.
462
463 o  Stefan Metzmacher <metze@samba.org>
464    * BUG 14867: Printing no longer works on Windows 7 with 2021-10 monthly
465      rollup patch.
466    * BUG 14956: ndr_push_string() adds implicit termination for
467      STR_NOTERM|REMAINING empty strings.
468
469 o  Joseph Sutton <josephsutton@catalyst.net.nz>
470    * BUG 14950: CVE-2022-0336: Re-adding an SPN skips subsequent SPN conflict
471      checks.
472
473
474 KNOWN ISSUES
475 ============
476
477 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.16#Release_blocking_bugs
478
479
480 #######################################
481 Reporting bugs & Development Discussion
482 #######################################
483
484 Please discuss this release on the samba-technical mailing list or by
485 joining the #samba-technical:matrix.org matrix room, or
486 #samba-technical IRC channel on irc.libera.chat
487
488 If you do report problems then please try to send high quality
489 feedback. If you don't provide vital information to help us track down
490 the problem then you will probably be ignored.  All bug reports should
491 be filed under the Samba 4.1 and newer product in the project's Bugzilla
492 database (https://bugzilla.samba.org/).
493
494
495 ======================================================================
496 == Our Code, Our Bugs, Our Responsibility.
497 == The Samba Team
498 ======================================================================
499