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:
		@@ -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)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user