summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net/samba4/Makefile15
-rw-r--r--net/samba4/distinfo4
-rw-r--r--net/samba4/files/patch-lib__socket__interfaces.c50
-rw-r--r--net/samba4/files/patch-nsswitch__winbind_nss_freebsd.c33
-rw-r--r--net/samba4/files/patch-nsswitch__wins_freebsd.c10
-rw-r--r--net/samba4/files/patch-nsswitch__wscript_build11
-rw-r--r--net/samba4/files/patch-source4__lib__cmdline__wscript_build12
-rw-r--r--net/samba4/files/patch-source4__libcli__resolve__dns_ex.c39
-rw-r--r--net/samba4/files/patch-source4__smbd__wscript_build11
-rw-r--r--net/samba4/files/samba4.in13
-rw-r--r--net/samba4/pkg-plist10
11 files changed, 57 insertions, 151 deletions
diff --git a/net/samba4/Makefile b/net/samba4/Makefile
index 57e979a8f29d..333b7167a204 100644
--- a/net/samba4/Makefile
+++ b/net/samba4/Makefile
@@ -3,7 +3,7 @@
PORTNAME?= ${SAMBA4_PORTNAME}
PORTVERSION?= ${SAMBA4_VERSION}
-PORTREVISION?= 1
+PORTREVISION?= 0
CATEGORIES?= net
MASTER_SITES= ${MASTER_SITE_SAMBA}
MASTER_SITE_SUBDIR= samba/stable samba/rc
@@ -20,7 +20,7 @@ MAKE_JOBS_SAFE= yes
SAMBA4_BASENAME= samba
SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4
-SAMBA4_VERSION= 4.0.4
+SAMBA4_VERSION= 4.0.7
SAMBA4_DISTNAME= ${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|}
WRKSRC?= ${WRKDIR}/${DISTNAME}
@@ -100,8 +100,8 @@ BUILD_DEPENDS+= talloc>=2.0.8:${PORTSDIR}/devel/talloc
RUN_DEPENDS+= talloc>=2.0.8:${PORTSDIR}/devel/talloc
SAMBA4_BUNDLED_LIBS+= !talloc
# tevent
-BUILD_DEPENDS+= tevent>=0.9.17:${PORTSDIR}/devel/tevent
-RUN_DEPENDS+= tevent>=0.9.17:${PORTSDIR}/devel/tevent
+BUILD_DEPENDS+= tevent>=0.9.18:${PORTSDIR}/devel/tevent
+RUN_DEPENDS+= tevent>=0.9.18:${PORTSDIR}/devel/tevent
SAMBA4_BUNDLED_LIBS+= !tevent
# tdb
BUILD_DEPENDS+= tdb>=1.2.11:${PORTSDIR}/databases/tdb
@@ -271,15 +271,14 @@ CONFIGURE_ARGS+= --with-dnsupdate
CONFIGURE_ARGS+= --without-dnsupdate
.endif
-.if 0
+# https://bugzilla.samba.org/show_bug.cgi?id=9545
.if ${PORT_OPTIONS:MFAM_SUPPORT}
USE_FAM= yes
-CONFIGURE_ARGS+= --enable-fam
+CONFIGURE_ARGS+= --with-fam
WANT_EXP_MODULES+= vfs_notify_fam
SAMBA4_MODULES+= vfs_notify_fam
.else
-CONFIGURE_ARGS+= --disable-fam
-.endif
+CONFIGURE_ARGS+= --without-fam
.endif
.if ${PORT_OPTIONS:MLDAP}
diff --git a/net/samba4/distinfo b/net/samba4/distinfo
index af71310d998d..c6f0b6288afa 100644
--- a/net/samba4/distinfo
+++ b/net/samba4/distinfo
@@ -1,2 +1,2 @@
-SHA256 (samba-4.0.4.tar.gz) = 20a84280155543892ce939e70482243396a9a8bfa77dcb4bf58328f7029772c5
-SIZE (samba-4.0.4.tar.gz) = 22055293
+SHA256 (samba-4.0.7.tar.gz) = e9ad36ff65a1d6b6a57f272aa08f844139ac2b5b1cb2257f1236aa2a8c864245
+SIZE (samba-4.0.7.tar.gz) = 22078244
diff --git a/net/samba4/files/patch-lib__socket__interfaces.c b/net/samba4/files/patch-lib__socket__interfaces.c
deleted file mode 100644
index 14ad00e5b693..000000000000
--- a/net/samba4/files/patch-lib__socket__interfaces.c
+++ /dev/null
@@ -1,50 +0,0 @@
-https://bugzilla.samba.org/show_bug.cgi?id=9666
-
---- ./lib/socket/interfaces.c.orig 2012-10-02 08:24:40.000000000 +0000
-+++ ./lib/socket/interfaces.c 2013-02-18 06:52:41.529874139 +0000
-@@ -185,7 +185,22 @@
-
- memcpy(&ifaces[total].ip, ifptr->ifa_addr, copy_size);
- memcpy(&ifaces[total].netmask, ifptr->ifa_netmask, copy_size);
-+ /* calculate broadcast address */
-+#if defined(HAVE_IPV6)
-+ if (ifptr->ifa_addr->sa_family == AF_INET6) {
-+ struct sockaddr_in6 *sin6 =
-+ (struct sockaddr_in6 *)ifptr->ifa_addr;
-+ struct in6_addr *in6 =
-+ (struct in6_addr *)&sin6->sin6_addr;
-
-+ if (IN6_IS_ADDR_LINKLOCAL(in6) || IN6_IS_ADDR_V4COMPAT(in6)) {
-+ sin6->sin6_scope_id = if_nametoindex(ifptr->ifa_name);
-+ continue;
-+ }
-+ /* IPv6 does not have broadcast it uses multicast. */
-+ memset(&ifaces[total].bcast, '\0', copy_size);
-+ } else
-+#endif
- if (ifaces[total].flags & (IFF_BROADCAST|IFF_LOOPBACK)) {
- make_bcast(&ifaces[total].bcast,
- &ifaces[total].ip,
-@@ -195,20 +210,8 @@
- memcpy(&ifaces[total].bcast,
- ifptr->ifa_dstaddr,
- copy_size);
--#if defined(HAVE_IPV6)
-- } else if (ifptr->ifa_addr->sa_family == AF_INET6) {
-- const struct sockaddr_in6 *sin6 =
-- (const struct sockaddr_in6 *)ifptr->ifa_addr;
-- const struct in6_addr *in6 =
-- (const struct in6_addr *)&sin6->sin6_addr;
--
-- if (IN6_IS_ADDR_LINKLOCAL(in6) || IN6_IS_ADDR_V4COMPAT(in6)) {
-- continue;
-- }
-- /* IPv6 does not have broadcast it uses multicast. */
-- memset(&ifaces[total].bcast, '\0', copy_size);
--#endif
-- } else {
-+ }
-+ else {
- continue;
- }
-
diff --git a/net/samba4/files/patch-nsswitch__winbind_nss_freebsd.c b/net/samba4/files/patch-nsswitch__winbind_nss_freebsd.c
index 103059a96790..98822689c5e7 100644
--- a/net/samba4/files/patch-nsswitch__winbind_nss_freebsd.c
+++ b/net/samba4/files/patch-nsswitch__winbind_nss_freebsd.c
@@ -1,5 +1,5 @@
--- ./nsswitch/winbind_nss_freebsd.c.orig 2012-10-02 08:24:41.000000000 +0000
-+++ ./nsswitch/winbind_nss_freebsd.c 2013-03-13 09:40:37.285778609 +0000
++++ ./nsswitch/winbind_nss_freebsd.c 2013-07-03 01:27:00.339935089 +0000
@@ -5,6 +5,7 @@
routines against Samba winbind/Windows NT Domain
@@ -8,7 +8,32 @@
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
-@@ -53,6 +54,9 @@
+@@ -23,7 +24,6 @@
+ #include "winbind_client.h"
+
+ /* Make sure that the module gets registered needed by freebsd 5.1 */
+-
+ extern enum nss_status _nss_winbind_getgrent_r(struct group *, char *, size_t,
+ int *);
+ extern enum nss_status _nss_winbind_getgrnam_r(const char *, struct group *,
+@@ -32,6 +32,8 @@
+ size_t, int *);
+ extern enum nss_status _nss_winbind_setgrent(void);
+ extern enum nss_status _nss_winbind_endgrent(void);
++extern enum nss_status _nss_winbind_initgroups_dyn(char *, gid_t, long int *,
++ long int *, gid_t **, long int , int *);
+
+ extern enum nss_status _nss_winbind_getpwent_r(struct passwd *, char *, size_t,
+ int *);
+@@ -41,6 +43,7 @@
+ size_t, int *);
+ extern enum nss_status _nss_winbind_setpwent(void);
+ extern enum nss_status _nss_winbind_endpwent(void);
++ns_mtab *nss_module_register(const char *, unsigned int *, nss_module_unregister_fn *);
+
+ NSS_METHOD_PROTOTYPE(__nss_compat_getgrnam_r);
+ NSS_METHOD_PROTOTYPE(__nss_compat_getgrgid_r);
+@@ -53,6 +56,9 @@
NSS_METHOD_PROTOTYPE(__nss_compat_getpwent_r);
NSS_METHOD_PROTOTYPE(__nss_compat_setpwent);
NSS_METHOD_PROTOTYPE(__nss_compat_endpwent);
@@ -18,7 +43,7 @@
static ns_mtab methods[] = {
{ NSDB_GROUP, "getgrnam_r", __nss_compat_getgrnam_r, _nss_winbind_getgrnam_r },
-@@ -60,6 +64,7 @@
+@@ -60,6 +66,7 @@
{ NSDB_GROUP, "getgrent_r", __nss_compat_getgrent_r, _nss_winbind_getgrent_r },
{ NSDB_GROUP, "setgrent", __nss_compat_setgrent, _nss_winbind_setgrent },
{ NSDB_GROUP, "endgrent", __nss_compat_endgrent, _nss_winbind_endgrent },
@@ -26,7 +51,7 @@
{ NSDB_PASSWD, "getpwnam_r", __nss_compat_getpwnam_r, _nss_winbind_getpwnam_r },
{ NSDB_PASSWD, "getpwuid_r", __nss_compat_getpwuid_r, _nss_winbind_getpwuid_r },
-@@ -69,6 +74,71 @@
+@@ -69,6 +76,71 @@
};
diff --git a/net/samba4/files/patch-nsswitch__wins_freebsd.c b/net/samba4/files/patch-nsswitch__wins_freebsd.c
index b526acc53730..1b47c702d3a1 100644
--- a/net/samba4/files/patch-nsswitch__wins_freebsd.c
+++ b/net/samba4/files/patch-nsswitch__wins_freebsd.c
@@ -1,6 +1,6 @@
---- ./nsswitch/wins_freebsd.c.orig 2010-04-23 01:08:35.000000000 +0200
-+++ ./nsswitch/wins_freebsd.c 2010-04-23 01:08:35.000000000 +0200
-@@ -0,0 +1,79 @@
+--- ./nsswitch/wins_freebsd.c.orig 2013-07-03 01:06:20.689871582 +0000
++++ ./nsswitch/wins_freebsd.c 2013-07-03 01:33:02.779873084 +0000
+@@ -0,0 +1,81 @@
+/*
+ Unix SMB/CIFS implementation.
+
@@ -24,9 +24,11 @@
+
+#include "winbind_client.h"
+
-+NSS_STATUS _nss_wins_gethostbyname2_r(const char *name, int af, struct hostent *he,
++extern enum nss_status _nss_wins_gethostbyname2_r(const char *name, int af, struct hostent *he,
+ char *buffer, size_t buflen, int *h_errnop);
+
++ns_mtab *nss_module_register(const char *source, unsigned int *, nss_module_unregister_fn *);
++
+NSS_METHOD_PROTOTYPE(__nss_wins_freebsd_gethostbyname2_r);
+
+static ns_mtab methods[] =
diff --git a/net/samba4/files/patch-nsswitch__wscript_build b/net/samba4/files/patch-nsswitch__wscript_build
deleted file mode 100644
index b37a6547bd22..000000000000
--- a/net/samba4/files/patch-nsswitch__wscript_build
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./nsswitch/wscript_build.orig 2012-12-04 10:07:44.000000000 +0000
-+++ ./nsswitch/wscript_build 2013-02-02 17:36:40.409893341 +0000
-@@ -42,7 +42,7 @@
- bld.SAMBA_LIBRARY('nss_winbind',
- source='winbind_nss_linux.c winbind_nss_freebsd.c',
- deps='winbind-client',
-- realname='libnss_winbind.so.1',
-+ realname='nss_winbind.so.1',
- vnum='1')
-
- elif (host_os.rfind('netbsd') > -1):
diff --git a/net/samba4/files/patch-source4__lib__cmdline__wscript_build b/net/samba4/files/patch-source4__lib__cmdline__wscript_build
deleted file mode 100644
index fe6e01345cf2..000000000000
--- a/net/samba4/files/patch-source4__lib__cmdline__wscript_build
+++ /dev/null
@@ -1,12 +0,0 @@
-https://bugzilla.samba.org/show_bug.cgi?id=9664
-
---- ./source4/lib/cmdline/wscript_build.orig 2013-02-02 21:15:00.669868288 +0000
-+++ ./source4/lib/cmdline/wscript_build 2013-02-02 21:16:06.379875983 +0000
-@@ -4,6 +4,7 @@
- source='credentials.c',
- autoproto='credentials.h',
- public_deps='samba-credentials popt',
-+ deps='replace',
- private_library=True)
-
- bld.SAMBA_SUBSYSTEM('POPT_SAMBA',
diff --git a/net/samba4/files/patch-source4__libcli__resolve__dns_ex.c b/net/samba4/files/patch-source4__libcli__resolve__dns_ex.c
deleted file mode 100644
index 04f0d5a8745b..000000000000
--- a/net/samba4/files/patch-source4__libcli__resolve__dns_ex.c
+++ /dev/null
@@ -1,39 +0,0 @@
-https://bugzilla.samba.org/show_bug.cgi?id=9656
-
-From 30d391abd0909b4838b87ddedf4d5fe037c514cf Mon Sep 17 00:00:00 2001
-From: Landon Fuller <landonf@bikemonkey.org>
-Date: Sat, 16 Feb 2013 22:57:40 -0500
-Subject: [PATCH] Fallback to the internal resolver on EAI_FAIL.
-
-On Linux, non-RFC 1034-complaint names (such as gc._msdsc.example.org)
-will result in the resolver returning the non-POSIX EAI_NODATA. In that
-case, the case statement here would fall back on the internal resolver,
-allowing resolution to complete successfully.
-
-On FreeBSD, the libc resolver uses the same validation code, but
-the POSIX result of EAI_FAIL is returned instead of EAI_NODATA. Since
-there was no case for this error code, no fallback to the internal
-resolver would occur. This led to replication failing on FreeBSD.
----
- source4/libcli/resolve/dns_ex.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/source4/libcli/resolve/dns_ex.c b/source4/libcli/resolve/dns_ex.c
-index bc64e8d..3f47898 100644
---- ./source4/libcli/resolve/dns_ex.c
-+++ ./source4/libcli/resolve/dns_ex.c
-@@ -400,8 +400,10 @@ static void run_child_getaddrinfo(struct dns_ex_state *state, int fd)
- #ifdef EAI_NODATA
- case EAI_NODATA:
- #endif
-+ case EAI_FAIL:
-+ /* Linux returns EAI_NODATA on non-RFC1034-compliant names. FreeBSD returns EAI_FAIL */
- case EAI_NONAME:
-- /* getaddrinfo() doesn't handle CNAME records */
-+ /* getaddrinfo() doesn't handle CNAME or non-RFC1034 compatible records */
- run_child_dns_lookup(state, fd);
- return;
- default:
---
-1.8.1.3
-
diff --git a/net/samba4/files/patch-source4__smbd__wscript_build b/net/samba4/files/patch-source4__smbd__wscript_build
deleted file mode 100644
index 4b7da154c7bd..000000000000
--- a/net/samba4/files/patch-source4__smbd__wscript_build
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./source4/smbd/wscript_build.orig 2012-12-04 10:07:44.000000000 +0000
-+++ ./source4/smbd/wscript_build 2013-01-27 01:44:15.919866417 +0000
-@@ -17,7 +17,7 @@
- enabled=bld.AD_DC_BUILD_IS_ENABLED()
- )
-
--bld.SAMBA_BINARY('samba',
-+bld.SAMBA_BINARY('samba4',
- source='server.c',
- subsystem_name='service',
- deps='''events process_model service samba-hostconfig samba-util POPT_SAMBA
diff --git a/net/samba4/files/samba4.in b/net/samba4/files/samba4.in
index c59a3b20029a..ffdbbe8c9565 100644
--- a/net/samba4/files/samba4.in
+++ b/net/samba4/files/samba4.in
@@ -39,9 +39,10 @@ samba4_piddir=$(${testparm_command} --parameter-name='pid directory' 2>/dev/null
# Runtime options
start_precmd="samba4_prestart"
restart_precmd="samba4_checkconfig"
-command="%%PREFIX%%/sbin/${name}"
+command_name="samba"
+command="%%PREFIX%%/sbin/${command_name}"
command_args=${samba4_configfile_arg}
-pidfile="%%SAMBA4_RUNDIR%%/samba.pid"
+pidfile="%%SAMBA4_RUNDIR%%/${command_name}.pid"
# Requirements
required_files="${samba4_config}"
required_dirs="${samba4_lockdir}"
@@ -58,12 +59,12 @@ samba4_checkconfig() {
samba4_prestart() {
# Make sure we have our RUNDIR, even if it's on a tmpfs
- if [ ! -d "%%SAMBA4_RUNDIR%%" -a ! -e "%%SAMBA4_RUNDIR%%" ]; then
- install -m 0755 -d "%%SAMBA4_RUNDIR%%"
+ if [ ! -d "${samba4_piddir}" -a ! -e "${samba4_piddir}" ]; then
+ install -m 0755 -d "${samba4_piddir}"
fi
# Remove smbd.pid before starting up samba(needed for s3fs)
- if [ -e "%%SAMBA4_RUNDIR%%/smbd.pid" ] ; then
- rm -f "%%SAMBA4_RUNDIR%%/smbd.pid"
+ if [ -e "${samba4_piddir}/smbd.pid" ] ; then
+ rm -f "${samba4_piddir}/smbd.pid"
fi
}
diff --git a/net/samba4/pkg-plist b/net/samba4/pkg-plist
index c95c667dca37..7a6e5e72efd2 100644
--- a/net/samba4/pkg-plist
+++ b/net/samba4/pkg-plist
@@ -30,16 +30,16 @@ bin/smbspool
bin/smbstatus
bin/smbta-util
bin/smbtorture
+bin/smbtar
bin/smbtree
bin/testparm
bin/wbinfo
sbin/nmbd
-sbin/samba4
+sbin/samba
sbin/samba_dnsupdate
sbin/samba_kcc
sbin/samba_spnupdate
sbin/samba_upgradedns
-sbin/samba_upgradeprovision
sbin/smbd
%%SWAT%%sbin/swat
%%WINBIND%%sbin/winbindd
@@ -403,6 +403,7 @@ lib/shared-modules/vfs/full_audit.so
lib/shared-modules/vfs/linux_xfs_sgid.so
lib/shared-modules/vfs/media_harmony.so
lib/shared-modules/vfs/netatalk.so
+@comment vfs_notify_fam lib/shared-modules/vfs/notify_fam.so
lib/shared-modules/vfs/posix_eadb.so
lib/shared-modules/vfs/preopen.so
lib/shared-modules/vfs/readahead.so
@@ -478,6 +479,7 @@ libdata/pkgconfig/smbclient-raw.pc
libdata/pkgconfig/smbsharemodes.pc
libdata/pkgconfig/torture.pc
libdata/pkgconfig/wbclient.pc
+%%DEVELOPER%%%%PYTHON_SITELIBDIR%%/samba/socket_wrapper.so
%%PYTHON_SITELIBDIR%%/samba/__init__.py
%%PYTHON_SITELIBDIR%%/samba/_glue.so
%%PYTHON_SITELIBDIR%%/samba/_ldb.so
@@ -519,6 +521,7 @@ libdata/pkgconfig/wbclient.pc
%%PYTHON_SITELIBDIR%%/samba/dcerpc/wkssvc.so
%%PYTHON_SITELIBDIR%%/samba/dcerpc/xattr.so
%%PYTHON_SITELIBDIR%%/samba/dckeytab.so
+%%PYTHON_SITELIBDIR%%/samba/descriptor.py
%%PYTHON_SITELIBDIR%%/samba/drs_utils.py
%%PYTHON_SITELIBDIR%%/samba/dsdb.so
%%PYTHON_SITELIBDIR%%/samba/external/__init__.py
@@ -702,7 +705,6 @@ libdata/pkgconfig/wbclient.pc
%%PYTHON_SITELIBDIR%%/samba/provision/__init__.py
%%PYTHON_SITELIBDIR%%/samba/provision/backend.py
%%PYTHON_SITELIBDIR%%/samba/provision/common.py
-%%PYTHON_SITELIBDIR%%/samba/provision/descriptor.py
%%PYTHON_SITELIBDIR%%/samba/provision/sambadns.py
%%PYTHON_SITELIBDIR%%/samba/registry.so
%%PYTHON_SITELIBDIR%%/samba/samba3/__init__.py
@@ -716,7 +718,7 @@ libdata/pkgconfig/wbclient.pc
%%PYTHON_SITELIBDIR%%/samba/security.so
%%PYTHON_SITELIBDIR%%/samba/sites.py
%%PYTHON_SITELIBDIR%%/samba/smb.so
-%%DEVELOPER%%%%PYTHON_SITELIBDIR%%/samba/socket_wrapper.so
+%%PYTHON_SITELIBDIR%%/samba/tdb_util.py
%%PYTHON_SITELIBDIR%%/samba/tests/__init__.py
%%PYTHON_SITELIBDIR%%/samba/tests/auth.py
%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/__init__.py