Samba 4.0 Features added/changed

Revision as of 10:33, 24 April 2013 by Bjacke (talk | contribs) (remove links to old changes (prerelease changes in wiki will be deleted next ...))

Samba 4.0.5

Release Notes for Samba 4.0.5
April 9, 2013

This is is the latest stable release of Samba 4.0.

Major enhancements in Samba 4.0.5 include:


Changes since 4.0.4:

  • Michael Adam <obnox@samba.org>
  • BUG 9617: libnss-winbindd does not provide pass struct for groups mapped with ID_TYPE_BOTH and vice versa.
  • BUG 9653: idmap_autorid: Fix freeing of non-talloced memory.
  • BUG 9711: s4:winbindd: Do not drop the workgroup name in the getgrnam, getgrent and getgrgid calls.
  • Jeremy Allison <jra@samba.org>
  • BUG 9130: Certain xattrs cause Windows error 0x800700FF.
  • BUG 9519: Samba returns unexpected error on SMB posix open.
  • BUG 9642: Fix the build of vfs_afsacl.
  • BUG 9695: Backport tevent changes to bring library to version 0.9.18.
  • BUG 9706: Fix large reads/writes from some Linux clients.
  • BUG 9724: is_encrypted_packet() function incorrectly used inside server.
  • BUG 9733: Fix 'smbcontrol close-share'.
  • BUG 9748: Remove unneeded fstat system call from hot read path.
  • BUG 9760: Fix incorrect parsing of SMB2 command codes.
  • Christian Ambach <ambi@samba.org>
  • BUG 9643: Fix the build with --fake-kaserver.
  • BUG 9644: Fix compile of source3/lib/afs.c.
  • BUG 9669: Fix crash in 'net rpc join' against a Samba 3.0.33 PDC.
  • Timur Bakeyev <timur@FreeBSD.org>
  • BUG 9666: Fix filtering of link-local addresses.
  • Andrew Bartlett <abartlet@samba.org>
  • BUG 9663: 'make test' hangs.
  • BUG 9697: DsReplicaGetInfo fails due to sendto() EMSGSIZE error on UNIX domain socket.
  • BUG 9703: Fix build on solaris8: Do not force a specific perl on pod2man.
  • BUG 9717: Set LD_LIBRARY_PATH in install_with_python.sh.
  • BUG 9718: s4-idmap: Remove requirement that posixAccount or posixGroup be set for rfc2307.
  • BUG 9719: Allow forcing an override of an old @MODULES record.
  • BUG 9720: Do not print the admin password during 'samba-tool classicupgrade'.
  • BUG 9721: Make samba_upgradedns more robust (do not guess addresses when just changing roles).
  • BUG 9725: upgradeprovision and 'samba-tool dbcheck' patches for 4.0.NEXT.
  • BUG 9728: DO NOT install samba_upgradeprovision in 4.0.x.
  • BUG 9739: PIDL: Build fixes for hosts without CPP (Solaris 11).
  • BUG 9740: Add 'samba-tool dbcheck --reset-well-known-acls'.
  • BUG 9267: Can't delegate adding computers to domain.
  • Alexander Bokovoy <ab@samba.org>
  • BUG 9636: PIDL: Fix parsing linemarkers in preprocessor output.
  • BUG 9639: Rename internal subsystem pdb_ldap to pdb_ldapsam.
  • Ira Cooper <ira@samba.org>
  • BUG 9646: Make SMB2_GETINFO multi-volume aware.
  • David Disseldorp <ddiss@samba.org>
  • BUG 9633: Recursive mget should continue on EPERM.
  • Landon Fuller <landonf@bikemonkey.org>
  • BUG 9656: Work around FreeBSD's getaddrinfo() underscore issue.
  • BUG 9696: Remove incomplete samba_dnsupdate IPv6 link-local address check.
  • BUG 9697: Handle EMSGSIZE on UNIX domain sockets.
  • Björn Jacke <bj@sernet.de>
  • BUG 7825: Fix GNU ld version detection with old gcc releases.
  • Daniel Kobras <d.kobras@science-computing.de>
  • BUG 9039: Never try to map global SAM name.
  • Guenter Kukkukk <kukks@samba.org>
  • BUG 9701: Fix vfs_catia and update documentation.
  • Volker Lendecke <vl@samba.org>
  • BUG 9695: Backport tevent changes to bring library to version 0.9.18.
  • BUG 9727: Fix NULL pointer dereference.
  • BUG 9736: Change to smbd/dir.c code gives significant performance increases on large directory listings.
  • Stefan Metzmacher <metze@samba.org>
  • BUG 9557: Fix build on AIX.
  • BUG 9625: Reauth-capable client fails to access shares on Windows member.
  • BUG 9695: Backport tevent changes to bring library to version 0.9.18.
  • BUG 9706: Parameter is incorrect on Android.
  • Andreas Schneider <asn@samba.org>
  • BUG 9664: Fix correct linking of libreplace with cmdline-credentials.
  • BUG 9683: Fix several resource (fd) leaks.
  • BUG 9685: Fix a memory leak in spoolss rpc server.
  • BUG 9686: Fix a possible buffer overrun in pdb_smbpasswd.
  • BUG 9687: Fix several possible null pointer dereferences.
  • BUG 9723: Add a tool to migrate latin1 printing tdbs to registry.
  • BUG 9735: Fix Winbind separator in upn to username conversion.
  • BUG 9758: Don't leak the epm_Map policy handle.
  • Richard Sharpe <rsharpe@samba.org>
  • BUG 9674: Samba denies owner Read Control when there is a DENY entry while W2K08 does not.
  • BUG 9689: Make sure that domain joins work correctly when the DC disallows NTLM auth.
  • BUG 9704: Fix nss_winbind name on FreeBSD.
  • BUG 9747: Make sure that we only propogate the INHERITED flag when we are allowed to.

Note about upgrading from older versions:

It is still the case that there are printing tdbs (ntprinting.tdb, ntforms.tdb, ntdrivers.tdb) which are in latin1 or other encodings. When updating from Samba 3.5 or earlier to Samba 3.6 or 4.0 these tdbs need to be migrated to our new registry based printing management. This means during the migration we also need to do charset conversion. This can only been done manually cause we don't know in which encoding the tdb is. You have to specify the correct code page for the conversion, see iconv -l and Wikipedia [1] for the available codepages. The mostly used one is Windows Latin1 which is CP1252.

We've extended the 'net printing dump' and 'net printing migrate' commands to define the encoding of the tdb. So you can correctly view the tdb with:

 net printing dump encoding=CP1252 /path/to/ntprinters.tdb

or migrate it with e.g.:

 net printing migrate encoding=CP1252 /path/to/ntprinters.tdb

If you migrate printers we suggest you do it in the following order.

ntforms.tdb
ntdrivers.tdb
ntprinting.tdb

Don't forget to rename, move or delete these files in /var/lib/samba after the migration.

[1] https://en.wikipedia.org/wiki/Code_page

http://www.samba.org/samba/history/samba-4.0.5.html

Samba 4.0.4

Release Notes for Samba 4.0.4
March 19, 2013

This is a security release in order to address CVE-2013-1863

  • CVE-2013-1863 World-writeable files may be created in additional shares on a Samba 4.0 AD DC
Administrators of the Samba 4.0 Active Directory Domain Controller might unexpectedly find files created world-writeable if additional CIFS file shares are created on the AD DC.
Samba versions 4.0.0rc6 - 4.0.3 (inclusive) are affected by this defect.
http://www.samba.org/samba/history/samba-4.0.4.html

Changes since 4.0.3:

  • Andrew Bartlett <abartlet@samba.org>


Samba 4.0.3

Release Notes for Samba 4.0.3
February 05, 2013

This is is the latest stable release of Samba 4.0.

Major enhancements in Samba 4.0.3 include:

  • check_password_quality: Handle non-ASCII characters properly bug #9105.
  • Fix ACL problem with delegation of privileges and deletion of accounts over LDAP interface bug #8909.
  • Fix 'smbd' panic triggered by unlink after open bug #9571.
  • smbd: Fix memleak in the async echo handler bug #9549.

Known issues:

  • For more details concerning the ACL problem with delegation of privileges and deletion of accounts over LDAP interface (bugs #8909 and #9267) regarding upgrades from older 4.0.x versions, please see
Samba_AD_DC_HOWTO#Upgrading
which will be filled with details once we have worked out an upgrade strategy.

Changes since 4.0.2:

  • Michael Adam <obnox@samba.org>
  • BUG 9568: Document the command line options in dbwrap_tool(1).
  • Jeremy Allison <jra@samba.org>
  • BUG 9196: defer_open is triggered multiple times on the same request.
  • BUG 9518: conn->share_access appears not be be reset between users.
  • BUG 9550: sigprocmask does not work on FreeBSD to stop further signals in a signal handler.
  • BUG 9572: Fix file corruption during SMB1 read by Mac OSX 10.8.2 clients.
  • BUG 9586: smbd[29175]: disk_free: sys_popen() failed" message logged in /var/log/message many times.
  • BUG 9587: Archive flag is always set on directories.
  • BUG 9588: ACLs are not inherited to directories for DFS shares.
  • Andrew Bartlett <abartlet@samba.org>
  • BUG 8909: Fix ACL problem with delegation of privileges and deletion of accounts over LDAP interface.
  • BUG 9461: FSMO seize of naming role fails: NT_STATUS_IO_TIMEOUT.
  • BUG 9564: Fix compilation of Solaris ACL module.
  • BUG 9581: gensec: Allow login without a PAC by default.
  • BUG 9596: Linked attribute handling should be by GUID.
  • BUG 9598: Use pid,task_id as cluster_id in process_single just like process_prefork.
  • BUG 9609: ldb: Ensure to decrement the transaction_active whenever we delete a transaction.
  • BUG 9609: Add 'ldbdump' tool.
  • BUG 9609: ldb: Remove no-longer-existing ltdb_unpack_data_free from ldb_tdb.h.
  • BUG 9609: ldb: Change ltdb_unpack_data to take an ldb_context.
  • BUG 9610: dsdb: Make secrets_tdb_sync cope with -H secrets.ldb.
  • Björn Baumbach <bb@sernet.de>
  • BUG 9512: wafsamba: Use additional xml catalog file.
  • BUG 9517: samba_dnsupdate: Set KRB5_CONFIG for nsupdate command.
  • BUG 9552: smb.conf(5): Update list of available protocols.
  • BUG 9568: Add dbwrap_tool.1 manual page.
  • BUG 9569: ntlm_auth(1): Fix format and make examples visible.
  • Ira Cooper <ira@samba.org>
  • BUG 9575: Duplicate flags defined in the winbindd protocol.
  • Günther Deschner <gd@samba.org>
  • BUG 9474: Downgrade v4 printer driver requests to v3.
  • BUG 9595: s3-winbind: Fix the build of idmap_ldap.
  • David Disseldorp <ddiss@samba.org>
  • Bug #9378 Add extra attributes for AD printer publishing.
  • Stephen Gallagher <sgallagh@redhat.com>
  • BUG 9609: ldb: Move doxygen comments for ldb_connect to the right place.
  • Volker Lendecke <vl@samba.org>
  • BUG 9541: Make use of posix_openpt.
  • BUG 9544: Fix build of vfs_commit and plug in async pwrite support.
  • BUG 9546: Fix aio_suspend detection on FreeBSD.
  • BUG 9548: Correctly detect O_DIRECT.
  • BUG 9549: smbd: Fix memleak in the async echo handler.
  • Stefan Metzmacher <metze@samba.org>
  • BUG 8909: Fix ACL problem with delegation of privileges and deletion of accounts over LDAP interface.
  • BUG 9105: check_password_quality: Handle non-ASCII characters properly.
  • BUG 9481: samba_upgradeprovision: fix the nTSecurityDescriptor on more containers.
  • BUG 9499: s3:smb2_negprot: set the 'remote_proto' value.
  • BUG 9508: s4:drsuapi: Make sure we report the meta data from the cycle start.
  • BUG 9540: terminate the irpc_servers_byname() result with server_id_set_disconnected().
  • BUG 9598: Fix timeouts of some IRPC calls.
  • BUG 9609: Fix a warning by converting from TDB_DATA to struct ldb_val.
  • Matthieu Patou <mat@matws.net>
  • BUG 8909: Add documentation.
  • BUG 9565: Adding additional Samba 4.0 DC to W2k8 srv AD domain (in win200 functional level) produces dbcheck errors.
  • Arvid Requate <requate@univention.de>
  • BUG 9555: s4-resolve: Fix parsing of IPv6/AAAA in dns_lookup.
  • Rusty Russell <rusty@rustcorp.com.au>
  • BUG 9609: tdb: Add '-e' option to tdbdump (and document it).
  • BUG 9609: tdb: 'tdbdump' should log errors, and fail in that case.
  • BUG 9609: tdb: Add tdb_rescue() to allow an emergency best-effort dump.
  • Samba-JP oota <ribbon@samba.gr.jp>
  • BUG 9528: Remove superfluous bracket in samba.8.xml.
  • BUG 9530: Fix typo in vfs_tsmsm.8.xml.
  • Andreas Schneider <asn@samba.org>
  • BUG 9574: Fix a possible null pointer dereference in spoolss.
  • Karolin Seeger <kseeger@samba.org>
  • BUG 9591: Correct meta data in ldb manpages.
  • Pavel Shilovsky <piastry@etersoft.ru>
  • BUG 9571: Fix 'smbd' panic triggered by unlink after open.
  • Andrew Tridgell <tridge@samba.org>
  • BUG 9609: ldb: Fix callers for ldb_pack_data() and ldb_unpack_data().
  • BUG 9609: ldb: move ldb_pack.c into common.
  • Jelmer Vernooij <jelmer@samba.org>
  • BUG 9503: waf assumes that pythonX.Y-config is a Python script.
http://www.samba.org/samba/history/samba-4.0.3.html

Samba 4.0.2

Release Notes for Samba 4.0.2
January 30, 2013

This is a security release in order to address CVE-2013-0213 CVE-2013-0213.

All current released versions of Samba are vulnerable to clickjacking in the Samba Web Administration Tool (SWAT). When the SWAT pages are integrated into a malicious web page via a frame or iframe and then overlaid by other content, an attacker could trick an administrator to potentially change Samba settings.
In order to be vulnerable, SWAT must have been installed and enabled either as a standalone server launched from inetd or xinetd, or as a CGI plugin to Apache. If SWAT has not been installed or enabled (which is the default install state for Samba) this advisory can be ignored.
All current released versions of Samba are vulnerable to a cross-site request forgery in the Samba Web Administration Tool (SWAT). By guessing a user's password and then tricking a user who is authenticated with SWAT into clicking a manipulated URL on a different web page, it is possible to manipulate SWAT.
In order to be vulnerable, the attacker needs to know the victim's password. Additionally SWAT must have been installed and enabled either as a standalone server launched from inetd or xinetd, or as a CGI plugin to Apache. If SWAT has not been installed or enabled (which is the default install state for Samba) this advisory can be ignored.

Changes since 4.0.1:

  • Kai Blin <kai@samba.org>
  • bug #9576 CVE-2013-0213: Fix clickjacking issue in SWAT.
  • bug #9577 CVE-2013-0214: Fix potential XSRF in SWAT.

Samba 4.0.1

Release Notes for Samba 4.0.1
January 15, 2013

This is a security release in order to address CVE-2013-0172.

Samba 4.0.0 as an AD DC may provide authenticated users with write access to LDAP directory objects.
In AD, Access Control Entries can be assigned based on the objectClass of the object. If a user or a group the user is a member of has any access based on the objectClass, then that user has write access to that object.
Additionally, if a user has write access to any attribute on the object, they may have access to write to all attributes.
An important mitigation is that anonymous access is totally disabled by default. The second important mitigation is that normal users are typically only given the problematic per-objectClass right via the "pre-windows 2000 compatible access" group, and Samba 4.0.0 incorrectly does not make "authenticated users" part of this group.

Changes since 4.0.0:

  • Andrew Bartlett <abartlet at samba.org>
  • Bug 9554 - CVE-2013-0172 - Samba 4.0 as an AD DC may provide authenticated users with write access to LDAP directory objects.
http://www.samba.org/samba/history/samba-4.0.1.html

Samba 4.0

Release Notes for Samba 4.0
December 11, 2012

Release Announcements

This is is the first stable release of Samba 4.0.

This release contains the best of all of Samba's technology parts, both a file server (that you can reasonably expect to upgrade existing Samba 3.x releases to) and the AD domain controller work previously known as 'Samba4'.

Major enhancements in Samba 4.0.0 include:
Active Directory services

Samba 4.0 supports the server-side of the Active Directory logon environment used by Windows 2000 and later, so we can do full domain join and domain logon operations with these clients.

Our Domain Controller (DC) implementation includes our own built-in LDAP server and Kerberos Key Distribution Center (KDC) as well as the Samba3-like logon services provided over CIFS. We correctly generate the infamous Kerberos PAC, and include it with the Kerberos tickets we issue.

When running an AD DC, you only need to run 'samba' (not smbd/nmbd/winbindd), as the required services are co-coordinated by this master binary. The tool to administer the Active Directory services is called 'samba-tool'.

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

Samba4/HOWTO
File Services

Samba 4.0.0 ships with two distinct file servers. We now use the file server from the Samba 3.x series 'smbd' for all file serving by default.

Samba 4.0 also ships with the 'NTVFS' file server. This file server is what was used prior to the beta2 release of Samba 4.0, and is tuned to match the requirements of an AD domain controller. We continue to support this, not only to provide continuity to installations that have deployed it as part of an AD DC, but also as a running example of the NT-FSA architecture we expect to move smbd to in the longer term.

For pure file server work, the binaries users would expect from that series (smbd, nmbd, winbindd, smbpasswd) continue to be available.

DNS

As DNS is an integral part of Active Directory, we also provide two DNS solutions, a simple internal DNS server for 'out of the box' configurations and a more elaborate BIND plugin using the BIND DLZ mechanism in versions 9.8 and 9.9. During the provision, you can select which backend to use. With the internal backend, your DNS server is good to go. If you chose the BIND_DLZ backend, a configuration file will be generated for bind to make it use this plugin, as well as a file explaining how to set up bind.

NTP

To provide accurate timestamps to Windows clients, we integrate with the NTP project to provide secured NTP replies. To use you need to start ntpd and configure it with the 'restrict ... ms-sntp' and ntpsigndsocket options.

Python Scripting Interface

A new scripting interface has been added to Samba 4, allowing Python programs to interface to Samba's internals, and many tools and internal workings of the DC code is now implemented in python.

Known Issues
  • Replication of DNS data from one AD server to another may not work. The DNS data used by the internal DNS server and bind9_dlz is stored in an application partition in our directory. The replication of this partition is not yet reliable.
  • Replication may fail on FreeBSD due to getaddrinfo() rejecting names containing _. A workaround will be in a future release.
  • samba_upgradeprovision should not be run when upgrading to this release from a recent release. No important database format changes have been made since alpha16.
  • Installation on systems without a system iconv (and developer headers at compile time) is known to cause errors when dealing with non-ASCII characters.
  • Domain member support in the 'samba' binary is in its infancy, and is not comparable to the support found in winbindd. As such, do not use the 'samba' binary (provided for the AD server) on a member server.
  • There is no NetBIOS browsing support (network neighbourhood) available for the AD domain controller. (Support in nmbd and smbd for classic domains and member/standalone servers is unchanged).
  • Clock Synchronisation is critical. Many 'wrong password' errors are actually due to Kerberos objecting to a clock skew between client and server. (The NTP work in the previous alphas are partly to assist with this problem).
  • The DRS replication code may fail. Please contact the team if you experience issues with DRS replication, as we have fixed many issues here in response to feedback from our production users.
  • Linux inotify will now only be supported on systems where glibc also supports it (for details, please refer to bug #8850).
Upgrading

Users upgrading from Samba 3.x domain controllers and wanting to use Samba 4.0 as an AD DC should use the 'samba-tool domain classicupgrade' command. See the wiki for more details: https://wiki.samba.org/index.php/Samba4/samba3upgrade/HOWTO.

Samba4/samba3upgrade/HOWTO

Users upgrading from Samba 4.0 alpha and beta releases since alpha15 should run 'samba-tool dbcheck --cross-ncs --fix' before re-starting Samba. Users upgrading from earlier alpha releases should contact the team for advice.

Users upgrading an AD DC from any previous release should run 'samba-tool ntacl sysvolreset' to re-sync ACLs on the sysvol share with those matching the GPOs in LDAP and the defaults from an initial provision. This will set an underlying POSIX ACL if required (eg not using the NTVFS file server).

If you used the BIND9_FLATFILE or BIND9_DLZ features, you'll have to add '-dns' to the 'server services' option, as the internal dns server (SAMBA_INTERNAL) is the default now.

Supported features

A whitepaper of currently (un-)supported features is available on the wiki:

Samba_4.0_Whitepaper

smb.conf changes
  Parameter Name    		Description
  --------------			-----------
  acl compatibility			Removed
  allow dns updates			New
  announce as				Removed
  announce version			Removed
  cldap port				New
  client max protocol			New
  client min protocol			New
  client signing			Changed default
  dcerpc endpoint servers		New
  dgram port				New
  directory security mask		Removed
  display charset			Removed
  dns forwarder			New
  dns update command			New
  force security mode			Removed
  force directory security mode	Removed
  homedir map				Changed default
  kernel oplocks			Changed default
  kernel share modes			New
  kpasswd port				New
  krb5 port				New
  nbt client socket address		New
  nbt port				New
  nsupdate command			New
  ntp signd socket directory		New
  ntvfs handler			New
  paranoid server security		Removed
  pid directory			New
  printer admin			Removed
  rndc command 			New
  rpc big endian			New
  samba kcc command			New
  security mask			Removed
  send spnego principal		Removed
  server max protocol			New
  server min protocol			New
  server role				New
  server services			New
  server signing			Changed default
  share backend			New
  share modes				Removed
  smb2 max read			Changed default
  smb2 max write			Changed default
  smb2 max trans			Changed default
  socket address			Removed
  spn update command			New
  time offset				Removed
  tls cafile				New
  tls certfile				New
  tls crlfile				New
  tls dh params file			New
  tls enabled				New
  tls keyfile				New
  unicode				New
  web port				New
  winbindd privileged socket directory	New
  winbind sealed pipes			New
  winbindd socket directory		New
CHANGES SINCE 4.0.0rc6
  • Michael Adam <obnox at samba.org>
  • BUG 9414: Honor password complexity settings.
  • BUG 9456: developer-build: Fix panic when acl_xattr fails with access denied.
  • BUG 9457: Fix "map username script" with "security=ads" and Winbind.
  • Jeremy Allison <jra at samba.org>
  • BUG 9462: Users can not be given write permissions any more by default.
  • Andrew Bartlett <abartlet at samba.org>
  • BUG 9415: Install SWAT *.msg files with waf.
  • Alexander Bokovoy <ab at samba.org>
  • BUG 9479: Support FIPS mode when building Samba.
  • Günther Deschner <gd at samba.org>
  • BUG 9438: Fix netr_ServerPasswordSet2, netr_LogonSamLogon with netlogon AES.
  • Tsukasa Hamano <hamano at osstech.co.jp>
  • BUG 9471: Fix SEGV when using second vfs module.
  • Stefan Metzmacher <metze at samba.org>
  • BUG 9414: Honor password complexity settings.
  • BUG 9470: Fix MMC crashes.
  • BUG 9481: Fix ACL on "cn=partitions,cn=configuration".
  • Andreas Schneider <asn at samba.org>
  • BUG 9459: Install manpages only if we install the target.
  • Richard Sharpe <realrichardsharpe at gmail.com>
  • BUG 9460: Respond correctly to FILE_STREAM_INFO requests.