WHATSNEW: Add release notes for Samba 4.15.0rc6.
[samba.git] / WHATSNEW.txt
1 Release Announcements
2 =====================
3
4 This is the sixth release candidate of Samba 4.15.  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.15 will be the next version of the Samba suite.
10
11
12 UPGRADING
13 =========
14
15 Removed SMB (development) dialects
16 ----------------------------------
17
18 The following SMB (development) dialects are no longer
19 supported: SMB2_22, SMB2_24 and SMB3_10. They are were
20 only supported by Windows technical preview builds.
21 They used to be useful in order to test against the
22 latest Windows versions, but it's no longer useful
23 to have them. If you have them explicitly specified
24 in your smb.conf or an the command line,
25 you need to replace them like this:
26 - SMB2_22 => SMB3_00
27 - SMB2_24 => SMB3_00
28 - SMB3_10 => SMB3_11
29 Note that it's typically not useful to specify
30 "client max protocol" or "server max protocol"
31 explicitly to a specific dialect, just leave
32 them unspecified or specify the value "default".
33
34 New GPG key
35 -----------
36
37 The GPG release key for Samba releases changed from:
38
39 pub   dsa1024/6F33915B6568B7EA 2007-02-04 [SC] [expires: 2021-02-05]
40       Key fingerprint = 52FB C0B8 6D95 4B08 4332  4CDC 6F33 915B 6568 B7EA
41 uid                 [  full  ] Samba Distribution Verification Key <samba-bugs@samba.org>
42 sub   elg2048/9C6ED163DA6DFB44 2007-02-04 [E] [expires: 2021-02-05]
43
44 to the following new key:
45
46 pub   rsa4096/AA99442FB680B620 2020-12-21 [SC] [expires: 2022-12-21]
47       Key fingerprint = 81F5 E283 2BD2 545A 1897  B713 AA99 442F B680 B620
48 uid                 [ultimate] Samba Distribution Verification Key <samba-bugs@samba.org>
49 sub   rsa4096/97EF9386FBFD4002 2020-12-21 [E] [expires: 2022-12-21]
50
51 Starting from Jan 21th 2021, all Samba releases will be signed with the new key.
52
53 See also GPG_AA99442FB680B620_replaces_6F33915B6568B7EA.txt
54
55 New minimum version for the experimental MIT KDC
56 ------------------------------------------------
57
58 The build of the AD DC using the system MIT Kerberos, an
59 experimental feature, now requires MIT Kerberos 1.19.  An up-to-date
60 Fedora 34 has this version and has backported fixes for the KDC crash
61 bugs CVE-2021-37750 and CVE-2021-36222
62
63
64 NEW FEATURES/CHANGES
65 ====================
66
67 Bind DLZ: add the ability to set allow/deny lists for zone transfer clients
68 ---------------------------------------------------------------------------
69
70 Up to now, any client could use a DNS zone transfer request to the
71 bind server, and get an answer from Samba. Now the default behaviour
72 will be to deny those request. Two new options have been added to
73 manage the list of authorized/denied clients for zone transfer
74 requests. In order to be accepted, the request must be issued by a
75 client that is in the allow list and NOT in the deny list.
76
77
78 "server multi channel support" no longer experimental
79 -----------------------------------------------------
80
81 This option is enabled by default starting with 4.15 (on Linux and FreeBSD).
82 Due to dependencies on kernel APIs of Linux or FreeBSD, it's only possible
83 to use this feature on Linux and FreeBSD for now.
84
85
86 samba-tool available without the ad-dc
87 --------------------------------------
88
89 The 'samba-tool' command is now available when samba is configured
90 "--without-ad-dc". Not all features will work, and some ad-dc specific options
91 have been disabled. The 'samba-tool domain' options, for example, are limited
92 when no ad-dc is present. Samba must still be built with ads in order to enable
93 'samba-tool'.
94
95
96 Improved command line user experience
97 -------------------------------------
98
99 Samba utilities did not consistently implement their command line interface. A
100 number of options were requiring to specify values in one tool and not in the
101 other, some options meant different in different tools.
102
103 These should be stories of the past now. A new command line parser has been
104 implemented with sanity checking. Also the command line interface has been
105 simplified and provides better control for encryption, signing and kerberos.
106
107 Also several command line options have a smb.conf variable to control the
108 default now.
109
110 All tools are now logging to stderr by default. You can use "--debug-stdout" to
111 change the behavior. All servers will log to stderr at early startup until logging
112 is setup to go to a file by default.
113
114 ### Common parser:
115
116 Options added:
117 --client-protection=off|sign|encrypt
118
119 Options renamed:
120 --kerberos       ->    --use-kerberos=required|desired|off
121 --krb5-ccache    ->    --use-krb5-ccache=CCACHE
122 --scope          ->    --netbios-scope=SCOPE
123 --use-ccache     ->    --use-winbind-ccache
124
125 Options removed:
126 -e|--encrypt
127 -C removed from --use-winbind-ccache
128 -i removed from --netbios-scope
129 -S|--signing
130
131
132 ### Duplicates in command line utils
133
134 ldbadd/ldbsearch/ldbdel/ldbmodify/ldbrename:
135 -e is not available for --editor anymore
136 -s is not used for --configfile anymore
137
138 ndrdump:
139 -l is not available for --load-dso anymore
140
141 net:
142 -l is not available for --long anymore
143
144 sharesec:
145 -V is not available for --viewsddl anymore
146
147 smbcquotas:
148 --user        ->    --quota-user
149
150 nmbd:
151 --log-stdout  ->    --debug-stdout
152
153 smbd:
154 --log-stdout  ->    --debug-stdout
155
156 winbindd:
157 --log-stdout  ->    --debug-stdout
158
159
160 Scanning of trusted domains and enterprise principals
161 -----------------------------------------------------
162
163 As an artifact from the NT4 times, we still scanned the list of trusted domains
164 on winbindd startup. This is wrong as we never can get a full picture in Active
165 Directory. It is time to change the default value to "No". Also with this change
166 we always use enterprise principals for Kerberos so that the DC will be able
167 to redirect ticket requests to the right DC. This is e.g. needed for one way
168 trusts. The options `winbind use krb5 enterprise principals` and
169 `winbind scan trusted domains` will be deprecated in one of the next releases.
170
171
172 Support for Offline Domain Join (ODJ)
173 -------------------------------------
174
175 The net utility is now able to support the offline domain join feature
176 as known from the Windows djoin.exe command for many years. Samba's
177 implementation is accessible via the 'net offlinejoin' subcommand. It
178 can provision computers and request offline joining for both Windows
179 and Unix machines. It is also possible to provision computers from
180 Windows (using djoin.exe) and use the generated data in Samba's 'net'
181 utility. The existing options for the provisioning and joining steps
182 are documented in the net(8) manpage.
183
184
185 'samba-tool dns zoneoptions' for aging control
186 ----------------------------------------------
187
188 The 'samba-tool dns zoneoptions' command can be used to turn aging on
189 and off, alter the refresh and no-refresh periods, and manipulate the
190 timestamps of existing records.
191
192 To turn aging on for a zone, you can use something like this:
193
194   samba-tool dns zoneoptions --aging=1 --refreshinterval=306600
195
196 which turns on aging and ensures no records less than five years old
197 are aged out and scavenged. After aging has been on for sufficient
198 time for records to be renewed, the command
199
200   samba-tool dns zoneoptions --refreshinterval=168
201
202 will set the refresh period to the standard seven days. Using this two
203 step process will help prevent the temporary loss of dynamic records
204 if scavenging happens before their first renewal.
205
206
207 Marking old records as static or dynamic with 'samba-tool'
208 ----------------------------------------------------------
209
210 A bug in Samba versions prior to 4.9 meant records that were meant to
211 be static were marked as dynamic and vice versa. To fix the timestamps
212 in these domains, it is possible to use the following options,
213 preferably before turning aging on.
214
215    --mark-old-records-static
216    --mark-records-dynamic-regex
217    --mark-records-static-regex
218
219 The "--mark-old-records-static" option will make records older than the
220 specified date static (that is, with a zero timestamp). For example,
221 if you upgraded to Samba 4.9 in November 2018, you could use ensure no
222 old records will be mistakenly interpreted as dynamic using the
223 following option:
224
225   samba-tool dns zoneoptions --mark-old-records-static=2018-11-30
226
227 Then, if you know that that will have marked some records as static
228 that should be dynamic, and you know which those are due to your
229 naming scheme, you can use commands like:
230
231   samba-tool dns zoneoptions --mark-records-dynamic-regex='\w+-desktop'
232
233 where '\w+-desktop' is a perl-compatible regular expression that will
234 match 'bob-desktop', 'alice-desktop', and so on.
235
236 These options are deliberately long and cumbersome to type, so people
237 have a chance to think before they get to the end. You can make a
238 mess if you get it wrong.
239
240 All 'samba-tool dns zoneoptions' modes can be given a "--dry-run/-n"
241 argument that allows you to inspect the likely results before going
242 ahead.
243
244 NOTE: for aging to work, you need to have "dns zone scavenging = yes"
245 set in the smb.conf of at least one server.
246
247
248 DNS tombstones are now deleted as appropriate
249 ---------------------------------------------
250
251 When all the records for a DNS name have been deleted, the node is put
252 in a tombstoned state (separate from general AD object tombstoning,
253 which deleted nodes also go through). These tombstones should be
254 cleaned up periodically. Due to a conflation of scavenging and
255 tombstoning, we have only been deleting tombstones when aging is
256 enabled.
257
258 If you have a lot of tombstoned DNS nodes (that is, DNS names for
259 which you have removed all the records), cleaning up these DNS
260 tombstones may take a noticeable time.
261
262
263 DNS tombstones use a consistent timestamp format
264 ------------------------------------------------
265
266 DNS records use an hours-since-1601 timestamp format except for in the
267 case of tombstone records where a 100-nanosecond-intervals-since-1601
268 format is used (this latter format being the most common in Windows).
269 We had mixed that up, which might have had strange effects in zones
270 where aging was enabled (and hence tombstone timestamps were used).
271
272
273 samba-tool dns update and RPC changes
274 -------------------------------------
275
276 The dnsserver DCERPC pipe can be used by 'samba-tool' and Windows tools
277 to manipulate dns records on the remote server. A bug in Samba meant
278 it was not possible to update an existing DNS record to change the
279 TTL. The general behaviour of RPC updates is now closer to that of
280 Windows.
281
282 'samba-tool dns update' is now a bit more careful in rejecting and
283 warning you about malformed IPv4 and IPv6 addresses.
284
285 CVE-2021-3671: Crash in Heimdal KDC and updated security release policy
286 -----------------------------------------------------------------------
287
288 An unuthenticated user can crash the AD DC KDC by omitting the server
289 name in a TGS-REQ.  Per Samba's updated security process a specific
290 security release was not made for this issue as it is a recoverable
291 Denial Of Service.
292
293 See https://wiki.samba.org/index.php/Samba_Security_Proces
294
295 samba-tool domain backup offline with the LMDB backend
296 ------------------------------------------------------
297
298 samba-tool domain backup offline, when operating with the LMDB backend
299 now correctly takes out locks against concurrent modification of the
300 database during the backup.  If you use this tool on a Samba AD DC
301 using LMDB, you should upgrade to this release for safer backups.
302
303 REMOVED FEATURES
304 ================
305
306 Tru64 ACL support has been removed from this release. The last
307 supported release of Tru64 UNIX was in 2012.
308
309 NIS support has been removed from this release. This is not
310 available in Linux distributions anymore.
311
312 The DLZ DNS plugin is no longer built for Bind versions 9.8 and 9.9,
313 which have been out of support since 2018.
314
315
316 smb.conf changes
317 ================
318
319   Parameter Name                          Description     Default
320   --------------                          -----------     -------
321   client use kerberos                     New             desired
322   client max protocol                     Values Removed
323   client min protocol                     Values Removed
324   client protection                       New             default
325   client smb3 signing algorithms          New             see man smb.conf
326   client smb3 encryption algorithms       New             see man smb.conf
327   preopen:posix-basic-regex               New             No
328   preopen:nomatch_log_level               New             5
329   preopen:match_log_level                 New             5
330   preopen:nodigits_log_level              New             1
331   preopen:founddigits_log_level           New             3
332   preopen:reset_log_level                 New             5
333   preopen:push_log_level                  New             3
334   preopen:queue_log_level                 New             10
335   server max protocol                     Values Removed
336   server min protocol                     Values Removed
337   server multi channel support            Changed         Yes (on Linux and FreeBSD)
338   server smb3 signing algorithms          New             see man smb.conf
339   server smb3 encryption algorithms       New             see man smb.conf
340   winbind use krb5 enterprise principals  Changed         Yes
341   winbind scan trusted domains            Changed         No
342
343
344 CHANGES SINCE 4.15.0rc5
345 =======================
346
347 o  Andrew Bartlett <abartlet@samba.org>
348    * BUG 14806: Address a signifcant performance regression in database access
349      in the AD DC since Samba 4.12.
350    * BUG 14807: Fix performance regression in lsa_LookupSids3/LookupNames4 since
351      Samba 4.9 by using an explicit database handle cache.
352    * BUG 14817: An unuthenticated user can crash the AD DC KDC by omitting the
353      server name in a TGS-REQ.
354    * BUG 14818: Address flapping samba_tool_drs_showrepl test.
355    * BUG 14819: Address flapping dsdb_schema_attributes test.
356
357 o  Luke Howard <lukeh@padl.com>
358    * BUG 14817: An unuthenticated user can crash the AD DC KDC by omitting the
359      server name in a TGS-REQ.
360
361 o  Gary Lockyer <gary@catalyst.net.nz>
362    * BUG 14817: An unuthenticated user can crash the AD DC KDC by omitting the
363      server name in a TGS-REQ.
364
365 o  Andreas Schneider <asn@samba.org>
366    * BUG 14817: An unuthenticated user can crash the AD DC KDC by omitting the
367      server name in a TGS-REQ.
368
369 o  Joseph Sutton <josephsutton@catalyst.net.nz>
370    * BUG 14817: An unuthenticated user can crash the AD DC KDC by omitting the
371      server name in a TGS-REQ.
372
373
374 CHANGES SINCE 4.15.0rc4
375 =======================
376
377 o  Jeremy Allison <jra@samba.org>
378    * BUG 14809: Shares with variable substitutions cause core dump upon
379      connection from MacOS Big Sur 11.5.2.
380    * BUG 14816: Fix pathref open of a filesystem fifo in the DISABLE_OPATH
381      build.
382
383 o  Andrew Bartlett <abartlet@samba.org>
384    * BUG 14815: A subset of tests from Samba's selftest system were not being
385      run, while others were run twice.
386
387 o  Ralph Boehme <slow@samba.org>
388    * BUG 14771: Some VFS operations on pathref (O_PATH) handles fail on GPFS.
389    * BUG 14787: net conf list crashes when run as normal user,
390    * BUG 14803: smbd/winbindd started in daemon mode generate output on
391      stderr/stdout.
392    * BUG 14804: winbindd can crash because idmap child state is not fully
393      initialized.
394
395 o  Stefan Metzmacher <metze@samba.org>
396    * BUG 14771: Some VFS operations on pathref (O_PATH) handles fail on GPFS.
397
398
399 CHANGES SINCE 4.15.0rc3
400 =======================
401
402 o  Bjoern Jacke <bj@sernet.de>
403    * BUG 14800: util_sock: fix assignment of sa_socklen.
404
405
406 CHANGES SINCE 4.15.0rc2
407 =======================
408
409 o  Jeremy Allison <jra@samba.org>
410    * BUG 14760: vfs_streams_depot directory creation permissions and store
411      location problems.
412    * BUG 14766: vfs_ceph openat() doesn't cope with dirfsp != AT_FDCW.
413    * BUG 14769: smbd panic on force-close share during offload write.
414    * BUG 14805: OpenDir() loses the correct errno return.
415
416 o  Ralph Boehme <slow@samba.org>
417    * BUG 14795: copy_file_range() may fail with EOPNOTSUPP.
418
419 o  Stefan Metzmacher <metze@samba.org>
420    * BUG 14793: Start the SMB encryption as soon as possible.
421
422 o  Andreas Schneider <asn@samba.org>
423    * BUG 14779: Winbind should not start if the socket path is too long.
424
425 o  Noel Power <noel.power@suse.com>
426    * BUG 14760: vfs_streams_depot directory creation permissions and store
427      location problems.
428
429
430 CHANGES SINCE 4.15.0rc1
431 =======================
432
433 o  Andreas Schneider <asn@samba.org>
434    * BUG 14768: smbd/winbind should load the registry if configured
435    * BUG 14777: do not quote passed argument of configure script
436    * BUG 14779: Winbind should not start if the socket path is too long
437
438 o  Stefan Metzmacher <metze@samba.org>
439    * BUG 14607: tree connect failed: NT_STATUS_INVALID_PARAMETER
440    * BUG 14764: aes-256-gcm and aes-256-ccm doesn't work in the server
441
442 o Ralph Boehme <slow@samba.org>
443    * BUG 14700: file owner not available when file unredable
444
445 o Jeremy Allison <jra@samba.org>
446    * BUG 14607: tree connect failed: NT_STATUS_INVALID_PARAMETER
447    * BUG 14759: 4.15rc can leak meta-data about the directory containing the
448      share path
449
450
451 KNOWN ISSUES
452 ============
453
454 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.15#Release_blocking_bugs
455
456
457 #######################################
458 Reporting bugs & Development Discussion
459 #######################################
460
461 Please discuss this release on the samba-technical mailing list or by
462 joining the #samba-technical IRC channel on irc.libera.chat or the
463 #samba-technical:matrix.org matrix channel.
464
465 If you do report problems then please try to send high quality
466 feedback. If you don't provide vital information to help us track down
467 the problem then you will probably be ignored.  All bug reports should
468 be filed under the Samba 4.1 and newer product in the project's Bugzilla
469 database (https://bugzilla.samba.org/).
470
471
472 ======================================================================
473 == Our Code, Our Bugs, Our Responsibility.
474 == The Samba Team
475 ======================================================================
476