Copy krb5 package from old repository
authorW. Michael Petullo <[email protected]>
Wed, 16 Jul 2014 22:09:51 +0000 (18:09 -0400)
committerSteven Barth <[email protected]>
Sat, 19 Jul 2014 12:08:11 +0000 (14:08 +0200)
Signed-off-by: W. Michael Petullo <[email protected]>
net/krb5/Makefile [new file with mode: 0644]
net/krb5/files/krb5kdc [new file with mode: 0644]
net/krb5/patches/001-fix-build-warning.patch [new file with mode: 0644]
net/krb5/patches/001-krb5kdc-dir-to-etc.patch [new file with mode: 0644]
net/krb5/patches/002-MITKRB5-SA-2011-002.patch [new file with mode: 0644]

diff --git a/net/krb5/Makefile b/net/krb5/Makefile
new file mode 100644 (file)
index 0000000..8fcb5a4
--- /dev/null
@@ -0,0 +1,128 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=krb5
+PKG_VERSION:=1.11
+PKG_RELEASE:=1
+
+PKG_SOURCE:=krb5-$(PKG_VERSION)-signed.tar
+PKG_SOURCE_URL:=http://web.mit.edu/kerberos/dist/krb5/$(PKG_VERSION)/
+PKG_MD5SUM:=1a13c53899806c4da99a798a04d25545
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+MAKE_PATH:=src
+
+define Package/krb5/Default
+       SECTION:=net
+       CATEGORY:=Network
+       TITLE:=Kerberos
+       URL:=http://web.mit.edu/kerberos/
+       MAINTAINER:=W. Michael Petullo <[email protected]>
+endef
+
+define Package/krb5-libs
+       SECTION:=net
+       CATEGORY:=Network
+       TITLE:=Kerberos
+       DEPENDS:=+libncurses
+       TITLE:=Kerberos 5 Shared Libraries
+       URL:=http://web.mit.edu/kerberos/
+       MAINTAINER:=W. Michael Petullo <[email protected]>
+endef
+
+define Package/krb5-server
+       $(call Package/krb5/Default)
+       DEPENDS:=+krb5-libs +libpthread
+       TITLE:=Kerberos 5 Server
+endef
+
+define Package/krb5-client
+       $(call Package/krb5/Default)
+       DEPENDS:=+krb5-libs
+       TITLE:=Kerberos 5 Client
+endef
+
+define Package/krb5/description
+       Kerberos
+endef
+
+define Build/Prepare
+       # Krb5 tarball contains signature and a second tarball
+       # containing source code.
+       tar xf "$(DL_DIR)/$(PKG_SOURCE)" -C "$(BUILD_DIR)"
+       tar xzf "$(BUILD_DIR)/krb5-$(PKG_VERSION).tar.gz" -C "$(BUILD_DIR)"
+       patch -p1 -d "$(PKG_BUILD_DIR)" < "$(PATCH_DIR)/001-fix-build-warning.patch"
+endef
+
+CONFIGURE_PATH = ./src
+
+CONFIGURE_VARS += \
+       cross_compiling=yes \
+       krb5_cv_attr_constructor_destructor=yes,yes \
+       ac_cv_func_regcomp=yes \
+       ac_cv_printf_positional=yes \
+       ac_cv_file__etc_environment=no \
+       ac_cv_file__etc_TIMEZONE=no
+
+CONFIGURE_ARGS += \
+       --without-tcl \
+       --without-libedit \
+       --localstatedir=/etc
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include \
+               $(1)/usr/include/krb5
+       $(INSTALL_DIR) $(1)/usr
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib \
+               $(1)/usr
+       rm -f $(1)/usr/lib/libcom_err*
+endef
+
+define Package/krb5-libs/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_DIR) $(1)/usr/lib/krb5
+       $(INSTALL_DIR) $(1)/usr/lib/krb5/plugins
+       $(INSTALL_DIR) $(1)/usr/lib/krb5/plugins/kdb
+       $(INSTALL_DIR) $(1)/usr/lib/krb5/plugins/libkrb5
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/krb5/plugins/kdb/db2.so $(1)/usr/lib/krb5/plugins/kdb
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib
+endef
+
+define Package/krb5-client/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kdestroy $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kinit $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/klist $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kpasswd $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ksu $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kvno $(1)/usr/bin
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/krb5-send-pr $(1)/usr/sbin
+endef
+
+# Removed some server-side software to reduce package size. This should be
+# put in a separate package if needed.
+define Package/krb5-server/install
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/krb5kdc $(1)/etc/init.d/krb5kdc
+#      $(INSTALL_DIR) $(1)/usr/bin
+#      $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sclient $(1)/usr/bin
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kadmin.local $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kadmind $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kdb5_util $(1)/usr/sbin
+#      $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kprop $(1)/usr/sbin
+#      $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kpropd $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/krb5kdc $(1)/usr/sbin
+#      $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/sim_server $(1)/usr/sbin
+endef
+
+$(eval $(call BuildPackage,krb5-libs))
+$(eval $(call BuildPackage,krb5-server))
+$(eval $(call BuildPackage,krb5-client))
diff --git a/net/krb5/files/krb5kdc b/net/krb5/files/krb5kdc
new file mode 100644 (file)
index 0000000..dec7188
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2009 OpenWrt.org
+
+START=60
+
+start() {
+       mkdir -p /var/tmp
+       mkdir -p /etc/krb5kdc
+       
+       [ -f /etc/krb5kdc/principal ] || ( echo; echo ) | kdb5_util create -s
+       
+       /usr/sbin/krb5kdc
+       /usr/sbin/kadmind
+}
+
+stop() {
+       killall krb5kdc 2> /dev/null
+       killall kadmind 2> /dev/null
+}
diff --git a/net/krb5/patches/001-fix-build-warning.patch b/net/krb5/patches/001-fix-build-warning.patch
new file mode 100644 (file)
index 0000000..d199398
--- /dev/null
@@ -0,0 +1,12 @@
+diff -ur krb5-1.11-vanilla/src/lib/krb5/krb/preauth2.c krb5-1.11/src/lib/krb5/krb/preauth2.c
+--- krb5-1.11-vanilla/src/lib/krb5/krb/preauth2.c      2012-12-18 03:47:05.000000000 +0100
++++ krb5-1.11/src/lib/krb5/krb/preauth2.c      2013-02-18 03:53:20.580840173 +0100
+@@ -956,7 +956,7 @@
+     size_t i, h;
+     int out_pa_list_size = 0;
+     krb5_pa_data **out_pa_list = NULL;
+-    krb5_error_code ret, module_ret;
++    krb5_error_code ret, module_ret = 0;
+     krb5_responder_fn responder = opte->opt_private->responder;
+     static const int paorder[] = { PA_INFO, PA_REAL };
diff --git a/net/krb5/patches/001-krb5kdc-dir-to-etc.patch b/net/krb5/patches/001-krb5kdc-dir-to-etc.patch
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/net/krb5/patches/002-MITKRB5-SA-2011-002.patch b/net/krb5/patches/002-MITKRB5-SA-2011-002.patch
new file mode 100644 (file)
index 0000000..e69de29