WHATSNEW: Explain that Jansson is requied for AD DC, mention --without-json-audit
[samba.git] / WHATSNEW.txt
1 Release Announcements
2 =====================
3
4 This is the first preview release of Samba 4.9.  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.9 will be the next version of the Samba suite.
10
11
12 UPGRADING
13 =========
14
15
16 NEW FEATURES/CHANGES
17 ====================
18
19
20 net ads setspn
21 ---------------
22
23 There is a new 'net ads setspn' sub command for managing Windows SPN(s)
24 on the AD. This command aims to give the basic functionality that is
25 provided on windows by 'setspn.exe' e.g. ability to add, delete and list
26 Windows SPN(s) stored in a Windows AD Computer object.
27
28 The format of the command is:
29
30 net ads setspn list [machine]
31 net ads setspn [add | delete ] SPN [machine]
32
33 'machine' is the name of the computer account on the AD that is to be managed.
34 If 'machine' is not specified the name of the 'client' running the command
35 is used instead.
36
37 The format of a Windows SPN is
38   'serviceclass/host:port/servicename' (servicename and port are optional)
39
40 serviceclass/host is generally sufficient to specify a host based service.
41
42 net ads keytab changes
43 ----------------------
44 net ads keytab add no longer attempts to convert the passed serviceclass
45 (e.g. nfs, html etc.) into a Windows SPN which is added to the Windows AD
46 computer object. By default just the keytab file is modified.
47
48 A new keytab subcommand 'add_update_ads' has been added to preserve the
49 legacy behaviour. However the new 'net ads setspn add' subcommand should
50 really be used instead.
51
52 net ads keytab create no longer tries to generate SPN(s) from existing
53 entries in a keytab file. If it is required to add Windows SPN(s) then
54 'net ads setspn add' should be used instead.
55
56 Local authorization plugin for MIT Kerberos
57 -------------------------------------------
58
59 This plugin controls the relationship between Kerberos principals and AD
60 accounts through winbind. The module receives the Kerberos principal and the
61 local account name as inputs and can then check if they match. This can resolve
62 issues with canonicalized names returned by Kerberos within AD. If the user
63 tries to log in as 'alice', but the samAccountName is set to ALICE (uppercase),
64 Kerberos would return ALICE as the username. Kerberos would not be able to map
65 'alice' to 'ALICE' in this case and auth would fail.  With this plugin account
66 names can be correctly mapped. This only applies to GSSAPI authentication,
67 not for the getting the initial ticket granting ticket.
68
69 VFS audit modules
70 -----------------
71
72 The vfs_full_audit module has changed it's default set of monitored successful
73 and failed operations from "all" to "none". That helps to prevent potential
74 denial of service caused by simple addition of the module to the VFS objects.
75
76 Also, modules vfs_audit, vfs_ext_audit and vfs_full_audit now accept any valid
77 syslog(3) facility, in accordance with the manual page.
78
79 Database audit support
80 ----------------------
81
82 Changes to the Samba AD's sam.ldb database are now logged to Samba's debug log
83 under the "dsdb_audit" debug class and "dsdb_json_audit" for JSON formatted log
84 entries.
85
86 Transaction commits and roll backs are now logged to Samba's debug logs under
87 the "dsdb_transaction_audit" debug class and "dsdb_transaction_json_audit" for
88 JSON formatted log entries.
89
90 Password change audit support
91 -----------------------------
92
93 Password changes in the AD DC are now logged to Samba's debug logs under the
94 "dsdb_password_audit" debug class and "dsdb_password_json_audit" for JSON
95 formatted log entries.
96
97 Group membership change audit support
98 -------------------------------------
99
100 Group membership changes on the AD DC are now logged to
101 Samba's debug log under the "dsdb_group_audit" debug class and
102 "dsdb_group_json_audit" for JSON formatted log entries.
103
104 Log Authentication duration
105 ---------------------------
106
107 For NTLM and Kerberos KDC authentication, the authentication duration is now
108 logged. Note that the duration is only included in the JSON formatted log
109 entries.
110
111 JSON library Jansson required for the AD DC
112 -------------------------------------------
113
114 By default the Jansson JSON library is required for Samba to build.
115 It is strictly required for the Samba AD DC, and is optional for
116 builds --without-ad-dc by specifying --without-json-audit at configure
117 time.
118
119 New Experimental LMDB LDB backend
120 ---------------------------------
121
122 A new experimental LDB backend using LMDB is now available. This allows
123 databases larger than 4Gb (Currently the limit is set to 6Gb, but this will be
124 increased in a future release). To enable lmdb, provision or join a domain using
125 the --backend-store=mdb option.
126
127 This requires that a version of lmdb greater than 0.9.16 is installed and that
128 samba has not been built with the --without-ldb-lmdb option.
129
130 Please note this is an experimental feature and is not recommended for
131 production deployments.
132
133 Password Settings Objects
134 -------------------------
135 Support has been added for Password Settings Objects (PSOs). This AD feature is
136 also known as Fine-Grained Password Policies (FGPP).
137
138 PSOs allow AD administrators to override the domain password policy settings
139 for specific users, or groups of users. For example, PSOs can force certain
140 users to have longer password lengths, or relax the complexity constraints for
141 other users, and so on. PSOs can be applied to groups or to individual users.
142 When multiple PSOs apply to the same user, essentially the PSO with the best
143 precedence takes effect.
144
145 PSOs can be configured and applied to users/groups using the 'samba-tool domain
146 passwordsettings pso' set of commands.
147
148 Domain backup and restore
149 -------------------------
150 A new samba-tool command has been added that allows administrators to create a
151 backup-file of their domain DB. In the event of a catastrophic failure of the
152 domain, this backup-file can be used to restore Samba services.
153
154 The new 'samba-tool domain backup online' command takes a snapshot of the
155 domain DB from a given DC. In the event of a catastrophic DB failure, all DCs
156 in the domain should be taken offline, and the backup-file can then be used to
157 recreate a fresh new DC, using the 'samba-tool domain backup restore' command.
158 Once the backed-up domain DB has been restored on the new DC, other DCs can
159 then subsequently be joined to the new DC, in order to repopulate the Samba
160 network.
161
162 Domain rename tool
163 ------------------
164 Basic support has been added for renaming a Samba domain. The rename feature is
165 designed for the following cases:
166 1). Running a temporary alternate domain, in the event of a catastrophic
167 failure of the regular domain. Using a completely different domain name and
168 realm means that the original domain and the renamed domain can both run at the
169 same time, without interfering with each other. This is an advantage over
170 creating a regular 'online' backup - it means the renamed/alternate domain can
171 provide core Samba network services, while trouble-shooting the fault on the
172 original domain can be done in parallel.
173 2). Creating a realistic lab domain or pre-production domain for testing.
174
175 Note that the renamed tool is currently not intended to support a long-term
176 rename of the production domain. Currently renaming the GPOs is not supported
177 and would need to be done manually.
178
179 The domain rename is done in two steps: first, the 'samba-tool domain backup
180 rename' command will clone the domain DB, renaming it in the process, and
181 producing a backup-file. Then, the 'samba-tool domain backup restore' command
182 takes the backup-file and restores the renamed DB to disk on a fresh DC.
183
184 New samba-tool options for diagnosing DRS replication issues
185 ------------------------------------------------------------
186
187 The 'samba-tool drs showrepl' command has two new options controlling
188 the output. With --summary, the command says very little when DRS
189 replication is working well. With --json, JSON is produced. These
190 options are intended for human and machine audiences, respectively.
191
192 The 'samba-tool visualize uptodateness' visualizes replication lag as
193 a heat-map matrix based on the DRS uptodateness vectors. This will
194 show you if (but not why) changes are failing to replicate to some DCs.
195
196 Automatic site coverage and GetDCName improvements
197 --------------------------------------------------
198
199 Samba's AD DC now automatically claims otherwise empty sites based on
200 which DC is the nearest in the replication topology.
201
202 This, combined with efforts to correctly identify the client side in
203 the GetDCName Netlogon call will improve service to sites without a
204 local DC.
205
206 Improved samba-tool computer command
207 ------------------------------------
208
209 The 'samba-tool computer' command allow manipulation of computer
210 accounts including creating a new computer and resetting the password.
211 This allows an 'offline join' of a member server or workstation to the
212 Samba AD domain.
213
214 Samba performance tool now operates against Microsoft Windows AD
215 ----------------------------------------------------------------
216
217 The Samba AD performance testing tool traffic_reply can now operate
218 against a Windows based AD domain.  Previously it only operated
219 correctly against Samba.
220
221 DNS entries are now cleaned up during DC demote
222 -----------------------------------------------
223
224 DNS records are now cleaned up as part of the 'samba-tool domain
225 demote' including both the default and --remove-other-dead-server
226 modes.
227
228 Additionally DNS records can be automatically cleaned up for a given
229 name with the 'samba-tool dns cleanup' command, which aids in cleaning
230 up partially removed DCs.
231
232 samba-tool ntacl sysvolreset is now much faster
233 -----------------------------------------------
234
235 The 'samba-tool ntacl sysvolreset' command, used on the Samba AD DC,
236 is now much faster than in previous versions, after an internal
237 rework.
238
239 Samba now tested with CI GitLab
240 -------------------------------
241
242 Samba developers now have pre-commit testing available in GitLab,
243 giving reviewers confidence that the submitted patches pass a full CI
244 before being submitted to the Samba Team's own autobuild system.
245
246 Dynamic DNS record scavenging support
247 -------------------------------------
248
249 It is now possible to enable scavenging of DNS Zones to remove DNS
250 records that were dynamically created and have not been touched in
251 some time.
252
253 This support should however only be enabled on new zones or new
254 installations.  Sadly old Samba versions suffer from BUG 12451 and
255 mark dynamic DNS records as static and static records as dynamic.
256 While a dbcheck rule may be able to find these in the future,
257 currently a reliable test has not been devised.
258
259 Finally, there is not currently a command-line tool to enable this
260 feature, currently it should be enabled from the DNS Manager tool from
261 Windows. Also the feature needs to have been enabled by setting the smb.conf
262 parameter "dns zone scavenging = yes".
263
264
265 REMOVED FEATURES
266 ================
267
268
269
270 smb.conf changes
271 ================
272
273 As the most popular Samba install platforms (Linux and FreeBSD) both
274 support extended attributes by default, the parameters "map readonly",
275 "store dos attributes" and "ea support" have had their defaults changed
276 to allow better Windows fileserver compatibility in a default install.
277
278   Parameter Name                     Description             Default
279   --------------                     -----------             -------
280   map readonly                       Default changed              no
281   store dos attributes               Default changed             yes
282   ea support                         Default changed             yes
283   full_audit:success                 Default changed            none
284   full_audit:failure                 Default changed            none
285
286 VFS interface changes
287 =====================
288
289 The VFS ABI interface version has changed to 39. Function changes
290 are:
291
292 SMB_VFS_FSYNC: Removed: Only async versions are used.
293 SMB_VFS_READ: Removed: Only PREAD or async versions are used.
294 SMB_VFS_WRITE: Removed: Only PWRITE or async versions are used.
295 SMB_VFS_CHMOD_ACL: Removed: Only CHMOD is used.
296 SMB_VFS_FCHMOD_ACL: Removed: Only FCHMOD is used.
297
298 Any external VFS modules will need to be updated to match these
299 changes in order to work with 4.9.x.
300
301 KNOWN ISSUES
302 ============
303
304 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.9#Release_blocking_bugs
305
306
307 #######################################
308 Reporting bugs & Development Discussion
309 #######################################
310
311 Please discuss this release on the samba-technical mailing list or by
312 joining the #samba-technical IRC channel on irc.freenode.net.
313
314 If you do report problems then please try to send high quality
315 feedback. If you don't provide vital information to help us track down
316 the problem then you will probably be ignored.  All bug reports should
317 be filed under the Samba 4.1 and newer product in the project's Bugzilla
318 database (https://bugzilla.samba.org/).
319
320
321 ======================================================================
322 == Our Code, Our Bugs, Our Responsibility.
323 == The Samba Team
324 ======================================================================
325