s3: smbd: Remove unused 'req' argument from setup_readX_header()
[Samba.git] / WHATSNEW.txt
blobca3c325d840ef0015c2a35f27a21575b2f182afd
1                    =============================
2                    Release Notes for Samba 4.4.4
3                            June 7, 2016
4                    =============================
7 This is the latest stable release of Samba 4.4.
10 Changes since 4.4.3:
11 --------------------
13 o  Michael Adam <obnox@samba.org>
14    * BUG 11809: SMB3 multichannel: Add implementation of missing channel sequence
15      number verification.
16    * BUG 11919: smbd:close: Only remove kernel share modes if they had been
17      taken at open.
18    * BUG 11930: notifyd: Prevent NULL deref segfault in notifyd_peer_destructor.
20 o  Jeremy Allison <jra@samba.org>
21    * BUG 10618: s3: auth: Move the declaration of struct dom_sid tmp_sid to
22      function level scope.
24 o  Christian Ambach <ambi@samba.org>
25    * BUG 10796: s3:rpcclient: Make '--pw-nt-hash' option work.
26    * BUG 11354: s3:libsmb/clifile: Use correct value for MaxParameterCount for
27      setting EAs.
28    * BUG 11438: Fix case sensitivity issues over SMB2 or above.
30 o  Ralph Boehme <slow@samba.org>
31    * BUG 1703: s3:libnet:libnet_join: Add netbios aliases as SPNs.
32    * BUG 11721: vfs_fruit: Add an option that allows disabling POSIX rename
33      behaviour.
35 o  Alexander Bokovoy <ab@samba.org>
36    * BUG 11936: s3-smbd: Support systemd 230.
38 o  Ira Cooper <ira@samba.org>
39    * BUG 11907: source3: Honor the core soft limit of the OS.
41 o  Günther Deschner <gd@samba.org>
42    * BUG 11809: SMB3 multichannel: Add implementation of missing channel sequence
43      number verification.
44    * BUG 11864: s3:client:smbspool_krb5_wrapper: Fix the non clearenv build.
45    * BUG 11906: s3-kerberos: Avoid entering a password change dialogue also when
46      using MIT.
48 o  Robin Hack <hack.robin@gmail.com>
49    * BUG 11890: ldb-samba/ldb_matching_rules: Fix CID 1349424 - Uninitialized
50      pointer read.
52 o  Volker Lendecke <vl@samba.org>
53    * BUG 11844: dbwrap_ctdb: Fix ENOENT->NT_STATUS_NOT_FOUND.
55 o  Robin McCorkell <robin@mccorkell.me.uk>
56    * BUG 11276: Correctly set cli->raw_status for libsmbclient in SMB2 code.
58 o  Stefan Metzmacher <metze@samba.org>
59    * BUG 11910: s3:smbd: Fix anonymous authentication if signing is mandatory.
60    * BUG 11912: libcli/auth: Let msrpc_parse() return talloc'ed empty strings.
61    * BUG 11914: Fix NTLM Authentication issue with squid.
62    * BUG 11927: s3:rpcclient: make use of SMB_SIGNING_IPC_DEFAULT.
64 o  Luca Olivetti <luca@wetron.es>
65    * BUG 11530: pdb: Fix segfault in pdb_ldap for missing gecos.
67 o  Rowland Penny <rpenny@samba.org>
68    * BUG 11613: Allow 'samba-tool fsmo' to cope with empty or missing fsmo
69      roles.
71 o  Anoop C S <anoopcs@redhat.com>
72    * BUG 11907: packaging: Set default limit for core file size in service
73      files.
75 o  Andreas Schneider <asn@samba.org>
76    * BUG 11922: s3-net: Convert the key_name to UTF8 during migration.
77    * BUG 11935: s3-smbspool: Log to stderr.
79 o  Uri Simchoni <uri@samba.org>
80    * BUG 11900: heimdal: Encode/decode kvno as signed integer.
81    * BUG 11931: s3-quotas: Fix sysquotas_4B quota fetching for BSD.
82    * BUG 11937: smbd: dfree: Ignore quota if not enforced.
84 o  Raghavendra Talur <rtalur@redhat.com>
85    * BUG 11907: init: Set core file size to unlimited by default.
87 o  Hemanth Thummala <hemanth.thummala@nutanix.com>
88    * BUG 11934: Fix memory leak in share mode locking.
91 #######################################
92 Reporting bugs & Development Discussion
93 #######################################
95 Please discuss this release on the samba-technical mailing list or by
96 joining the #samba-technical IRC channel on irc.freenode.net.
98 If you do report problems then please try to send high quality
99 feedback. If you don't provide vital information to help us track down
100 the problem then you will probably be ignored.  All bug reports should
101 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
102 database (https://bugzilla.samba.org/).
105 ======================================================================
106 == Our Code, Our Bugs, Our Responsibility.
107 == The Samba Team
108 ======================================================================
111 Release notes for older releases follow:
112 ----------------------------------------
114                    =============================
115                    Release Notes for Samba 4.4.3
116                            May 2, 2016
117                    =============================
120 This is the latest stable release of Samba 4.4.
122 This release fixes some regressions introduced by the last security fixes.
123 Please see bug https://bugzilla.samba.org/show_bug.cgi?id=11849 for a list of
124 bugs addressing these regressions and more information.
127 Changes since 4.4.2:
128 --------------------
130 o  Michael Adam <obnox@samba.org>
131    * BUG 11786: idmap_hash: Only allow the hash module for default idmap config.
133 o  Jeremy Allison <jra@samba.org>
134    * BUG 11822: s3: libsmb: Fix error where short name length was read as 2
135      bytes, should be 1.
137 o  Andrew Bartlett <abartlet@samba.org>
138    * BUG 11789: Fix returning of ldb.MessageElement.
140 o  Ralph Boehme <slow@samba.org>
141    * BUG 11855: cleanupd: Restart as needed.
143 o  Günther Deschner <gd@samba.org>
144    * BUG 11786: s3:winbindd:idmap: check loadparm in domain_has_idmap_config()
145      helper as well.
146    * BUG 11789: libsmb/pysmb: Add pytalloc-util dependency to fix the build.
148 o  Volker Lendecke <vl@samba.org>
149    * BUG 11786: winbind: Fix CID 1357100: Unchecked return value.
150    * BUG 11816: nwrap: Fix the build on Solaris.
151    * BUG 11827: vfs_catia: Fix memleak.
152    * BUG 11878: smbd: Avoid large reads beyond EOF.
154 o  Stefan Metzmacher <metze@samba.org>
155    * BUG 11789: s3:wscript: pylibsmb depends on pycredentials.
156    * BUG 11841: Fix NT_STATUS_ACCESS_DENIED when accessing Windows public share.
157    * BUG 11847: Only validate MIC if "map to guest" is not being used.
158    * BUG 11849: auth/ntlmssp: Add ntlmssp_{client,server}:force_old_spnego
159      option for testing.
160    * BUG 11850: NetAPP SMB servers don't negotiate NTLMSSP_SIGN.
161    * BUG 11858: Allow anonymous smb connections.
162    * BUG 11870: Fix ads_sasl_spnego_gensec_bind(KRB5).
163    * BUG 11872: Fix 'wbinfo -u' and 'net ads search'.
165 o  Tom Mortensen <tomm@lime-technology.com>
166    * BUG 11875: nss_wins: Fix the hostent setup.
168 o  Garming Sam <garming@catalyst.net.nz>
169    * BUG 11789: build: Mark explicit dependencies on pytalloc-util.
171 o  Partha Sarathi <partha@exablox.com>
172    * BUG 11819: Fix the smb2_setinfo to handle FS info types and FSQUOTA
173      infolevel.
175 o  Jorge Schrauwen <sjorge@blackdot.be>
176    * BUG 11816: configure: Don't check for inotify on illumos.
178 o  Uri Simchoni <uri@samba.org>
179    * BUG 11806: vfs_acl_common: Avoid setting POSIX ACLs if "ignore system acls"
180      is set.
181    * BUG 11815: smbcquotas: print "NO LIMIT" only if returned quota value is 0.
182    * BUG 11852: libads: Record session expiry for spnego sasl binds.
184 o  Hemanth Thummala <hemanth.thummala@nutanix.com>
185    * BUG 11840: Mask general purpose signals for notifyd.
188 #######################################
189 Reporting bugs & Development Discussion
190 #######################################
192 Please discuss this release on the samba-technical mailing list or by
193 joining the #samba-technical IRC channel on irc.freenode.net.
195 If you do report problems then please try to send high quality
196 feedback. If you don't provide vital information to help us track down
197 the problem then you will probably be ignored.  All bug reports should
198 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
199 database (https://bugzilla.samba.org/).
202 ======================================================================
203 == Our Code, Our Bugs, Our Responsibility.
204 == The Samba Team
205 ======================================================================
208 ----------------------------------------------------------------------
211                    =============================
212                    Release Notes for Samba 4.4.2
213                            April 12, 2016
214                    =============================
216 This is a security release containing one additional
217 regression fix for the security release 4.4.1.
219 This fixes a regression that prevents things like 'net ads join'
220 from working against a Windows 2003 domain.
222 Changes since 4.4.1:
223 ====================
225 o  Stefan Metzmacher <metze@samba.org>
226    * Bug 11804 - prerequisite backports for the security release on
227      April 12th, 2016
230 -----------------------------------------------------------------------
233                    =============================
234                    Release Notes for Samba 4.4.1
235                            April 12, 2016
236                    =============================
239 This is a security release in order to address the following CVEs:
241 o  CVE-2015-5370 (Multiple errors in DCE-RPC code)
243 o  CVE-2016-2110 (Man in the middle attacks possible with NTLMSSP)
245 o  CVE-2016-2111 (NETLOGON Spoofing Vulnerability)
247 o  CVE-2016-2112 (LDAP client and server don't enforce integrity)
249 o  CVE-2016-2113 (Missing TLS certificate validation)
251 o  CVE-2016-2114 ("server signing = mandatory" not enforced)
253 o  CVE-2016-2115 (SMB IPC traffic is not integrity protected)
255 o  CVE-2016-2118 (SAMR and LSA man in the middle attacks possible)
257 The number of changes are rather huge for a security release,
258 compared to typical security releases.
260 Given the number of problems and the fact that they are all related
261 to man in the middle attacks we decided to fix them all at once
262 instead of splitting them.
264 In order to prevent the man in the middle attacks it was required
265 to change the (default) behavior for some protocols. Please see the
266 "New smb.conf options" and "Behavior changes" sections below.
268 =======
269 Details
270 =======
272 o  CVE-2015-5370
274    Versions of Samba from 3.6.0 to 4.4.0 inclusive are vulnerable to
275    denial of service attacks (crashes and high cpu consumption)
276    in the DCE-RPC client and server implementations. In addition,
277    errors in validation of the DCE-RPC packets can lead to a downgrade
278    of a secure connection to an insecure one.
280    While we think it is unlikely, there's a nonzero chance for
281    a remote code execution attack against the client components,
282    which are used by smbd, winbindd and tools like net, rpcclient and
283    others. This may gain root access to the attacker.
285    The above applies all possible server roles Samba can operate in.
287    Note that versions before 3.6.0 had completely different marshalling
288    functions for the generic DCE-RPC layer. It's quite possible that
289    that code has similar problems!
291    The downgrade of a secure connection to an insecure one may
292    allow an attacker to take control of Active Directory object
293    handles created on a connection created from an Administrator
294    account and re-use them on the now non-privileged connection,
295    compromising the security of the Samba AD-DC.
297 o  CVE-2016-2110:
299    There are several man in the middle attacks possible with
300    NTLMSSP authentication.
302    E.g. NTLMSSP_NEGOTIATE_SIGN and NTLMSSP_NEGOTIATE_SEAL
303    can be cleared by a man in the middle.
305    This was by protocol design in earlier Windows versions.
307    Windows Server 2003 RTM and Vista RTM introduced a way
308    to protect against the trivial downgrade.
310    See MsvAvFlags and flag 0x00000002 in
311    https://msdn.microsoft.com/en-us/library/cc236646.aspx
313    This new feature also implies support for a mechlistMIC
314    when used within SPNEGO, which may prevent downgrades
315    from other SPNEGO mechs, e.g. Kerberos, if sign or
316    seal is finally negotiated.
318    The Samba implementation doesn't enforce the existence of
319    required flags, which were requested by the application layer,
320    e.g. LDAP or SMB1 encryption (via the unix extensions).
321    As a result a man in the middle can take over the connection.
322    It is also possible to misguide client and/or
323    server to send unencrypted traffic even if encryption
324    was explicitly requested.
326    LDAP (with NTLMSSP authentication) is used as a client
327    by various admin tools of the Samba project,
328    e.g. "net", "samba-tool", "ldbsearch", "ldbedit", ...
330    As an active directory member server LDAP is also used
331    by the winbindd service when connecting to domain controllers.
333    Samba also offers an LDAP server when running as
334    active directory domain controller.
336    The NTLMSSP authentication used by the SMB1 encryption
337    is protected by smb signing, see CVE-2015-5296.
339 o  CVE-2016-2111:
341    It's basically the same as CVE-2015-0005 for Windows:
343      The NETLOGON service in Microsoft Windows Server 2003 SP2,
344      Windows Server 2008 SP2 and R2 SP1, and Windows Server 2012 Gold
345      and R2, when a Domain Controller is configured, allows remote
346      attackers to spoof the computer name of a secure channel's
347      endpoint, and obtain sensitive session information, by running a
348      crafted application and leveraging the ability to sniff network
349      traffic, aka "NETLOGON Spoofing Vulnerability".
351    The vulnerability in Samba is worse as it doesn't require
352    credentials of a computer account in the domain.
354    This only applies to Samba running as classic primary domain controller,
355    classic backup domain controller or active directory domain controller.
357    The security patches introduce a new option called "raw NTLMv2 auth"
358    ("yes" or "no") for the [global] section in smb.conf.
359    Samba (the smbd process) will reject client using raw NTLMv2
360    without using NTLMSSP.
362    Note that this option also applies to Samba running as
363    standalone server and member server.
365    You should also consider using "lanman auth = no" (which is already the default)
366    and "ntlm auth = no". Have a look at the smb.conf manpage for further details,
367    as they might impact compatibility with older clients. These also
368    apply for all server roles.
370 o  CVE-2016-2112:
372    Samba uses various LDAP client libraries, a builtin one and/or the system
373    ldap libraries (typically openldap).
375    As active directory domain controller Samba also provides an LDAP server.
377    Samba takes care of doing SASL (GSS-SPNEGO) authentication with Kerberos or NTLMSSP
378    for LDAP connections, including possible integrity (sign) and privacy (seal)
379    protection.
381    Samba has support for an option called "client ldap sasl wrapping" since version
382    3.2.0. Its default value has changed from "plain" to "sign" with version 4.2.0.
384    Tools using the builtin LDAP client library do not obey the
385    "client ldap sasl wrapping" option. This applies to tools like:
386    "samba-tool", "ldbsearch", "ldbedit" and more. Some of them have command line
387    options like "--sign" and "--encrypt". With the security update they will
388    also obey the "client ldap sasl wrapping" option as default.
390    In all cases, even if explicitly request via "client ldap sasl wrapping",
391    "--sign" or "--encrypt", the protection can be downgraded by a man in the
392    middle.
394    The LDAP server doesn't have an option to enforce strong authentication
395    yet. The security patches will introduce a new option called
396    "ldap server require strong auth", possible values are "no",
397    "allow_sasl_over_tls" and "yes".
399    As the default behavior was as "no" before, you may
400    have to explicitly change this option until all clients have
401    been adjusted to handle LDAP_STRONG_AUTH_REQUIRED errors.
402    Windows clients and Samba member servers already use
403    integrity protection.
405 o  CVE-2016-2113:
407    Samba has support for TLS/SSL for some protocols:
408    ldap and http, but currently certificates are not
409    validated at all. While we have a "tls cafile" option,
410    the configured certificate is not used to validate
411    the server certificate.
413    This applies to ldaps:// connections triggered by tools like:
414    "ldbsearch", "ldbedit" and more. Note that it only applies
415    to the ldb tools when they are built as part of Samba or with Samba
416    extensions installed, which means the Samba builtin LDAP client library is
417    used.
419    It also applies to dcerpc client connections using ncacn_http (with https://),
420    which are only used by the openchange project. Support for ncacn_http
421    was introduced in version 4.2.0.
423    The security patches will introduce a new option called
424    "tls verify peer". Possible values are "no_check", "ca_only",
425    "ca_and_name_if_available", "ca_and_name" and "as_strict_as_possible".
427    If you use the self-signed certificates which are auto-generated
428    by Samba, you won't have a crl file and need to explicitly
429    set "tls verify peer = ca_and_name".
431 o  CVE-2016-2114
433    Due to a regression introduced in Samba 4.0.0,
434    an explicit "server signing = mandatory" in the [global] section
435    of the smb.conf was not enforced for clients using the SMB1 protocol.
437    As a result it does not enforce smb signing and allows man in the middle attacks.
439    This problem applies to all possible server roles:
440    standalone server, member server, classic primary domain controller,
441    classic backup domain controller and active directory domain controller.
443    In addition, when Samba is configured with "server role = active directory domain controller"
444    the effective default for the "server signing" option should be "mandatory".
446    During the early development of Samba 4 we had a new experimental
447    file server located under source4/smb_server. But before
448    the final 4.0.0 release we switched back to the file server
449    under source3/smbd.
451    But the logic for the correct default of "server signing" was not
452    ported correctly ported.
454    Note that the default for server roles other than active directory domain
455    controller, is "off" because of performance reasons.
457 o  CVE-2016-2115:
459    Samba has an option called "client signing", this is turned off by default
460    for performance reasons on file transfers.
462    This option is also used when using DCERPC with ncacn_np.
464    In order to get integrity protection for ipc related communication
465    by default the "client ipc signing" option is introduced.
466    The effective default for this new option is "mandatory".
468    In order to be compatible with more SMB server implementations,
469    the following additional options are introduced:
470    "client ipc min protocol" ("NT1" by default) and
471    "client ipc max protocol" (the highest support SMB2/3 dialect by default).
472    These options overwrite the "client min protocol" and "client max protocol"
473    options, because the default for "client max protocol" is still "NT1".
474    The reason for this is the fact that all SMB2/3 support SMB signing,
475    while there are still SMB1 implementations which don't offer SMB signing
476    by default (this includes Samba versions before 4.0.0).
478    Note that winbindd (in versions 4.2.0 and higher) enforces SMB signing
479    against active directory domain controllers despite of the
480    "client signing" and "client ipc signing" options.
482 o  CVE-2016-2118 (a.k.a. BADLOCK):
484    The Security Account Manager Remote Protocol [MS-SAMR] and the
485    Local Security Authority (Domain Policy) Remote Protocol [MS-LSAD]
486    are both vulnerable to man in the middle attacks. Both are application level
487    protocols based on the generic DCE 1.1 Remote Procedure Call (DCERPC) protocol.
489    These protocols are typically available on all Windows installations
490    as well as every Samba server. They are used to maintain
491    the Security Account Manager Database. This applies to all
492    roles, e.g. standalone, domain member, domain controller.
494    Any authenticated DCERPC connection a client initiates against a server
495    can be used by a man in the middle to impersonate the authenticated user
496    against the SAMR or LSAD service on the server.
498    The client chosen application protocol, auth type (e.g. Kerberos or NTLMSSP)
499    and auth level (NONE, CONNECT, PKT_INTEGRITY, PKT_PRIVACY) do not matter
500    in this case. A man in the middle can change auth level to CONNECT
501    (which means authentication without message protection) and take over
502    the connection.
504    As a result, a man in the middle is able to get read/write access to the
505    Security Account Manager Database, which reveals all passwords
506    and any other potential sensitive information.
508    Samba running as an active directory domain controller is additionally
509    missing checks to enforce PKT_PRIVACY for the
510    Directory Replication Service Remote Protocol [MS-DRSR] (drsuapi)
511    and the BackupKey Remote Protocol [MS-BKRP] (backupkey).
512    The Domain Name Service Server Management Protocol [MS-DNSP] (dnsserver)
513    is not enforcing at least PKT_INTEGRITY.
515 ====================
516 New smb.conf options
517 ====================
519   allow dcerpc auth level connect (G)
521     This option controls whether DCERPC services are allowed to be used with
522     DCERPC_AUTH_LEVEL_CONNECT, which provides authentication, but no per
523     message integrity nor privacy protection.
525     Some interfaces like samr, lsarpc and netlogon have a hard-coded default
526     of no and epmapper, mgmt and rpcecho have a hard-coded default of yes.
528     The behavior can be overwritten per interface name (e.g. lsarpc,
529     netlogon, samr, srvsvc, winreg, wkssvc ...) by using
530     'allow dcerpc auth level connect:interface = yes' as option.
532     This option yields precedence to the implementation specific restrictions.
533     E.g. the drsuapi and backupkey protocols require DCERPC_AUTH_LEVEL_PRIVACY.
534     The dnsserver protocol requires DCERPC_AUTH_LEVEL_INTEGRITY.
536     Default: allow dcerpc auth level connect = no
538     Example: allow dcerpc auth level connect = yes
540   client ipc signing (G)
542     This controls whether the client is allowed or required to use
543     SMB signing for IPC$ connections as DCERPC transport. Possible
544     values are auto, mandatory and disabled.
546     When set to mandatory or default, SMB signing is required.
548     When set to auto, SMB signing is offered, but not enforced and
549     if set to disabled, SMB signing is not offered either.
551     Connections from winbindd to Active Directory Domain Controllers
552     always enforce signing.
554     Default: client ipc signing = default
556   client ipc max protocol (G)
558     The value of the parameter (a string) is the highest protocol level that will
559     be supported for IPC$ connections as DCERPC transport.
561     Normally this option should not be set as the automatic negotiation phase
562     in the SMB protocol takes care of choosing the appropriate protocol.
564     The value default refers to the latest supported protocol, currently SMB3_11.
566     See client max protocol for a full list of available protocols.
567     The values CORE, COREPLUS, LANMAN1, LANMAN2 are silently upgraded to NT1.
569     Default: client ipc max protocol = default
571     Example: client ipc max protocol = SMB2_10
573   client ipc min protocol (G)
575     This setting controls the minimum protocol version that the will be
576     attempted to use for IPC$ connections as DCERPC transport.
578     Normally this option should not be set as the automatic negotiation phase
579     in the SMB protocol takes care of choosing the appropriate protocol.
581     The value default refers to the higher value of NT1 and the
582     effective value of "client min protocol".
584     See client max protocol for a full list of available protocols.
585     The values CORE, COREPLUS, LANMAN1, LANMAN2 are silently upgraded to NT1.
587     Default: client ipc min protocol = default
589     Example: client ipc min protocol = SMB3_11
591   ldap server require strong auth (G)
593     The ldap server require strong auth defines whether the
594     ldap server requires ldap traffic to be signed or
595     signed and encrypted (sealed). Possible values are no,
596     allow_sasl_over_tls and yes.
598     A value of no allows simple and sasl binds over all transports.
600     A value of allow_sasl_over_tls allows simple and sasl binds (without sign or seal)
601     over TLS encrypted connections. Unencrypted connections only
602     allow sasl binds with sign or seal.
604     A value of yes allows only simple binds over TLS encrypted connections.
605     Unencrypted connections only allow sasl binds with sign or seal.
607     Default: ldap server require strong auth = yes
609   raw NTLMv2 auth (G)
611     This parameter determines whether or not smbd(8) will allow SMB1 clients
612     without extended security (without SPNEGO) to use NTLMv2 authentication.
614     If this option, lanman auth and ntlm auth are all disabled, then only
615     clients with SPNEGO support will be permitted. That means NTLMv2 is only
616     supported within NTLMSSP.
618     Default: raw NTLMv2 auth = no
620   tls verify peer (G)
622     This controls if and how strict the client will verify the peer's
623     certificate and name. Possible values are (in increasing order): no_check,
624     ca_only, ca_and_name_if_available, ca_and_name and as_strict_as_possible.
626     When set to no_check the certificate is not verified at all,
627     which allows trivial man in the middle attacks.
629     When set to ca_only the certificate is verified to be signed from a ca
630     specified in the "tls ca file" option. Setting "tls ca file" to a valid file
631     is required. The certificate lifetime is also verified. If the "tls crl file"
632     option is configured, the certificate is also verified against
633     the ca crl.
635     When set to ca_and_name_if_available all checks from ca_only are performed.
636     In addition, the peer hostname is verified against the certificate's
637     name, if it is provided by the application layer and not given as
638     an ip address string.
640     When set to ca_and_name all checks from ca_and_name_if_available are performed.
641     In addition the peer hostname needs to be provided and even an ip
642     address is checked against the certificate's name.
644     When set to as_strict_as_possible all checks from ca_and_name are performed.
645     In addition the "tls crl file" needs to be configured. Future versions
646     of Samba may implement additional checks.
648     Default: tls verify peer = as_strict_as_possible
650   tls priority (G) (backported from Samba 4.3 to Samba 4.2)
652     This option can be set to a string describing the TLS protocols to be
653     supported in the parts of Samba that use GnuTLS, specifically the AD DC.
655     The default turns off SSLv3, as this protocol is no longer considered
656     secure after CVE-2014-3566 (otherwise known as POODLE) impacted SSLv3 use
657     in HTTPS applications.
659     The valid options are described in the GNUTLS Priority-Strings
660     documentation at http://gnutls.org/manual/html_node/Priority-Strings.html
662     Default: tls priority = NORMAL:-VERS-SSL3.0
664 ================
665 Behavior changes
666 ================
668 o  The default auth level for authenticated binds has changed from
669    DCERPC_AUTH_LEVEL_CONNECT to DCERPC_AUTH_LEVEL_INTEGRITY.
670    That means ncacn_ip_tcp:server is now implicitly the same
671    as ncacn_ip_tcp:server[sign] and offers a similar protection
672    as ncacn_np:server, which relies on smb signing.
674 o  The following constraints are applied to SMB1 connections:
676    - "client lanman auth = yes" is now consistently
677      required for authenticated connections using the
678      SMB1 LANMAN2 dialect.
679    - "client ntlmv2 auth = yes" and "client use spnego = yes"
680      (both the default values), require extended security (SPNEGO)
681      support from the server. That means NTLMv2 is only used within
682      NTLMSSP.
684 o  Tools like "samba-tool", "ldbsearch", "ldbedit" and more obey the
685    default of "client ldap sasl wrapping = sign". Even with
686    "client ldap sasl wrapping = plain" they will automatically upgrade
687    to "sign" when getting LDAP_STRONG_AUTH_REQUIRED from the LDAP
688    server.
690 Changes since 4.4.0:
691 ====================
693 o  Jeremy Allison <jra@samba.org>
694    * Bug 11344 - CVE-2015-5370: Multiple errors in DCE-RPC code.
696 o  Christian Ambach <ambi@samba.org>
697    * Bug 11804 - prerequisite backports for the security release on
698      April 12th, 2016.
700 o  Ralph Boehme <slow@samba.org>
701    * Bug 11644 - CVE-2016-2112: The LDAP client and server don't enforce
702      integrity protection.
704 o  Günther Deschner <gd@samba.org>
705    * Bug 11749 - CVE-2016-2111: NETLOGON Spoofing Vulnerability.
707    * Bug 11804 - prerequisite backports for the security release on
708      April 12th, 2016.
710 o  Volker Lendecke <vl@samba.org>
711    * Bug 11804 - prerequisite backports for the security release on
712      April 12th, 2016.
714 o  Stefan Metzmacher <metze@samba.org>
715    * Bug 11344 - CVE-2015-5370: Multiple errors in DCE-RPC code.
717    * Bug 11616 - CVE-2016-2118: SAMR and LSA man in the middle attacks possible.
719    * Bug 11644 - CVE-2016-2112: The LDAP client and server doesn't enforce
720      integrity protection.
722    * Bug 11687 - CVE-2016-2114: "server signing = mandatory" not enforced.
724    * Bug 11688 - CVE-2016-2110: Man in the middle attacks possible with NTLMSSP.
726    * Bug 11749 - CVE-2016-2111: NETLOGON Spoofing Vulnerability.
728    * Bug 11752 - CVE-2016-2113: Missing TLS certificate validation allows man in
729      the middle attacks.
731    * Bug 11756 - CVE-2016-2115: SMB client connections for IPC traffic are not
732      integrity protected.
734    * Bug 11804 - prerequisite backports for the security release on
735      April 12th, 2016.
738 #######################################
739 Reporting bugs & Development Discussion
740 #######################################
742 Please discuss this release on the samba-technical mailing list or by
743 joining the #samba-technical IRC channel on irc.freenode.net.
745 If you do report problems then please try to send high quality
746 feedback. If you don't provide vital information to help us track down
747 the problem then you will probably be ignored.  All bug reports should
748 be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
749 database (https://bugzilla.samba.org/).
752 ======================================================================
753 == Our Code, Our Bugs, Our Responsibility.
754 == The Samba Team
755 ======================================================================
758 ----------------------------------------------------------------------
761                    =============================
762                    Release Notes for Samba 4.4.0
763                            March 22, 2016
764                    =============================
767 This is the first stable release of the Samba 4.4 release series.
770 UPGRADING
771 =========
773 Nothing special.
776 NEW FEATURES/CHANGES
777 ====================
779 Asynchronous flush requests
780 ---------------------------
782 Flush requests from SMB2/3 clients are handled asynchronously and do
783 not block the processing of other requests. Note that 'strict sync'
784 has to be set to 'yes' for Samba to honor flush requests from SMB
785 clients.
787 s3: smbd
788 --------
790 Remove '--with-aio-support' configure option. We no longer would ever prefer
791 POSIX-RT aio, use pthread_aio instead.
793 samba-tool sites
794 ----------------
796 The 'samba-tool sites' subcommand can now be run against another server by
797 specifying an LDB URL using the '-H' option and not against the local database
798 only (which is still the default when no URL is given).
800 samba-tool domain demote
801 ------------------------
803 Add '--remove-other-dead-server' option to 'samba-tool domain demote'
804 subcommand. The new version of this tool now can remove another DC that is
805 itself offline.  The '--remove-other-dead-server' removes as many references
806 to the DC as possible.
808 samba-tool drs clone-dc-database
809 --------------------------------
811 Replicate an initial clone of domain, but do not join it.
812 This is developed for debugging purposes, but not for setting up another DC.
814 pdbedit
815 -------
817 Add '--set-nt-hash' option to pdbedit to update user password from nt-hash
818 hexstring. 'pdbedit -vw' shows also password hashes.
820 smbstatus
821 ---------
823 'smbstatus' was enhanced to show the state of signing and encryption for
824 sessions and shares.
826 smbget
827 ------
828 The -u and -p options for user and password were replaced by the -U option that
829 accepts username[%password] as in many other tools of the Samba suite.
830 Similary, smbgetrc files do not accept username and password options any more,
831 only a single "user" option which also accepts user%password combinations.
832 The -P option was removed.
834 s4-rpc_server
835 -------------
837 Add a GnuTLS based backupkey implementation.
839 ntlm_auth
840 ---------
842 Using the '--offline-logon' enables ntlm_auth to use cached passwords when the
843 DC is offline.
845 Allow '--password' force a local password check for ntlm-server-1 mode.
847 vfs_offline
848 -----------
850 A new VFS module called vfs_offline has been added to mark all files in the
851 share as offline. It can be useful for shares mounted on top of a remote file
852 system (either through a samba VFS module or via FUSE).
857 The Samba KCC has been improved, but is still disabled by default.
862 There were several improvements concerning the Samba DNS server.
864 Active Directory
865 ----------------
867 There were some improvements in the Active Directory area.
869 WINS nsswitch module
870 --------------------
872 The WINS nsswitch module has been rewritten to address memory issues and to
873 simplify the code. The module now uses libwbclient to do WINS queries. This
874 means that winbind needs to be running in order to resolve WINS names using
875 the nss_wins module. This does not affect smbd.
877 CTDB changes
878 ------------
880 * CTDB now uses a newly implemented parallel database recovery scheme
881   that avoids deadlocks with smbd.
883   In certain circumstances CTDB and smbd could deadlock.  The new
884   recovery implementation avoid this.  It also provides improved
885   recovery performance.
887 * All files are now installed into and referred to by the paths
888   configured at build time.  Therefore, CTDB will now work properly
889   when installed into the default location at /usr/local.
891 * Public CTDB header files are no longer installed, since Samba and
892   CTDB are built from within the same source tree.
894 * CTDB_DBDIR can now be set to tmpfs[:<tmpfs-options>]
896   This will cause volatile TDBs to be located in a tmpfs.  This can
897   help to avoid performance problems associated with contention on the
898   disk where volatile TDBs are usually stored.  See ctdbd.conf(5) for
899   more details.
901 * Configuration variable CTDB_NATGW_SLAVE_ONLY is no longer used.
902   Instead, nodes should be annotated with the "slave-only" option in
903   the CTDB NAT gateway nodes file.  This file must be consistent
904   across nodes in a NAT gateway group.  See ctdbd.conf(5) for more
905   details.
907 * New event script 05.system allows various system resources to be
908   monitored
910   This can be helpful for explaining poor performance or unexpected
911   behaviour.  New configuration variables are
912   CTDB_MONITOR_FILESYSTEM_USAGE, CTDB_MONITOR_MEMORY_USAGE and
913   CTDB_MONITOR_SWAP_USAGE.  Default values cause warnings to be
914   logged.  See the SYSTEM RESOURCE MONITORING CONFIGURATION in
915   ctdbd.conf(5) for more information.
917   The memory, swap and filesystem usage monitoring previously found in
918   00.ctdb and 40.fs_use is no longer available.  Therefore,
919   configuration variables CTDB_CHECK_FS_USE, CTDB_MONITOR_FREE_MEMORY,
920   CTDB_MONITOR_FREE_MEMORY_WARN and CTDB_CHECK_SWAP_IS_NOT_USED are
921   now ignored.
923 * The 62.cnfs eventscript has been removed.  To get a similar effect
924   just do something like this:
926       mmaddcallback ctdb-disable-on-quorumLoss \
927         --command /usr/bin/ctdb \
928         --event quorumLoss --parms "disable"
930       mmaddcallback ctdb-enable-on-quorumReached \
931         --command /usr/bin/ctdb \
932         --event quorumReached --parms "enable"
934 * The CTDB tunable parameter EventScriptTimeoutCount has been renamed
935   to MonitorTimeoutCount
937   It has only ever been used to limit timed-out monitor events.
939   Configurations containing CTDB_SET_EventScriptTimeoutCount=<n> will
940   cause CTDB to fail at startup.  Useful messages will be logged.
942 * The commandline option "-n all" to CTDB tool has been removed.
944   The option was not uniformly implemented for all the commands.
945   Instead of command "ctdb ip -n all", use "ctdb ip all".
947 * All CTDB current manual pages are now correctly installed
950 EXPERIMENTAL FEATURES
951 =====================
953 SMB3 Multi-Channel
954 ------------------
956 Samba 4.4.0 adds *experimental* support for SMB3 Multi-Channel.
957 Multi-Channel is an SMB3 protocol feature that allows the client
958 to bind multiple transport connections into one authenticated
959 SMB session. This allows for increased fault tolerance and
960 throughput. The client chooses transport connections as reported
961 by the server and also chooses over which of the bound transport
962 connections to send traffic. I/O operations for a given file
963 handle can span multiple network connections this way.
964 An SMB multi-channel session will be valid as long as at least
965 one of its channels are up.
967 In Samba, multi-channel can be enabled by setting the new
968 smb.conf option "server multi channel support" to "yes".
969 It is disabled by default.
971 Samba has to report interface speeds and some capabilities to
972 the client. On Linux, Samba can auto-detect the speed of an
973 interface. But to support other platforms, and in order to be
974 able to manually override the detected values, the "interfaces"
975 smb.conf option has been given an extended syntax, by which an
976 interface specification can additionally carry speed and
977 capability information. The extended syntax looks like this
978 for setting the speed to 1 gigabit per second:
980     interfaces = 192.168.1.42;speed=1000000000
982 This extension should be used with care and are mainly intended
983 for testing. See the smb.conf manual page for details.
985 CAVEAT: While this should be working without problems mostly,
986 there are still corner cases in the treatment of channel failures
987 that may result in DATA CORRUPTION when these race conditions hit.
988 It is hence
990     NOT RECOMMENDED TO USE MULTI-CHANNEL IN PRODUCTION
992 at this stage. This situation can be expected to improve during
993 the life-time of the 4.4 release. Feed-back from test-setups is
994 highly welcome.
997 REMOVED FEATURES
998 ================
1000 Public headers
1001 --------------
1003 Several public headers are not installed any longer. They are made for internal
1004 use only. More public headers will very likely be removed in future releases.
1006 The following headers are not installed any longer:
1007 dlinklist.h, gen_ndr/epmapper.h, gen_ndr/mgmt.h, gen_ndr/ndr_atsvc_c.h,
1008 gen_ndr/ndr_epmapper_c.h, gen_ndr/ndr_epmapper.h, gen_ndr/ndr_mgmt_c.h,
1009 gen_ndr/ndr_mgmt.h,gensec.h, ldap_errors.h, ldap_message.h, ldap_ndr.h,
1010 ldap-util.h, pytalloc.h, read_smb.h, registry.h, roles.h, samba_util.h,
1011 smb2_constants.h, smb2_create_blob.h, smb2.h, smb2_lease.h, smb2_signing.h,
1012 smb_cli.h, smb_cliraw.h, smb_common.h, smb_composite.h, smb_constants.h,
1013 smb_raw.h, smb_raw_interfaces.h, smb_raw_signing.h, smb_raw_trans2.h,
1014 smb_request.h, smb_seal.h, smb_signing.h, smb_unix_ext.h, smb_util.h,
1015 torture.h, tstream_smbXcli_np.h.
1017 vfs_smb_traffic_analyzer
1018 ------------------------
1020 The SMB traffic analyzer VFS module has been removed, because it is not
1021 maintained any longer and not widely used.
1023 vfs_scannedonly
1024 ---------------
1026 The scannedonly VFS module has been removed, because it is not maintained
1027 any longer.
1029 smb.conf changes
1030 ----------------
1032   Parameter Name                Description             Default
1033   --------------                -----------             -------
1034   aio max threads               New                     100
1035   ldap page size                Changed default         1000
1036   server multi channel support  New                     No
1037   interfaces                    Extended syntax
1040 KNOWN ISSUES
1041 ============
1043 Currently none.
1046 CHANGES SINCE 4.4.0rc5
1047 ======================
1049 o  Michael Adam <obnox@samba.org>
1050    * BUG 11796: smbd: Enable multi-channel if 'server multi channel support =
1051      yes' in the config.
1053 o  Günther Deschner <gd@samba.org>
1054    * BUG 11802: lib/socket/interfaces: Fix some uninitialied bytes.
1056 o  Uri Simchoni <uri@samba.org>
1057    * BUG 11798: build: Fix build when '--without-quota' specified.
1060 CHANGES SINCE 4.4.0rc4
1061 ======================
1063 o  Andrew Bartlett <abartlet@samba.org>
1064    * BUG 11780: mkdir can return ACCESS_DENIED incorrectly on create race.
1065    * BUG 11783: Mismatch between local and remote attribute ids lets
1066      replication fail with custom schema.
1067    * BUG 11789: Talloc: Version 2.1.6.
1069 o  Ira Cooper <ira@samba.org>
1070    * BUG 11774: vfs_glusterfs: Fix use after free in AIO callback.
1072 o  Günther Deschner <gd@samba.org>
1073    * BUG 11755: Fix net join.
1075 o  Amitay Isaacs <amitay@gmail.com>
1076    * BUG 11770: Reset TCP Connections during IP failover.
1078 o  Justin Maggard <jmaggard10@gmail.com>
1079    * BUG 11773: s3:smbd: Add negprot remote arch detection for OSX.
1081 o  Stefan Metzmacher <metze@samba.org>
1082    * BUG 11772: ldb: Version 1.1.26.
1083    * BUG 11782: "trustdom_list_done: Got invalid trustdom response" message
1084      should be avoided.
1086 o  Uri Simchoni <uri@samba.org>
1087    * BUG 11769: libnet: Make Kerberos domain join site-aware.
1088    * BUG 11788: Quota is not supported on Solaris 10.
1091 CHANGES SINCE 4.4.0rc3
1092 ======================
1094 o  Jeremy Allison <jra@samba.org>
1095    * BUG 11648: CVE-2015-7560: Getting and setting Windows ACLs on symlinks can
1096      change permissions on link target.
1098 o  Christian Ambach <ambi@samba.org>
1099    * BUG 11767: s3:utils/smbget: Fix option parsing.
1101 o  Alberto Maria Fiaschi <alberto.fiaschi@estar.toscana.it>
1102    * BUG 8093: Access based share enum: handle permission set in configuration
1103      files.
1105 o  Stefan Metzmacher <metze@samba.org>
1106    * BUG 11702: s3:clispnego: Fix confusing warning in spnego_gen_krb5_wrap().
1107    * BUG 11742: tevent: version 0.9.28: Fix memory leak when old signal action
1108      restored.
1109    * BUG 11755: s3:libads: setup the msDS-SupportedEncryptionTypes attribute on
1110      ldap_add.
1111    * BUGs 11128, 11686: CVE-2016-0771: Read of uninitialized memory DNS TXT
1112      handling.
1114 o  Garming Sam <garming@catalyst.net.nz>
1115    * BUGs 11128, 11686: CVE-2016-0771: Read of uninitialized memory DNS TXT
1116      handling.
1118 o  Uri Simchoni <uri@samba.org>
1119    * BUG 11691: winbindd: Return trust parameters when listing trusts.
1120    * BUG 11753: smbd: Ignore SVHDX create context.
1121    * BUG 11763: passdb: Add linefeed to debug message.
1124 CHANGES SINCE 4.4.0rc2
1125 ======================
1127 o  Michael Adam <obnox@samba.org>
1128    * BUG 11723: lib:socket: Fix CID 1350010: Integer OVERFLOW_BEFORE_WIDEN.
1129    * BUG 11735: lib:socket: Fix CID 1350009: Fix illegal memory accesses
1130      (BUFFER_SIZE_WARNING).
1132 o  Jeremy Allison <jra@samba.org>
1133    * BUG 10489: s3: smbd: posix_acls: Fix check for setting u:g:o entry on a
1134      filesystem with no ACL support.
1136 o  Christian Ambach <ambi@samba.org>
1137    * BUG 11700: s3:utils/smbget: Set default blocksize.
1139 o  Anoop C S <anoopcs@redhat.com>
1140    * BUG 11734: lib/socket: Fix improper use of default interface speed.
1142 o  Ralph Boehme <slow@samba.org>
1143    * BUG 11714: lib/tsocket: Work around sockets not supporting FIONREAD.
1145 o  Volker Lendecke <vl@samba.org>
1146    * BUG 11724: smbd: Fix CID 1351215 Improper use of negative value.
1147    * BUG 11725: smbd: Fix CID 1351216 Dereference null return value.
1148    * BUG 11732: param: Fix str_list_v3 to accept ; again.
1150 o  Noel Power <noel.power@suse.com>
1151    * BUG 11738: libcli: Fix debug message, print sid string for new_ace trustee.
1153 o  Jose A. Rivera <jarrpa@samba.org>
1154    * BUG 11727: s3:smbd:open: Skip redundant call to file_set_dosmode when
1155      creating a new file.
1157 o  Andreas Schneider <asn@samba.org>
1158    * BUG 11730: docs: Add manpage for cifsdd.
1159    * BUG 11739: Fix installation path of Samba helper binaries.
1161 o  Berend De Schouwer <berend.de.schouwer@gmail.com>
1162    * BUG 11643: docs: Add example for domain logins to smbspool man page.
1164 o  Martin Schwenke <martin@meltin.net>
1165    * BUG 11719: ctdb-scripts: Drop use of "smbcontrol winbindd ip-dropped ..."
1167 o  Hemanth Thummala <hemanth.thummala@nutanix.com>
1168    * BUG 11708: loadparm: Fix memory leak issue.
1169    * BUG 11740: Fix memory leak in loadparm.
1172 CHANGES SINCE 4.4.0rc1
1173 ======================
1175 o  Michael Adam <obnox@samba.org>
1176    * BUG 11715: s3:vfs:glusterfs: Fix build after quota changes.
1178 o  Jeremy Allison <jra@samba.org>
1179    * BUG 11703: s3: smbd: Fix timestamp rounding inside SMB2 create.
1181 o  Christian Ambach <ambi@samba.org>
1182    * BUG 11700: Streamline 'smbget' options with the rest of the Samba utils.
1184 o  Günther Deschner <gd@samba.org>
1185    * BUG 11696: ctdb: Do not provide a useless pkgconfig file for ctdb.
1187 o  Stefan Metzmacher <metze@samba.org>
1188    * BUG 11699: Crypto.Cipher.ARC4 is not available on some platforms, fallback
1189      to M2Crypto.RC4.RC4 then.
1191 o  Amitay Isaacs <amitay@gmail.com>
1192    * BUG 11705: Sockets with htons(IPPROTO_RAW) and CVE-2015-8543.
1194 o  Andreas Schneider <asn@samba.org>
1195    * BUG 11690: docs: Add smbspool_krb5_wrapper manpage.
1197 o  Uri Simchoni <uri@samba.org>
1198    * BUG 11681: smbd: Show correct disk size for different quota and dfree block
1199      sizes.
1202 #######################################
1203 Reporting bugs & Development Discussion
1204 #######################################
1206 Please discuss this release on the samba-technical mailing list or by
1207 joining the #samba-technical IRC channel on irc.freenode.net.
1209 If you do report problems then please try to send high quality
1210 feedback. If you don't provide vital information to help us track down
1211 the problem then you will probably be ignored.  All bug reports should
1212 be filed under the Samba 4.1 and newer product in the project's Bugzilla
1213 database (https://bugzilla.samba.org/).
1216 ======================================================================
1217 == Our Code, Our Bugs, Our Responsibility.
1218 == The Samba Team
1219 ======================================================================