summaryrefslogtreecommitdiffstats
path: root/src/kdc
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>1999-01-05 05:15:28 +0000
committerTom Yu <tlyu@mit.edu>1999-01-05 05:15:28 +0000
commitff4835eab2fbff24f4569df1b40e52f31ff6b347 (patch)
tree82d0943ca418dce7639c25086c3779edfad7a464 /src/kdc
parent1e0f12d0fcd5f1a865c9d0502f0e3f8ef58ed5f0 (diff)
downloadkrb5-ff4835eab2fbff24f4569df1b40e52f31ff6b347.tar.gz
krb5-ff4835eab2fbff24f4569df1b40e52f31ff6b347.tar.xz
krb5-ff4835eab2fbff24f4569df1b40e52f31ff6b347.zip
* configure.in (withval): Conditinalize ATHENA_DES3_KLUDGE on
--enable-athena. * main.c (initialize_realms): Kludge to disable des3-marc-hmac-sha1 from the command line. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@11100 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kdc')
-rw-r--r--src/kdc/ChangeLog8
-rw-r--r--src/kdc/configure.in6
-rw-r--r--src/kdc/main.c19
3 files changed, 32 insertions, 1 deletions
diff --git a/src/kdc/ChangeLog b/src/kdc/ChangeLog
index 52809a831..861585654 100644
--- a/src/kdc/ChangeLog
+++ b/src/kdc/ChangeLog
@@ -1,3 +1,11 @@
+Mon Jan 4 23:50:45 1999 Tom Yu <tlyu@mit.edu>
+
+ * configure.in (withval): Conditinalize ATHENA_DES3_KLUDGE on
+ --enable-athena.
+
+ * main.c (initialize_realms): Kludge to disable
+ des3-marc-hmac-sha1 from the command line.
+
1998-11-13 Theodore Ts'o <tytso@rsts-11.mit.edu>
* Makefile.in: Set the myfulldir and mydir variables (which are
diff --git a/src/kdc/configure.in b/src/kdc/configure.in
index 23a068d05..bf4d06edb 100644
--- a/src/kdc/configure.in
+++ b/src/kdc/configure.in
@@ -32,6 +32,12 @@ if test "$withval" = yes; then
AC_MSG_RESULT(Updating KDC database with each request)
AC_DEFINE(KRBCONF_KDC_MODIFIES_KDB)
fi
+dnl XXX This will go away soon. -- tlyu
+AC_ARG_ENABLE([athena],
+[ --enable-athena build with MIT Project Athena configuration
+ -- here meaning use temporary DES3 etype that
+ includes 32-bit length codings],
+[AC_DEFINE(ATHENA_DES3_KLUDGE)],)
dnl
dnl
KRB5_RUN_FLAGS
diff --git a/src/kdc/main.c b/src/kdc/main.c
index a8f4233be..78b0a9949 100644
--- a/src/kdc/main.c
+++ b/src/kdc/main.c
@@ -609,6 +609,10 @@ initialize_realms(kcontext, argc, argv)
char *v4mode = 0;
#endif
extern char *optarg;
+#ifdef ATHENA_DES3_KLUDGE
+ extern struct krb5_keytypes krb5_enctypes_list[];
+ extern int krb5_enctypes_length;
+#endif
if (!krb5_aprof_init(DEFAULT_KDC_PROFILE, KDC_PROFILE_ENV, &aprof)) {
hierarchy[0] = "kdcdefaults";
@@ -631,7 +635,7 @@ initialize_realms(kcontext, argc, argv)
* Loop through the option list. Each time we encounter a realm name,
* use the previously scanned options to fill in for defaults.
*/
- while ((c = getopt(argc, argv, "r:d:mM:k:R:e:p:s:n4:")) != -1) {
+ while ((c = getopt(argc, argv, "r:d:mM:k:R:e:p:s:n4:3")) != -1) {
switch(c) {
case 'r': /* realm name for db */
if (!find_realm_data(optarg, (krb5_ui_4) strlen(optarg))) {
@@ -681,6 +685,19 @@ initialize_realms(kcontext, argc, argv)
v4mode = strdup(optarg);
#endif
break;
+ case '3':
+#ifdef ATHENA_DES3_KLUDGE
+ if (krb5_enctypes_list[krb5_enctypes_length-1].etype
+ != ENCTYPE_LOCAL_DES3_HMAC_SHA1) {
+ fprintf(stderr,
+ "internal inconsistency in enctypes_list"
+ " while disabling\n"
+ "des3-marc-hmac-sha1 enctype\n");
+ exit(1);
+ }
+ krb5_enctypes_length--;
+ break;
+#endif
case '?':
default:
usage(argv[0]);