s4-lsa: Fix use-after-free in LSA server
[vlendec/samba-autobuild/.git] / WHATSNEW.txt
1                    =============================
2                    Release Notes for Samba 4.8.1
3                            April 26, 2018
4                    =============================
5
6
7 This is the latest stable release of the Samba 4.8 release series.
8
9
10 Changes since 4.8.0:
11 --------------------
12
13 o  Jeremy Allison <jra@samba.org>
14    * BUG 13244: s3: ldap: Ensure the ADS_STRUCT pointer doesn't get freed on
15      error, we don't own it here.
16    * BUG 13270: s3: smbd: Fix possible directory fd leak if the underlying OS
17      doesn't support fdopendir().
18    * BUG 13319: Round-tripping ACL get/set through vfs_fruit will increase the
19      number of ACE entries without limit.
20    * BUG 13347: s3: smbd: SMB2: Add DBGC_SMB2_CREDITS class to specifically
21      debug credit issues.
22    * BUG 13358: s3: smbd: Files or directories can't be opened DELETE_ON_CLOSE
23      without delete access.
24    * BUG 13372: s3: smbd: Fix memory leak in vfswrap_getwd().
25    * BUG 13375: s3: smbd: Unix extensions attempts to change wrong field in
26      fchown call.
27
28 o  Björn Baumbach <bb@sernet.de>
29    * BUG 13337: ms_schema/samba-tool visualize: Fix python2.6 incompatibility.
30
31 o  Timur I. Bakeyev <timur@iXsystems.com>
32    * BUG 13352: Fix invocation of gnutls_aead_cipher_encrypt().
33
34 o  Ralph Boehme <slow@samba.org>
35    * BUG 13328: Windows 10 cannot logon on Samba NT4 domain.
36    * BUG 13332: winbindd: Recover loss of netlogon secure channel in case the
37      peer DC is rebooted.
38    * BUG 13363: s3:smbd: Don't use the directory cache for SMB2/3.
39
40 o  Amitay Isaacs <amitay@gmail.com>
41    * BUG 13356: ctdb-client: Fix bugs in client code.
42    * BUG 13359: ctdb-scripts: Drop "net serverid wipe" from 50.samba event
43      script.
44
45 o  Lutz Justen <ljusten@google.com>
46    * BUG 13368: s3: lib: messages: Don't use the result of sec_init() before
47      calling sec_init().
48
49 o  Volker Lendecke <vl@samba.org>
50    * BUG 13273: libads: Fix the build '--without-ads'.
51    * BUG 13332: winbind: Keep "force_reauth" in invalidate_cm_connection,
52      add 'smbcontrol disconnect-dc'.
53    * BUG 13343: vfs_virusfilter: Fix CIDs 1428738-1428740.
54    * BUG 13367: dsdb: Fix CID 1034966 Uninitialized scalar variable.
55    * BUG 13370: rpc_server: Fix core dump in dfsgetinfo.
56    * BUG 13382: smbclient: Fix notify.
57
58 o  Stefan Metzmacher <metze@samba.org>
59    * BUG 13215: Fix smbd panic if the client-supplied channel sequence number
60      wraps.
61    * BUG 13328: Windows 10 cannot logon on Samba NT4 domain.
62    * BUG 13342: lib/util: Remove unused '#include <sys/syscall.h>' from
63      tests/tfork.c.
64    * BUG 13343: Fix build errors with cc from developerstudio 12.5 on Solaris.
65    * BUG 13344: Fix the picky-developer build on FreeBSD 11.
66    * BUG 13345: s3:modules: Fix the build of vfs_aixacl2.c.
67
68 o  Anton Nefedov
69    * BUG 13338: s3:smbd: map nterror on smb2_flush errorpath.
70
71 o  Noel Power <noel.power@suse.com>
72    * BUG 13341: lib:replace: Fix linking when libtirpc-devel overwrites system
73      headers.
74
75 o  Christof Schmitt <cs@samba.org>
76    * BUG 13312: winbindd: 'wbinfo --name-to-sid' returns misleading result on
77      invalid query.
78
79 o  Andreas Schneider <asn@samba.org>
80    * BUG 13376: s3:passdb: Do not return OK if we don't have pinfo set up.
81
82 o  Eric Vannier <evannier@google.com>
83    * BUG 13302: Allow AESNI to be used on all processor supporting AESNI.
84
85
86 #######################################
87 Reporting bugs & Development Discussion
88 #######################################
89
90 Please discuss this release on the samba-technical mailing list or by
91 joining the #samba-technical IRC channel on irc.freenode.net.
92
93 If you do report problems then please try to send high quality
94 feedback. If you don't provide vital information to help us track down
95 the problem then you will probably be ignored.  All bug reports should
96 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
97 database (https://bugzilla.samba.org/).
98
99
100 ======================================================================
101 == Our Code, Our Bugs, Our Responsibility.
102 == The Samba Team
103 ======================================================================
104
105
106 Release notes for older releases follow:
107 ----------------------------------------
108
109                    =============================
110                    Release Notes for Samba 4.8.0
111                            March 13, 2018
112                    =============================
113
114
115 This is the first stable release of the Samba 4.8 release series.
116 Please read the release notes carefully before upgrading.
117
118
119 UPGRADING
120 =========
121
122 New GUID Index mode in sam.ldb for the AD DC
123 --------------------------------------------
124
125 Users who upgrade a Samba AD DC in-place will experience a short delay
126 in the first startup of Samba while the sam.ldb is re-indexed.
127
128 Unlike in previous releases a transparent downgrade is not possible.
129 If you wish to downgrade such a DB to a Samba 4.7 or earlier version,
130 please run the source4/scripting/bin/sambaundoguididx script first.
131
132 Domain member setups require winbindd
133 -------------------------------------
134
135 Setups with "security = domain" or "security = ads" require a
136 running 'winbindd' now. The fallback that smbd directly contacts
137 domain controllers is gone.
138
139 smbclient reparse point symlink parameters reversed
140 ---------------------------------------------------
141
142 See the more detailed description below.
143
144 Changed trusted domains listing with wbinfo -m --verbose
145 --------------------------------------------------------
146
147 See the more detailed description below.
148
149 NEW FEATURES/CHANGES
150 ====================
151
152 New GUID Index mode in sam.ldb for the AD DC
153 --------------------------------------------
154
155 The new layout used for sam.ldb is GUID, rather than DN oriented.
156 This provides Samba's Active Directory Domain Controller with a faster
157 database, particularly at larger scale.
158
159 The underlying DB is still TDB, simply the choice of key has changed.
160
161 The new mode is not optional, so no configuration is required.  Older
162 Samba versions cannot read the new database (see the upgrade
163 note above).
164
165 KDC GPO application
166 -------------------
167
168 Adds Group Policy support for the Samba kdc. Applies password policies
169 (minimum/maximum password age, minimum password length, and password
170 complexity) and kerberos policies (user/service ticket lifetime and
171 renew lifetime).
172
173 Adds the samba_gpoupdate script for applying and unapplying
174 policy. Can be applied automatically by setting
175
176  'apply group policies = yes'.
177
178 Time Machine Support with vfs_fruit
179 -----------------------------------
180
181 Samba can be configured as a Time Machine target for Apple Mac devices
182 through the vfs_fruit module. When enabling a share for Time Machine
183 support the relevant Avahi records to support discovery will be published
184 for installations that have been built against the Avahi client library.
185
186 Shares can be designated as a Time Machine share with the following setting:
187
188   'fruit:time machine = yes'
189
190 Support for lower casing the MDNS Name
191 --------------------------------------
192
193 Allows the server name that is advertised through MDNS to be set to the
194 hostname rather than the Samba NETBIOS name. This allows an administrator
195 to make Samba registered MDNS records match the case of the hostname
196 rather than being in all capitals.
197
198 This can be set with the following settings:
199
200   'mdns name = mdns'
201
202 Encrypted secrets
203 -----------------
204
205 Attributes deemed to be sensitive are now encrypted on disk. The sensitive
206 values are currently:
207         pekList
208         msDS-ExecuteScriptPassword
209         currentValue
210         dBCSPwd
211         initialAuthIncoming
212         initialAuthOutgoing
213         lmPwdHistory
214         ntPwdHistory
215         priorValue
216         supplementalCredentials
217         trustAuthIncoming
218         trustAuthOutgoing
219         unicodePwd
220         clearTextPassword
221
222 This encryption is enabled by default on a new provision or join, it
223 can be disabled at provision or join time with the new option
224 '--plaintext-secrets'.
225
226 However, an in-place upgrade will not encrypt the database.
227
228 Once encrypted, it is not possible to do an in-place downgrade (eg to
229 4.7) of the database. To obtain an unencrypted copy of the database a
230 new DC join should be performed, specifying the '--plaintext-secrets'
231 option.
232
233 The key file "encrypted_secrets.key" is created in the same directory
234 as the database and should NEVER be disclosed.  It is included by the
235 samba_backup script.
236
237 Active Directory replication visualisation
238 ------------------------------------------
239
240 To work out what is happening in a replication graph, it is sometimes
241 helpful to use visualisations. We introduce a samba-tool subcommand to
242 write Graphviz dot output and generate text-based heatmaps of the
243 distance in hops between DCs.
244
245 There are two subcommands, two graphical modes, and (roughly) two modes of
246 operation with respect to the location of authority.
247
248 `samba-tool visualize ntdsconn` looks at NTDS Connections.
249 `samba-tool visualize reps` looks at repsTo and repsFrom objects.
250
251 In '--distance' mode (default), the distances between DCs are shown in
252 a matrix in the terminal. With '--color=yes', this is depicted as a
253 heatmap. With '--utf8' it is a lttle prettier.
254
255 In '--dot' mode, Graphviz dot output is generated. When viewed using
256 dot or xdot, this shows the network as a graph with DCs as vertices
257 and connections edges. Certain types of degenerate edges are shown in
258 different colours or line-styles.
259
260 smbclient reparse point symlink parameters reversed
261 ---------------------------------------------------
262
263 A bug in smbclient caused the 'symlink' command to reverse the
264 meaning of the new name and link target parameters when creating a
265 reparse point symlink against a Windows server. As this is a
266 little used feature the ordering of these parameters has been
267 reversed to match the parameter ordering of the UNIX extensions
268 'symlink' command. The usage message for this command has also
269 been improved to remove confusion.
270
271 Winbind changes
272 ---------------
273
274 The dependency to global list of trusted domains within
275 the winbindd processes has been reduced a lot.
276
277 The construction of that global list is not reliable and often
278 incomplete in complex trust setups. In most situations the list is not needed
279 any more for winbindd to operate correctly. E.g. for plain file serving via SMB
280 using a simple idmap setup with autorid, tdb or ad. However some more complex
281 setups require the list, e.g. if you specify idmap backends for specific
282 domains. Some pam_winbind setups may also require the global list.
283
284 If you have a setup that doesn't require the global list, you should set
285 "winbind scan trusted domains = no".
286
287 Improved support for trusted domains (as AD DC)
288 -----------------------------------------------
289
290 The support for trusted domains/forests has improved a lot.
291
292 External domain trusts, as well a transitive forest trusts,
293 are supported in both directions (inbound and outbound)
294 for Kerberos and NTLM authentication now.
295
296 The LSA LookupNames and LookupSids implementations
297 support resolving names and sids from trusts domains/forest
298 now. This is important in order to allow Samba based
299 domain members to make use of the trust.
300
301 However there are currently still a few limitations:
302
303 - It's not possible to add users/groups of a trusted domain
304   into domain groups. So group memberships are not expanded
305   on trust boundaries.
306   See https://bugzilla.samba.org/show_bug.cgi?id=13300
307 - Both sides of the trust need to fully trust each other!
308 - No SID filtering rules are applied at all!
309 - This means DCs of domain A can grant domain admin rights
310   in domain B.
311 - Selective (CROSS_ORIGANIZATION) authentication is
312   not supported. It's possible to create such a trust,
313   but the KDC and winbindd ignore them.
314
315 Changed trusted domains listing with wbinfo -m --verbose
316 --------------------------------------------------------
317
318 The trust properties printed by wbinfo -m --verbose have been changed to
319 correctly reflect the view of the system where wbinfo is executed.
320
321 The trust type field in particular can show additional values that correctly
322 reflect the type of the trust: "Local" for the local SAM and BUILTIN,
323 "Workstation" for a workstation trust to the primary domain, "RWDC" for the SAM
324 on a AD DC, "RODC" for the SAM on a read-only DC, "PDC" for the SAM on a
325 NT4-style DC, "Forest" for a AD forest trust and "External" for quarantined,
326 external or NT4-style trusts.
327
328 Indirect trusts are shown as "Routed" including the routing domain.
329
330 Example, on a AD DC (SDOM1):
331
332 Domain Name DNS Domain          Trust Type  Transitive  In   Out
333 BUILTIN                         Local
334 SDOM1       sdom1.site          RWDC
335 WDOM3       wdom3.site          Forest      Yes         No   Yes
336 WDOM2       wdom2.site          Forest      Yes         Yes  Yes
337 SUBDOM31    subdom31.wdom3.site Routed (via WDOM3)
338 SUBDOM21    subdom21.wdom2.site Routed (via WDOM2)
339
340 Same setup, on a member of WDOM2:
341
342 Domain Name DNS Domain          Trust Type  Transitive  In   Out
343 BUILTIN                         Local
344 TITAN                           Local
345 WDOM2       wdom2.site          Workstation Yes         No   Yes
346 WDOM1       wdom1.site          Routed (via WDOM2)
347 WDOM3       wdom3.site          Routed (via WDOM2)
348 SUBDOM21    subdom21.wdom2.site Routed (via WDOM2)
349 SDOM1       sdom1.site          Routed (via WDOM2)
350 SUBDOM11    subdom11.wdom1.site Routed (via WDOM2)
351
352 The list of trusts may be incomplete and additional domains may appear as
353 "Routed" if a user of an unknown domain is successfully authenticated.
354
355 VirusFilter VFS module
356 ----------------------
357
358 This new module integrates with Sophos, F-Secure and ClamAV anti-virus
359 software to provide scanning and filtering of files on a Samba share.
360
361
362 REMOVED FEATURES
363 ================
364
365 'net serverid' commands removed
366 -------------------------------
367
368 The two commands 'net serverid list' and 'net serverid wipe' have been
369 removed, because the file serverid.tdb is not used anymore.
370
371 'net serverid list' can be replaced by listing all files in the
372 subdirectory "msg.lock" of Samba's "lock directory". The unique id
373 listed by 'net serverid list' is stored in every process' lockfile in
374 "msg.lock".
375
376 'net serverid wipe' is not necessary anymore. It was meant primarily
377 for clustered environments, where the serverid.tdb file was not
378 properly cleaned up after single node crashes. Nowadays smbd and
379 winbind take care of cleaning up the msg.lock and msg.sock directories
380 automatically.
381
382 NT4-style replication based net commands removed
383 ------------------------------------------------
384
385 The following commands and sub-commands have been removed from the
386 "net" utility:
387
388 net rpc samdump
389 net rpc vampire ldif
390
391 Also, replicating from a real NT4 domain with "net rpc vampire" and
392 "net rpc vampire keytab" has been removed.
393
394 The NT4-based commands were accidentally broken in 2013, and nobody
395 noticed the breakage. So instead of fixing them including tests (which
396 would have meant writing a server for the protocols, which we don't
397 have) we decided to remove them.
398
399 For the same reason, the "samsync", "samdeltas" and "database_redo"
400 commands have been removed from rpcclient.
401
402 "net rpc vampire keytab" from Active Directory domains continues to be
403 supported.
404
405 vfs_aio_linux module removed
406 ----------------------------
407
408 The current Linux kernel aio does not match what Samba would
409 do. Shipping code that uses it leads people to false
410 assumptions. Samba implements async I/O based on threads by default,
411 there is no special module required to see benefits of read and write
412 request being sent do the disk in parallel.
413
414
415 smb.conf changes
416 ================
417
418   Parameter Name                     Description             Default
419   --------------                     -----------             -------
420   apply group policies               New                     no
421   auth methods                       Removed
422   binddns dir                        New
423   client schannel                    Default changed/        yes
424                                      Deprecated
425   gpo update command                 New
426   ldap ssl ads                       Deprecated
427   map untrusted to domain            Removed
428   oplock contention limit            Removed
429   prefork children                   New                     1
430   mdns name                          New                     netbios
431   fruit:time machine                 New                     false
432   profile acls                       Removed
433   use spnego                         Removed
434   server schannel                    Default changed/        yes
435                                      Deprecated
436   unicode                            Deprecated
437   winbind scan trusted domains       New                     yes
438   winbind trusted domains only       Removed
439
440
441 CHANGES SINCE 4.8.0rc4
442 ======================
443
444 o  Jeremy Allison <jra@samba.org>
445    * BUG 11343: CVE-2018-1050: Codenomicon crashes in spoolss server code.
446
447 o  Ralph Boehme <slow@samba.org>
448    * BUG 13272: CVE-2018-1057: Unprivileged user can change any user (and admin)
449      password.
450    * BUG 13313: nsswitch: Fix wbinfo -m --verbose trust type "Local".
451
452 o  Stefan Metzmacher <metze@samba.org>
453    * BUG 13272: CVE-2018-1057: Unprivileged user can change any user (and admin)
454      password.
455
456 o  Dan Robertson <drobertson@tripwire.com>
457    * BUG 13310: libsmb: Use smb2 tcon if conn_protocol >= SMB2_02.
458
459 o  Andreas Schneider <asn@samba.org>
460    * BUG 13315: s3:smbd: Do not crash if we fail to init the session table.
461
462
463 CHANGES SINCE 4.8.0rc3
464 ======================
465
466 o  Ralph Boehme <slow@samba.org>
467    * BUG 13287: Fix numerous trust related bugs in winbindd and s4 LSA RPC
468      server.
469    * BUG 13296: vfs_fruit: Use off_t, not size_t for TM size calculations.
470
471 o  Alexander Bokovoy <ab@samba.org>
472    * BUG 13304: mit-kdb: Support MIT Kerberos 1.16 KDB API changes.
473
474 o  Günther Deschner <gd@samba.org>
475    * BUG 13277: build: Fix libceph-common detection.
476
477 o  Poornima G <pgurusid@redhat.com>
478    * BUG 13297: vfs_glusterfs: Fix the wrong pointer being sent in
479      glfs_fsync_async.
480
481 o  Volker Lendecke <vl@samba.org>
482    * BUG 13305: vfs_fileid: Fix the 32-bit build.
483
484 o  Stefan Metzmacher <metze@samba.org>
485    * BUG 13206: Unable to authenticate with an empty string domain ''.
486    * BUG 13276: configure aborts without libnettle/gnutls.
487    * BUG 13278: winbindd (on an AD DC) should only use netlogon/lsa against
488      trusted domains.
489    * BUG 13287: Fix numerous trust related bugs in winbindd and s4 LSA RPC
490      server.
491    * BUG 13290: A disconnecting winbind client can cause a problem in 
492      the winbind parent child communication.
493    * BUG 13291: tevent: version 0.9.36.
494    * BUG 13292: winbind requests could get stuck in the queue of a busy child,
495      while later requests could get served fine by other children.
496    * BUG 13293: Minimize the lifetime of winbindd_cli_state->{pw,gr}ent_state.
497    * BUG 13294: Avoid using fstrcpy(domain->dcname,...) on a char *.
498    * BUG 13295: winbind parent should find the dc of a foreign domain via the
499      primary domain.
500    * BUG 13299: Disable support for CROSS_ORGANIZATION domains.
501    * BUG 13306: ldb: version 1.3.2.
502
503 o  Sachin Prabhu <sprabhu@redhat.com>
504    * BUG 13303: vfs_glusterfs: Add fallocate support for vfs_glusterfs.
505
506 o  Garming Sam <garming@catalyst.net.nz>
507    * BUG 13031: subnet: Avoid a segfault when renaming subnet objects.
508    * BUG 13269: RODC may skip objects during replication due to naming
509      conflicts.
510
511
512 CHANGES SINCE 4.8.0rc2
513 ======================
514
515 o  Trever L. Adams <trever.adams@gmail.com>
516    * BUG 13246: Backport Samba VirusFilter.
517
518 o  Ralph Boehme <slow@samba.org>
519    * BUG 13228: dbcheck: Add support for restoring missing forward links.
520
521 o  Günther Deschner <gd@samba.org>
522    * BUG 13221: python: fix the build with python3.
523
524 o  Stefan Metzmacher <metze@samba.org>
525    * BUG 13228: dbcheck: Add support for restoring missing forward links.
526
527
528 CHANGES SINCE 4.8.0rc1
529 ======================
530
531 o  Günther Deschner <gd@samba.org>
532    * BUG 13227: packaging: Fix default systemd-dir path.
533    * BUG 13238: build: Deal with recent glibc sunrpc header removal.
534
535 o  Stefan Metzmacher <metze@samba.org>
536    * BUG 13228: repl_meta_data: fix linked attribute corruption on databases
537      with unsorted links on expunge.
538
539 o  Christof Schmitt <cs@samba.org>
540    * BUG 13217: s3/smbd: Remove file system sharemode before calling unlink.
541
542 o  Andreas Schneider <asn@samba.org>
543    * BUG 13209: Small improvements in winbindd for the resource cleanup in error
544      cases.
545    * BUG 13238: Make Samba work with tirpc and libnsl2.
546
547
548 KNOWN ISSUES
549 ============
550
551 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.8#Release_blocking_bugs
552
553
554 #######################################
555 Reporting bugs & Development Discussion
556 #######################################
557
558 Please discuss this release on the samba-technical mailing list or by
559 joining the #samba-technical IRC channel on irc.freenode.net.
560
561 If you do report problems then please try to send high quality
562 feedback. If you don't provide vital information to help us track down
563 the problem then you will probably be ignored.  All bug reports should
564 be filed under the Samba 4.1 and newer product in the project's Bugzilla
565 database (https://bugzilla.samba.org/).
566
567
568 ======================================================================
569 == Our Code, Our Bugs, Our Responsibility.
570 == The Samba Team
571 ======================================================================
572