4 This is the first pre release of Samba 4.21. 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.21 will be the next version of the Samba suite.
15 LDAP TLS/SASL channel binding support
16 -------------------------------------
18 The ldap server supports SASL binds with
19 kerberos or NTLMSSP over TLS connections
20 now (either ldaps or starttls).
22 Setups where 'ldap server require strong auth = allow_sasl_over_tls'
23 was required before, can now most likely move to the
24 default of 'ldap server require strong auth = yes'.
26 If SASL binds without correct tls channel bindings are required
27 'ldap server require strong auth = allow_sasl_without_tls_channel_bindings'
28 should be used now, as 'allow_sasl_over_tls' will generate a
29 warning in every start of 'samba', as well as '[samba-tool ]testparm'.
31 This is similar to LdapEnforceChannelBinding under
32 HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
35 All client tools using ldaps also include the correct
42 LDB no longer a standalone tarball
43 ----------------------------------
45 LDB, Samba's LDAP-like local database and the power behind the Samba
46 AD DC, is no longer available to build as a distinct tarball, but is
47 instead provided as an optional public library.
49 If you need ldb as a public library, say to build sssd, then use
50 ./configure --private-libraries='!ldb'
52 This re-integration allows LDB tests to use the Samba's full selftest
53 system, including our knownfail infrastructure, and decreases the work
54 required during security releases as a coordinated release of the ldb
55 tarball is not also required.
57 This approach has been demonstrated already in Debian, which is already
58 building Samba and LDB is this way.
60 As part of this work, the pyldb-util public library, not known to be
61 used by any other software, is made private to Samba.
63 LDB Module API Python bindings removed
64 --------------------------------------
66 The LDB Modules API, which we do not promise a stable ABI or API for,
67 was wrapped in python in early LDB development. However that wrapping
68 never took into account later changes, and so has not worked for a
69 number of years. Samba 4.21 and LDB 2.10 removes this unused and
72 Some Samba public libraries made private by default
73 ---------------------------------------------------
75 The following Samba C libraries are currently made public due to their
76 use by OpenChange or for historical reasons that are no longer clear.
78 dcerpc-samr, samba-policy, tevent-util, dcerpc, samba-hostconfig,
79 samba-credentials, dcerpc_server, samdb
81 The libraries used by the OpenChange client now private, but can be
82 made public (like ldb above) with:
84 ./configure --private-libraries='!dcerpc,!samba-hostconfig,!samba-credentials,!ldb'
86 The C libraries without any known user or used only for the OpenChange
87 server (a dead project) may be made private entirely in a future Samba
90 If you use a Samba library in this list, please be in touch with the
91 samba-technical mailing list.
93 Using ldaps from 'winbindd' and 'net ads'
94 -----------------------------------------
96 Beginning with Samba 3.0.22 the 'ldap ssl = start tls' option also
97 impacted LDAP connections to active directory domain controllers.
98 Using the STARTTLS operation on LDAP port 389 connections. Starting
99 with Samba 3.5.0 'ldap ssl ads = yes' was required in addition in
100 order let to 'ldap ssl = start tls' have any effect on those
103 'ldap ssl ads' was deprecated with Samba 4.8.0 and removed together
104 with the whole functionality in Samba 4.14.0, because it didn't support
105 tls channel bindings required for the sasl authentication.
107 The functionality is now re-added using the correct channel bindings
108 based on the gnutls based tls implementation we already have, instead
109 of using the tls layer provided by openldap. This makes it available
110 and consistent with all LDAP client libraries we use and implement on
113 The 'client ldap sasl wrapping' option gained the two new possible values:
114 'starttls' (using STARTTLS on tcp port 389)
116 'ldaps' (using TLS directly on tcp port 636).
118 If you had 'ldap ssl = start tls' and 'ldap ssl ads = yes'
119 before, you can now use 'client ldap sasl wrapping = starttls'
120 in order to get STARTTLS on tcp port 389.
122 As we no longer use the openldap tls layer it is required to configure the
123 correct certificate trusts with at least one of the following options:
124 'tls trust system cas', 'tls ca directories' or 'tls cafile'.
125 While 'tls verify peer' and 'tls crlfile' are also relevant,
126 see 'man smb.conf' for further details.
128 New DNS hostname config option
129 ------------------------------
131 To get `net ads dns register` working correctly running manually or during a
132 domain join a special entry in /etc/hosts was required. This not really
133 documented and thus the DNS registration mostly didn't work. With the new option
134 the default is [netbios name].[realm] which should be correct in the majority of
137 We will also use the value to create service principal names during a Kerberos
138 authentication and DNS functions.
140 This is not supported in samba-tool yet.
142 Samba AD will rotate expired passwords on smartcard-required accounts
143 ---------------------------------------------------------------------
145 Traditionally in AD, accounts set to be "smart card require for logon"
146 will have a password for NTLM fallback and local profile encryption
147 (Windows DPAPI). This password previously would not expire.
149 Matching Windows behaviour, when the DC in a FL 2016 domain and the
150 msDS-ExpirePasswordsOnSmartCardOnlyAccounts attribute on the domain
151 root is set to TRUE, Samba will now expire these passwords and rotate
152 them shortly before they expire.
154 Note that the password expiry time must be set to twice the TGT lifetime for
155 smooth operation, e.g. daily expiry given a default 10 hour TGT
156 lifetime, as the password is only rotated in the second half of its
157 life. Again, this matches the Windows behaviour.
159 Provided the default 2016 schema is used, new Samba domains
160 provisioned with Samba 4.21 will have this enabled once the domain
161 functional level is set to 2016.
163 NOTE: Domains upgraded from older Samba versions will not have this
164 set, even after the functional level preparation, matching the
165 behaviour of upgraded Windows AD domains.
174 Parameter Name Description Default
175 -------------- ----------- -------
176 client ldap sasl wrapping new values
177 client use spnego principal removed
178 ldap server require strong auth new values
179 tls trust system cas new
180 tls ca directories new
181 dns hostname client dns name [netbios name].[realm]
187 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.21#Release_blocking_bugs
190 #######################################
191 Reporting bugs & Development Discussion
192 #######################################
194 Please discuss this release on the samba-technical mailing list or by
195 joining the #samba-technical:matrix.org matrix room, or
196 #samba-technical IRC channel on irc.libera.chat
198 If you do report problems then please try to send high quality
199 feedback. If you don't provide vital information to help us track down
200 the problem then you will probably be ignored. All bug reports should
201 be filed under the Samba 4.1 and newer product in the project's Bugzilla
202 database (https://bugzilla.samba.org/).
205 ======================================================================
206 == Our Code, Our Bugs, Our Responsibility.
208 ======================================================================