4 This is the third 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/.
9 Samba 4.15 will be the next version of the Samba suite.
15 Removed SMB (development) dialects
16 ----------------------------------
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:
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".
37 The GPG release key for Samba releases changed from:
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]
44 to the following new key:
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]
51 Starting from Jan 21th 2021, all Samba releases will be signed with the new key.
53 See also GPG_AA99442FB680B620_replaces_6F33915B6568B7EA.txt
59 Bind DLZ: add the ability to set allow/deny lists for zone transfer clients
60 ---------------------------------------------------------------------------
62 Up to now, any client could use a DNS zone transfer request to the
63 bind server, and get an answer from Samba. Now the default behaviour
64 will be to deny those request. Two new options have been added to
65 manage the list of authorized/denied clients for zone transfer
66 requests. In order to be accepted, the request must be issued by a
67 client that is in the allow list and NOT in the deny list.
70 "server multi channel support" no longer experimental
71 -----------------------------------------------------
73 This option is enabled by default starting with to 4.15 (on Linux and FreeBSD).
74 Due to dependencies on kernel APIs of Linux or FreeBSD, it's only possible
75 to use this feature on Linux and FreeBSD for now.
77 samba-tool available without the ad-dc
78 --------------------------------------
80 The samba-tool command is now available when samba is configured
81 --without-ad-dc. Not all features will work, and some ad-dc specific options
82 have been disabled. The samba-tool domain options, for example, are limited
83 when no ad-dc is present. Samba must still be built with ads in order to enable
87 Improved command line user experience
88 -------------------------------------
90 Samba utilities did not consistently implement their command line interface. A
91 number of options were requiring to specify values in one tool and not in the
92 other, some options meant different in different tools.
94 These should be stories of the past now. A new command line parser has been
95 implemented with sanity checking. Also the command line interface has been
96 simplified and provides better control for encryption, singing and kerberos.
98 Also several command line options have a smb.conf variable to control the
101 All tools are logging to stderr by default. You can use --debug-stdout to
107 --client-protection=off|sign|encrypt
110 --kerberos -> --use-kerberos=required|desired|off
111 --krb5-ccache -> --use-krb5-ccache=CCACHE
112 --scope -> --netbios-scope=SCOPE
113 --use-ccache -> --use-winbind-ccache
117 -C removed from --use-winbind-ccache
118 -i removed from --netbios-scope
122 ### Duplicates in command line utils
124 ldbadd/ldbsearch/ldbdel/ldbmodify/ldbrename:
125 -e is not available for --editor anymore
126 -s is not used for --configfile anymore
129 -l is not available for --load-dso anymore
132 -l is not available for --long anymore
135 -V is not available for --viewsddl anymore
138 --user -> --quota-user
141 --log-stdout -> --debug-stdout
144 --log-stdout -> --debug-stdout
147 --log-stdout -> --debug-stdout
150 Scanning of trusted domains and enterprise principals
151 -----------------------------------------------------
153 As an artifact from the NT4 times, we still scanned the list of trusted domains
154 on winbindd startup. This is wrong as we never can get a full picture in Active
155 Directory. It is time to change the default value to "No". Also with this change
156 we always use enterprise principals for Kerberos so that the DC will be able
157 to redirect ticket requests to the right DC. This is e.g. needed for one way
158 trusts. The options `winbind use krb5 enterprise principals` and
159 `winbind scan trusted domains` will be deprecated in one of the next releases.
161 Support for Offline Domain Join (ODJ)
162 -------------------------------------
164 The net utility is now able to support the offline domain join feature
165 as known from the Windows djoin.exe command for many years. Samba's
166 implementation is accessible via the "net offlinejoin" subcommand. It
167 can provision computers and request offline joining for both Windows
168 and Unix machines. It is also possible to provision computers from
169 Windows (using djoin.exe) and use the generated data in Samba's net
170 utility. The existing options for the provisioning and joining steps
171 are documented in the net(8) manpage.
174 samba-tool dns zoneoptions for aging control
175 --------------------------------------------
177 The samba-tool dns zoneoptions command can be used to turn aging on
178 and off, alter the refresh and no-refresh periods, and manipulate the
179 timestamps of existing records.
181 To turn aging on for a zone, you can use something like this:
183 samba-tool dns zoneoptions --aging=1 --refreshinterval=306600
185 which turns on aging and ensures no records less than five years old
186 are aged out and scavenged. After aging has been on for sufficient
187 time for records to be renewed, the command
189 samba-tool dns zoneoptions --refreshinterval=168
191 will set the refresh period to the standard seven days. Using this two
192 step process will help prevent the temporary loss of dynamic records
193 if scavenging happens before their first renewal.
196 Marking old records as static or dynamic with samba-tool
197 --------------------------------------------------------
199 A bug in Samba versions prior to 4.9 meant records that were meant to
200 be static were marked as dynamic and vice versa. To fix the timestamps
201 in these domains, it is possible to use the following options,
202 preferably before turning aging on.
204 --mark-old-records-static
205 --mark-records-dynamic-regex
206 --mark-records-static-regex
208 The --mark-old-records-static option will make records older than the
209 specified date static (that is, with a zero timestamp). For example,
210 if you upgraded to Samba 4.9 in November 2018, you could use ensure no
211 old records will be mistakenly interpreted as dynamic using the
214 samba-tool dns zoneoptions --mark-old-records-static=2018-11-30
216 Then, if you know that that will have marked some records as static
217 that should be dynamic, and you know which those are due to your
218 naming scheme, you can use commands like:
220 samba-tool dns zoneoptions --mark-records-dynamic-regex='\w+-desktop'
222 where '\w+-desktop' is a perl-compatible regular expression that will
223 match 'bob-desktop', 'alice-desktop', and so on.
225 These options are deliberately long and cumbersome to type, so people
226 have a chance to think before they get to the end. You can make a
227 mess if you get it wrong.
229 All samba-tool dns zoneoptions modes can be given a --dry-run/-n
230 argument that allows you to inspect the likely results before going
233 NOTE: for aging to work, you need to have "dns zone scavenging = yes"
234 set in the smb.conf of at least one server.
237 DNS tombstones are now deleted as appropriate
238 ---------------------------------------------
240 When all the records for a DNS name have been deleted, the node is put
241 in a tombstoned state (separate from general AD object tombstoning,
242 which deleted nodes also go through). These tombstones should be
243 cleaned up periodically. Due to a conflation of scavenging and
244 tombstoning, we have only been deleting tombstones when aging is
247 If you have a lot of tombstoned DNS nodes (that is, DNS names for
248 which you have removed all the records), cleaning up these DNS
249 tombstones may take a noticeable time.
252 DNS tombstones use a consistent timestamp format
253 ------------------------------------------------
255 DNS records use an hours-since-1601 timestamp format except for in the
256 case of tombstone records where a 100-nanosecond-intervals-since-1601
257 format is used (this latter format being the most common in Windows).
258 We had mixed that up, which might have had strange effects in zones
259 where aging was enabled (and hence tombstone timestamps were used).
262 samba-tool dns update and RPC changes
263 -------------------------------------
265 The dnsserver DCERPC pipe can be used by samba-tool and Windows tools
266 to manipulate dns records on the remote server. A bug in Samba meant
267 it was not possible to update an existing DNS record to change the
268 TTL. The general behaviour of RPC updates is now closer to that of
271 samba-tool dns update is now a bit more careful in rejecting and
272 warning you about malformed IPv4 and IPv6 addresses.
278 Tru64 ACL support has been removed from this release. The last
279 supported release of Tru64 UNIX was in 2012.
281 NIS support has been removed from this release. This is not
282 available in Linux distributions anymore.
284 The DLZ DNS plugin is no longer built for Bind versions 9.8 and 9.9,
285 which have been out of support since 2018.
291 Parameter Name Description Default
292 -------------- ----------- -------
293 client use kerberos New desired
294 client max protocol Values Removed
295 client min protocol Values Removed
296 client protection New default
297 client smb3 signing algorithms New see man smb.conf
298 client smb3 encryption algorithms New see man smb.conf
299 preopen:posix-basic-regex New No
300 preopen:nomatch_log_level New 5
301 preopen:match_log_level New 5
302 preopen:nodigits_log_level New 1
303 preopen:founddigits_log_level New 3
304 preopen:reset_log_level New 5
305 preopen:push_log_level New 3
306 preopen:queue_log_level New 10
307 server max protocol Values Removed
308 server min protocol Values Removed
309 server multi channel support Changed Yes (on Linux and FreeBSD)
310 server smb3 signing algorithms New see man smb.conf
311 server smb3 encryption algorithms New see man smb.conf
312 winbind use krb5 enterprise principals Changed Yes
313 winbind scan trusted domains Changed No
316 CHANGES SINCE 4.15.0rc2
317 =======================
319 o Jeremy Allison <jra@samba.org>
320 * BUG 14760: vfs_streams_depot directory creation permissions and store
322 * BUG 14766: vfs_ceph openat() doesn't cope with dirfsp != AT_FDCW.
323 * BUG 14769: smbd panic on force-close share during offload write.
324 * BUG 14805: OpenDir() loses the correct errno return.
326 o Ralph Boehme <slow@samba.org>
327 * BUG 14795: copy_file_range() may fail with EOPNOTSUPP.
329 o Stefan Metzmacher <metze@samba.org>
330 * BUG 14793: Start the SMB encryption as soon as possible.
332 o Andreas Schneider <asn@samba.org>
333 * BUG 14779: Winbind should not start if the socket path is too long.
335 o Noel Power <noel.power@suse.com>
336 * BUG 14760: vfs_streams_depot directory creation permissions and store
340 CHANGES SINCE 4.15.0rc1
341 =======================
343 o Andreas Schneider <asn@samba.org>
344 * BUG 14768: smbd/winbind should load the registry if configured
345 * BUG 14777: do not quote passed argument of configure script
346 * BUG 14779: Winbind should not start if the socket path is too long
348 o Stefan Metzmacher <metze@samba.org>
349 * BUG 14607: tree connect failed: NT_STATUS_INVALID_PARAMETER
350 * BUG 14764: aes-256-gcm and aes-256-ccm doesn't work in the server
352 o Ralph Boehme <slow@samba.org>
353 * BUG 14700: file owner not available when file unredable
355 o Jeremy Allison <jra@samba.org>
356 * BUG 14607: tree connect failed: NT_STATUS_INVALID_PARAMETER
357 * BUG 14759: 4.15rc can leak meta-data about the directory containing the
364 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.15#Release_blocking_bugs
367 #######################################
368 Reporting bugs & Development Discussion
369 #######################################
371 Please discuss this release on the samba-technical mailing list or by
372 joining the #samba-technical IRC channel on irc.libera.chat or the
373 #samba-technical:matrix.org matrix channel.
375 If you do report problems then please try to send high quality
376 feedback. If you don't provide vital information to help us track down
377 the problem then you will probably be ignored. All bug reports should
378 be filed under the Samba 4.1 and newer product in the project's Bugzilla
379 database (https://bugzilla.samba.org/).
382 ======================================================================
383 == Our Code, Our Bugs, Our Responsibility.
385 ======================================================================