Release Planning for Samba 3.3

From SambaWiki

This is the current Samba release series:

Samba 3.3.7

(Updated 23-June-2009)

  • Wednesday, July 29 - Samba 3.3.7 has been released

Samba 3.3.6

(Updated 23-June-2009)

  • Tuesday, June 23 2009: Samba 3.3.6 Security Release has been released to address

CVE-2009-1888 ("Uninitialized read of a data value"). For more information, please see Samba Security page.

 Security Advisory

Samba 3.3.5

Major enhancements in Samba 3.3.5

  • Fix SAMR and LSA checks (bug #6089, #6289)
  • Fix posix acls when setting an ACL without explicit ACE for the owner (bug #2346).
  • Fix joining of Win7 into Samba domain (bug #6099).
  • Fix joining of Win2000 SP4 clients (bug #6301).

Updated 16-June-2009

  • Tuesday, June 16 - Samba 3.3.5 has been released

Samba 3.3.4

Major enhancements in Samba 3.3.4

  • Fix domain logins for WinXP clients pre SP3 (bug #6263).
  • Fix samr_OpenDomain access checks (bug #6089).
  • Fix usrmgr.exe creating a user (bug #6243).

Updated 29-April-2009

  • Wednesday, April 29 - Samba 3.3.4 has been released

Samba 3.3.3

Major enhancements in Samba 3.3.3

  • Migrating from 3.0.x to 3.3.x can fail to update passdb.tdb correctly (bug #6195).
  • Fix serving of files with colons to CIFS/VFS client (bug #6196).
  • Fix "map readonly" (bug #6186).

Updated 01-April-2009

  • Wednesday, April 1 - Samba 3.3.3 has been released

Samba 3.3.2

Major enhancements in Samba 3.3.2

  • Fix "force group" (bug #6155).
  • Fix saving of files on Samba share using MS Office 2007 (bug #6160).
  • Fix guest authentication in setups with "security = share" and "guest ok = yes" when Winbind is running.
  • Fix corruptions of source path in tar mode of smbclient (bug #6161).

Updated 12-March-2009

  • Thursday, March 12 - Samba 3.3.2 has been released

Samba 3.3.1

Major enhancements in Samba 3.3.1

  • Fix net ads join when "ldap ssl = start tls" (bug #6073).
  • Fix renaming/deleting of files using Windows clients (bug #6082).
  • Fix renaming/deleting a "not matching/resolving" symlink (bug #6090).
  • Fix remotely adding a share via the Windows MMC.

Updated 24-February-2009

The following time based release schedule is currently in play for Samba 3.3.1:

  • Tuesday, February 24 - Samba 3.3.1 has been released

Samba 3.3.0

Major enhancements in Samba 3.3.0

General changes

  • The passdb tdbsam version has been raised.


  • Splitting of library directory into library directory and separate modules directory.
  • The default value of "ldap ssl" has been changed to "start tls".

File Serving

  • Extended Cluster support.
  • New experimental VFS modules "vfs_acl_xattr" and "vfs_acl_tdb" to store NTFS ACLs on Samba file servers.


  • Simplified idmap configuration.
  • New idmap backends "adex" and "hash".
  • Added new parameter "winbind reconnect delay".
  • Added support for user and group aliasing.
  • Added support for multiple domains to idmap_ad.

Administrative tools

  • The destination "all" of smbcontrol does now affect all running daemons including nmbd and winbindd.
  • New 'net rpc vampire keytab' and 'net rpc vampire ldif' commands.
  • The 'net' utility can now use kerberos for joining and authentication.
  • The 'wbinfo' utility can now add, modify and remove identity mapping entries.


  • NetApi library implements various new calls for User- and Group Account Management.
  • libsmbclient does now determine case sensitivity based on file system attributes.

General changes

The passdb tdbsam version has been raised as among other things the RID counter has been moved from the winbindd_idmap.tdb to the passdb.tdb file to make "passdb backend = tdbsam" working in clustered environments.

Please note that an updated passdb.tdb file is _not_ compatible with Samba versions before 3.3.0! Please backup your passdb.tdb file if you use "passdb backend = tdbsam". That can be achieved by running

'tdbbackup /etc/samba/passdb.tdb'

before the update.

Configure changes

The configure option "--with-libdir" has been removed. The library directory can still be specified by using the existing "--libdir" option. A new option "--with-modulesdir" has been added to allow the specification of a separate directory for the shared modules.

Configuration changes

The default value of "ldap ssl" has been changed to "start tls". This means, Samba will use the LDAPv3 StartTLS extended operation (RFC2830) for communicating with directory servers by default. If your directory servers do not support this extended operation, you will have to set "ldap ssl = no". Otherwise, Samba could not contact the directory servers anymore!

Winbind idmap backend changes

The idmap configuration has changed with version 3.3 to something that allows a smoother upgrade path from pre-3.0.25 configurations that use "idmap backend". The reason for this change is that to many, also to Samba developers, the 3.0.25 style configuration with "idmap config" turned out to be very complex. Version 3.3 no longer deprecates the "idmap backend" parameter, instead with "idmap backend" the default idmap backend is specified.

Accordingly, the "idmap config : default = yes" setting is no longer being looked at.

The alloc backend defaults to the default backend, which should be able to allocate IDs. In the default distribution the tdb and ldap backends can allocate, the ad and rid backends can not. The idmap alloc range is now being set with the "old" parameters "idmap uid" and "idmap gid".

The "idmap domains" parameter has been removed.

winbind reconnect delay

This is a new parameter which specifies the number of seconds the Winbind daemon will wait between attempts to contact a Domain controller for a domain that is determined to be down or not contactable.

Winbind's Name Aliasing

Name aliasing in Winbind is a feature that allows an administrator to map a fully qualified user or group name from a Windows domain to a convenient short name for Unix access. This is similar to the username map functionality supported by smbd but is primary intended for clients and servers making use of Winbind's PAM and NSS libraries.

For example, the user "DOMAIN\fred" has been mapped to the Unix name "freddie".

$ getent passwd "DOMAIN\fred"
freddie:x:1000:1001:Fred Jones:/home/freddie:/bin/bash
$ getent passwd freddie
freddie:x:1000:1001:Fred Jones:/home/freddie:/bin/bash

The name aliasing support is provided by individual nss_info plugins. For example, the new "adex" plugin reads the uid attribute from Active Directory to make a short login name to the fully qualified name. While the new "hash" module utilizes a local file to map "short_name = QUALIFIED\name". Both user and group name mapping is supported. Please refer to the "winbind nss info" option in smb.conf(5) and to individual plugin man pages for further details.


The idmap_hash plugin provides similar support as the idmap_rid module. However, uids and gids are generated from the full domain SID using a hashing algorithm that maps the lower 19 bits from the user or group RID to bits 0 - 19 in the Unix id and hashes 96 bits from the domain SID to bits 20 - 30 in the Unix id. The result is a 31 bit uid or gid that is consistent across machines and provides support for trusted domains.

Please refer to the idmap_hash(8) man page for more details.


The adex idmap/nss_info plugin is an adaptation of the Likewise Enterprise plugin with support for OU based cells removed (since the Windows pieces to manage the cells are not available).

This plugin supports

  • The RFC2307 schema for users and groups.
  • Connections to trusted domains
  • Global catalog searches
  • Cross forest trusts
  • User and group aliases

Prerequisite: Add the following attributes to the Partial Attribute Set in global catalog:

  • uidNumber
  • uid
  • gidNumber

A basic config using the current trunk code would look like:


idmap backend = adex idmap uid = 10000 - 29999 idmap gid = 10000 - 29999 winbind nss info = adex

winbind normalize names = yes winbind refresh tickets = yes template homedir = /home/%D/%U template shell = /bin/bash

Please refer to the idmap_adex(8) man page for more details.


libsmbclient will now treat file names case-sensitive by default if the filesystem we are connecting to supports case sensitivity. This change of behavior is considered a bug fix, as it was previously possible to accidentally overwrite a file that had the same case-insensitive name but a different case-sensitive name as a previously-existing file, while creating a new file.

If it is not possible to detect if the filesystem supports case sensitivity, the user-specified option value will be used.

Updated 27-January-2009

The following time based release schedule is currently in play for Samba 3.3.0:

  • Tuesday, August 26 - Samba 3.3.0pre1 has been released
  • Thursday, October 2 - Samba 3.3.0pre2 has been released
  • Thursday, November 27 - Samba 3.3.0rc1 has been released
  • Monday, December 15 - Samba 3.3.0rc2 has been released
  • Tuesday, January 27 - Samba 3.3.0 has been released