ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/libs/openldap/Config.in b/external/subpack/libs/openldap/Config.in
new file mode 100644
index 0000000..a886bb5
--- /dev/null
+++ b/external/subpack/libs/openldap/Config.in
@@ -0,0 +1,44 @@
+if PACKAGE_libopenldap
+	config OPENLDAP_DEBUG
+		bool "Enable debugging information"
+		default y
+		help
+		  Enable debugging information. This option must be enabled
+		  for the loglevel directive to work.
+	config OPENLDAP_CRYPT
+		bool "Crypt(3) passwords support"
+		default n
+		help
+		  With crypt(3) password storage scheme enabled, OpenLDAP can
+		  receive and store SHA-256 and SHA-512 password hashes from
+		  Samba AD-DC. If this option is disabled, synchronization of
+		  passwords between Samba AD-DC (v4.5 and above) and OpenLDAP
+		  requires use of cleartext passwords.
+		  To enable crypt(3) password synchronization functionality:
+		  1. Re-include crypt(3) support in OpenWRT by enabling 'Include
+		  crypt() support for SHA256, SHA512 and Blowfish ciphers' option
+		  in "Advanced configuration options (for developers)" ->
+		  "Toolchain Options".
+		  2. Provision AD-DC with 'password hash userPassword schemes'
+		  option. For more information, see smb.conf manpage for details
+		  on 'password hash userPassword schemes'.
+		  3. Use a script to synchronize passwords from AD-DC to
+		  OpenLDAP. See samba-tool manpage for 'user syncpasswords'.
+	config OPENLDAP_MONITOR
+		bool "Enable monitor backend"
+		default n
+		help
+		  Enable monitor backend to obtain information about the running
+		  status of the daemon. See OpenLDAP documentation for more
+		  information.
+	config OPENLDAP_DB47
+		bool "Berkeley DB support"
+		default n
+		help
+		  Enable Berkeley DB support (BDB).
+	config OPENLDAP_ICU
+		bool "ICU support"
+		default n
+		help
+		  Enable ICU (International Components for Unicode) support.
+endif
diff --git a/external/subpack/libs/openldap/Makefile b/external/subpack/libs/openldap/Makefile
new file mode 100644
index 0000000..f23d122
--- /dev/null
+++ b/external/subpack/libs/openldap/Makefile
@@ -0,0 +1,182 @@
+#
+# Copyright (C) 2006-2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=openldap
+PKG_VERSION:=2.6.8
+PKG_RELEASE:=2
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
+PKG_SOURCE_URL:=https://mirror.eu.oneandone.net/software/openldap/openldap-release/ \
+	https://www.openldap.org/software/download/OpenLDAP/openldap-release/
+PKG_HASH:=48969323e94e3be3b03c6a132942dcba7ef8d545f2ad35401709019f696c3c4e
+PKG_LICENSE:=OLDAP-2.8
+PKG_LICENSE_FILES:=LICENSE
+PKG_CPE_ID:=cpe:/a:openldap:openldap
+
+PKG_FIXUP:=autoreconf
+
+# Fixes the following:
+# libtool: Version mismatch error.  This is libtool 2.4.2, but the
+# libtool: definition of this LT_INIT comes from libtool 2.4.6.
+# libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2
+# libtool: and run autoconf again.
+PKG_REMOVE_FILES:=build/ltversion.m4
+
+PKG_CONFIG_DEPENDS := \
+        CONFIG_OPENLDAP_DEBUG \
+        CONFIG_OPENLDAP_CRYPT \
+        CONFIG_OPENLDAP_MONITOR \
+        CONFIG_OPENLDAP_DB47 \
+        CONFIG_OPENLDAP_ICU
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libopenldap/Default
+  SECTION:=net
+  CATEGORY:=Network
+  SUBMENU:=OpenLDAP
+  TITLE:=LDAP directory suite
+  URL:=https://www.openldap.org/
+  MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+endef
+
+define Package/libopenldap
+  $(call Package/libopenldap/Default)
+  MENU:=1
+  DEPENDS:=+libopenssl +libsasl2 +libpthread +libuuid +OPENLDAP_DB47:libdb47 +OPENLDAP_ICU:icu
+  TITLE+= (libraries)
+endef
+
+define Package/openldap/config
+  source "$(SOURCE)/Config.in"
+endef
+
+define Package/libopenldap/description
+OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol (LDAP). This package contains the shared LDAP client libraries, needed by other programs.
+endef
+
+define Package/libopenldap/conffiles
+/etc/openldap/ldap.conf
+endef
+
+define Package/openldap-utils
+  $(call Package/libopenldap/Default)
+  DEPENDS:=+libopenldap
+  TITLE+= (utilities)
+endef
+
+define Package/openldap-utils/description
+This package contains client programs required to access LDAP servers.
+endef
+
+define Package/openldap-server
+  $(call Package/libopenldap/Default)
+  DEPENDS:=+libopenldap +libuuid
+  TITLE+= (server)
+endef
+
+define Package/openldap-server/description
+This package contains server programs required to provide LDAP services.
+endef
+
+define Package/openldap-server/conffiles
+/etc/openldap/slapd.conf
+/etc/init.d/ldap
+endef
+
+TARGET_CFLAGS += $(FPIC) -lpthread \
+	-DURANDOM_DEVICE=\\\"/dev/urandom\\\"
+
+CONFIGURE_ARGS += \
+	--enable-dynamic \
+	--enable-syslog \
+	--with-cyrus-sasl \
+	--with-threads \
+	--with-tls \
+	--with-yielding-select="yes" \
+	--enable-null \
+	--disable-relay
+
+
+ifdef CONFIG_OPENLDAP_CRYPT
+	CONFIGURE_ARGS+= --enable-crypt
+else
+	CONFIGURE_ARGS+= --disable-crypt
+endif
+
+ifdef CONFIG_OPENLDAP_MONITOR
+	CONFIGURE_ARGS+= --enable-monitor
+else
+	CONFIGURE_ARGS+= --disable-monitor
+endif
+
+ifdef CONFIG_OPENLDAP_DEBUG
+	CONFIGURE_ARGS+= --enable-debug
+else
+	CONFIGURE_ARGS+= --disable-debug
+endif
+
+ifdef CONFIG_OPENLDAP_DB47
+	CONFIGURE_ARGS+= \
+		--enable-bdb \
+		--enable-hdb
+else
+	CONFIGURE_ARGS+= \
+		--disable-bdb \
+		--disable-hdb
+endif
+
+ifndef CONFIG_OPENLDAP_ICU
+	CONFIGURE_VARS += \
+		ol_cv_lib_icu="no"
+endif
+
+define Build/Compile
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		DESTDIR="$(PKG_INSTALL_DIR)" \
+		HOSTCC="$(HOSTCC)" \
+		depend all install
+	cd $(PKG_BUILD_DIR)/libraries/liblmdb && $(MAKE) $(CONFIGURE_VARS)
+endef
+
+define Build/InstallDev
+	$(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib
+	$(CP) $(PKG_INSTALL_DIR)/usr/include/{lber,ldap}*.h $(1)/usr/include/
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{lber,ldap}*.{a,so*} $(1)/usr/lib/
+endef
+
+define Package/libopenldap/install
+	$(INSTALL_DIR) $(1)/etc/openldap $(1)/usr/lib
+	$(CP) $(PKG_INSTALL_DIR)/etc/openldap/ldap.conf $(1)/etc/openldap/
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{lber,ldap}*.so.* $(1)/usr/lib/
+endef
+
+define Package/openldap-utils/install
+	$(INSTALL_DIR) $(1)/usr/bin
+	$(CP) $(PKG_INSTALL_DIR)/usr/bin/ldap* $(1)/usr/bin/
+endef
+
+define Package/openldap-server/install
+	$(INSTALL_DIR) $(1)/etc/init.d
+	$(INSTALL_BIN) ./files/ldap.init $(1)/etc/init.d/ldap
+	$(INSTALL_DIR) $(1)/etc/openldap/schema
+	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/openldap/schema/* $(1)/etc/openldap/schema/
+	$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/openldap/slapd.conf $(1)/etc/openldap/
+	$(INSTALL_DIR) $(1)/usr/sbin
+	# NB: OpenLDAP installs slapd into libexecdir, not sbindir
+	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/slapd $(1)/usr/sbin/
+	$(eval SLAPTOOLS := slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema)
+	for i in $(SLAPTOOLS); do \
+		$(LN) ./slapd $(1)/usr/sbin/$$$$i; \
+	done
+endef
+
+$(eval $(call BuildPackage,libopenldap))
+$(eval $(call BuildPackage,openldap-utils))
+$(eval $(call BuildPackage,openldap-server))
diff --git a/external/subpack/libs/openldap/files/ldap.init b/external/subpack/libs/openldap/files/ldap.init
new file mode 100644
index 0000000..2209e76
--- /dev/null
+++ b/external/subpack/libs/openldap/files/ldap.init
@@ -0,0 +1,19 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2009-2011 OpenWrt.org
+
+START=60
+
+SERVICE_USE_PID=1
+
+start() {
+	mkdir -m 0755 -p /var/openldap-data
+	service_start /usr/sbin/slapd -h "ldap://localhost/ ldaps:///"
+}
+
+stop() {
+	service_stop /usr/sbin/slapd
+}
+
+reload() {
+	service_reload /usr/sbin/slapd
+}
diff --git a/external/subpack/libs/openldap/patches/001-automake-compat.patch b/external/subpack/libs/openldap/patches/001-automake-compat.patch
new file mode 100644
index 0000000..d1e4b2a
--- /dev/null
+++ b/external/subpack/libs/openldap/patches/001-automake-compat.patch
@@ -0,0 +1,296 @@
+--- a/clients/tools/Makefile.in
++++ b/clients/tools/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SRCS	= ldapsearch.c ldapmodify.c ldapdelete.c ldapmodrdn.c \
+ 		ldappasswd.c ldapwhoami.c ldapvc.c ldapcompare.c \
+ 		ldapexop.c ldapurl.c common.c
+--- a/libraries/liblber/Makefile.in
++++ b/libraries/liblber/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ LIBRARY = liblber.la
+ 
+ NT_SRCS = nt_err.c
+--- a/libraries/libldap/Makefile.in
++++ b/libraries/libldap/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ LIBRARY = libldap.la
+ 
+ PROGRAMS = apitest dntest ftest ltest urltest testavl
+--- a/libraries/liblunicode/Makefile.in
++++ b/libraries/liblunicode/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ LIBRARY = liblunicode.a
+ 
+ XXDIR = $(srcdir)/ucdata/
+--- a/libraries/liblutil/Makefile.in
++++ b/libraries/liblutil/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ LIBRARY	= liblutil.a
+ 
+ LDAP_INCDIR= ../../include       
+--- a/libraries/librewrite/Makefile.in
++++ b/libraries/librewrite/Makefile.in
+@@ -16,6 +16,8 @@
+ ## Copyright 2000-2001 Pierangelo Masarati <ando@sys-net.it>
+ ##
+ 
++SHELL = @SHELL@
++
+ SRCS = config.c context.c info.c ldapmap.c map.c params.c rule.c \
+ 	session.c subst.c var.c xmap.c escapemap.c \
+ 	parse.c rewrite.c
+--- a/libraries/Makefile.in
++++ b/libraries/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SUBDIRS= \
+ 	liblutil \
+ 	liblber \
+--- a/servers/lloadd/Makefile.in
++++ b/servers/lloadd/Makefile.in
+@@ -13,6 +13,7 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
+ 
+ XSRCS	= version.c
+ 
+--- a/servers/slapd/back-asyncmeta/Makefile.in
++++ b/servers/slapd/back-asyncmeta/Makefile.in
+@@ -19,6 +19,8 @@
+ ## based on back-meta module for inclusion in OpenLDAP Software.
+ ## This work was sponsored by Ericsson
+ 
++SHELL = @SHELL@
++
+ SRCS	= init.c config.c search.c message_queue.c bind.c add.c compare.c \
+ 		delete.c modify.c modrdn.c map.c \
+ 		conn.c candidates.c dncache.c meta_result.c
+--- a/servers/slapd/back-dnssrv/Makefile.in
++++ b/servers/slapd/back-dnssrv/Makefile.in
+@@ -18,6 +18,8 @@
+ #  The DNSSRV backend was written by Kurt D. Zeilenga.
+ #
+ 
++SHELL = @SHELL@
++
+ SRCS	= init.c bind.c search.c config.c referral.c
+ OBJS	= init.lo bind.lo search.lo config.lo referral.lo
+ 
+--- a/servers/slapd/back-ldap/Makefile.in
++++ b/servers/slapd/back-ldap/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SRCS	= init.c config.c search.c bind.c unbind.c add.c compare.c \
+ 		delete.c modify.c modrdn.c extended.c chain.c \
+ 		distproc.c monitor.c pbind.c
+--- a/servers/slapd/back-ldif/Makefile.in
++++ b/servers/slapd/back-ldif/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SRCS = ldif.c
+ OBJS = ldif.lo
+ 
+--- a/servers/slapd/back-mdb/Makefile.in
++++ b/servers/slapd/back-mdb/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SRCS = init.c tools.c config.c \
+ 	add.c bind.c compare.c delete.c modify.c modrdn.c search.c \
+ 	extended.c operational.c \
+--- a/servers/slapd/back-meta/Makefile.in
++++ b/servers/slapd/back-meta/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SRCS	= init.c config.c search.c bind.c unbind.c add.c compare.c \
+ 		delete.c modify.c modrdn.c suffixmassage.c map.c \
+ 		conn.c candidates.c dncache.c
+--- a/servers/slapd/back-monitor/Makefile.in
++++ b/servers/slapd/back-monitor/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SRCS = init.c search.c compare.c modify.c bind.c \
+ 	operational.c \
+ 	cache.c entry.c \
+--- a/servers/slapd/back-null/Makefile.in
++++ b/servers/slapd/back-null/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SRCS = null.c
+ OBJS = null.lo
+ 
+--- a/servers/slapd/back-passwd/Makefile.in
++++ b/servers/slapd/back-passwd/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SRCS	= search.c config.c init.c
+ OBJS	= search.lo config.lo init.lo
+ 
+--- a/servers/slapd/back-perl/Makefile.in
++++ b/servers/slapd/back-perl/Makefile.in
+@@ -14,6 +14,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SRCS	= init.c search.c close.c config.c bind.c compare.c \
+ 		modify.c add.c modrdn.c delete.c
+ OBJS	= init.lo search.lo close.lo config.lo bind.lo compare.lo \
+--- a/servers/slapd/back-relay/Makefile.in
++++ b/servers/slapd/back-relay/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SRCS	= init.c op.c
+ OBJS	= init.lo op.lo
+ 
+--- a/servers/slapd/back-sock/Makefile.in
++++ b/servers/slapd/back-sock/Makefile.in
+@@ -17,6 +17,8 @@
+ ## This work was initially developed by Brian Candler for inclusion
+ ## in OpenLDAP Software.
+ 
++SHELL = @SHELL@
++
+ SRCS	= init.c config.c opensock.c search.c bind.c unbind.c add.c \
+ 		delete.c modify.c modrdn.c compare.c result.c extended.c
+ OBJS	= init.lo config.lo opensock.lo search.lo bind.lo unbind.lo add.lo \
+--- a/servers/slapd/back-sql/Makefile.in
++++ b/servers/slapd/back-sql/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SRCS	= init.c config.c search.c bind.c compare.c operational.c \
+ 		entry-id.c schema-map.c sql-wrap.c modify.c util.c \
+ 		add.c delete.c modrdn.c api.c
+--- a/servers/slapd/back-wt/Makefile.in
++++ b/servers/slapd/back-wt/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SRCS = init.c tools.c config.c \
+        add.c bind.c compare.c delete.c modify.c modrdn.c search.c \
+        extended.c operational.c \
+--- a/servers/slapd/Makefile.in
++++ b/servers/slapd/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SLAPTOOLS=slapadd slapcat slapdn slapindex slapmodify slappasswd slaptest slapauth slapacl slapschema
+ PROGRAMS=slapd $(SLAPTOOLS)
+ XPROGRAMS=sslapd libbackends.a .backend liboverlays.a
+--- a/servers/slapd/overlays/Makefile.in
++++ b/servers/slapd/overlays/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SRCS = overlays.c \
+ 	accesslog.c \
+ 	auditlog.c \
+--- a/servers/slapd/pwmods/Makefile.in
++++ b/servers/slapd/pwmods/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ SRCS = argon2.c
+ 
+ LTONLY_MOD = $(LTONLY_mod)
+--- a/servers/slapd/slapi/Makefile.in
++++ b/servers/slapd/slapi/Makefile.in
+@@ -14,6 +14,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ LIBRARY = libslapi.la
+ 
+ #all-common: $(LIBRARY) $(PROGRAMS)
+--- a/tests/progs/Makefile.in
++++ b/tests/progs/Makefile.in
+@@ -13,6 +13,8 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
++SHELL = @SHELL@
++
+ PROGRAMS = slapd-tester slapd-search slapd-read slapd-addel slapd-modrdn \
+ 		slapd-modify slapd-bind slapd-mtread ldif-filter slapd-watcher
+ 
diff --git a/external/subpack/libs/openldap/patches/002-no-doc-and-tests-subdir.patch b/external/subpack/libs/openldap/patches/002-no-doc-and-tests-subdir.patch
new file mode 100644
index 0000000..1af9759
--- /dev/null
+++ b/external/subpack/libs/openldap/patches/002-no-doc-and-tests-subdir.patch
@@ -0,0 +1,11 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -13,7 +13,7 @@
+ ## top-level directory of the distribution or, alternatively, at
+ ## <http://www.OpenLDAP.org/license.html>.
+ 
+-SUBDIRS= include libraries clients servers tests doc
++SUBDIRS= include libraries clients servers
+ CLEANDIRS=
+ INSTALLDIRS= 
+ 
diff --git a/external/subpack/libs/openldap/patches/020-autofs-schema.patch b/external/subpack/libs/openldap/patches/020-autofs-schema.patch
new file mode 100644
index 0000000..11c73f5
--- /dev/null
+++ b/external/subpack/libs/openldap/patches/020-autofs-schema.patch
@@ -0,0 +1,26 @@
+--- /dev/null
++++ b/servers/slapd/schema/autofs.schema
+@@ -0,0 +1,23 @@
++attributetype ( 1.3.6.1.1.1.1.31 NAME 'automountMapName'
++	DESC 'Automount map name'
++	EQUALITY caseExactMatch
++	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
++
++attributetype ( 1.3.6.1.1.1.1.32 NAME 'automountKey'
++	DESC 'Automount key value'
++	EQUALITY caseExactMatch
++	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
++
++attributetype ( 1.3.6.1.1.1.1.33 NAME 'automountInformation'
++	DESC 'Automount information'
++	EQUALITY caseExactMatch
++	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
++
++objectclass ( 1.3.6.1.1.1.2.16 NAME 'automountMap' SUP top STRUCTURAL
++	MUST ( automountMapName )
++	MAY ( description ) )
++
++objectclass ( 1.3.6.1.1.1.2.17 NAME 'automount' SUP top STRUCTURAL
++	DESC 'Automount'
++	MUST ( automountKey $ automountInformation )
++	MAY description )
diff --git a/external/subpack/libs/openldap/patches/110-reproducible-builds.patch b/external/subpack/libs/openldap/patches/110-reproducible-builds.patch
new file mode 100644
index 0000000..b3f724f
--- /dev/null
+++ b/external/subpack/libs/openldap/patches/110-reproducible-builds.patch
@@ -0,0 +1,24 @@
+--- a/build/mkversion
++++ b/build/mkversion
+@@ -50,12 +50,6 @@ if test $# != 1 ; then
+ fi
+ 
+ APPLICATION=$1
+-# Reproducible builds set SOURCE_DATE_EPOCH, want constant strings
+-if [ -n "${SOURCE_DATE_EPOCH}" ]; then
+-   WHOWHERE="openldap"
+-else
+-   WHOWHERE="$USER@$(uname -n):$(pwd)"
+-fi
+ 
+ cat << __EOF__
+ /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+@@ -77,7 +71,6 @@ static const char copyright[] =
+ "COPYING RESTRICTIONS APPLY\n";
+ 
+ $static $const char $SYMBOL[] =
+-"@(#) \$$PACKAGE: $APPLICATION $VERSION (" __DATE__ " " __TIME__ ") \$\n"
+-"\t$WHOWHERE\n";
++"@(#) \$$PACKAGE: $APPLICATION $VERSION\$\n";
+ 
+ __EOF__
diff --git a/external/subpack/libs/openldap/patches/750-no-strip.patch b/external/subpack/libs/openldap/patches/750-no-strip.patch
new file mode 100644
index 0000000..8cffb4f
--- /dev/null
+++ b/external/subpack/libs/openldap/patches/750-no-strip.patch
@@ -0,0 +1,22 @@
+--- a/clients/tools/Makefile.in
++++ b/clients/tools/Makefile.in
+@@ -131,7 +131,7 @@ install-local:	FORCE
+ 	-$(MKDIR) $(DESTDIR)$(bindir)
+ 	@(								\
+ 	    for prg in $(PROGRAMS); do					\
+-		$(LTINSTALL) $(INSTALLFLAGS) $(STRIP_OPTS) -m 755 $$prg$(EXEEXT)	\
++		$(LTINSTALL) $(INSTALLFLAGS) -m 755 $$prg$(EXEEXT)	\
+ 		    $(DESTDIR)$(bindir);				\
+ 	    done							\
+ 	)
+--- a/servers/slapd/Makefile.in
++++ b/servers/slapd/Makefile.in
+@@ -377,7 +377,7 @@ install-local-srv: install-slapd install
+ install-slapd: FORCE
+ 	-$(MKDIR) $(DESTDIR)$(libexecdir)
+ 	-$(MKDIR) $(DESTDIR)$(localstatedir)/run
+-	$(LTINSTALL) $(INSTALLFLAGS) $(STRIP_OPTS) -m 755 \
++	$(LTINSTALL) $(INSTALLFLAGS) -m 755 \
+ 		slapd$(EXEEXT) $(DESTDIR)$(libexecdir)
+ 	@for i in $(SUBDIRS); do \
+ 	    if test -d $$i && test -f $$i/Makefile ; then \
diff --git a/external/subpack/libs/openldap/patches/901-reduce-slapd-default-mem-usage.patch b/external/subpack/libs/openldap/patches/901-reduce-slapd-default-mem-usage.patch
new file mode 100644
index 0000000..4681871
--- /dev/null
+++ b/external/subpack/libs/openldap/patches/901-reduce-slapd-default-mem-usage.patch
@@ -0,0 +1,11 @@
+--- a/servers/slapd/slapd.conf
++++ b/servers/slapd/slapd.conf
+@@ -59,7 +59,7 @@ database config
+ #######################################################################
+ 
+ database	mdb
+-maxsize		1073741824
++maxsize		8388608
+ suffix		"dc=my-domain,dc=com"
+ rootdn		"cn=Manager,dc=my-domain,dc=com"
+ # Cleartext passwords, especially for the rootdn, should