summaryrefslogtreecommitdiffstats
path: root/crypto/heimdal/kdc/kerberos5.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/heimdal/kdc/kerberos5.c')
-rw-r--r--crypto/heimdal/kdc/kerberos5.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/crypto/heimdal/kdc/kerberos5.c b/crypto/heimdal/kdc/kerberos5.c
index 9dc3673..f2736fd 100644
--- a/crypto/heimdal/kdc/kerberos5.c
+++ b/crypto/heimdal/kdc/kerberos5.c
@@ -33,7 +33,7 @@
#include "kdc_locl.h"
-RCSID("$Id: kerberos5.c,v 1.145.2.3 2003/12/14 19:43:04 lha Exp $");
+RCSID("$Id: kerberos5.c,v 1.145.2.4 2004/08/13 19:28:26 lha Exp $");
#define MAX_TIME ((time_t)((1U << 31) - 1))
@@ -331,6 +331,9 @@ get_pa_etype_info(METHOD_DATA *md, hdb_entry *client,
return ENOMEM;
for(j = 0; j < etypes_len; j++) {
+ for (i = 0; i < n; i++)
+ if (pa.val[i].etype == etypes[j])
+ goto skip1;
for(i = 0; i < client->keys.len; i++) {
if(client->keys.val[i].key.keytype == etypes[j])
if((ret = make_etype_info_entry(&pa.val[n++],
@@ -339,18 +342,19 @@ get_pa_etype_info(METHOD_DATA *md, hdb_entry *client,
return ret;
}
}
+ skip1:;
}
for(i = 0; i < client->keys.len; i++) {
for(j = 0; j < etypes_len; j++) {
if(client->keys.val[i].key.keytype == etypes[j])
- goto skip;
+ goto skip2;
}
if((ret = make_etype_info_entry(&pa.val[n++],
&client->keys.val[i])) != 0) {
free_ETYPE_INFO(&pa);
return ret;
}
- skip:;
+ skip2:;
}
if(n != pa.len) {
OpenPOWER on IntegriCloud