svn commit: r348875 - head/sys/kgssapi/krb5
John Baldwin
jhb at FreeBSD.org
Mon Jun 10 19:22:38 UTC 2019
Author: jhb
Date: Mon Jun 10 19:22:36 2019
New Revision: 348875
URL: https://svnweb.freebsd.org/changeset/base/348875
Log:
Add warnings for Kerberos GSS algorithms deprecated in RFCs 6649 and 8429.
All of these algorithms are explicitly marked SHOULD NOT in one of these
RFCs.
Specifically, RFC 6649 deprecates all algorithms using DES as well as
the "export-friendly" variant of RC4. RFC 8429 deprecates Triple DES
and the remaining RC4 algorithms.
Reviewed by: cem
MFC after: 1 month
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D20343
Modified:
head/sys/kgssapi/krb5/kcrypto_arcfour.c
head/sys/kgssapi/krb5/kcrypto_des.c
head/sys/kgssapi/krb5/kcrypto_des3.c
Modified: head/sys/kgssapi/krb5/kcrypto_arcfour.c
==============================================================================
--- head/sys/kgssapi/krb5/kcrypto_arcfour.c Mon Jun 10 19:01:54 2019 (r348874)
+++ head/sys/kgssapi/krb5/kcrypto_arcfour.c Mon Jun 10 19:22:36 2019 (r348875)
@@ -46,8 +46,12 @@ __FBSDID("$FreeBSD$");
static void
arcfour_init(struct krb5_key_state *ks)
{
+ static struct timeval lastwarn;
+ static struct timeval warninterval = { .tv_sec = 3600, .tv_usec = 0 };
ks->ks_priv = NULL;
+ if (ratecheck(&lastwarn, &warninterval))
+ gone_in(13, "RC4 cipher for Kerberos GSS");
}
static void
Modified: head/sys/kgssapi/krb5/kcrypto_des.c
==============================================================================
--- head/sys/kgssapi/krb5/kcrypto_des.c Mon Jun 10 19:01:54 2019 (r348874)
+++ head/sys/kgssapi/krb5/kcrypto_des.c Mon Jun 10 19:22:36 2019 (r348875)
@@ -53,11 +53,15 @@ struct des1_state {
static void
des1_init(struct krb5_key_state *ks)
{
+ static struct timeval lastwarn;
+ static struct timeval warninterval = { .tv_sec = 3600, .tv_usec = 0 };
struct des1_state *ds;
ds = malloc(sizeof(struct des1_state), M_GSSAPI, M_WAITOK|M_ZERO);
mtx_init(&ds->ds_lock, "gss des lock", NULL, MTX_DEF);
ks->ks_priv = ds;
+ if (ratecheck(&lastwarn, &warninterval))
+ gone_in(13, "DES cipher for Kerberos GSS");
}
static void
Modified: head/sys/kgssapi/krb5/kcrypto_des3.c
==============================================================================
--- head/sys/kgssapi/krb5/kcrypto_des3.c Mon Jun 10 19:01:54 2019 (r348874)
+++ head/sys/kgssapi/krb5/kcrypto_des3.c Mon Jun 10 19:22:36 2019 (r348875)
@@ -54,11 +54,15 @@ struct des3_state {
static void
des3_init(struct krb5_key_state *ks)
{
+ static struct timeval lastwarn;
+ static struct timeval warninterval = { .tv_sec = 3600, .tv_usec = 0 };
struct des3_state *ds;
ds = malloc(sizeof(struct des3_state), M_GSSAPI, M_WAITOK|M_ZERO);
mtx_init(&ds->ds_lock, "gss des3 lock", NULL, MTX_DEF);
ks->ks_priv = ds;
+ if (ratecheck(&lastwarn, &warninterval))
+ gone_in(13, "DES3 cipher for Kerberos GSS");
}
static void
More information about the svn-src-all
mailing list