WHATSNEW: Update release notes for Samba 4.3.0rc3
[Samba.git] / WHATSNEW.txt
blob68ff6efde131a58223007a924ec11dd8fc9d0cb8
1 Release Announcements
2 =====================
4 This is the third release candidate of Samba 4.3.  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.3 will be the next version of the Samba suite.
12 UPGRADING
13 =========
15 Nothing special.
18 NEW FEATURES
19 ============
21 Logging
22 -------
24 The logging code now supports logging to multiple backends.  In
25 addition to the previously available syslog and file backends, the
26 backends for logging to the systemd-journal, lttng and gpfs have been
27 added. Please consult the section for the 'logging' parameter in the
28 smb.conf manpage for details.
30 Spotlight
31 ---------
33 Support for Apple's Spotlight has been added by integrating with Gnome
34 Tracker.
36 For detailed instructions how to build and setup Samba for Spotlight,
37 please see the Samba wiki: <https://wiki.samba.org/index.php/Spotlight>
39 New FileChangeNotify subsystem
40 ------------------------------
42 Samba now contains a new subsystem to do FileChangeNotify. The
43 previous system used a central database, notify_index.tdb, to store
44 all notification requests. In particular in a cluster this turned out
45 to be a major bottleneck, because some hot records need to be bounced
46 back and forth between nodes on every change event like a new created
47 file.
49 The new FileChangeNotify subsystem works with a central daemon per
50 node. Every FileChangeNotify request and every event are handled by an
51 asynchronous message from smbd to the notify daemon. The notify daemon
52 maintains a database of all FileChangeNotify requests in memory and
53 will distribute the notify events accordingly. This database is
54 asynchronously distributed in the cluster by the notify daemons.
56 The notify daemon is supposed to scale a lot better than the previous
57 implementation. The functional advantage is cross-node kernel change
58 notify: Files created via NFS will be seen by SMB clients on other
59 nodes per FileChangeNotify, despite the fact that popular cluster file
60 systems do not offer cross-node inotify.
62 Two changes to the configuration were required for this new subsystem:
63 The parameters "change notify" and "kernel change notify" are not
64 per-share anymore but must be set globally. So it is no longer
65 possible to enable or disable notify per share, the notify daemon has
66 no notion of a share, it only works on absolute paths.
68 New SMB profiling code
69 ----------------------
71 The code for SMB (SMB1, SMB2 and SMB3) profiling uses a tdb instead
72 of sysv IPC shared memory. This avoids performance problems and NUMA
73 effects. The profile stats are a bit more detailed than before.
75 Improved DCERPC man in the middle detection for kerberos
76 --------------------------------------------------------
78 The gssapi based kerberos backends for gensec have support for
79 DCERPC header signing when using DCERPC_AUTH_LEVEL_PRIVACY.
81 SMB signing required in winbindd by default
82 -------------------------------------------
84 The effective value for "client signing" is required
85 by default for winbindd, if the primary domain uses active directory.
87 Experimental NTDB was removed
88 -----------------------------
90 The experimental NTDB library introduced in Samba 4.0 has been
91 removed again.
93 Improved support for trusted domains (as AD DC)
94 -----------------------------------------------
96 The support for trusted domains/forests has improved a lot.
98 samba-tool got "domain trust" subcommands to manage trusts:
100   create      - Create a domain or forest trust.
101   delete      - Delete a domain trust.
102   list        - List domain trusts.
103   namespaces  - Manage forest trust namespaces.
104   show        - Show trusted domain details.
105   validate    - Validate a domain trust.
107 External trusts between individual domains work in both ways
108 (inbound and outbound). The same applies to root domains of
109 a forest trust. The transitive routing into the other forest
110 is fully functional for kerberos, but not yet supported for NTLMSSP.
112 While a lot of things are working fine, there are currently a few limitations:
114   - Both sides of the trust need to fully trust each other!
115   - No SID filtering rules are applied at all!
116   - This means DCs of domain A can grant domain admin rights
117     in domain B.
118   - It's not possible to add users/groups of a trusted domain
119     into domain groups.
121 SMB 3.1.1 supported
122 -------------------
124 Both client and server have support for SMB 3.1.1 now.
126 This is the dialect introduced with Windows 10, it improves the secure
127 negotiation of SMB dialects and features.
129 There's also a new optinal encryption algorithm aes-gcm-128,
130 but for now this is only selected as fallback and aes-ccm-128
131 is preferred because of the better performance. This might change
132 in future versions when hardware encryption will be supported.
133 See https://bugzilla.samba.org/show_bug.cgi?id=11451.
135 New smbclient subcommands
136 -------------------------
138   - Query a directory for change notifications: notify <dir name>
139   - Server side copy: scopy <source filename> <destination filename>
141 New rpcclient subcommands
142 -------------------------
144   netshareenumall       - Enumerate all shares
145   netsharegetinfo       - Get Share Info
146   netsharesetinfo       - Set Share Info
147   netsharesetdfsflags   - Set DFS flags
148   netfileenum           - Enumerate open files
149   netnamevalidate       - Validate sharename
150   netfilegetsec         - Get File security
151   netsessdel            - Delete Session
152   netsessenum           - Enumerate Sessions
153   netdiskenum           - Enumerate Disks
154   netconnenum           - Enumerate Connections
155   netshareadd           - Add share
156   netsharedel           - Delete share
158 New modules
159 -----------
161   idmap_script          - see 'man 8 idmap_script'
162   vfs_unityed_media     - see 'man 8 vfs_unityed_media'
163   vfs_shell_snap        - see 'man 8 vfs_shell_snap'
165 New sparsely connected replia graph (Improved KCC)
166 --------------------------------------------------
168 The Knowledge Consistency Checker (KCC) maintains a replication graph
169 for DCs across an AD network. The existing Samba KCC uses a fully
170 connected graph, so that each DC replicates from all the others, which
171 does not scale well with large networks. In 4.3 there is an
172 experimental new KCC that creates a sparsely connected replication
173 graph and closely follows Microsoft's specification. It is turned off
174 by default. To use the new KCC, set "kccsrv:samba_kcc=true" in
175 smb.conf and let us know how it goes. You should consider doing this
176 if you are making a large new network. For small networks there is
177 little benefit and you can always switch over at a later date.
179 Configurable TLS protocol support, with better defaults
180 -------------------------------------------------------
182 The "tls priority" option can be used to change the supported TLS
183 protocols. The default is to disable SSLv3, which is no longer
184 considered secure.
186 Samba-tool now supports all 7 FSMO roles
187 -------------------------------------------------------
189 Previously "samba-tool fsmo" could only show, transfer or seize the
190 five well-known FSMO roles:
192         Schema Master
193         Domain Naming Master
194         RID Master
195         PDC Emulator
196         Infrastructure Master
198 It can now also show, transfer or seize the DNS infrastructure roles:
200         DomainDnsZones Infrastructure Master
201         ForestDnsZones Infrastructure Master
203 CTDB logging changes
204 --------------------
206 The destination for CTDB logging is now set via a single new
207 configuration variable CTDB_LOGGING.  This replaces CTDB_LOGFILE and
208 CTDB_SYSLOG, which have both been removed.  See ctdbd.conf(5) for
209 details of CTDB_LOGGING.
211 CTDB no longer runs a separate logging daemon.
213 CTDB NFS support changes
214 ------------------------
216 CTDB's NFS service management has been combined into a single 60.nfs
217 event script.  This updated 60.nfs script now uses a call-out to
218 interact with different NFS implementations.  See the CTDB_NFS_CALLOUT
219 option in the ctdbd.conf(5) manual page for details.  A default
220 call-out is provided to interact with the Linux kernel NFS
221 implementation.  The 60.ganesha event script has been removed - a
222 sample call-out is provided for NFS Ganesha, based on this script.
224 The method of configuring NFS RPC checks has been improved.  See
225 ctdb/config/nfs-checks.d/README for details.
227 Improved Cross-Compiling Support
228 --------------------------------
230 A new "hybrid" build configuration mode is added to improve
231 cross-compilation support.
233 A common challenge in cross-compilation is that of obtaining the results
234 of tests that have to run on the target, during the configuration
235 phase of the build. The Samba build system already supports the following
236 means to do so:
238   - Executing configure tests using the --cross-execute parameter
239   - Obtaining the results from an answers file using the --cross-answers
240     parameter
242 The first method has the drawback of inaccurate results if the tests are
243 run using an emulator, or a need to be connected to a running target
244 while building, if the tests are to be run on an actual target. The
245 second method presents a challenge of figuring out the test results.
247 The new hybrid mode runs the tests and records the result in an answer file.
248 To activate this mode, use both --cross-execute and --cross-answers in the
249 same configure invocation. This mode can be activated once against a
250 running target, and then the generated answers file can be used in
251 subsequent builds.
253 Also supplied is an example script that can be used as the
254 cross-execute program. This script copies the test to a running target
255 and runs the test on the target, obtaining the result. The obtained
256 results are more accurate than running the test with an emulator, because
257 they reflect the exact kernel and system libraries that exist on the
258 target.
261 ######################################################################
262 Changes
263 #######
265 smb.conf changes
266 ----------------
268   Parameter Name                Description             Default
269   --------------                -----------             -------
270   logging                       New                     (empty)
271   msdfs shuffle referrals       New                     no
272   smbd profiling level          New                     off
273   spotlight                     New                     no
274   tls priority                  New                     NORMAL:-VERS-SSL3.0
275   use ntdb                      Removed
276   change notify                 Changed to [global]
277   kernel change notify          Changed to [global]
278   client max protocol           Changed default         SMB3_11
279   server max protocol           Changed default         SMB3_11
281 Removed modules
282 ---------------
284 vfs_notify_fam - see section 'New FileChangeNotify subsystem'.
287 KNOWN ISSUES
288 ============
290 Currently none.
293 CHANGES SINCE 4.3.0rc2
294 ======================
296 o   Andrew Bartlett <abartlet@samba.org>
297     * Bug 11436: samba-tool uncaught exception error
298     * Bug 10493: revert LDAP extended rule 1.2.840.113556.1.4.1941
299                  LDAP_MATCHING_RULE_IN_CHAIN changes
301 o   Ralph Boehme <slow@samba.org>
302     * Bug 11278: Stream names with colon don't work with
303                  fruit:encoding = native
304     * Bug 11426: net share allowedusers crashes
306 o   Amitay Isaacs <amitay@gmail.com>
307     * Bug 11432: Fix crash in nested ctdb banning
308     * Bug 11434: Cannot build ctdbpmda
309     * Bug 11431: CTDB's eventscript error handling is broken
311 o   Stefan Metzmacher <metze@samba.org>
312     * Bug 11451: Poor SMB3 encryption performance with AES-GCM (part1)
313     * Bug 11316: tevent_fd needs to be destroyed before closing the fd
315 o   Arvid Requate <requate@univention.de>
316     * Bug 11291: NetApp joined to a Samba/ADDC cannot resolve SIDs
318 o   Martin Schwenke <martin@meltin.net>
319     * Bug 11432: Fix crash in nested ctdb banning
322 CHANGES SINCE 4.3.0rc1
323 ======================
325 o   Jeremy Allison <jra@samba.org>
326     * BUG 11359: strsep is not available on Solaris
328 o   Björn Baumbach <bb@sernet.de>
329     * BUG 11421: Build with GPFS support is broken
331 o   Justin Maggard <jmaggard@netgear.com>
332     * BUG 11320: "force group" with local group not working
334 o   Martin Schwenke <martin@meltin.net
335     * BUG 11424: Build broken with --disable-python
338 #######################################
339 Reporting bugs & Development Discussion
340 #######################################
342 Please discuss this release on the samba-technical mailing list or by
343 joining the #samba-technical IRC channel on irc.freenode.net.
345 If you do report problems then please try to send high quality
346 feedback. If you don't provide vital information to help us track down
347 the problem then you will probably be ignored.  All bug reports should
348 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
349 database (https://bugzilla.samba.org/).
352 ======================================================================
353 == Our Code, Our Bugs, Our Responsibility.
354 == The Samba Team
355 ======================================================================