Diff below updates net/samba to 4.25.0. Changes:
https://www.samba.org/samba/history/samba-4.25.0.html.
Lightly run tested on amd64.
Bumped couple of shared libs per check_sym's suggestion.
diff --git Makefile Makefile
index 9be2a94b209..3f44577efcc 100644
--- Makefile
+++ Makefile
@@ -1,4 +1,4 @@
-VERSION = 4.24.7
+VERSION = 4.25.0
DISTNAME = samba-${VERSION}
EPOCH = 0
@@ -17,18 +17,18 @@ SHARED_LIBS = dcerpc 3.0 \
ldb 2.4 \
ndr 4.1 \
ndr-krb5pac 1.4 \
- ndr-nbt 2.1 \
+ ndr-nbt 2.2 \
ndr-standard 6.2 \
netapi 3.4 \
samba-credentials 3.1 \
samba-errors 2.1 \
- samba-hostconfig 19.0 \
+ samba-hostconfig 20.0 \
samba-passdb 3.2 \
samba-policy 0.0 \
- samba-util 14.0 \
+ samba-util 15.0 \
samdb 6.0 \
smbclient 6.3 \
- smbconf 19.1 \
+ smbconf 20.0 \
smbldap 1.0 \
tevent 2.4 \
tevent-util 2.0 \
@@ -83,7 +83,7 @@ LIB_DEPENDS-main = archivers/libarchive \
databases/tdb>=1.4.15 \
devel/jansson \
devel/libinotify \
- devel/libtalloc>=2.4.4 \
+ devel/libtalloc>=2.5.0 \
devel/libtalloc,-python \
devel/popt \
net/avahi,-libs \
diff --git distinfo distinfo
index 8916a3f0261..6a9d15ef89f 100644
--- distinfo
+++ distinfo
@@ -1,2 +1,2 @@
-SHA256 (samba-4.24.7.tar.gz) = Rbd0ekdFLv8rIVmkTMY+tDaQ0zn9EGkIjgI6AV/tBsc=
-SIZE (samba-4.24.7.tar.gz) = 43450847
+SHA256 (samba-4.25.0.tar.gz) = Liy3KWgzs1uPen+3YEXgxXrcDCzQMmSzffXVjkDyhDc=
+SIZE (samba-4.25.0.tar.gz) = 43571277
diff --git patches/patch-buildtools_wafsamba_samba_autoconf_py
patches/patch-buildtools_wafsamba_samba_autoconf_py
index ae7e992f100..30ac13a136d 100644
--- patches/patch-buildtools_wafsamba_samba_autoconf_py
+++ patches/patch-buildtools_wafsamba_samba_autoconf_py
@@ -5,7 +5,7 @@
Index: buildtools/wafsamba/samba_autoconf.py
--- buildtools/wafsamba/samba_autoconf.py.orig
+++ buildtools/wafsamba/samba_autoconf.py
-@@ -963,6 +963,27 @@ def ADD_LDFLAGS(conf, flags, testflags=False):
+@@ -968,6 +968,27 @@ def ADD_LDFLAGS(conf, flags, testflags=False):
if not 'EXTRA_LDFLAGS' in conf.env:
conf.env['EXTRA_LDFLAGS'] = []
conf.env['EXTRA_LDFLAGS'].extend(TO_LIST(flags))
@@ -33,7 +33,7 @@ Index: buildtools/wafsamba/samba_autoconf.py
return flags
-@@ -1034,7 +1055,7 @@ def SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS(conf):
+@@ -1039,7 +1060,7 @@ def SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS(conf):
# symbols used for fuzzers are only defined by compiler wrappers.
return
diff --git patches/patch-lib_tdb_wrap_tdb_wrap_c
patches/patch-lib_tdb_wrap_tdb_wrap_c
new file mode 100644
index 00000000000..2e98fa2d501
--- /dev/null
+++ patches/patch-lib_tdb_wrap_tdb_wrap_c
@@ -0,0 +1,17 @@
+Silent fallback to fcntl locking when optional TDB mutexes are unavailable.
+Taken from https://gitlab.com/samba-team/samba/-/merge_requests/4700
+
+Index: lib/tdb_wrap/tdb_wrap.c
+--- lib/tdb_wrap/tdb_wrap.c.orig
++++ lib/tdb_wrap/tdb_wrap.c
+@@ -151,8 +151,10 @@ struct tdb_wrap *tdb_wrap_open(TALLOC_CTX *mem_ctx,
+
+ if (tdb_flags & TDB_MUTEX_LOCKING) {
+ if (!tdb_runtime_check_for_robust_mutexes()) {
++#ifdef HAVE_ROBUST_MUTEXES
+ DBG_ERR("mutexes requested but not "
+ "available\n");
++#endif
+ tdb_flags &= ~TDB_MUTEX_LOCKING;
+ }
+ }
diff --git patches/patch-lib_util_statvfs_c patches/patch-lib_util_statvfs_c
new file mode 100644
index 00000000000..80690c8f900
--- /dev/null
+++ patches/patch-lib_util_statvfs_c
@@ -0,0 +1,15 @@
+Fix a type mismatch by passing OpenBSD's native struct statfs—which contains
+non-standard fields like f_iosize and f_flags—instead of POSIX struct statvfs.
+
+Index: lib/util/statvfs.c
+--- lib/util/statvfs.c.orig
++++ lib/util/statvfs.c
+@@ -79,7 +79,7 @@ static int darwin_fs_capabilities(const char * path)
+
+ #if defined(BSD_STYLE_STATVFS)
+
+-static void bsd_init_statvfs(const struct statvfs *src,
++static void bsd_init_statvfs(const struct statfs *src,
+ struct vfs_statvfs_struct *dst)
+ {
+ dst->OptimalTransferSize = src->f_iosize;
diff --git patches/patch-source3_lib_dbwrap_dbwrap_open_c
patches/patch-source3_lib_dbwrap_dbwrap_open_c
new file mode 100644
index 00000000000..934cab06267
--- /dev/null
+++ patches/patch-source3_lib_dbwrap_dbwrap_open_c
@@ -0,0 +1,18 @@
+Silent fallback to fcntl locking when optional TDB mutexes are unavailable.
+Taken from https://gitlab.com/samba-team/samba/-/merge_requests/4700
+
+Index: source3/lib/dbwrap/dbwrap_open.c
+--- source3/lib/dbwrap/dbwrap_open.c.orig
++++ source3/lib/dbwrap/dbwrap_open.c
+@@ -127,9 +127,11 @@ struct db_context *db_open_ex(TALLOC_CTX *mem_ctx,
+ if (try_mutex) {
+ if (tdb_runtime_check_for_robust_mutexes()) {
+ tdb_flags |= TDB_MUTEX_LOCKING;
++#ifdef HAVE_ROBUST_MUTEXES
+ } else {
+ DBG_ERR("mutexes requested but not "
+ "available\n");
++#endif
+ }
+ }
+
diff --git patches/patch-source3_lib_sysquotas_c
patches/patch-source3_lib_sysquotas_c
index 767fffd2aa8..331a8e38384 100644
--- patches/patch-source3_lib_sysquotas_c
+++ patches/patch-source3_lib_sysquotas_c
@@ -3,7 +3,7 @@ Avoid printf("%s", NULL);
Index: source3/lib/sysquotas.c
--- source3/lib/sysquotas.c.orig
+++ source3/lib/sysquotas.c
-@@ -452,10 +452,10 @@ int sys_get_quota(const char *path, enum SMB_QUOTA_TYP
+@@ -544,10 +544,10 @@ int sys_get_quota(dev_t dev,
ret = sys_quota_backends[i].get_quota(mntpath, bdev,
qtype, id, dp);
if (ret!=0) {
DEBUG(3,("sys_get_%s_quota() failed for
mntpath[%s] bdev[%s] qtype[%d] id[%d]: %s.\n",
@@ -16,7 +16,7 @@ Index: source3/lib/sysquotas.c
}
ready = True;
break;
-@@ -467,10 +467,10 @@ int sys_get_quota(const char *path, enum SMB_QUOTA_TYP
+@@ -559,10 +559,10 @@ int sys_get_quota(dev_t dev,
ret=sys_get_vfs_quota(mntpath, bdev, qtype, id, dp);
if (ret!=0) {
DEBUG(3,("sys_get_%s_quota() failed for mntpath[%s]
bdev[%s] qtype[%d] id[%d]: %s\n",
diff --git patches/patch-source3_wscript patches/patch-source3_wscript
index 9f16eb2ee11..9c3024e411d 100644
--- patches/patch-source3_wscript
+++ patches/patch-source3_wscript
@@ -4,7 +4,7 @@
Index: source3/wscript
--- source3/wscript.orig
+++ source3/wscript
-@@ -97,6 +97,7 @@ def options(opt):
+@@ -102,6 +102,7 @@ def options(opt):
# default = None means autodetection
opt.samba_add_onoff_option('spotlight', with_name="enable",
without_name="disable", default=None)
opt.samba_add_onoff_option('wsp', with_name="enable",
without_name="disable", default=True)
@@ -12,7 +12,7 @@ Index: source3/wscript
def configure(conf):
default_static_modules = []
-@@ -105,7 +106,7 @@ def configure(conf):
+@@ -110,7 +111,7 @@ def configure(conf):
forced_static_modules = []
forced_shared_modules = []
diff --git pkg/PLIST-main pkg/PLIST-main
index 74d82b0745f..288be0fc33e 100644
--- pkg/PLIST-main
+++ pkg/PLIST-main
@@ -319,10 +319,12 @@
lib/python${MODPY_VERSION}/site-packages/samba/dcerpc/${MODPY_PYCACHE}__init__.$
@so
lib/python${MODPY_VERSION}/site-packages/samba/dcerpc/drsuapi.${MODPY_PYC_MAGIC_TAG}so
@so
lib/python${MODPY_VERSION}/site-packages/samba/dcerpc/echo.${MODPY_PYC_MAGIC_TAG}so
@so
lib/python${MODPY_VERSION}/site-packages/samba/dcerpc/epmapper.${MODPY_PYC_MAGIC_TAG}so
+@so
lib/python${MODPY_VERSION}/site-packages/samba/dcerpc/file_id.${MODPY_PYC_MAGIC_TAG}so
@so
lib/python${MODPY_VERSION}/site-packages/samba/dcerpc/gkdi.${MODPY_PYC_MAGIC_TAG}so
@so
lib/python${MODPY_VERSION}/site-packages/samba/dcerpc/gmsa.${MODPY_PYC_MAGIC_TAG}so
@so
lib/python${MODPY_VERSION}/site-packages/samba/dcerpc/idmap.${MODPY_PYC_MAGIC_TAG}so
@so
lib/python${MODPY_VERSION}/site-packages/samba/dcerpc/initshutdown.${MODPY_PYC_MAGIC_TAG}so
+@so
lib/python${MODPY_VERSION}/site-packages/samba/dcerpc/ioctl.${MODPY_PYC_MAGIC_TAG}so
@so
lib/python${MODPY_VERSION}/site-packages/samba/dcerpc/irpc.${MODPY_PYC_MAGIC_TAG}so
@so
lib/python${MODPY_VERSION}/site-packages/samba/dcerpc/keycredlink.${MODPY_PYC_MAGIC_TAG}so
@so
lib/python${MODPY_VERSION}/site-packages/samba/dcerpc/krb5ccache.${MODPY_PYC_MAGIC_TAG}so
@@ -1117,6 +1119,10 @@
lib/python${MODPY_VERSION}/site-packages/samba/tests/${MODPY_PYCACHE}netcmd.${MO
lib/python${MODPY_VERSION}/site-packages/samba/tests/${MODPY_PYCACHE}netcmd.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/samba/tests/${MODPY_PYCACHE}netlogonsvc.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/samba/tests/${MODPY_PYCACHE}netlogonsvc.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/samba/tests/${MODPY_PYCACHE}nps_echo_test.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/samba/tests/${MODPY_PYCACHE}nps_echo_test.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/samba/tests/${MODPY_PYCACHE}ntacl_resource_attr_ace.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/samba/tests/${MODPY_PYCACHE}ntacl_resource_attr_ace.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/samba/tests/${MODPY_PYCACHE}ntacls.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/samba/tests/${MODPY_PYCACHE}ntacls.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/samba/tests/${MODPY_PYCACHE}ntacls_backup.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -1652,6 +1658,7 @@
lib/python${MODPY_VERSION}/site-packages/samba/tests/net_join_no_spnego.py
lib/python${MODPY_VERSION}/site-packages/samba/tests/netbios.py
lib/python${MODPY_VERSION}/site-packages/samba/tests/netcmd.py
lib/python${MODPY_VERSION}/site-packages/samba/tests/netlogonsvc.py
+lib/python${MODPY_VERSION}/site-packages/samba/tests/nps_echo_test.py
lib/python${MODPY_VERSION}/site-packages/samba/tests/nss/
lib/python${MODPY_VERSION}/site-packages/samba/tests/nss/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/samba/tests/nss/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -1660,6 +1667,7 @@
lib/python${MODPY_VERSION}/site-packages/samba/tests/nss/${MODPY_PYCACHE}group.$
lib/python${MODPY_VERSION}/site-packages/samba/tests/nss/${MODPY_PYCACHE}group.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/samba/tests/nss/base.py
lib/python${MODPY_VERSION}/site-packages/samba/tests/nss/group.py
+lib/python${MODPY_VERSION}/site-packages/samba/tests/ntacl_resource_attr_ace.py
lib/python${MODPY_VERSION}/site-packages/samba/tests/ntacls.py
lib/python${MODPY_VERSION}/site-packages/samba/tests/ntacls_backup.py
lib/python${MODPY_VERSION}/site-packages/samba/tests/ntlm_auth.py