Install dcerpc/__init__.py for all Python environments
[Samba.git] / WHATSNEW.txt
blob46a786c0f7cf03e0d0b0aee6b68e61c6f8352acc
1 Release Announcements
2 =====================
4 This is the fifth release candidate of Samba 4.7.  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.7 will be the next version of the Samba suite.
12 UPGRADING
13 =========
15 'smbclient' changes
16 ------------------
18 'smbclient' no longer prints a 'Domain=[...] OS=[Windows 6.1] Server=[...]'
19 banner when connecting to the first server. With SMB2 and Kerberos,
20 there's no way to print this information reliably. Now we avoid it at all
21 consistently. In interactive sessions the following banner is now presented
22 to the user: 'Try "help" do get a list of possible commands.'.
24 The default for "client max protocol" has changed to "SMB3_11",
25 which means that 'smbclient' (and related commands) will work against
26 servers without SMB1 support.
28 It's possible to use the '-m/--max-protocol' option to overwrite
29 the "client max protocol" option temporarily.
31 Note that the '-e/--encrypt' option also works with most SMB3 servers
32 (e.g. Windows >= 2012 and Samba >= 4.0.0), so the SMB1 unix extensions
33 are not required for encryption.
35 The change to SMB3_11 as default also means 'smbclient' no longer
36 negotiates SMB1 unix extensions by default, when talking to a Samba server with
37 "unix extensions = yes".  As a result, some commands are not available, e.g.
38 'posix_encrypt', 'posix_open', 'posix_mkdir', 'posix_rmdir', 'posix_unlink',
39 'posix_whoami', 'getfacl' and 'symlink'. Using "-mNT1" reenables them, if the
40 server supports SMB1.
42 Note the default ("CORE") for "client min protocol" hasn't changed,
43 so it's still possible to connect to SMB1-only servers by default.
45 'smbclient' learned a new command 'deltree' that is able to do
46 a recursive deletion of a directory tree.
49 NEW FEATURES/CHANGES
50 ====================
52 Whole DB read locks: Improved LDAP and replication consistency
53 --------------------------------------------------------------
55 Prior to Samba 4.7 and ldb 1.2.0, the LDB database layer used by Samba
56 erroneously did not take whole-DB read locks to protect search
57 and DRS replication operations.
59 While each object returned remained subject to a record-level lock (so
60 would remain consistent to itself), under a race condition with a
61 rename or delete, it and any links (like the member attribute) to it
62 would not be returned.
64 The symptoms of this issue include:
66 Replication failures with this error showing in the client side logs:
67  error during DRS repl ADD: No objectClass found in replPropertyMetaData for
68  Failed to commit objects:
69  WERR_GEN_FAILURE/NT_STATUS_INVALID_NETWORK_RESPONSE
71 A crash of the server, in particular the rpc_server process with
72  INTERNAL ERROR: Signal 11
74 LDAP read inconsistency
75  A DN subject to a search at the same time as it is being renamed
76  may not appear under either the old or new name, but will re-appear
77  for a subsequent search.
79 See https://bugzilla.samba.org/show_bug.cgi?id=12858 for more details
80 and updated advise on database recovery for affected installations.
82 Samba AD with MIT Kerberos
83 --------------------------
85 After four years of development, Samba finally supports compiling and
86 running Samba AD with MIT Kerberos. You can enable it with:
88     ./configure --with-system-mitkrb5
90 Samba requires version 1.15.1 of MIT Kerberos to build with AD DC support.
91 The krb5-devel and krb5-server packages are required.
92 The feature set is not on par with the Heimdal build but the most important
93 things, like forest and external trusts, are working. Samba uses the KDC binary
94 provided by MIT Kerberos.
96 Missing features, compared to Heimdal, are:
97   * PKINIT support
98   * S4U2SELF/S4U2PROXY support
99   * RODC support (not fully working with Heimdal either)
101 The Samba AD process will take care of starting the MIT KDC and it will load a
102 KDB (Kerberos Database) driver to access the Samba AD database.  When
103 provisioning an AD DC using 'samba-tool' it will take care of creating a correct
104 kdc.conf file for the MIT KDC.
106 For further details, see:
107 https://wiki.samba.org/index.php/Running_a_Samba_AD_DC_with_MIT_Kerberos_KDC
109 Dynamic RPC port range
110 ----------------------
112 The dynamic port range for RPC services has been changed from the old default
113 value "1024-1300" to "49152-65535". This port range is not only used by a
114 Samba AD DC, but also applies to all other server roles including NT4-style
115 domain controllers. The new value has been defined by Microsoft in Windows
116 Server 2008 and newer versions. To make it easier for Administrators to control
117 those port ranges we use the same default and make it configurable with the
118 option: "rpc server dynamic port range".
120 The "rpc server port" option sets the first available port from the new
121 "rpc server dynamic port range" option. The option "rpc server port" only
122 applies to Samba provisioned as an AD DC.
124 Authentication and Authorization audit support
125 ----------------------------------------------
127 Detailed authentication and authorization audit information is now
128 logged to Samba's debug logs under the "auth_audit" debug class,
129 including in particular the client IP address triggering the audit
130 line.  Additionally, if Samba is compiled against the jansson JSON
131 library, a JSON representation is logged under the "auth_json_audit"
132 debug class.
134 Audit support is comprehensive for all authentication and
135 authorisation of user accounts in the Samba Active Directory Domain
136 Controller, as well as the implicit authentication in password
137 changes.  In the file server and classic/NT4 domain controller, NTLM
138 authentication, SMB and RPC authorization is covered, however password
139 changes are not at this stage, and this support is not currently
140 backed by a testsuite.
142 For further details, see:
143 https://wiki.samba.org/index.php/Setting_up_Audit_Logging
145 Multi-process LDAP Server
146 -------------------------
148 The LDAP server in the AD DC now honours the process model used for
149 the rest of the 'samba' process, rather than being forced into a single
150 process.  This aids in Samba's ability to scale to larger numbers of AD
151 clients and the AD DC's overall resiliency, but will mean that there is a
152 fork()ed child for every LDAP client, which may be more resource
153 intensive in some situations.  If you run Samba in a
154 resource-constrained VM, consider allocating more RAM and swap space.
156 Improved Read-Only Domain Controller (RODC) Support
157 ---------------------------------------------------
159 Support for RODCs in Samba AD until now has been experimental. With this latest
160 version, many of the critical bugs have been fixed and the RODC can be used in
161 DC environments requiring no writable behaviour. RODCs now correctly support
162 bad password lockouts and password disclosure auditing through the
163 msDS-RevealedUsers attribute.
165 The fixes made to the RWDC will also allow Windows RODC to function more
166 correctly and to avoid strange data omissions such as failures to replicate
167 groups or updated passwords. Password changes are currently rejected at the
168 RODC, although referrals should be given over LDAP. While any bad passwords can
169 trigger domain-wide lockout, good passwords which have not been replicated yet
170 for a password change can only be used via NTLM on the RODC (and not Kerberos).
172 The reliability of RODCs locating a writable partner still requires some
173 improvements and so the 'password server' configuration option is generally
174 recommended on the RODC.
176 Samba 4.7 is the first Samba release to be secure as an RODC or when
177 hosting an RODC.  If you have been using earlier Samba versions to
178 host or be an RODC, please upgrade.
180 In particular see https://bugzilla.samba.org/show_bug.cgi?id=12977 for
181 details on the security implications for password disclosure to an
182 RODC using earlier versions.
184 Additional password hashes stored in supplementalCredentials
185 ------------------------------------------------------------
187 A new config option 'password hash userPassword schemes' has been added to
188 enable generation of SHA-256 and SHA-512 hashes (without storing the plaintext
189 password with reversible encryption). This builds upon previous work to improve
190 password sync for the AD DC (originally using GPG).
192 The user command of 'samba-tool' has been updated in order to be able to
193 extract these additional hashes, as well as extracting the (HTTP) WDigest
194 hashes that we had also been storing in supplementalCredentials.
196 Improvements to DNS during Active Directory domain join
197 -------------------------------------------------------
199 The 'samba-tool' domain join command will now add the A and GUID DNS records
200 (on both the local and remote servers) during a join if possible via RPC. This
201 should allow replication to proceed more smoothly post-join.
203 The mname element of the SOA record will now also be dynamically generated to
204 point to the local read-write server. 'samba_dnsupdate' should now be more
205 reliable as it will now find the appropriate name server even when resolv.conf
206 points to a forwarder.
208 Significant AD performance and replication improvements
209 -------------------------------------------------------
211 Previously, replication of group memberships was been an incredibly expensive
212 process for the AD DC. This was mostly due to unnecessary CPU time being spent
213 parsing member linked attributes. The database now stores these linked
214 attributes in sorted form to perform efficient searches for existing members.
215 In domains with a large number of group memberships, a join can now be
216 completed in half the time compared with Samba 4.6.
218 LDAP search performance has also improved, particularly in the unindexed search
219 case. Parsing and processing of security descriptors should now be more
220 efficient, improving replication but also overall performance.
222 Query record for open file or directory
223 ---------------------------------------
225 The record attached to an open file or directory in Samba can be
226 queried through the 'net tdb locking' command. In clustered Samba this
227 can be useful to determine the file or directory triggering
228 corresponding "hot" record warnings in ctdb.
230 Removal of lpcfg_register_defaults_hook()
231 -----------------------------------------
233 The undocumented and unsupported function lpcfg_register_defaults_hook()
234 that was used by external projects to call into Samba and modify
235 smb.conf default parameter settings has been removed. If your project
236 was using this call please raise the issue on
237 samba-technical@lists.samba.org in order to design a supported
238 way of obtaining the same functionality.
240 Change of loadable module interface
241 -----------------------------------
243 The _init function of all loadable modules in Samba has changed
244 from:
246 NTSTATUS _init(void);
250 NTSTATUS _init(TALLOC_CTX *);
252 This allows a program loading a module to pass in a long-lived
253 talloc context (which must be guaranteed to be alive for the
254 lifetime of the module). This allows modules to avoid use of
255 the talloc_autofree_context() (which is inherently thread-unsafe)
256 and still be valgrind-clean on exit. Modules that don't need to
257 free long-lived data on exit should use the NULL talloc context.
259 SHA256 LDAPS Certificates
260 -------------------------
262 The self-signed certificate generated for use on LDAPS will now be
263 generated with a SHA256 self-signature, not a SHA1 self-signature.
265 Replacing this certificate with a certificate signed by a trusted
266 CA is still highly recommended.
268 CTDB changes
269 ------------
271 * CTDB no longer allows mixed minor versions in a cluster
273   See the AllowMixedVersions tunable option in ctdb-tunables(7) and also
274   https://wiki.samba.org/index.php/Upgrading_a_CTDB_cluster#Policy
276 * CTDB now ignores hints from Samba about TDB flags when attaching to databases
278   CTDB will use the correct flags depending on the type of database.
279   For clustered databases, the smb.conf setting
280   dbwrap_tdb_mutexes:*=true will be ignored. Instead, CTDB continues
281   to use the TDBMutexEnabled tunable.
283 * New configuration variable CTDB_NFS_CHECKS_DIR
285   See ctdbd.conf(5) for more details.
287 * The CTDB_SERVICE_AUTOSTARTSTOP configuration variable has been
288   removed
290   To continue to manage/unmanage services while CTDB is running:
292   - Start service by hand and then flag it as managed
294   - Mark service as unmanaged and shut it down by hand
296   - In some cases CTDB does something fancy - e.g. start Samba under
297     "nice", so care is needed. One technique is to disable the
298     eventscript, mark as managed, run the startup event by hand and then
299     re-enable the eventscript.
301 * The CTDB_SCRIPT_DEBUGLEVEL configuration variable has been removed
303 * The example NFS Ganesha call-out has been improved
305 * A new "replicated" database type is available
307   Replicated databases are intended for CTDB's internal use to
308   replicate state data across the cluster, but may find other
309   uses. The data in replicated databases is valid for the lifetime of
310   CTDB and cleared on first attach.
312 Using x86_64 Accelerated AES Crypto Instructions
313 ------------------------------------------------
315 Samba on x86_64 can now be configured to use the Intel accelerated AES
316 instruction set, which has the potential to make SMB3 signing and
317 encryption much faster on client and server. To enable this, configure
318 Samba using the new option --accel-aes=intelaesni.
320 This is a temporary solution that is being included to allow users
321 to enjoy the benefits of Intel accelerated AES on the x86_64 platform,
322 but the longer-term solution will be to move Samba to a fully supported
323 external crypto library.
325 The third_party/aesni-intel code will be removed from Samba as soon as
326 external crypto library performance reaches parity.
328 The default is to build without setting --accel-aes, which uses the
329 existing Samba software AES implementation.
331 Parameter changes
332 -----------------
334 The "strict sync" global parameter has been changed from
335 a default of "no" to "yes". This means smbd will by default
336 obey client requests to synchronize unwritten data in operating
337 system buffers safely onto disk. This is a safer default setting
338 for modern SMB1/2/3 clients.
340 The 'ntlm auth' option default is renamed to 'ntlmv2-only', reflecting
341 the previous behaviour.  Two new values have been provided,
342 'mschapv2-and-ntlmv2-only' (allowing MSCHAPv2 while denying NTLMv1)
343 and 'disabled', totally disabling NTLM authentication and password
344 changes.
346 smb.conf changes
347 ================
349   Parameter Name                     Description             Default
350   --------------                     -----------             -------
351   allow unsafe cluster upgrade       New parameter           no
352   auth event notification            New parameter           no
353   auth methods                       Deprecated
354   client max protocol                Effective               SMB3_11
355                                      default changed
356   map untrusted to domain            New value/              auto
357                                      Default changed/
358                                      Deprecated
359   mit kdc command                    New parameter
360   profile acls                       Deprecated
361   rpc server dynamic port range      New parameter           49152-65535
362   strict sync                        Default changed         yes
363   password hash userPassword schemes New parameter
364   ntlm auth                          New values              ntlmv2-only
367 KNOWN ISSUES
368 ============
370 https://wiki.samba.org/index.php/Release_Planning_for_Samba_4.7#Release_blocking_bugs
373 CHANGES SINCE 4.7.0rc5
374 ======================
376 o  Jeremy Allison <jra@samba.org>
377    * BUG 13008: lib: crypto: Make smbd use the Intel AES instruction set for signing
378      and encryption.
380 o  Andrew Bartlett <abartlet@samba.org>
381    * BUG 12946: s4-drsuapi: Avoid segfault when replicating as a non-admin with
382      GUID_DRS_GET_CHANGES.
383    * BUG 13015: Allow re-index of newer databases with binary GUID TDB keys
384      (this officially removes support for re-index of the original pack format 0,
385      rather than simply segfaulting).
386    * BUG 13017: Add ldb_ldif_message_redacted_string() to allow debug of redacted
387      log messages, avoiding showing secret values.
388    * BUG 13023: ldb: version 1.2.2.
390 o  Ralph Boehme <slow@samba.org>
391    * BUG 13024: s3/smbd: Sticky write time offset miscalculation causes broken
392      timestamps
394 o  Volker Lendecke <vl@samba.org>
395    * BUG 13006: messaging: Avoid a socket leak after fork.
397 o  Amitay Isaacs <amitay@gmail.com>
398    * BUG 13012: ctdb-daemon: Fix implementation of process_exists control.
399    * BUG 13021: GET_DB_SEQNUM control can cause ctdb to deadlock when databases
400      are frozen.
403 CHANGES SINCE 4.7.0rc4
404 ======================
406 o  Andrew Bartlett <abartlet@samba.org>
407    * BUG 12929: smb.conf: Explain that "ntlm auth" is a per-passdb setting.
408    * BUG 12953: s4/lib/tls: Use SHA256 to sign the TLS certificates.
410 o  Jeremy Allison <jra@samba.org>
411    * BUG 12932: Get rid of talloc_autofree_context().
413 o  Amitay Isaacs <amitay@gmail.com>
414    * BUG 12978: After restarting CTDB, it attaches replicated databases with
415      wrong flags.
417 o  Stefan Metzmacher <metze@samba.org>
418    * BUG 12863: s3:smbclient: Don't try any workgroup listing with
419      "client min protocol = SMB2".
420    * BUG 12876: s3:libsmb: Don't call cli_NetServerEnum() on SMB2/3 connections
421      in SMBC_opendir_ctx().
422    * BUG 12881: s3:libsmb: Let do_connect() debug the negotiation result
423      similar to "session request ok".
424    * BUG 12919: s4:http/gensec: add missing tevent_req_done() to
425      gensec_http_ntlm_update_done().
426    * BUG 12968: Fix 'smbclient tarmode' with SMB2/3.
427    * BUG 12973: 'smbd': Don't use a lot of CPU on startup of a connection.
429 o  Christof Schmitt <cs@samba.org>
430    * BUG 12983: vfs_default: Fix passing of errno from async calls.
432 o  Andreas Schneider <asn@samba.org>
433    * BUG 12629: s3:utils: Do not report an invalid range for AD DC role.
434    * BUG 12704: s3:libsmb: Let get_ipc_connect() use
435      CLI_FULL_CONNECTION_FORCE_SMB1.
436    * BUG 12930: Fix build issues with GCC 7.1.
437    * BUG 12950: s3:script: Untaint user supplied data in modprinter.pl.
438    * BUG 12956: s3:libads: Fix changing passwords with Kerberos.
439    * BUG 12975: Fix changing the password with 'smbpasswd' as a local user on
440      a domain member.
443 CHANGES SINCE 4.7.0rc3
444 ======================
446 o  Jeremy Allison <jra@samba.org>
447    * BUG 12913: Implement cli_smb2_setatr() by calling cli_smb2_setpathinfo().
449 o  Andrew Bartlett <abartlet@samba.org>
450    * BUG 11392: s4-cldap/netlogon: Match Windows 2012R2 and return
451      NETLOGON_NT_VERSION_5 when version unspecified.
452    * BUG 12855: dsdb: Do not force a re-index of sam.ldb on upgrade to 4.7.
453    * BUG 12904: dsdb: Fix dsdb_next_callback to correctly use ldb_module_done()
454      etc.
455    * BUG 12939: s4-rpc_server: Improve debug of new endpoints.
457 o  Ralph Boehme <slow@samba.org>
458    * BUG 12791: Fix kernel oplocks issues with named streams.
459    * BUG 12944: vfs_gpfs: Handle EACCES when fetching DOS attributes from xattr.
461 o  Bob Campbell <bobcampbell@catalyst.net.nz>
462    * BUG 12842: samdb/cracknames: Support user and service principal as desired
463      format.
465 o  David Disseldorp <ddiss@samba.org>
466    * BUG 12911: vfs_ceph: Fix cephwrap_chdir().
468 o  Gary Lockyer <gary@catalyst.net.nz>
469    * BUG 12865: Track machine account ServerAuthenticate3.
471 o  Marc Muehlfeld <mmuehlfeld@samba.org>
472    * BUG 12947: python: Fix incorrect kdc.conf parameter name in kerberos.py.
474 o  Noel Power <noel.power@suse.com>
475    * BUG 12937: s3/utils: 'smbcacls' failed to detect DIRECTORIES using SMB2
476      (Windows only).
478 o  Arvid Requate <requate@univention.de>
479    * BUG 11392: s4-dsdb/netlogon: Allow missing ntver in cldap ping.
481 o  Anoop C S <anoopcs@redhat.com>
482    * BUG 12936: source3/client: Fix typo in help message displayed by default.
484 o  Andreas Schneider <asn@samba.org>
485    * BUG 12930: Fix building with GCC 7.1.1.
488 CHANGES SINCE 4.7.0rc2
489 ======================
491 o  Jeremy Allison <jra@samba.org>
492    * BUG 12836: s3: smbd: Fix a read after free if a chained SMB1 call goes
493      async.
494    * BUG 12899: s3: libsmb: Reverse sense of 'clear all attributes', ignore
495      attribute change in SMB2 to match SMB1.
496    * BUG 12914: s3: smbclient: Add new command deltree.
498 o  Ralph Boehme <slow@samba.org>
499    * BUG 12885: s3/smbd: Let non_widelink_open() chdir() to directories
500      directly.
501    * BUG 12887: Remove SMB_VFS_STRICT_UNLOCK noop from the VFS.
502    * BUG 12891: Enable TDB mutexes in dbwrap and ctdb.
503    * BUG 12897: vfs_fruit: don't use MS NFS ACEs with Windows clients.
504    * BUG 12910: s3/notifyd: Ensure notifyd doesn't return from
505      smbd_notifyd_init.
507 o  Alexander Bokovoy <ab@samba.org>
508    * BUG 12905: Build py3 versions of other rpc modules.
510 o  Günther Deschner <gd@samba.org>
511    * BUG 12840: vfs_fruit: Add "fruit:model = <modelname>" parametric option.
513 o  Dustin L. Howett
514    * BUG 12720: idmap_ad: Retry query_user exactly once if we get
515      TLDAP_SERVER_DOWN.
517 o  Amitay Isaacs <amitay@gmail.com>
518    * BUG 12891: dbwrap_ctdb: Fix calculation of persistent flag.
520 o  Thomas Jarosch <thomas.jarosch@intra2net.com>
521    * BUG 12927: s3: libsmb: Fix use-after-free when accessing pointer *p.
523 o  Volker Lendecke <vl@samba.org>
524    * BUG 12925: smbd: Fix a connection run-down race condition.
526 o  Stefan Metzmacher <metze@samba.org>
527    * tevent: version 0.9.33: make tevent_req_print() more robust against crashes.
528    * ldb: version 1.2.1
529    * BUG 12882: Do not install _ldb_text.py if we have system libldb.
530    * BUG 12890: s3:smbd: consistently use talloc_tos() memory for
531      rpc_pipe_open_interface().
532    * BUG 12900: Fix index out of bound in ldb_msg_find_common_values.
534 o  Rowland Penny <rpenny@samba.org>
535    * BUG 12884: Easily edit a users object in AD, as if using 'ldbedit'.
537 o  Bernhard M. Wiedemann <bwiedemann@suse.de>
538    * BUG 12906: s3: drop build_env
540 o  Andreas Schneider <asn@samba.org>
541    * BUG 12882: waf: Do not install _ldb_text.py if we have system libldb.
543 o  Martin Schwenke <martin@meltin.net>
544    * BUG 12898: ctdb-common: Set close-on-exec when creating PID file.
547 CHANGES SINCE 4.7.0rc1
548 ======================
550 o  Jeffrey Altman <jaltman@secure-endpoints.com>
551    * BUG 12894: CVE-2017-11103: Orpheus' Lyre KDC-REP service name validation
554 #######################################
555 Reporting bugs & Development Discussion
556 #######################################
558 Please discuss this release on the samba-technical mailing list or by
559 joining the #samba-technical IRC channel on irc.freenode.net.
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/).
568 ======================================================================
569 == Our Code, Our Bugs, Our Responsibility.
570 == The Samba Team
571 ======================================================================