================================= Release Notes for Samba 3.4.0pre2 June 02, 2009 ================================= This is the second preview release of Samba 3.4. 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/. Major enhancements in Samba 3.4.0 include: ------------------------------------------ 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. net Command Changes: o Parameter syntax made more consistent. 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 Günther 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. net Command Changes =================== The net command now accepts the common command line parameters most other Samba command line utilities use, with a couple of remaining differences: -l still gives long output for net commands supporting the --long flag. This was more useful than the common --log-base parameter. -i still tells net to read data from stdin (like --stdin) instead of toggling the common --scope flag. -S still tells net the server to connect to (like --server) instead of negotiating the common --signing flag. As -S is probably used by most scripts doing net rpc commands, this would have been a high-impact change for little gain. This change was mainly done to unify the authentification options. Here, one flag changed it's meaning and one useful flag was added. -N used to be the short version of --ntname. It now matches the Samba default of --no-pass. Use this to stop net from prompting for a password if you want anonymous authentication. -A --authentication-file now takes an authentication file with the username and password you want net to use, avoiding a password prompt as with plain -U user or having to give a password on the command line as in -U user%pass. Last but not least net now always falls back to your local unix username if no -U is specified and a username is needed. net rpc commands will now prompt for a password unless one is specified using either -U user%pass or -A auth_file ###################################################################### 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 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.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 Kai Blin * BUG #6357: Use Samba default command line arguments in 'net'. o Steven Danneman * Fix issue with missing entries when enumerating directories. * Map NULL domains to our global sam name. o Günther 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. 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 Björn Jacke * BUG 4831: Don't call openlog() or closelog() from pam_smbpass. * Also handle DirX return codes. 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 Marc VanHeyningen * Zero an uninitialized array. * Allow child processes to exit gracefully if we are out of fds. ###################################################################### 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 3.4 product in the project's Bugzilla database (https://bugzilla.samba.org/). ====================================================================== == Our Code, Our Bugs, Our Responsibility. == The Samba Team ======================================================================