Release Announcements ===================== This is the third release candidate of Samba 4.6. 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/. Samba 4.6 will be the next version of the Samba suite. UPGRADING ========= vfs_fruit option "fruit:resource" spelling correction ----------------------------------------------------- Due to a spelling error in the vfs_fruit option parsing for the "fruit:resource" option, users who have set this option in their smb.conf were still using the default setting "fruit:resource = file" as the parser was looking for the string "fruit:ressource" (two "s"). After upgrading to this Samba version 4.6, you MUST either remove the option from your smb.conf or set it to the default "fruit:resource = file", otherwise your macOS clients will not be able to access the resource fork data. This version Samba 4.6 accepts both the correct and incorrect spelling, but the next Samba version 4.7 will not accept the wrong spelling. Users who were using the wrong spelling "ressource" with two "s" can keep the setting, but are advised to switch to the correct spelling. ID Mapping ---------- We discovered that the majority of users have an invalid or incorrect ID mapping configuration. We implemented checks in the 'testparm' tool to validate the ID mapping configuration. You should run it and check if it prints any warnings or errors after upgrading! If it does you should fix them. See the 'IDENTITY MAPPING CONSIDERATIONS' section in the smb.conf manpage. There are some ID mapping backends which are not allowed to be used for the default backend. Winbind will no longer start if an invalid backend is configured as the default backend. To avoid problems in future we advise all users to run 'testparm' after changing the smb.conf file! NEW FEATURES/CHANGES ==================== Kerberos client encryption types -------------------------------- Some parts of Samba (most notably winbindd) perform Kerberos client operations based on a Samba-generated krb5.conf file. A new parameter, "kerberos encryption types" allows configuring the encryption types set in this file, thereby allowing the user to enforce strong or legacy encryption in Kerberos exchanges. The default value of "all" is compatible with previous behavior, allowing all encryption algorithms to be negotiated. Setting the parameter to "strong" only allows AES-based algorithms to be negotiated. Setting the parameter to "legacy" allows only RC4-HMAC-MD5 - the legacy algorithm for Active Directory. This can solves some corner cases of mixed environments with Server 2003R2 and newer DCs. Printing -------- Support for uploading printer drivers from newer Windows clients (Windows 10) has been added until our implementation of [MS-PAR] protocol is ready. Several issues with uploading different printing drivers have been addressed. The OS Version for the printing server has been increased to announce Windows Server 2003 R2 SP2. If a driver needs a newer version then you should check the smb.conf manpage for details. new option for owner inheritance -------------------------------- The "inherit owner" smb.conf parameter instructs smbd to set the owner of files to be the same as the parent directory's owner. Up until now, this parameter could be set to "yes" or "no". A new option, "unix only", enables this feature only for the UNIX owner of the file, not affecting the SID owner in the Windows NT ACL of the file. This can be used to emulate something very similar to folder quotas. Multi-process Netlogon support ------------------------------ The Netlogon server in the Samba AD DC can now run as multiple processes. The Netlogon server is a part of the AD DC that handles NTLM authentication on behalf of domain members, including file servers, NTLM-authenticated web servers and 802.1x gateways. The previous restriction to running as a single process has been removed, and it will now run in the same process model as the rest of the 'samba' binary. As part of this change, the NETLOGON service will now run on a distinct TCP port, rather than being shared with all other RPC services (LSA, SAMR, DRSUAPI etc). new options for controlling TCP ports used for RPC services ----------------------------------------------------------- The new 'rpc server port' option controls the default port used for RPC services other than Netlogon. The Netlogon server honours instead the 'rpc server port:netlogon' option. The default value for both these options is the first available port including or after 1024. Improve AD performance and replication improvements --------------------------------------------------- Samba's LDB and replication code continues to improve, particularly in respect to the handling of large numbers of linked attributes. We now respect an 'uptodateness vector' which will dramatically reduce the over-replication of links from new DCs. We have also made the parsing of on-disk linked attributes much more efficient. DNS improvements ---------------- The samba-tool dns subcommand is now much more robust and can delete records in a number of situations where it was not possible to do so in the past. On the server side, DNS names are now more strictly validated. CTDB changes ------------ * "ctdb event" is a new top-level command for interacting with event scripts "ctdb event status" replaces "ctdb scriptstatus" - the latter is maintained for backward compatibility but the output format has been cleaned up "ctdb event run" replaces "ctdb eventscript" "ctdb event script enable" replaces "ctdb enablescript" "ctdb event script disable" replaces "ctdb disablescript" The new command "ctdb event script list" lists event scripts. * CTDB's back-end for running event scripts has been replaced by a separate, long-running daemon ctdbd_eventd. * Running ctdb interactively will log to stderr * CTDB logs now include process id for each process * CTDB tags log messages differently. Changes include: ctdb-recoverd: Messages from CTDB's recovery daemon ctdb-recovery: Messages from CTDB database recovery ctdb-eventd: Messages from CTDB's event daemon ctdb-takeover: Messgaes from CTDB's public IP takeover subsystem * The mapping between symbolic and numeric debug levels has changed Configurations containing numeric debug levels should be updated. Symbolic debug levels are recommended. See the DEBUG LEVEL section of ctdb(7) for details. * Tunable IPAllocAlgorithm replaces LCP2PublicIPs, DeterministicIPs See ctdb-tunables(7) for details * CTDB's configuration tunables should be consistently set across a cluster This has always been the cases for most tunables but this fact is now documented. * CTDB ships with recovery lock helper call-outs for etcd and Ceph RADOS To build/install these, use the --enable-etcd-reclock and --enable-ceph-reclock configure options. winbind changes --------------- 4.6 winbind simplifies the calculation of supplementary groups to make it more reliable and predictable. Before 4.6, winbind contained code that tried to emulate the group membership calculation that domain controllers do when a user logs in. This group membership calculation is a very complex process, in particular for domain trust relationship situations. Also, in many scenarios it is impossible for winbind to correctly do this calculation due to access restrictions in the domains: winbind using its machine account simply does not have the rights to ask for an arbitrary user's group memberships. When a user logs in to a Samba server, the domain controller correctly calculates the user's group memberships authoritatively and makes the information available to the Samba server. This is the only reliable way Samba can get informed about the groups a user is member of. Because of its flakiness, the fallback group membership code was removed. This means that "id " without the user having logged in previously stops showing any supplementary groups. Also, it will show "DOMAIN\Domain Users" as the primary group. Once the user has logged in, "id " will correctly show the primary group and supplementary group list. winbind primary group and nss info ---------------------------------- With 4.6, it will be possible to optionally use the primary group as set in the "Unix Attributes" tab for the local unix token of a domain user. Before 4.6, the Windows primary group was always chosen as primary group for the local unix token. To activate the unix primary group, set idmap config : unix_primary_group = yes Similarly, set idmap config : unix_nss_info = yes to retrieve the home directory and login shell from the "Unix Attributes" of the user. This supersedes the "winbind nss info" parameter with a per-domain configuration option. smb.conf changes ================ Parameter Name Description Default -------------- ----------- ------- kerberos encryption types New all inherit owner New option fruit:resource Spelling correction lsa over netlogon New (deprecated) no rpc server port New 0 KNOWN ISSUES ============ Currently none. CHANGES SINCE 4.6.0rc2 ====================== o Jeremy Allison * BUG 12499: s3: vfs: dirsort doesn't handle opendir of "." correctly. * BUG 12546: s3: VFS: vfs_streams_xattr.c: Make streams_xattr_open() store the same path as streams_xattr_recheck(). * BUG 12531: Make vfs_shadow_copy2 cope with server changing directories. o Andrew Bartlett * BUG 12543: samba-tool: Correct handling of default value for use_ntvfs and use_xattrs. * BUG 12573: Samba < 4.7 does not know about compatibleFeatures and requiredFeatures. * BUG 12577: 'samba-tool dbcheck' gives errors on one-way links after a rename. o Ralph Boehme * BUG 12184: s3/rpc_server: Shared rpc modules loading. * BUG 12520: Ensure global "smb encrypt = off" is effective. * BUG 12524: s3/rpc_server: Move rpc_modules.c to its own subsystem. * BUG 12541: vfs_fruit: checks wrong AAPL config state and so always uses readdirattr. o Volker Lendecke * BUG 12551: smbd: Fix "map acl inherit" = yes. o Stefan Metzmacher * BUG 12398: Replication with DRSUAPI_DRS_CRITICAL_ONLY and DRSUAPI_DRS_GET_ANC results in WERR_DS_DRA_MISSING_PARENT S * BUG 12540: s3:smbd: allow "server min protocol = SMB3_00" to go via "SMB 2.???" negprot. o John Mulligan * BUG 12542: docs: Improve description of "unix_primary_group" parameter in idmap_ad manpage. o Andreas Schneider * BUG 12552: waf: Do not install the unit test binary for krb5samba. o Amitay Isaacs * BUG 12547: ctdb-build: Install CTDB tests correctly from toplevel. * BUG 12549: ctdb-common: ioctl(.. FIONREAD ..) returns an int value. o Garming Sam * BUG 12577: 'samba-tool dbcheck' gives errors on one-way links after a rename. o Uri Simchoni * BUG 12529: waf: Backport finding of pkg-config. CHANGES SINCE 4.6.0rc1 ====================== o Amitay Isaacs * BUG 12469: CTDB lock helper getting stuck trying to lock a record. * BUG 12500: ctdb-common: Fix a bug in packet reading code for generic socket I/O. * BUG 12510: sock_daemon_test 4 crashes with SEGV. * BUG 12513: ctdb-daemon: Remove stale eventd socket. o Björn Jacke * BUG 12535: vfs_default: Unlock the right file in copy chunk. o Volker Lendecke * BUG 12509: messaging: Fix dead but not cleaned-up-yet destination sockets. * BUG 12538: Backport winbind fixes. o Stefan Metzmacher * BUG 12501: s3:winbindd: talloc_steal the extra_data in winbindd_list_users_recv(). o Martin Schwenke * BUG 12511: ctdb-takeover: Handle case where there are no RELEASE_IPs to send. * BUG 12512: ctdb-scripts: Fix remaining uses of "ctdb gratiousarp". * BUG 12516: /etc/iproute2/rt_tables gets populated with multiple 'default' entries. ####################################### 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 4.1 and newer product in the project's Bugzilla database (https://bugzilla.samba.org/). ====================================================================== == Our Code, Our Bugs, Our Responsibility. == The Samba Team ======================================================================