                   ==============================
                   Release Notes for Samba 4.3.11
                            July 07, 2016
                   ==============================


This is a security release in order to address the following defect:

o  CVE-2016-2119 (Client side SMB2/3 required signing can be downgraded)

=======
Details
=======

o  CVE-2016-2119:
   It's possible for an attacker to downgrade the required signing for
   an SMB2/3 client connection, by injecting the SMB2_SESSION_FLAG_IS_GUEST
   or SMB2_SESSION_FLAG_IS_NULL flags.

   This means that the attacker can impersonate a server being connected to by
   Samba, and return malicious results.

   The primary concern is with winbindd, as it uses DCERPC over SMB2 when talking
   to domain controllers as a member server, and trusted domains as a domain
   controller.  These DCE/RPC connections were intended to protected by the
   combination of "client ipc signing" and
   "client ipc max protocol" in their effective default settings
   ("mandatory" and "SMB3_11").

   Additionally, management tools like net, samba-tool and rpcclient use DCERPC
   over SMB2/3 connections.

   By default, other tools in Samba are unprotected, but rarely they are
   configured to use smb signing, via the "client signing" parameter (the default
   is "if_required").  Even more rarely the "client max protocol" is set to SMB2,
   rather than the NT1 default.

   If both these conditions are met, then this issue would also apply to these
   other tools, including command line tools like smbcacls, smbcquota, smbclient,
   smbget and applications using libsmbclient.


Changes since 4.3.10:
--------------------

o  Stefan Metzmacher <metze@samba.org>
   * BUG 11860: CVE-2016-2119: Fix client side SMB2 signing downgrade.
   * BUG 11948: Total dcerpc response payload more than 0x400000.


#######################################
Reporting bugs & Development Discussion
#######################################

Please discuss this release on the samba-technical mailing list or by
joining the #samba-technical IRC channel on irc.freenode.net.

If you do report problems then please try to send high quality
feedback. If you don't provide vital information to help us track down
the problem then you will probably be ignored.  All bug reports should
be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
database (https://bugzilla.samba.org/).


======================================================================
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
======================================================================


Release notes for older releases follow:
----------------------------------------

                   ==============================
                   Release Notes for Samba 4.3.10
                            June 15, 2016
                   ==============================


This is the latest stable release of Samba 4.3.


Changes since 4.3.9:
--------------------

o  Jeremy Allison <jra@samba.org>
   * BUG 10618: Do not ignore supplementary groups.

o  Christian Ambach <ambi@samba.org>
   * BUG 10796: s3:rpcclient: Make '--pw-nt-hash' option work.
   * BUG 11354: s3:libsmb/clifile: Use correct value for MaxParameterCount for
     setting EAs.
   * BUG 11438: s3:smbd/service disable case-sensitivity for SMB2/3 connections.

o  Ralph Boehme <slow@samba.org>
   * BUG 1703: s3:libnet:libnet_join: Add netbios aliases as SPNs.
   * BUG 11721: vfs_fruit: Add an option that allows disabling POSIX rename
     behaviour.

o  Alexander Bokovoy <ab@samba.org>
   * BUG 11936: s3-smbd: Support systemd 230.

o  Jérémie Courrèges-Anglas <jca@wxcvbn.org>
   * BUG 11864: Provide fallback code for non-portable clearenv(3).

o  Günther Deschner <gd@samba.org>
   * BUG 11864: s3:client:smbspool_krb5_wrapper: fix the non clearenv build.

o  Robin McCorkell <robin@mccorkell.me.uk>
   * BUG 11276: Correctly set cli->raw_status for libsmbclient in SMB2 code.

o  Stefan Metzmacher <metze@samba.org>
   * BUG 11910: s3:smbd: Fix anonymous authentication if signing is mandatory.
   * BUG 11912: libcli/auth: Let msrpc_parse() return talloc'ed empty strings.
   * BUG 11914: s3:ntlm_auth: Make ntlm_auth_generate_session_info() more
     complete.
   * BUG 11927: s3:rpcclient: Make use of SMB_SIGNING_IPC_DEFAULT.

o  Luca Olivetti <luca@wetron.es>
   * BUG 11530: pdb: Fix segfault in pdb_ldap for missing gecos.

o  Rowland Penny <rpenny@samba.org>
   * BUG 11613: samba-tool: Allow 'samba-tool fsmo' to cope with empty or missing
     fsmo roles.

o  Anoop C S <anoopcs@redhat.com>
   * BUG 11907: packaging: Set default limit for core file size in service
     files.

o  Andreas Schneider <asn@samba.org>
   * BUG 11922: s3-net: Convert the key_name to UTF8 during migration.
   * BUG 11935: s3-smbspool: Log to stderr.

o  Uri Simchoni <uri@samba.org>
   * BUG 11900: heimdal: Encode/decode kvno as signed integer.
   * BUG 11931: s3-quotas: Fix sysquotas_4B quota fetching for BSD.

o  Raghavendra Talur <rtalur@redhat.com>
   * BUG 11907: init: Set core file size to unlimited by default.

o  Hemanth Thummala <hemanth.thummala@nutanix.com>
   * BUG 11934: Fix memory leak in share mode locking.

o  Volker Lendecke <vl@samba.org>
   * BUG 11844: smbd: Fix an assert.

o  Lorinczy Zsigmond <lzsiga@freemail.c3.hu>
   * BUG 11947: lib: replace: snprintf - Fix length calculation for hex/octal
     64-bit values.


#######################################
Reporting bugs & Development Discussion
#######################################

Please discuss this release on the samba-technical mailing list or by
joining the #samba-technical IRC channel on irc.freenode.net.

If you do report problems then please try to send high quality
feedback. If you don't provide vital information to help us track down
the problem then you will probably be ignored.  All bug reports should
be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
database (https://bugzilla.samba.org/).


======================================================================
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
======================================================================


----------------------------------------------------------------------


                   =============================
                   Release Notes for Samba 4.3.9
                            May 2, 2016
                   =============================


This is the latest stable release of Samba 4.3.

This release fixes some regressions introduced by the last security fixes.
Please see bug https://bugzilla.samba.org/show_bug.cgi?id=11849 for a list of
bugs addressing these regressions and more information.


Changes since 4.3.8:
--------------------

o  Jeremy Allison <jra@samba.org>
   * BUG 11742: lib: tevent: Fix memory leak when old signal action restored.
   * BUG 11771: lib: tevent: Fix memory leak when old signal action restored.
   * BUG 11822: s3: libsmb: Fix error where short name length was read as 2
     bytes, should be 1.

o  Andrew Bartlett <abartlet@samba.org>
   * BUG 11780: smbd: Only check dev/inode in open_directory, not the full
     stat().
   * BUG 11789: pydsdb: Fix returning of ldb.MessageElement.

o  Berend De Schouwer <berend.de.schouwer@gmail.com>
   * BUG 11643: docs: Add example for domain logins to smbspool man page.

o  Günther Deschner <gd@samba.org>
   * BUG 11789: libsmb/pysmb: Add pytalloc-util dependency to fix the build.

o  Alberto Maria Fiaschi <alberto.fiaschi@estar.toscana.it>
   * BUG 8093: access based share enum: Handle permission set in configuration
      files.

o  Volker Lendecke <vl@samba.org>
   * BUG 11816: nwrap: Fix the build on Solaris.
   * BUG 11827: vfs_catia: Fix memleak.
   * BUG 11878: smbd: Avoid large reads beyond EOF.

o  Stefan Metzmacher <metze@samba.org>
   * BUG 11622: libcli/smb: Make sure we have a body size of 0x31 before
     dereferencing an ioctl response.
   * BUG 11623: libcli/smb: Fix BUFFER_OVERFLOW handling in tstream_smbXcli_np.
   * BUG 11755: s3:libads: Setup the msDS-SupportedEncryptionTypes attribute on
     ldap_add.
   * BUG 11771: tevent: Version 0.9.28. Fix memory leak when old signal action
     restored.
   * BUG 11782: s3:winbindd: Don't include two '\0' at the end of the domain
     list.
   * BUG 11789: s3:wscript: pylibsmb depends on pycredentials.
   * BUG 11841: Fix NT_STATUS_ACCESS_DENIED when accessing Windows public share.
   * BUG 11847: Only validate MIC if "map to guest" is not being used.
   * BUG 11849: auth/ntlmssp: Add ntlmssp_{client,server}:force_old_spnego
     option for testing.
   * BUG 11850: NetAPP SMB servers don't negotiate NTLMSSP_SIGN.
   * BUG 11858: Allow anonymous smb connections.
   * BUG 11870: Fix ads_sasl_spnego_gensec_bind(KRB5).
   * BUG 11872: Fix 'wbinfo -u' and 'net ads search'.

o  Noel Power <noel.power@suse.com>
   * BUG 11738: libcli: Fix debug message, print sid string for new_ace trustee.

o  Garming Sam <garming@catalyst.net.nz>
   * BUG 11789: build: Mark explicit dependencies on pytalloc-util.

o  Partha Sarathi <partha@exablox.com>
   * BUG 11819: Fix the smb2_setinfo to handle FS info types and FSQUOTA
     infolevel.

o  Jorge Schrauwen <sjorge@blackdot.be>
   * BUG 11816: configure: Don't check for inotify on illumos.

o  Uri Simchoni <uri@samba.org>
   * BUG 11691: winbindd: Return trust parameters when listing trusts.
   * BUG 11753: smbd: Ignore SVHDX create context.
   * BUG 11763: passdb: Add linefeed to debug message.
   * BUG 11788: build: Fix disk-free quota support on Solaris 10.
   * BUG 11798: build: Fix build when '--without-quota' specified.
   * BUG 11806: vfs_acl_common: Avoid setting POSIX ACLs if "ignore system acls"
     is set.
   * BUG 11852: libads: Record session expiry for spnego sasl binds.

o  Hemanth Thummala <hemanth.thummala@nutanix.com>
   * BUG 11740: Real memory leak(buildup) issue in loadparm.
   * BUG 11840: Mask general purpose signals for notifyd.


#######################################
Reporting bugs & Development Discussion
#######################################

Please discuss this release on the samba-technical mailing list or by
joining the #samba-technical IRC channel on irc.freenode.net.

If you do report problems then please try to send high quality
feedback. If you don't provide vital information to help us track down
the problem then you will probably be ignored.  All bug reports should
be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
database (https://bugzilla.samba.org/).


======================================================================
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
======================================================================


----------------------------------------------------------------------


                   =============================
                   Release Notes for Samba 4.3.8
                           April 12, 2016
                   =============================

This is a security release containing one additional
regression fix for the security release 4.3.7.

This fixes a regression that prevents things like 'net ads join'
from working against a Windows 2003 domain.

Changes since 4.3.7:
====================

o  Stefan Metzmacher <metze@samba.org>
   * Bug 11804 - prerequisite backports for the security release on
     April 12th, 2016


----------------------------------------------------------------------


                   =============================
                   Release Notes for Samba 4.3.7
                           April 12, 2016
                   =============================


This is a security release in order to address the following CVEs:

o  CVE-2015-5370 (Multiple errors in DCE-RPC code)

o  CVE-2016-2110 (Man in the middle attacks possible with NTLMSSP)

o  CVE-2016-2111 (NETLOGON Spoofing Vulnerability)

o  CVE-2016-2112 (LDAP client and server don't enforce integrity)

o  CVE-2016-2113 (Missing TLS certificate validation)

o  CVE-2016-2114 ("server signing = mandatory" not enforced)

o  CVE-2016-2115 (SMB IPC traffic is not integrity protected)

o  CVE-2016-2118 (SAMR and LSA man in the middle attacks possible)

The number of changes are rather huge for a security release,
compared to typical security releases.

Given the number of problems and the fact that they are all related
to man in the middle attacks we decided to fix them all at once
instead of splitting them.

In order to prevent the man in the middle attacks it was required
to change the (default) behavior for some protocols. Please see the
"New smb.conf options" and "Behavior changes" sections below.

=======
Details
=======

o  CVE-2015-5370

   Versions of Samba from 3.6.0 to 4.4.0 inclusive are vulnerable to
   denial of service attacks (crashes and high cpu consumption)
   in the DCE-RPC client and server implementations. In addition,
   errors in validation of the DCE-RPC packets can lead to a downgrade
   of a secure connection to an insecure one.

   While we think it is unlikely, there's a nonzero chance for
   a remote code execution attack against the client components,
   which are used by smbd, winbindd and tools like net, rpcclient and
   others. This may gain root access to the attacker.

   The above applies all possible server roles Samba can operate in.

   Note that versions before 3.6.0 had completely different marshalling
   functions for the generic DCE-RPC layer. It's quite possible that
   that code has similar problems!

   The downgrade of a secure connection to an insecure one may
   allow an attacker to take control of Active Directory object
   handles created on a connection created from an Administrator
   account and re-use them on the now non-privileged connection,
   compromising the security of the Samba AD-DC.

o  CVE-2016-2110:

   There are several man in the middle attacks possible with
   NTLMSSP authentication.

   E.g. NTLMSSP_NEGOTIATE_SIGN and NTLMSSP_NEGOTIATE_SEAL
   can be cleared by a man in the middle.

   This was by protocol design in earlier Windows versions.

   Windows Server 2003 RTM and Vista RTM introduced a way
   to protect against the trivial downgrade.

   See MsvAvFlags and flag 0x00000002 in
   https://msdn.microsoft.com/en-us/library/cc236646.aspx

   This new feature also implies support for a mechlistMIC
   when used within SPNEGO, which may prevent downgrades
   from other SPNEGO mechs, e.g. Kerberos, if sign or
   seal is finally negotiated.

   The Samba implementation doesn't enforce the existence of
   required flags, which were requested by the application layer,
   e.g. LDAP or SMB1 encryption (via the unix extensions).
   As a result a man in the middle can take over the connection.
   It is also possible to misguide client and/or
   server to send unencrypted traffic even if encryption
   was explicitly requested.

   LDAP (with NTLMSSP authentication) is used as a client
   by various admin tools of the Samba project,
   e.g. "net", "samba-tool", "ldbsearch", "ldbedit", ...

   As an active directory member server LDAP is also used
   by the winbindd service when connecting to domain controllers.

   Samba also offers an LDAP server when running as
   active directory domain controller.

   The NTLMSSP authentication used by the SMB1 encryption
   is protected by smb signing, see CVE-2015-5296.

o  CVE-2016-2111:

   It's basically the same as CVE-2015-0005 for Windows:

     The NETLOGON service in Microsoft Windows Server 2003 SP2,
     Windows Server 2008 SP2 and R2 SP1, and Windows Server 2012 Gold
     and R2, when a Domain Controller is configured, allows remote
     attackers to spoof the computer name of a secure channel's
     endpoint, and obtain sensitive session information, by running a
     crafted application and leveraging the ability to sniff network
     traffic, aka "NETLOGON Spoofing Vulnerability".

   The vulnerability in Samba is worse as it doesn't require
   credentials of a computer account in the domain.

   This only applies to Samba running as classic primary domain controller,
   classic backup domain controller or active directory domain controller.

   The security patches introduce a new option called "raw NTLMv2 auth"
   ("yes" or "no") for the [global] section in smb.conf.
   Samba (the smbd process) will reject client using raw NTLMv2
   without using NTLMSSP.

   Note that this option also applies to Samba running as
   standalone server and member server.

   You should also consider using "lanman auth = no" (which is already the default)
   and "ntlm auth = no". Have a look at the smb.conf manpage for further details,
   as they might impact compatibility with older clients. These also
   apply for all server roles.

o  CVE-2016-2112:

   Samba uses various LDAP client libraries, a builtin one and/or the system
   ldap libraries (typically openldap).

   As active directory domain controller Samba also provides an LDAP server.

   Samba takes care of doing SASL (GSS-SPNEGO) authentication with Kerberos or NTLMSSP
   for LDAP connections, including possible integrity (sign) and privacy (seal)
   protection.

   Samba has support for an option called "client ldap sasl wrapping" since version
   3.2.0. Its default value has changed from "plain" to "sign" with version 4.2.0.

   Tools using the builtin LDAP client library do not obey the
   "client ldap sasl wrapping" option. This applies to tools like:
   "samba-tool", "ldbsearch", "ldbedit" and more. Some of them have command line
   options like "--sign" and "--encrypt". With the security update they will
   also obey the "client ldap sasl wrapping" option as default.

   In all cases, even if explicitly request via "client ldap sasl wrapping",
   "--sign" or "--encrypt", the protection can be downgraded by a man in the
   middle.

   The LDAP server doesn't have an option to enforce strong authentication
   yet. The security patches will introduce a new option called
   "ldap server require strong auth", possible values are "no",
   "allow_sasl_over_tls" and "yes".

   As the default behavior was as "no" before, you may
   have to explicitly change this option until all clients have
   been adjusted to handle LDAP_STRONG_AUTH_REQUIRED errors.
   Windows clients and Samba member servers already use
   integrity protection.

o  CVE-2016-2113:

   Samba has support for TLS/SSL for some protocols:
   ldap and http, but currently certificates are not
   validated at all. While we have a "tls cafile" option,
   the configured certificate is not used to validate
   the server certificate.

   This applies to ldaps:// connections triggered by tools like:
   "ldbsearch", "ldbedit" and more. Note that it only applies
   to the ldb tools when they are built as part of Samba or with Samba
   extensions installed, which means the Samba builtin LDAP client library is
   used.

   It also applies to dcerpc client connections using ncacn_http (with https://),
   which are only used by the openchange project. Support for ncacn_http
   was introduced in version 4.2.0.

   The security patches will introduce a new option called
   "tls verify peer". Possible values are "no_check", "ca_only",
   "ca_and_name_if_available", "ca_and_name" and "as_strict_as_possible".

   If you use the self-signed certificates which are auto-generated
   by Samba, you won't have a crl file and need to explicitly
   set "tls verify peer = ca_and_name".

o  CVE-2016-2114

   Due to a regression introduced in Samba 4.0.0,
   an explicit "server signing = mandatory" in the [global] section
   of the smb.conf was not enforced for clients using the SMB1 protocol.

   As a result it does not enforce smb signing and allows man in the middle attacks.

   This problem applies to all possible server roles:
   standalone server, member server, classic primary domain controller,
   classic backup domain controller and active directory domain controller.

   In addition, when Samba is configured with "server role = active directory domain controller"
   the effective default for the "server signing" option should be "mandatory".

   During the early development of Samba 4 we had a new experimental
   file server located under source4/smb_server. But before
   the final 4.0.0 release we switched back to the file server
   under source3/smbd.

   But the logic for the correct default of "server signing" was not
   ported correctly ported.

   Note that the default for server roles other than active directory domain
   controller, is "off" because of performance reasons.

o  CVE-2016-2115:

   Samba has an option called "client signing", this is turned off by default
   for performance reasons on file transfers.

   This option is also used when using DCERPC with ncacn_np.

   In order to get integrity protection for ipc related communication
   by default the "client ipc signing" option is introduced.
   The effective default for this new option is "mandatory".

   In order to be compatible with more SMB server implementations,
   the following additional options are introduced:
   "client ipc min protocol" ("NT1" by default) and
   "client ipc max protocol" (the highest support SMB2/3 dialect by default).
   These options overwrite the "client min protocol" and "client max protocol"
   options, because the default for "client max protocol" is still "NT1".
   The reason for this is the fact that all SMB2/3 support SMB signing,
   while there are still SMB1 implementations which don't offer SMB signing
   by default (this includes Samba versions before 4.0.0).

   Note that winbindd (in versions 4.2.0 and higher) enforces SMB signing
   against active directory domain controllers despite of the
   "client signing" and "client ipc signing" options.

o  CVE-2016-2118 (a.k.a. BADLOCK):

   The Security Account Manager Remote Protocol [MS-SAMR] and the
   Local Security Authority (Domain Policy) Remote Protocol [MS-LSAD]
   are both vulnerable to man in the middle attacks. Both are application level
   protocols based on the generic DCE 1.1 Remote Procedure Call (DCERPC) protocol.

   These protocols are typically available on all Windows installations
   as well as every Samba server. They are used to maintain
   the Security Account Manager Database. This applies to all
   roles, e.g. standalone, domain member, domain controller.

   Any authenticated DCERPC connection a client initiates against a server
   can be used by a man in the middle to impersonate the authenticated user
   against the SAMR or LSAD service on the server.

   The client chosen application protocol, auth type (e.g. Kerberos or NTLMSSP)
   and auth level (NONE, CONNECT, PKT_INTEGRITY, PKT_PRIVACY) do not matter
   in this case. A man in the middle can change auth level to CONNECT
   (which means authentication without message protection) and take over
   the connection.

   As a result, a man in the middle is able to get read/write access to the
   Security Account Manager Database, which reveals all passwords
   and any other potential sensitive information.

   Samba running as an active directory domain controller is additionally
   missing checks to enforce PKT_PRIVACY for the
   Directory Replication Service Remote Protocol [MS-DRSR] (drsuapi)
   and the BackupKey Remote Protocol [MS-BKRP] (backupkey).
   The Domain Name Service Server Management Protocol [MS-DNSP] (dnsserver)
   is not enforcing at least PKT_INTEGRITY.

====================
New smb.conf options
====================

  allow dcerpc auth level connect (G)

    This option controls whether DCERPC services are allowed to be used with
    DCERPC_AUTH_LEVEL_CONNECT, which provides authentication, but no per
    message integrity nor privacy protection.

    Some interfaces like samr, lsarpc and netlogon have a hard-coded default
    of no and epmapper, mgmt and rpcecho have a hard-coded default of yes.

    The behavior can be overwritten per interface name (e.g. lsarpc,
    netlogon, samr, srvsvc, winreg, wkssvc ...) by using
    'allow dcerpc auth level connect:interface = yes' as option.

    This option yields precedence to the implementation specific restrictions.
    E.g. the drsuapi and backupkey protocols require DCERPC_AUTH_LEVEL_PRIVACY.
    The dnsserver protocol requires DCERPC_AUTH_LEVEL_INTEGRITY.

    Default: allow dcerpc auth level connect = no

    Example: allow dcerpc auth level connect = yes

  client ipc signing (G)

    This controls whether the client is allowed or required to use
    SMB signing for IPC$ connections as DCERPC transport. Possible
    values are auto, mandatory and disabled.

    When set to mandatory or default, SMB signing is required.

    When set to auto, SMB signing is offered, but not enforced and
    if set to disabled, SMB signing is not offered either.

    Connections from winbindd to Active Directory Domain Controllers
    always enforce signing.

    Default: client ipc signing = default

  client ipc max protocol (G)

    The value of the parameter (a string) is the highest protocol level that will
    be supported for IPC$ connections as DCERPC transport.

    Normally this option should not be set as the automatic negotiation phase
    in the SMB protocol takes care of choosing the appropriate protocol.

    The value default refers to the latest supported protocol, currently SMB3_11.

    See client max protocol for a full list of available protocols.
    The values CORE, COREPLUS, LANMAN1, LANMAN2 are silently upgraded to NT1.

    Default: client ipc max protocol = default

    Example: client ipc max protocol = SMB2_10

  client ipc min protocol (G)

    This setting controls the minimum protocol version that the will be
    attempted to use for IPC$ connections as DCERPC transport.

    Normally this option should not be set as the automatic negotiation phase
    in the SMB protocol takes care of choosing the appropriate protocol.

    The value default refers to the higher value of NT1 and the
    effective value of "client min protocol".

    See client max protocol for a full list of available protocols.
    The values CORE, COREPLUS, LANMAN1, LANMAN2 are silently upgraded to NT1.

    Default: client ipc min protocol = default

    Example: client ipc min protocol = SMB3_11

  ldap server require strong auth (G)

    The ldap server require strong auth defines whether the
    ldap server requires ldap traffic to be signed or
    signed and encrypted (sealed). Possible values are no,
    allow_sasl_over_tls and yes.

    A value of no allows simple and sasl binds over all transports.

    A value of allow_sasl_over_tls allows simple and sasl binds (without sign or seal)
    over TLS encrypted connections. Unencrypted connections only
    allow sasl binds with sign or seal.

    A value of yes allows only simple binds over TLS encrypted connections.
    Unencrypted connections only allow sasl binds with sign or seal.

    Default: ldap server require strong auth = yes

  raw NTLMv2 auth (G)

    This parameter determines whether or not smbd(8) will allow SMB1 clients
    without extended security (without SPNEGO) to use NTLMv2 authentication.

    If this option, lanman auth and ntlm auth are all disabled, then only
    clients with SPNEGO support will be permitted. That means NTLMv2 is only
    supported within NTLMSSP.

    Default: raw NTLMv2 auth = no

  tls verify peer (G)

    This controls if and how strict the client will verify the peer's
    certificate and name. Possible values are (in increasing order): no_check,
    ca_only, ca_and_name_if_available, ca_and_name and as_strict_as_possible.

    When set to no_check the certificate is not verified at all,
    which allows trivial man in the middle attacks.

    When set to ca_only the certificate is verified to be signed from a ca
    specified in the "tls ca file" option. Setting "tls ca file" to a valid file
    is required. The certificate lifetime is also verified. If the "tls crl file"
    option is configured, the certificate is also verified against
    the ca crl.

    When set to ca_and_name_if_available all checks from ca_only are performed.
    In addition, the peer hostname is verified against the certificate's
    name, if it is provided by the application layer and not given as
    an ip address string.

    When set to ca_and_name all checks from ca_and_name_if_available are performed.
    In addition the peer hostname needs to be provided and even an ip
    address is checked against the certificate's name.

    When set to as_strict_as_possible all checks from ca_and_name are performed.
    In addition the "tls crl file" needs to be configured. Future versions
    of Samba may implement additional checks.

    Default: tls verify peer = as_strict_as_possible

  tls priority (G) (backported from Samba 4.3 to Samba 4.2)

    This option can be set to a string describing the TLS protocols to be
    supported in the parts of Samba that use GnuTLS, specifically the AD DC.

    The default turns off SSLv3, as this protocol is no longer considered
    secure after CVE-2014-3566 (otherwise known as POODLE) impacted SSLv3 use
    in HTTPS applications.

    The valid options are described in the GNUTLS Priority-Strings
    documentation at http://gnutls.org/manual/html_node/Priority-Strings.html

    Default: tls priority = NORMAL:-VERS-SSL3.0

================
Behavior changes
================

o  The default auth level for authenticated binds has changed from
   DCERPC_AUTH_LEVEL_CONNECT to DCERPC_AUTH_LEVEL_INTEGRITY.
   That means ncacn_ip_tcp:server is now implicitly the same
   as ncacn_ip_tcp:server[sign] and offers a similar protection
   as ncacn_np:server, which relies on smb signing.

o  The following constraints are applied to SMB1 connections:

   - "client lanman auth = yes" is now consistently
     required for authenticated connections using the
     SMB1 LANMAN2 dialect.
   - "client ntlmv2 auth = yes" and "client use spnego = yes"
     (both the default values), require extended security (SPNEGO)
     support from the server. That means NTLMv2 is only used within
     NTLMSSP.

o  Tools like "samba-tool", "ldbsearch", "ldbedit" and more obey the
   default of "client ldap sasl wrapping = sign". Even with
   "client ldap sasl wrapping = plain" they will automatically upgrade
   to "sign" when getting LDAP_STRONG_AUTH_REQUIRED from the LDAP
   server.

Changes since 4.3.6:
====================

o  Jeremy Allison <jra@samba.org>
   * Bug 11344 - CVE-2015-5370: Multiple errors in DCE-RPC code.

   * Bug 11804 - prerequisite backports for the security release on
     April 12th, 2016.

o  Christian Ambach <ambi@samba.org>
   * Bug 11804 - prerequisite backports for the security release on
     April 12th, 2016.

o  Ralph Boehme <slow@samba.org>
   * Bug 11644 - CVE-2016-2112: The LDAP client and server don't enforce
     integrity protection.

o  Günther Deschner <gd@samba.org>
   * Bug 11749 - CVE-2016-2111: NETLOGON Spoofing Vulnerability.

   * Bug 11804 - prerequisite backports for the security release on
     April 12th, 2016.

o  Björn Jacke <bj@sernet.de>
   * Bug 11804 - prerequisite backports for the security release on
     April 12th, 2016.

o  Volker Lendecke <vl@samba.org>
   * Bug 11804 - prerequisite backports for the security release on
     April 12th, 2016.

o  Stefan Metzmacher <metze@samba.org>
   * Bug 11344 - CVE-2015-5370: Multiple errors in DCE-RPC code.

   * Bug 11616 - CVE-2016-2118: SAMR and LSA man in the middle attacks possible.

   * Bug 11644 - CVE-2016-2112: The LDAP client and server doesn't enforce
     integrity protection.

   * Bug 11687 - CVE-2016-2114: "server signing = mandatory" not enforced.

   * Bug 11688 - CVE-2016-2110: Man in the middle attacks possible with NTLMSSP.

   * Bug 11749 - CVE-2016-2111: NETLOGON Spoofing Vulnerability.

   * Bug 11752 - CVE-2016-2113: Missing TLS certificate validation allows man in
     the middle attacks.

   * Bug 11756 - CVE-2016-2115: SMB client connections for IPC traffic are not
     integrity protected.

   * Bug 11804 - prerequisite backports for the security release on
     April 12th, 2016.

o  Richard Sharpe <rsharpe@samba.org>
   * Bug 11804 - prerequisite backports for the security release on
     April 12th, 2016.


#######################################
Reporting bugs & Development Discussion
#######################################

Please discuss this release on the samba-technical mailing list or by
joining the #samba-technical IRC channel on irc.freenode.net.

If you do report problems then please try to send high quality
feedback. If you don't provide vital information to help us track down
the problem then you will probably be ignored.  All bug reports should
be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
database (https://bugzilla.samba.org/).


======================================================================
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
======================================================================


----------------------------------------------------------------------


                   =============================
                   Release Notes for Samba 4.3.6
                           March 8, 2016
                   =============================


This is a security release in order to address the following CVEs:

o  CVE-2015-7560 (Incorrect ACL get/set allowed on symlink path)
o  CVE-2016-0771 (Out-of-bounds read in internal DNS server)

=======
Details
=======

o  CVE-2015-7560:
   All versions of Samba from 3.2.0 to 4.4.0rc3 inclusive are vulnerable to
   a malicious client overwriting the ownership of ACLs using symlinks.

   An authenticated malicious client can use SMB1 UNIX extensions to
   create a symlink to a file or directory, and then use non-UNIX SMB1
   calls to overwrite the contents of the ACL on the file or directory
   linked to.

o  CVE-2016-0771:
   All versions of Samba from 4.0.0 to 4.4.0rc3 inclusive, when deployed as
   an AD DC and choose to run the internal DNS server, are vulnerable to an
   out-of-bounds read issue during DNS TXT record handling caused by users
   with permission to modify DNS records.

   A malicious client can upload a specially constructed DNS TXT record,
   resulting in a remote denial-of-service attack. As long as the affected
   TXT record remains undisturbed in the Samba database, a targeted DNS
   query may continue to trigger this exploit.

   While unlikely, the out-of-bounds read may bypass safety checks and
   allow leakage of memory from the server in the form of a DNS TXT reply.

   By default only authenticated accounts can upload DNS records,
   as "allow dns updates = secure only" is the default.
   Any other value would allow anonymous clients to trigger this
   bug, which is a much higher risk.


Changes since 4.3.5:
--------------------

o  Jeremy Allison <jra@samba.org>
   * BUG 11648: CVE-2015-7560: Getting and setting Windows ACLs on symlinks can
     change permissions on link target.

o  Garming Sam <garming@catalyst.net.nz>
   * BUGs 11128, 11686: CVE-2016-0771: Read of uninitialized memory DNS TXT
     handling.

o  Stefan Metzmacher <metze@samba.org>
   * BUGs 11128, 11686: CVE-2016-0771: Read of uninitialized memory DNS TXT
     handling.


#######################################
Reporting bugs & Development Discussion
#######################################

Please discuss this release on the samba-technical mailing list or by
joining the #samba-technical IRC channel on irc.freenode.net.

If you do report problems then please try to send high quality
feedback. If you don't provide vital information to help us track down
the problem then you will probably be ignored.  All bug reports should
be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
database (https://bugzilla.samba.org/).


======================================================================
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
======================================================================


Older release notes to follow:
------------------------------

                   =============================
                   Release Notes for Samba 4.3.5
                         February 23, 2016
                   =============================


This is the latest stable release of Samba 4.3.


Changes since 4.3.4:
--------------------

o  Jeremy Allison <jra@samba.org>
   * BUG 10489: s3: smbd: posix_acls: Fix check for setting u:g:o entry on a
     filesystem with no ACL support.
   * BUG 11703: s3: smbd: Fix timestamp rounding inside SMB2 create.

o  Christian Ambach <ambi@samba.org>
   * BUG 6482: s3:utils/smbget: Fix recursive download.
   * BUG 11400: s3:smbd/oplock: Obey kernel oplock setting when releasing
     oplocks.

o  Alexander Bokovoy <ab@samba.org>
   * BUG 11693: s3-parm: Clean up defaults when removing global parameters.

o  Ralph Boehme <slow@samba.org>
   * BUG 11684: s3:smbd: Ignore initial allocation size for directory creation.
   * BUG 11714: lib/tsocket: Work around sockets not supporting FIONREAD.

o  Amitay Isaacs <amitay@gmail.com>
   * BUG 11705: ctdb: Remove error messages after kernel security update
     (CVE-2015-8543).

o  Volker Lendecke <vl@samba.org>
   * BUG 11732: param: Fix str_list_v3 to accept ";" again.

o  Stefan Metzmacher <metze@samba.org>
   * BUG 11699: Use M2Crypto.RC4.RC4 on platforms without Crypto.Cipher.ARC4.

o  Jose A. Rivera <jarrpa@samba.org>
   * BUG 11727: s3:smbd:open: Skip redundant call to file_set_dosmode when
     creating a new file.

o  Christof Schmitt <cs@samba.org>
   * BUG 11670: winbindd: Handle expired sessions correctly.

o  Andreas Schneider <asn@samba.org>
   * BUG 11690: s3-client: Add a KRB5 wrapper for smbspool.

o  Uri Simchoni <uri@samba.org>
   * BUG 11580: vfs_shadow_copy2: Fix case where snapshots are outside the
     share.
   * BUG 11662: smbclient: Query disk usage relative to current directory.
   * BUG 11681: smbd: Show correct disk size for different quota and dfree block
     sizes.
   * BUG 11682: smbcacls: Fix uninitialized variable.

o  Martin Schwenke <martin@meltin.net>
   * BUG 11719: ctdb-scripts: Drop use of "smbcontrol winbindd ip-dropped ...".

o  Hemanth Thummala <hemanth.thummala@nutanix.com>
   * BUG 11708: loadparm: Fix memory leak issue.


#######################################
Reporting bugs & Development Discussion
#######################################

Please discuss this release on the samba-technical mailing list or by
joining the #samba-technical IRC channel on irc.freenode.net.

If you do report problems then please try to send high quality
feedback. If you don't provide vital information to help us track down
the problem then you will probably be ignored.  All bug reports should
be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
database (https://bugzilla.samba.org/).


======================================================================
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
======================================================================


----------------------------------------------------------------------


                   =============================
                   Release Notes for Samba 4.3.4
                         January 12, 2016
                   =============================


This is the latest stable release of Samba 4.3.


Changes since 4.3.3:
--------------------

o  Michael Adam <obnox@samba.org>
   * BUG 11619: doc: Fix a typo in the smb.conf manpage, explanation of idmap
     config.
   * BUG 11647: s3:smbd: Fix a corner case of the symlink verification.

o  Jeremy Allison <jra@samba.org>
   * BUG 11624: s3: libsmb: Correctly initialize the list head when keeping a
     list of primary followed by DFS connections.
   * BUG 11625: Reduce the memory footprint of empty string options.

o  Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
   * BUG 11659: Update lastLogon and lastLogonTimestamp.

o  Ralph Boehme <slow@samba.org>
   * BUG 11065: vfs_fruit: Enable POSIX directory rename semantics.
   * BUG 11466: Copying files with vfs_fruit fails when using vfs_streams_xattr
     without stream prefix and type suffix.
   * BUG 11645: smbd: Make "hide dot files" option work with "store dos
     attributes = yes".

o  Günther Deschner <gd@samba.org>
   * BUG 11639: lib/async_req: Do not install async_connect_send_test.

o  Stefan Metzmacher <metze@samba.org>
   * BUG 11394: Crash: Bad talloc magic value - access after free.

o  Rowland Penny <repenny241155@gmail.com>
   * BUG 11613: samba-tool: Fix uncaught exception if no fSMORoleOwner
     attribute is given.

o  Karolin Seeger <kseeger@samba.org>
   * BUG 11619: docs: Fix some typos in the idmap backend section.
   * BUG 11641: docs: Fix typos in man vfs_gpfs.

o  Uri Simchoni <uri@samba.org>
   * BUG 11649: smbd: Do not disable "store dos attributes" on-the-fly.


#######################################
Reporting bugs & Development Discussion
#######################################

Please discuss this release on the samba-technical mailing list or by
joining the #samba-technical IRC channel on irc.freenode.net.

If you do report problems then please try to send high quality
feedback. If you don't provide vital information to help us track down
the problem then you will probably be ignored.  All bug reports should
be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
database (https://bugzilla.samba.org/).


======================================================================
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
======================================================================


----------------------------------------------------------------------


                   =============================
                   Release Notes for Samba 4.3.3
                         December 16, 2015
                   =============================


This is a security release in order to address the following CVEs:

o  CVE-2015-3223 (Denial of service in Samba Active Directory
		  server)
o  CVE-2015-5252 (Insufficient symlink verification in smbd)
o  CVE-2015-5299 (Missing access control check in shadow copy
		  code)
o  CVE-2015-5296 (Samba client requesting encryption vulnerable
		  to downgrade attack)
o  CVE-2015-8467 (Denial of service attack against Windows
		  Active Directory server)
o  CVE-2015-5330 (Remote memory read in Samba LDAP server)

Please note that if building against a system libldb, the required
version has been bumped to ldb-1.1.24.  This is needed to ensure
we build against a system ldb library that contains the fixes
for CVE-2015-5330 and CVE-2015-3223.

=======
Details
=======

o  CVE-2015-3223:
   All versions of Samba from 4.0.0 to 4.3.2 inclusive (resp. all
   ldb versions up to 1.1.23 inclusive) are vulnerable to
   a denial of service attack in the samba daemon LDAP server.

   A malicious client can send packets that cause the LDAP server in the
   samba daemon process to become unresponsive, preventing the server
   from servicing any other requests.

   This flaw is not exploitable beyond causing the code to loop expending
   CPU resources.

o  CVE-2015-5252:
   All versions of Samba from 3.0.0 to 4.3.2 inclusive are vulnerable to
   a bug in symlink verification, which under certain circumstances could
   allow client access to files outside the exported share path.

   If a Samba share is configured with a path that shares a common path
   prefix with another directory on the file system, the smbd daemon may
   allow the client to follow a symlink pointing to a file or directory
   in that other directory, even if the share parameter "wide links" is
   set to "no" (the default).

o  CVE-2015-5299:
   All versions of Samba from 3.2.0 to 4.3.2 inclusive are vulnerable to
   a missing access control check in the vfs_shadow_copy2 module. When
   looking for the shadow copy directory under the share path the current
   accessing user should have DIRECTORY_LIST access rights in order to
   view the current snapshots.

   This was not being checked in the affected versions of Samba.

o  CVE-2015-5296:
   Versions of Samba from 3.2.0 to 4.3.2 inclusive do not ensure that
   signing is negotiated when creating an encrypted client connection to
   a server.

   Without this a man-in-the-middle attack could downgrade the connection
   and connect using the supplied credentials as an unsigned, unencrypted
   connection.

o  CVE-2015-8467:
   Samba, operating as an AD DC, is sometimes operated in a domain with a
   mix of Samba and Windows Active Directory Domain Controllers.

   All versions of Samba from 4.0.0 to 4.3.2 inclusive, when deployed as
   an AD DC in the same domain with Windows DCs, could be used to
   override the protection against the MS15-096 / CVE-2015-2535 security
   issue in Windows.

   Prior to MS16-096 it was possible to bypass the quota of machine
   accounts a non-administrative user could create.  Pure Samba domains
   are not impacted, as Samba does not implement the
   SeMachineAccountPrivilege functionality to allow non-administrator
   users to create new computer objects.

o  CVE-2015-5330:
   All versions of Samba from 4.0.0 to 4.3.2 inclusive (resp. all
   ldb versions up to 1.1.23 inclusive) are vulnerable to
   a remote memory read attack in the samba daemon LDAP server.

   A malicious client can send packets that cause the LDAP server in the
   samba daemon process to return heap memory beyond the length of the
   requested value.

   This memory may contain data that the client should not be allowed to
   see, allowing compromise of the server.

   The memory may either be returned to the client in an error string, or
   stored in the database by a suitabily privileged user.  If untrusted
   users can create objects in your database, please confirm that all DN
   and name attributes are reasonable.


Changes since 4.3.2:
--------------------

o  Andrew Bartlett <abartlet@samba.org>
   * BUG 11552: CVE-2015-8467: samdb: Match MS15-096 behaviour for
     userAccountControl.

o  Jeremy Allison <jra@samba.org>
   * BUG 11325: CVE-2015-3223: Fix LDAP \00 search expression attack DoS.
   * BUG 11395: CVE-2015-5252: Fix insufficient symlink verification (file
     access outside the share).
   * BUG 11529: CVE-2015-5299: s3-shadow-copy2: Fix missing access check on
     snapdir.

o  Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
   * BUG 11599: CVE-2015-5330: Fix remote read memory exploit in LDB.

o  Stefan Metzmacher <metze@samba.org>
   * BUG 11536: CVE-2015-5296: Add man in the middle protection when forcing
     smb encryption on the client side.


#######################################
Reporting bugs & Development Discussion
#######################################

Please discuss this release on the samba-technical mailing list or by
joining the #samba-technical IRC channel on irc.freenode.net.

If you do report problems then please try to send high quality
feedback. If you don't provide vital information to help us track down
the problem then you will probably be ignored.  All bug reports should
be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
database (https://bugzilla.samba.org/).


======================================================================
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
======================================================================


----------------------------------------------------------------------


                   =============================
                   Release Notes for Samba 4.3.2
                         December 01, 2015
                   =============================


This is the latest stable release of Samba 4.3.


Changes since 4.3.1:
--------------------

o   Michael Adam <obnox@samba.org>
    * BUG 11577: ctdb: Open the RO tracking db with perms 0600 instead of 0000.

o   Jeremy Allison <jra@samba.org>
    * BUG 11452: s3-smbd: Fix old DOS client doing wildcard delete - gives an
      attribute type of zero.
    * BUG 11565: auth: gensec: Fix a memory leak.
    * BUG 11566: lib: util: Make non-critical message a warning.
    * BUG 11589: s3: smbd: If EAs are turned off on a share don't allow an SMB2
      create containing them.
    * BUG 11615: s3: smbd: have_file_open_below() fails to enumerate open files
      below an open directory handle.

o   Ralph Boehme <slow@samba.org>
    * BUG 11562: s4:lib/messaging: Use correct path for names.tdb.
    * BUG 11564: async_req: Fix non-blocking connect().

o   Volker Lendecke <vl@samba.org>
    * BUG 11243: vfs_gpfs: Re-enable share modes.
    * BUG 11570: smbd: Send SMB2 oplock breaks unencrypted.
    * BUG 11612: winbind: Fix crash on invalid idmap configs.

o   YvanM <yvan.masson@openmailbox.org>
    * BUG 11584: manpage: Correct small typo error.

o   Stefan Metzmacher <metze@samba.org>
    * BUG 11327: dcerpc.idl: Accept invalid dcerpc_bind_nak pdus.
    * BUG 11581: s3:smb2_server: Make the logic of SMB2_CANCEL DLIST_REMOVE()
      clearer.

o   Marc Muehlfeld <mmuehlfeld@samba.org>
    * BUG 9912: Changing log level of two entries to DBG_NOTICE.
    * BUG 11581: s3-smbd: Fix use after issue in smbd_smb2_request_dispatch().

o   Noel Power <noel.power@suse.com>
    * BUG 11569: Fix winbindd crashes with samlogon for trusted domain user.
    * BUG 11597: Backport some valgrind fixes from upstream master.

o   Andreas Schneider <asn@samba.org
    * BUG 11563: Fix segfault of 'net ads (join|leave) -S INVALID' with
      nss_wins.

o   Tom Schulz <schulz@adi.com>
    * BUG 11511: Add libreplace dependency to texpect, fixes a linking error on
      Solaris.
    * BUG 11512: s4: Fix linking of 'smbtorture' on Solaris.

o   Uri Simchoni <uri@samba.org>
    * BUG 11608: auth: Consistent handling of well-known alias as primary gid.

#######################################
Reporting bugs & Development Discussion
#######################################

Please discuss this release on the samba-technical mailing list or by
joining the #samba-technical IRC channel on irc.freenode.net.

If you do report problems then please try to send high quality
feedback. If you don't provide vital information to help us track down
the problem then you will probably be ignored.  All bug reports should
be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
database (https://bugzilla.samba.org/).


======================================================================
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
======================================================================


----------------------------------------------------------------------


                   =============================
                   Release Notes for Samba 4.3.1
                         October 20, 2015
                   =============================


This is the latest stable release of Samba 4.3.


Changes since 4.3.0:
--------------------

o   Jeremy Allison <jra@samba.org>
    * BUG 10252: s3: smbd: Fix our access-based enumeration on "hide unreadable"
      to match Windows.
    * BUG 10634: smbd: Fix file name buflen and padding in notify repsonse.
    * BUG 11486: s3: smbd: Fix mkdir race condition.
    * BUG 11522: s3: smbd: Fix opening/creating :stream files on the root share
      directory.
    * BUG 11535: s3: smbd: Fix NULL pointer bug introduced by previous 'raw'
    * stream fix (bug #11522).
    * BUG 11555: s3: lsa: lookup_name() logic for unqualified (no DOMAIN\
      component) names is incorrect.

o   Ralph Boehme <slow@samba.org>
    * BUG 11535: s3: smbd: Fix a crash in unix_convert().
    * BUG 11543: vfs_fruit: Return value of ad_pack in vfs_fruit.c.
    * BUG 11549: s3:locking: Initialize lease pointer in
      share_mode_traverse_fn().
    * BUG 11550: s3:smbstatus: Add stream name to share_entry_forall().
    * BUG 11555: s3:lib: Validate domain name in lookup_wellknown_name().

o   Günther Deschner <gd@samba.org>
    * BUG 11038: kerberos: Make sure we only use prompter type when available.

o   Volker Lendecke <vl@samba.org>
    * BUG 11038: winbind: Fix 100% loop.
    * BUG 11053: source3/lib/msghdr.c: Fix compiling error on Solaris.

o   Stefan Metzmacher <metze@samba.org>
    * BUG 11316: s3:ctdbd_conn: make sure we destroy tevent_fd before closing
      the socket.
    * BUG 11515: s4:lib/messaging: Use 'msg.lock' and 'msg.sock' for messaging
      related subdirs.
    * BUG 11526: lib/param: Fix hiding of FLAG_SYNONYM values.

o   Björn Jacke <bj@sernet.de>
    * BUG 10365: nss_winbind: Fix hang on Solaris on big groups.
    * BUG 11355: build: Use as-needed linker flag also on OpenBSD.

o   Har Gagan Sahai <SHarGagan@novell.com>
    * BUG 11509: s3: dfs: Fix a crash when the dfs targets are disabled.

o   Andreas Schneider <asn@samba.org>
    * BUG 11502: pam_winbind: Fix a segfault if initialization fails.

o   Uri Simchoni <uri@samba.org>
    * BUG 11528: net: Fix a crash with 'net ads keytab create'.
    * BUG 11547: vfs_commit: set the fd on open before calling SMB_VFS_FSTAT.

#######################################
Reporting bugs & Development Discussion
#######################################

Please discuss this release on the samba-technical mailing list or by
joining the #samba-technical IRC channel on irc.freenode.net.

If you do report problems then please try to send high quality
feedback. If you don't provide vital information to help us track down
the problem then you will probably be ignored.  All bug reports should
be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
database (https://bugzilla.samba.org/).


======================================================================
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
======================================================================


----------------------------------------------------------------------


                   =============================
                   Release Notes for Samba 4.3.0
                           September 8, 2015
                   =============================


This is the first stable release of Samba 4.3.


UPGRADING
=========

Read the "New FileChangeNotify subsystem" and "smb.conf changes" sections
(below).


NEW FEATURES
============

Logging
-------

The logging code now supports logging to multiple backends.  In
addition to the previously available syslog and file backends, the
backends for logging to the systemd-journal, lttng and gpfs have been
added. Please consult the section for the 'logging' parameter in the
smb.conf manpage for details.

Spotlight
---------

Support for Apple's Spotlight has been added by integrating with Gnome
Tracker.

For detailed instructions how to build and setup Samba for Spotlight,
please see the Samba wiki: <https://wiki.samba.org/index.php/Spotlight>

New FileChangeNotify subsystem
------------------------------

Samba now contains a new subsystem to do FileChangeNotify. The
previous system used a central database, notify_index.tdb, to store
all notification requests. In particular in a cluster this turned out
to be a major bottleneck, because some hot records need to be bounced
back and forth between nodes on every change event like a new created
file.

The new FileChangeNotify subsystem works with a central daemon per
node. Every FileChangeNotify request and every event are handled by an
asynchronous message from smbd to the notify daemon. The notify daemon
maintains a database of all FileChangeNotify requests in memory and
will distribute the notify events accordingly. This database is
asynchronously distributed in the cluster by the notify daemons.

The notify daemon is supposed to scale a lot better than the previous
implementation. The functional advantage is cross-node kernel change
notify: Files created via NFS will be seen by SMB clients on other
nodes per FileChangeNotify, despite the fact that popular cluster file
systems do not offer cross-node inotify.

Two changes to the configuration were required for this new subsystem:
The parameters "change notify" and "kernel change notify" are not
per-share anymore but must be set globally. So it is no longer
possible to enable or disable notify per share, the notify daemon has
no notion of a share, it only works on absolute paths.

New SMB profiling code
----------------------

The code for SMB (SMB1, SMB2 and SMB3) profiling uses a tdb instead
of sysv IPC shared memory. This avoids performance problems and NUMA
effects. The profile stats are a bit more detailed than before.

Improved DCERPC man in the middle detection for kerberos
--------------------------------------------------------

The gssapi based kerberos backends for gensec have support for
DCERPC header signing when using DCERPC_AUTH_LEVEL_PRIVACY.

SMB signing required in winbindd by default
-------------------------------------------

The effective value for "client signing" is required
by default for winbindd, if the primary domain uses active directory.

Experimental NTDB was removed
-----------------------------

The experimental NTDB library introduced in Samba 4.0 has been
removed again.

Improved support for trusted domains (as AD DC)
-----------------------------------------------

The support for trusted domains/forests has improved a lot.

samba-tool got "domain trust" subcommands to manage trusts:

  create      - Create a domain or forest trust.
  delete      - Delete a domain trust.
  list        - List domain trusts.
  namespaces  - Manage forest trust namespaces.
  show        - Show trusted domain details.
  validate    - Validate a domain trust.

External trusts between individual domains work in both ways
(inbound and outbound). The same applies to root domains of
a forest trust. The transitive routing into the other forest
is fully functional for kerberos, but not yet supported for NTLMSSP.

While a lot of things are working fine, there are currently a few limitations:

  - Both sides of the trust need to fully trust each other!
  - No SID filtering rules are applied at all!
  - This means DCs of domain A can grant domain admin rights
    in domain B.
  - It's not possible to add users/groups of a trusted domain
    into domain groups.

SMB 3.1.1 supported
-------------------

Both client and server have support for SMB 3.1.1 now.

This is the dialect introduced with Windows 10, it improves the secure
negotiation of SMB dialects and features.

There's also a new optinal encryption algorithm aes-gcm-128,
but for now this is only selected as fallback and aes-ccm-128
is preferred because of the better performance. This might change
in future versions when hardware encryption will be supported.
See https://bugzilla.samba.org/show_bug.cgi?id=11451.

New smbclient subcommands
-------------------------

  - Query a directory for change notifications: notify <dir name>
  - Server side copy: scopy <source filename> <destination filename>

New rpcclient subcommands
-------------------------

  netshareenumall 	- Enumerate all shares
  netsharegetinfo 	- Get Share Info
  netsharesetinfo 	- Set Share Info
  netsharesetdfsflags	- Set DFS flags
  netfileenum		- Enumerate open files
  netnamevalidate	- Validate sharename
  netfilegetsec		- Get File security
  netsessdel		- Delete Session
  netsessenum		- Enumerate Sessions
  netdiskenum		- Enumerate Disks
  netconnenum		- Enumerate Connections
  netshareadd		- Add share
  netsharedel		- Delete share

New modules
-----------

  idmap_script 		- see 'man 8 idmap_script'
  vfs_unityed_media	- see 'man 8 vfs_unityed_media'
  vfs_shell_snap	- see 'man 8 vfs_shell_snap'

New sparsely connected replia graph (Improved KCC)
--------------------------------------------------

The Knowledge Consistency Checker (KCC) maintains a replication graph
for DCs across an AD network. The existing Samba KCC uses a fully
connected graph, so that each DC replicates from all the others, which
does not scale well with large networks. In 4.3 there is an
experimental new KCC that creates a sparsely connected replication
graph and closely follows Microsoft's specification. It is turned off
by default. To use the new KCC, set "kccsrv:samba_kcc=true" in
smb.conf and let us know how it goes. You should consider doing this
if you are making a large new network. For small networks there is
little benefit and you can always switch over at a later date.

Configurable TLS protocol support, with better defaults
-------------------------------------------------------

The "tls priority" option can be used to change the supported TLS
protocols. The default is to disable SSLv3, which is no longer
considered secure.

Samba-tool now supports all 7 FSMO roles
-------------------------------------------------------

Previously "samba-tool fsmo" could only show, transfer or seize the
five well-known FSMO roles:

	Schema Master
	Domain Naming Master
	RID Master
	PDC Emulator
	Infrastructure Master

It can now also show, transfer or seize the DNS infrastructure roles:

	DomainDnsZones Infrastructure Master
	ForestDnsZones Infrastructure Master

CTDB logging changes
--------------------

The destination for CTDB logging is now set via a single new
configuration variable CTDB_LOGGING.  This replaces CTDB_LOGFILE and
CTDB_SYSLOG, which have both been removed.  See ctdbd.conf(5) for
details of CTDB_LOGGING.

CTDB no longer runs a separate logging daemon.

CTDB NFS support changes
------------------------

CTDB's NFS service management has been combined into a single 60.nfs
event script.  This updated 60.nfs script now uses a call-out to
interact with different NFS implementations.  See the CTDB_NFS_CALLOUT
option in the ctdbd.conf(5) manual page for details.  A default
call-out is provided to interact with the Linux kernel NFS
implementation.  The 60.ganesha event script has been removed - a
sample call-out is provided for NFS Ganesha, based on this script.

The method of configuring NFS RPC checks has been improved.  See
ctdb/config/nfs-checks.d/README for details.

Improved Cross-Compiling Support
--------------------------------

A new "hybrid" build configuration mode is added to improve
cross-compilation support.

A common challenge in cross-compilation is that of obtaining the results
of tests that have to run on the target, during the configuration
phase of the build. The Samba build system already supports the following
means to do so:

  - Executing configure tests using the --cross-execute parameter
  - Obtaining the results from an answers file using the --cross-answers
    parameter

The first method has the drawback of inaccurate results if the tests are
run using an emulator, or a need to be connected to a running target
while building, if the tests are to be run on an actual target. The
second method presents a challenge of figuring out the test results.

The new hybrid mode runs the tests and records the result in an answer file.
To activate this mode, use both --cross-execute and --cross-answers in the
same configure invocation. This mode can be activated once against a
running target, and then the generated answers file can be used in
subsequent builds.

Also supplied is an example script that can be used as the
cross-execute program. This script copies the test to a running target
and runs the test on the target, obtaining the result. The obtained
results are more accurate than running the test with an emulator, because
they reflect the exact kernel and system libraries that exist on the
target.

Improved Sparse File Support
----------------------------
Support for the FSCTL_SET_ZERO_DATA and FSCTL_QUERY_ALLOCATED_RANGES
SMB2 requests has been added to the smbd file server.
This allows for clients to deallocate (hole punch) regions within a
sparse file, and check which portions of a file are allocated.


######################################################################
Changes
#######

smb.conf changes
----------------

  Parameter Name		Description		Default
  --------------		-----------		-------
  logging			New			(empty)
  msdfs shuffle referrals	New			no
  smbd profiling level		New			off
  spotlight			New			no
  tls priority			New 			NORMAL:-VERS-SSL3.0
  use ntdb			Removed
  change notify			Changed to [global]
  kernel change notify		Changed to [global]
  client max protocol		Changed	default		SMB3_11
  server max protocol		Changed default		SMB3_11

Removed modules
---------------

vfs_notify_fam - see section 'New FileChangeNotify subsystem'.


KNOWN ISSUES
============

Currently none.


CHANGES SINCE 4.2.0rc4
======================

o   Andrew Bartlett <abartlet@samba.org>
    * Bug 10973: No objectClass found in replPropertyMetaData on ordinary
      objects (non-deleted)
    * Bug 11429: Python bindings don't check integer types
    * Bug 11430: Python bindings don't check array sizes

o   Ralph Boehme <slow@samba.org>
    * Bug 11467: Handling of 0 byte resource fork stream

o   Volker Lendecke <vl@samba.org>
    * Bug 11488: AD samr GetGroupsForUser fails for users with "()" in
      their name

o   Stefan Metzmacher <metze@samba.org>
    * Bug 11429: Python bindings don't check integer types

o   Matthieu Patou <mat@matws.net>
    * Bug 10973: No objectClass found in replPropertyMetaData on ordinary
      objects (non-deleted)


CHANGES SINCE 4.2.0rc3
======================

o   Ralph Boehme <slow@samba.org>
    * Bug 11444: Crash in notify_remove caused by change notify = no

o   Günther Deschner <gd@samba.org>
    * Bug 11411: smbtorture does not build when configured --with-system-mitkrb5

o   Volker Lendecke <vl@samba.org>
    * Bug 11455: fix recursion problem in rep_strtoll in lib/replace/replace.c
    * Bug 11464: xid2sid gives inconsistent results
    * Bug 11465: ctdb: Fix the build on FreeBSD 10.1

o   Roel van Meer <roel@1afa.com>
    * Bug 11427: nmbd incorrectly matches netbios names as own name

o   Stefan Metzmacher <metze@samba.org>
    * Bug 11451: Poor SMB3 encryption performance with AES-GCM
    * Bug 11458: --bundled-libraries=!ldb,!pyldb,!pyldb-util doesn't
      disable ldb build and install

o   Andreas Schneider <asn@samba.org>
    * Bug 9862: Samba "map to guest = Bad uid" doesn't work


CHANGES SINCE 4.3.0rc2
======================

o   Andrew Bartlett <abartlet@samba.org>
    * Bug 11436: samba-tool uncaught exception error
    * Bug 10493: revert LDAP extended rule 1.2.840.113556.1.4.1941
                 LDAP_MATCHING_RULE_IN_CHAIN changes

o   Ralph Boehme <slow@samba.org>
    * Bug 11278: Stream names with colon don't work with
                 fruit:encoding = native
    * Bug 11426: net share allowedusers crashes

o   Amitay Isaacs <amitay@gmail.com>
    * Bug 11432: Fix crash in nested ctdb banning
    * Bug 11434: Cannot build ctdbpmda
    * Bug 11431: CTDB's eventscript error handling is broken

o   Stefan Metzmacher <metze@samba.org>
    * Bug 11451: Poor SMB3 encryption performance with AES-GCM (part1)
    * Bug 11316: tevent_fd needs to be destroyed before closing the fd

o   Arvid Requate <requate@univention.de>
    * Bug 11291: NetApp joined to a Samba/ADDC cannot resolve SIDs

o   Martin Schwenke <martin@meltin.net>
    * Bug 11432: Fix crash in nested ctdb banning


CHANGES SINCE 4.3.0rc1
======================

o   Jeremy Allison <jra@samba.org>
    * BUG 11359: strsep is not available on Solaris

o   Björn Baumbach <bb@sernet.de>
    * BUG 11421: Build with GPFS support is broken

o   Justin Maggard <jmaggard@netgear.com>
    * BUG 11320: "force group" with local group not working

o   Martin Schwenke <martin@meltin.net>
    * BUG 11424: Build broken with --disable-python


#######################################
Reporting bugs & Development Discussion
#######################################

Please discuss this release on the samba-technical mailing list or by
joining the #samba-technical IRC channel on irc.freenode.net.

If you do report problems then please try to send high quality
feedback. If you don't provide vital information to help us track down
the problem then you will probably be ignored.  All bug reports should
be filed under the "Samba 4.1 and newer" product in the project's Bugzilla
database (https://bugzilla.samba.org/).


======================================================================
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
======================================================================

