Samba 4.1 Features added/changed

From SambaWiki
Revision as of 17:51, 11 October 2013 by Fraz (talk | contribs) (→‎Samba 4.1.0)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Samba 4.1.0

Release Notes for Samba 4.1.0
October 11, 2013

This is is the first stable release of Samba 4.1.

Samba 4.1 will be the next version of the Samba suite and includes all the technology found in both the Samba4 series and the stable 3.x series. The primary additional features over Samba 3.6 are support for the Active Directory logon protocols used by Windows 2000 and above.

Major enhancements in Samba 4.1.0 include:

Client tools support SMB2/3

Samba 4.1.0 contains the first release of our client tools and client library that work over the new protocols SMB2 or SMB3. Note that SMB3 only works either to a Samba server version 4.0.0 or above, or to a Windows Server running Windows 2012 or Windows 8.

The default protocol for smbclient and smbcacls is still SMB1 (the NT1 protocol dialect). An SMB2 or SMB3 connection can be selected in one of two ways. The easiest way to test the new protocol connection is to add the -mMAX_PROTOCOL command line switch to either smbclient or smbcacls.

For example, to connect using SMB3 with smbclient a user would type:

smbclient //server/share -Uuser%password -mSMB3

Another example of connecting using SMB2 using smbcacls would be:

smbcacls //server/share -Uuser%password -mSMB2 filename

Note that when connecting using SMB2 or SMB3 protocols the UNIX extensions are no longer available inside the smbclient command set. This is due to UNIX extensions not yet being defined for the SMB2 or SMB3 protocols.

The second way to select SMB2 or SMB3 connections is to set the "client max protocol" parameter in the [global] section of your smb.conf.

Setting this parameter will cause all client connections from Samba and its client tools to offer the requested max protocol to a server on every connection request.

For example, to cause all client tools (including winbindd, rpcclient, and the libsmbclient library) to attempt use SMB3 by default add the line:

client max protocol = SMB3

to the [global] section of your smb.conf. This has not been as widely tested as the -mPROTOCOL options, but is intended to work correctly in the final release of 4.1.0.

Encrypted transport

Although Samba servers have supported encrypted transport connections using the UNIX extensions for many years, selecting SMB3 transport allows encrypted transport connections to Windows servers that support SMB3, as well as Samba servers.

In order to enable this, add the "-e" option to the smbclient command line.

For example, to connect to a Windows 2012 server over SMB3 and select an encrypted transport you would use the following command line:

smbclient //Win2012Server/share -Uuser%password -mSMB3 -e

Directory database replication (AD DC mode)

Directory replication has been reworked in order to improve the correctness and efficiency.

As a net effect of it, replication with other domain controllers with a heavily modified schema is now possible (ie. Windows 2012 DCs or other Windows DC with exchange installed) and replication didn't fail anymore in such environments.

Server-Side Copy Support

Samba 4.1.0 adds support for server-side copy operations via the SMB2 FSCTL_SRV_COPYCHUNK request. Clients making use of server-side copy support, such as Windows Server 2012, should experience considerable performance improvements for file copy operations, as file data need not traverse the network.

This feature is enabled by default on the smbd file server.

Btrfs Filesystem Integration

The Btrfs VFS module provided with Samba 4.1.0 further improves the performance of server-side copy operations on shares backed by a Btrfs filesystem. It does so by allowing multiple files to share the same on-disk extents, avoiding the unnecessary duplication of source and destination file data during a server-side copy operation.

This feature can be explicitly enabled on smbd shares backed by a Btrfs filesystem with the smb.conf parameter:

vfs objects = btrfs

The Samba Web Administration Tool (SWAT) has been removed. Details why SWAT has been removed can be found on the samba-technical mailing list:


smb.conf changes
  Parameter Name			Description	Default
  --------------			-----------	-------
  acl allow execute always		New		False
  password level			Removed
  set directory			Removed
  use ntdb				New		No

RUNNING Samba 4.1 as an AD DC

A short guide to setting up Samba as an AD DC can be found on the wiki:


o Jeremy Allison <>

   * Add SMB2 and SMB3 support for client tools and client library.
   * Add support for SMB3 Encrypted transport.

o David Disseldorp <>

   * Add vfs_btrfs module.
   * Add support for server-side copy operations via the SMB2 FSCTL_SRV_COPYCHUNK request.

o Stefan Metzmacher <>

   * BUG 10178: Fix PAC parsing failure.

o Andreas Schneider <>

   * BUG 10132: pam_winbindd: Support the KEYRING ccache type.

o Michael Adam <>

   * BUG 10134: Add "acl allow execute always" parameter.

o Jeremy Allison <>

   * BUG 10139: Valid utf8 filenames cause "invalid conversion error" messages.
   * BUG 10145: Samba SMB2 client code reads the wrong short name length in a directory listing reply.
   * BUG 10149: cli_smb2_get_ea_list_path() failed to close file on exit.
   * BUG 10150: Not all OEM servers support the ALTNAME info level.

o Andrew Bartlett <>

   * BUG 8077: dsdb: Convert the full string from UTF16 to UTF8, including embedded NULLs.
   * BUG 9461: python-samba-tool fsmo: Do not give an error on a successful role transfer.
   * BUG 10157: Regression causes replication failure with Windows 2008R2 and deletes Deleted Objects.

o Günther Deschner <>

   * BUG 10147: Better document potential implications of a globally used "valid users".

o Korobkin <>

   * BUG 10118: Raise the level of a debug when unable to open a printer.

o Volker Lendecke <>

   * BUG 10008: dbwrap_ctdb: Treat empty records as non-existing.
   * BUG 10138: smbd: Always clean up share modes after hard crash.

o Daniel Liberman <>

   * BUG 10162: Fix POSIX ACL mapping when setting DENY ACE's from Windows.

o Stefan Metzmacher <>

   * BUG 10144: libcli/smb: Use SMB1 MID=0 for the initial Negprot.
   * BUG 10146: libcli/smb: Only check the SMB2 session setup signature if required and valid.

o Matthieu Patou <>

   * BUG 10158: Netbios related samba process consumes 100% CPU.

o Christof Schmitt <>

   * BUG 10137: vfs_shadow_copy2: Display previous versions correctly over SMB2.

o Michael Adam <>

   * BUG 10107: Fix Winbind crashes on DC with trusted AD domains.

o Jeremy Allison <>

   * BUG 5917: Fix working on site with Read Only Domain Controller.
   * BUG 9974: Add SMB2 and SMB3 support for smbclient.
   * BUG 10063: Fix memory leak in source3/lib/util.c:1493.
   * BUG 10121: Masks incorrectly applied to UNIX extension permission changes.

o Christian Ambach <>

   * BUG 9911: Build Samba 4.0.x on AIX with IBM XL C/C++.

o Andrew Bartlett <>

   * BUG 9091: When replicating DNS for bind9_dlz we need to create the server-DNS account remotely.

o Günther Deschner <>

   * BUG 9615: Winbind unable to retrieve user information from AD.
   * BUG 9899: winbind_lookup_names() fails because of NT_STATUS_CANT_ACCESS_DOMAIN_INFO.
   * BUG 10107: Fix Winbind crashes on DC with trusted AD domains.

o Volker Lendecke <>

   * BUG 10086: smbd: Fix async echo handler forking.
   * BUG 10106: Honour output buffer length set by the client for SMB2 GetInfo requests.
   * BUG 10114: Handle Dropbox (write-only-directory) case correctly in pathname lookup.

o Stefan Metzmacher <>

   * BUG 10030: ::1 added to nameserver on join.

o Rusty Russell <>

   * BUG 10000: Add man pages for ntdb tools.

o Karolin Seeger <>

   * BUG 7364: Add man page for vfs_syncops.
   * BUG 7490: Add man page for vfs_linux_xfs_sgid.
   * BUG 10001: Add man page for samba-regedit tool.
   * BUG 10076: Fix variable list in vfs_crossrename man page.

o Andreas Schneider <>

   * BUG 10073: Fix segmentation fault in 'net ads join'.
   * BUG 10082: s3-winbind: Fix a segfault passing NULL to a fstring argument.

o Richard Sharpe <>

   * BUG 10097: MacOSX 10.9 will not follow path-based DFS referrals handed out by Samba.

o Ralph Wuerthner <>

   * BUG 10106: Honour output buffer length set by the client for SMB2 GetInfo requests.


o Jeremy Allison <>

   * BUG 9992: Windows error 0x800700FE when copying files with xattr names containing ":".
   * BUG 10010: Missing integer wrap protection in EA list reading can cause server to loop with DOS (CVE-2013-4124).
   * BUG 10064: Linux kernel oplock breaks can miss signals.

o Andrew Bartlett <>

   * BUG 9029: Fix replication with --domain-crictical-only to fill in backlinks.
   * BUG 9820: Fix crash of winbind after "ls -l /usr/local/samba/var/locks/sysvol".
   * BUG 10056: dsdb improvements.

o Björn Baumbach <>

   * BUG 10003: Fix segfault while reading incomplete session info.

o Gregor Beck <>

   * BUG 9678: Windows 8 Roaming profiles fail.

o Günther Deschner <>

   * BUG 10043: Allow to change the default location for Kerberos credential caches.

o Volker Lendecke <>

   * BUG 10013: Fix a 100% loop at shutdown time (smbd).

o Stefan Metzmacher <>

   * BUG 9820: Fix crash of winbind after "ls -l /usr/local/samba/var/locks/sysvol".
   * BUG 10015: Fix/improve debug options.
   * BUG 10042: Fix crashes in socket_get_local_addr().
   * BUG 10056: dsdb improvements.

o Andreas Schneider <>

   * BUG 9994: Do not delete an existing valid credential cache (s3-winbind).
   * BUG 10040: Rename regedit to samba-regedit.
   * BUG 10041: Remove obsolete swat manpage and references.
   * BUG 10048: nsswitch: Add OPT_KRB5CCNAME to avoid an error message.

o Alexander Werth <>

   * BUG 10045: Remove a redundant inlined substitution of ACLs.

o Ralph Wuerthner <>

   * BUG 10064: Linux kernel oplock breaks can miss signals.