summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSam Hartman <hartmans@mit.edu>2003-04-09 18:19:18 +0000
committerSam Hartman <hartmans@mit.edu>2003-04-09 18:19:18 +0000
commit241c3aece6cb5569b525797c5bd3a3f64a7efad7 (patch)
treecf0d09733df6572ff93fcf2c8fc516583df5e9ff /src
parente0576e558e9179dd1fd7d4782f98f21ce1b59eb0 (diff)
downloadkrb5-241c3aece6cb5569b525797c5bd3a3f64a7efad7.tar.gz
krb5-241c3aece6cb5569b525797c5bd3a3f64a7efad7.tar.xz
krb5-241c3aece6cb5569b525797c5bd3a3f64a7efad7.zip
etype info handling infinite loop
If a request contains no des-cbc-crc enctype bumt des-cbc-crc or des-cbc-md5 existis in the database then an infinite loop is created. Fix etype info handling to avoid this. ticket: new Tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@15332 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/kdc/ChangeLog5
-rw-r--r--src/kdc/kdc_preauth.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/src/kdc/ChangeLog b/src/kdc/ChangeLog
index 11bd82825b..6fe495d341 100644
--- a/src/kdc/ChangeLog
+++ b/src/kdc/ChangeLog
@@ -1,3 +1,8 @@
+2003-04-02 Sam Hartman <hartmans@mit.edu>
+
+ * kdc_preauth.c (get_etype_info): Avoid infinite loop if request
+ does not contain des-cbc-crc and database does
+
2003-04-01 Nalin Dahyabhai <nalin@redhat.com>
* do_tgs_req.c (process_tgs_req): Check that principal name
diff --git a/src/kdc/kdc_preauth.c b/src/kdc/kdc_preauth.c
index f5c1e121ab..87b0358d7d 100644
--- a/src/kdc/kdc_preauth.c
+++ b/src/kdc/kdc_preauth.c
@@ -568,8 +568,10 @@ get_etype_info(krb5_context context, krb5_kdc_req *request,
while (1) {
if (!request_contains_enctype(context,
request, db_etype)) {
- if (db_etype == ENCTYPE_DES_CBC_CRC)
- continue;
+ if (db_etype == ENCTYPE_DES_CBC_CRC) {
+ db_etype = ENCTYPE_DES_CBC_MD5;
+ continue;
+ }
else break;
}