Tue Mar 7 21:40:18 1995 Keith Vetter (keithv@fusion.com) * Makefile.in: changed library name for the PC. Wed Mar 1 18:00:00 1995 Keith Vetter (keithv@fusion.com) * asn1_decode.c, asn1_encode.c, ans1_k_encode.c, asn1_misc.c: 16 vs 32 bit casts. * asn1_k_encode.h: added missing INTERFACE to a prototype Tue Feb 28 00:32:48 1995 John Gilmore (gnu at toad.com) * asn1_decode.h, asn1_encode.h, asn1_get.h, asn1_k_decode.h, asn1_k_encode.h, asn1_make.h asn1_misc.h, asn1_buf.h, glue2.c, krb5_decode.c, krb5_encode.c, krbasn1.h: Avoid includes. Tue Feb 21 12:00:00 1995 Keith Vetter (keithv@fusion.com) * Makefile.in: made to work for the PC * *.c, *.h: added windows INTERFACE keyword to all functions Tue Feb 21 20:11:30 1995 Theodore Y. Ts'o (tytso@dcl) * asn1_k_decode.h(asn1_decode_kvno, asn1_decode_krb_safe_body): Removed duplicate declarations. * asn1_k_decode.h(asn1_decode_passwdsequence, asn1_decode_sequence_of_passwdsequence): Added missing declarations. Thu Feb 16 19:29:59 1995 Theodore Y. Ts'o (tytso@dcl) * asn1_k_encode.h(asn1_encode_enc_kdc_rep_part): Remove duplicate declaration of asn1_encode_enc_kdc_rep_part. Fri Feb 10 15:30:45 1995 Theodore Y. Ts'o * asn1_k_encode.c: Remove #include of krb5_encode.h (it's not needed). * krb5_encode.h: * krb5_decode.h: These files removed; their contents have been poured into include/krb5/asn1.h. * Makefile.isode.in: Removed. * process.perl: Removed (isode cruft). * Makefile.sane.in: Removed; contents moved to Makefile.in * configure.in: * Makefile.in: Removed isode croft. (Makefile.in was Makefile.sane.in) Fri Feb 3 01:02:43 1995 John Gilmore * asn1_decode_k.c => asn1_k_decode.c * asn1_decode_k.h => asn1_k_decode.h * asn1_encode_k.c => asn1_k_encode.c * asn1_encode_k.h => asn1_k_encode.h * Makefile.sane.in, krb5_decode.c, krb5_encode.c, asn1_k_encode.c, asn1_k_decode.c: updated to match. Fri Nov 18 16:24:35 1994 Theodore Y. Ts'o (tytso@dcl) * krb5_decode.c (decode_krb5_encryption_key): Add magic number to keyblock structure. Thu Nov 10 21:51:55 1994 Theodore Y. Ts'o (tytso@dcl) * asn1_decode_k.c (asn1_decode_principal_name, asn1_decode_checksum, asn1_decode_encrypted_data, asn1_decode_transited_encoding, asn1_decode_enc_kdc_rep_part, asn1_decode_ticket, asn1_decode_kdc_req, asn1_decode_kdc_req_body, asn1_decode_safe_body, asn1_decode_host_address, asn1_decode_kdc_rep, asn1_decode_authdata_elt, asn1_decode_krb_cred_info, asn1_decode_pa_data, asn1_decode_last_req_entry): Initialize magic number field in the relevant structures. * asn1_decode_k.c (asn1_decode_encryption_key): Add appropriate magic number and encryption type. Wed Nov 2 23:10:36 1994 Theodore Y. Ts'o (tytso@dcl) * configure.in: Add WITH_CPPOPTS since we're not using CONFIG_RULES (yet). Thu Oct 27 22:32:13 1994 Theodore Y. Ts'o (tytso@dcl) * Makefile.sane.in: Remove duplicate definitions for DEFS, CC, CCOPTS, and LIBS. (now defined in config/pre.in). Wed Oct 19 10:51:16 1994 Theodore Y. Ts'o (tytso@maytag) * err2kerr.c (KRB5_KRB__ERROR2krb5_error): The e_data field wasn't being decoded when it should have been. * qbuf2data.c (qbuf2krb5_data): Set magic number field to zero. * asn1_decode_k.c (asn1_decode_kdc_req_body): If the authorization field is not present, fill in the authorization data fields with all zeros. Don't set kvno (that's *key* version number, not *Kerberos* version number) to 5. Tue Oct 18 23:07:20 1994 Theodore Y. Ts'o (tytso@maytag) * tgrq2ktgrq.c (KRB5_KDC__REQ__BODY2krb5_kdc_req): Allow the service principal to be optional. * ktgrq2tgrq.c (krb5_kdc_req2KRB5_KDC__REQ__BODY): Allow the server principal to be optional. Fri Oct 7 15:05:35 1994 Theodore Y. Ts'o (tytso@dcl) * Makefile.isode.in: Add -DKRB5_USE_ISODE so that include files are right. Tue Oct 4 16:13:45 1994 Theodore Y. Ts'o (tytso@dcl) * asn1_decode_k.c (asn1_decode_kerberos_time): Don't assume that krb5_timestamp and time_t are the same. Thu Sep 29 14:26:34 1994 Theodore Y. Ts'o (tytso@dcl) * asn1buf.c (asn1buf_remove_octetstring, asn1buf_remove_charstring): If the length is zero, don't call calloc(0,1); instead return a NULL pointer. This way, we get consistent behavior even on systems where malloc(0) returns a non-null pointer. Tue Sep 27 23:31:50 1994 Theodore Y. Ts'o (tytso@dcl) * krb5_encode.c (encode_krb5_enc_kdc_rep_part): = should have been == in commented-out code. Get it right for the future... Wed Sep 21 00:18:12 1994 Theodore Y. Ts'o (tytso@dcl) * krb5_decode.c (decode_krb5_authdata): Initialize variable where the authdata is returned to NULL first. (Caller shouldn't have to do this.) * asn1_decode.c (asn1_decode_generaltime): Plug memory leak caused by not freeing temporary string. Wed Aug 17 16:07:06 1994 Theodore Y. Ts'o (tytso at tsx-11) * krb5_encode.c (encode_krb5_enc_kdc_rep_part): Older versions of the Kerberos are always sending the enc_kdc_rep_part structure with an application tag of #26, instead of using the application tag of #25 (AS REP) or #26 (AS REP) as necessary. Worse yet, they will only accept a tag of #26, so we need to follow this for backwards compatibility. #defining KRB5_ENCKRB5KDCREPPART_COMPAT will preserve this wrong (but compatible) behavior. * krb5_decode.c (decode_krb5_enc_kdc_rep_part): Record the tag value of the ASN.1 sequence in the rkb5_enc_kdc_rep structure. Allow both tag #25 and #26 (although old software was always sending tag #26). * krb5_decode.c (decode_krb5_as_rep, decode_krb5_tgs_rep, decode_krb5_ap_req, decode_krb5_ap_rep, decode_krb5_as_req, decode_krb5_tgs_req, decode_krb5_safe, decode_krb5_priv, decode_krb5_cred, decode_krb5_error): Only check the ASN.1 message type if KRB5_MSGTYPE_STRICT is defined. "Be strict in what you send out, liberal in what you receive..." * asn1_decode_k.c (asn1_decode_msgtype): Stop checking the validity of the message type here. Each routine that calls asn1_decode_msgtype is checking the message type anyway, so it's just duplicated effort. Sat Aug 13 03:40:16 1994 Mark Eichin (eichin@perdiem) * krbasn1.h: include stdlib.h for calloc declaration (if we can) Thu Aug 11 00:38:10 1994 Theodore Y. Ts'o (tytso@dcl) * asn1_encode_k.c (asn1_encode_kdc_req): Add extra argument which specifies the msg_type of the encoding; don't use req->msg_type which is generally not set right. (That output is only as a place to stash the msg_type from decode). All callers updated. * asn1_encode_k.c (asn1_encode_kdc_rep): Add extra argument which specifies the msg_type of the encoding; don't use rep->msg_type which is generally not set right. (That output is only as a place to stash the msg_type from decode). All callers updated. * asn1_encode_k.c (asn1_encode_msgtype): Routine removed. Not really necessary, since a msg_type is really just an integer. Thu Aug 4 13:19:14 1994 Tom Yu (tlyu@dragons-lair) * asn1_decode_k.c (asn1_decode_sequence_of_enctype): fix typo Tue Aug 2 07:22:57 1994 Tom Yu (tlyu@dragons-lair) * asn1_decode_k.c (asn1_decode_sequence_of_enctype): more fixing of realloc(NULL) returning NULL Sat Jul 23 08:48:18 1994 Tom Yu (tlyu@dragons-lair) * asn1buf.h: include ext-proto.h now to avoid type warnings Sat Jul 16 00:19:18 1994 Tom Yu (tlyu at dragons-lair) * asn1_encode_k.c (asn1_encode_transited_encoding): whoops don't bomb if val->tr_contents.dlength == 0 * asn1_decode_k.c (asn1_decode_encrypted_data): oops looks like Harry made a brain fart here.... default value for kvno was 5, not 0. Thu Jul 14 11:37:59 1994 Theodore Y. Ts'o (tytso at tsx-11) * asn1_*.[ch]: * krb5_*.[ch]: Add MIT Copyright notices. Thu Jul 14 01:26:22 1994 Tom Yu (tlyu at dragons-lair) * asn1_encode_k.c (asn1_encode_pa_data): oops still check NULL if length != 0 Sat Jul 9 00:26:48 1994 Tom Yu (tlyu at dragons-lair) * asn1_encode_k.c (asn1_encode_pa_data): the contents field of a krb5_pa_data structure can be NULL (e.g. salt_type==KRB5_KDB_SALTTYPE_V4), and the encoder was treating this as a missing required field Fri Jul 8 17:32:29 1994 Tom Yu (tlyu at dragons-lair) * asn1_decode_k.c: yet another instance of the SunOS realloc bug * asn1buf.c: whee SunOS realloc of a NULL pointer returns NULL. sigh. Wed Jul 6 13:21:35 1994 Mark Eichin (eichin@cygnus.com) * an1buf.c: Harry saves vs. Unix again. Making sure that anything that can call calloc with a zero argument won't return ENOMEM if calloc retuns NULL in this case. This was prompted by breakage under linux. * asn1_encode.c (asn1_encode_generaltime): don't use strftime on the output of gmtime -- under Solaris, it mutates it! (seems to be doing a timezone offset.) Besides, sprintf is quite sufficient. Also rename local variable time to gtime to avoid name collision. (asn1_decode_generaltime): the fixed-point method below doesn't actually work because it doesn't handle the current timezone offset. Simpler, and more general -- always call gmt_mktime, which is now provided in lib/krb5/os/gmt_mktime.c. Sun Jul 3 04:43:42 1994 Tom Yu (tlyu at dragons-lair) * asn1_encode_k.h: * asn1buf.c: * krbasn1.h: punt stdlib.h in favor of stdio.h. It looks like Harry was assuming that NULL gets defined in stdlib instead of stdio Fri Jul 1 13:03:39 1994 Mark Eichin (eichin@cygnus.com) * asn1_encode_k.c (asn1_encode_msgtype): comment out krb5_msgtype decl of val arg, use int (to match prototype in header.) Throw out OLDDECLARG, DECLARG, and use old-style definition to match style of the rest of the code. (asn1_encode_ui_4): comment out krb5_ui_4 decl of val arg, use int (to match prototype in header.) Also rewrote definition header. * asn1_decode.c (asn1_decode_generaltime): tm_gmtoff is *not* in System V either. The only portable way to find the delta is to subtract gmtime from localtime at a fixed point (epoch+24hours is an easy way to simplify the arithmetic.) HAVE_GMTOFF: might someday be defined, but for now merely labels what the code original did/was intended to do. * configure.in: redo "autoconf frobbage" since the old way didn't work with srcdir. Now, AC_OUTPUT generates all three Makefiles, and ISODEMAKEFILE is subst'ed in to be either Makefile.isode or Makefile.sane. EXTRA_RULES_IN is used to append the extra stuff to the end of the "real" one of the two. * configure.in: krb5_encode.h and krb5_encode.h are source, not generated, so use CopySrcHeader instead. Tue Jun 28 19:57:28 1994 Tom Yu (tlyu at dragons-lair) * configure.in: * Makefile.in: autoconf frobbage