diff options
| author | Keith Vetter <keithv@fusion.com> | 1995-09-11 19:06:45 +0000 |
|---|---|---|
| committer | Keith Vetter <keithv@fusion.com> | 1995-09-11 19:06:45 +0000 |
| commit | cdd6c33b9ae48076999e33ffa70e2365ecc5eb8c (patch) | |
| tree | 84682f14e77a844dfab2174318ebccb9067c829f /src/lib/crypto | |
| parent | a66029e852781fa0333dc92bd88bd8184f6feeb1 (diff) | |
| download | krb5-cdd6c33b9ae48076999e33ffa70e2365ecc5eb8c.tar.gz krb5-cdd6c33b9ae48076999e33ffa70e2365ecc5eb8c.tar.xz krb5-cdd6c33b9ae48076999e33ffa70e2365ecc5eb8c.zip | |
Mac Beta 1 submission
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6749 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/crypto')
| -rw-r--r-- | src/lib/crypto/ChangeLog | 11 | ||||
| -rw-r--r-- | src/lib/crypto/cryptoconf.c | 25 | ||||
| -rw-r--r-- | src/lib/crypto/des/ChangeLog | 12 | ||||
| -rw-r--r-- | src/lib/crypto/des/des_int.h | 2 | ||||
| -rw-r--r-- | src/lib/crypto/des/destest.c | 5 | ||||
| -rw-r--r-- | src/lib/crypto/des/f_pcbc.c | 1 | ||||
| -rw-r--r-- | src/lib/crypto/des/init_rkey.c | 7 | ||||
| -rw-r--r-- | src/lib/crypto/des/random_key.c | 3 | ||||
| -rw-r--r-- | src/lib/crypto/des/string2key.c | 16 | ||||
| -rw-r--r-- | src/lib/crypto/des/verify.c | 6 | ||||
| -rw-r--r-- | src/lib/crypto/des_crc.c | 3 | ||||
| -rw-r--r-- | src/lib/crypto/des_md5.c | 3 | ||||
| -rw-r--r-- | src/lib/crypto/md4/ChangeLog | 7 | ||||
| -rw-r--r-- | src/lib/crypto/md4/md4crypto.c | 8 | ||||
| -rw-r--r-- | src/lib/crypto/md5/ChangeLog | 11 | ||||
| -rw-r--r-- | src/lib/crypto/md5/md5crypto.c | 8 | ||||
| -rw-r--r-- | src/lib/crypto/md5/t_cksum.c | 4 | ||||
| -rw-r--r-- | src/lib/crypto/os/ChangeLog | 6 | ||||
| -rw-r--r-- | src/lib/crypto/os/Makefile.in | 4 | ||||
| -rw-r--r-- | src/lib/crypto/os/c_localaddr.c | 2 | ||||
| -rw-r--r-- | src/lib/crypto/os/c_ustime.c (renamed from src/lib/crypto/os/ustime.c) | 197 | ||||
| -rw-r--r-- | src/lib/crypto/raw_des.c | 3 |
22 files changed, 134 insertions, 210 deletions
diff --git a/src/lib/crypto/ChangeLog b/src/lib/crypto/ChangeLog index 55adaf2d5..ad0195ad6 100644 --- a/src/lib/crypto/ChangeLog +++ b/src/lib/crypto/ChangeLog @@ -1,14 +1,3 @@ -Wed Sep 06 14:20:57 1995 Chris Provenzano (proven@mit.edu) - - * cryptoconf.c, des_crc.c, des_md5.c raw_des.c - s/keytype/enctype/g, s/KEYTYPE/ENCTYPE/g - -Tue Sep 05 22:10:34 1995 Chris Provenzano (proven@mit.edu) - - * cryptoconf.c : Remove krb5_csarray. - * cryptoconf.c, des_crc.c, des_md5.c, raw_des.c : Remove krb5_enctype - references, and replace with krb5_keytype where appropriate. - Thu Aug 24 17:55:47 1995 Ezra Peisach <epeisach@kangaroo.mit.edu> * des_crc.c, des_md5.c, raw_des.c: Remove casting in call to diff --git a/src/lib/crypto/cryptoconf.c b/src/lib/crypto/cryptoconf.c index 53747efa9..a5ac202bc 100644 --- a/src/lib/crypto/cryptoconf.c +++ b/src/lib/crypto/cryptoconf.c @@ -101,15 +101,28 @@ "krb5/encryption.h" */ -krb5_cs_table_entry * NEAR krb5_enctype_array[] = { - 0, /* ENCTYPE_NULL */ - DES_CBC_CRC_CSENTRY, /* ENCTYPE_DES_CBC_CRC */ - 0, /* ENCTYPE_DES_CBC_MD4 */ - DES_CBC_MD5_CSENTRY, /* ENCTYPE_DES_CBC_MD5 */ +krb5_cs_table_entry * NEAR krb5_csarray[] = { + 0, /* ETYPE_NULL */ + DES_CBC_CRC_CSENTRY, /* ETYPE_DES_CBC_CRC */ + 0, /* ETYPE_DES_CBC_MD4 */ + DES_CBC_MD5_CSENTRY, /* ETYPE_DES_CBC_MD5 */ RAW_DES_CBC_CSENTRY, /* ETYPE_RAW_DES_CBC */ }; -int krb5_max_enctype = sizeof(krb5_enctype_array)/sizeof(krb5_enctype_array[0]) - 1; +int krb5_max_cryptosystem = sizeof(krb5_csarray)/sizeof(krb5_csarray[0]) - 1; + +krb5_cs_table_entry * NEAR krb5_keytype_array[] = { + 0, /* KEYTYPE_NULL */ +#if defined(PROVIDE_DES_CBC_MD5) + DES_CBC_MD5_CSENTRY /* KEYTYPE_DES */ +#elif defined(PROVIDE_DES_CBC_CRC) + DES_CBC_CRC_CSENTRY /* KEYTYPE_DES */ +#else /* !PROVIDE_DES_CBC_MD5 && !PROVIDE_DES_CBC_CRC */ + 0 +#endif /* !PROVIDE_DES_CBC_MD5 && !PROVIDE_DES_CBC_CRC */ +}; + +int krb5_max_keytype = sizeof(krb5_keytype_array)/sizeof(krb5_keytype_array[0]) - 1; krb5_checksum_entry * NEAR krb5_cksumarray[] = { 0, diff --git a/src/lib/crypto/des/ChangeLog b/src/lib/crypto/des/ChangeLog index ba2beec6a..d2d40e81e 100644 --- a/src/lib/crypto/des/ChangeLog +++ b/src/lib/crypto/des/ChangeLog @@ -1,15 +1,3 @@ -Wed Sep 06 14:20:57 1995 Chris Provenzano (proven@mit.edu) - - * des_int.h, destest.c, init_rkey.c, random_key.c, string2key.c - * verify.c : s/keytype/enctype/g, s/KEYTYPE/ENCTYPE/g - -Tue Sep 05 22:10:34 1995 Chris Provenzano (proven@mit.edu) - - * destest.c, random_key.c, string2key.c, verify.c : Remove krb5_enctype - references, and replace with krb5_keytype where appropriate. - * init_rkey.c (mit_des_init_random_key()), - * string2key.c (mit_des_string_to_key()) : Allow for any DES keytype. - Tue Aug 29 13:29:19 EDT 1995 Paul Park (pjpark@mit.edu) * process_key.c, finish_key.c - Set and use priv_size in the krb5_ diff --git a/src/lib/crypto/des/des_int.h b/src/lib/crypto/des/des_int.h index 97ca9883e..cd242a361 100644 --- a/src/lib/crypto/des/des_int.h +++ b/src/lib/crypto/des/des_int.h @@ -145,7 +145,7 @@ extern krb5_error_code mit_des_random_key /* string2key.c */ extern krb5_error_code mit_des_string_to_key - PROTOTYPE(( const krb5_encrypt_block FAR *, const krb5_enctype, + PROTOTYPE(( const krb5_encrypt_block FAR *, const krb5_keytype, krb5_keyblock FAR *, const krb5_data FAR *, const krb5_data FAR *)); /* weak_key.c */ diff --git a/src/lib/crypto/des/destest.c b/src/lib/crypto/des/destest.c index a1f9daf09..0132fa2fe 100644 --- a/src/lib/crypto/des/destest.c +++ b/src/lib/crypto/des/destest.c @@ -58,9 +58,10 @@ char *argv[]; /* do some initialisation */ initialize_krb5_error_table(); - krb5_use_enctype(context, &eblock, ENCTYPE_DES_CBC_CRC); + krb5_use_cstype(context, &eblock, ETYPE_DES_CBC_CRC); keyblock.magic = KV5M_KEYBLOCK; - keyblock.enctype = ENCTYPE_DES_CBC_CRC; + keyblock.etype = ETYPE_DES_CBC_CRC; + keyblock.keytype = KEYTYPE_DES; keyblock.length = sizeof (mit_des_cblock); keyblock.contents = (krb5_octet *)key; diff --git a/src/lib/crypto/des/f_pcbc.c b/src/lib/crypto/des/f_pcbc.c index c69dac360..aae4a4a3a 100644 --- a/src/lib/crypto/des/f_pcbc.c +++ b/src/lib/crypto/des/f_pcbc.c @@ -11,6 +11,7 @@ * des_pcbc_encrypt.c - encrypt a string of characters in error propagation mode */ #include "des.h" +#include "des_int.h" #include "f_tables.h" /* diff --git a/src/lib/crypto/des/init_rkey.c b/src/lib/crypto/des/init_rkey.c index ca9483a5c..c240b9dce 100644 --- a/src/lib/crypto/des/init_rkey.c +++ b/src/lib/crypto/des/init_rkey.c @@ -38,11 +38,8 @@ mit_des_init_random_key (seedblock, seed) krb5_pointer * seed; { mit_des_random_key_seed * p_seed; - if ((seedblock->enctype != ENCTYPE_DES_CBC_CRC) && - (seedblock->enctype != ENCTYPE_DES_CBC_MD4) && - (seedblock->enctype != ENCTYPE_DES_CBC_MD5) && - (seedblock->enctype != ENCTYPE_DES_CBC_RAW)) - return KRB5_BAD_ENCTYPE; + if (seedblock->keytype != KEYTYPE_DES) + return KRB5_BAD_KEYTYPE; if ( !(p_seed = (mit_des_random_key_seed *) malloc(sizeof(mit_des_random_key_seed))) ) return ENOMEM; diff --git a/src/lib/crypto/des/random_key.c b/src/lib/crypto/des/random_key.c index 3a8758f2b..bf5f60a6d 100644 --- a/src/lib/crypto/des/random_key.c +++ b/src/lib/crypto/des/random_key.c @@ -44,8 +44,9 @@ mit_des_random_key (eblock, seed, keyblock) return ENOMEM; } randkey->magic = KV5M_KEYBLOCK; + randkey->etype = eblock->crypto_entry->proto_enctype; randkey->length = sizeof(mit_des_cblock); - randkey->enctype = eblock->crypto_entry->proto_enctype; + randkey->keytype = KEYTYPE_DES; mit_des_new_random_key(randkey->contents, (mit_des_random_key_seed *) seed); *keyblock = randkey; return 0; diff --git a/src/lib/crypto/des/string2key.c b/src/lib/crypto/des/string2key.c index e5cddf02f..166db5f48 100644 --- a/src/lib/crypto/des/string2key.c +++ b/src/lib/crypto/des/string2key.c @@ -26,7 +26,7 @@ /* converts the string pointed to by "data" into an encryption key - of type "enctype". *keyblock is filled in with the key info; + of type "keytype". *keyblock is filled in with the key info; in particular, keyblock->contents is to be set to allocated storage. It is the responsibility of the caller to release this storage when the generated key no longer needed. @@ -35,15 +35,15 @@ algorithm. If the particular function called does not know how to make a - key of type "enctype", an error may be returned. + key of type "keytype", an error may be returned. returns: errors */ krb5_error_code -mit_des_string_to_key (eblock, enctype, keyblock, data, salt) +mit_des_string_to_key (eblock, keytype, keyblock, data, salt) const krb5_encrypt_block FAR * eblock; -const krb5_enctype enctype; +const krb5_keytype keytype; krb5_keyblock FAR * keyblock; const krb5_data FAR * data; const krb5_data FAR * salt; @@ -65,16 +65,16 @@ const krb5_data FAR * salt; #define min(A, B) ((A) < (B) ? (A): (B)) #endif - if ((enctype != ENCTYPE_DES_CBC_CRC) && (enctype != ENCTYPE_DES_CBC_MD4) && - (enctype != ENCTYPE_DES_CBC_MD5) && (enctype != ENCTYPE_DES_CBC_RAW)) - return (KRB5_PROG_ETYPE_NOSUPP); + if ( keytype != KEYTYPE_DES ) + return (KRB5_PROG_KEYTYPE_NOSUPP); if ( !(keyblock->contents = (krb5_octet *)malloc(sizeof(mit_des_cblock))) ) return(ENOMEM); keyblock->magic = KV5M_KEYBLOCK; + keyblock->etype = eblock->crypto_entry->proto_enctype; + keyblock->keytype = KEYTYPE_DES; keyblock->length = sizeof(mit_des_cblock); - keyblock->enctype = eblock->crypto_entry->proto_enctype; key = keyblock->contents; if (salt) diff --git a/src/lib/crypto/des/verify.c b/src/lib/crypto/des/verify.c index 7ae08c763..117d18804 100644 --- a/src/lib/crypto/des/verify.c +++ b/src/lib/crypto/des/verify.c @@ -148,9 +148,9 @@ main(argc,argv) /* do some initialisation */ initialize_krb5_error_table(); - krb5_use_enctype(context, &eblock, ENCTYPE_DES_CBC_CRC); - keyblock.enctype = ENCTYPE_DES_CBC_CRC; - keyblock.length = sizeof(mit_des_cblock); + krb5_use_cstype(context, &eblock, ETYPE_DES_CBC_CRC); + keyblock.keytype = KEYTYPE_DES; + keyblock.length = sizeof (mit_des_cblock); /* use known input and key */ diff --git a/src/lib/crypto/des_crc.c b/src/lib/crypto/des_crc.c index 02dfb34cb..f6c5d2250 100644 --- a/src/lib/crypto/des_crc.c +++ b/src/lib/crypto/des_crc.c @@ -47,7 +47,8 @@ static krb5_cryptosystem_entry mit_des_crc_cryptosystem_entry = { sizeof(mit_des_cblock), CRC32_CKSUM_LENGTH+sizeof(mit_des_cblock), sizeof(mit_des_cblock), - ENCTYPE_DES_CBC_CRC + ETYPE_DES_CBC_CRC, + KEYTYPE_DES }; krb5_cs_table_entry krb5_des_crc_cst_entry = { diff --git a/src/lib/crypto/des_md5.c b/src/lib/crypto/des_md5.c index d365c2b6c..c84d958ca 100644 --- a/src/lib/crypto/des_md5.c +++ b/src/lib/crypto/des_md5.c @@ -48,7 +48,8 @@ static krb5_cryptosystem_entry mit_des_md5_cryptosystem_entry = { sizeof(mit_des_cblock), RSA_MD5_CKSUM_LENGTH+sizeof(mit_des_cblock), sizeof(mit_des_cblock), - ENCTYPE_DES_CBC_MD5 + ETYPE_DES_CBC_MD5, + KEYTYPE_DES }; krb5_cs_table_entry krb5_des_md5_cst_entry = { diff --git a/src/lib/crypto/md4/ChangeLog b/src/lib/crypto/md4/ChangeLog index 9fdbe6905..ddabf8381 100644 --- a/src/lib/crypto/md4/ChangeLog +++ b/src/lib/crypto/md4/ChangeLog @@ -1,10 +1,3 @@ -Wed Sep 06 14:20:57 1995 Chris Provenzano (proven@mit.edu) - - * md4crypto.c : s/keytype/enctype/g, s/KEYTYPE/ENCTYPE/g - -Tue Sep 05 22:10:34 1995 Chris Provenzano (proven@mit.edu) - - * md4crypto.c : Replace KEYTYPE_DES_CBC_MD4 for KEYTYPE_DES. Thu Jul 27 15:22:17 EDT 1995 Paul Park (pjpark@mit.edu) * rsa-md4.h - Don't include k5-config.h. No longer present or needed. diff --git a/src/lib/crypto/md4/md4crypto.c b/src/lib/crypto/md4/md4crypto.c index 5b349a024..248f17683 100644 --- a/src/lib/crypto/md4/md4crypto.c +++ b/src/lib/crypto/md4/md4crypto.c @@ -91,7 +91,7 @@ krb5_checksum FAR *outcksum; keyblock.length = seed_length; keyblock.contents = (krb5_octet *)seed; - keyblock.enctype = ENCTYPE_DES_CBC_MD4; + keyblock.keytype = KEYTYPE_DES; if ((retval = mit_des_process_key(&eblock, &keyblock))) return retval; @@ -162,7 +162,7 @@ krb5_checksum FAR *outcksum; keyblock.length = sizeof(mit_des_cblock); keyblock.contents = (krb5_octet *) tmpkey; - keyblock.enctype = ENCTYPE_DES_CBC_MD4; + keyblock.keytype = KEYTYPE_DES; if ((retval = mit_des_process_key(&eblock, &keyblock))) return retval; @@ -229,7 +229,7 @@ size_t seed_length; /* Use the key "as-is" */ keyblock.length = seed_length; keyblock.contents = (krb5_octet *) seed; - keyblock.enctype = ENCTYPE_DES_CBC_MD4; + keyblock.keytype = KEYTYPE_DES; if ((retval = mit_des_process_key(&eblock, &keyblock))) return retval; @@ -272,7 +272,7 @@ size_t seed_length; keyblock.length = sizeof(mit_des_cblock); keyblock.contents = (krb5_octet *) tmpkey; - keyblock.enctype = ENCTYPE_DES_CBC_MD4; + keyblock.keytype = KEYTYPE_DES; if ((retval = mit_des_process_key(&eblock, &keyblock))) return retval; diff --git a/src/lib/crypto/md5/ChangeLog b/src/lib/crypto/md5/ChangeLog index 383ac7c89..68868023c 100644 --- a/src/lib/crypto/md5/ChangeLog +++ b/src/lib/crypto/md5/ChangeLog @@ -1,14 +1,3 @@ -Wed Sep 06 14:20:57 1995 Chris Provenzano (proven@mit.edu) - - * md5crypto.c, t_cksum.c : s/keytype/enctype/g, s/KEYTYPE/ENCTYPE/g - -Tue Sep 05 22:10:34 1995 Chris Provenzano (proven@mit.edu) - - * md5crypto.c : Replace KEYTYPE_DES_CBC_MD5 for KEYTYPE_DES. - - * t_cksum.c : Remove krb5_enctype references, and replace with - krb5_keytype where appropriate. - Thu Aug 24 18:40:48 1995 Theodore Y. Ts'o <tytso@dcl> * .Sanitize: Update file list diff --git a/src/lib/crypto/md5/md5crypto.c b/src/lib/crypto/md5/md5crypto.c index 0c2c49c0d..1254fd82f 100644 --- a/src/lib/crypto/md5/md5crypto.c +++ b/src/lib/crypto/md5/md5crypto.c @@ -61,7 +61,7 @@ krb5_checksum FAR *outcksum; keyblock.length = seed_length; keyblock.contents = (krb5_octet *)seed; - keyblock.enctype = ENCTYPE_DES_CBC_MD5; + keyblock.keytype = KEYTYPE_DES; if ((retval = mit_des_process_key(&eblock, &keyblock))) return retval; @@ -129,7 +129,7 @@ krb5_checksum FAR *outcksum; keyblock.length = sizeof(mit_des_cblock); keyblock.contents = (krb5_octet *) tmpkey; - keyblock.enctype = ENCTYPE_DES_CBC_MD5; + keyblock.keytype = KEYTYPE_DES; if ((retval = mit_des_process_key(&eblock, &keyblock))) return retval; @@ -196,7 +196,7 @@ size_t seed_length; /* Use the key "as-is" */ keyblock.length = seed_length; keyblock.contents = (krb5_octet *) seed; - keyblock.enctype = ENCTYPE_DES_CBC_MD5; + keyblock.keytype = KEYTYPE_DES; if ((retval = mit_des_process_key(&eblock, &keyblock))) return retval; @@ -239,7 +239,7 @@ size_t seed_length; keyblock.length = sizeof(mit_des_cblock); keyblock.contents = (krb5_octet *) tmpkey; - keyblock.enctype = ENCTYPE_DES_CBC_MD5; + keyblock.keytype = KEYTYPE_DES; if ((retval = mit_des_process_key(&eblock, &keyblock))) return retval; diff --git a/src/lib/crypto/md5/t_cksum.c b/src/lib/crypto/md5/t_cksum.c index dabf92545..6b0814440 100644 --- a/src/lib/crypto/md5/t_cksum.c +++ b/src/lib/crypto/md5/t_cksum.c @@ -104,9 +104,9 @@ main(int argc, char *argv[]) pwd = "test password"; pwdata.length = strlen(pwd); pwdata.data = pwd; - krb5_use_enctype(kcontext, &encblock, DEFAULT_KDC_ENCTYPE); + krb5_use_cstype(kcontext, &encblock, DEFAULT_KDC_ETYPE); if (kret = mit_des_string_to_key(&encblock, - DEFAULT_KDC_ENCTYPE, + KEYTYPE_DES, &keyblock, &pwdata, (krb5_data *) NULL)) { diff --git a/src/lib/crypto/os/ChangeLog b/src/lib/crypto/os/ChangeLog index 15e412805..e459406bf 100644 --- a/src/lib/crypto/os/ChangeLog +++ b/src/lib/crypto/os/ChangeLog @@ -1,8 +1,6 @@ -Thu Sep 7 12:00:00 1995 James Mattly <mattly@fusion.com> +Sun Sep 10 12:00:00 1995 James Mattly <mattly@fusion.com> - * Renamed localaddr.c to c_localaddr.c because Mac can't have - two files with the same name. - * Makefile.in, .Sanitize updated for the above change. + * renamed ustime.c to c_ustime.c Thu Aug 24 18:40:48 1995 Theodore Y. Ts'o <tytso@dcl> diff --git a/src/lib/crypto/os/Makefile.in b/src/lib/crypto/os/Makefile.in index 5b8894f74..12d5ad807 100644 --- a/src/lib/crypto/os/Makefile.in +++ b/src/lib/crypto/os/Makefile.in @@ -10,9 +10,9 @@ LIBOBJS = @LIBOBJS@ $(CC) $(CFLAGS) -c $(srcdir)/$*.c @SHARED_RULE@ -OBJS= rnd_confoun.$(OBJEXT) c_localaddr.$(OBJEXT) ustime.$(OBJEXT) $(LIBOBJS) +OBJS= rnd_confoun.$(OBJEXT) c_localaddr.$(OBJEXT) c_ustime.$(OBJEXT) $(LIBOBJS) -SRCS= rnd_confoun.c c_localaddr.c ustime.c +SRCS= rnd_confoun.c c_localaddr.c c_ustime.c all:: all-$(WHAT) diff --git a/src/lib/crypto/os/c_localaddr.c b/src/lib/crypto/os/c_localaddr.c index be8a98b8c..7ab153a8a 100644 --- a/src/lib/crypto/os/c_localaddr.c +++ b/src/lib/crypto/os/c_localaddr.c @@ -1,5 +1,5 @@ /* - * lib/crypto/os/c_localaddr.c + * lib/crypto/os/localaddr.c * * Copyright 1990,1991 by the Massachusetts Institute of Technology. * All Rights Reserved. diff --git a/src/lib/crypto/os/ustime.c b/src/lib/crypto/os/c_ustime.c index 0cd3844ef..3ab6b944c 100644 --- a/src/lib/crypto/os/ustime.c +++ b/src/lib/crypto/os/c_ustime.c @@ -28,6 +28,7 @@ #include "k5-int.h" #ifdef _MACINTOSH + /* We're a Macintosh -- do Mac time things. */ /* @@ -50,38 +51,39 @@ #include <string.h> #include <stddef.h> - /******************************* - The Unix epoch is 1/1/70, the Mac epoch is 1/1/04. - - 70 - 4 = 66 year differential - - Thus the offset is: - - (66 yrs) * (365 days/yr) * (24 hours/day) * (60 mins/hour) * (60 secs/min) - plus - (17 leap days) * (24 hours/day) * (60 mins/hour) * (60 secs/min) +static krb5_int32 last_sec = 0, last_usec = 0; - Don't forget the offset from GMT. - *******************************/ +/* + * The Unix epoch is 1/1/70, the Mac epoch is 1/1/04. + * + * 70 - 4 = 66 year differential + * + * Thus the offset is: + * + * (66 yrs) * (365 days/yr) * (24 hours/day) * (60 mins/hour) * (60 secs/min) + * plus + * (17 leap days) * (24 hours/day) * (60 mins/hour) * (60 secs/min) + * + * Don't forget the offset from GMT. + */ /* returns the offset in hours between the mac local time and the GMT */ /* unsigned krb5_int32 */ krb5_int32 getTimeZoneOffset() { - MachineLocation macLocation; - long gmtDelta; - - macLocation.u.gmtDelta=0L; - ReadLocation(&macLocation); - gmtDelta=macLocation.u.gmtDelta & 0x00FFFFFF; - if (BitTst((void *)&gmtDelta,23L)) gmtDelta |= 0xFF000000; - gmtDelta /= 3600L; - return(gmtDelta); + MachineLocation macLocation; + long gmtDelta; + + macLocation.u.gmtDelta=0L; + ReadLocation(&macLocation); + gmtDelta=macLocation.u.gmtDelta & 0x00FFFFFF; + if (BitTst((void *)&gmtDelta,23L)) + gmtDelta |= 0xFF000000; + gmtDelta /= 3600L; + return(gmtDelta); } -static krb5_int32 last_sec = 0, last_usec = 0; - /* Returns the GMT in seconds (and fake microseconds) using the Unix epoch */ krb5_error_code INTERFACE @@ -90,16 +92,13 @@ krb5_crypto_us_timeofday(seconds, microseconds) { krb5_int32 sec, usec; time_t the_time; - struct tm *gtime, *ltime; -// GetDateTime (&the_time); - time(&the_time); -// gtime = gmtime(&the_time); -// ltime = localtime(&the_time); + GetDateTime (&the_time); + sec = the_time - - ((66 * 365 * 24 * 60 * 60) + - (17 * 24 * 60 * 60) + - (getTimeZoneOffset() * 60 * 60)); + ((66 * 365 * 24 * 60 * 60) + (17 * 24 * 60 * 60) + + (getTimeZoneOffset() * 60 * 60)); + usec = 0; /* Mac is too slow to count faster than once a second */ if ((sec == last_sec) && (usec == last_usec)) { @@ -109,107 +108,22 @@ krb5_crypto_us_timeofday(seconds, microseconds) } sec = last_sec; usec = last_usec; - } else + } + else { last_sec = sec; last_usec = usec; - + } + *seconds = sec; *microseconds = usec; return 0; } -#if 0 - -int -gettimeofdaynet (struct timeval *tp, struct timezone *tz) -{ - tp->tv_sec = gettimeofdaynet_no_offset(); - return 0; -} - - -#define TIME_PORT 37 -#define TM_OFFSET 2208988800 - -/* - * - * get_net_offset () -- Use UDP time protocol to figure out the - * offset between what the Mac thinks the time is an what - * the network thinks. - * - */ -int -get_net_offset() -{ - time_t tv; - char buf[512],ts[256]; - long *nettime; - int attempts, cc, time_port; - long unixtime; - char realm[REALM_SZ]; - ip_addr fromaddr; - unsigned short fromport; - int result; - - nettime = (long *)buf; - time_port = TIME_PORT; - - cc = sizeof(buf); - result = hosts_send_recv(ts, 1, buf, &cc, "", time_port); - time (&tv); - - if (result!=KSUCCESS || cc<4) { - net_offset = 0; - if (!result) result = 100; - return result; - } - - unixtime = (long) ntohl(*nettime) - TM_OFFSET; - - tv -= 66 * 365 * 24 * 60 * 60 - + 17 * 60 * 60 * 24; /* Convert to unix time w/o offset */ - net_offset = unixtime - tv; - net_got_offset = 1; - - return 0; -} - -#endif /* 0 */ - -#else /* HAVE_MACSOCK_H */ -#ifndef _MSDOS -/* We're a Unix machine -- do Unix time things. */ - -extern int errno; - -static struct timeval last_tv = {0, 0}; -krb5_error_code INTERFACE -krb5_crypto_us_timeofday(seconds, microseconds) - register krb5_int32 *seconds, *microseconds; -{ - struct timeval tv; +#elif defined (_MSDOS) - if (gettimeofday(&tv, (struct timezone *)0) == -1) { - /* failed, return errno */ - return (krb5_error_code) errno; - } - if ((tv.tv_sec == last_tv.tv_sec) && (tv.tv_usec == last_tv.tv_usec)) { - if (++last_tv.tv_usec >= 1000000) { - last_tv.tv_usec = 0; - last_tv.tv_sec++; - } - tv = last_tv; - } else - last_tv = tv; - - *seconds = tv.tv_sec; - *microseconds = tv.tv_usec; - return 0; -} -#else /* DOS version */ /* * Originally written by John Gilmore, Cygnus Support, May '94. * Public Domain. @@ -257,6 +171,8 @@ register krb5_int32 *seconds, *microseconds; return 0; } + + static time_t win_gettime () { struct tm tm; @@ -299,6 +215,8 @@ win_gettime () { return time + convert; } + + /* * This routine figures out the current time epoch and returns the * conversion factor. It exists because @@ -323,5 +241,38 @@ win_time_get_epoch() return epoch; } -#endif /* MSDOS */ -#endif /* HAVE_MACSOCK_H */ + +#else + + +/* We're a Unix machine -- do Unix time things. */ + +extern int errno; + +static struct timeval last_tv = {0, 0}; + +krb5_error_code INTERFACE +krb5_crypto_us_timeofday(seconds, microseconds) + register krb5_int32 *seconds, *microseconds; +{ + struct timeval tv; + + if (gettimeofday(&tv, (struct timezone *)0) == -1) { + /* failed, return errno */ + return (krb5_error_code) errno; + } + if ((tv.tv_sec == last_tv.tv_sec) && (tv.tv_usec == last_tv.tv_usec)) { + if (++last_tv.tv_usec >= 1000000) { + last_tv.tv_usec = 0; + last_tv.tv_sec++; + } + tv = last_tv; + } else + last_tv = tv; + + *seconds = tv.tv_sec; + *microseconds = tv.tv_usec; + return 0; +} + +#endif diff --git a/src/lib/crypto/raw_des.c b/src/lib/crypto/raw_des.c index 7948ba601..9922dbf28 100644 --- a/src/lib/crypto/raw_des.c +++ b/src/lib/crypto/raw_des.c @@ -45,7 +45,8 @@ static krb5_cryptosystem_entry mit_raw_des_cryptosystem_entry = { sizeof(mit_des_cblock), 0, sizeof(mit_des_cblock), - ENCTYPE_DES_CBC_RAW + ETYPE_RAW_DES_CBC, + KEYTYPE_DES }; krb5_cs_table_entry krb5_raw_des_cst_entry = { |
