1 ==============================
2 Release Notes for Samba 4.11.1
4 ==============================
7 This is the latest stable release of the Samba 4.11 release series.
13 o Michael Adam <obnox@samba.org>
14 * BUG 14141: getpwnam and getpwuid need to return data for ID_TYPE_BOTH
17 o Jeremy Allison <jra@samba.org>
18 * BUG 14094: smbc_readdirplus() is incompatible with smbc_telldir() and
20 * BUG 14152: s3: smbclient: Stop an SMB2-connection from blundering into
23 o Ralph Boehme <slow@samba.org>
24 * BUG 14137: Fix stale file handle error when using mkstemp on a share.
26 o Isaac Boukris <iboukris@gmail.com>
27 * BUG 14106: Fix spnego fallback from kerberos to ntlmssp in smbd server.
28 * BUG 14140: Overlinking libreplace against librt and pthread against every
29 binary or library causes issues.
31 o Günther Deschner <gd@samba.org>
32 * BUG 14130: s3-winbindd: Fix forest trusts with additional trust attributes.
33 * BUG 14134: auth/gensec: Fix non-AES schannel seal.
35 o Amitay Isaacs <amitay@gmail.com>
36 * BUG 14147: Deleted records can be resurrected during recovery.
38 o Björn Jacke <bj@sernet.de>
39 * BUG 14136: Fix uncaught exception in classicupgrade.
40 * BUG 14139: fault.c: Improve fault_report message text pointing to our wiki.
42 o Bryan Mason <bmason@redhat.com>
43 * BUG 14128: s3:client: Use DEVICE_URI, instead of argv[0], for Device URI.
45 o Stefan Metzmacher <metze@samba.org>
46 * BUG 14124: pam_winbind with krb5_auth or wbinfo -K doesn't work for users
47 of trusted domains/forests.
49 o Mathieu Parent <math.parent@gmail.com>
50 * BUG 14131: Remove 'pod2man' as it is no longer needed.
52 o Andreas Schneider <asn@samba.org>
53 * BUG 13884: Joining Active Directory should not use SAMR to set the
55 * BUG 14140: Overlinking libreplace against librt and pthread against every
56 binary or library causes issues.
57 * BUG 14155: 'kpasswd' fails when built with MIT Kerberos.
59 o Martin Schwenke <martin@meltin.net>
60 * BUG 14129: Exit code of ctdb nodestatus should not be influenced by deleted
64 #######################################
65 Reporting bugs & Development Discussion
66 #######################################
68 Please discuss this release on the samba-technical mailing list or by
69 joining the #samba-technical IRC channel on irc.freenode.net.
71 If you do report problems then please try to send high quality
72 feedback. If you don't provide vital information to help us track down
73 the problem then you will probably be ignored. All bug reports should
74 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
75 database (https://bugzilla.samba.org/).
78 ======================================================================
79 == Our Code, Our Bugs, Our Responsibility.
81 ======================================================================
84 Release notes for older releases follow:
85 ----------------------------------------
87 ==============================
88 Release Notes for Samba 4.11.0
90 ==============================
93 This is the first stable release of the Samba 4.11 release series.
94 Please read the release notes carefully before upgrading.
100 AD Database compatibility
101 -------------------------
103 Samba 4.11 has changed how the AD database is stored on disk. AD users should
104 not really be affected by this change when upgrading to 4.11. However, AD
105 users should be extremely careful if they need to downgrade from Samba 4.11 to
108 Samba 4.11 maintains database compatibility with older Samba releases. The
109 database will automatically get rewritten in the new 4.11 format when you
110 first start the upgraded samba executable.
112 However, when downgrading from 4.11 you will need to manually downgrade the AD
113 database yourself. Note that you will need to do this step before you install
114 the downgraded Samba packages. For more details, see:
115 https://wiki.samba.org/index.php/Downgrading_an_Active_Directory_DC
117 When either upgrading or downgrading, users should also avoid making any
118 database modifications between installing the new Samba packages and starting
119 the samba executable.
121 SMB1 is disabled by default
122 ---------------------------
124 The defaults of 'client min protocol' and 'server min protocol'
125 have been changed to SMB2_02.
127 This means clients without support for SMB2 or SMB3 are no longer
128 able to connect to smbd (by default).
130 It also means client tools like smbclient and other,
131 as well as applications making use of libsmbclient are no longer
132 able to connect to servers without SMB2 or SMB3 support (by default).
134 It's still possible to allow SMB1 dialects, e.g. NT1, LANMAN2
135 and LANMAN1 for client and server, as well as CORE and COREPLUS on
138 Note that most commandline tools e.g. smbclient, smbcacls and others
139 also support the '--option' argument to overwrite smb.conf options,
140 e.g. --option='client min protocol=NT1' might be useful.
142 As Microsoft no longer installs SMB1 support in recent releases
143 or uninstalls it after 30 days without usage, the Samba Team
144 tries to get remove the SMB1 usage as much as possible.
146 SMB1 is officially deprecated and might be removed step by step
147 in the following years. If you have a strong requirement for SMB1
148 (except for supporting old Linux Kernels), please file a bug
149 at https://bugzilla.samba.org and let us know about the details.
151 LanMan and plaintext authentication deprecated
152 ----------------------------------------------
154 The "lanman auth" and "encrypt passwords" parameters are deprecated
155 with this release as both are only applicable to SMB1 and are quite
156 insecure. NTLM, NTLMv2 and Kerberos authentication are unaffected, as
157 "encrypt passwords = yes" has been the default since Samba 3.0.0.
159 If you have a strong requirement for these authentication protocols,
160 please file a bug at https://bugzilla.samba.org and let us know about
163 BIND9_FLATFILE deprecated
164 -------------------------
166 The BIND9_FLATFILE DNS backend is deprecated in this release and will
167 be removed in the future. This was only practically useful on a single
168 domain controller or under expert care and supervision.
170 This release therefore deprecates the "rndc command" smb.conf
171 parameter, which is used to support this configuration. After writing
172 out a list of DCs permitted to make changes to the DNS Zone "rndc
173 command" is called with reload to tell the 'named' server if a DC was
174 added/removed to to the domain.
180 Default samba process model
181 ---------------------------
183 The default for the '--model' argument passed to the samba executable has changed
184 from 'standard' to 'prefork'. This means a difference in the number of samba
185 child processes that are created to handle client connections. The previous
186 default would create a separate process for every LDAP or NETLOGON client
187 connection. For a network with a lot of persistent client connections, this
188 could result in significant memory overhead. Now, with the new default of
189 'prefork', the LDAP, NETLOGON, and KDC services will create a fixed number of
190 worker processes at startup and share the client connections amongst these
191 workers. The number of worker processes can be configured by the 'prefork
192 children' setting in the smb.conf (the default is 4).
194 Authentication Logging
195 ----------------------
197 Winbind now logs PAM_AUTH and NTLM_AUTH events, a new attribute "logonId" has
198 been added to the Authentication JSON log messages. This contains a random
199 logon id that is generated for each PAM_AUTH and NTLM_AUTH request and is passed
200 to SamLogon, linking the windbind and SamLogon requests.
202 The serviceDescription of the messages is set to "winbind", the authDescription
204 "PASSDB, <command>, <pid>"
205 "PAM_AUTH, <command>, <pid>"
206 "NTLM_AUTH, <command>, <pid>"
208 <command> is the name of the command makinmg the winbind request i.e. wbinfo
209 <pid> is the process id of the requesting process.
211 The version of the JSON Authentication messages has been changed from 1.1 to
217 The scheme of returned LDAP referrals now reflects the scheme of the original
218 request, i.e. referrals received via ldap are prefixed with "ldap://"
219 and those over ldaps are prefixed with "ldaps://".
221 Previously all referrals were prefixed with "ldap://".
226 It is now possible to log the duration of DNS operations performed by Bind9.
227 This should aid future diagnosis of performance issues and could be used to
228 monitor DNS performance. The logging is enabled by setting log level to
229 "dns:10" in smb.conf.
231 The logs are currently human readable text only, i.e. no JSON formatted output.
233 Log lines are of the form:
235 <function>: DNS timing: result: [<result>] duration: (<duration>)
236 zone: [<zone>] name: [<name>] data: [<data>]
238 durations are in microseconds.
240 Default schema updated to 2012_R2
241 ---------------------------------
243 Default AD schema changed from 2008_R2 to 2012_R2. 2012_R2 functional level
244 is not yet available. Older schemas can be used by provisioning with the
245 '--base-schema' argument. Existing installations can be updated with the
246 samba-tool command "domain schemaupgrade".
248 Samba's replication code has also been improved to handle replication
249 with the 2012 schema (the core of this replication fix has also been
250 backported to 4.9.11 and will be in a 4.10.x release).
252 For more about how the AD schema relates to overall Windows compatibility,
254 https://wiki.samba.org/index.php/Windows_2012_Server_compatibility
259 Samba is making efforts to remove in-tree cryptographic functionality,
260 and to instead rely on externally maintained libraries. To this end,
261 Samba has chosen GnuTLS as our standard cryptographic provider.
263 Samba now requires GnuTLS 3.2 to be installed (including development
264 headers at build time) for all configurations, not just the Samba AD
267 NOTE WELL: The use of GnuTLS means that Samba will honour the
268 system-wide 'FIPS mode' (a reference to the US FIPS-140 cryptographic
269 standard) and so will not operate in many still common situations if
270 this system-wide parameter is in effect, as many of our protocols rely
271 on outdated cryptography.
273 A future Samba version will mitigate this to some extent where good
274 cryptography effectively wraps bad cryptography, but for now that above
277 samba-tool improvements
278 -----------------------
280 A new "samba-tool contact" command has been added to allow the
281 command-line manipulation of contacts, as used for address book
284 The "samba-tool [user|group|computer|group|contact] edit" command has been
285 improved to operate more pleasantly on international character sets.
287 100,000 USER and LARGER Samba AD DOMAINS
288 ========================================
290 Extensive efforts have been made to optimise Samba for use in
291 organisations (for example) targeting 100,000 users, plus 120,000
292 computer objects, as well as large number of group memberships.
294 Many of the specific efforts are detailed below, but the net results
295 is to remove barriers to significantly larger Samba deployments
296 compared to previous releases.
298 Reindex performance improvements
299 --------------------------------
301 The performance of samba-tool dbcheck --reindex has been improved,
302 especially for large domains.
304 join performance improvements
305 -----------------------------
307 The performance of samba-tool domain join has been improved,
308 especially for large domains.
310 LDAP Server memory improvements
311 -------------------------------
313 The LDAP server has improved memory efficiency, ensuring that large
314 LDAP responses (for example a search for all objects) is not copied
315 multiple times into memory.
317 Setting lmdb map size
318 ---------------------
320 It is now possible to set the lmdb map size (the maximum permitted
321 size for the database). "samba-tool" now accepts the
322 "--backend-store-size" i.e. --backend-store-size=4Gb. If not
323 specified it defaults to 8Gb.
325 This option is avaiable for the following sub commands:
329 * drs clone-dc-database
334 To improve performance during batch operations i.e. joins, ldb now
335 accepts a "batch_mode" option. However to prevent any index or
336 database inconsistencies if an operation fails, the entire transaction
337 will be aborted at commit.
342 On first use (startup of 'samba' or the first transaction write)
343 Samba's sam.ldb will be updated to a new more efficient pack format.
344 This will take a few moments.
346 New LDB <= and >= index mode to improve replication performance
347 ---------------------------------------------------------------
349 As well as a new pack format, Samba's sam.ldb uses a new index format
350 allowing Samba to efficiently select objects changed since the last
351 replication cycle. This in turn improves performance during
352 replication of large domains.
354 https://wiki.samba.org/index.php/LDB_Greater_than_and_Less_than_indexing
356 Improvements to ldb search performance
357 --------------------------------------
359 Search performance on large LDB databases has been improved by
360 reducing memory allocations made on each object.
362 Improvements to subtree rename performance
363 ------------------------------------------
365 Improvements have been made to Samba's handling of subtree renames,
366 for example of containers and organisational units, however large
367 renames are still not recommended.
372 * nfs-linux-kernel-callout now defaults to using systemd service names
374 The Red Hat service names continue to be the default.
376 Other distributions should patch this file when packaging it.
378 * The onnode -o option has been removed
380 * ctdbd logs when it is using more than 90% of a CPU thread
382 ctdbd is single threaded, so can become saturated if it uses the
383 full capacity of a CPU thread. To help detect this situation, ctdbd
384 now logs messages when CPU utilisation exceeds 90%. Each change in
385 CPU utilisation over 90% is logged. A message is also logged when
386 CPU utilisation drops below the 90% threshold.
388 * Script configuration variable CTDB_MONITOR_SWAP_USAGE has been removed
390 05.system.script now monitors total memory (i.e. physical memory +
391 swap) utilisation using the existing CTDB_MONITOR_MEMORY_USAGE
392 script configuration variable.
394 CephFS Snapshot Integration
395 ---------------------------
397 CephFS snapshots can now be exposed as previous file versions using the new
398 ceph_snapshots VFS module. See the vfs_ceph_snapshots(8) man page for details.
407 As a leftover from work related to the Samba Web Administration Tool (SWAT),
408 Samba still supported a Python WSGI web server (which could still be turned on
409 from the 'server services' smb.conf parameter). This service was unused and has
410 now been removed from Samba.
412 samba-tool join subdomain
413 -------------------------
415 The subdomain role has been removed from the join command. This option did
416 not work and has no tests.
421 Samba 4.11 will not have any runtime support for Python 2.
423 If you are building Samba using the '--disable-python' option
424 (i.e. you're excluding all the run-time Python support), then this
425 will continue to work on a system that supports either python2 or
428 To build Samba with python2 you *must* set the 'PYTHON' environment
429 variable for both the 'configure' and 'make' steps, i.e.
430 'PYTHON=python2 ./configure'
431 'PYTHON=python2 make'
432 This will override the python3 default.
434 Except for this specific build-time use of python2, Samba now requires
435 Python 3.4 as a minimum.
440 Parameter Name Description Default
441 -------------- ----------- -------
443 allocation roundup size Default changed/ 0
445 client min protocol Changed default SMB2_02
446 server min protocol Changed default SMB2_02
447 mangled names Changed default illegal
449 fruit:zero_file_id Changed default False
450 debug encryption New: dump encryption keys False
451 rndc command Deprecated
452 lanman auth Deprecated
453 encrypt passwords Deprecated
456 CHANGES SINCE 4.11.0rc4
457 =======================
460 CHANGES SINCE 4.11.0rc3
461 =======================
463 o Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
464 * BUG 14049: ldb: Don't try to save a value that isn't there.
465 * ldb_dn: Free dn components on explode failure.
466 * ldb: Do not allow adding a DN as a base to itself.
468 o Andrew Bartlett <abartlet@samba.org>
469 * ldb: Release ldb 2.0.7.
470 * BUG 13695: ldb: Correct Pigeonhole principle validation in
472 * BUG 14049: Fix ldb dn crash.
473 * BUG 14117: Deprecate "lanman auth = yes" and "encrypt passwords = no".
475 o Ralph Boehme <slow@samba.org>
476 * BUG 14038: Fix compiling ctdb on older systems lacking POSIX robust
478 * BUG 14121: smbd returns bad File-ID on filehandle used to create a file or
481 o Poornima G <pgurusid@redhat.com>
482 * BUG 14098: vfs_glusterfs: Use pthreadpool for scheduling aio operations.
484 o Stefan Metzmacher <metze@samba.org>
485 * BUG 14055: Add the target server name of SMB 3.1.1 connections as a hint to
486 load balancers or servers with "multi-tenancy" support.
487 * BUG 14113: Fix byte range locking bugs/regressions.
489 o Swen Schillig <swen@linux.ibm.com>
490 * ldb: Fix mem-leak if talloc_realloc fails.
492 o Evgeny Sinelnikov <sin@altlinux.org>
493 * BUG 14007: Fix join with don't exists machine account.
495 o Martin Schwenke <martin@meltin.net>
496 * BUG 14085: ctdb-recoverd: Only check for LMASTER nodes in the VNN map.
499 CHANGES SINCE 4.11.0rc2
500 =======================
502 o Michael Adam <obnox@samba.org>
503 * BUG 13972: Different Device Id for GlusterFS FUSE mount is causing data
504 loss in CTDB cluster.
506 o Jeremy Allison <jra@samba.org>
507 * BUG 14035: CVE-2019-10197: Permissions check deny can allow user to escape
510 o Andrew Bartlett <abartlet@samba.org>
511 * BUG 14059: ldb: Release ldb 2.0.6 (log database repack so users know what
513 * BUG 14092: docs: Deprecate "rndc command" for Samba 4.11.
515 o Tim Beale <timbeale@catalyst.net.nz>
516 * BUG 14059: ldb: Free memory when repacking database.
518 o Ralph Boehme <slow@samba.org>
519 * BUG 14089: vfs_default: Use correct flag in vfswrap_fs_file_id.
520 * BUG 14090: vfs_glusterfs: Initialize st_ex_file_id, st_ex_itime and
523 o Anoop C S <anoopcs@redhat.com>
524 * BUG 14093: vfs_glusterfs: Enable profiling for file system operations.
526 o Aaron Haslett <aaronhaslett@catalyst.net.nz>
527 * BUG 14059: Backport sambadowngradedatabase for v4.11.
529 o Stefan Metzmacher <metze@samba.org>
530 * BUG 14035: CVE-2019-10197: Permissions check deny can allow user to escape
533 o Christof Schmitt <cs@samba.org>
534 * BUG 14032: vfs_gpfs: Implement special case for denying owner access to
537 o Martin Schwenke <martin@meltin.net>
538 * BUG 14084: Avoid marking a node as connected before it can receive packets.
539 * BUG 14086: Fix onnode test failure with ShellCheck >= 0.4.7.
540 * BUG 14087: ctdb-daemon: Stop "ctdb stop" from completing before freezing
547 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.11#Release_blocking_bugs
550 #######################################
551 Reporting bugs & Development Discussion
552 #######################################
554 Please discuss this release on the samba-technical mailing list or by
555 joining the #samba-technical IRC channel on irc.freenode.net.
557 If you do report problems then please try to send high quality
558 feedback. If you don't provide vital information to help us track down
559 the problem then you will probably be ignored. All bug reports should
560 be filed under the Samba 4.1 and newer product in the project's Bugzilla
561 database (https://bugzilla.samba.org/).
564 ======================================================================
565 == Our Code, Our Bugs, Our Responsibility.
567 ======================================================================