Samba 3.4.0 Available for Download

                   =============================
                   Release Notes for Samba 3.4.0
			   July 3, 2009
                   =============================


This is the first stable release of Samba 3.4.


Major enhancements in Samba 3.4.0 include:
------------------------------------------

Configuration changes:
o The default passdb backend has been changed to 'tdbsam'!

General changes:
o Samba4 and Samba3 sources are included in the tarball

Authentication Changes:
o Changed the way smbd handles untrusted domain names given during user
  authentication.

Printing Changes:
o Various fixes including printer change notificiation for Samba spoolss
  print servers.

Internal changes:
o The remaining hand-marshalled DCE/RPC services (ntsvcs, svcctl, eventlog
  and spoolss) were replaced by autogenerated code based on PIDL.
o Samba3 and Samba4 do now share a common tevent library.
o The code has been cleaned up and the major basic interfaces are shared with
  Samba4 now.
o An asynchronous API has been added.


Configuration changes
=====================

!!! ATTENTION !!!
The default passdb backend has been changed to 'tdbsam'! That breaks existing
setups using the 'smbpasswd' backend without explicit declaration! Please use
'passdb backend = smbpasswd' if you would like to stick to the 'smbpasswd'
backend or convert your smbpasswd entries using e.g. 'pdbedit -i smbpasswd -e
tdbsam'.

The 'tdbsam' backend is much more flexible concerning per user settings
like 'profile path' or 'home directory' and there are some commands which do not
work with the 'smbpasswd' backend at all.


General Changes
===============

On the way towards a standalone Samba AD domain controller, Samba3 and Samba4
branches can be built as "merged" build. That's why Samba3 and Samba4 sources
are included in the tarball. The merged build is possible in Samba 3.4.0, but
disabled by default. To learn more about the merged build,
please see http://wiki.samba.org/index.php/Franky.

According to this one, there is no "source" directory included in the tarball at
all. Samba3 sources are located in "source3", Samba4 sources are located in
"source4". The libraries have been moved to the toplevel directory.

To build plain Samba3, please change to "source3" and start the build as usual.
To build Samba4 as well, please use the "--enable-merged-build" configure
option.


Authentication Changes
======================

Previously, when Samba was a domain member and a client was connecting using an
untrusted domain name, such as BOGUS\user smbd would remap the untrusted
domain to the primary domain smbd was a member of and attempt authentication
using that DOMAIN\user name.  This differed from how a Windows member server
would behave.  Now, smbd will replace the BOGUS name with it's SAM name.  In
the case where smbd is acting as a PDC this will be DOMAIN\user.  In the case
where smbd is acting as a domain member server this will be WORKSTATION\user.
Thus, smbd will never assume that an incoming user name which is not qualified
with the same primary domain, is part of smbd's primary domain.

While this behavior matches Windows, it may break some workflows which depended
on smbd to always pass through bogus names to the DC for verification.  A new
parameter "map untrusted to domain" can be enabled to revert to the legacy
behavior.


Printing Changes
================

The spoolss subsystem was replaced by autogenerated code based on PIDL. That fixes
several printing issues including printer change notificiation on Samba print
servers and will stabilize the printing functionality generally.
The support for spoolss printing with Windows Vista has been improved.


Internal Changes
================

The remaining hand-marshalled DCE/RPC services (ntsvcs, svcctl, eventlog and
spoolss) were replaced by autogenerated code based on PIDL.
So Guenther Deschner finally corrected one of the biggest mistakes in the
development of Samba: Hand-marshalled RPC stubs.

Thanks a lot! :-)

Samba3 and Samba4 do now share a common tevent library for fd and timer events.

The code has been cleaned up and Samba3 and Samba4 do share the major basic
interfaces now. That is why the libraries were moved to the toplevel directory.
That is one of the first steps to share code and minimize the gap between
these two versions.

An asynchronous API has been added.


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

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

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

   access based share enum	       New	       No
   dedicated keytab file	       New	       ""
   kerberos method		       New	       default
   map untrusted to domain	       New	       No
   max open files		       Changed Default auto detected
   passdb backend		       Changed Default tdbsam
   perfcount module		       New	       ""
   use kerberos keytab		       Removed


New [sub]commands
-----------------

   net eventlog			Import/dump/export native win32 eventlog files.
   net rpc service create	Create a new service.
   net rpc service delete	Delete an existing service.


New configure options
---------------------

--enable-external-libtalloc	Enable external talloc
--enable-merged-build		Build Samba 4 as well
--enable-gnutls			Turn on gnutls support
--with-statedir=DIR		Where to put persistent state files
--with-cachedir=DIR		Where to put temporary cache files
--with-ncalprcdir=DIR		Where to put ncalrpc sockets
--with-selftest-shrdir=DIR	The share directory that make test will be run
				against
--with-selftest-custom-conf=PATH
				An optional custom smb.conf that is included in
				the server smb.conf during make test
--with-wbclient			Use external wbclient
--with-included-popt		Use bundled popt library, not from system
--with-libiconv=BASEDIR		Use libiconv in BASEDIR/lib and BASEDIR/include
--with-sqlite3			SQLITE3 backend support
--with-pthreads			Include pthreads
--with-setproctitle		Search for setproctitle support


Commit Highlights
=================


o   Steven Danneman 
    * Change the way smbd handles untrusted domain names given during user
      authentication.


o   Guenther Deschner 
    * Replace the hand-marshalled DCE/RPC services ntsvcs, svcctl, eventlog
      and spoolss by autogenerated code based on PIDL.
    * Fix several printing issues and improve support for printer change
      notificiations.
    * Add 'net eventlog'.


o   Volker Lendecke 
    * Add asynchronous API.


o   Stefan Metzmacher 
    * Make Samba3 and Samba4 share a tevent library.


o   Dan Sledz 
    * Add two new parameters to control how we verify kerberos tickets.


o   Danny Tylman 
    * Add 'net rpc service' subcommands 'create' and 'delete'.


o   Jelmer Vernooij 
    * Make merged build possible.
    * Move common libraries to the shared lib/ directory.


Changes since 3.4.0rc1
----------------------


o    Jeremy Allison 
     * BUG 6520: Fix time stamps when "unix extensions = yes".


o    Michael Adam 
     * BUG 6509: Use gid (not uid) cache in fetch_gid_from_cache().
     * BUG 6521: Fix building tevent_ntstatus without config.h.
     * BUG 6531: Fix pid file name.


o    Guenther Deschner 
     * BUG 6512: Fix support for enumerating user forms.


o    Bjoern Jacke 
     * BUG 6497: Fix calling of 'test' in configure.
     * BUG 6459: Fix build of pam_smbpass on some distributions.


o    Volker Lendecke 
     * BUG 6431: Local groups from 3.0 setups no longer found.
     * BUG 6498: Add workaround for MS KB932762.


o    David Markey 
     * BUG 6514: Improve error message in 'net' when smb.conf is not available.


o    Jim McDonough 
     * BUG 6481: 'net ads leave' needs to try account deletion, NetUnjoinDomain
       not.


o    Stefan Metzmacher 
     * BUG 6526: Fix notifies in the share root directory.


o    Bo Yang 
     * BUG 6499: Fix building of pam_smbpass.


Changes since 3.4.0pre2
-----------------------


o   Jeremy Allison 
    * BUG 6297: Owner of sticky directory cannot delete files created by
      others.
    * BUG 6476: Fix smbd-zombies in memory when using [x]inetd.
    * BUG 6487: Add missing DFS call in trans2 mkdir call.
    * BUG 6488: acl_group_override() call in posix acls references an
      uninitialized variable.


o   Guenther Deschner 
    * BUG 5456: Fix "net ads testjoin".
    * BUG 6253: Use correct value for password expiry calculation in
      pam_winbind.
    * BUG 6305: Correctly prompt for a password when a username was given.
    * BUG 6451: net/libnetapi user rename using wrong access bits.
    * BUG 6458: Fix uninitialized variable in local_password_change().
    * BUG 6465: Fix enumeration of empty aliases.


o   Volker Lendecke 
    * BUG 4699: Remove pidfile on clean shutdown.
    * BUG 6449: 'net rap user add' crashes without -C option.


o   David Markey 
    * BUG 6328: Add support for multiple rights to
      "net sam rights grant/revoke".


o   Andreas Schneider 
    * Improve pam_winbind documentation.


o   Simo Sorce 
    * BUG 6081: Make it possible to change machine account sids.
    * BUG 6333: Consolidate create/delete account paths in pdbedit.


o   Jelmer Vernooij 
    * Remove outdated Debian package sources.


Changes since 3.4.0pre1
-----------------------


o   Jeremy Allison 
    * BUG 6291: Fix 'force user'.
    * BUG 6313: ldapsam_update_sam_account() crashes while doing talloc_free on
      malloced memory.
    * BUG 6315: Fix smbd crashes when doing vfs_full_audit on IPC$ close event.
    * BUG 6330: Fix DFS on AIX.
    * Fix a bunch of compiler warnings about wrong format types.
    * Fix the core of the SAMR access functions.
    * Fix SAMR server for winbindd access.


o   Michael Adam 
    * BUG 4271: testparm should not print includes.
    * BUG 6292: Update config.guess from gnu.org.
    * BUG 6320: Handle registry config source in file_list.
    * BUG 6371: Unsuccessful 'net conf setparm' leaves empty share.
    * BUG 6387: Fix a crash bug in idmap_ldap_unixids_to_sids.
    * BUG 6415: Filter out of range mappings in default idmap config
      (idmap_tdb).
    * BUG 6416: Filter out of range mappings in default idmap config
      (idmap_tdb2).
    * BUG 6417: Filter out of range mappings in default idmap config
      (idmap_ldap).
    * Add dbwrap_tool - a tdb tool that is CTDB-aware.
    * Hide "config backend" from swat.
    * Fix linking with --disable-shared-libs.


o   Steven Danneman 
    * Fix issue with missing entries when enumerating directories.
    * Map NULL domains to our global sam name.


o   Guenther Deschner 
    * BUG 5859: Fix renaming of samr objects failed due to samr setuserinfo
      access checks.
    * BUG 6099: Fix NETLOGON credential chain.
    * BUG 6253: Use correct value for password expiry calculation.
    * BUG 6309: Support remote unjoining of Windows 2003 or greater.
    * BUG 6340: Don't segfault when cleartext trustdom pwd could not be
      retrieved.
    * BUG 6372: usermanager only displaying 1024 groups and aliases.
    * Fix driver upload for Xerox 4110 PS printer driver.
    * Add "net dom renamecomputer" to rename machines in a domain.
    * Inspect the correct computername string before enabling/disabling the
      change button in netdomjoin-gui.
    * Fix join prompt dialog test in netdomjoin-gui.
    * Only gray out labels when not root and not connecting to remote
      machines (netdomjoin-gui).
    * Allow to switch between workgroups/domains with the same name
      (netdomjoin-gui).
    * Add NetShutdownInit and NetShutdownAbort.
    * Fix samr access checks.
    * Add a security model to LSA.
    * Fix nss_wrapper build for Solaris.


o   Geza Gemes 
    * BUG 6136: New AFS syscall conventions.


o   Ole Hansen 
    * BUG 6359: smbclient -L does not list workgroup for hosts with both IPv4
      and IPv6 addresses


o   Bjoern Jacke 
    * Also handle DirX return codes.


o   Steve Langasek 
    * BUG 4831: Don't call openlog() or closelog() from pam_smbpass.


o   Volker Lendecke 
    * BUG 5681: Do not limit the number of network interfaces.
    * BUG 6157: Fix handling of multi-value attribute "uid".
    * BUG 6302: Give the VFS a chance to read from 0-byte files.
    * BUG 6336: Fix segfault in 'net groupmap set'.
    * BUG 6361: Make --rcfile work in smbget.
    * Do not crash in ctdbd_traverse if ctdbd is not around.
    * Fix Coverity ID 897.
    * Fix a race condition in vfs_aio_fork with gpfs share modes.
    * Fix bug disclosed by lock8 torture test.
    * Fix a race condition in winbind leading to a panic.
    * Attempt to fix a Debian build problem.


o   Jim McDonough 
    * Detect tight loop in tdb_find().


o   Stefan Metzmacher 
    * BUG 2346: Fix posix ACLs when setting an ACL without explicit ACE for the
      owner.


o   Tim Prouty 
    * Fix chained sesssetupAndX/tconn messages.
    * Fix strict locking with chained reads.
    * Fix two bugs in sendfile.


o   Slava Semushin 
    * Fix memory leak.
    * Fix file descriptor leak.


o   Aravind Srinivasan 
    * Fallback to the legacy sid_to_(uid|gid) instead of returning NULL.
    * Always allocate memory in dptr_ReadDirName.


o   Kumar Thangavelu 
    * Fix 'net' crash during domain join.


o   Marc VanHeyningen 
    * Zero an uninitialized array.
    * Allow child processes to exit gracefully if we are out of fds.