summaryrefslogtreecommitdiff
path: root/WHATSNEW.txt
blob: f5b693aa2f68cbcab69bfd84ba5961e93978ac2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
Release Announcements
=====================

This is the second release candidate of Samba 4.5.  This is *not*
intended for production environments and is designed for testing
purposes only.  Please report any defects via the Samba bug reporting
system at https://bugzilla.samba.org/.

Samba 4.5 will be the next version of the Samba suite.


UPGRADING
=========

NTLMv1 authentication disabled by default
-----------------------------------------

In order to improve security we have changed
the default value for the "ntlm auth" option from
"yes" to "no". This may have impact on very old
clients which doesn't support NTLMv2 yet.

The primary user of NTLMv1 is MSCHAPv2 for VPNs and 802.1x.

By default, Samba will only allow NTLMv2 via NTLMSSP now,
as we have the following default "lanman auth = no",
"ntlm auth = no" and "raw NTLMv2 auth = no".


NEW FEATURES/CHANGES
====================

Support for LDAP_SERVER_NOTIFICATION_OID
----------------------------------------

The ldap server has support for the LDAP_SERVER_NOTIFICATION_OID
control. This can be used to monitor the Active Directory database
for changes.

KCC improvements for sparse network replication
-----------------------------------------------

The Samba KCC will now be the default knowledge consistency checker in
Samba AD. Instead of using full mesh replication between every DC, the
KCC will set up connections to optimize replication latency and cost
(using site links to calculate the routes). This change should allow
larger domains to function significantly better in terms of replication
traffic and the time spent performing DRS replication.

VLV - Virtual List View
-----------------------

The VLV Control allows applications to page the LDAP directory in the
way you might expect a live phone book application to operate, without
first downloading the entire directory.

DRS Replication for the AD DC
-----------------------------

DRS Replication in Samba 4.5 is now much more efficient in handling
linked attributes, particularly in large domains with over 1000 group
memberships or other links.

Replication is also much more reliable in the handling of tree
renames, such as the rename of an organizational unit containing many
users.  Extensive tests have been added to ensure this code remains
reliable, particularly in the case of conflicts between objects added
with the same name on different servers.

Schema updates are also handled much more reliably.

samba-tool drs replicate with new options
-----------------------------------------

'samba-tool drs replicate' got two new options:

The option '--local-online' will do the DsReplicaSync() via IRPC
to the local dreplsrv service.

The option '--async-op' will add DRSUAPI_DRS_ASYNC_OP to the
DsReplicaSync(), which won't wait for the replication result.

replPropertyMetaData Changes
----------------------------

During the development of the DRS replication, tests showed that Samba
stores the replPropertyMetaData object incorrectly.  To address this,
be aware that 'dbcheck' will now detect and offer to fix all objects in
the domain for this error.

Linked attributes on deleted objects
------------------------------------

In Active Directory, an object that has been tombstoned or recycled
has no linked attributes.  However, Samba incorrectly maintained such
links, slowing replication and run-time performance.  'dbcheck' now
offers to remove such links, and they are no longer kept after the
object is tombstoned or recycled.

Improved AD DC performance
--------------------------

Many other improvements have been made to our LDAP database layer in
the AD DC, to improve performance, both during 'samba-tool domain
provision' and at runtime.

Other dbcheck improvements
--------------------------

 - 'samba-tool dbcheck' can now find and fix a missing or corrupted
   'deleted objects' container.
 - BUG 11433: samba-dbcheck no longer offers to resort auxiliary class values
   in objectClass as these were then re-sorted at the next dbcheck indefinitely.

Tombstone Reanimation
---------------------

Samba now supports tombstone reanimation, a feature in the AD DC
allowing tombstones, that is objects which have been deleted, to be
restored with the original SID and GUID still in place.

Multiple DNS Forwarders on the AD DC
------------------------------------

Multiple DNS forwarders are now supported on the AD DC, allowing
Samba to fall back between two different DNS servers for forwarded queries.

Password quality plugin support in the AD DC
--------------------------------------------

The check password script now operates correctly in the AD DC.

pwdLastSet is now correctly honoured
------------------------------------

BUG 9654: The pwdLastSet attribute is now correctly handled (this previously
permitted passwords that expire next).

net ads dns unregister
----------------------

It is now possible to remove the DNS entries created with 'net ads register'
with the matching 'net ads unregister' command.

samba-tool improvements
------------------------

Running 'samba-tool' on the command line should now be a lot snappier. The tool
now only loads the code specific to the subcommand that you wish to run.

SMB 2.1 Leases enabled by default
---------------------------------

Leasing is an SMB 2.1 (and higher) feature which allows clients to
aggressively cache files locally above and beyond the caching allowed
by SMB 1 oplocks. This feature was disabled in previous releases, but
the SMB2 leasing code is now considered mature and stable enough to be
enabled by default.

Open File Description (OFD) Locks
---------------------------------

On systems that support them (currently only Linux), the fileserver now
uses Open File Description (OFD) locks instead of POSIX locks to implement
client byte range locks. As these locks are associated with a specific
file descriptor on a file this allows more efficient use when multiple
descriptors having file locks are opened onto the same file. An internal
tunable "smbd:force process locks = true" may be used to turn off OFD
locks if there appear to be problems with them.

Password sync as Active Directory domain controller
---------------------------------------------------

The new commands 'samba-tool user getpassword'
and 'samba-tool user syncpasswords' provide
access and syncing of various password fields.

If compiled with GPGME support (--with-gpgme) it's
possible to store cleartext passwords in a PGP/OpenGPG
encrypted form by configuring the new "password hash gpg key ids"
option. This requires gpgme devel and python packages to be installed
(e.g. libgpgme11-dev and python-gpgme on Debian/Ubuntu).

Python crypto requirements
--------------------------

Some 'samba-tool' subcommands require python-crypto and/or
python-m2crypto packages to be installed.

SmartCard/PKINIT improvements
-----------------------------

'samba-tool user create' accepts "--smartcard-required"
and 'samba-tool user setpassword' accepts "--smartcard-required"
and "--clear-smartcard-required".

Specifying "--smartcard-required" results in the UF_SMARTCARD_REQUIRED
flags being set in the userAccountControl attribute.
At the same time, the account password is reset to a random
NTHASH value.

Interactive password logons are rejected, if the UF_SMARTCARD_REQUIRED
bit is set in the userAccountControl attribute of a user.

When doing a PKINIT based Kerberos logon the KDC adds the
required PAC_CREDENTIAL_INFO element to the authorization data.
That means the NTHASH is shared between the PKINIT based client and
the domain controller, which allows the client to do NTLM based
authentication on behalf of the user. It also allows an offline
logon using a smartcard to work on Windows clients.

CTDB changes
------------

* New improved 'ctdb tool'

  'ctdb tool' has been completely rewritten using new client API.
  Usage messages are much improved.

* Sample CTDB configuration file is installed as ctdbd.conf.

* The use of real-time scheduling when taking locks has been narrowed
  to limit potential performance impacts on nodes.

* CTDB_RECOVERY_LOCK now supports specification of an external helper
  to take and hold the recovery lock.

  See the RECOVERY LOCK section in ctdb(7) for details.  Documentation
  for writing helpers is provided in doc/cluster_mutex_helper.txt.

* "ctdb natgwlist" has been replaced by a top level "ctdb natgw"
  command that has "master", "list" and "status" subcommands.

* The 'onnode' command no longer supports the "recmaster", "lvs" and
  "natgw" node specifications.

* Faster resetting of TCP connections to public IP addresses during
  failover.

* Tunables MaxRedirectCount, ReclockPingPeriod,
  DeferredRebalanceOnNodeAdd are now obsolete/ignored.

* "ctdb listvars" now lists all variables, including the first one.

* "ctdb xpnn", "ctdb rebalanceip" and "ctdb rebalancenode" have been
  removed.

  These are not needed because "ctdb reloadips" should do the correct
  rebalancing.

* Output for the following commands has been simplified:

    ctdb getdbseqnum
    ctdb getdebug
    ctdb getmonmode
    ctdb getpid
    ctdb getreclock
    ctdb getpid
    ctdb pnn

  These now simply print the requested output with no preamble.  This
  means that scripts no longer need to strip part of the output.

  "ctdb getreclock" now prints nothing when the recovery lock is not
  set.

* Output for the following commands has been improved:

  ctdb setdebug
  ctdb uptime

* 'ctdb process-exists' has been updated to only take a PID argument.

  The PNN can be specified with -n <PNN>.  Output also cleaned up.

* LVS support has been reworked - related commands and configuration
  variables have changed.

  'ctdb lvsmaster' and 'ctdb lvs' have been replaced by a top level
  'ctdb lvs' command that has 'master', 'list' and 'status'
  subcommands.

  See the LVS sections in ctdb(7) and ctdbd.conf(5) for details,
  including configuration changes.

* Improved sample NFS Ganesha call-out.

New shadow_copy2 options
------------------------

* shadow:snapprefix

  With growing number of snapshots file-systems need some mechanism to
  differentiate one set of snapshots from other, e.g. monthly, weekly, manual,
  special events, etc. Therefore, these file-systems provide different ways to tag
  snapshots, e.g. provide a configurable way to name snapshots, which is not just
  based on time.  With only shadow:format it is very difficult to filter these
  snapshots. With this optional parameter, one can specify a variable prefix
  component for names of the snapshot directories in the file-system. If this
  parameter is set, together with the shadow:format and shadow:delimiter
  parameters it determines the possible names of snapshot directories in the
  file-system. The option only supports Basic Regular Expression (BRE).

* shadow:delimiter

  This optional parameter is used as a delimiter between "shadow:snapprefix" and
  "shadow:format". This parameter is used only when "shadow:snapprefix" is set.

  Default: shadow:delimiter = "_GMT"


REMOVED FEATURES
================

"only user" and "username" parameters
-------------------------------------

These two parameters have long been deprecated and superseded by
"valid users" and "invalid users".


smb.conf changes
================

  Parameter Name                Description             Default
  --------------                -----------             -------
  kccsrv:samba_kcc              Changed default         yes
  ntlm auth                     Changed default         no
  only user                     Removed
  password hash gpg key ids     New
  shadow:snapprefix             New
  shadow:delimiter              New                     _GMT
  smb2 leases                   Changed default         yes
  username                      Removed


KNOWN ISSUES
============

https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.5#All_bugs


CHANGES SINCE 4.5.0rc1
======================

o   Ralph Boehme <slow@samba.org>
    * BUG 12005: parse_share_modes() chokes on ctdb tombstone record from ltdb.
    * BUG 12105: smbclient connection to not reachable IP eats 100% CPU.

o   Ira Cooper <ira@samba.org>
    * BUG 12133: source3/wscript: Add support for disabling vfs_cephfs.

o   Amitay Isaacs <amitay@gmail.com>
    * BUG 12121: ctdb-tools: Fix numerous Coverity IDs and other issues.
    * BUG 12122: If a transaction fails, it should be canceled and transaction
      handle should be freed.
    * BUG 12134: dbwrap: Fix structure initialization.

o   Marc Muehlfeld <mmuehlfeld@samba.org>
    * BUG 12023: man: Fix wrong option for parameter "ldap ssl" in smb.conf
      man page.

o   Andreas Schneider <asn@samba.org>
    * BUG 12104: ctdb-waf: Move ctdb tests to libexec directory.

o   Martin Schwenke <martin@meltin.net>
    * BUG 12104: ctdb-packaging: Move ctdb tests to libexec directory.
    * BUG 12109: Fixes several CTDB tests.
    * BUG 12110: Fix numerous Coverity IDs.
    * BUG 12113: ctdb-mutex: Avoid corner case where helper is already
      reparented to init.
    * BUG 12123: Fix ctdb tickle command and update documentation.
    * BUG 12125: CTDB overwrites working configuration due to packaging
      change.
    * BUG 12126: Fix broken CTDB log messages.


#######################################
Reporting bugs & Development Discussion
#######################################

Please discuss this release on the samba-technical mailing list or by
joining the #samba-technical IRC channel on irc.freenode.net.

If you do report problems then please try to send high quality
feedback. If you don't provide vital information to help us track down
the problem then you will probably be ignored.  All bug reports should
be filed under the Samba 4.1 and newer product in the project's Bugzilla
database (https://bugzilla.samba.org/).


======================================================================
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
======================================================================