- Update from version 4.15.5 to 4.16.0
- Update of rootfile
- perl-JSON now added to samba requirements. Additional patch combined with this on for
install of perl-JSON
- Changelog
Release Notes for Samba 4.16.0
NEW FEATURES/CHANGES
New samba-dcerpcd binary to provide DCERPC in the member server setup
In order to make it much easier to break out the DCERPC services
from smbd, a new samba-dcerpcd binary has been created.
samba-dcerpcd can be used in two ways. In the normal case without
startup script modification it is invoked on demand from smbd or
winbind --np-helper to serve DCERPC over named pipes. Note that
in order to run in this mode the smb.conf [global] section has
a new parameter "rpc start on demand helpers = [true|false]".
This parameter is set to "true" by default, meaning no changes to
smb.conf files are needed to run samba-dcerpcd on demand as a named
pipe helper.
It can also be used in a standalone mode where it is started
separately from smbd or winbind but this requires changes to system
startup scripts, and in addition a change to smb.conf, setting the new
[global] parameter "rpc start on demand helpers = false". If "rpc
start on demand helpers" is not set to false, samba-dcerpcd will
refuse to start in standalone mode.
Note that when Samba is run in the Active Directory Domain Controller
mode the samba binary that provides the AD code will still provide its
normal DCERPC services whilst allowing samba-dcerpcd to provide
services like SRVSVC in the same way that smbd used to in this
configuration.
The parameters that allowed some smbd-hosted services to be started
externally are now gone (detailed below) as this is now the default
setting.
samba-dcerpcd can also be useful for use outside of the Samba
framework, for example, use with the Linux kernel SMB2 server ksmbd or
possibly other SMB2 server implementations.
Heimdal-8.0pre used for Samba Internal Kerberos, adds FAST support
Samba has since Samba 4.0 included a snapshot of the Heimdal Kerberos
implementation. This snapshot has now been updated and will closely
match what will be released as Heimdal 8.0 shortly.
This is a major update, previously we used a snapshot of Heimdal from
2011, and brings important new Kerberos security features such as
Kerberos request armoring, known as FAST. This tunnels ticket
requests and replies that might be encrypted with a weak password
inside a wrapper built with a stronger password, say from a machine
account.
In Heimdal and MIT modes Samba's KDC now supports FAST, for the
support of non-Windows clients.
Windows clients will not use this feature however, as they do not
attempt to do so against a server not advertising domain Functional
Level 2012. Samba users are of course free to modify how Samba
advertises itself, but use with Windows clients is not supported "out
of the box".
Finally, Samba also uses a per-KDC, not per-realm 'cookie' to secure part of
the FAST protocol. A future version will align this more closely with
Microsoft AD behaviour.
If FAST needs to be disabled on your Samba KDC, set
kdc enable fast = no
in the smb.conf.
Certificate Auto Enrollment
Certificate Auto Enrollment allows devices to enroll for certificates from
Active Directory Certificate Services. It is enabled by Group Policy.
To enable Certificate Auto Enrollment, Samba's group policy will need to be
enabled by setting the smb.conf option `apply group policies` to Yes. Samba
Certificate Auto Enrollment depends on certmonger, the cepces certmonger
plugin, and sscep. Samba uses sscep to download the CA root chain, then uses
certmonger paired with cepces to monitor the host certificate templates.
Certificates are installed in /var/lib/samba/certs and private keys are
installed in /var/lib/samba/private/certs.
Ability to add ports to dns forwarder addresses in internal DNS backend
The internal DNS server of Samba forwards queries non-AD zones to one or more
configured forwarders. Up until now it has been assumed that these forwarders
listen on port 53. Starting with this version it is possible to configure the
port using host:port notation. See smb.conf for more details. Existing setups
are not affected, as the default port is 53.
CTDB changes
* The "recovery master" role has been renamed "leader"
Documentation and logs now refer to "leader".
The following ctdb tool command names have changed:
recmaster -> leader
setrecmasterrole -> setleaderrole
Command output has changed for the following commands:
status
getcapabilities
The "[legacy] -> recmaster capability" configuration option has been
renamed and moved to the cluster section, so this is now:
[cluster] -> leader capability
* The "recovery lock" has been renamed "cluster lock"
Documentation and logs now refer to "cluster lock".
The "[cluster] -> recovery lock" configuration option has been
deprecated and will be removed in a future version. Please use
"[cluster] -> cluster lock" instead.
If the cluster lock is enabled then traditional elections are not
done and leader elections use a race for the cluster lock. This
avoids various conditions where a node is elected leader but can not
take the cluster lock. Such conditions included:
- At startup, a node elects itself leader of its own cluster before
connecting to other nodes
- Cluster filesystem failover is slow
The abbreviation "reclock" is still used in many places, because a
better abbreviation eludes us (i.e. "clock" is obvious bad) and
changing all instances would require a lot of churn. If the
abbreviation "reclock" for "cluster lock" is confusing, please
consider mentally prefixing it with "really excellent".
* CTDB now uses leader broadcasts and an associated timeout to
determine if an election is required
The leader broadcast timeout can be configured via new configuration
option
[cluster] -> leader timeout
This specifies the number of seconds without leader broadcasts
before a node calls an election. The default is 5.
REMOVED FEATURES
Older SMB1 protocol SMBCopy command removed
SMB is a nearly 30-year old protocol, and some protocol commands that
while supported in all versions, have not seen widespread use.
One of those is SMBCopy, a feature for a server-side copy of a file.
This feature has been so unmaintained that Samba has no testsuite for
it.
The SMB1 command SMB_COM_COPY (SMB1 command number 0x29) was
introduced in the LAN Manager 1.0 dialect and it was rendered obsolete
in the NT LAN Manager dialect.
Therefore it has been removed from the Samba smbd server.
We do note that a fully supported and tested server-side copy is
present in SMB2, and can be accessed with "scopy" subcommand in
smbclient)
SMB1 server-side wildcard expansion removed
Server-side wildcard expansion is another feature that sounds useful,
but is also rarely used and has become problematic - imposing extra
work on the server (both in terms of code and CPU time).
In actual OS design, wildcard expansion is handled in the local shell,
not at the remote server using SMB wildcard syntax (which is not shell
syntax).
In Samba 4.16 the ability to process file name wildcards in requests
using the SMB1 commands SMB_COM_RENAME (SMB1 command number 0x7),
SMB_COM_NT_RENAME (SMB1 command number 0xA5) and SMB_COM_DELETE (SMB1
command number 0x6) has been removed.
SMB1 protocol has been deprecated, particularly older dialects
We take this opportunity to remind that we have deprecated and
disabled by default, but not removed, the whole SMB1 protocol since
Samba 4.11. If needed for security purposes or code maintenance we
will continue to remove older protocol commands and dialects that are
unused or have been replaced in more modern SMB1 versions.
We specifically deprecate the older dialects older than "NT LM 0.12"
(also known as "NT LANMAN 1.0" and "NT1").
Please note that "NT LM 0.12" is the dialect used by software as old
as Windows 95, Windows NT and Samba 2.0, so this deprecation applies
to DOS and similar era clients.
We do reassure that that 'simple' operation of older clients than
these (eg DOS) will, while untested, continue for the near future, our
purpose is not to cripple use of Samba in unique situations, but to
reduce the maintaince burden.
Eventually SMB1 as a whole will be removed, but no broader change is
announced for 4.16.
In the rare case where the above changes cause incompatibilities,
users requiring support for these features will need to use older
versions of Samba.
No longer using Linux mandatory locks for sharemodes
smbd mapped sharemodes to Linux mandatory locks. This code in the Linux kernel
was broken for a long time, and is planned to be removed with Linux 5.15. This
Samba release removes the usage of mandatory locks for sharemodes and the
"kernel share modes" config parameter is changed to default to "no". The Samba
VFS interface is kept, so that file-system specific VFS modules can still use
private calls for enforcing sharemodes.
smb.conf changes
Parameter Name Description Default
-------------- ----------- -------
kernel share modes New default No
dns forwarder Changed
rpc_daemon Removed
rpc_server Removed
rpc start on demand helpers Added true
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
---
config/rootfiles/packages/x86_64/samba | 77 +++++++++++++-------------
lfs/samba | 8 +--
2 files changed, 42 insertions(+), 43 deletions(-)
diff --git a/config/rootfiles/packages/x86_64/samba b/config/rootfiles/packages/x86_64/samba
index fdbc3c283..8e355e873 100644
--- a/config/rootfiles/packages/x86_64/samba
+++ b/config/rootfiles/packages/x86_64/samba
@@ -159,9 +159,7 @@ usr/lib/libndr.so.2.0.0
usr/lib/libnetapi.so
usr/lib/libnetapi.so.1
usr/lib/libnetapi.so.1.0.0
-usr/lib/libnss_winbind.so
usr/lib/libnss_winbind.so.2
-usr/lib/libnss_wins.so
usr/lib/libnss_wins.so.2
usr/lib/libsamba-credentials.so
usr/lib/libsamba-credentials.so.1
@@ -283,7 +281,11 @@ usr/lib/python3.10/site-packages/samba/emulate/traffic_packets.py
usr/lib/python3.10/site-packages/samba/forest_update.py
usr/lib/python3.10/site-packages/samba/gensec.cpython-310-x86_64-linux-gnu.so
usr/lib/python3.10/site-packages/samba/getopt.py
+usr/lib/python3.10/site-packages/samba/gp_cert_auto_enroll_ext.py
+usr/lib/python3.10/site-packages/samba/gp_chromium_ext.py
usr/lib/python3.10/site-packages/samba/gp_ext_loader.py
+usr/lib/python3.10/site-packages/samba/gp_firefox_ext.py
+usr/lib/python3.10/site-packages/samba/gp_firewalld_ext.py
usr/lib/python3.10/site-packages/samba/gp_gnome_settings_ext.py
usr/lib/python3.10/site-packages/samba/gp_msgs_ext.py
#usr/lib/python3.10/site-packages/samba/gp_parse
@@ -494,6 +496,7 @@ usr/lib/python3.10/site-packages/samba/tdb_util.py
#usr/lib/python3.10/site-packages/samba/tests/krb5/kdc_tests.py
#usr/lib/python3.10/site-packages/samba/tests/krb5/kdc_tgs_tests.py
#usr/lib/python3.10/site-packages/samba/tests/krb5/ms_kile_client_principal_lookup_tests.py
+#usr/lib/python3.10/site-packages/samba/tests/krb5/pac_align_tests.py
#usr/lib/python3.10/site-packages/samba/tests/krb5/raw_testcase.py
#usr/lib/python3.10/site-packages/samba/tests/krb5/rfc4120_constants.py
#usr/lib/python3.10/site-packages/samba/tests/krb5/rfc4120_pyasn1.py
@@ -573,6 +576,7 @@ usr/lib/python3.10/site-packages/samba/tdb_util.py
#usr/lib/python3.10/site-packages/samba/tests/samba_tool/help.py
#usr/lib/python3.10/site-packages/samba/tests/samba_tool/join.py
#usr/lib/python3.10/site-packages/samba/tests/samba_tool/join_lmdb_size.py
+#usr/lib/python3.10/site-packages/samba/tests/samba_tool/join_member.py
#usr/lib/python3.10/site-packages/samba/tests/samba_tool/ntacl.py
#usr/lib/python3.10/site-packages/samba/tests/samba_tool/ou.py
#usr/lib/python3.10/site-packages/samba/tests/samba_tool/passwordsettings.py
@@ -605,6 +609,7 @@ usr/lib/python3.10/site-packages/samba/tdb_util.py
#usr/lib/python3.10/site-packages/samba/tests/smbd_base.py
#usr/lib/python3.10/site-packages/samba/tests/smbd_fuzztest.py
#usr/lib/python3.10/site-packages/samba/tests/source.py
+#usr/lib/python3.10/site-packages/samba/tests/source_chars.py
#usr/lib/python3.10/site-packages/samba/tests/strings.py
#usr/lib/python3.10/site-packages/samba/tests/subunitrun.py
#usr/lib/python3.10/site-packages/samba/tests/tdb_util.py
@@ -659,10 +664,12 @@ usr/lib/samba/libCHARSET3-samba4.so
usr/lib/samba/libLIBWBCLIENT-OLD-samba4.so
usr/lib/samba/libMESSAGING-SEND-samba4.so
usr/lib/samba/libMESSAGING-samba4.so
+usr/lib/samba/libREG-FULL-samba4.so
+usr/lib/samba/libRPC-SERVER-LOOP-samba4.so
+usr/lib/samba/libRPC-WORKER-samba4.so
usr/lib/samba/libaddns-samba4.so
usr/lib/samba/libads-samba4.so
-usr/lib/samba/libasn1-samba4.so.8
-usr/lib/samba/libasn1-samba4.so.8.0.0
+usr/lib/samba/libasn1-samba4.so
usr/lib/samba/libasn1util-samba4.so
usr/lib/samba/libauth-samba4.so
usr/lib/samba/libauth-unix-token-samba4.so
@@ -680,8 +687,7 @@ usr/lib/samba/libcluster-samba4.so
usr/lib/samba/libcmdline-contexts-samba4.so
usr/lib/samba/libcmdline-samba4.so
usr/lib/samba/libcmocka-samba4.so
-usr/lib/samba/libcom_err-samba4.so.0
-usr/lib/samba/libcom_err-samba4.so.0.25
+usr/lib/samba/libcom-err-samba4.so
usr/lib/samba/libcommon-auth-samba4.so
usr/lib/samba/libdbwrap-samba4.so
usr/lib/samba/libdcerpc-pkt-auth-samba4.so
@@ -696,33 +702,25 @@ usr/lib/samba/libgensec-samba4.so
usr/lib/samba/libgpext-samba4.so
usr/lib/samba/libgpo-samba4.so
usr/lib/samba/libgse-samba4.so
-usr/lib/samba/libgssapi-samba4.so.2
-usr/lib/samba/libgssapi-samba4.so.2.0.0
-usr/lib/samba/libhcrypto-samba4.so.5
-usr/lib/samba/libhcrypto-samba4.so.5.0.1
-usr/lib/samba/libhdb-samba4.so.11
-usr/lib/samba/libhdb-samba4.so.11.0.2
-usr/lib/samba/libheimbase-samba4.so.1
-usr/lib/samba/libheimbase-samba4.so.1.0.0
-usr/lib/samba/libheimntlm-samba4.so.1
-usr/lib/samba/libheimntlm-samba4.so.1.0.1
+usr/lib/samba/libgss-preauth-samba4.so
+usr/lib/samba/libgssapi-samba4.so
+usr/lib/samba/libhcrypto-samba4.so
+usr/lib/samba/libhdb-samba4.so
+usr/lib/samba/libheimbase-samba4.so
+usr/lib/samba/libheimntlm-samba4.so
usr/lib/samba/libhttp-samba4.so
-usr/lib/samba/libhx509-samba4.so.5
-usr/lib/samba/libhx509-samba4.so.5.0.0
+usr/lib/samba/libhx509-samba4.so
usr/lib/samba/libidmap-samba4.so
usr/lib/samba/libinterfaces-samba4.so
usr/lib/samba/libiov-buf-samba4.so
-usr/lib/samba/libkdc-samba4.so.2
-usr/lib/samba/libkdc-samba4.so.2.0.0
-usr/lib/samba/libkrb5-samba4.so.26
-usr/lib/samba/libkrb5-samba4.so.26.0.0
+usr/lib/samba/libkdc-samba4.so
+usr/lib/samba/libkrb5-samba4.so
usr/lib/samba/libkrb5samba-samba4.so
usr/lib/samba/libldb-cmdline-samba4.so
usr/lib/samba/libldb-key-value-samba4.so
+usr/lib/samba/libldb-samba4.so
usr/lib/samba/libldb-tdb-err-map-samba4.so
usr/lib/samba/libldb-tdb-int-samba4.so
-usr/lib/samba/libldb.so.2
-usr/lib/samba/libldb.so.2.4.1
usr/lib/samba/libldbsamba-samba4.so
usr/lib/samba/liblibcli-lsa3-samba4.so
usr/lib/samba/liblibcli-netlogon3-samba4.so
@@ -741,14 +739,11 @@ usr/lib/samba/libnss-info-samba4.so
usr/lib/samba/libposix-eadb-samba4.so
usr/lib/samba/libprinter-driver-samba4.so
usr/lib/samba/libprinting-migrate-samba4.so
-usr/lib/samba/libpyldb-util.cpython-310-x86-64-linux-gnu.so.2
-usr/lib/samba/libpyldb-util.cpython-310-x86-64-linux-gnu.so.2.4.1
-usr/lib/samba/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2
-usr/lib/samba/libpytalloc-util.cpython-310-x86-64-linux-gnu.so.2.3.3
+usr/lib/samba/libpyldb-util.cpython-310-x86-64-linux-gnu-samba4.so
+usr/lib/samba/libpytalloc-util.cpython-310-x86-64-linux-gnu-samba4.so
usr/lib/samba/libregistry-samba4.so
usr/lib/samba/libreplace-samba4.so
-usr/lib/samba/libroken-samba4.so.19
-usr/lib/samba/libroken-samba4.so.19.0.1
+usr/lib/samba/libroken-samba4.so
usr/lib/samba/libsamba-cluster-support-samba4.so
usr/lib/samba/libsamba-debug-samba4.so
usr/lib/samba/libsamba-modules-samba4.so
@@ -772,22 +767,17 @@ usr/lib/samba/libsocket-blocking-samba4.so
usr/lib/samba/libsys-rw-samba4.so
usr/lib/samba/libtalloc-report-printf-samba4.so
usr/lib/samba/libtalloc-report-samba4.so
-usr/lib/samba/libtalloc.so.2
-usr/lib/samba/libtalloc.so.2.3.3
+usr/lib/samba/libtalloc-samba4.so
+usr/lib/samba/libtdb-samba4.so
usr/lib/samba/libtdb-wrap-samba4.so
-usr/lib/samba/libtdb.so.1
-usr/lib/samba/libtdb.so.1.4.4
-usr/lib/samba/libtevent.so.0
-usr/lib/samba/libtevent.so.0.11.0
+usr/lib/samba/libtevent-samba4.so
usr/lib/samba/libtime-basic-samba4.so
usr/lib/samba/libtorture-samba4.so
usr/lib/samba/libtrusts-util-samba4.so
usr/lib/samba/libutil-reg-samba4.so
usr/lib/samba/libutil-setid-samba4.so
usr/lib/samba/libutil-tdb-samba4.so
-usr/lib/samba/libwinbind-client-samba4.so
-usr/lib/samba/libwind-samba4.so.0
-usr/lib/samba/libwind-samba4.so.0.0.0
+usr/lib/samba/libwind-samba4.so
usr/lib/samba/libxattr-tdb-samba4.so
usr/lib/samba/nss_info
usr/lib/samba/nss_info/hash.so
@@ -838,7 +828,16 @@ usr/lib/samba/vfs/xattr_tdb.so
usr/lib/security
usr/lib/security/pam_winbind.so
#usr/libexec/samba
+usr/libexec/samba/rpcd_classic
+usr/libexec/samba/rpcd_epmapper
+usr/libexec/samba/rpcd_fsrvp
+usr/libexec/samba/rpcd_lsad
+usr/libexec/samba/rpcd_mdssvc
+usr/libexec/samba/rpcd_rpcecho
+usr/libexec/samba/rpcd_spoolss
+usr/libexec/samba/rpcd_winreg
usr/libexec/samba/samba-bgqd
+usr/libexec/samba/samba-dcerpcd
usr/libexec/samba/smbspool_krb5_wrapper
usr/sbin/eventlogadm
usr/sbin/nmbd
diff --git a/lfs/samba b/lfs/samba
index 84800c4dd..97fe96918 100644
--- a/lfs/samba
+++ b/lfs/samba
@@ -24,7 +24,7 @@
include Config
-VER = 4.15.5
+VER = 4.16.0
SUMMARY = A SMB/CIFS File, Print, and Authentication Server
THISAPP = samba-$(VER)
@@ -33,9 +33,9 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = samba
-PAK_VER = 83
+PAK_VER = 84
-DEPS = avahi cups libtirpc krb5 perl-Parse-Yapp
+DEPS = avahi cups libtirpc krb5 perl-Parse-Yapp perl-JSON
SERVICES = samba
@@ -47,7 +47,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 355970b9918e95f925636cdea919e123b072f8710134fe6310637c29b2b5e1bc55d7b66d9674a68408ce5f14545a2cb9a94f596f90204935addb2f8f6a503873
+$(DL_FILE)_BLAKE2 = 6ea27634690d00779ec7f671e48b17246285c9576221d9b9b3f9238cd72310e8aaaeb646031212e65c239d2e959deef7bd9739932db0c716b7ea79cc11f2f7b8
install : $(TARGET)
--
2.36.0