diff options
| author | Richard Basch <probe@mit.edu> | 1996-03-20 01:02:02 +0000 |
|---|---|---|
| committer | Richard Basch <probe@mit.edu> | 1996-03-20 01:02:02 +0000 |
| commit | 5f2c7e282353c805b5f38ff7f320692faa0c05dd (patch) | |
| tree | a3aa45563e66aa8bee2c50d20d73160cb824208e /src/kadmin/ktutil | |
| parent | fc7abcb941d11df8d5447264bc4440a1255fcefb (diff) | |
| download | krb5-5f2c7e282353c805b5f38ff7f320692faa0c05dd.tar.gz krb5-5f2c7e282353c805b5f38ff7f320692faa0c05dd.tar.xz krb5-5f2c7e282353c805b5f38ff7f320692faa0c05dd.zip | |
* ktutil_funcs.c (ktutil_write_srvtab): use any type of des key
in the keytab to create a v4 srvtab
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7669 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin/ktutil')
| -rw-r--r-- | src/kadmin/ktutil/ChangeLog | 5 | ||||
| -rw-r--r-- | src/kadmin/ktutil/ktutil_funcs.c | 60 |
2 files changed, 37 insertions, 28 deletions
diff --git a/src/kadmin/ktutil/ChangeLog b/src/kadmin/ktutil/ChangeLog index 01a2505b1..d29e29b9a 100644 --- a/src/kadmin/ktutil/ChangeLog +++ b/src/kadmin/ktutil/ChangeLog @@ -1,3 +1,8 @@ +Tue Mar 19 19:41:31 1996 Richard Basch <basch@lehman.com> + + * ktutil_funcs.c (ktutil_write_srvtab): use any type of des key + in the keytab to create a v4 srvtab + Fri Jan 26 00:06:50 1996 Sam Hartman <hartmans@tertius.mit.edu> * ktutil.c (ktutil_list): Implement -e option to show enctypes. diff --git a/src/kadmin/ktutil/ktutil_funcs.c b/src/kadmin/ktutil/ktutil_funcs.c index bad66bdc7..5215fd815 100644 --- a/src/kadmin/ktutil/ktutil_funcs.c +++ b/src/kadmin/ktutil/ktutil_funcs.c @@ -319,36 +319,40 @@ krb5_error_code ktutil_write_srvtab(context, list, name) /* First do heinous stuff to prune the list. */ for (lp = list; lp; lp = lp->next) { - if (lp->entry->key.enctype == ENCTYPE_DES_CBC_CRC) {/* only DES keys! */ - for (lp1 = pruned; lp1; prev = lp1, lp1 = lp1->next) { - /* Hunt for the current principal in the pruned list */ - if (krb5_principal_compare(context, - lp->entry->principal, - lp1->entry->principal)) + if ((lp->entry->key.enctype != ENCTYPE_DES_CBC_CRC) && + (lp->entry->key.enctype != ENCTYPE_DES_CBC_MD5) && + (lp->entry->key.enctype != ENCTYPE_DES_CBC_MD4) && + (lp->entry->key.enctype != ENCTYPE_DES_CBC_RAW)) + continue; + + for (lp1 = pruned; lp1; prev = lp1, lp1 = lp1->next) { + /* Hunt for the current principal in the pruned list */ + if (krb5_principal_compare(context, + lp->entry->principal, + lp1->entry->principal)) break; - } - if (!lp1) { /* need to add entry to tail of pruned list */ - if (!pruned) { - pruned = (krb5_kt_list) malloc(sizeof (*pruned)); - if (!pruned) - return ENOMEM; - memset((char *) pruned, 0, sizeof(*pruned)); - lp1 = pruned; - } else { - prev->next - = (krb5_kt_list) malloc(sizeof (*pruned)); - if (!prev->next) { - retval = ENOMEM; - goto free_pruned; - } - memset((char *) prev->next, 0, sizeof(*pruned)); - lp1 = prev->next; - } - lp1->entry = lp->entry; - } else if (lp1->entry->vno < lp->entry->vno) - /* Check if lp->entry is newer kvno; if so, update */ - lp1->entry = lp->entry; } + if (!lp1) { /* need to add entry to tail of pruned list */ + if (!pruned) { + pruned = (krb5_kt_list) malloc(sizeof (*pruned)); + if (!pruned) + return ENOMEM; + memset((char *) pruned, 0, sizeof(*pruned)); + lp1 = pruned; + } else { + prev->next + = (krb5_kt_list) malloc(sizeof (*pruned)); + if (!prev->next) { + retval = ENOMEM; + goto free_pruned; + } + memset((char *) prev->next, 0, sizeof(*pruned)); + lp1 = prev->next; + } + lp1->entry = lp->entry; + } else if (lp1->entry->vno < lp->entry->vno) + /* Check if lp->entry is newer kvno; if so, update */ + lp1->entry = lp->entry; } fp = fopen(name, "w"); if (!fp) { |
