aboutsummaryrefslogtreecommitdiff
path: root/network/heimdal
diff options
context:
space:
mode:
authorMenno E. Duursma <druiloor@zonnet.nl>2010-05-11 15:01:28 +0200
committerEric Hameleers <alien@slackbuilds.org>2010-05-11 15:01:28 +0200
commite7a9c4461b80c1b9337f2d97c965ad181e0ba6a5 (patch)
treef776d67f412a5ad020e2ce8ba1209838b2f0bebd /network/heimdal
parent557baff128bdce0fdc485c15f1be1f99e60004c9 (diff)
network/heimdal: Initial import
Diffstat (limited to 'network/heimdal')
-rw-r--r--network/heimdal/README7
-rw-r--r--network/heimdal/doinst.sh31
-rw-r--r--network/heimdal/heimdal.SlackBuild142
-rw-r--r--network/heimdal/heimdal.csh10
-rw-r--r--network/heimdal/heimdal.info8
-rw-r--r--network/heimdal/heimdal.sh12
-rw-r--r--network/heimdal/kdc.conf20
-rw-r--r--network/heimdal/rc.heimdal36
-rw-r--r--network/heimdal/slack-desc11
9 files changed, 277 insertions, 0 deletions
diff --git a/network/heimdal/README b/network/heimdal/README
new file mode 100644
index 0000000000000..7a2308ecd12cd
--- /dev/null
+++ b/network/heimdal/README
@@ -0,0 +1,7 @@
+Heimdal is a free implementation of Kerberos 5. The goals are to:
+* have an implementation that can be freely used by anyone
+* be protocol compatible with existing implementations and, if not in conflict, with RFC 4120 (and any future updated RFC). RFC 4120 replaced RFC 1510.
+* be reasonably compatible with the M.I.T Kerberos V5 API
+* have support for Kerberos V5 over GSS-API (RFC1964)
+* include the most important and useful application programs (rsh, telnet, popper, etc.)
+* include enough backwards compatibility with Kerberos V4
diff --git a/network/heimdal/doinst.sh b/network/heimdal/doinst.sh
new file mode 100644
index 0000000000000..0b5f0905ad3b4
--- /dev/null
+++ b/network/heimdal/doinst.sh
@@ -0,0 +1,31 @@
+# Add heimdal libs to the library search path
+if ! grep -q '^/usr/heimdal/lib$' etc/ld.so.conf ; then
+ echo "/usr/heimdal/lib" >> etc/ld.so.conf
+ if [ -x /sbin/ldconfig ]; then /sbin/ldconfig ; fi
+fi
+
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/krb5.conf-sample.new
+config etc/profile.d/heimdal.sh.new
+config etc/profile.d/heimdal.csh.new
+config etc/rc.d/rc.heimdal.new
+config var/heimdal/kdc.conf-sample.new
+
+# Any user should be able to ``kinit'' at least
+if [ ! -x etc/profile.d/heimdal.sh ]; then
+ chmod +x etc/profile.d/heimdal.sh
+ chmod +x etc/profile.d/heimdal.csh
+fi
+
diff --git a/network/heimdal/heimdal.SlackBuild b/network/heimdal/heimdal.SlackBuild
new file mode 100644
index 0000000000000..d3122470838b2
--- /dev/null
+++ b/network/heimdal/heimdal.SlackBuild
@@ -0,0 +1,142 @@
+#!/bin/sh
+
+# Slackware build script for KTH Heimdal Kerberos
+
+# Written by Menno E. Duursma <druiloor@zonnet.nl>
+# All rights reserved.
+# Modified by the SlackBuilds.org project
+
+PRGNAM=heimdal
+VERSION=0.7.2
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+CWD=`pwd`
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP || exit 1
+rm -rf $PRGNAM-$VERSION
+tar xzvf $CWD/$PRGNAM-$VERSION.tar.gz || exit 1
+cd $PRGNAM-$VERSION || exit 1
+
+chown -R root:root .
+chmod -R a-s,u+w,go+r-w .
+
+# Note about OpenLDAP:
+# The openldap-client package is part of Slackware since the 11.0 release.
+# If you want to store your KDC database in LDAP, you will need to configure
+# Heimdal with support for OpenLDAP:
+# Replace the line "--without-openldap" in the "configure" command a few lines
+# further down with: "--with-openldap=/usr"
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr/heimdal \
+ --enable-shared=yes \
+ --enable-kcm \
+ --without-krb4 \
+ --without-hesiod \
+ --without-ipv6 \
+ --without-openldap \
+ --with-x \
+ || exit 1
+
+make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+( cd $PKG
+ find . -type f | \
+ xargs file | \
+ grep "executable" | \
+ grep ELF | \
+ cut -f 1 -d : | \
+ xargs strip --strip-unneeded \
+ 2> /dev/null
+
+ find . -type f | \
+ xargs file | \
+ grep "shared object" | \
+ grep ELF | \
+ cut -f 1 -d : | \
+ xargs strip --strip-unneeded \
+ 2> /dev/null
+)
+
+# Compress manual pages, delete 'cat' pages that do not belong here
+( cd $PKG/usr/heimdal/man
+ rm -rf cat?
+ for i in `find . -type l` ; do ln -s $( readlink $i ).gz $i.gz ; rm -f $i ; done
+ find . -type f -name "*.?" -exec gzip -9f {} \;
+)
+
+# Compress info pages
+( cd $PKG/usr/heimdal/info
+ find . -type f \! -name dir -exec gzip -9 {} \;
+ # Link the main compressed info page to a name as if it was clear
+ # as otherwise the GNU info utility somehow fails to render it...
+ ln -s heimdal.info.gz heimdal
+)
+
+# Documentation :
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a NEWS README TODO* config.log krb5.conf \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/ChangeLog
+ cp -a ChangeLog* $PKG/usr/doc/$PRGNAM-$VERSION/ChangeLog
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/etc
+cp -a etc/services.append \
+ $PKG/usr/doc/$PRGNAM-$VERSION/etc
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/doc
+cp -a doc/{init-creds,layman.asc,mdate-sh} \
+ $PKG/usr/doc/$PRGNAM-$VERSION/doc
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/doc/standardisation
+cp -a doc/standardisation/* \
+ $PKG/usr/doc/$PRGNAM-$VERSION/doc/standardisation
+
+# Include this script as doc aswell
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+# Add sample krb5.conf file (may not be needed)
+mkdir -p $PKG/etc
+cp krb5.conf $PKG/etc/krb5.conf-sample.new
+
+# Create directory for the KDC to use
+mkdir -p $PKG/var/heimdal
+
+# Add sample kdc.conf file
+cat $CWD/kdc.conf >$PKG/var/heimdal/kdc.conf-sample.new
+
+# Include a KDC rc-file for the admin to consider
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.heimdal > $PKG/etc/rc.d/rc.heimdal.new
+chmod +x $PKG/etc/rc.d/rc.heimdal.new
+
+# Add heimdal to INFOPATH , MANPATH and PATH
+mkdir -p $PKG/etc/profile.d
+cat $CWD/heimdal.sh > $PKG/etc/profile.d/heimdal.sh.new
+cat $CWD/heimdal.csh > $PKG/etc/profile.d/heimdal.csh.new
+
+mkdir $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
+
+# Clean up the extra stuff:
+if [ "$1" = "--cleanup" ]; then
+ rm -rf $TMP/$PRGNAM-$VERSION
+ rm -rf $PKG
+fi
+
diff --git a/network/heimdal/heimdal.csh b/network/heimdal/heimdal.csh
new file mode 100644
index 0000000000000..811b0593a98e4
--- /dev/null
+++ b/network/heimdal/heimdal.csh
@@ -0,0 +1,10 @@
+#!/bin/csh
+
+# Set INFOPATH and MANPATH
+setenv INFOPATH "/usr/heimdal/info"
+setenv MANPATH "${MANPATH}:/usr/heimdal/man"
+
+setenv PATH "${PATH}:/usr/heimdal/bin"
+if ( x"$uid" == x"0" ) then
+ setenv PATH "${PATH}:/usr/heimdal/sbin"
+endif
diff --git a/network/heimdal/heimdal.info b/network/heimdal/heimdal.info
new file mode 100644
index 0000000000000..1c8d4db535d91
--- /dev/null
+++ b/network/heimdal/heimdal.info
@@ -0,0 +1,8 @@
+PRGNAM="heimdal"
+VERSION="0.7.2"
+HOMEPAGE="http://www.pdc.kth.se/heimdal/"
+DOWNLOAD="ftp://ftp.pdc.kth.se/pub/heimdal/src/heimdal-0.7.2.tar.gz"
+MD5SUM="c937580d6f8b11bf7f0e540530e1dc18"
+MAINTAINER="Menno E. Duursma"
+EMAIL="druiloor@zonnet.nl"
+APPROVED="alien"
diff --git a/network/heimdal/heimdal.sh b/network/heimdal/heimdal.sh
new file mode 100644
index 0000000000000..127c6afcd8a08
--- /dev/null
+++ b/network/heimdal/heimdal.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Set INFOPATH and MANPATH
+INFOPATH="/usr/heimdal/info:"
+MANPATH="${MANPATH}:/usr/heimdal/man"
+
+PATH="${PATH}:/usr/heimdal/bin"
+if [ x"${EUID}" == x"0" ]; then
+ PATH="${PATH}:/usr/heimdal/sbin"
+fi
+
+export INFOPATH MANPATH PATH
diff --git a/network/heimdal/kdc.conf b/network/heimdal/kdc.conf
new file mode 100644
index 0000000000000..180b8ab69e91d
--- /dev/null
+++ b/network/heimdal/kdc.conf
@@ -0,0 +1,20 @@
+# Leave this section out on the clients
+[kdc]
+ # Space seperated list of addresses to listen for requests on.
+ #addresses = 192.168.0.1 172.16.0.1 10.0.0.1
+
+ # Following directive is needed when KDC starts atomatically
+ require-preauth = no
+
+ # database key file
+ key-file = /var/heimdal/key-file
+
+ # Check the addresses in the ticket when processing TGS requests.
+ check-ticket-addresses = TRUE
+
+ # Permit tickets with no addresses.
+ #allow-null-ticket-addresses = TRUE
+
+ # Permit anonymous tickets with no addresses.
+ #allow-anonymous = TRUE
+
diff --git a/network/heimdal/rc.heimdal b/network/heimdal/rc.heimdal
new file mode 100644
index 0000000000000..7c0b93fe72b84
--- /dev/null
+++ b/network/heimdal/rc.heimdal
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+heimdal_start() {
+ if [ -r /var/heimdal/kdc.conf -a -x /usr/heimdal/libexec/kdc ]; then
+ echo "Starting the Kerberos service: /usr/heimdal/libexec/kdc --detach"
+ /usr/heimdal/libexec/kdc --detach
+ fi
+
+}
+
+heimdal_stop() {
+ killall kdc
+
+}
+
+heimdal_restart() {
+ heimdal_stop
+ sleep 1
+ heimdal_start
+
+}
+
+case "$1" in
+'start')
+ heimdal_start
+ ;;
+'stop')
+ heimdal_stop
+ ;;
+'restart')
+ heimdal_restart
+ ;;
+*)
+ echo "Usage: $0 start|stop|restart"
+esac
+
diff --git a/network/heimdal/slack-desc b/network/heimdal/slack-desc
new file mode 100644
index 0000000000000..be529945adf7b
--- /dev/null
+++ b/network/heimdal/slack-desc
@@ -0,0 +1,11 @@
+heimdal: KTH Heimdal Kerberos
+heimdal:
+heimdal: Heimdal is an implementation of Kerberos 5, largely written in Sweden.
+heimdal: It is freely available under a three clause BSD style license.
+heimdal:
+heimdal: This package includes all basic Kerberos functionality; a KDC
+heimdal: (key distribution center) ``kerberized'' versions of programs such
+heimdal: as such as login and ftp/ftpd , telnet/telnetd and administration
+heimdal: utilities such as ``klist'' and ``kadmin''. krb and GSSAPI libs.
+heimdal:
+heimdal: This package installs in /usr/heimdal to avoid naming conflicts.