Samba 3.5.0 Available for Download

                   Release Notes for Samba 3.5.0
			    March 1, 2010

This is the first stable release of Samba 3.5.

Major enhancements in Samba 3.5.0 include:

General changes:
o Add support for full Windows timestamp resolution
o The Using Samba HTML book has been removed.
o 'net', 'smbclient' and libsmbclient can use credentials cached by Winbind.
o The default value of "wide links" has been changed to "no".

Protocol changes:
o Experimental implementation of SMB2

Printing Changes:
o Add encryption support for connections to a CUPS server

Winbind changes:
o Major refactoring
o Asynchronous

VFS modules:
o New vfs_scannedonly module has been added.

General changes:

Support for full Windows timestamp resolution has been added. This effectively
makes us use Windows' full 100ns timestamp resolution if supported by the
kernel (2.6.22 and higher) and the glibc (2.6 and higher).

The Using Samba HTML book has been removed from the Samba tarball.
It is still available at

Samba client tools like 'net', 'smbclient' and libsmbclient can use the user
credentials cached by Winbind at logon time. This is very useful e.g. when
connecting to a Samba server using Nautilus without re-entering username and
password. This feature is enabled by default and can be disabled per application
by setting the LIBSMBCLIENT_NO_CCACHE environment variable.

The default value of "wide links" has been changed to "no" to avoid an insecure
default configuration ("wide links = yes" and "unix extensions = yes"). For
more details, please see

Protocol changes

An EXPERIMENTAL implementation of the SMB2 protocol has been added. SMB2 can be
enabled by setting "max protocol = smb2". SMB2 is a new implementation of the
SMB protocol used by Windows Vista and higher.

Printing Changes

A new parameter "cups encrypt" has been added to control whether connections to
CUPS servers will be encrypted or not. The default is to use unencrypted

Winbind changes

The Winbind daemon has been refactored internally to be asynchronous. The new
Winbind will not be blocked by running 'getent group' or 'getent passwd'.

VFS modules

A new VFS module "scannedonly" has been added. This is a filter that
talks to an antivirus-engine and stores whether a file is clean or not.
Users do only see clean files on their filesystem.


smb.conf changes

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

   create krb5 conf		       New	       yes
   ctdb timeout			       New	       0
   cups encrypt			       New	       no
   debug hires timestamp	       Changed Default yes
   ldap deref			       New	       auto
   ldap follow referral		       New	       auto
   nmbd bind explicit broadcast	       New	       no
   wide links			       Changed Default no

New configure options

--enable-external-libtdb	Enable external tdb
--enable-netapi			Turn on netapi support
--enable-pthreadpool		Enable pthreads pool helper support
--with-cifsumount		Include umount.cifs (Linux only) support
--with-codepagedir=DIR		Where to put codepages

Commit Highlights

o   Björn Jacke <>
    * Add support for full Windows timestamp resolution.
    * Add encryption support for connections to a CUPS server.

o   Volker Lendecke <>
    * Major internal refactoring of the Winbind daemon.
    * Make Winbind asynchronous.
    * Make 'net', 'smbclient' and libsmbclient use the logon credentials cached
      by Winbind.

o   Stefan Metzmacher <>
    * Implement the new SMB2 protocol (experimental).

Changes since 3.5.0rc3

o   Günther Deschner <>
    * BUG 7181: Fix 'net ads dns' usage calls.
    * BUG 7182: Fix uninitialized variable in wkssvc_enumerateusers.

o   Volker Lendecke <>
    * BUG 7145: Fix duplicate sam and unix accounts.
    * BUG 7166: Avoid calling cli_alloc_mid twice in cli_smb_req_iov_send.

o   Stefan Metzmacher <>
    * BUG 7160: Keep the the correct negotiate_flags on the cli->dc structure.

Changes since 3.5.0rc2

o   Jeremy Allison <>
    * BUG 6557: Fix vfs_full_audit.
    * BUG 6876: Fix duplicate initializer in the rmdir module.
    * BUG 7063: Fix core dump on Ubuntu 8.04 64 bit.
    * BUG 7067: Fix failing of smbd to respond to a read or a write caused by
      Linux asynchronous IO (aio).
    * BUG 7069: Fix 'smbget' error status.
    * BUG 7072: Fix unlocking of accounts from ldap.
    * BUG 7079  Cliconnect gets realm wrong with trusted domains.
    * BUG 7081: Fix vfs_expand_msdfs.
    * BUG 7084: Fix storing of create time on directories in an EA in new
      create time code.
    * BUG 7104: "wide links" and "unix extensions" are incompatible.
    * BUG 7118: Fix nmbd problems with socket address.
    * BUG 7122: Fix reading of large browselist.
    * BUG 7154: "mangling method = hash" can crash storing a name containing a '.'.
    * BUG 7155: Valgrind Conditional jump or move depends on uninitialised
      value(s) error when "mangling method = hash"..

o   Steven Danneman <>
    * BUG 7096: Fix string buffer overflow causing heap corruption in smbd.

o   Günther Deschner <>
    * BUG 6888: Fix printing with 64 bit clients.
    * BUG 7130: Fix listing of printjobs in  Windows 7.
    * BUG 7148: Fix get_acl_blob in the acl_tdb VFS module.

o   Björn Jacke <>
    * BUG 7103: Fix build issue on Tru64.
    * BUG 7116: Change ldap filter to what really was intended.
    * Fix some wrong newlines in de translation strings.

o   Jeff Layton <>
    * BUG 6868: Fix crash bug in 'cifs.upcall'.

o   Volker Lendecke <>
    * BUG 7085: Fix an early release of the global lock that can cause data
      corruption in libtdb.
    * BUG 7139: Owner of file not available with Kerberos.

o   Stefan Metzmacher <>
    * BUG 6888: Fix printing with 64 bit clients.
    * BUG 7098: Fix results of 'smbclient -L' with a large browse list.
    * BUG 7116: Add pdb_ldap performance fixes.
    * BUG 7118: Add new "nmbd bind explicit broadcast" parameter.
    * BUG 7119: Support large browselist.
    * BUG 7140: Fix IPv4/IPv6 problems.

o   Lars Müller <>
    * BUG 7071: Fix build of 'smbfilter'.
    * BUG 7047: Add cross option to samba_cv_linux_getgrouplist_ok.
    * BUG 7102: Normalize "Changing password for" msg IDs and STRs.

o   Olivier Sessink <olivier@virtscano.fakenet>
    * BUG 7076: Fix build of vfs_scannedonly on AIX.

o   Bo Yang <>
    * BUG 7106: Fix malformed require_membership_of_sid.

Changes since 3.5.0rc1

o   Michael Adam <>
    * BUG 4347: Check password history before increasing "badPasswordCount".

o   Jeremy Allison <>
    * BUG 5202: Fix changing of ACLs on writable file with "dos filemode=yes".
    * BUG 6876: Fix deletion of an object whose parent folder does not have delete
      rights fails even if the delete right is set on the object in
      vfs_acl_xattr and vfs_acl_tdb.
    * BUG 7033: Fix SMBrmdir error message when deleting a directory fails.
    * BUG 7036: Fix 'net rpc getsid' in hardened Windows environments.
    * BUG 7045: Fix bad (non memory copying) interfaces in smbc_setXXXX calls.

o   Giovanni Bajo <>
    * BUG 7029: Disable sanity check in NetShareEnum for better compatibility
      with Windows.

o   Kai Blin <>
    * BUG 7039: Fix compile error with WITH_DNS_UPDATE. Update .po files.

o   Günther Deschner <>
    * BUG 7043: Fix crash bug in libsmbclient.

o   André Hentschel <>
    * BUG 7039: Complete German translation of 'net'.

o   Björn Jacke <>
    * BUG 7039: Improve some German translations in 'net'.

o   William Jojo <>
    * BUG 7052: Fix DFS on AIX.

o   Volker Lendecke <>
    * BUG 6981: Fix large paged search with DirX LDAP servers.
    * BUG 7027: Fix a segfault in winbindd_dual_ccache_ntlm_auth().
    * BUG 7037: Fix a Winbind segfault in "trusted_domains".
    * BUG 7046: Fix libsmbclient crash against OpenSolaris CIFS server.
    * BUG 7062: Make 'net', 'smbclient' and libsmbclient use the logon
      credentials cached by Winbind.
    * Lock down some srvsvc calls according to what w2k3 seems to do.

o   Stefan Metzmacher <>
    * BUG 6157: Restore Samba 3.0.x behavior and use the first "uid" value in

o   SASAJIMA Toshihiro <>
    * BUG 7034: Fix segfault in vfs_cap.

o   Olivier Sessink <>
    * BUG 7028: Add new scannedonly VFS module.

Changes since 3.5.0pre2

o   Jeremy Allison <>
    * BUG 6837: Fix "Too many open files" when trying to access large number of
      files with Windows 7.
    * BUG 6939: Fix long filenames when "mangling method" is set to "hash".
    * BUG 7020: Fix smbd using 2G memory.
    * Ensure dos_mode can return FILE_ATTRIBUTE_NORMAL, then filter the returned
      attributes by protocol level.
    * Vector correctly through reply_openerror() (which uses the same logic).
    * Fix bugs with the full Windows ACL support.

o   Kai Blin <>
    * Add a few missing gettext calls to the 'net' command.
    * Fix up a share type translation and translate some more strings in 'net'.

o   Günther Deschner <>
    * Allow to call "pdbedit -N description -u user" without specifiyng "-r".
    * Add spoolss_DriverInfo7.
    * Fix rpcclient after setprinter IDL fixes.
    * Use generated krb5.conf in 'net ads testjoin'.

o   Jonas Gorski <>
    * BUG 6992: make test for getgrouplist cacheable.

o   André Hentschel <>
    * Add some German translations for the 'net' command.

o   Suresh Jayaraman <>
    * Update mount.cifs man page with nounix option.

o   Volker Lendecke <>
    * Fix _samr_GetAliasMembership for results with 0 rids.
    * Fix an error case in cli_negprot.
    * Add a lower-cost alternative to wbinfo -t: wbinfo --ping-dc.
    * Restore correct timeouts for SMB requests.
    * Fix a 64-bit error in libsmb.
    * Replace IS_DOMAIN_OFFLINE by a function in Winbind.
    * Simplify/cleanup Winbind code.

o   Kamen Mazdrashki <>
    * Fix write behind memory block in libtalloc.
    * Fix result check for getaddrinfo().

o   Jim McDonough <>
    * BUG 7014: Fix Winbind crash when retrieving empty group members.

o   Brian Lu <>
    * BUG 6991: Create symbol links to shared libraries.

o   Stefan Metzmacher <>
    * Add tsocket_address_bsd_sockaddr() and tsocket_address_bsd_from_sockaddr()
      to tsocket.
    * Always set tdb->tracefd to -1 to be safe on goto fail in libtdb.
    * Add TDB_DISALLOW_NESTING and make TDB_ALLOW_NESTING the default behavior.
    * Fix standalone 'make installdocs'.

o   Peter Rosin <>
    * Output %p as unsigned in snprintf replacement.

o   Ronnie Sahlberg <>
    * New attempt at TDB transaction nesting allow/disallow.

o   Kirill Smelkov <>
    * Remove swig stuff from libtdb.
    * Reset tdb->fd to -1 in tdb_close() in libtdb.

o   Simo Sorce <>
    * Change the way mksysms work in libtalloc.

o   Jelmer Vernooij <>
    * Also build and install tdb manpages from standalone tdb.

o   Bo Yang <>
    * Fix infinite loop in NCACN_IP_TCP as there is no timeout.
    * Make winbindd_cache.c aware of domain offline to avoid unnecessary backend
    * List trusted domains from wcache when domain is offline.

Changes since 3.5.0pre1

o   Michael Adam <>
    * Fix the build when no external talloc and tdb are installed.
    * Fix detection of CTDB headers on systems without system-libtalloc.

o   Jeremy Allison <>
    * BUG 6802: A created folder does not properly inherit permissions from
      parent in vfs_acl_xattr.
    * BUG 6837: "Too many open files" when trying to access large number of
      files from Windows 7.
    * BUG 6938 : No hook exists to check creation rights when using acl_xattr
    * Fix vfs_acl_xattr which was failing to call the NEXT connect function.
    * Restructure the ACL code.
    * Refactor reply_rmdir to use handle based code.

o   Dan Cox <>
    * BUG 2350: Add LDAP Alias Dereferencing support.

o   Günther Deschner <>
    * BUG 6929: Fix build with recent heimdal.
    * Fix several printing issues.
    * Fix the build on Mac OS X 10.6.2.
    * Fix net and rpcclient after setprinterdataex changes.
    * Add full support for level 8 printer drivers.
    * Add more spoolss architectures to IDL.
    * Fix enumprinter key client and server.
    * Fix crash in EnumPrinterDataEx.

o   Björn Jacke <>
    * Prefer posix_fallocate for doing "strict allocate".

o   Matt Kraai <>
    * BUG 6860: Fix shared library build on QNX.

o   Volker Lendecke <>
    * BUG 6288: SWAT adds a second share when changing parameters of an existing
    * BUG 6435: Fix minor memory corruption.
    * Restore "fake directory create times" as a share parameter.
    * Fix explicit stat64 support.
    * Add support for NetWkstaGetInfo 101 and 102.
    * Add rpcclient wkssvc_enumerateusers.
    * De-deprecate "write cache size" to prevent its removal without a proper
    * Allow more than 1000 users in BUILTIN\Users.

o   Jim McDonough <>
    * BUG 6967: Prevent glibc error on 'net ads join'.

o   Lars Müller <>
    * BUG 6710: Only install the cifs.upcall man page if CIFSUPCALL_PROGS was
      set while configure.

o   Ian Puleston <>
    * Complete support for NetWkstaGetInfo/NetWkstaEnumUsers.

o   Karolin Seeger <>
    * Fix the build of the example VFS modules.

o   Bo Yang <>
    * BUG 6879: Fix crash in Winbind.
    * Fix crash in free_file_list().
    * Give the user a chance to change password when password will expire soon.