implmenet `krb5_string_to_key_data'

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2504 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1997-07-20 14:41:22 +00:00
parent f6496cf162
commit 8a667563e1

View File

@@ -126,8 +126,9 @@ init (unsigned char *a, unsigned char *b)
a[7] = b[7] << 1; a[7] = b[7] << 1;
} }
krb5_error_code static krb5_error_code
krb5_string_to_key (char *str, string_to_key_internal (char *str,
size_t str_len,
krb5_data *salt, krb5_data *salt,
krb5_keyblock *key) krb5_keyblock *key)
{ {
@@ -138,7 +139,7 @@ krb5_string_to_key (char *str,
des_key_schedule sched; des_key_schedule sched;
krb5_error_code err; krb5_error_code err;
len = strlen(str) + salt->length; len = str_len + salt->length;
#if 1 #if 1
len = (len + 7) / 8 * 8; len = (len + 7) / 8 * 8;
#endif #endif
@@ -151,8 +152,8 @@ krb5_string_to_key (char *str,
return err; return err;
} }
memset (s, 0, len); memset (s, 0, len);
strncpy (p, str, strlen(str)); strncpy (p, str, str_len);
p += strlen(str); p += str_len;
memcpy (p, salt->data, salt->length); memcpy (p, salt->data, salt->length);
odd = 1; odd = 1;
memset (tempkey, 0, sizeof(tempkey)); memset (tempkey, 0, sizeof(tempkey));
@@ -182,6 +183,22 @@ krb5_string_to_key (char *str,
return 0; return 0;
} }
krb5_error_code
krb5_string_to_key (char *str,
krb5_data *salt,
krb5_keyblock *key)
{
return string_to_key_internal (str, strlen(str), salt, key);
}
krb5_error_code
krb5_string_to_key_data (krb5_data *str,
krb5_data *salt,
krb5_keyblock *key)
{
return string_to_key_internal (str->data, str->length, salt, key);
}
krb5_error_code krb5_error_code
krb5_get_salt (krb5_principal princ, krb5_get_salt (krb5_principal princ,
krb5_data *salt) krb5_data *salt)