diff options
Diffstat (limited to 'core/heimdal')
-rw-r--r-- | core/heimdal/001_all_heimdal-no_libedit.patch | 10 | ||||
-rw-r--r-- | core/heimdal/002_all_heimal-fPIC.patch | 12 | ||||
-rw-r--r-- | core/heimdal/003_all_heimdal-rxapps.patch | 22 | ||||
-rw-r--r-- | core/heimdal/005_all_heimdal-suid_fix.patch | 20 | ||||
-rw-r--r-- | core/heimdal/012_all_heimdal-berkdb.patch | 124 | ||||
-rw-r--r-- | core/heimdal/013_all_heimdal-pthread-lib.patch | 11 | ||||
-rw-r--r-- | core/heimdal/014_all_heimdal-path.patch | 50 | ||||
-rw-r--r-- | core/heimdal/PKGBUILD | 113 | ||||
-rw-r--r-- | core/heimdal/heimdal-kdc.rc | 40 | ||||
-rw-r--r-- | core/heimdal/heimdal.install | 20 | ||||
-rw-r--r-- | core/heimdal/kadmind.rc | 40 | ||||
-rw-r--r-- | core/heimdal/kpasswd.rc | 40 |
12 files changed, 502 insertions, 0 deletions
diff --git a/core/heimdal/001_all_heimdal-no_libedit.patch b/core/heimdal/001_all_heimdal-no_libedit.patch new file mode 100644 index 000000000..a551bdce1 --- /dev/null +++ b/core/heimdal/001_all_heimdal-no_libedit.patch @@ -0,0 +1,10 @@ +--- cf/krb-readline.m4 2005-06-16 18:28:32.000000000 +0200 ++++ cf/krb-readline.m4 2005-06-27 23:17:06.000000000 +0200 +@@ -6,7 +6,6 @@ + dnl el_init + + AC_DEFUN([KRB_READLINE],[ +-AC_FIND_FUNC_NO_LIBS(el_init, edit, [], [], [$LIB_tgetent]) + if test "$ac_cv_func_el_init" = yes ; then + AC_CACHE_CHECK(for four argument el_init, ac_cv_func_el_init_four,[ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h> diff --git a/core/heimdal/002_all_heimal-fPIC.patch b/core/heimdal/002_all_heimal-fPIC.patch new file mode 100644 index 000000000..c67dbae76 --- /dev/null +++ b/core/heimdal/002_all_heimal-fPIC.patch @@ -0,0 +1,12 @@ +--- lib/editline/Makefile.am 2005-06-16 18:28:44.000000000 +0200 ++++ lib/editline/Makefile.am 2005-06-27 23:21:02.000000000 +0200 +@@ -41,6 +41,9 @@ + + EXTRA_DIST = $(man_MANS) + ++$(libeditline_la_OBJECTS): %.lo: %.c ++ $(LTCOMPILE) -fPIC -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< ++ + snprintf.c: + $(LN_S) $(srcdir)/../roken/snprintf.c . + strdup.c: diff --git a/core/heimdal/003_all_heimdal-rxapps.patch b/core/heimdal/003_all_heimdal-rxapps.patch new file mode 100644 index 000000000..40fc05f08 --- /dev/null +++ b/core/heimdal/003_all_heimdal-rxapps.patch @@ -0,0 +1,22 @@ +--- appl/kx/rxtelnet.in 2005-06-16 18:29:10.000000000 +0200 ++++ appl/kx/rxtelnet.in 2005-06-27 23:21:34.000000000 +0200 +@@ -2,7 +2,7 @@ + # $Id: rxtelnet.in,v 1.31 2004/03/07 17:22:06 lha Exp $ + # + usage="Usage: $0 [-l username] [-k] [-fF] [-t args_to_telnet] [-x args_to_xterm] [-K args_to_kx] [-w term_emulator] [-b telnet_binary] [-n] [-v] [-h | --help] [--version] host [port]" +-binary=telnet ++binary=ktelnet + term= + kx_args=-P + while true +--- appl/kx/rxterm.in 2005-06-16 18:29:10.000000000 +0200 ++++ appl/kx/rxterm.in 2005-06-27 23:21:55.000000000 +0200 +@@ -2,7 +2,7 @@ + # $Id: rxterm.in,v 1.23 2002/03/18 17:37:34 joda Exp $ + # + usage="Usage: $0 [-l username] [-k] [-f] [-r rsh_args] [-x xterm_args] [-K kx_args] [-w term_emulator] [-b rsh_binary][-v] [-h | --help] [--version] host" +-binary=rsh ++binary=krsh + term=xterm + while true + do diff --git a/core/heimdal/005_all_heimdal-suid_fix.patch b/core/heimdal/005_all_heimdal-suid_fix.patch new file mode 100644 index 000000000..35a9ed9f6 --- /dev/null +++ b/core/heimdal/005_all_heimdal-suid_fix.patch @@ -0,0 +1,20 @@ +--- appl/su/Makefile.am 2005-06-16 18:27:46.000000000 +0200 ++++ appl/su/Makefile.am 2005-06-27 23:25:21.000000000 +0200 +@@ -7,6 +7,7 @@ + bin_PROGRAMS = su + bin_SUIDS = su + su_SOURCES = su.c supaths.h ++su_LDFLAGS = -Wl,-z,now + man_MANS = su.1 + + LDADD = $(LIB_kafs) \ +--- appl/otp/Makefile.am 2005-06-16 18:28:46.000000000 +0200 ++++ appl/otp/Makefile.am 2005-06-27 23:25:40.000000000 +0200 +@@ -8,6 +8,7 @@ + bin_SUIDS = otp + otp_SOURCES = otp.c otp_locl.h + otpprint_SOURCES = otpprint.c otp_locl.h ++otp_LDFLAGS = -Wl,-z,now + + man_MANS = otp.1 otpprint.1 + diff --git a/core/heimdal/012_all_heimdal-berkdb.patch b/core/heimdal/012_all_heimdal-berkdb.patch new file mode 100644 index 000000000..46762c220 --- /dev/null +++ b/core/heimdal/012_all_heimdal-berkdb.patch @@ -0,0 +1,124 @@ +Binary files heimdal-0.7-old/cf/.find-func-no-libs2.m4.swp and heimdal-0.7/cf/.find-func-no-libs2.m4.swp differ +Index: heimdal/cf/db.m4 +=================================================================== +--- heimdal.orig/cf/db.m4 ++++ heimdal/cf/db.m4 +@@ -18,24 +18,13 @@ db_type=unknown + + if test "$enable_berkeley_db" != no; then + +- AC_CHECK_HEADERS([ \ +- db4/db.h \ +- db3/db.h \ +- db.h \ +- db_185.h \ +- ]) ++ AC_CHECK_HEADERS([db.h]) + + dnl db_create is used by db3 and db4 + +- AC_FIND_FUNC_NO_LIBS(db_create, db4 db3 db, [ ++ AC_FIND_FUNC_NO_LIBS(db_create, db, [ + #include <stdio.h> +- #ifdef HAVE_DB4_DB_H +- #include <db4/db.h> +- #elif defined(HAVE_DB3_DB_H) +- #include <db3/db.h> +- #else + #include <db.h> +- #endif + ],[NULL, NULL, 0]) + + if test "$ac_cv_func_db_create" = "yes"; then +@@ -50,17 +39,9 @@ dnl db_create is used by db3 and db4 + + dnl dbopen is used by db1/db2 + +- AC_FIND_FUNC_NO_LIBS(dbopen, db2 db, [ ++ AC_FIND_FUNC_NO_LIBS(dbopen, db, [ + #include <stdio.h> +- #if defined(HAVE_DB2_DB_H) +- #include <db2/db.h> +- #elif defined(HAVE_DB_185_H) +- #include <db_185.h> +- #elif defined(HAVE_DB_H) + #include <db.h> +- #else +- #error no db.h +- #endif + ],[NULL, 0, 0, 0, NULL]) + + if test "$ac_cv_func_dbopen" = "yes"; then +Index: heimdal/lib/hdb/db.c +=================================================================== +--- heimdal.orig/lib/hdb/db.c ++++ heimdal/lib/hdb/db.c +@@ -37,11 +37,7 @@ RCSID("$Id: db.c 20215 2007-02-09 21:59: + + #if HAVE_DB1 + +-#if defined(HAVE_DB_185_H) +-#include <db_185.h> +-#elif defined(HAVE_DB_H) + #include <db.h> +-#endif + + static krb5_error_code + DB_close(krb5_context context, HDB *db) +Index: heimdal/lib/hdb/db3.c +=================================================================== +--- heimdal.orig/lib/hdb/db3.c ++++ heimdal/lib/hdb/db3.c +@@ -37,13 +37,7 @@ RCSID("$Id: db3.c 21610 2007-07-17 07:10 + + #if HAVE_DB3 + +-#ifdef HAVE_DB4_DB_H +-#include <db4/db.h> +-#elif defined(HAVE_DB3_DB_H) +-#include <db3/db.h> +-#else + #include <db.h> +-#endif + + static krb5_error_code + DB_close(krb5_context context, HDB *db) +Index: heimdal/lib/roken/getcap.c +=================================================================== +--- heimdal.orig/lib/roken/getcap.c ++++ heimdal/lib/roken/getcap.c +@@ -38,11 +38,13 @@ + #include "roken.h" + RCSID("$Id: getcap.c 16561 2006-01-13 14:25:32Z lha $"); + ++#if defined(HAVE_DBOPEN) && defined(HAVE_DB_H) ++#define USE_DB ++#endif ++ + #include <sys/types.h> + #include <ctype.h> +-#if defined(HAVE_DB_185_H) +-#include <db_185.h> +-#elif defined(HAVE_DB_H) ++#ifdef USE_DB + #include <db.h> + #endif + #include <errno.h> +Index: heimdal/lib/roken/ndbm_wrap.c +=================================================================== +--- heimdal.orig/lib/roken/ndbm_wrap.c ++++ heimdal/lib/roken/ndbm_wrap.c +@@ -37,13 +37,7 @@ RCSID("$Id: ndbm_wrap.c 21634 2007-07-17 + #endif + + #include "ndbm_wrap.h" +-#if defined(HAVE_DB4_DB_H) +-#include <db4/db.h> +-#elif defined(HAVE_DB3_DB_H) +-#include <db3/db.h> +-#else + #include <db.h> +-#endif + + #include <stdio.h> + #include <stdlib.h> diff --git a/core/heimdal/013_all_heimdal-pthread-lib.patch b/core/heimdal/013_all_heimdal-pthread-lib.patch new file mode 100644 index 000000000..19f879407 --- /dev/null +++ b/core/heimdal/013_all_heimdal-pthread-lib.patch @@ -0,0 +1,11 @@ +--- heimdal-0.7.1/cf/pthreads.m4.old 2005-09-09 12:12:28.000000000 +0000 ++++ heimdal-0.7.1/cf/pthreads.m4 2005-09-17 22:23:23.000000000 +0000 +@@ -32,7 +32,7 @@ + 2.*) + native_pthread_support=yes + PTHREADS_CFLAGS=-pthread +- PTHREADS_LIBS=-pthread ++ PTHREADS_LIBS=-lpthread + ;; + esac + ;; diff --git a/core/heimdal/014_all_heimdal-path.patch b/core/heimdal/014_all_heimdal-path.patch new file mode 100644 index 000000000..36a86f1f9 --- /dev/null +++ b/core/heimdal/014_all_heimdal-path.patch @@ -0,0 +1,50 @@ +--- appl/rcp/rcp.c.old 2006-05-03 13:31:59.398493625 +0200 ++++ appl/rcp/rcp.c 2006-05-03 13:32:04.494485981 +0200 +@@ -34,7 +34,7 @@ + #include "rcp_locl.h" + #include <getarg.h> + +-#define RSH_PROGRAM "rsh" ++#define RSH_PROGRAM "krsh" + + struct passwd *pwd; + uid_t userid; +--- appl/rcp/rcp_locl.h.old 2006-05-03 02:30:31.602025409 +0200 ++++ appl/rcp/rcp_locl.h 2006-05-03 02:30:35.886018983 +0200 +@@ -64,4 +64,4 @@ + #define _PATH_CP "/bin/cp" + #endif + #undef _PATH_RSH +-#define _PATH_RSH BINDIR "/rsh" ++#define _PATH_RSH BINDIR "/krsh" +--- appl/telnet/telnetd/telnetd.h.old 2006-05-03 02:23:14.582680939 +0200 ++++ appl/telnet/telnetd/telnetd.h 2006-05-03 02:23:23.746667193 +0200 +@@ -192,7 +192,7 @@ + #endif + + #undef _PATH_LOGIN +-#define _PATH_LOGIN BINDIR "/login" ++#define _PATH_LOGIN BINDIR "/klogin" + + /* fallbacks */ + +--- appl/login/shadow.c.old 2006-05-05 06:31:29.517138115 +0200 ++++ appl/login/shadow.c 2006-05-05 06:32:26.433052741 +0200 +@@ -38,7 +38,7 @@ + #ifdef HAVE_SHADOW_H + + #ifndef _PATH_CHPASS +-#define _PATH_CHPASS "/usr/bin/passwd" ++#define _PATH_CHPASS "/usr/bin/kpasswd" + #endif + + static int +@@ -52,7 +52,7 @@ + printf("fork /bin/passwd"); + exit(1); + case 0: +- execlp(_PATH_CHPASS, "passwd", who->pw_name, (char *) 0); ++ execlp(_PATH_CHPASS, "kpasswd", who->pw_name, (char *) 0); + exit(1); + default: + waitpid(pid, &status, 0); diff --git a/core/heimdal/PKGBUILD b/core/heimdal/PKGBUILD new file mode 100644 index 000000000..55f7acf34 --- /dev/null +++ b/core/heimdal/PKGBUILD @@ -0,0 +1,113 @@ +# $Id: PKGBUILD 101969 2010-12-03 09:59:28Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: Jan de Groot <jgc@archlinux.org> + +# +### Attention: remove old pkg before building - it links against itself! ### +# + +pkgname=heimdal +pkgver=1.3.3 +pkgrel=4 +pkgdesc="Implementation of Kerberos V5 libraries" +arch=('i686' 'x86_64') +url="http://www.h5l.org/" +license=('custom') +depends=('db' 'openssl' 'sqlite3' 'e2fsprogs' 'libldap') +backup=(etc/krb5.conf) +options=('!libtool' '!emptydirs') +install=heimdal.install +source=(http://www.h5l.org/dist/src/${pkgname}-${pkgver}.tar.gz + 001_all_heimdal-no_libedit.patch + 002_all_heimal-fPIC.patch + 003_all_heimdal-rxapps.patch + 005_all_heimdal-suid_fix.patch + 012_all_heimdal-berkdb.patch + 013_all_heimdal-pthread-lib.patch + 014_all_heimdal-path.patch + heimdal-kdc.rc + kadmind.rc + kpasswd.rc) +md5sums=('963c09f1b14c41660be70b55fae9f163' + '98e28f11f906c967aac22d6184102c9e' + '6d5571bdedba2e2423b90bccdbac2c0a' + '2feec3924ee5230b54175b4d4000c872' + '45aeb207f360f9f4e9e0fabc8bfeecbc' + '56f5d10d0ec40f2fda82ef144ffac1e0' + '1b8665b771c4eb6b56ea8582c96e56e3' + '8208ae8c0b6ff5ab4f64af1693e9e396' + 'e59650992b9541a30dfce727a194f6e0' + '1f2f86a67bbfddb7af581d35fdca9627' + 'f8f1eca95b9d3f2b4ebf2417b71b81cf') + +build() { + cd ${srcdir}/heimdal-${pkgver} + patch -Np0 -i ${srcdir}/001_all_heimdal-no_libedit.patch + patch -Np0 -i ${srcdir}/002_all_heimal-fPIC.patch + patch -Np0 -i ${srcdir}/003_all_heimdal-rxapps.patch + patch -Np0 -i ${srcdir}/005_all_heimdal-suid_fix.patch + patch -Np1 -i ${srcdir}/012_all_heimdal-berkdb.patch + patch -Np1 -i ${srcdir}/013_all_heimdal-pthread-lib.patch + patch -Np0 -i ${srcdir}/014_all_heimdal-path.patch + + sed -i -e 's|var/heimdal|var/lib/heimdal|g' configure.in \ + doc/setup.texi doc/heimdal.info kadmin/kadmind.8 kdc/kdc.8 \ + lib/hdb/hdb.h lib/krb5/krb5.conf.5 lib/krb5/krb5.conf.cat5 + + sed -i 's|$(LIB_NDBM)|$(LIB_NDBM) $(LIB_db_create)|' lib/otp/Makefile.am + + libtoolize --force + aclocal -I cf + autoconf + automake + + ./configure --prefix=/usr --enable-shared=yes --without-x \ + --sysconfdir=/etc --mandir=/usr/share/man \ + --datadir=/var/lib/heimdal \ + --localstatedir=/var/lib/heimdal \ + --with-openssl=/usr \ + --with-readline-lib=/usr/lib \ + --with-readline-include=/usr/include/readline \ + --with-sqlite3-lib=/usr/lib \ + --with-sqlite3-include=/usr/include \ + --with-openldap=/usr \ + --libexecdir=/usr/sbin + + make +} + +package() { + cd ${srcdir}/heimdal-${pkgver} + make DESTDIR=${pkgdir} install + + # Rename daemons and their manpages + for i in telnetd ftpd rshd; do + mv ${pkgdir}/usr/share/man/man8/{,k}${i}.8 + mv ${pkgdir}/usr/sbin/{,k}${i} + done + + # Rename clients and their manpages + for i in rcp rsh telnet ftp su login; do + if [ -f ${pkgdir}/usr/share/man/man1/${i}.1 ]; then + mv ${pkgdir}/usr/share/man/man1/{,k}${i}.1 + fi + mv ${pkgdir}/usr/bin/{,k}${i} + done + rm -rf ${pkgdir}/usr/share/man/cat{1,3,5,8} + + # Arch could be a KDC too + install -d ${pkgdir}/etc/rc.d + install -m644 ${srcdir}/heimdal-${pkgver}/krb5.conf ${pkgdir}/etc/ + for i in heimdal-kdc kadmind kpasswd; do + install -m755 ${srcdir}/${i}.rc ${pkgdir}/etc/rc.d/${i} + done + + # Remove conflicts + rm ${pkgdir}/usr/share/man/man5/ftpusers.5* # man-pages + rm ${pkgdir}/usr/share/man/man3/{DES,DH,EVP,OpenSSL,RAND,RSA}* # openssl (a bit overzealous...) + rm ${pkgdir}/usr/share/man/man3/os.3* # erlang + + # Install the license + install -Dm644 ${srcdir}/${pkgname}-${pkgver}/LICENSE \ + ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/core/heimdal/heimdal-kdc.rc b/core/heimdal/heimdal-kdc.rc new file mode 100644 index 000000000..b2a3b5fcf --- /dev/null +++ b/core/heimdal/heimdal-kdc.rc @@ -0,0 +1,40 @@ +#!/bin/bash + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/kdc` +case "$1" in + start) + stat_busy "Starting heimdal kdc" + if [ -z "$PID" ]; then + /usr/sbin/kdc --detach + fi + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + else + add_daemon heimdal-kdc + stat_done + fi + ;; + stop) + stat_busy "Stopping heimdal kdc" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon heimdal-kdc + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" + ;; +esac +exit 0 diff --git a/core/heimdal/heimdal.install b/core/heimdal/heimdal.install new file mode 100644 index 000000000..b4fd19000 --- /dev/null +++ b/core/heimdal/heimdal.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(heimdal hx509) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.info.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.info.gz $infodir/dir 2> /dev/null + done +} diff --git a/core/heimdal/kadmind.rc b/core/heimdal/kadmind.rc new file mode 100644 index 000000000..0f3b8c7c4 --- /dev/null +++ b/core/heimdal/kadmind.rc @@ -0,0 +1,40 @@ +#!/bin/bash + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/kadmind` +case "$1" in + start) + stat_busy "Starting heimdal admin server" + if [ -z "$PID" ]; then + /usr/sbin/kadmind & + fi + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + else + add_daemon kadmind + stat_done + fi + ;; + stop) + stat_busy "Stopping heimdal admin server" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon kadmind + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" + ;; +esac +exit 0 diff --git a/core/heimdal/kpasswd.rc b/core/heimdal/kpasswd.rc new file mode 100644 index 000000000..3697322b9 --- /dev/null +++ b/core/heimdal/kpasswd.rc @@ -0,0 +1,40 @@ +#!/bin/bash + +# general config +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/kpasswdd` +case "$1" in + start) + stat_busy "Starting heimdal kpasswdd" + if [ -z "$PID" ]; then + /usr/sbin/kpasswdd & + fi + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + else + add_daemon kpasswd + stat_done + fi + ;; + stop) + stat_busy "Stopping heimdal kpasswdd" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon kpasswd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" + ;; +esac +exit 0 |