librpc/dns: remove original_id from dns_fake_tsig_rec
[obnox/samba/samba-obnox.git] / WHATSNEW.txt
1                    =============================
2                    Release Notes for Samba 4.4.4
3                            June 7, 2016
4                    =============================
5
6
7 This is the latest stable release of Samba 4.4.
8
9
10 Changes since 4.4.3:
11 --------------------
12
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.
19
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.
23
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.
29
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.
34
35 o  Alexander Bokovoy <ab@samba.org>
36    * BUG 11936: s3-smbd: Support systemd 230.
37
38 o  Ira Cooper <ira@samba.org>
39    * BUG 11907: source3: Honor the core soft limit of the OS.
40
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.
47
48 o  Robin Hack <hack.robin@gmail.com>
49    * BUG 11890: ldb-samba/ldb_matching_rules: Fix CID 1349424 - Uninitialized
50      pointer read.
51
52 o  Volker Lendecke <vl@samba.org>
53    * BUG 11844: dbwrap_ctdb: Fix ENOENT->NT_STATUS_NOT_FOUND.
54
55 o  Robin McCorkell <robin@mccorkell.me.uk>
56    * BUG 11276: Correctly set cli->raw_status for libsmbclient in SMB2 code.
57
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.
63
64 o  Luca Olivetti <luca@wetron.es>
65    * BUG 11530: pdb: Fix segfault in pdb_ldap for missing gecos.
66
67 o  Rowland Penny <rpenny@samba.org>
68    * BUG 11613: Allow 'samba-tool fsmo' to cope with empty or missing fsmo
69      roles.
70
71 o  Anoop C S <anoopcs@redhat.com>
72    * BUG 11907: packaging: Set default limit for core file size in service
73      files.
74
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.
78
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.
83
84 o  Raghavendra Talur <rtalur@redhat.com>
85    * BUG 11907: init: Set core file size to unlimited by default.
86
87 o  Hemanth Thummala <hemanth.thummala@nutanix.com>
88    * BUG 11934: Fix memory leak in share mode locking.
89
90
91 #######################################
92 Reporting bugs & Development Discussion
93 #######################################
94
95 Please discuss this release on the samba-technical mailing list or by
96 joining the #samba-technical IRC channel on irc.freenode.net.
97
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/).
103
104
105 ======================================================================
106 == Our Code, Our Bugs, Our Responsibility.
107 == The Samba Team
108 ======================================================================
109
110
111 Release notes for older releases follow:
112 ----------------------------------------
113
114                    =============================
115                    Release Notes for Samba 4.4.3
116                            May 2, 2016
117                    =============================
118
119
120 This is the latest stable release of Samba 4.4.
121
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.
125
126
127 Changes since 4.4.2:
128 --------------------
129
130 o  Michael Adam <obnox@samba.org>
131    * BUG 11786: idmap_hash: Only allow the hash module for default idmap config.
132
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.
136
137 o  Andrew Bartlett <abartlet@samba.org>
138    * BUG 11789: Fix returning of ldb.MessageElement.
139
140 o  Ralph Boehme <slow@samba.org>
141    * BUG 11855: cleanupd: Restart as needed.
142
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.
147
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.
153
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'.
164
165 o  Tom Mortensen <tomm@lime-technology.com>
166    * BUG 11875: nss_wins: Fix the hostent setup.
167
168 o  Garming Sam <garming@catalyst.net.nz>
169    * BUG 11789: build: Mark explicit dependencies on pytalloc-util.
170
171 o  Partha Sarathi <partha@exablox.com>
172    * BUG 11819: Fix the smb2_setinfo to handle FS info types and FSQUOTA
173      infolevel.
174
175 o  Jorge Schrauwen <sjorge@blackdot.be>
176    * BUG 11816: configure: Don't check for inotify on illumos.
177
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.
183
184 o  Hemanth Thummala <hemanth.thummala@nutanix.com>
185    * BUG 11840: Mask general purpose signals for notifyd.
186
187
188 #######################################
189 Reporting bugs & Development Discussion
190 #######################################
191
192 Please discuss this release on the samba-technical mailing list or by
193 joining the #samba-technical IRC channel on irc.freenode.net.
194
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/).
200
201
202 ======================================================================
203 == Our Code, Our Bugs, Our Responsibility.
204 == The Samba Team
205 ======================================================================
206
207
208 ----------------------------------------------------------------------
209
210
211                    =============================
212                    Release Notes for Samba 4.4.2
213                            April 12, 2016
214                    =============================
215
216 This is a security release containing one additional
217 regression fix for the security release 4.4.1.
218
219 This fixes a regression that prevents things like 'net ads join'
220 from working against a Windows 2003 domain.
221
222 Changes since 4.4.1:
223 ====================
224
225 o  Stefan Metzmacher <metze@samba.org>
226    * Bug 11804 - prerequisite backports for the security release on
227      April 12th, 2016
228
229
230 -----------------------------------------------------------------------
231
232
233                    =============================
234                    Release Notes for Samba 4.4.1
235                            April 12, 2016
236                    =============================
237
238
239 This is a security release in order to address the following CVEs:
240
241 o  CVE-2015-5370 (Multiple errors in DCE-RPC code)
242
243 o  CVE-2016-2110 (Man in the middle attacks possible with NTLMSSP)
244
245 o  CVE-2016-2111 (NETLOGON Spoofing Vulnerability)
246
247 o  CVE-2016-2112 (LDAP client and server don't enforce integrity)
248
249 o  CVE-2016-2113 (Missing TLS certificate validation)
250
251 o  CVE-2016-2114 ("server signing = mandatory" not enforced)
252
253 o  CVE-2016-2115 (SMB IPC traffic is not integrity protected)
254
255 o  CVE-2016-2118 (SAMR and LSA man in the middle attacks possible)
256
257 The number of changes are rather huge for a security release,
258 compared to typical security releases.
259
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.
263
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.
267
268 =======
269 Details
270 =======
271
272 o  CVE-2015-5370
273
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.
279
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.
284
285    The above applies all possible server roles Samba can operate in.
286
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!
290
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.
296
297 o  CVE-2016-2110:
298
299    There are several man in the middle attacks possible with
300    NTLMSSP authentication.
301
302    E.g. NTLMSSP_NEGOTIATE_SIGN and NTLMSSP_NEGOTIATE_SEAL
303    can be cleared by a man in the middle.
304
305    This was by protocol design in earlier Windows versions.
306
307    Windows Server 2003 RTM and Vista RTM introduced a way
308    to protect against the trivial downgrade.
309
310    See MsvAvFlags and flag 0x00000002 in
311    https://msdn.microsoft.com/en-us/library/cc236646.aspx
312
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.
317
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.
325
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", ...
329
330    As an active directory member server LDAP is also used
331    by the winbindd service when connecting to domain controllers.
332
333    Samba also offers an LDAP server when running as
334    active directory domain controller.
335
336    The NTLMSSP authentication used by the SMB1 encryption
337    is protected by smb signing, see CVE-2015-5296.
338
339 o  CVE-2016-2111:
340
341    It's basically the same as CVE-2015-0005 for Windows:
342
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".
350
351    The vulnerability in Samba is worse as it doesn't require
352    credentials of a computer account in the domain.
353
354    This only applies to Samba running as classic primary domain controller,
355    classic backup domain controller or active directory domain controller.
356
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.
361
362    Note that this option also applies to Samba running as
363    standalone server and member server.
364
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.
369
370 o  CVE-2016-2112:
371
372    Samba uses various LDAP client libraries, a builtin one and/or the system
373    ldap libraries (typically openldap).
374
375    As active directory domain controller Samba also provides an LDAP server.
376
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.
380
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.
383
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.
389
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.
393
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".
398
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.
404
405 o  CVE-2016-2113:
406
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.
412
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.
418
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.
422
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".
426
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".
430
431 o  CVE-2016-2114
432
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.
436
437    As a result it does not enforce smb signing and allows man in the middle attacks.
438
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.
442
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".
445
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.
450
451    But the logic for the correct default of "server signing" was not
452    ported correctly ported.
453
454    Note that the default for server roles other than active directory domain
455    controller, is "off" because of performance reasons.
456
457 o  CVE-2016-2115:
458
459    Samba has an option called "client signing", this is turned off by default
460    for performance reasons on file transfers.
461
462    This option is also used when using DCERPC with ncacn_np.
463
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".
467
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).
477
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.
481
482 o  CVE-2016-2118 (a.k.a. BADLOCK):
483
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.
488
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.
493
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.
497
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.
503
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.
507
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.
514
515 ====================
516 New smb.conf options
517 ====================
518
519   allow dcerpc auth level connect (G)
520
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.
524
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.
527
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.
531
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.
535
536     Default: allow dcerpc auth level connect = no
537
538     Example: allow dcerpc auth level connect = yes
539
540   client ipc signing (G)
541
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.
545
546     When set to mandatory or default, SMB signing is required.
547
548     When set to auto, SMB signing is offered, but not enforced and
549     if set to disabled, SMB signing is not offered either.
550
551     Connections from winbindd to Active Directory Domain Controllers
552     always enforce signing.
553
554     Default: client ipc signing = default
555
556   client ipc max protocol (G)
557
558     The value of the parameter (a string) is the highest protocol level that will
559     be supported for IPC$ connections as DCERPC transport.
560
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.
563
564     The value default refers to the latest supported protocol, currently SMB3_11.
565
566     See client max protocol for a full list of available protocols.
567     The values CORE, COREPLUS, LANMAN1, LANMAN2 are silently upgraded to NT1.
568
569     Default: client ipc max protocol = default
570
571     Example: client ipc max protocol = SMB2_10
572
573   client ipc min protocol (G)
574
575     This setting controls the minimum protocol version that the will be
576     attempted to use for IPC$ connections as DCERPC transport.
577
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.
580
581     The value default refers to the higher value of NT1 and the
582     effective value of "client min protocol".
583
584     See client max protocol for a full list of available protocols.
585     The values CORE, COREPLUS, LANMAN1, LANMAN2 are silently upgraded to NT1.
586
587     Default: client ipc min protocol = default
588
589     Example: client ipc min protocol = SMB3_11
590
591   ldap server require strong auth (G)
592
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.
597
598     A value of no allows simple and sasl binds over all transports.
599
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.
603
604     A value of yes allows only simple binds over TLS encrypted connections.
605     Unencrypted connections only allow sasl binds with sign or seal.
606
607     Default: ldap server require strong auth = yes
608
609   raw NTLMv2 auth (G)
610
611     This parameter determines whether or not smbd(8) will allow SMB1 clients
612     without extended security (without SPNEGO) to use NTLMv2 authentication.
613
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.
617
618     Default: raw NTLMv2 auth = no
619
620   tls verify peer (G)
621
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.
625
626     When set to no_check the certificate is not verified at all,
627     which allows trivial man in the middle attacks.
628
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.
634
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.
639
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.
643
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.
647
648     Default: tls verify peer = as_strict_as_possible
649
650   tls priority (G) (backported from Samba 4.3 to Samba 4.2)
651
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.
654
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.
658
659     The valid options are described in the GNUTLS Priority-Strings
660     documentation at http://gnutls.org/manual/html_node/Priority-Strings.html
661
662     Default: tls priority = NORMAL:-VERS-SSL3.0
663
664 ================
665 Behavior changes
666 ================
667
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.
673
674 o  The following constraints are applied to SMB1 connections:
675
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.
683
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.
689
690 Changes since 4.4.0:
691 ====================
692
693 o  Jeremy Allison <jra@samba.org>
694    * Bug 11344 - CVE-2015-5370: Multiple errors in DCE-RPC code.
695
696 o  Christian Ambach <ambi@samba.org>
697    * Bug 11804 - prerequisite backports for the security release on
698      April 12th, 2016.
699
700 o  Ralph Boehme <slow@samba.org>
701    * Bug 11644 - CVE-2016-2112: The LDAP client and server don't enforce
702      integrity protection.
703
704 o  Günther Deschner <gd@samba.org>
705    * Bug 11749 - CVE-2016-2111: NETLOGON Spoofing Vulnerability.
706
707    * Bug 11804 - prerequisite backports for the security release on
708      April 12th, 2016.
709
710 o  Volker Lendecke <vl@samba.org>
711    * Bug 11804 - prerequisite backports for the security release on
712      April 12th, 2016.
713
714 o  Stefan Metzmacher <metze@samba.org>
715    * Bug 11344 - CVE-2015-5370: Multiple errors in DCE-RPC code.
716
717    * Bug 11616 - CVE-2016-2118: SAMR and LSA man in the middle attacks possible.
718
719    * Bug 11644 - CVE-2016-2112: The LDAP client and server doesn't enforce
720      integrity protection.
721
722    * Bug 11687 - CVE-2016-2114: "server signing = mandatory" not enforced.
723
724    * Bug 11688 - CVE-2016-2110: Man in the middle attacks possible with NTLMSSP.
725
726    * Bug 11749 - CVE-2016-2111: NETLOGON Spoofing Vulnerability.
727
728    * Bug 11752 - CVE-2016-2113: Missing TLS certificate validation allows man in
729      the middle attacks.
730
731    * Bug 11756 - CVE-2016-2115: SMB client connections for IPC traffic are not
732      integrity protected.
733
734    * Bug 11804 - prerequisite backports for the security release on
735      April 12th, 2016.
736
737
738 #######################################
739 Reporting bugs & Development Discussion
740 #######################################
741
742 Please discuss this release on the samba-technical mailing list or by
743 joining the #samba-technical IRC channel on irc.freenode.net.
744
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/).
750
751
752 ======================================================================
753 == Our Code, Our Bugs, Our Responsibility.
754 == The Samba Team
755 ======================================================================
756
757
758 ----------------------------------------------------------------------
759
760
761                    =============================
762                    Release Notes for Samba 4.4.0
763                            March 22, 2016
764                    =============================
765
766
767 This is the first stable release of the Samba 4.4 release series.
768
769
770 UPGRADING
771 =========
772
773 Nothing special.
774
775
776 NEW FEATURES/CHANGES
777 ====================
778
779 Asynchronous flush requests
780 ---------------------------
781
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.
786
787 s3: smbd
788 --------
789
790 Remove '--with-aio-support' configure option. We no longer would ever prefer
791 POSIX-RT aio, use pthread_aio instead.
792
793 samba-tool sites
794 ----------------
795
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).
799
800 samba-tool domain demote
801 ------------------------
802
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.
807
808 samba-tool drs clone-dc-database
809 --------------------------------
810
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.
813
814 pdbedit
815 -------
816
817 Add '--set-nt-hash' option to pdbedit to update user password from nt-hash
818 hexstring. 'pdbedit -vw' shows also password hashes.
819
820 smbstatus
821 ---------
822
823 'smbstatus' was enhanced to show the state of signing and encryption for
824 sessions and shares.
825
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.
833
834 s4-rpc_server
835 -------------
836
837 Add a GnuTLS based backupkey implementation.
838
839 ntlm_auth
840 ---------
841
842 Using the '--offline-logon' enables ntlm_auth to use cached passwords when the
843 DC is offline.
844
845 Allow '--password' force a local password check for ntlm-server-1 mode.
846
847 vfs_offline
848 -----------
849
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).
853
854 KCC
855 ---
856
857 The Samba KCC has been improved, but is still disabled by default.
858
859 DNS
860 ---
861
862 There were several improvements concerning the Samba DNS server.
863
864 Active Directory
865 ----------------
866
867 There were some improvements in the Active Directory area.
868
869 WINS nsswitch module
870 --------------------
871
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.
876
877 CTDB changes
878 ------------
879
880 * CTDB now uses a newly implemented parallel database recovery scheme
881   that avoids deadlocks with smbd.
882
883   In certain circumstances CTDB and smbd could deadlock.  The new
884   recovery implementation avoid this.  It also provides improved
885   recovery performance.
886
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.
890
891 * Public CTDB header files are no longer installed, since Samba and
892   CTDB are built from within the same source tree.
893
894 * CTDB_DBDIR can now be set to tmpfs[:<tmpfs-options>]
895
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.
900
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.
906
907 * New event script 05.system allows various system resources to be
908   monitored
909
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.
916
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.
922
923 * The 62.cnfs eventscript has been removed.  To get a similar effect
924   just do something like this:
925
926       mmaddcallback ctdb-disable-on-quorumLoss \
927         --command /usr/bin/ctdb \
928         --event quorumLoss --parms "disable"
929
930       mmaddcallback ctdb-enable-on-quorumReached \
931         --command /usr/bin/ctdb \
932         --event quorumReached --parms "enable"
933
934 * The CTDB tunable parameter EventScriptTimeoutCount has been renamed
935   to MonitorTimeoutCount
936
937   It has only ever been used to limit timed-out monitor events.
938
939   Configurations containing CTDB_SET_EventScriptTimeoutCount=<n> will
940   cause CTDB to fail at startup.  Useful messages will be logged.
941
942 * The commandline option "-n all" to CTDB tool has been removed.
943
944   The option was not uniformly implemented for all the commands.
945   Instead of command "ctdb ip -n all", use "ctdb ip all".
946
947 * All CTDB current manual pages are now correctly installed
948
949
950 EXPERIMENTAL FEATURES
951 =====================
952
953 SMB3 Multi-Channel
954 ------------------
955
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.
966
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.
970
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:
979
980     interfaces = 192.168.1.42;speed=1000000000
981
982 This extension should be used with care and are mainly intended
983 for testing. See the smb.conf manual page for details.
984
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
989
990     NOT RECOMMENDED TO USE MULTI-CHANNEL IN PRODUCTION
991
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.
995
996
997 REMOVED FEATURES
998 ================
999
1000 Public headers
1001 --------------
1002
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.
1005
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.
1016
1017 vfs_smb_traffic_analyzer
1018 ------------------------
1019
1020 The SMB traffic analyzer VFS module has been removed, because it is not
1021 maintained any longer and not widely used.
1022
1023 vfs_scannedonly
1024 ---------------
1025
1026 The scannedonly VFS module has been removed, because it is not maintained
1027 any longer.
1028
1029 smb.conf changes
1030 ----------------
1031
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
1038
1039
1040 KNOWN ISSUES
1041 ============
1042
1043 Currently none.
1044
1045
1046 CHANGES SINCE 4.4.0rc5
1047 ======================
1048
1049 o  Michael Adam <obnox@samba.org>
1050    * BUG 11796: smbd: Enable multi-channel if 'server multi channel support =
1051      yes' in the config.
1052
1053 o  Günther Deschner <gd@samba.org>
1054    * BUG 11802: lib/socket/interfaces: Fix some uninitialied bytes.
1055
1056 o  Uri Simchoni <uri@samba.org>
1057    * BUG 11798: build: Fix build when '--without-quota' specified.
1058
1059
1060 CHANGES SINCE 4.4.0rc4
1061 ======================
1062
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.
1068
1069 o  Ira Cooper <ira@samba.org>
1070    * BUG 11774: vfs_glusterfs: Fix use after free in AIO callback.
1071
1072 o  Günther Deschner <gd@samba.org>
1073    * BUG 11755: Fix net join.
1074
1075 o  Amitay Isaacs <amitay@gmail.com>
1076    * BUG 11770: Reset TCP Connections during IP failover.
1077
1078 o  Justin Maggard <jmaggard10@gmail.com>
1079    * BUG 11773: s3:smbd: Add negprot remote arch detection for OSX.
1080
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.
1085
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.
1089
1090
1091 CHANGES SINCE 4.4.0rc3
1092 ======================
1093
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.
1097
1098 o  Christian Ambach <ambi@samba.org>
1099    * BUG 11767: s3:utils/smbget: Fix option parsing.
1100
1101 o  Alberto Maria Fiaschi <alberto.fiaschi@estar.toscana.it>
1102    * BUG 8093: Access based share enum: handle permission set in configuration
1103      files.
1104
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.
1113
1114 o  Garming Sam <garming@catalyst.net.nz>
1115    * BUGs 11128, 11686: CVE-2016-0771: Read of uninitialized memory DNS TXT
1116      handling.
1117
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.
1122
1123
1124 CHANGES SINCE 4.4.0rc2
1125 ======================
1126
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).
1131
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.
1135
1136 o  Christian Ambach <ambi@samba.org>
1137    * BUG 11700: s3:utils/smbget: Set default blocksize.
1138
1139 o  Anoop C S <anoopcs@redhat.com>
1140    * BUG 11734: lib/socket: Fix improper use of default interface speed.
1141
1142 o  Ralph Boehme <slow@samba.org>
1143    * BUG 11714: lib/tsocket: Work around sockets not supporting FIONREAD.
1144
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.
1149
1150 o  Noel Power <noel.power@suse.com>
1151    * BUG 11738: libcli: Fix debug message, print sid string for new_ace trustee.
1152
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.
1156
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.
1160
1161 o  Berend De Schouwer <berend.de.schouwer@gmail.com>
1162    * BUG 11643: docs: Add example for domain logins to smbspool man page.
1163
1164 o  Martin Schwenke <martin@meltin.net>
1165    * BUG 11719: ctdb-scripts: Drop use of "smbcontrol winbindd ip-dropped ..."
1166
1167 o  Hemanth Thummala <hemanth.thummala@nutanix.com>
1168    * BUG 11708: loadparm: Fix memory leak issue.
1169    * BUG 11740: Fix memory leak in loadparm.
1170
1171
1172 CHANGES SINCE 4.4.0rc1
1173 ======================
1174
1175 o  Michael Adam <obnox@samba.org>
1176    * BUG 11715: s3:vfs:glusterfs: Fix build after quota changes.
1177
1178 o  Jeremy Allison <jra@samba.org>
1179    * BUG 11703: s3: smbd: Fix timestamp rounding inside SMB2 create.
1180
1181 o  Christian Ambach <ambi@samba.org>
1182    * BUG 11700: Streamline 'smbget' options with the rest of the Samba utils.
1183
1184 o  Günther Deschner <gd@samba.org>
1185    * BUG 11696: ctdb: Do not provide a useless pkgconfig file for ctdb.
1186
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.
1190
1191 o  Amitay Isaacs <amitay@gmail.com>
1192    * BUG 11705: Sockets with htons(IPPROTO_RAW) and CVE-2015-8543.
1193
1194 o  Andreas Schneider <asn@samba.org>
1195    * BUG 11690: docs: Add smbspool_krb5_wrapper manpage.
1196
1197 o  Uri Simchoni <uri@samba.org>
1198    * BUG 11681: smbd: Show correct disk size for different quota and dfree block
1199      sizes.
1200
1201
1202 #######################################
1203 Reporting bugs & Development Discussion
1204 #######################################
1205
1206 Please discuss this release on the samba-technical mailing list or by
1207 joining the #samba-technical IRC channel on irc.freenode.net.
1208
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/).
1214
1215
1216 ======================================================================
1217 == Our Code, Our Bugs, Our Responsibility.
1218 == The Samba Team
1219 ======================================================================
1220