[Announce] Samba 4.2.0rc3 Available for Download

Karolin Seeger kseeger at samba.org
Sat Dec 20 08:38:26 MST 2014

Release Announcements

This is the third release candidate of Samba 4.2.  This is *not*
intended for production environments and is designed for testing
purposes only.  Please report any defects via the Samba bug reporting
system at https://bugzilla.samba.org/.

Samba 4.2 will be the next version of the Samba suite.


With the final release of Samba 4.2, the last series of Samba 3 has
been discontinued! People still running 3.6.x or earlier,should
consider moving to a more recent and maintained version (4.0 - 4.2).
One of the common misconceptions is that Samba 4.x automatically
means "Active Directory only": This is wrong!

Acting as an Active Directory Domain Controller is just one of the
enhancements included in Samba 4.0 and later. Version 4.0 was just the
next release after the 3.6 series and contains all the features of the
previous ones - including the NT4-style (classic) domain support. This
means you can update a Samba 3.x NT4-style PDC to 4.x, just as you've
updated in the past (e.g. from 3.4.x to 3.5.x). You don't have to move
your NT4-style domain to an Active Directory!

And of course the possibility remains unchanged, to setup a new NT4-style
PDC with Samba 4.x, like done in the past (e.g. with openLDAP backend).
Active Directory support in Samba 4 is additional and does not replace
any of these features. We do understand the difficulty presented by
existing LDAP structures and for that reason there isn't a plan to
decommission the classic PDC support. It remains tested by the continuous
integration system.

The code that supports the classic Domain Controller is also the same
code that supports the internal 'Domain' of standalone servers and
Domain Member Servers. This means that we still use this code, even
when not acting as an AD Domain Controller. It is also the basis for
some of the features of FreeIPA and so it gets development attention
from that direction as well.


Read the "Winbindd/Netlogon improvements" section (below) carefully!


Transparent File Compression

Samba 4.2.0 adds support for the manipulation of file and folder
compression flags on the Btrfs filesystem.
With the Btrfs Samba VFS module enabled, SMB2+ compression flags can
be set remotely from the Windows Explorer File->Properties->Advanced
dialog. Files flagged for compression are transparently compressed
and uncompressed when accessed or modified.

Previous File Versions with Snapper

The newly added Snapper VFS module exposes snapshots managed by
Snapper for use by Samba. This provides the ability for remote
clients to access shadow-copies via Windows Explorer using the
"previous versions" dialog.

Winbindd/Netlogon improvements

The whole concept of maintaining the netlogon secure channel
to (other) domain controllers was rewritten in order to maintain
global state in a netlogon_creds_cli.tdb. This is the proper fix
for a large number of bugs:


In addition a strong session key is now required by default,
which means that communication to older servers or clients
might be rejected by default.

For the client side we have the following new options:
"require strong key" (yes by default), "reject md5 servers" (no by default).
E.g. for Samba 3.0.37 you need "require strong key = no" and
for NT4 DCs you need "require strong key = no" and "client NTLMv2 auth = no",

On the server side (as domain controller) we have the following new options:
"allow nt4 crypto" (no by default), "reject md5 client" (no by default).
E.g. in order to allow Samba < 3.0.27 or NT4 members to work
you need "allow nt4 crypto = yes"

winbindd does not list group memberships for display purposes
(e.g. getent group <domain\<group>) anymore by default.
The new default is "winbind expand groups = 0" now,
the reason for this is the same as for "winbind enum users = no"
and "winbind enum groups = no". Providing this information is not always
reliably possible, e.g. if there are trusted domains.

Please consult the smb.conf manpage for more details on these new options.

Winbindd use on the Samba AD DC

Winbindd is now used on the Samba AD DC by default, replacing the
partial rewrite used for winbind operations in Samba 4.0 and 4.1.

This allows more code to be shared, more options to be honoured, and
paves the way for support for trusted domains in the AD DC.

If required the old internal winbind can be activated by setting
'server services = +winbind -winbindd'.  Upgrading users with a server
services parameter specified should ensure they change 'winbind' to
'winbindd' to obtain the new functionality.

The 'samba' binary still manages the starting of this service, there
is no need to start the winbindd binary manually.

Winbind now requires secured connections

To improve protection against rogue domain controllers we now require
that when we connect to an AD DC in our forest, that the connection be
signed using SMB Signing.  Set 'client signing = off' in the smb.conf
to disable.

Also and DCE/RPC pipes must be sealed, set 'require strong key =
false' and 'winbind sealed pipes = false' to disable.

Finally, the default for 'client ldap sasl wrapping' has been set to
'sign', to ensure the integrity of LDAP connections.  Set 'client ldap
sasl wrapping = plain' to disable.

Larger IO sizes for SMB2/3 by default

The default values for "smb2 max read", "smb2 max write" and "smb2 max trans"
have been changed to 8388608 (8MiB) in order to match the default of
Windows 2012R2.

SMB2 leases

The SMB2 protocol allows clients to aggressively cache files
locally above and beyond the caching allowed by SMB1 and SMB2 oplocks.

Called SMB2 leases, this can greatly reduce traffic on an SMB2
connection. Samba 4.2 now implements SMB2 leases.

It can be turned on by setting the parameter "smb2 leases = yes"
in the [global] section of your smb.conf. This parameter is set
to off by default until the SMB2 leasing code is declared fully stable.

Improved DCERPC man in the middle detection

The DCERPC header signing has been implemented
in addition to the dcerpc_sec_verification_trailer

Overhauled "net idmap" command

The command line interface of the "net idmap" command has been
made systematic, and subcommands for reading and writing the autorid idmap
database have been added. Note that the writing commands should be
used with great care. See the net(8) manual page for details.

tdb improvements

The tdb library, our core mechanism to store Samba-specific data on disk and
share it between processes, has been improved to support process shared robust
mutexes on Linux. These mutexes are available on Linux and Solaris and
significantly reduce the overhead involved with tdb. To enable mutexes for
tdb, set

dbwrap_tdb_mutexes:* = yes

in the [global] section of your smb.conf.

Tdb file space management has also been made more efficient. This
will lead to smaller and less fragmented databases.

Messaging improvements

Our internal messaging subsystem, used for example for things like oplock
break messages between smbds or setting a process debug level dynamically, has
been rewritten to use unix domain datagram messages.

Clustering support

Samba's file server clustering component CTDB is now integrated in the
Samba tree.  This avoids the confusion of compatibility of Samba and CTDB
versions as existed previously.

To build the Samba file server with cluster support, use the configure
command line option --with-cluster-support.  This will build clustered
file server against the in-tree CTDB and will also build CTDB.
Building clustered samba with previous versions of CTDB is no longer

Samba Registry Editor

The utitlity to browse the samba registry has been overhauled by our Google
Summer of Code student Chris Davis. Now samba-regedit has a
Midnight-Commander-like theme and UI experience. You can browse keys and edit
the diffent value types. For a data value type a hexeditor has been

Bad Password Lockout in the AD DC

Samba's AD DC now implements bad password lockout (on a per-DC basis).

That is, incorrect password attempts are tracked, and accounts locked
out if too many bad passwords are submitted.  There is also a grace
period of 60 minutes on the previous password when used for NTLM
authentication (matching Windows 2003 SP1: https://support2.microsoft.com/kb/906305).

The relevant settings can be seen using 'samba-tool domain
passwordsettings show' (the new settings being highlighted):

Password informations for domain 'DC=samba,DC=example,DC=com'

Password complexity: on
Store plaintext passwords: off
Password history length: 24
Minimum password length: 7
Minimum password age (days): 1
Maximum password age (days): 42
* Account lockout duration (mins): 30     *
* Account lockout threshold (attempts): 0 *
* Reset account lockout after (mins): 30  *

These values can be set using 'samba-tool domain passwordsettings set'.

Correct defaults in the smb.conf manpages

The default values for smb.conf parameters are now correctly specified
in the smb.conf manpage, even when they refer to build-time specified
paths.  Provided Samba is built on a system with the right tools
(xsltproc in particular) required to generate our man pages, then
these will be built with the exact same embedded paths as used by the
configuration parser at runtime.  Additionally, the default values
read from the smb.conf manpage are checked by our test suite to match
the values seen in testparm and used by the running binaries.

Consistent behaviour between samba-tool testparm and testparm

With the exception of the registry backend, which remains only
available in the file server, the behaviour of the smb.conf parser and
the tools 'samba-tool testparm' and 'testparm' is now consistent,
particularly with regard to default values.  Except with regard to
registry shares, it is no longer needed to use one tool on the AD
DC, and another on the file server.

VFS WORM module

A VFS module for basic WORM (Write once read many) support has been
added. It allows an additional layer on top of a Samba share, that provides
a basic set of WORM functionality on the client side, to control the
writeability of files and folders.

As the module is simply an additional layer, share access and permissions
work like expected - only WORM functionality is added on top. Removing the
module from the share configuration, removes this layer again. The
filesystem ACLs are not affected in any way from the module and treated
as usual.

The module does not provide complete WORM functions, like some archiving
products do! It is not audit-proof, because the WORM function is only
available on the client side, when accessing a share through SMB! If
the same folder is shared by other services like NFS, the access only
depends on the underlying filesystem ACLs. Equally if you access the
content directly on the server.

For additional information, see

vfs_fruit, a VFS module for OS X clients

A new VFS module that provides enhanced compatibility with Apple SMB
clients and interoperability with a Netatalk 3 AFP fileserver.

The module features enhanced performance with reliable named streams
support, interoperability with special characters commonly used by OS
X client (eg '*', '/'), integrated file locking and Mac metadata
access with Netatalk 3 and enhanced performance by implementing
Apple's SMB2 extension codenamed "AAPL".

The modules behaviour is fully configurable, please refer to the
manpage vfs_fruit for further details.

smbclient archival improvements

Archive creation and extraction support in smbclient has been rewritten
to use libarchive. This fixes a number of outstanding bugs in Samba's
previous custom tar implementation and also adds support for the
extraction of zipped archives.
smbclient archive support can be enabled or disabled at build time with
corresponding --with[out]-libarchive configure parameters.


smb.conf changes

   Parameter Name			Description	Default
   --------------			-----------	-------

   allow nt4 crypto                     New             no
   neutralize nt4 emulation             New             no
   reject md5 client                    New             no
   reject md5 servers                   New             no
   require strong key                   New             yes
   smb2 max read                        Changed default 8388608
   smb2 max write                       Changed default 8388608
   smb2 max trans                       Changed default 8388608
   winbind expand groups                Changed default 0


o   Michael Adam <obnox at samba.org>
    * BUG 10892: Integrate CTDB into top-level Samba build.

o   Jeremy Allison <jra at samba.org>
    * BUG 10851: lib: uid_wrapper: Fix setgroups and syscall detection on a
      system without native uid_wrapper library.
    * BUG 10896: s3-nmbd: Fix netbios name truncation.
    * BUG 10904: Fix smbclient loops doing a directory listing against Mac OS X 10
      server with a non-wildcard path.
    * BUG 10911: Add support for SMB2 leases.
    * BUG 10920: s3: nmbd: Ensure NetBIOS names are only 15 characters stored.
    * BUG 10966: libcli: SMB2: Pure SMB2-only negprot fix to make us behave as a
      Windows client does.
    * BUG 10982: s3: smbd: Fix *allocate* calls to follow POSIX error return

o   Christian Ambach <ambi at samba.org>
    * BUG 9629: Make 'profiles' work again.

o   Björn Baumbach <bb at sernet.de>
    * BUG 11014: ctdb-build: Fix build without xsltproc.

o   Ralph Boehme <slow at samba.org>
    * BUG 10834: Don't build vfs_snapper on FreeBSD.
    * BUG 10971: vfs_streams_xattr: Check stream type.
    * BUG 10983: vfs_fruit: Add support for AAPL.
    * BUG 11005: vfs_streams_xattr: Add missing call to SMB_VFS_NEXT_CONNECT.

o   Günther Deschner <gd at samba.org>
    * BUG 9056: pam_winbind: fix warn_pwd_expire implementation.
    * BUG 10942: Cleanup add_string_to_array and usage.

o   David Disseldorp <ddiss at samba.org>
    * BUG 10898: spoolss: Fix handling of bad EnumJobs levels.
    * BUG 10905: Fix print job enumeration.

o   Amitay Isaacs <amitay at gmail.com>
    * BUG 10620: s4-dns: Add support for BIND 9.10.
    * BUG 10892: Integrate CTDB into top-level Samba build.
    * BUG 10996: Fix IPv6 support in CTDB.
    * BUG 11014: packaging: Include CTDB man pages in the tarball.

o   Björn Jacke <bj at sernet.de>
    * BUG 10835: nss_winbind: Add getgroupmembership for FreeBSD.

o   Guenter Kukkukk <linux at kukkukk.com>
    * BUG 10952: Fix 'samba-tool dns serverinfo <server>' for IPv6.

o   Volker Lendecke <vl at samba.org>
    * BUG 10932: pdb_tdb: Fix a TALLOC/SAFE_FREE mixup.
    * BUG 10942: dbwrap_ctdb: Pass on mutex flags to tdb_open.

o   Justin Maggard <jmaggard10 at gmail.com>
    * BUG 10852: winbind3: Fix pwent variable substitution.

o   Kamen Mazdrashki <kamenim at samba.org>
    * BUG 10975: ldb: version 1.1.18

o   Stefan Metzmacher <metze at samba.org>
    * BUG 10781: tdb: version 1.3.3
    * BUG 10911: Add support for SMB2 leases.
    * BUG 10921: s3:smbd: Fix file corruption using "write cache size != 0".
    * BUG 10949: Fix RootDSE search with extended dn control.
    * BUG 10958: libcli/smb: only force signing of smb2 session setups when
      binding a new session.
    * BUG 10975: ldb: version 1.1.18
    * BUG 11016: pdb_get_trusteddom_pw() fails with non valid UTF16 random

o   Marc Muehlfeld <mmuehlfeld at samba.org>
    * BUG 10895: samba-tool group add: Add option '--nis-domain' and '--gid'.

o   Noel Power <noel.power at suse.com>
    * BUG 10918: btrfs: Don't leak opened directory handle.

o   Matt Rogers <mrogers at redhat.com>
    * BUG 10933: s3-keytab: fix keytab array NULL termination.

o   Garming Sam <garming at catalyst.net.nz>
    * BUG 10355: pdb: Fix build issues with shared modules.
    * BUG 10720: idmap: Return the correct id type to *id_to_sid methods.
    * BUG 10864: Fix testparm to show hidden share defaults.

o   Andreas Schneider <asn at samba.org>
    * BUG 10279: Make 'smbclient' use cached creds.
    * BUG 10960: s3-smbclient: Return success if we listed the shares.
    * BUG 10961: s3-smbstatus: Fix exit code of profile output.
    * BUG 10965: socket_wrapper: Add missing prototype check for eventfd.

o   Martin Schwenke <martin at meltin.net>
    * BUG 10892: Integrate CTDB into top-level Samba build.
    * BUG 10996: Fix IPv6 support in CTDB.


o   Jeremy Allison <jra at samba.org>
    * BUG 10848: s3: smb2cli: query info return length check was reversed.

o   Björn Baumbach <bb at sernet.de>
    * BUG 10862: build: Do not install 'texpect' binary anymore.

o   Chris Davis <cd.rattan at gmail.com>
    * BUG 10859: Improve samba-regedit.

o   Jakub Hrozek <jakub.hrozek at gmail.com>
    * BUG 10861: Fix build of socket_wrapper on systems without SO_PROTOCOL.

o   Volker Lendecke <vl at samba.org>
    * BUG 10860: registry: Don't leave dangling transactions.

o   Stefan Metzmacher <metze at samba.org>
    * BUG 10866: libcli/smb: Fix smb2cli_validate_negotiate_info with
      min=PROTOCOL_NT1 max=PROTOCOL_SMB2_02.

o   Christof Schmitt <cs at samba.org>
    * BUG 10837: idmap_rfc2307: Fix a crash after connection problem to DC.

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.2 product in the project's Bugzilla
database (https://bugzilla.samba.org/).

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

Download Details

The uncompressed tarballs and patch files have been signed
using GnuPG (ID 6568B7EA).  The source code can be downloaded


The release notes are available online at:


Binary packages will be made available on a volunteer basis from


Our Code, Our Bugs, Our Responsibility.

                        The Samba Team

More information about the samba-announce mailing list