aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--security/Makefile1
-rw-r--r--security/krb4/Makefile48
-rw-r--r--security/krb4/Makefile.man61
-rw-r--r--security/krb4/distinfo1
-rw-r--r--security/krb4/files/patch-appl::Makefile.in12
-rw-r--r--security/krb4/files/patch-appl::bsd::Makefile.in12
-rw-r--r--security/krb4/files/patch-appl::bsd::encrypt.c36
-rw-r--r--security/krb4/files/patch-kadmin::Makefile.in66
-rw-r--r--security/krb4/files/patch-lib::Makefile.in36
-rw-r--r--security/krb4/files/patch-lib::kadm::kadm_cli_wrap.c19
-rw-r--r--security/krb4/files/patch-lib::krb::krb-protos.h87
-rw-r--r--security/krb4/files/patch-lib::krb::krb_check_auth.c19
-rw-r--r--security/krb4/files/patch-lib::krb::mk_priv.c19
-rw-r--r--security/krb4/files/patch-lib::krb::rd_priv.c19
-rw-r--r--security/krb4/files/patch-lib::krb::recvauth.c19
-rw-r--r--security/krb4/files/patch-lib::krb::sendauth.c19
-rw-r--r--security/krb4/files/patch-lib::krb::solaris_compat.c36
-rw-r--r--security/krb4/files/patch-ltmain.sh17
-rw-r--r--security/krb4/files/patch-tools::krb4-config.in19
-rw-r--r--security/krb4/pkg-descr4
-rw-r--r--security/krb4/pkg-message8
-rw-r--r--security/krb4/pkg-plist102
22 files changed, 660 insertions, 0 deletions
diff --git a/security/Makefile b/security/Makefile
index c65c48dbae11..a8b1dad17ec5 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -100,6 +100,7 @@
SUBDIR += keyprint
SUBDIR += kgpg
SUBDIR += knocker
+ SUBDIR += krb4
SUBDIR += krb5
SUBDIR += krb5-beta
SUBDIR += kssh
diff --git a/security/krb4/Makefile b/security/krb4/Makefile
new file mode 100644
index 000000000000..78616edb0c97
--- /dev/null
+++ b/security/krb4/Makefile
@@ -0,0 +1,48 @@
+# Ports collection Makefile for: krb4
+# Date created: 03/04/2003
+# Whom: nectar@FreeBSD.ORG
+#
+# $FreeBSD$
+#
+
+PORTNAME= krb4
+PORTVERSION= 1.2.1
+PORTREVISION= 0
+CATEGORIES= security ipv6
+MASTER_SITES= ftp://ftp.pdc.kth.se/pub/krb/src/
+
+MAINTAINER= nectar@FreeBSD.ORG
+COMMENT= KTH Kerberos 4
+
+# Don't remove this. This port installs several applications
+# which have the same name as some in the base system (e.g.
+# ftp, telnet, su).
+PREFIX?= ${LOCALBASE}/krb4
+
+PKGMESSAGE= ${WRKDIR}/pkg-message
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= \
+ --enable-shared \
+ --disable-otp \
+ --disable-afs-support \
+ --without-x
+CONFIGURE_ENV+= \
+ "CPPFLAGS=-DOPENSSL_DES_LIBDES_COMPATIBILITY" \
+ "LDFLAGS=-Wl,-rpath,${PREFIX}/lib"
+
+post-install:
+ install-info ${PREFIX}/info/kth-krb.info ${PREFIX}/info/dir
+ ${SED} -e "s~%%PREFIX%%~${PREFIX}~g" \
+ < ${.CURDIR}/pkg-message > ${PKGMESSAGE}
+ @${ECHO_CMD} "*** ATTENTION ***"
+ @${CAT} ${PKGMESSAGE}
+ @${ECHO_CMD} "or simply \`make setuids'."
+
+setuids:
+.for file in rsh rcp rlogin su
+ ${CHOWN} 0:0 ${PREFIX}/bin/${file}
+ ${CHMOD} u+s ${PREFIX}/bin/${file}
+.endfor
+
+.include "Makefile.man"
+.include <bsd.port.mk>
diff --git a/security/krb4/Makefile.man b/security/krb4/Makefile.man
new file mode 100644
index 000000000000..ff2c66534169
--- /dev/null
+++ b/security/krb4/Makefile.man
@@ -0,0 +1,61 @@
+MAN1 += ftp.1
+MAN1 += kauth.1
+MAN1 += kdestroy.1
+MAN1 += kerberos.1
+MAN1 += kinit.1
+MAN1 += klist.1
+MAN1 += krb4-config.1
+MAN1 += ksrvtgt.1
+MAN1 += kx.1
+MAN1 += login.1
+MAN1 += pfrom.1
+MAN1 += rcp.1
+MAN1 += rlogin.1
+MAN1 += rsh.1
+MAN1 += rxtelnet.1
+MAN1 += rxterm.1
+MAN1 += su.1
+MAN1 += telnet.1
+MAN1 += tenletxr.1
+MAN1 += xnlock.1
+MAN3 += acl_check.3
+MAN3 += editline.3
+MAN3 += getarg.3
+MAN3 += k_afs_cell_of_file.3
+MAN3 += k_hasafs.3
+MAN3 += k_pioctl.3
+MAN3 += k_setpag.3
+MAN3 += k_unlog.3
+MAN3 += kafs.3
+MAN3 += kerberos.3
+MAN3 += krb_afslog.3
+MAN3 += krb_afslog_uid.3
+MAN3 += krb_realmofhost.3
+MAN3 += krb_sendauth.3
+MAN3 += krb_set_tkt_string.3
+MAN3 += kuserok.3
+MAN3 += tf_util.3
+MAN5 += ftpusers.5
+MAN5 += krb.conf.5
+MAN5 += krb.equiv.5
+MAN5 += krb.extra.5
+MAN5 += krb.realms.5
+MAN5 += login.access.5
+MAN8 += ext_srvtab.8
+MAN8 += ftpd.8
+MAN8 += kauthd.8
+MAN8 += kdb_destroy.8
+MAN8 += kdb_edit.8
+MAN8 += kdb_init.8
+MAN8 += kdb_util.8
+MAN8 += kerberos.8
+MAN8 += kprop.8
+MAN8 += kpropd.8
+MAN8 += kstash.8
+MAN8 += kxd.8
+MAN8 += movemail.8
+MAN8 += popper.8
+MAN8 += push.8
+MAN8 += rlogind.8
+MAN8 += rshd.8
+MAN8 += telnetd.8
diff --git a/security/krb4/distinfo b/security/krb4/distinfo
new file mode 100644
index 000000000000..3ab86da2743c
--- /dev/null
+++ b/security/krb4/distinfo
@@ -0,0 +1 @@
+MD5 (krb4-1.2.1.tar.gz) = 0a18ef26ec7ab67082d43797ebd23a62
diff --git a/security/krb4/files/patch-appl::Makefile.in b/security/krb4/files/patch-appl::Makefile.in
new file mode 100644
index 000000000000..14b42cf2b39c
--- /dev/null
+++ b/security/krb4/files/patch-appl::Makefile.in
@@ -0,0 +1,12 @@
+*** appl/Makefile.in.orig Tue Oct 22 23:39:31 2002
+--- appl/Makefile.in Thu Feb 27 20:57:32 2003
+***************
+*** 205,211 ****
+ @OTP_TRUE@dir_otp = otp
+
+ SUBDIRS = \
+- afsutil \
+ bsd \
+ ftp \
+ kauth \
+--- 205,210 ----
diff --git a/security/krb4/files/patch-appl::bsd::Makefile.in b/security/krb4/files/patch-appl::bsd::Makefile.in
new file mode 100644
index 000000000000..762c7f7da907
--- /dev/null
+++ b/security/krb4/files/patch-appl::bsd::Makefile.in
@@ -0,0 +1,12 @@
+*** appl/bsd/Makefile.in.orig Tue Mar 4 19:16:14 2003
+--- appl/bsd/Makefile.in Tue Mar 4 19:16:34 2003
+***************
+*** 203,209 ****
+ @DCE_TRUE@LIB_kdfs = $(top_builddir)/lib/kdfs/libkdfs.la
+
+ bin_PROGRAMS = rsh rcp rlogin su login
+- bin_SUIDS = rsh rcp rlogin su
+ libexec_PROGRAMS = rshd rlogind
+
+ man_MANS = login.1 login.access.5 rcp.1 rlogin.1 rlogind.8 rsh.1 \
+--- 203,208 ----
diff --git a/security/krb4/files/patch-appl::bsd::encrypt.c b/security/krb4/files/patch-appl::bsd::encrypt.c
new file mode 100644
index 000000000000..98a7109e2646
--- /dev/null
+++ b/security/krb4/files/patch-appl::bsd::encrypt.c
@@ -0,0 +1,36 @@
+*** appl/bsd/encrypt.c.orig Sun Sep 9 15:27:22 2001
+--- appl/bsd/encrypt.c Thu Feb 27 15:20:00 2003
+***************
+*** 68,74 ****
+ int LEFT_JUSTIFIED = 0;
+
+ int
+! bsd_des_enc_read(int fd, char *buf, int len, struct des_ks_struct *sched, des_cblock *iv)
+ {
+ /* data to be unencrypted */
+ int net_num=0;
+--- 68,74 ----
+ int LEFT_JUSTIFIED = 0;
+
+ int
+! bsd_des_enc_read(int fd, char *buf, int len, des_key_schedule sched, des_cblock *iv)
+ {
+ /* data to be unencrypted */
+ int net_num=0;
+***************
+*** 213,219 ****
+ }
+
+ int
+! bsd_des_enc_write(int fd, char *buf, int len, struct des_ks_struct *sched, des_cblock *iv)
+ {
+ long rnum;
+ int i,j,k,outnum;
+--- 213,219 ----
+ }
+
+ int
+! bsd_des_enc_write(int fd, char *buf, int len, des_key_schedule sched, des_cblock *iv)
+ {
+ long rnum;
+ int i,j,k,outnum;
diff --git a/security/krb4/files/patch-kadmin::Makefile.in b/security/krb4/files/patch-kadmin::Makefile.in
new file mode 100644
index 000000000000..9966e5b7c7a6
--- /dev/null
+++ b/security/krb4/files/patch-kadmin::Makefile.in
@@ -0,0 +1,66 @@
+*** kadmin/Makefile.in.orig Tue Oct 22 23:39:40 2002
+--- kadmin/Makefile.in Thu Feb 27 20:06:35 2003
+***************
+*** 210,216 ****
+ $(top_builddir)/lib/kadm/libkadm.la \
+ $(top_builddir)/lib/krb/libkrb.la \
+ $(LIB_des) \
+- $(top_builddir)/lib/com_err/libcom_err.la \
+ $(LIB_roken)
+
+
+--- 210,215 ----
+***************
+*** 256,262 ****
+ kadmin_OBJECTS = $(am_kadmin_OBJECTS)
+ kadmin_DEPENDENCIES = $(top_builddir)/lib/kadm/libkadm.la \
+ $(top_builddir)/lib/krb/libkrb.la \
+- $(top_builddir)/lib/com_err/libcom_err.la \
+ $(top_builddir)/lib/sl/libsl.la
+ kadmin_LDFLAGS =
+ am_kadmind_OBJECTS = kadm_server.$(OBJEXT) kadm_funcs.$(OBJEXT) \
+--- 255,260 ----
+***************
+*** 266,287 ****
+ kadmind_DEPENDENCIES = $(top_builddir)/lib/kdb/libkdb.la \
+ $(top_builddir)/lib/acl/libacl.la \
+ $(top_builddir)/lib/kadm/libkadm.la \
+! $(top_builddir)/lib/krb/libkrb.la \
+! $(top_builddir)/lib/com_err/libcom_err.la
+ kadmind_LDFLAGS =
+ am_kpasswd_OBJECTS = kpasswd.$(OBJEXT) new_pwd.$(OBJEXT)
+ kpasswd_OBJECTS = $(am_kpasswd_OBJECTS)
+ kpasswd_LDADD = $(LDADD)
+ kpasswd_DEPENDENCIES = $(top_builddir)/lib/kadm/libkadm.la \
+! $(top_builddir)/lib/krb/libkrb.la \
+! $(top_builddir)/lib/com_err/libcom_err.la
+ kpasswd_LDFLAGS =
+ am_ksrvutil_OBJECTS = ksrvutil.$(OBJEXT) ksrvutil_get.$(OBJEXT)
+ ksrvutil_OBJECTS = $(am_ksrvutil_OBJECTS)
+ ksrvutil_LDADD = $(LDADD)
+ ksrvutil_DEPENDENCIES = $(top_builddir)/lib/kadm/libkadm.la \
+! $(top_builddir)/lib/krb/libkrb.la \
+! $(top_builddir)/lib/com_err/libcom_err.la
+ ksrvutil_LDFLAGS =
+
+ DEFS = @DEFS@
+--- 264,282 ----
+ kadmind_DEPENDENCIES = $(top_builddir)/lib/kdb/libkdb.la \
+ $(top_builddir)/lib/acl/libacl.la \
+ $(top_builddir)/lib/kadm/libkadm.la \
+! $(top_builddir)/lib/krb/libkrb.la
+ kadmind_LDFLAGS =
+ am_kpasswd_OBJECTS = kpasswd.$(OBJEXT) new_pwd.$(OBJEXT)
+ kpasswd_OBJECTS = $(am_kpasswd_OBJECTS)
+ kpasswd_LDADD = $(LDADD)
+ kpasswd_DEPENDENCIES = $(top_builddir)/lib/kadm/libkadm.la \
+! $(top_builddir)/lib/krb/libkrb.la
+ kpasswd_LDFLAGS =
+ am_ksrvutil_OBJECTS = ksrvutil.$(OBJEXT) ksrvutil_get.$(OBJEXT)
+ ksrvutil_OBJECTS = $(am_ksrvutil_OBJECTS)
+ ksrvutil_LDADD = $(LDADD)
+ ksrvutil_DEPENDENCIES = $(top_builddir)/lib/kadm/libkadm.la \
+! $(top_builddir)/lib/krb/libkrb.la
+ ksrvutil_LDFLAGS =
+
+ DEFS = @DEFS@
diff --git a/security/krb4/files/patch-lib::Makefile.in b/security/krb4/files/patch-lib::Makefile.in
new file mode 100644
index 000000000000..a7ec883730a6
--- /dev/null
+++ b/security/krb4/files/patch-lib::Makefile.in
@@ -0,0 +1,36 @@
+*** lib/Makefile.in.orig Tue Oct 22 23:39:41 2002
+--- lib/Makefile.in Thu Feb 27 19:54:34 2003
+***************
+*** 204,210 ****
+
+ @OTP_TRUE@dir_otp = otp
+
+! SUBDIRS = @DIR_roken@ vers com_err @DIR_des@ krb kdb kadm acl \
+ kafs auth editline sl $(dir_otp)
+
+ subdir = lib
+--- 204,210 ----
+
+ @OTP_TRUE@dir_otp = otp
+
+! SUBDIRS = @DIR_roken@ vers @DIR_des@ krb kdb kadm acl \
+ kafs auth editline sl $(dir_otp)
+
+ subdir = lib
+***************
+*** 228,234 ****
+ install-exec-recursive installdirs-recursive install-recursive \
+ uninstall-recursive check-recursive installcheck-recursive
+ DIST_COMMON = Makefile.am Makefile.in
+! DIST_SUBDIRS = @DIR_roken@ vers com_err @DIR_des@ krb kdb kadm acl kafs \
+ auth editline sl otp
+ all: all-recursive
+
+--- 228,234 ----
+ install-exec-recursive installdirs-recursive install-recursive \
+ uninstall-recursive check-recursive installcheck-recursive
+ DIST_COMMON = Makefile.am Makefile.in
+! DIST_SUBDIRS = @DIR_roken@ vers @DIR_des@ krb kdb kadm acl kafs \
+ auth editline sl otp
+ all: all-recursive
+
diff --git a/security/krb4/files/patch-lib::kadm::kadm_cli_wrap.c b/security/krb4/files/patch-lib::kadm::kadm_cli_wrap.c
new file mode 100644
index 000000000000..ee800990abc8
--- /dev/null
+++ b/security/krb4/files/patch-lib::kadm::kadm_cli_wrap.c
@@ -0,0 +1,19 @@
+*** lib/kadm/kadm_cli_wrap.c.orig Thu Aug 15 06:31:37 2002
+--- lib/kadm/kadm_cli_wrap.c Thu Feb 27 15:14:20 2003
+***************
+*** 138,144 ****
+ /* takes in the sess_key and key_schedule and sets them appropriately */
+ static int
+ kadm_cli_keyd(des_cblock (*s_k), /* session key */
+! struct des_ks_struct *s_s) /* session key schedule */
+ {
+ CREDENTIALS cred; /* to get key data */
+ int stat;
+--- 138,144 ----
+ /* takes in the sess_key and key_schedule and sets them appropriately */
+ static int
+ kadm_cli_keyd(des_cblock (*s_k), /* session key */
+! des_key_schedule s_s) /* session key schedule */
+ {
+ CREDENTIALS cred; /* to get key data */
+ int stat;
diff --git a/security/krb4/files/patch-lib::krb::krb-protos.h b/security/krb4/files/patch-lib::krb::krb-protos.h
new file mode 100644
index 000000000000..d12b97f9389c
--- /dev/null
+++ b/security/krb4/files/patch-lib::krb::krb-protos.h
@@ -0,0 +1,87 @@
+*** lib/krb/krb-protos.h.orig Sat Aug 25 20:46:51 2001
+--- lib/krb/krb-protos.h Thu Feb 27 15:14:20 2003
+***************
+*** 177,183 ****
+ u_int32_t checksum,
+ MSG_DAT *msg_data,
+ des_cblock *session,
+! struct des_ks_struct *schedule,
+ struct sockaddr_in *laddr,
+ struct sockaddr_in *faddr));
+
+--- 177,183 ----
+ u_int32_t checksum,
+ MSG_DAT *msg_data,
+ des_cblock *session,
+! des_key_schedule schedule,
+ struct sockaddr_in *laddr,
+ struct sockaddr_in *faddr));
+
+***************
+*** 457,463 ****
+ void *in,
+ void *out,
+ u_int32_t length,
+! struct des_ks_struct *schedule,
+ des_cblock *key,
+ struct sockaddr_in *sender,
+ struct sockaddr_in *receiver));
+--- 457,463 ----
+ void *in,
+ void *out,
+ u_int32_t length,
+! des_key_schedule schedule,
+ des_cblock *key,
+ struct sockaddr_in *sender,
+ struct sockaddr_in *receiver));
+***************
+*** 540,546 ****
+ krb_rd_priv __P((
+ void *in,
+ u_int32_t in_length,
+! struct des_ks_struct *schedule,
+ des_cblock *key,
+ struct sockaddr_in *sender,
+ struct sockaddr_in *receiver,
+--- 540,546 ----
+ krb_rd_priv __P((
+ void *in,
+ u_int32_t in_length,
+! des_key_schedule schedule,
+ des_cblock *key,
+ struct sockaddr_in *sender,
+ struct sockaddr_in *receiver,
+***************
+*** 583,589 ****
+ struct sockaddr_in *laddr,
+ AUTH_DAT *kdata,
+ char *filename,
+! struct des_ks_struct *schedule,
+ char *version));
+
+ int KRB_LIB_FUNCTION
+--- 583,589 ----
+ struct sockaddr_in *laddr,
+ AUTH_DAT *kdata,
+ char *filename,
+! des_key_schedule schedule,
+ char *version));
+
+ int KRB_LIB_FUNCTION
+***************
+*** 597,603 ****
+ u_int32_t checksum,
+ MSG_DAT *msg_data,
+ CREDENTIALS *cred,
+! struct des_ks_struct *schedule,
+ struct sockaddr_in *laddr,
+ struct sockaddr_in *faddr,
+ char *version));
+--- 597,603 ----
+ u_int32_t checksum,
+ MSG_DAT *msg_data,
+ CREDENTIALS *cred,
+! des_key_schedule schedule,
+ struct sockaddr_in *laddr,
+ struct sockaddr_in *faddr,
+ char *version));
diff --git a/security/krb4/files/patch-lib::krb::krb_check_auth.c b/security/krb4/files/patch-lib::krb::krb_check_auth.c
new file mode 100644
index 000000000000..507d082b0f8b
--- /dev/null
+++ b/security/krb4/files/patch-lib::krb::krb_check_auth.c
@@ -0,0 +1,19 @@
+*** lib/krb/krb_check_auth.c.orig Thu Dec 2 10:58:42 1999
+--- lib/krb/krb_check_auth.c Thu Feb 27 15:14:20 2003
+***************
+*** 50,56 ****
+ u_int32_t checksum,
+ MSG_DAT *msg_data,
+ des_cblock *session,
+! struct des_ks_struct *schedule,
+ struct sockaddr_in *laddr,
+ struct sockaddr_in *faddr)
+ {
+--- 50,56 ----
+ u_int32_t checksum,
+ MSG_DAT *msg_data,
+ des_cblock *session,
+! des_key_schedule schedule,
+ struct sockaddr_in *laddr,
+ struct sockaddr_in *faddr)
+ {
diff --git a/security/krb4/files/patch-lib::krb::mk_priv.c b/security/krb4/files/patch-lib::krb::mk_priv.c
new file mode 100644
index 000000000000..982ccf410568
--- /dev/null
+++ b/security/krb4/files/patch-lib::krb::mk_priv.c
@@ -0,0 +1,19 @@
+*** lib/krb/mk_priv.c.orig Sun Sep 16 17:41:58 2001
+--- lib/krb/mk_priv.c Thu Feb 27 15:14:20 2003
+***************
+*** 78,84 ****
+
+ int32_t
+ krb_mk_priv(void *in, void *out, u_int32_t length,
+! struct des_ks_struct *schedule, des_cblock *key,
+ struct sockaddr_in *sender, struct sockaddr_in *receiver)
+ {
+ unsigned char *p = (unsigned char*)out;
+--- 78,84 ----
+
+ int32_t
+ krb_mk_priv(void *in, void *out, u_int32_t length,
+! des_key_schedule schedule, des_cblock *key,
+ struct sockaddr_in *sender, struct sockaddr_in *receiver)
+ {
+ unsigned char *p = (unsigned char*)out;
diff --git a/security/krb4/files/patch-lib::krb::rd_priv.c b/security/krb4/files/patch-lib::krb::rd_priv.c
new file mode 100644
index 000000000000..73a7680f10b5
--- /dev/null
+++ b/security/krb4/files/patch-lib::krb::rd_priv.c
@@ -0,0 +1,19 @@
+*** lib/krb/rd_priv.c.orig Sun Sep 16 17:41:58 2001
+--- lib/krb/rd_priv.c Thu Feb 27 15:14:20 2003
+***************
+*** 57,63 ****
+
+ int32_t
+ krb_rd_priv(void *in, u_int32_t in_length,
+! struct des_ks_struct *schedule, des_cblock *key,
+ struct sockaddr_in *sender, struct sockaddr_in *receiver,
+ MSG_DAT *m_data)
+ {
+--- 57,63 ----
+
+ int32_t
+ krb_rd_priv(void *in, u_int32_t in_length,
+! des_key_schedule schedule, des_cblock *key,
+ struct sockaddr_in *sender, struct sockaddr_in *receiver,
+ MSG_DAT *m_data)
+ {
diff --git a/security/krb4/files/patch-lib::krb::recvauth.c b/security/krb4/files/patch-lib::krb::recvauth.c
new file mode 100644
index 000000000000..efafb2f8a051
--- /dev/null
+++ b/security/krb4/files/patch-lib::krb::recvauth.c
@@ -0,0 +1,19 @@
+*** lib/krb/recvauth.c.orig Sat Aug 25 21:52:18 2001
+--- lib/krb/recvauth.c Thu Feb 27 15:14:20 2003
+***************
+*** 108,114 ****
+ struct sockaddr_in *laddr, /* local address */
+ AUTH_DAT *kdata, /* kerberos data (returned) */
+ char *filename, /* name of file with service keys */
+! struct des_ks_struct *schedule, /* key schedule (return) */
+ char *version) /* version string (filled in) */
+ {
+ char krb_vers[KRB_SENDAUTH_VLEN + 1]; /* + 1 for the null terminator */
+--- 108,114 ----
+ struct sockaddr_in *laddr, /* local address */
+ AUTH_DAT *kdata, /* kerberos data (returned) */
+ char *filename, /* name of file with service keys */
+! des_key_schedule schedule, /* key schedule (return) */
+ char *version) /* version string (filled in) */
+ {
+ char krb_vers[KRB_SENDAUTH_VLEN + 1]; /* + 1 for the null terminator */
diff --git a/security/krb4/files/patch-lib::krb::sendauth.c b/security/krb4/files/patch-lib::krb::sendauth.c
new file mode 100644
index 000000000000..b2f7d950732f
--- /dev/null
+++ b/security/krb4/files/patch-lib::krb::sendauth.c
@@ -0,0 +1,19 @@
+*** lib/krb/sendauth.c.orig Thu Sep 16 15:41:55 1999
+--- lib/krb/sendauth.c Thu Feb 27 15:14:20 2003
+***************
+*** 103,109 ****
+ u_int32_t checksum, /* checksum to include in request */
+ MSG_DAT *msg_data, /* mutual auth MSG_DAT (return) */
+ CREDENTIALS *cred, /* credentials (return) */
+! struct des_ks_struct *schedule, /* key schedule (return) */
+ struct sockaddr_in *laddr, /* local address */
+ struct sockaddr_in *faddr, /* address of foreign host on fd */
+ char *version) /* version string */
+--- 103,109 ----
+ u_int32_t checksum, /* checksum to include in request */
+ MSG_DAT *msg_data, /* mutual auth MSG_DAT (return) */
+ CREDENTIALS *cred, /* credentials (return) */
+! des_key_schedule schedule, /* key schedule (return) */
+ struct sockaddr_in *laddr, /* local address */
+ struct sockaddr_in *faddr, /* address of foreign host on fd */
+ char *version) /* version string */
diff --git a/security/krb4/files/patch-lib::krb::solaris_compat.c b/security/krb4/files/patch-lib::krb::solaris_compat.c
new file mode 100644
index 000000000000..976d2c097515
--- /dev/null
+++ b/security/krb4/files/patch-lib::krb::solaris_compat.c
@@ -0,0 +1,36 @@
+*** lib/krb/solaris_compat.c.orig Thu Dec 2 10:58:44 1999
+--- lib/krb/solaris_compat.c Thu Feb 27 15:14:20 2003
+***************
+*** 42,48 ****
+
+ int32_t
+ _C0095C2A(void *in, void *out, u_int32_t length,
+! struct des_ks_struct *schedule, des_cblock *key,
+ struct sockaddr_in *sender, struct sockaddr_in *receiver)
+ {
+ return krb_mk_priv (in, out, length, schedule, key, sender, receiver);
+--- 42,48 ----
+
+ int32_t
+ _C0095C2A(void *in, void *out, u_int32_t length,
+! des_key_schedule schedule, des_cblock *key,
+ struct sockaddr_in *sender, struct sockaddr_in *receiver)
+ {
+ return krb_mk_priv (in, out, length, schedule, key, sender, receiver);
+***************
+*** 50,56 ****
+
+ int32_t
+ _C0095C2B(void *in, u_int32_t in_length,
+! struct des_ks_struct *schedule, des_cblock *key,
+ struct sockaddr_in *sender, struct sockaddr_in *receiver,
+ MSG_DAT *m_data)
+ {
+--- 50,56 ----
+
+ int32_t
+ _C0095C2B(void *in, u_int32_t in_length,
+! des_key_schedule schedule, des_cblock *key,
+ struct sockaddr_in *sender, struct sockaddr_in *receiver,
+ MSG_DAT *m_data)
+ {
diff --git a/security/krb4/files/patch-ltmain.sh b/security/krb4/files/patch-ltmain.sh
new file mode 100644
index 000000000000..13305b5b57e1
--- /dev/null
+++ b/security/krb4/files/patch-ltmain.sh
@@ -0,0 +1,17 @@
+*** ltmain.sh.orig Tue Oct 22 23:39:04 2002
+--- ltmain.sh Thu Feb 27 20:55:52 2003
+***************
+*** 4209,4220 ****
+ IFS="$save_ifs"
+ fi
+
+- # Install the pseudo-library for information purposes.
+- name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+- instname="$dir/$name"i
+- $show "$install_prog $instname $destdir/$name"
+- $run eval "$install_prog $instname $destdir/$name" || exit $?
+-
+ # Maybe install the static library, too.
+ test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+ ;;
+--- 4209,4214 ----
diff --git a/security/krb4/files/patch-tools::krb4-config.in b/security/krb4/files/patch-tools::krb4-config.in
new file mode 100644
index 000000000000..5e1ecc96691a
--- /dev/null
+++ b/security/krb4/files/patch-tools::krb4-config.in
@@ -0,0 +1,19 @@
+*** tools/krb4-config.in.orig Tue Mar 4 19:08:01 2003
+--- tools/krb4-config.in Tue Mar 4 19:08:15 2003
+***************
+*** 88,94 ****
+ fi
+
+ if test "$do_libs" = "yes"; then
+! lib_flags="-L${libdir}"
+ case $library in
+ kadm-client)
+ lib_flags="$lib_flags -lkadm"
+--- 88,94 ----
+ fi
+
+ if test "$do_libs" = "yes"; then
+! lib_flags="-L${libdir} -Wl,-rpath,${libdir}"
+ case $library in
+ kadm-client)
+ lib_flags="$lib_flags -lkadm"
diff --git a/security/krb4/pkg-descr b/security/krb4/pkg-descr
new file mode 100644
index 000000000000..fad59e4f8608
--- /dev/null
+++ b/security/krb4/pkg-descr
@@ -0,0 +1,4 @@
+The eBones-based Kerberos 4 distribution from Kungliga Tekniska
+Hogskolan (KTH).
+
+WWW: http://www.pdc.kth.se/kth-krb/
diff --git a/security/krb4/pkg-message b/security/krb4/pkg-message
new file mode 100644
index 000000000000..7bc4d5c2042d
--- /dev/null
+++ b/security/krb4/pkg-message
@@ -0,0 +1,8 @@
+If you want to use the Kerberos 4 r-commands or su, you will
+need to run the following command as root:
+
+ # chmod u+s %%PREFIX%%/bin/rsh
+ # chmod u+s %%PREFIX%%/bin/rcp
+ # chmod u+s %%PREFIX%%/bin/rlogin
+ # chmod u+s %%PREFIX%%/bin/su
+
diff --git a/security/krb4/pkg-plist b/security/krb4/pkg-plist
new file mode 100644
index 000000000000..9c4f94b4cc48
--- /dev/null
+++ b/security/krb4/pkg-plist
@@ -0,0 +1,102 @@
+bin/ftp
+bin/kadmin
+bin/kauth
+bin/kdestroy
+bin/kinit
+bin/kip
+bin/klist
+bin/kpasswd
+bin/krb4-config
+bin/ksrvtgt
+bin/login
+bin/mk_cmds
+bin/pfrom
+bin/rcp
+bin/rlogin
+bin/rsh
+bin/sample_client
+bin/simple_client
+bin/su
+bin/telnet
+bin/zrefresh
+include/acl.h
+include/base64.h
+include/des.h
+include/editline.h
+include/getarg.h
+include/kadm.h
+include/kadm_err.h
+include/kafs.h
+include/kdc.h
+include/klog.h
+include/krb-archaeology.h
+include/krb-protos.h
+include/krb.h
+include/krb_db.h
+include/krb_err.h
+include/krb_log.h
+include/ktypes.h
+include/parse_bytes.h
+include/parse_time.h
+include/parse_units.h
+include/prot.h
+include/protos.h
+include/resolve.h
+include/roken-common.h
+include/roken.h
+include/rtbl.h
+include/sl.h
+include/ss/ss.h
+include/xdbm.h
+@unexec install-info --delete %D/info/kth-krb.info %D/info/dir
+info/kth-krb.info
+@exec install-info %D/info/kth-krb.info %D/info/dir
+lib/libacl.a
+lib/libacl.so
+lib/libacl.so.1
+lib/libeditline.a
+lib/libkadm.a
+lib/libkadm.so
+lib/libkadm.so.1
+lib/libkafs.a
+lib/libkafs.so
+lib/libkafs.so.3
+lib/libkdb.a
+lib/libkdb.so
+lib/libkdb.so.1
+lib/libkrb.a
+lib/libkrb.so
+lib/libkrb.so.2
+lib/libroken.a
+lib/libroken.so
+lib/libroken.so.16
+lib/libsl.a
+lib/libsl.so
+lib/libsl.so.1
+lib/libss.a
+lib/libss.so
+lib/libss.so.1
+libexec/ftpd
+libexec/kadmind
+libexec/kauthd
+libexec/kerberos
+libexec/kip-join-network
+libexec/kipd
+libexec/kipd-control
+libexec/kprop
+libexec/kpropd
+libexec/movemail
+libexec/popper
+libexec/push
+libexec/rlogind
+libexec/rshd
+libexec/sample_server
+libexec/simple_server
+libexec/telnetd
+sbin/ext_srvtab
+sbin/kdb_destroy
+sbin/kdb_edit
+sbin/kdb_init
+sbin/kdb_util
+sbin/ksrvutil
+sbin/kstash