pkgsrc/security/kth-krb4/patches/patch-lib_krb_recvauth.c
marino acb9ab6be4 security/kth-krb4: Add DragonFly and FreeBSD support
The majority of these patches were inspired from FreeBSD's ports.  FreeBSD,
along with at least Debian, have removed Kerberos4 due to secuity concerns.
From: http://web.mit.edu/kerberos/krb4-end-of-life.html :

"Serious protocol flaws[2] have been found in Kerberos 4. These flaws permit
attacks which require far less effort than an exhaustive search of the DES
key space. These flaws make Kerberos 4 cross-realm authentication an
unacceptable security risk and raise serious questions about the security of
the entire Kerberos 4 protocol.

The known insecurity of DES, combined with the recently discovered protocol
flaws, make it extremely inadvisable to rely on the security of version 4 of
the Kerberos protocol. These factors motivate the MIT Kerberos Team to remove
support for Kerberos version 4 from the MIT implementation of Kerberos."

This end-of-life announcement is dated 19 October 2006.  I think it's a
good question to ask why this package and the packages that depend on it
are still in pkgsrc.
2011-11-28 19:33:13 +00:00

16 lines
696 B
C

$NetBSD: patch-lib_krb_recvauth.c,v 1.1 2011/11/28 19:33:13 marino Exp $
--- lib/krb/recvauth.c.orig 2001-08-26 02:52:18.000000000 +0000
+++ lib/krb/recvauth.c
@@ -108,7 +108,11 @@ krb_recvauth(int32_t options, /* bit-pat
struct sockaddr_in *laddr, /* local address */
AUTH_DAT *kdata, /* kerberos data (returned) */
char *filename, /* name of file with service keys */
+#if defined(__DragonFly__) || defined (__FreeBSD__)
+ des_key_schedule schedule,
+#else
struct des_ks_struct *schedule, /* key schedule (return) */
+#endif
char *version) /* version string (filled in) */
{
char krb_vers[KRB_SENDAUTH_VLEN + 1]; /* + 1 for the null terminator */