VERSION: Disable git snapshots for the 4.4.3 release.
[Samba.git] / WHATSNEW.txt
blobac373fd3037cb887ab6b90a1c006ab6e8760b4e8
1                    =============================
2                    Release Notes for Samba 4.4.3
3                            May 2, 2016
4                    =============================
7 This is the latest stable release of Samba 4.4.
9 This release fixes some regressions introduced by the last security fixes.
10 Please see bug https://bugzilla.samba.org/show_bug.cgi?id=11849 for a list of
11 bugs addressing these regressions and more information.
14 Changes since 4.4.2:
15 --------------------
17 o  Michael Adam <obnox@samba.org>
18    * BUG 11786: idmap_hash: Only allow the hash module for default idmap config.
20 o  Jeremy Allison <jra@samba.org>
21    * BUG 11822: s3: libsmb: Fix error where short name length was read as 2
22      bytes, should be 1.
24 o  Andrew Bartlett <abartlet@samba.org>
25    * BUG 11789: Fix returning of ldb.MessageElement.
27 o  Ralph Boehme <slow@samba.org>
28    * BUG 11855: cleanupd: Restart as needed.
30 o  Günther Deschner <gd@samba.org>
31    * BUG 11786: s3:winbindd:idmap: check loadparm in domain_has_idmap_config()
32      helper as well.
33    * BUG 11789: libsmb/pysmb: Add pytalloc-util dependency to fix the build.
35 o  Volker Lendecke <vl@samba.org>
36    * BUG 11786: winbind: Fix CID 1357100: Unchecked return value.
37    * BUG 11816: nwrap: Fix the build on Solaris.
38    * BUG 11827: vfs_catia: Fix memleak.
39    * BUG 11878: smbd: Avoid large reads beyond EOF.
41 o  Stefan Metzmacher <metze@samba.org>
42    * BUG 11789: s3:wscript: pylibsmb depends on pycredentials.
43    * BUG 11841: Fix NT_STATUS_ACCESS_DENIED when accessing Windows public share.
44    * BUG 11847: Only validate MIC if "map to guest" is not being used.
45    * BUG 11849: auth/ntlmssp: Add ntlmssp_{client,server}:force_old_spnego
46      option for testing.
47    * BUG 11850: NetAPP SMB servers don't negotiate NTLMSSP_SIGN.
48    * BUG 11858: Allow anonymous smb connections.
49    * BUG 11870: Fix ads_sasl_spnego_gensec_bind(KRB5).
50    * BUG 11872: Fix 'wbinfo -u' and 'net ads search'.
52 o  Tom Mortensen <tomm@lime-technology.com>
53    * BUG 11875: nss_wins: Fix the hostent setup.
55 o  Garming Sam <garming@catalyst.net.nz>
56    * BUG 11789: build: Mark explicit dependencies on pytalloc-util.
58 o  Partha Sarathi <partha@exablox.com>
59    * BUG 11819: Fix the smb2_setinfo to handle FS info types and FSQUOTA
60      infolevel.
62 o  Jorge Schrauwen <sjorge@blackdot.be>
63    * BUG 11816: configure: Don't check for inotify on illumos.
65 o  Uri Simchoni <uri@samba.org>
66    * BUG 11806: vfs_acl_common: Avoid setting POSIX ACLs if "ignore system acls"
67      is set.
68    * BUG 11815: smbcquotas: print "NO LIMIT" only if returned quota value is 0.
69    * BUG 11852: libads: Record session expiry for spnego sasl binds.
71 o  Hemanth Thummala <hemanth.thummala@nutanix.com>
72    * BUG 11840: Mask general purpose signals for notifyd.
75 #######################################
76 Reporting bugs & Development Discussion
77 #######################################
79 Please discuss this release on the samba-technical mailing list or by
80 joining the #samba-technical IRC channel on irc.freenode.net.
82 If you do report problems then please try to send high quality
83 feedback. If you don't provide vital information to help us track down
84 the problem then you will probably be ignored.  All bug reports should
85 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
86 database (https://bugzilla.samba.org/).
89 ======================================================================
90 == Our Code, Our Bugs, Our Responsibility.
91 == The Samba Team
92 ======================================================================
95 Release notes for older releases follow:
96 ----------------------------------------
98                    =============================
99                    Release Notes for Samba 4.4.2
100                            April 12, 2016
101                    =============================
103 This is a security release containing one additional
104 regression fix for the security release 4.4.1.
106 This fixes a regression that prevents things like 'net ads join'
107 from working against a Windows 2003 domain.
109 Changes since 4.4.1:
110 ====================
112 o  Stefan Metzmacher <metze@samba.org>
113    * Bug 11804 - prerequisite backports for the security release on
114      April 12th, 2016
117 -----------------------------------------------------------------------
120                    =============================
121                    Release Notes for Samba 4.4.1
122                            April 12, 2016
123                    =============================
126 This is a security release in order to address the following CVEs:
128 o  CVE-2015-5370 (Multiple errors in DCE-RPC code)
130 o  CVE-2016-2110 (Man in the middle attacks possible with NTLMSSP)
132 o  CVE-2016-2111 (NETLOGON Spoofing Vulnerability)
134 o  CVE-2016-2112 (LDAP client and server don't enforce integrity)
136 o  CVE-2016-2113 (Missing TLS certificate validation)
138 o  CVE-2016-2114 ("server signing = mandatory" not enforced)
140 o  CVE-2016-2115 (SMB IPC traffic is not integrity protected)
142 o  CVE-2016-2118 (SAMR and LSA man in the middle attacks possible)
144 The number of changes are rather huge for a security release,
145 compared to typical security releases.
147 Given the number of problems and the fact that they are all related
148 to man in the middle attacks we decided to fix them all at once
149 instead of splitting them.
151 In order to prevent the man in the middle attacks it was required
152 to change the (default) behavior for some protocols. Please see the
153 "New smb.conf options" and "Behavior changes" sections below.
155 =======
156 Details
157 =======
159 o  CVE-2015-5370
161    Versions of Samba from 3.6.0 to 4.4.0 inclusive are vulnerable to
162    denial of service attacks (crashes and high cpu consumption)
163    in the DCE-RPC client and server implementations. In addition,
164    errors in validation of the DCE-RPC packets can lead to a downgrade
165    of a secure connection to an insecure one.
167    While we think it is unlikely, there's a nonzero chance for
168    a remote code execution attack against the client components,
169    which are used by smbd, winbindd and tools like net, rpcclient and
170    others. This may gain root access to the attacker.
172    The above applies all possible server roles Samba can operate in.
174    Note that versions before 3.6.0 had completely different marshalling
175    functions for the generic DCE-RPC layer. It's quite possible that
176    that code has similar problems!
178    The downgrade of a secure connection to an insecure one may
179    allow an attacker to take control of Active Directory object
180    handles created on a connection created from an Administrator
181    account and re-use them on the now non-privileged connection,
182    compromising the security of the Samba AD-DC.
184 o  CVE-2016-2110:
186    There are several man in the middle attacks possible with
187    NTLMSSP authentication.
189    E.g. NTLMSSP_NEGOTIATE_SIGN and NTLMSSP_NEGOTIATE_SEAL
190    can be cleared by a man in the middle.
192    This was by protocol design in earlier Windows versions.
194    Windows Server 2003 RTM and Vista RTM introduced a way
195    to protect against the trivial downgrade.
197    See MsvAvFlags and flag 0x00000002 in
198    https://msdn.microsoft.com/en-us/library/cc236646.aspx
200    This new feature also implies support for a mechlistMIC
201    when used within SPNEGO, which may prevent downgrades
202    from other SPNEGO mechs, e.g. Kerberos, if sign or
203    seal is finally negotiated.
205    The Samba implementation doesn't enforce the existence of
206    required flags, which were requested by the application layer,
207    e.g. LDAP or SMB1 encryption (via the unix extensions).
208    As a result a man in the middle can take over the connection.
209    It is also possible to misguide client and/or
210    server to send unencrypted traffic even if encryption
211    was explicitly requested.
213    LDAP (with NTLMSSP authentication) is used as a client
214    by various admin tools of the Samba project,
215    e.g. "net", "samba-tool", "ldbsearch", "ldbedit", ...
217    As an active directory member server LDAP is also used
218    by the winbindd service when connecting to domain controllers.
220    Samba also offers an LDAP server when running as
221    active directory domain controller.
223    The NTLMSSP authentication used by the SMB1 encryption
224    is protected by smb signing, see CVE-2015-5296.
226 o  CVE-2016-2111:
228    It's basically the same as CVE-2015-0005 for Windows:
230      The NETLOGON service in Microsoft Windows Server 2003 SP2,
231      Windows Server 2008 SP2 and R2 SP1, and Windows Server 2012 Gold
232      and R2, when a Domain Controller is configured, allows remote
233      attackers to spoof the computer name of a secure channel's
234      endpoint, and obtain sensitive session information, by running a
235      crafted application and leveraging the ability to sniff network
236      traffic, aka "NETLOGON Spoofing Vulnerability".
238    The vulnerability in Samba is worse as it doesn't require
239    credentials of a computer account in the domain.
241    This only applies to Samba running as classic primary domain controller,
242    classic backup domain controller or active directory domain controller.
244    The security patches introduce a new option called "raw NTLMv2 auth"
245    ("yes" or "no") for the [global] section in smb.conf.
246    Samba (the smbd process) will reject client using raw NTLMv2
247    without using NTLMSSP.
249    Note that this option also applies to Samba running as
250    standalone server and member server.
252    You should also consider using "lanman auth = no" (which is already the default)
253    and "ntlm auth = no". Have a look at the smb.conf manpage for further details,
254    as they might impact compatibility with older clients. These also
255    apply for all server roles.
257 o  CVE-2016-2112:
259    Samba uses various LDAP client libraries, a builtin one and/or the system
260    ldap libraries (typically openldap).
262    As active directory domain controller Samba also provides an LDAP server.
264    Samba takes care of doing SASL (GSS-SPNEGO) authentication with Kerberos or NTLMSSP
265    for LDAP connections, including possible integrity (sign) and privacy (seal)
266    protection.
268    Samba has support for an option called "client ldap sasl wrapping" since version
269    3.2.0. Its default value has changed from "plain" to "sign" with version 4.2.0.
271    Tools using the builtin LDAP client library do not obey the
272    "client ldap sasl wrapping" option. This applies to tools like:
273    "samba-tool", "ldbsearch", "ldbedit" and more. Some of them have command line
274    options like "--sign" and "--encrypt". With the security update they will
275    also obey the "client ldap sasl wrapping" option as default.
277    In all cases, even if explicitly request via "client ldap sasl wrapping",
278    "--sign" or "--encrypt", the protection can be downgraded by a man in the
279    middle.
281    The LDAP server doesn't have an option to enforce strong authentication
282    yet. The security patches will introduce a new option called
283    "ldap server require strong auth", possible values are "no",
284    "allow_sasl_over_tls" and "yes".
286    As the default behavior was as "no" before, you may
287    have to explicitly change this option until all clients have
288    been adjusted to handle LDAP_STRONG_AUTH_REQUIRED errors.
289    Windows clients and Samba member servers already use
290    integrity protection.
292 o  CVE-2016-2113:
294    Samba has support for TLS/SSL for some protocols:
295    ldap and http, but currently certificates are not
296    validated at all. While we have a "tls cafile" option,
297    the configured certificate is not used to validate
298    the server certificate.
300    This applies to ldaps:// connections triggered by tools like:
301    "ldbsearch", "ldbedit" and more. Note that it only applies
302    to the ldb tools when they are built as part of Samba or with Samba
303    extensions installed, which means the Samba builtin LDAP client library is
304    used.
306    It also applies to dcerpc client connections using ncacn_http (with https://),
307    which are only used by the openchange project. Support for ncacn_http
308    was introduced in version 4.2.0.
310    The security patches will introduce a new option called
311    "tls verify peer". Possible values are "no_check", "ca_only",
312    "ca_and_name_if_available", "ca_and_name" and "as_strict_as_possible".
314    If you use the self-signed certificates which are auto-generated
315    by Samba, you won't have a crl file and need to explicitly
316    set "tls verify peer = ca_and_name".
318 o  CVE-2016-2114
320    Due to a regression introduced in Samba 4.0.0,
321    an explicit "server signing = mandatory" in the [global] section
322    of the smb.conf was not enforced for clients using the SMB1 protocol.
324    As a result it does not enforce smb signing and allows man in the middle attacks.
326    This problem applies to all possible server roles:
327    standalone server, member server, classic primary domain controller,
328    classic backup domain controller and active directory domain controller.
330    In addition, when Samba is configured with "server role = active directory domain controller"
331    the effective default for the "server signing" option should be "mandatory".
333    During the early development of Samba 4 we had a new experimental
334    file server located under source4/smb_server. But before
335    the final 4.0.0 release we switched back to the file server
336    under source3/smbd.
338    But the logic for the correct default of "server signing" was not
339    ported correctly ported.
341    Note that the default for server roles other than active directory domain
342    controller, is "off" because of performance reasons.
344 o  CVE-2016-2115:
346    Samba has an option called "client signing", this is turned off by default
347    for performance reasons on file transfers.
349    This option is also used when using DCERPC with ncacn_np.
351    In order to get integrity protection for ipc related communication
352    by default the "client ipc signing" option is introduced.
353    The effective default for this new option is "mandatory".
355    In order to be compatible with more SMB server implementations,
356    the following additional options are introduced:
357    "client ipc min protocol" ("NT1" by default) and
358    "client ipc max protocol" (the highest support SMB2/3 dialect by default).
359    These options overwrite the "client min protocol" and "client max protocol"
360    options, because the default for "client max protocol" is still "NT1".
361    The reason for this is the fact that all SMB2/3 support SMB signing,
362    while there are still SMB1 implementations which don't offer SMB signing
363    by default (this includes Samba versions before 4.0.0).
365    Note that winbindd (in versions 4.2.0 and higher) enforces SMB signing
366    against active directory domain controllers despite of the
367    "client signing" and "client ipc signing" options.
369 o  CVE-2016-2118 (a.k.a. BADLOCK):
371    The Security Account Manager Remote Protocol [MS-SAMR] and the
372    Local Security Authority (Domain Policy) Remote Protocol [MS-LSAD]
373    are both vulnerable to man in the middle attacks. Both are application level
374    protocols based on the generic DCE 1.1 Remote Procedure Call (DCERPC) protocol.
376    These protocols are typically available on all Windows installations
377    as well as every Samba server. They are used to maintain
378    the Security Account Manager Database. This applies to all
379    roles, e.g. standalone, domain member, domain controller.
381    Any authenticated DCERPC connection a client initiates against a server
382    can be used by a man in the middle to impersonate the authenticated user
383    against the SAMR or LSAD service on the server.
385    The client chosen application protocol, auth type (e.g. Kerberos or NTLMSSP)
386    and auth level (NONE, CONNECT, PKT_INTEGRITY, PKT_PRIVACY) do not matter
387    in this case. A man in the middle can change auth level to CONNECT
388    (which means authentication without message protection) and take over
389    the connection.
391    As a result, a man in the middle is able to get read/write access to the
392    Security Account Manager Database, which reveals all passwords
393    and any other potential sensitive information.
395    Samba running as an active directory domain controller is additionally
396    missing checks to enforce PKT_PRIVACY for the
397    Directory Replication Service Remote Protocol [MS-DRSR] (drsuapi)
398    and the BackupKey Remote Protocol [MS-BKRP] (backupkey).
399    The Domain Name Service Server Management Protocol [MS-DNSP] (dnsserver)
400    is not enforcing at least PKT_INTEGRITY.
402 ====================
403 New smb.conf options
404 ====================
406   allow dcerpc auth level connect (G)
408     This option controls whether DCERPC services are allowed to be used with
409     DCERPC_AUTH_LEVEL_CONNECT, which provides authentication, but no per
410     message integrity nor privacy protection.
412     Some interfaces like samr, lsarpc and netlogon have a hard-coded default
413     of no and epmapper, mgmt and rpcecho have a hard-coded default of yes.
415     The behavior can be overwritten per interface name (e.g. lsarpc,
416     netlogon, samr, srvsvc, winreg, wkssvc ...) by using
417     'allow dcerpc auth level connect:interface = yes' as option.
419     This option yields precedence to the implementation specific restrictions.
420     E.g. the drsuapi and backupkey protocols require DCERPC_AUTH_LEVEL_PRIVACY.
421     The dnsserver protocol requires DCERPC_AUTH_LEVEL_INTEGRITY.
423     Default: allow dcerpc auth level connect = no
425     Example: allow dcerpc auth level connect = yes
427   client ipc signing (G)
429     This controls whether the client is allowed or required to use
430     SMB signing for IPC$ connections as DCERPC transport. Possible
431     values are auto, mandatory and disabled.
433     When set to mandatory or default, SMB signing is required.
435     When set to auto, SMB signing is offered, but not enforced and
436     if set to disabled, SMB signing is not offered either.
438     Connections from winbindd to Active Directory Domain Controllers
439     always enforce signing.
441     Default: client ipc signing = default
443   client ipc max protocol (G)
445     The value of the parameter (a string) is the highest protocol level that will
446     be supported for IPC$ connections as DCERPC transport.
448     Normally this option should not be set as the automatic negotiation phase
449     in the SMB protocol takes care of choosing the appropriate protocol.
451     The value default refers to the latest supported protocol, currently SMB3_11.
453     See client max protocol for a full list of available protocols.
454     The values CORE, COREPLUS, LANMAN1, LANMAN2 are silently upgraded to NT1.
456     Default: client ipc max protocol = default
458     Example: client ipc max protocol = SMB2_10
460   client ipc min protocol (G)
462     This setting controls the minimum protocol version that the will be
463     attempted to use for IPC$ connections as DCERPC transport.
465     Normally this option should not be set as the automatic negotiation phase
466     in the SMB protocol takes care of choosing the appropriate protocol.
468     The value default refers to the higher value of NT1 and the
469     effective value of "client min protocol".
471     See client max protocol for a full list of available protocols.
472     The values CORE, COREPLUS, LANMAN1, LANMAN2 are silently upgraded to NT1.
474     Default: client ipc min protocol = default
476     Example: client ipc min protocol = SMB3_11
478   ldap server require strong auth (G)
480     The ldap server require strong auth defines whether the
481     ldap server requires ldap traffic to be signed or
482     signed and encrypted (sealed). Possible values are no,
483     allow_sasl_over_tls and yes.
485     A value of no allows simple and sasl binds over all transports.
487     A value of allow_sasl_over_tls allows simple and sasl binds (without sign or seal)
488     over TLS encrypted connections. Unencrypted connections only
489     allow sasl binds with sign or seal.
491     A value of yes allows only simple binds over TLS encrypted connections.
492     Unencrypted connections only allow sasl binds with sign or seal.
494     Default: ldap server require strong auth = yes
496   raw NTLMv2 auth (G)
498     This parameter determines whether or not smbd(8) will allow SMB1 clients
499     without extended security (without SPNEGO) to use NTLMv2 authentication.
501     If this option, lanman auth and ntlm auth are all disabled, then only
502     clients with SPNEGO support will be permitted. That means NTLMv2 is only
503     supported within NTLMSSP.
505     Default: raw NTLMv2 auth = no
507   tls verify peer (G)
509     This controls if and how strict the client will verify the peer's
510     certificate and name. Possible values are (in increasing order): no_check,
511     ca_only, ca_and_name_if_available, ca_and_name and as_strict_as_possible.
513     When set to no_check the certificate is not verified at all,
514     which allows trivial man in the middle attacks.
516     When set to ca_only the certificate is verified to be signed from a ca
517     specified in the "tls ca file" option. Setting "tls ca file" to a valid file
518     is required. The certificate lifetime is also verified. If the "tls crl file"
519     option is configured, the certificate is also verified against
520     the ca crl.
522     When set to ca_and_name_if_available all checks from ca_only are performed.
523     In addition, the peer hostname is verified against the certificate's
524     name, if it is provided by the application layer and not given as
525     an ip address string.
527     When set to ca_and_name all checks from ca_and_name_if_available are performed.
528     In addition the peer hostname needs to be provided and even an ip
529     address is checked against the certificate's name.
531     When set to as_strict_as_possible all checks from ca_and_name are performed.
532     In addition the "tls crl file" needs to be configured. Future versions
533     of Samba may implement additional checks.
535     Default: tls verify peer = as_strict_as_possible
537   tls priority (G) (backported from Samba 4.3 to Samba 4.2)
539     This option can be set to a string describing the TLS protocols to be
540     supported in the parts of Samba that use GnuTLS, specifically the AD DC.
542     The default turns off SSLv3, as this protocol is no longer considered
543     secure after CVE-2014-3566 (otherwise known as POODLE) impacted SSLv3 use
544     in HTTPS applications.
546     The valid options are described in the GNUTLS Priority-Strings
547     documentation at http://gnutls.org/manual/html_node/Priority-Strings.html
549     Default: tls priority = NORMAL:-VERS-SSL3.0
551 ================
552 Behavior changes
553 ================
555 o  The default auth level for authenticated binds has changed from
556    DCERPC_AUTH_LEVEL_CONNECT to DCERPC_AUTH_LEVEL_INTEGRITY.
557    That means ncacn_ip_tcp:server is now implicitly the same
558    as ncacn_ip_tcp:server[sign] and offers a similar protection
559    as ncacn_np:server, which relies on smb signing.
561 o  The following constraints are applied to SMB1 connections:
563    - "client lanman auth = yes" is now consistently
564      required for authenticated connections using the
565      SMB1 LANMAN2 dialect.
566    - "client ntlmv2 auth = yes" and "client use spnego = yes"
567      (both the default values), require extended security (SPNEGO)
568      support from the server. That means NTLMv2 is only used within
569      NTLMSSP.
571 o  Tools like "samba-tool", "ldbsearch", "ldbedit" and more obey the
572    default of "client ldap sasl wrapping = sign". Even with
573    "client ldap sasl wrapping = plain" they will automatically upgrade
574    to "sign" when getting LDAP_STRONG_AUTH_REQUIRED from the LDAP
575    server.
577 Changes since 4.4.0:
578 ====================
580 o  Jeremy Allison <jra@samba.org>
581    * Bug 11344 - CVE-2015-5370: Multiple errors in DCE-RPC code.
583 o  Christian Ambach <ambi@samba.org>
584    * Bug 11804 - prerequisite backports for the security release on
585      April 12th, 2016.
587 o  Ralph Boehme <slow@samba.org>
588    * Bug 11644 - CVE-2016-2112: The LDAP client and server don't enforce
589      integrity protection.
591 o  Günther Deschner <gd@samba.org>
592    * Bug 11749 - CVE-2016-2111: NETLOGON Spoofing Vulnerability.
594    * Bug 11804 - prerequisite backports for the security release on
595      April 12th, 2016.
597 o  Volker Lendecke <vl@samba.org>
598    * Bug 11804 - prerequisite backports for the security release on
599      April 12th, 2016.
601 o  Stefan Metzmacher <metze@samba.org>
602    * Bug 11344 - CVE-2015-5370: Multiple errors in DCE-RPC code.
604    * Bug 11616 - CVE-2016-2118: SAMR and LSA man in the middle attacks possible.
606    * Bug 11644 - CVE-2016-2112: The LDAP client and server doesn't enforce
607      integrity protection.
609    * Bug 11687 - CVE-2016-2114: "server signing = mandatory" not enforced.
611    * Bug 11688 - CVE-2016-2110: Man in the middle attacks possible with NTLMSSP.
613    * Bug 11749 - CVE-2016-2111: NETLOGON Spoofing Vulnerability.
615    * Bug 11752 - CVE-2016-2113: Missing TLS certificate validation allows man in
616      the middle attacks.
618    * Bug 11756 - CVE-2016-2115: SMB client connections for IPC traffic are not
619      integrity protected.
621    * Bug 11804 - prerequisite backports for the security release on
622      April 12th, 2016.
625 #######################################
626 Reporting bugs & Development Discussion
627 #######################################
629 Please discuss this release on the samba-technical mailing list or by
630 joining the #samba-technical IRC channel on irc.freenode.net.
632 If you do report problems then please try to send high quality
633 feedback. If you don't provide vital information to help us track down
634 the problem then you will probably be ignored.  All bug reports should
635 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
636 database (https://bugzilla.samba.org/).
639 ======================================================================
640 == Our Code, Our Bugs, Our Responsibility.
641 == The Samba Team
642 ======================================================================
645 ----------------------------------------------------------------------
648                    =============================
649                    Release Notes for Samba 4.4.0
650                            March 22, 2016
651                    =============================
654 This is the first stable release of the Samba 4.4 release series.
657 UPGRADING
658 =========
660 Nothing special.
663 NEW FEATURES/CHANGES
664 ====================
666 Asynchronous flush requests
667 ---------------------------
669 Flush requests from SMB2/3 clients are handled asynchronously and do
670 not block the processing of other requests. Note that 'strict sync'
671 has to be set to 'yes' for Samba to honor flush requests from SMB
672 clients.
674 s3: smbd
675 --------
677 Remove '--with-aio-support' configure option. We no longer would ever prefer
678 POSIX-RT aio, use pthread_aio instead.
680 samba-tool sites
681 ----------------
683 The 'samba-tool sites' subcommand can now be run against another server by
684 specifying an LDB URL using the '-H' option and not against the local database
685 only (which is still the default when no URL is given).
687 samba-tool domain demote
688 ------------------------
690 Add '--remove-other-dead-server' option to 'samba-tool domain demote'
691 subcommand. The new version of this tool now can remove another DC that is
692 itself offline.  The '--remove-other-dead-server' removes as many references
693 to the DC as possible.
695 samba-tool drs clone-dc-database
696 --------------------------------
698 Replicate an initial clone of domain, but do not join it.
699 This is developed for debugging purposes, but not for setting up another DC.
701 pdbedit
702 -------
704 Add '--set-nt-hash' option to pdbedit to update user password from nt-hash
705 hexstring. 'pdbedit -vw' shows also password hashes.
707 smbstatus
708 ---------
710 'smbstatus' was enhanced to show the state of signing and encryption for
711 sessions and shares.
713 smbget
714 ------
715 The -u and -p options for user and password were replaced by the -U option that
716 accepts username[%password] as in many other tools of the Samba suite.
717 Similary, smbgetrc files do not accept username and password options any more,
718 only a single "user" option which also accepts user%password combinations.
719 The -P option was removed.
721 s4-rpc_server
722 -------------
724 Add a GnuTLS based backupkey implementation.
726 ntlm_auth
727 ---------
729 Using the '--offline-logon' enables ntlm_auth to use cached passwords when the
730 DC is offline.
732 Allow '--password' force a local password check for ntlm-server-1 mode.
734 vfs_offline
735 -----------
737 A new VFS module called vfs_offline has been added to mark all files in the
738 share as offline. It can be useful for shares mounted on top of a remote file
739 system (either through a samba VFS module or via FUSE).
744 The Samba KCC has been improved, but is still disabled by default.
749 There were several improvements concerning the Samba DNS server.
751 Active Directory
752 ----------------
754 There were some improvements in the Active Directory area.
756 WINS nsswitch module
757 --------------------
759 The WINS nsswitch module has been rewritten to address memory issues and to
760 simplify the code. The module now uses libwbclient to do WINS queries. This
761 means that winbind needs to be running in order to resolve WINS names using
762 the nss_wins module. This does not affect smbd.
764 CTDB changes
765 ------------
767 * CTDB now uses a newly implemented parallel database recovery scheme
768   that avoids deadlocks with smbd.
770   In certain circumstances CTDB and smbd could deadlock.  The new
771   recovery implementation avoid this.  It also provides improved
772   recovery performance.
774 * All files are now installed into and referred to by the paths
775   configured at build time.  Therefore, CTDB will now work properly
776   when installed into the default location at /usr/local.
778 * Public CTDB header files are no longer installed, since Samba and
779   CTDB are built from within the same source tree.
781 * CTDB_DBDIR can now be set to tmpfs[:<tmpfs-options>]
783   This will cause volatile TDBs to be located in a tmpfs.  This can
784   help to avoid performance problems associated with contention on the
785   disk where volatile TDBs are usually stored.  See ctdbd.conf(5) for
786   more details.
788 * Configuration variable CTDB_NATGW_SLAVE_ONLY is no longer used.
789   Instead, nodes should be annotated with the "slave-only" option in
790   the CTDB NAT gateway nodes file.  This file must be consistent
791   across nodes in a NAT gateway group.  See ctdbd.conf(5) for more
792   details.
794 * New event script 05.system allows various system resources to be
795   monitored
797   This can be helpful for explaining poor performance or unexpected
798   behaviour.  New configuration variables are
799   CTDB_MONITOR_FILESYSTEM_USAGE, CTDB_MONITOR_MEMORY_USAGE and
800   CTDB_MONITOR_SWAP_USAGE.  Default values cause warnings to be
801   logged.  See the SYSTEM RESOURCE MONITORING CONFIGURATION in
802   ctdbd.conf(5) for more information.
804   The memory, swap and filesystem usage monitoring previously found in
805   00.ctdb and 40.fs_use is no longer available.  Therefore,
806   configuration variables CTDB_CHECK_FS_USE, CTDB_MONITOR_FREE_MEMORY,
807   CTDB_MONITOR_FREE_MEMORY_WARN and CTDB_CHECK_SWAP_IS_NOT_USED are
808   now ignored.
810 * The 62.cnfs eventscript has been removed.  To get a similar effect
811   just do something like this:
813       mmaddcallback ctdb-disable-on-quorumLoss \
814         --command /usr/bin/ctdb \
815         --event quorumLoss --parms "disable"
817       mmaddcallback ctdb-enable-on-quorumReached \
818         --command /usr/bin/ctdb \
819         --event quorumReached --parms "enable"
821 * The CTDB tunable parameter EventScriptTimeoutCount has been renamed
822   to MonitorTimeoutCount
824   It has only ever been used to limit timed-out monitor events.
826   Configurations containing CTDB_SET_EventScriptTimeoutCount=<n> will
827   cause CTDB to fail at startup.  Useful messages will be logged.
829 * The commandline option "-n all" to CTDB tool has been removed.
831   The option was not uniformly implemented for all the commands.
832   Instead of command "ctdb ip -n all", use "ctdb ip all".
834 * All CTDB current manual pages are now correctly installed
837 EXPERIMENTAL FEATURES
838 =====================
840 SMB3 Multi-Channel
841 ------------------
843 Samba 4.4.0 adds *experimental* support for SMB3 Multi-Channel.
844 Multi-Channel is an SMB3 protocol feature that allows the client
845 to bind multiple transport connections into one authenticated
846 SMB session. This allows for increased fault tolerance and
847 throughput. The client chooses transport connections as reported
848 by the server and also chooses over which of the bound transport
849 connections to send traffic. I/O operations for a given file
850 handle can span multiple network connections this way.
851 An SMB multi-channel session will be valid as long as at least
852 one of its channels are up.
854 In Samba, multi-channel can be enabled by setting the new
855 smb.conf option "server multi channel support" to "yes".
856 It is disabled by default.
858 Samba has to report interface speeds and some capabilities to
859 the client. On Linux, Samba can auto-detect the speed of an
860 interface. But to support other platforms, and in order to be
861 able to manually override the detected values, the "interfaces"
862 smb.conf option has been given an extended syntax, by which an
863 interface specification can additionally carry speed and
864 capability information. The extended syntax looks like this
865 for setting the speed to 1 gigabit per second:
867     interfaces = 192.168.1.42;speed=1000000000
869 This extension should be used with care and are mainly intended
870 for testing. See the smb.conf manual page for details.
872 CAVEAT: While this should be working without problems mostly,
873 there are still corner cases in the treatment of channel failures
874 that may result in DATA CORRUPTION when these race conditions hit.
875 It is hence
877     NOT RECOMMENDED TO USE MULTI-CHANNEL IN PRODUCTION
879 at this stage. This situation can be expected to improve during
880 the life-time of the 4.4 release. Feed-back from test-setups is
881 highly welcome.
884 REMOVED FEATURES
885 ================
887 Public headers
888 --------------
890 Several public headers are not installed any longer. They are made for internal
891 use only. More public headers will very likely be removed in future releases.
893 The following headers are not installed any longer:
894 dlinklist.h, gen_ndr/epmapper.h, gen_ndr/mgmt.h, gen_ndr/ndr_atsvc_c.h,
895 gen_ndr/ndr_epmapper_c.h, gen_ndr/ndr_epmapper.h, gen_ndr/ndr_mgmt_c.h,
896 gen_ndr/ndr_mgmt.h,gensec.h, ldap_errors.h, ldap_message.h, ldap_ndr.h,
897 ldap-util.h, pytalloc.h, read_smb.h, registry.h, roles.h, samba_util.h,
898 smb2_constants.h, smb2_create_blob.h, smb2.h, smb2_lease.h, smb2_signing.h,
899 smb_cli.h, smb_cliraw.h, smb_common.h, smb_composite.h, smb_constants.h,
900 smb_raw.h, smb_raw_interfaces.h, smb_raw_signing.h, smb_raw_trans2.h,
901 smb_request.h, smb_seal.h, smb_signing.h, smb_unix_ext.h, smb_util.h,
902 torture.h, tstream_smbXcli_np.h.
904 vfs_smb_traffic_analyzer
905 ------------------------
907 The SMB traffic analyzer VFS module has been removed, because it is not
908 maintained any longer and not widely used.
910 vfs_scannedonly
911 ---------------
913 The scannedonly VFS module has been removed, because it is not maintained
914 any longer.
916 smb.conf changes
917 ----------------
919   Parameter Name                Description             Default
920   --------------                -----------             -------
921   aio max threads               New                     100
922   ldap page size                Changed default         1000
923   server multi channel support  New                     No
924   interfaces                    Extended syntax
927 KNOWN ISSUES
928 ============
930 Currently none.
933 CHANGES SINCE 4.4.0rc5
934 ======================
936 o  Michael Adam <obnox@samba.org>
937    * BUG 11796: smbd: Enable multi-channel if 'server multi channel support =
938      yes' in the config.
940 o  Günther Deschner <gd@samba.org>
941    * BUG 11802: lib/socket/interfaces: Fix some uninitialied bytes.
943 o  Uri Simchoni <uri@samba.org>
944    * BUG 11798: build: Fix build when '--without-quota' specified.
947 CHANGES SINCE 4.4.0rc4
948 ======================
950 o  Andrew Bartlett <abartlet@samba.org>
951    * BUG 11780: mkdir can return ACCESS_DENIED incorrectly on create race.
952    * BUG 11783: Mismatch between local and remote attribute ids lets
953      replication fail with custom schema.
954    * BUG 11789: Talloc: Version 2.1.6.
956 o  Ira Cooper <ira@samba.org>
957    * BUG 11774: vfs_glusterfs: Fix use after free in AIO callback.
959 o  Günther Deschner <gd@samba.org>
960    * BUG 11755: Fix net join.
962 o  Amitay Isaacs <amitay@gmail.com>
963    * BUG 11770: Reset TCP Connections during IP failover.
965 o  Justin Maggard <jmaggard10@gmail.com>
966    * BUG 11773: s3:smbd: Add negprot remote arch detection for OSX.
968 o  Stefan Metzmacher <metze@samba.org>
969    * BUG 11772: ldb: Version 1.1.26.
970    * BUG 11782: "trustdom_list_done: Got invalid trustdom response" message
971      should be avoided.
973 o  Uri Simchoni <uri@samba.org>
974    * BUG 11769: libnet: Make Kerberos domain join site-aware.
975    * BUG 11788: Quota is not supported on Solaris 10.
978 CHANGES SINCE 4.4.0rc3
979 ======================
981 o  Jeremy Allison <jra@samba.org>
982    * BUG 11648: CVE-2015-7560: Getting and setting Windows ACLs on symlinks can
983      change permissions on link target.
985 o  Christian Ambach <ambi@samba.org>
986    * BUG 11767: s3:utils/smbget: Fix option parsing.
988 o  Alberto Maria Fiaschi <alberto.fiaschi@estar.toscana.it>
989    * BUG 8093: Access based share enum: handle permission set in configuration
990      files.
992 o  Stefan Metzmacher <metze@samba.org>
993    * BUG 11702: s3:clispnego: Fix confusing warning in spnego_gen_krb5_wrap().
994    * BUG 11742: tevent: version 0.9.28: Fix memory leak when old signal action
995      restored.
996    * BUG 11755: s3:libads: setup the msDS-SupportedEncryptionTypes attribute on
997      ldap_add.
998    * BUGs 11128, 11686: CVE-2016-0771: Read of uninitialized memory DNS TXT
999      handling.
1001 o  Garming Sam <garming@catalyst.net.nz>
1002    * BUGs 11128, 11686: CVE-2016-0771: Read of uninitialized memory DNS TXT
1003      handling.
1005 o  Uri Simchoni <uri@samba.org>
1006    * BUG 11691: winbindd: Return trust parameters when listing trusts.
1007    * BUG 11753: smbd: Ignore SVHDX create context.
1008    * BUG 11763: passdb: Add linefeed to debug message.
1011 CHANGES SINCE 4.4.0rc2
1012 ======================
1014 o  Michael Adam <obnox@samba.org>
1015    * BUG 11723: lib:socket: Fix CID 1350010: Integer OVERFLOW_BEFORE_WIDEN.
1016    * BUG 11735: lib:socket: Fix CID 1350009: Fix illegal memory accesses
1017      (BUFFER_SIZE_WARNING).
1019 o  Jeremy Allison <jra@samba.org>
1020    * BUG 10489: s3: smbd: posix_acls: Fix check for setting u:g:o entry on a
1021      filesystem with no ACL support.
1023 o  Christian Ambach <ambi@samba.org>
1024    * BUG 11700: s3:utils/smbget: Set default blocksize.
1026 o  Anoop C S <anoopcs@redhat.com>
1027    * BUG 11734: lib/socket: Fix improper use of default interface speed.
1029 o  Ralph Boehme <slow@samba.org>
1030    * BUG 11714: lib/tsocket: Work around sockets not supporting FIONREAD.
1032 o  Volker Lendecke <vl@samba.org>
1033    * BUG 11724: smbd: Fix CID 1351215 Improper use of negative value.
1034    * BUG 11725: smbd: Fix CID 1351216 Dereference null return value.
1035    * BUG 11732: param: Fix str_list_v3 to accept ; again.
1037 o  Noel Power <noel.power@suse.com>
1038    * BUG 11738: libcli: Fix debug message, print sid string for new_ace trustee.
1040 o  Jose A. Rivera <jarrpa@samba.org>
1041    * BUG 11727: s3:smbd:open: Skip redundant call to file_set_dosmode when
1042      creating a new file.
1044 o  Andreas Schneider <asn@samba.org>
1045    * BUG 11730: docs: Add manpage for cifsdd.
1046    * BUG 11739: Fix installation path of Samba helper binaries.
1048 o  Berend De Schouwer <berend.de.schouwer@gmail.com>
1049    * BUG 11643: docs: Add example for domain logins to smbspool man page.
1051 o  Martin Schwenke <martin@meltin.net>
1052    * BUG 11719: ctdb-scripts: Drop use of "smbcontrol winbindd ip-dropped ..."
1054 o  Hemanth Thummala <hemanth.thummala@nutanix.com>
1055    * BUG 11708: loadparm: Fix memory leak issue.
1056    * BUG 11740: Fix memory leak in loadparm.
1059 CHANGES SINCE 4.4.0rc1
1060 ======================
1062 o  Michael Adam <obnox@samba.org>
1063    * BUG 11715: s3:vfs:glusterfs: Fix build after quota changes.
1065 o  Jeremy Allison <jra@samba.org>
1066    * BUG 11703: s3: smbd: Fix timestamp rounding inside SMB2 create.
1068 o  Christian Ambach <ambi@samba.org>
1069    * BUG 11700: Streamline 'smbget' options with the rest of the Samba utils.
1071 o  Günther Deschner <gd@samba.org>
1072    * BUG 11696: ctdb: Do not provide a useless pkgconfig file for ctdb.
1074 o  Stefan Metzmacher <metze@samba.org>
1075    * BUG 11699: Crypto.Cipher.ARC4 is not available on some platforms, fallback
1076      to M2Crypto.RC4.RC4 then.
1078 o  Amitay Isaacs <amitay@gmail.com>
1079    * BUG 11705: Sockets with htons(IPPROTO_RAW) and CVE-2015-8543.
1081 o  Andreas Schneider <asn@samba.org>
1082    * BUG 11690: docs: Add smbspool_krb5_wrapper manpage.
1084 o  Uri Simchoni <uri@samba.org>
1085    * BUG 11681: smbd: Show correct disk size for different quota and dfree block
1086      sizes.
1089 #######################################
1090 Reporting bugs & Development Discussion
1091 #######################################
1093 Please discuss this release on the samba-technical mailing list or by
1094 joining the #samba-technical IRC channel on irc.freenode.net.
1096 If you do report problems then please try to send high quality
1097 feedback. If you don't provide vital information to help us track down
1098 the problem then you will probably be ignored.  All bug reports should
1099 be filed under the Samba 4.1 and newer product in the project's Bugzilla
1100 database (https://bugzilla.samba.org/).
1103 ======================================================================
1104 == Our Code, Our Bugs, Our Responsibility.
1105 == The Samba Team
1106 ======================================================================