Skip to content

Commit

Permalink
* mac_des_glue.c, des.c, enc_dec.c, key_sched.c, str_to_key.c: Move K…
Browse files Browse the repository at this point in the history
…fM des functions into their own file. They are all deprecated on KfM and shouldn't even get built on stock krb5 builds. * read_passwd.c: Added warning comment that des_read_pw_string is an exported function on KfM, so we should not change its ABI.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@15250 dc483132-0cff-0310-8789-dd5450dbe970
  • Loading branch information
lxs committed Mar 6, 2003
1 parent f97fa05 commit 7f28c9a
Show file tree
Hide file tree
Showing 8 changed files with 113 additions and 78 deletions.
9 changes: 9 additions & 0 deletions src/lib/des425/ChangeLog
@@ -1,3 +1,12 @@
2003-03-06 Alexandra Ellwood <lxs@mit.edu>

* mac_des_glue.c, des.c, enc_dec.c, key_sched.c, str_to_key.c:
Move KfM des functions into their own file. They are all
deprecated on KfM and shouldn't even get built on stock krb5 builds.

* read_passwd.c: Added warning comment that des_read_pw_string
is an exported function on KfM, so we should not change its ABI.

2003-02-10 Tom Yu <tlyu@mit.edu>

* str_to_key.c (afs_string_to_key): Move out from under
Expand Down
12 changes: 0 additions & 12 deletions src/lib/des425/des.c
Expand Up @@ -41,15 +41,3 @@ des_ecb_encrypt(clear, cipher, schedule, enc)
return (mit_des_cbc_encrypt((const des_cblock *)clear, cipher,
8, schedule, iv, enc));
}

#if TARGET_OS_MAC
void
des_3ecb_encrypt(des_cblock *clear, des_cblock *cipher,
des_key_schedule ks1, des_key_schedule ks2,
des_key_schedule ks3, int enc)
{
static const des_cblock iv;

mit_des3_cbc_encrypt((const des_cblock *)clear, cipher, 8, ks1, ks2, ks3, iv, enc);
}
#endif
12 changes: 0 additions & 12 deletions src/lib/des425/enc_dec.c
Expand Up @@ -44,15 +44,3 @@ des_cbc_encrypt(in,out,length,key,iv,enc)
(const unsigned char *)iv, /* YUCK! */
enc));
}

#if TARGET_OS_MAC
void des_3cbc_encrypt(des_cblock *in, des_cblock *out, long length,
des_key_schedule ks1, des_key_schedule ks2,
des_key_schedule ks3, des_cblock *iv, int enc)
{
mit_des3_cbc_encrypt((const des_cblock *)in, out, (unsigned long)length,
ks1, ks2, ks3,
(const unsigned char *)iv, /* YUCK! */
enc);
}
#endif
7 changes: 0 additions & 7 deletions src/lib/des425/key_sched.c
Expand Up @@ -38,10 +38,3 @@ des_key_sched(k,schedule)
{
return (mit_des_key_sched(k, schedule));
}

#if TARGET_OS_MAC
int make_key_sched(des_cblock *k, des_key_schedule schedule)
{
return mit_des_key_sched((unsigned char *)k, schedule); /* YUCK! */
}
#endif
103 changes: 103 additions & 0 deletions src/lib/des425/mac_des_glue.c
@@ -0,0 +1,103 @@
#include "des_int.h"
#include "des.h"

/* These functions are exported on KfM for ABI compatibility with
* older versions of the library. They have been pulled from the headers
* in the hope that someday we can remove them.
*
* Do not change the ABIs of any of these functions!
*/

//int des_read_pw_string(char *, int, char *, int);
char *des_crypt(const char *, const char *);
char *des_fcrypt(const char *, const char *, char *);

int make_key_sched(des_cblock *, des_key_schedule);
int des_set_key(des_cblock *, des_key_schedule);

void des_3cbc_encrypt(des_cblock *, des_cblock *, long,
des_key_schedule, des_key_schedule, des_key_schedule,
des_cblock *, int);
void des_3ecb_encrypt(des_cblock *, des_cblock *,
des_key_schedule, des_key_schedule, des_key_schedule,
int);

void des_generate_random_block(des_cblock);
void des_set_random_generator_seed(des_cblock);
void des_set_sequence_number(des_cblock);

#pragma mark -

/* Why was this exported on KfM? Who knows... */
int des_debug = 0;

char *des_crypt(const char *str, const char *salt)
{
char afs_buf[16];

return des_fcrypt(str, salt, afs_buf);
}


char *des_fcrypt(const char *str, const char *salt, char *buf)
{
return mit_afs_crypt(str, salt, buf);
}


int make_key_sched(des_cblock *k, des_key_schedule schedule)
{
return mit_des_key_sched((unsigned char *)k, schedule); /* YUCK! */
}


int des_set_key(des_cblock *key, des_key_schedule schedule)
{
return make_key_sched(key, schedule);
}


void des_3cbc_encrypt(des_cblock *in, des_cblock *out, long length,
des_key_schedule ks1, des_key_schedule ks2, des_key_schedule ks3,
des_cblock *iv, int enc)
{
mit_des3_cbc_encrypt((const des_cblock *)in, out, (unsigned long)length,
ks1, ks2, ks3,
(const unsigned char *)iv, /* YUCK! */
enc);
}


void des_3ecb_encrypt(des_cblock *clear, des_cblock *cipher,
des_key_schedule ks1, des_key_schedule ks2, des_key_schedule ks3,
int enc)
{
static const des_cblock iv;

mit_des3_cbc_encrypt((const des_cblock *)clear, cipher, 8, ks1, ks2, ks3, iv, enc);
}


void des_generate_random_block(des_cblock block)
{
krb5_data data;

data.length = sizeof(des_cblock);
data.data = (char *)block;

/* This function can return an error, however we must ignore it. */
/* The worst that happens is that the resulting block is non-random */
krb5_c_random_make_octets(/* XXX */ 0, &data);
}


void des_set_random_generator_seed(des_cblock block)
{
des_init_random_number_generator(block); /* XXX */
}


void des_set_sequence_number(des_cblock block)
{
des_init_random_number_generator(block); /* XXX */
}
24 changes: 0 additions & 24 deletions src/lib/des425/new_rnd_key.c
Expand Up @@ -94,27 +94,3 @@ des_new_random_key(key)

return 0;
}

#if TARGET_OS_MAC

void des_generate_random_block(des_cblock block)
{
krb5_data data;

data.length = sizeof(des_cblock);
data.data = (char *)block;
if (krb5_c_random_make_octets(/* XXX */ 0, &data))
abort(); /* XXX */
}

void des_set_random_generator_seed(des_cblock block)
{
des_init_random_number_generator(block); /* XXX */
}

void des_set_sequence_number(des_cblock block)
{
des_init_random_number_generator(block); /* XXX */
}

#endif
1 change: 1 addition & 0 deletions src/lib/des425/read_passwd.c
Expand Up @@ -102,6 +102,7 @@ des_read_password(k,prompt,verify)
return ok;
}

/* Note: this function is exported on KfM. Do not change its ABI. */
int KRB5_CALLCONV
des_read_pw_string(s, max, prompt, verify)
char *s;
Expand Down
23 changes: 0 additions & 23 deletions src/lib/des425/str_to_key.c
Expand Up @@ -150,8 +150,6 @@ des_string_to_key(str,key)
/* can do dumb things sometimes */
}

char *mit_afs_crypt (const char *, const char *, const char *);

void afs_string_to_key(char *str, char *cell, des_cblock key)
{
krb5_data str_data;
Expand All @@ -168,24 +166,3 @@ void afs_string_to_key(char *str, char *cell, des_cblock key)

mit_afs_string_to_key(&keyblock, &str_data, &cell_data);
}

#if TARGET_OS_MAC
char *des_crypt(const char *str, const char *salt)
{
char afs_buf[16];

return des_fcrypt(str, salt, afs_buf);
}

char *des_fcrypt(const char *str, const char *salt, char *buf)
{
return mit_afs_crypt(str, salt, buf);
}

/* Is this correct? */
int des_set_key(des_cblock *key, des_key_schedule schedule)
{
return make_key_sched(key, schedule);
}

#endif /* TARGET_OS_MAC */

0 comments on commit 7f28c9a

Please sign in to comment.