diff --git a/main/samba/APKBUILD b/main/samba/APKBUILD
index 2d94b8e3eba73a04ab5fc3f58295b8a4cbdba783..8ac2225f507e0b07c78ab11851605e8141975294 100644
--- a/main/samba/APKBUILD
+++ b/main/samba/APKBUILD
@@ -1,7 +1,7 @@
 # Maintainer: Natanael Copa <ncopa@alpinelinux.org>
 pkgname=samba
-pkgver=4.2.9
-pkgrel=1
+pkgver=4.4.2
+pkgrel=0
 pkgdesc="Tools to access a server's filespace and printers via SMB"
 url="http://www.samba.org"
 arch="all"
@@ -10,12 +10,11 @@ subpackages="$pkgname-dev $pkgname-doc
 	$pkgname-common
 	$pkgname-initscript
 	$pkgname-common-tools:_common_tools
+	$pkgname-common-server-libs:_common_server_libs
 	$pkgname-common-libs:_common_libs
 	libsmbclient
 	$pkgname-client
 	$pkgname-client-libs:_client_libs
-	$pkgname-dc
-	$pkgname-dc-libs:_dc_libs
 
 	$pkgname-winbind
 	libwbclient
@@ -25,30 +24,26 @@ subpackages="$pkgname-dev $pkgname-doc
 
 	$pkgname-server
 	$pkgname-server-libs:_server_libs
-	$pkgname-ntdb-tools:_ntdb_tools
-
 	$pkgname-pidl
 	py-$pkgname:_py
 	$pkgname-test:_test
 	$pkgname-libs-py:_libs_py
 	$pkgname-libs"
 
-# samba backage only pulls in samba-server. This is helps to verify that
-# no libs or files are forgotten during packaging
-depends="$pkgname-server"
+depends="$pkgname-server=$pkgver-r$pkgrel
+	$pkgname-client=$pkgver-r$pkgrel
+	$pkgname-common-tools=$pkgver-r$pkgrel"
 
 # note that heimdal is required (over mit krb5) for AD DC functionality
-makedepends="popt-dev ncurses-dev openldap-dev heimdal-dev e2fsprogs-dev
+makedepends="popt-dev ncurses-dev openldap-dev e2fsprogs-dev krb5-dev
 	talloc-dev tdb-dev py-tdb ldb-dev cups-dev python-dev libcap-dev
 	tevent-dev py-tevent iniparser-dev perl subunit-dev docbook-xsl
 	libarchive-dev"
 source="http://us1.samba.org/samba/ftp/stable/samba-$pkgver.tar.gz
-	fix-libreplace.patch
-	musl-fix-headers.patch
 	uclibc-xattr-create.patch
-	wrappers.patch
-	heimdal-1.5-api.patch
 	domain.patch
+	getpwent_r.patch
+
 	samba.initd
 	samba.confd
 	samba.logrotate
@@ -63,7 +58,6 @@ prepare() {
 		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
 		esac
 	done
-	rm source4/heimdal_build/krb5-types.h || return 1
 }
 
 build() {
@@ -84,6 +78,7 @@ build() {
 		--without-pam \
 		--without-systemd \
 		--with-ads \
+		--with-system-mitkrb5 \
 		--with-shared-modules=idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2,pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4,auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4 \
 		--enable-cups \
 		--without-gettext \
@@ -94,7 +89,7 @@ build() {
 
 package() {
 	cd "$_builddir"
-	make DESTDIR="$pkgdir" install
+	make DESTDIR="$pkgdir" install || return 1
 
 	install -d "$pkgdir"/var/log/samba \
 		"$pkgdir"/usr/share/doc/samba \
@@ -105,6 +100,9 @@ package() {
 	install -m 0744 packaging/printing/smbprint "$pkgdir"/usr/bin/smbprint \
 		|| return 1
 	install -Dm644 "$srcdir"/samba.logrotate "$pkgdir"/etc/logrotate.d/samba
+
+	# needed only by DC
+	rm -r "$pkgdir"/usr/lib/samba/ldb
 }
 
 initscript() {
@@ -131,7 +129,6 @@ common() {
 	cd "$pkgdir"
 	_mv_files \
 		etc \
-		usr/share/samba/codepages \
 		var \
 		|| return 1
 	install -d -m700 "$subpkgdir"/var/lib/samba/private
@@ -165,17 +162,15 @@ _common_tools() {
 		|| return 1
 }
 
-_common_libs() {
+_common_server_libs() {
 	pkgdesc="Samba libraries shared by common-tools and servers"
 	depends=""
 	cd "$pkgdir"
 	_mv_files \
-		usr/lib/libnetapi.so.0 \
-		usr/lib/libsmbldap.so.0 \
+		usr/lib/libnetapi.so.* \
+		usr/lib/libsmbldap.so.* \
 		usr/lib/samba/libads-samba4.so \
 		usr/lib/samba/libauth-samba4.so \
-		usr/lib/samba/libdfs-server-ad-samba4.so \
-		usr/lib/samba/libndr-samba4.so \
 		usr/lib/samba/libnpa-tstream-samba4.so \
 		usr/lib/samba/libprinting-migrate-samba4.so \
 		usr/lib/samba/libsmbd-base-samba4.so \
@@ -185,6 +180,24 @@ _common_libs() {
 		|| return 1
 }
 
+_common_libs() {
+	pkgdesc="Samba libraries shared by common-tools, server and clients"
+	depends=""
+	cd "$pkgdir"
+	_mv_files \
+		usr/lib/samba/libcli-spoolss-samba4.so \
+		usr/lib/samba/libtrusts-util-samba4.so \
+		usr/lib/libdcerpc-binding.so.* \
+		usr/lib/libsamba-passdb.so.* \
+		usr/lib/samba/libdcerpc-samba-samba4.so \
+		usr/lib/samba/liblibcli-lsa3-samba4.so \
+		usr/lib/samba/liblibcli-netlogon3-samba4.so \
+		usr/lib/samba/liblibsmb-samba4.so \
+		usr/lib/samba/libmsrpc3-samba4.so \
+		usr/lib/samba/libndr-samba4.so \
+		|| return 1
+}
+
 libsmbclient() {
 	pkgdesc="The SMB client library"
 	depends=
@@ -194,6 +207,22 @@ libsmbclient() {
 		|| return 1
 }
 
+_client_libs() {
+	pkgdesc="Samba libraries used by clients"
+	depends=
+	cd "$pkgdir"
+	_mv_files \
+		usr/lib/libdcerpc.so.* \
+		usr/lib/samba/libcli-ldap-samba4.so \
+		usr/lib/samba/libcmdline-credentials-samba4.so \
+		usr/lib/samba/libevents-samba4.so \
+		usr/lib/samba/libhttp-samba4.so \
+		usr/lib/samba/libnetif-samba4.so \
+		usr/lib/samba/libregistry-samba4.so \
+		usr/lib/samba/libsmbclient-raw-samba4.so \
+		|| return 1
+}
+
 client() {
 	pkgdesc="Samba client programs"
 	depends="$pkgname-common=$pkgver-r$pkgrel"
@@ -216,74 +245,27 @@ client() {
 		usr/bin/smbget \
 		usr/bin/smbprint \
 		usr/bin/smbspool \
-		usr/bin/smbta-util \
 		usr/bin/smbtar \
 		usr/bin/smbtree \
-		usr/lib/libregistry.so.* \
-		usr/lib/samba/libcmdline-credentials-samba4.so \
-		|| return 1
-}
-
-_client_libs() {
-	pkgdesc="Samba libraries shared by clients and DC"
-	depends=
-	cd "$pkgdir"
-	_mv_files \
-		usr/lib/libdcerpc.so.* \
-		usr/lib/libsmbclient-raw.so.* \
-		usr/lib/samba/libcli-ldap-samba4.so \
-		usr/lib/samba/libhttp-samba4.so \
-		usr/lib/samba/libnetif-samba4.so \
-		|| return 1
-}
-
-dc() {
-	pkgdesc="Samba AD Domain Controller"
-	depends="py-samba=$pkgver-r$pkgrel $pkgname-common=$pkgver-r$pkgrel"
-	cd "$pkgdir"
-	_mv_files \
-		usr/bin/samba-tool \
-		usr/sbin/samba* \
-		usr/lib/mit_samba.so \
-		usr/lib/samba/ldb \
-		usr/lib/samba/libpac-samba4.so \
-		usr/lib/samba/gensec \
-		\
-		usr/lib/samba/bind9 \
-		usr/lib/samba/process_model \
-		usr/lib/samba/service \
-		usr/share/samba/setup \
-		|| return 1
-}
-
-_dc_libs() {
-	pkgdesc="Samba AD Domain Controller libraries"
-	depends=
-	cd "$pkgdir"
-	_mv_files \
-		usr/lib/samba/libntvfs-samba4.so \
-		usr/lib/samba/libprocess-model-samba4.so \
-		usr/lib/samba/libservice-samba4.so \
-		usr/lib/samba/libshares-samba4.so \
-		\
-		usr/lib/libdcerpc-atsvc.so.* \
-		usr/lib/libdcerpc-samr.so.* \
-		usr/lib/libdcerpc-server.so.* \
-		usr/lib/libsamba-policy.so.* \
-		usr/lib/samba/libdnsserver-common-samba4.so \
-		usr/lib/samba/libdsdb-module-samba4.so \
+		usr/libexec/samba/smbspool_krb5_wrapper \
 		|| return 1
 }
 
+#		usr/lib/samba/libLIBWBCLIENT-OLD-samba4.so \
+#		usr/lib/samba/libauth-unix-token-samba4.so \
+#		usr/lib/samba/libauth4-samba4.so \
 _server_libs() {
-	pkgdesc="Samba libraries shared by server and DC"
+	pkgdesc="Samba libraries shared by server and windbind"
 	depends=
 	cd "$pkgdir"
 	_mv_files \
-		usr/lib/samba/libLIBWBCLIENT-OLD-samba4.so \
-		usr/lib/samba/libauth-unix-token-samba4.so \
-		usr/lib/samba/libauth4-samba4.so \
-		usr/lib/samba/libposix-eadb-samba4.so \
+		usr/lib/samba/libMESSAGING-samba4.so \
+		usr/lib/samba/libdcerpc-samba4.so \
+		usr/lib/samba/libidmap-samba4.so \
+		usr/lib/samba/libnss-info-samba4.so \
+		\
+		usr/lib/samba/libxattr-tdb-samba4.so \
+		usr/lib/samba/libnon-posix-acls-samba4.so \
 		|| return 1
 }
 
@@ -295,14 +277,7 @@ winbind() {
 		winbind.post-upgrade"
 	cd "$pkgdir"
 	_mv_files \
-		usr/lib/samba/libMESSAGING-samba4.so \
-		usr/lib/samba/libcluster-samba4.so \
-		usr/lib/samba/libdcerpc-samba4.so \
-		\
-		usr/lib/samba/libidmap-samba4.so \
-		usr/lib/samba/libnss-info-samba4.so \
 		usr/sbin/winbindd \
-		\
 		usr/lib/samba/idmap \
 		usr/lib/samba/nss_info \
 		|| return 1
@@ -316,6 +291,7 @@ libwbclient() {
 	cd "$pkgdir"
 	_mv_files \
 		usr/lib/libwbclient.so.* \
+		usr/lib/samba/libreplace-samba4.so \
 		usr/lib/samba/libwinbind-client-samba4.so \
 		|| return 1
 }
@@ -361,14 +337,7 @@ server() {
 		usr/bin/smbstatus \
 		\
 		usr/lib/samba/auth \
-		usr/lib/samba/hdb \
 		usr/lib/samba/vfs \
-		\
-		usr/lib/samba/libxattr-tdb-samba4.so \
-		usr/lib/samba/libdb-glue-samba4.so \
-		usr/lib/samba/libnon-posix-acls-samba4.so \
-		usr/lib/samba/libtdb-compat-samba4.so \
-		usr/lib/samba/libHDB-SAMBA4-samba4.so \
 		|| return 1
 }
 
@@ -400,17 +369,11 @@ _test() {
 		usr/bin/masktest \
 		usr/bin/ndrdump \
 		usr/bin/smbtorture \
-		usr/lib/libtorture.so.* \
-		usr/lib/samba/libdlz-bind9-for-torture-samba4.so \
-		|| return 1
-}
-
-_ntdb_tools() {
-	pkgdesc="Samba ntdb tools"
-	depends=""
-	cd "$pkgdir"
-	_mv_files \
-		usr/bin/ntdb* \
+		usr/lib/samba/libcluster-samba4.so \
+		usr/lib/samba/libdsdb-module-samba4.so \
+		usr/lib/samba/libshares-samba4.so \
+		usr/lib/samba/libsmbpasswdparser-samba4.so \
+		usr/lib/samba/libtorture-samba4.so \
 		|| return 1
 }
 
@@ -419,100 +382,85 @@ libs() {
 	depends=
 	cd "$pkgdir"
 	_mv_files \
-		usr/lib/samba/libcli-spoolss-samba4.so \
-		usr/lib/samba/libtrusts-util-samba4.so \
-		usr/lib/libsamba-passdb.so.* \
-		usr/lib/libsmbconf.so.* \
-		usr/lib/samba/libCHARSET3-samba4.so \
-		usr/lib/samba/libgse-samba4.so \
-		usr/lib/samba/liblibcli-lsa3-samba4.so \
-		usr/lib/samba/liblibcli-netlogon3-samba4.so \
-		usr/lib/samba/liblibsmb-samba4.so \
-		usr/lib/samba/libmsrpc3-samba4.so \
-		usr/lib/samba/libpopt-samba3-samba4.so \
-		usr/lib/samba/libsamba-cluster-support-samba4.so \
-		usr/lib/samba/libsamba3-util-samba4.so \
-		usr/lib/samba/libsecrets3-samba4.so \
-		usr/lib/samba/libsmbd-shim-samba4.so \
-		usr/lib/samba/libsmbregistry-samba4.so \
-		usr/lib/samba/libutil-cmdline-samba4.so \
-		usr/lib/samba/libutil-reg-samba4.so \
-		usr/lib/libdcerpc-binding.so.* \
-		usr/lib/libgensec.so.* \
 		usr/lib/libndr-krb5pac.so.* \
 		usr/lib/libndr-nbt.so.* \
 		usr/lib/libndr-standard.so.* \
 		usr/lib/libndr.so.* \
 		usr/lib/libsamba-credentials.so.* \
+		usr/lib/libsamba-errors.so.* \
 		usr/lib/libsamba-hostconfig.so.* \
 		usr/lib/libsamba-util.so.* \
 		usr/lib/libsamdb.so.* \
+		usr/lib/libsmbconf.so.* \
+		usr/lib/libtevent-unix-util.so.* \
 		usr/lib/libtevent-util.so.* \
+		usr/lib/samba/libCHARSET3-samba4.so \
 		usr/lib/samba/libaddns-samba4.so \
 		usr/lib/samba/libasn1util-samba4.so \
 		usr/lib/samba/libauth-sam-reply-samba4.so \
 		usr/lib/samba/libauthkrb5-samba4.so \
-		usr/lib/samba/libccan-samba4.so \
 		usr/lib/samba/libcli-cldap-samba4.so \
 		usr/lib/samba/libcli-ldap-common-samba4.so \
 		usr/lib/samba/libcli-nbt-samba4.so \
 		usr/lib/samba/libcli-smb-common-samba4.so \
 		usr/lib/samba/libcliauth-samba4.so \
 		usr/lib/samba/libdbwrap-samba4.so \
-		usr/lib/samba/libdcerpc-samba-samba4.so \
-		usr/lib/samba/liberrors-samba4.so \
-		usr/lib/samba/libevents-samba4.so \
 		usr/lib/samba/libflag-mapping-samba4.so \
+		usr/lib/samba/libgenrand-samba4.so \
+		usr/lib/samba/libgensec-samba4.so \
+		usr/lib/samba/libgse-samba4.so \
 		usr/lib/samba/libinterfaces-samba4.so \
+		usr/lib/samba/libiov-buf-samba4.so \
 		usr/lib/samba/libkrb5samba-samba4.so \
 		usr/lib/samba/libldbsamba-samba4.so \
+		usr/lib/samba/libmessages-dgm-samba4.so \
+		usr/lib/samba/libmessages-util-samba4.so \
+		usr/lib/samba/libmsghdr-samba4.so \
 		usr/lib/samba/libndr-samba-samba4.so \
-		usr/lib/samba/libntdb.so.* \
-		usr/lib/samba/libreplace-samba4.so \
+		usr/lib/samba/libpopt-samba3-samba4.so \
+		usr/lib/samba/libsamba-cluster-support-samba4.so \
 		usr/lib/samba/libsamba-debug-samba4.so \
 		usr/lib/samba/libsamba-modules-samba4.so \
 		usr/lib/samba/libsamba-security-samba4.so \
 		usr/lib/samba/libsamba-sockets-samba4.so \
+		usr/lib/samba/libsamba3-util-samba4.so \
 		usr/lib/samba/libsamdb-common-samba4.so \
+		usr/lib/samba/libsecrets3-samba4.so \
+		usr/lib/samba/libserver-id-db-samba4.so \
 		usr/lib/samba/libserver-role-samba4.so \
 		usr/lib/samba/libsmb-transport-samba4.so \
+		usr/lib/samba/libsmbd-shim-samba4.so \
+		usr/lib/samba/libsmbregistry-samba4.so \
 		usr/lib/samba/libsocket-blocking-samba4.so \
+		usr/lib/samba/libsys-rw-samba4.so \
+		usr/lib/samba/libtalloc-report-samba4.so \
 		usr/lib/samba/libtdb-wrap-samba4.so \
-		usr/lib/samba/libutil-ntdb-samba4.so \
+		usr/lib/samba/libtime-basic-samba4.so \
+		usr/lib/samba/libutil-cmdline-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/libsmbpasswdparser-samba4.so \
 		|| return 1
 }
 
-md5sums="38e94eeca48a34f0a12ba6397444d67e  samba-4.2.9.tar.gz
-b8c06c1a37bce8a7feea3b6896483da0  fix-libreplace.patch
-2386589c1e2cbcf95b644554b8a2f4d1  musl-fix-headers.patch
+md5sums="03a65a3adf08ceb1636ad59d234d7f9d  samba-4.4.2.tar.gz
 f9ee1f13e59c60ee7e481f51329bf7d4  uclibc-xattr-create.patch
-395a84482d72136384050d0bc7f969b5  wrappers.patch
-6eb6a33023e7a71a222886be3ee2453d  heimdal-1.5-api.patch
 f0d10a87a2067d0d3accdcb6c9b64ea9  domain.patch
+6a220b2471764e6e189829ac9cc81996  getpwent_r.patch
 c1702b2ad7b68f7d704f50a1bfef3ad3  samba.initd
 c150433426e18261e6e3eed3930e1a76  samba.confd
 b7cafabfb4fa5b3ab5f2e857d8d1c733  samba.logrotate"
-sha256sums="ba0229485e8bebac22bd3ae98b1e393e7127f3a958cc90e205a6d752e575354c  samba-4.2.9.tar.gz
-13617f691c648b44867c1a76d8be7c185021e8a8f3b695f8689a9f6244e65827  fix-libreplace.patch
-0cf7e4eadf442422434d2b0fb43193f3a79f2887e32432f12cb6aed1941e807a  musl-fix-headers.patch
+sha256sums="eaecd41a85ebb9507b8db9856ada2a949376e9d53cf75664b5493658f6e5926a  samba-4.4.2.tar.gz
 dcf6a7118297d6567d8ff31c9eff1afffdf2f548db36fd17d00cdf0ffc555fe3  uclibc-xattr-create.patch
-6bbaeb3c68c64023039bb9a66fd82766ac6d77cf56ac8986eebd6f8a9fce512b  wrappers.patch
-d4880c4ccceba5017d64cead644f8f363f22d6e91f2c2e1687dd7b45e6ca27e0  heimdal-1.5-api.patch
 5554fff0df5d31e67a705c60d97e187b4109c79c8a4063c8ea7ebe1e0e4a7e7e  domain.patch
+7956274b412a268339abb63f8e1bd63b5049cd4ab7c6270235d9d0b9bcf6c81a  getpwent_r.patch
 3866a15ab73a9fd704ec8315cff48caf98937c490ba8dc40ce3701cef5ca22c9  samba.initd
 1d12f98a7727967b04eb123109b34cfffef320822dc0e8059286b6e3394c3fc0  samba.confd
 4c2b7d529126b2fc4f62fb09d99e49a87632d723a2d9d289a61e37dd84145be1  samba.logrotate"
-sha512sums="438196f268c0ca0b83e8e7e9eb8e9a8b503d6408d5e2b0dca1d041185e06cfc08147122d5495b72c46ce58dc3cb4be4766551f0101c69b2620b89e749d89ad98  samba-4.2.9.tar.gz
-4adbbeb75de6c55199e10f284e741ee252f403b7809251caf4baf378669770be01d469b23e12f8119ed5dca5080dd45bda1b5b78cc7a791be44c1eb6fb8c0fa2  fix-libreplace.patch
-8d2e1be5f020d0558917f328770b289d0a41836616952d0d3208cecd457df3649f1357a2d35dc54123559ab6a1b720f3189286c65cee90b02ccbae7d676ae383  musl-fix-headers.patch
+sha512sums="ba965ee32d9cfd9c54ef523fc2ed4179000de956a563fdd91625d2bbcf6f07dd787c8b7e3dc4c824f46c87eea0aa97e7123d759992080fdfb2fde8554d18e3b7  samba-4.4.2.tar.gz
 b43809d7ecbf3968f5154c2ded6ed47dae36921f1895ea98bcce50557eb2ad39b736345ffb4214655ed3154c143c20431d248cde828285380bafbf4d2627df9b  uclibc-xattr-create.patch
-1e22dfb4e5db22af27f683d9fdd040a9f568b198b55095dd2dfdec81d9eb8e23d965c92663855ff02ba32cc62b97ca6fbe2cc79dd843e223b4be74bfb3cce71f  wrappers.patch
-86181f661bca29d698be3a402a915e35ba4289fd3c34e6e2f4f151125b5f169e729189b48d84472d64857cbcf580ad767077bc791e3b6a1b1c313dc96b3e00ae  heimdal-1.5-api.patch
 62d373dbaee75121a1d73f2c09cdca7239705808ff807b171d1d5a28fd4ffc66bdb52494b62786d7aaba8aeece5c08433b532ca96a28d712452fe9daac8d8d2e  domain.patch
+0d4fd9862191554dc9c724cec0b94fd19afbfd0c4ed619e4c620c075e849cb3f3d44db1e5f119d890da23a3dd0068d9873703f3d86c47b91310521f37356208b  getpwent_r.patch
 6bee83aab500f27248b315d8a5f567940d7232269b021d801b3d51c20ed9e4aad513ee0117f356fb388014a63a145beacb55307ef9addbf7997987304b548fcf  samba.initd
 4faf581ecef3ec38319e3c4ab6d3995c51fd7ba83180dc5553a2ff4dfb92efadb43030c543292130c4ed0c281dc0972c6973d52d48062c5edb39bb1c4bbb6dd6  samba.confd
 f88ebe59ca3a9e9b77dd5993c13ef3e73a838efb8ed858088b464a330132d662f33e25c27819e38835389dee23057a3951de11bae1eef55db8ff5e1ec6760053  samba.logrotate"
diff --git a/main/samba/fix-libreplace.patch b/main/samba/fix-libreplace.patch
deleted file mode 100644
index cfe24757ecbcbe95c80fc9a93f26d9af1cffff25..0000000000000000000000000000000000000000
--- a/main/samba/fix-libreplace.patch
+++ /dev/null
@@ -1,84 +0,0 @@
---- talloc-2.1.0.orig/lib/replace/replace.c
-+++ talloc-2.1.0/lib/replace/replace.c
-@@ -508,28 +508,6 @@
- # error "You need a strtoll function"
- #endif
- }
--#else
--#ifdef HAVE_BSD_STRTOLL
--#ifdef HAVE_STRTOQ
--long long int rep_strtoll(const char *str, char **endptr, int base)
--{
--	long long int nb = strtoq(str, endptr, base);
--	/* In linux EINVAL is only returned if base is not ok */
--	if (errno == EINVAL) {
--		if (base == 0 || (base >1 && base <37)) {
--			/* Base was ok so it's because we were not
--			 * able to make the convertion.
--			 * Let's reset errno.
--			 */
--			errno = 0;
--		}
--	}
--	return nb;
--}
--#else
--#error "You need the strtoq function"
--#endif /* HAVE_STRTOQ */
--#endif /* HAVE_BSD_STRTOLL */
- #endif /* HAVE_STRTOLL */
- 
- 
-@@ -546,28 +524,6 @@
- # error "You need a strtoull function"
- #endif
- }
--#else
--#ifdef HAVE_BSD_STRTOLL
--#ifdef HAVE_STRTOUQ
--unsigned long long int rep_strtoull(const char *str, char **endptr, int base)
--{
--	unsigned long long int nb = strtouq(str, endptr, base);
--	/* In linux EINVAL is only returned if base is not ok */
--	if (errno == EINVAL) {
--		if (base == 0 || (base >1 && base <37)) {
--			/* Base was ok so it's because we were not
--			 * able to make the convertion.
--			 * Let's reset errno.
--			 */
--			errno = 0;
--		}
--	}
--	return nb;
--}
--#else
--#error "You need the strtouq function"
--#endif /* HAVE_STRTOUQ */
--#endif /* HAVE_BSD_STRTOLL */
- #endif /* HAVE_STRTOULL */
- 
- #ifndef HAVE_SETENV
---- talloc-2.1.0.orig/lib/replace/replace.h
-+++ talloc-2.1.0/lib/replace/replace.h
-@@ -355,21 +355,11 @@
- #ifndef HAVE_STRTOLL
- #define strtoll rep_strtoll
- long long int rep_strtoll(const char *str, char **endptr, int base);
--#else
--#ifdef HAVE_BSD_STRTOLL
--#define strtoll rep_strtoll
--long long int rep_strtoll(const char *str, char **endptr, int base);
- #endif
--#endif
- 
- #ifndef HAVE_STRTOULL
- #define strtoull rep_strtoull
- unsigned long long int rep_strtoull(const char *str, char **endptr, int base);
--#else
--#ifdef HAVE_BSD_STRTOLL /* yes, it's not HAVE_BSD_STRTOULL */
--#define strtoull rep_strtoull
--unsigned long long int rep_strtoull(const char *str, char **endptr, int base);
--#endif
- #endif
- 
- #ifndef HAVE_FTRUNCATE
diff --git a/main/samba/getpwent_r.patch b/main/samba/getpwent_r.patch
new file mode 100644
index 0000000000000000000000000000000000000000..99ebedacfb6f12136dd4db85ff838067f90a910b
--- /dev/null
+++ b/main/samba/getpwent_r.patch
@@ -0,0 +1,80 @@
+diff --git a/source4/torture/local/nss_tests.c b/source4/torture/local/nss_tests.c
+index 2cd6122..04f13c6 100644
+--- a/source4/torture/local/nss_tests.c
++++ b/source4/torture/local/nss_tests.c
+@@ -247,7 +247,6 @@ static bool test_getgrnam_r(struct torture_context *tctx,
+ 	return true;
+ }
+ 
+-
+ static bool test_getgrgid(struct torture_context *tctx,
+ 			  gid_t gid,
+ 			  struct group *grp_p)
+@@ -333,6 +332,7 @@ static bool test_enum_passwd(struct torture_context *tctx,
+ 	return true;
+ }
+ 
++#if HAVE_GETPWENT_R
+ static bool test_enum_r_passwd(struct torture_context *tctx,
+ 			       struct passwd **pwd_array_p,
+ 			       size_t *num_pwd_p)
+@@ -381,6 +381,7 @@ static bool test_enum_r_passwd(struct torture_context *tctx,
+ 
+ 	return true;
+ }
++#endif
+ 
+ static bool torture_assert_passwd_equal(struct torture_context *tctx,
+ 					const struct passwd *p1,
+@@ -432,7 +433,7 @@ static bool test_passwd_r(struct torture_context *tctx)
+ 	struct passwd *pwd, pwd1, pwd2;
+ 	size_t num_pwd;
+ 
+-	torture_assert(tctx, test_enum_r_passwd(tctx, &pwd, &num_pwd),
++	torture_assert(tctx, test_enum_passwd(tctx, &pwd, &num_pwd),
+ 						"failed to enumerate passwd");
+ 
+ 	for (i=0; i < num_pwd; i++) {
+@@ -460,7 +461,7 @@ static bool test_passwd_r_cross(struct torture_context *tctx)
+ 	struct passwd *pwd, pwd1, pwd2, pwd3, pwd4;
+ 	size_t num_pwd;
+ 
+-	torture_assert(tctx, test_enum_r_passwd(tctx, &pwd, &num_pwd),
++	torture_assert(tctx, test_enum_passwd(tctx, &pwd, &num_pwd),
+ 						"failed to enumerate passwd");
+ 
+ 	for (i=0; i < num_pwd; i++) {
+@@ -531,6 +532,7 @@ static bool test_enum_group(struct torture_context *tctx,
+ 	return true;
+ }
+ 
++#if HAVE_GETGRENT_R
+ static bool test_enum_r_group(struct torture_context *tctx,
+ 			      struct group **grp_array_p,
+ 			      size_t *num_grp_p)
+@@ -579,6 +581,7 @@ static bool test_enum_r_group(struct torture_context *tctx,
+ 
+ 	return true;
+ }
++#endif
+ 
+ static bool torture_assert_group_equal(struct torture_context *tctx,
+ 				       const struct group *g1,
+@@ -635,7 +638,7 @@ static bool test_group_r(struct torture_context *tctx)
+ 	struct group *grp, grp1, grp2;
+ 	size_t num_grp;
+ 
+-	torture_assert(tctx, test_enum_r_group(tctx, &grp, &num_grp),
++	torture_assert(tctx, test_enum_group(tctx, &grp, &num_grp),
+ 					       "failed to enumerate group");
+ 
+ 	for (i=0; i < num_grp; i++) {
+@@ -663,7 +666,7 @@ static bool test_group_r_cross(struct torture_context *tctx)
+ 	struct group *grp, grp1, grp2, grp3, grp4;
+ 	size_t num_grp;
+ 
+-	torture_assert(tctx, test_enum_r_group(tctx, &grp, &num_grp),
++	torture_assert(tctx, test_enum_group(tctx, &grp, &num_grp),
+ 					       "failed to enumerate group");
+ 
+ 	for (i=0; i < num_grp; i++) {
diff --git a/main/samba/heimdal-1.5-api.patch b/main/samba/heimdal-1.5-api.patch
deleted file mode 100644
index 20d421e0da5ce5456404802fece7b0fdb682fdb4..0000000000000000000000000000000000000000
--- a/main/samba/heimdal-1.5-api.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-
-this was triggered due to this upstream change:
-https://git.samba.org/?p=samba.git;a=commit;h=83fbdc81cdfe6c018bb97d2d482ca09389b2c7af
-
-heimdal 1.5 changed the api:
-https://github.com/heimdal/heimdal/commit/c757eb7fb04a9b0ca883ddb72c1bc75bf5d814f3
-
-proper fix means the configure script should check which to use
-
---- ./source4/kdc/kdc.c.orig
-+++ ./source4/kdc/kdc.c
-@@ -967,9 +967,9 @@
- 	 * The old behavior in the _kdc_get_preferred_key()
- 	 * function is use_strongest_server_key=TRUE.
- 	 */
--	kdc->config->as_use_strongest_session_key = false;
-+	kdc->config->tgt_use_strongest_session_key = false;
- 	kdc->config->preauth_use_strongest_session_key = false;
--	kdc->config->tgs_use_strongest_session_key = false;
-+	kdc->config->svc_use_strongest_session_key = false;
- 	kdc->config->use_strongest_server_key = true;
- 
- 	/* Register hdb-samba4 hooks for use as a keytab */
diff --git a/main/samba/musl-fix-headers.patch b/main/samba/musl-fix-headers.patch
deleted file mode 100644
index ccfe39afca78d56f68bcb10607a2a6f83809e1c6..0000000000000000000000000000000000000000
--- a/main/samba/musl-fix-headers.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- samba-4.1.3/source3/include/samba_linux_quota.h.orig
-+++ samba-4.1.3/source3/include/samba_linux_quota.h
-@@ -227,7 +227,7 @@
- 	#endif
- #endif
- 
--long quotactl __P((int, const char *, qid_t, caddr_t));
-+long quotactl(int, const char *, qid_t, caddr_t);
- 
- #endif /* _QUOTA_LINUX */
- 
diff --git a/main/samba/wrappers.patch b/main/samba/wrappers.patch
deleted file mode 100644
index 56858738d4106f4520262dd214e3426e75c1d630..0000000000000000000000000000000000000000
--- a/main/samba/wrappers.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-from upstream:
-https://git.samba.org/?p=samba.git;a=commit;h=c0a463d94abb5c50eaca7b1d402c979684f96a97
-
---- ./wscript.orig
-+++ ./wscript
-@@ -156,15 +156,16 @@
-     conf.RECURSE('lib/ntdb')
-     conf.RECURSE('lib/util/charset')
-     conf.RECURSE('source4/auth')
--    conf.RECURSE('lib/nss_wrapper')
-     conf.RECURSE('nsswitch')
--    conf.RECURSE('lib/socket_wrapper')
--    conf.RECURSE('lib/uid_wrapper')
-     conf.RECURSE('lib/subunit/c')
-     conf.RECURSE('libcli/smbreadline')
-     conf.RECURSE('lib/crypto')
-     conf.RECURSE('pidl')
-     conf.RECURSE('selftest')
-+    if conf.CONFIG_GET('ENABLE_SELFTEST'):
-+        conf.RECURSE('lib/nss_wrapper')
-+        conf.RECURSE('lib/socket_wrapper')
-+        conf.RECURSE('lib/uid_wrapper')
-     conf.RECURSE('source3')
-     conf.RECURSE('lib/texpect')
-     if conf.env.with_ctdb:
---- ./wscript_build.orig
-+++ ./wscript_build
-@@ -2,6 +2,7 @@
- 
- # top level waf build script for samba4
- 
-+import Options
- import os
- srcdir = "."
- 
-@@ -70,9 +71,12 @@
- bld.RECURSE('source4/lib/events')
- bld.RECURSE('source4/lib/cmdline')
- bld.RECURSE('source4/lib/http')
--bld.RECURSE('lib/socket_wrapper')
--bld.RECURSE('lib/nss_wrapper')
--bld.RECURSE('lib/uid_wrapper')
-+if bld.CONFIG_GET('NSS_WRAPPER'):
-+    bld.RECURSE('lib/nss_wrapper')
-+if bld.CONFIG_GET('SOCKET_WRAPPER'):
-+    bld.RECURSE('lib/socket_wrapper')
-+if bld.CONFIG_GET('UID_WRAPPER'):
-+    bld.RECURSE('lib/uid_wrapper')
- if bld.CHECK_FOR_THIRD_PARTY():
-     bld.RECURSE('third_party/zlib')
-     bld.RECURSE('third_party/popt')