summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoredg <edg@mit.edu>1990-05-23 21:05:52 +0000
committeredg <edg@mit.edu>1990-05-23 21:05:52 +0000
commitcdf08ae454fbbf665a9e21656b229e9c80257570 (patch)
tree2f15524aad179ae9a916f2edd604164618cab164 /src
parent11b9cbfde2ace95556efd36161d1ab1219d513fd (diff)
downloadkrb5-cdf08ae454fbbf665a9e21656b229e9c80257570.tar.gz
krb5-cdf08ae454fbbf665a9e21656b229e9c80257570.tar.xz
krb5-cdf08ae454fbbf665a9e21656b229e9c80257570.zip
*** empty log message ***
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@929 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/lib/crypto/des/string2key.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/lib/crypto/des/string2key.c b/src/lib/crypto/des/string2key.c
index 33fa0d858..21e9b3478 100644
--- a/src/lib/crypto/des/string2key.c
+++ b/src/lib/crypto/des/string2key.c
@@ -68,10 +68,6 @@ OLDDECLARG(krb5_principal, princ)
#define min(A, B) ((A) < (B) ? (A): (B))
-#if defined(lint) || defined(SABER)
- princ = princ;
-#endif
-
if ( keytype != KEYTYPE_DES )
return (KRB5_PROG_KEYTYPE_NOSUPP);
@@ -84,8 +80,16 @@ OLDDECLARG(krb5_principal, princ)
keyblock->keytype = KEYTYPE_DES;
keyblock->length = sizeof(mit_des_cblock);
key = keyblock->contents;
+
bzero(copystr, sizeof(copystr));
- (void) strncpy(copystr, data->data, min(data->length,511));
+ j = min(data->length, 511);
+ (void) strncpy(copystr, data->data, j);
+ if ( princ != 0 )
+ for (i=0; princ[i] != 0 && j < 511; i++) {
+ (void) strncpy(copystr+j, princ[i]->data,
+ min(princ[i]->length, 511-j));
+ j += min(princ[i]->length, 511-j);
+ }
/* convert copystr to des key */
forward = 1;
@@ -117,7 +121,7 @@ OLDDECLARG(krb5_principal, princ)
else
*--p_char ^= (int) temp & 01;
temp = temp >> 1;
- } while (--j > 0);
+ }
/* check and flip direction */
if ((i%8) == 0)