1 Thu Apr 13 15:49:16 1995 Keith Vetter (keithv@fusion.com)
3 * *.[ch]: removed unneeded INTERFACE from non-api functions.
5 Wed Mar 22 09:39:55 1995 <tytso@rsx-11.mit.edu>
7 * asn1_k_decode.c (setup, next_tag, apptag, get_field_body,
8 get_lenfield_body, asn1_decode_ticket): Use the
9 taglength to determine whether or not the indefinite
10 encoding was used, and if so skip over the termination
11 flag bytes in the ASN.1 stream.
13 * asn1buf.c (asn1buf_imbed, asn1buf_remains): Make changes to
14 allow for indefinite encodings. asn1buf_remains() is now
15 only used for decoding structures and arrays (i.e., asn.1
16 constructs which terminate indefinite encodings with two
19 [ Note these fixes to support indefinite encoding
20 aren't terribly clean; some invalid encodings may
21 be accepted when they should not be. This should be
22 looked at in more detail later.]
24 * asn1_get.c (asn1_get_tag): Inline original asn1buf_remains()
25 code, since asn1_get_tag doesn't use asn1buf_remains in
26 the context of a structure or an array.
28 Sat Mar 25 14:12:31 1995 Tom Yu (tlyu@dragons-lair)
30 * asn1_decode.c: move declaration of gmt_mktime() outside of
31 asn1_decode_generaltime() so that compilers like Ultrix cc that
32 don't support prototypes within function bodies don't break
34 Fri Mar 17 19:05:22 1995 John Gilmore (gnu at toad.com)
36 * Makefile.in: Remove redundant definitions from config/pre.in
38 * asn1_misc.c: Avoid <malloc.h> and <memory.h> includes, for Mac.
39 (asn1_krb5_realm_copy): Use malloc, not calloc, since we're
40 about to clobber the storage anyway.
41 * configure.in (WITH_KRB5ROOT): Remove, not needed.
42 * krbasn1.h: Document that <limits.h> is needed for INT_MAX.
44 Fri Mar 10 15:39:24 1995 Theodore Y. Ts'o (tytso@kenmore)
46 * asn1buf.c. asn1buf.h (asn1buf_insert_octet): Make the second
47 argument of asn1buf_insert_octet be an int, instead of
48 asn1_octet. ANSI C narrow types screws us again....
50 Tue Mar 7 21:40:18 1995 Keith Vetter (keithv@fusion.com)
52 * Makefile.in: changed library name for the PC.
54 Wed Mar 1 18:00:00 1995 Keith Vetter (keithv@fusion.com)
56 * asn1_decode.c, asn1_encode.c, ans1_k_encode.c, asn1_misc.c: 16 vs
58 * asn1_k_encode.h: added missing INTERFACE to a prototype
60 Tue Feb 28 00:32:48 1995 John Gilmore (gnu at toad.com)
62 * asn1_decode.h, asn1_encode.h, asn1_get.h, asn1_k_decode.h,
63 asn1_k_encode.h, asn1_make.h asn1_misc.h, asn1_buf.h, glue2.c,
64 krb5_decode.c, krb5_encode.c, krbasn1.h: Avoid <krb5/...> includes.
66 Tue Feb 21 12:00:00 1995 Keith Vetter (keithv@fusion.com)
68 * Makefile.in: made to work for the PC
69 * *.c, *.h: added windows INTERFACE keyword to all functions
71 Tue Feb 21 20:11:30 1995 Theodore Y. Ts'o (tytso@dcl)
73 * asn1_k_decode.h(asn1_decode_kvno, asn1_decode_krb_safe_body):
74 Removed duplicate declarations.
76 * asn1_k_decode.h(asn1_decode_passwdsequence,
77 asn1_decode_sequence_of_passwdsequence): Added missing
80 Thu Feb 16 19:29:59 1995 Theodore Y. Ts'o (tytso@dcl)
82 * asn1_k_encode.h(asn1_encode_enc_kdc_rep_part): Remove duplicate
83 declaration of asn1_encode_enc_kdc_rep_part.
85 Fri Feb 10 15:30:45 1995 Theodore Y. Ts'o <tytso@dcl>
87 * asn1_k_encode.c: Remove #include of krb5_encode.h (it's not
91 * krb5_decode.h: These files removed; their contents have been
92 poured into include/krb5/asn1.h.
94 * Makefile.isode.in: Removed.
96 * process.perl: Removed (isode cruft).
98 * Makefile.sane.in: Removed; contents moved to Makefile.in
101 * Makefile.in: Removed isode croft. (Makefile.in was
104 Fri Feb 3 01:02:43 1995 John Gilmore <gnu@cygnus.com>
106 * asn1_decode_k.c => asn1_k_decode.c
107 * asn1_decode_k.h => asn1_k_decode.h
108 * asn1_encode_k.c => asn1_k_encode.c
109 * asn1_encode_k.h => asn1_k_encode.h
110 * Makefile.sane.in, krb5_decode.c, krb5_encode.c,
111 asn1_k_encode.c, asn1_k_decode.c: updated to match.
113 Fri Nov 18 16:24:35 1994 Theodore Y. Ts'o (tytso@dcl)
115 * krb5_decode.c (decode_krb5_encryption_key): Add magic number to
118 Thu Nov 10 21:51:55 1994 Theodore Y. Ts'o (tytso@dcl)
120 * asn1_decode_k.c (asn1_decode_principal_name,
121 asn1_decode_checksum, asn1_decode_encrypted_data,
122 asn1_decode_transited_encoding,
123 asn1_decode_enc_kdc_rep_part, asn1_decode_ticket,
124 asn1_decode_kdc_req, asn1_decode_kdc_req_body,
125 asn1_decode_safe_body, asn1_decode_host_address,
126 asn1_decode_kdc_rep, asn1_decode_authdata_elt,
127 asn1_decode_krb_cred_info, asn1_decode_pa_data,
128 asn1_decode_last_req_entry): Initialize magic number field
129 in the relevant structures.
131 * asn1_decode_k.c (asn1_decode_encryption_key): Add appropriate
132 magic number and encryption type.
134 Wed Nov 2 23:10:36 1994 Theodore Y. Ts'o (tytso@dcl)
136 * configure.in: Add WITH_CPPOPTS since we're not using
139 Thu Oct 27 22:32:13 1994 Theodore Y. Ts'o (tytso@dcl)
141 * Makefile.sane.in: Remove duplicate definitions for DEFS, CC,
142 CCOPTS, and LIBS. (now defined in config/pre.in).
144 Wed Oct 19 10:51:16 1994 Theodore Y. Ts'o (tytso@maytag)
146 * err2kerr.c (KRB5_KRB__ERROR2krb5_error): The e_data field
147 wasn't being decoded when it should have been.
149 * qbuf2data.c (qbuf2krb5_data): Set magic number field to zero.
151 * asn1_decode_k.c (asn1_decode_kdc_req_body): If the authorization
152 field is not present, fill in the authorization data
153 fields with all zeros. Don't set kvno (that's *key*
154 version number, not *Kerberos* version number) to 5.
156 Tue Oct 18 23:07:20 1994 Theodore Y. Ts'o (tytso@maytag)
158 * tgrq2ktgrq.c (KRB5_KDC__REQ__BODY2krb5_kdc_req): Allow the
159 service principal to be optional.
161 * ktgrq2tgrq.c (krb5_kdc_req2KRB5_KDC__REQ__BODY): Allow the
162 server principal to be optional.
164 Fri Oct 7 15:05:35 1994 Theodore Y. Ts'o (tytso@dcl)
166 * Makefile.isode.in: Add -DKRB5_USE_ISODE so that include files
169 Tue Oct 4 16:13:45 1994 Theodore Y. Ts'o (tytso@dcl)
171 * asn1_decode_k.c (asn1_decode_kerberos_time): Don't assume that
172 krb5_timestamp and time_t are the same.
174 Thu Sep 29 14:26:34 1994 Theodore Y. Ts'o (tytso@dcl)
176 * asn1buf.c (asn1buf_remove_octetstring, asn1buf_remove_charstring):
177 If the length is zero, don't call calloc(0,1); instead
178 return a NULL pointer. This way, we get consistent
179 behavior even on systems where malloc(0) returns a
182 Tue Sep 27 23:31:50 1994 Theodore Y. Ts'o (tytso@dcl)
184 * krb5_encode.c (encode_krb5_enc_kdc_rep_part): = should have been
185 == in commented-out code. Get it right for the future...
187 Wed Sep 21 00:18:12 1994 Theodore Y. Ts'o (tytso@dcl)
189 * krb5_decode.c (decode_krb5_authdata): Initialize variable where
190 the authdata is returned to NULL first. (Caller shouldn't
193 * asn1_decode.c (asn1_decode_generaltime): Plug memory leak caused
194 by not freeing temporary string.
196 Wed Aug 17 16:07:06 1994 Theodore Y. Ts'o (tytso at tsx-11)
198 * krb5_encode.c (encode_krb5_enc_kdc_rep_part): Older versions of
199 the Kerberos are always sending the enc_kdc_rep_part structure
200 with an application tag of #26, instead of using the application
201 tag of #25 (AS REP) or #26 (AS REP) as necessary. Worse yet, they
202 will only accept a tag of #26, so we need to follow this for
203 backwards compatibility. #defining KRB5_ENCKRB5KDCREPPART_COMPAT
204 will preserve this wrong (but compatible) behavior.
206 * krb5_decode.c (decode_krb5_enc_kdc_rep_part): Record the tag
207 value of the ASN.1 sequence in the rkb5_enc_kdc_rep structure.
208 Allow both tag #25 and #26 (although old software was always
211 * krb5_decode.c (decode_krb5_as_rep, decode_krb5_tgs_rep,
212 decode_krb5_ap_req, decode_krb5_ap_rep, decode_krb5_as_req,
213 decode_krb5_tgs_req, decode_krb5_safe, decode_krb5_priv,
214 decode_krb5_cred, decode_krb5_error): Only check the ASN.1 message
215 type if KRB5_MSGTYPE_STRICT is defined. "Be strict in what you
216 send out, liberal in what you receive..."
218 * asn1_decode_k.c (asn1_decode_msgtype): Stop checking the
219 validity of the message type here. Each routine that calls
220 asn1_decode_msgtype is checking the message type anyway, so it's
221 just duplicated effort.
223 Sat Aug 13 03:40:16 1994 Mark Eichin (eichin@perdiem)
225 * krbasn1.h: include stdlib.h for calloc declaration (if we can)
227 Thu Aug 11 00:38:10 1994 Theodore Y. Ts'o (tytso@dcl)
229 * asn1_encode_k.c (asn1_encode_kdc_req): Add extra argument which
230 specifies the msg_type of the encoding; don't use req->msg_type
231 which is generally not set right. (That output is only as a place
232 to stash the msg_type from decode). All callers updated.
234 * asn1_encode_k.c (asn1_encode_kdc_rep): Add extra argument which
235 specifies the msg_type of the encoding; don't use rep->msg_type
236 which is generally not set right. (That output is only as a place
237 to stash the msg_type from decode). All callers updated.
239 * asn1_encode_k.c (asn1_encode_msgtype): Routine removed. Not
240 really necessary, since a msg_type is really just an integer.
243 Thu Aug 4 13:19:14 1994 Tom Yu (tlyu@dragons-lair)
245 * asn1_decode_k.c (asn1_decode_sequence_of_enctype): fix typo
247 Tue Aug 2 07:22:57 1994 Tom Yu (tlyu@dragons-lair)
249 * asn1_decode_k.c (asn1_decode_sequence_of_enctype): more fixing
250 of realloc(NULL) returning NULL
252 Sat Jul 23 08:48:18 1994 Tom Yu (tlyu@dragons-lair)
254 * asn1buf.h: include ext-proto.h now to avoid type warnings
256 Sat Jul 16 00:19:18 1994 Tom Yu (tlyu at dragons-lair)
258 * asn1_encode_k.c (asn1_encode_transited_encoding): whoops don't
259 bomb if val->tr_contents.dlength == 0
261 * asn1_decode_k.c (asn1_decode_encrypted_data): oops looks like
262 Harry made a brain fart here.... default value for kvno was 5, not
265 Thu Jul 14 11:37:59 1994 Theodore Y. Ts'o (tytso at tsx-11)
268 * krb5_*.[ch]: Add MIT Copyright notices.
270 Thu Jul 14 01:26:22 1994 Tom Yu (tlyu at dragons-lair)
272 * asn1_encode_k.c (asn1_encode_pa_data): oops still check NULL if
275 Sat Jul 9 00:26:48 1994 Tom Yu (tlyu at dragons-lair)
277 * asn1_encode_k.c (asn1_encode_pa_data): the contents field of a
278 krb5_pa_data structure can be NULL (e.g.
279 salt_type==KRB5_KDB_SALTTYPE_V4), and the encoder was treating
280 this as a missing required field
282 Fri Jul 8 17:32:29 1994 Tom Yu (tlyu at dragons-lair)
284 * asn1_decode_k.c: yet another instance of the SunOS realloc bug
286 * asn1buf.c: whee SunOS realloc of a NULL pointer returns NULL.
289 Wed Jul 6 13:21:35 1994 Mark Eichin (eichin@cygnus.com)
291 * an1buf.c: Harry saves vs. Unix again. Making sure that anything
292 that can call calloc with a zero argument won't return ENOMEM if
293 calloc retuns NULL in this case. This was prompted by breakage
296 * asn1_encode.c (asn1_encode_generaltime): don't use strftime on
297 the output of gmtime -- under Solaris, it mutates it! (seems to be
298 doing a timezone offset.) Besides, sprintf is quite sufficient.
299 Also rename local variable time to gtime to avoid name collision.
300 (asn1_decode_generaltime): the fixed-point method below doesn't
301 actually work because it doesn't handle the current timezone
302 offset. Simpler, and more general -- always call gmt_mktime, which
303 is now provided in lib/krb5/os/gmt_mktime.c.
305 Sun Jul 3 04:43:42 1994 Tom Yu (tlyu at dragons-lair)
309 * krbasn1.h: punt stdlib.h in favor of stdio.h. It looks like
310 Harry was assuming that NULL gets defined in stdlib instead of
313 Fri Jul 1 13:03:39 1994 Mark Eichin (eichin@cygnus.com)
315 * asn1_encode_k.c (asn1_encode_msgtype): comment out krb5_msgtype
316 decl of val arg, use int (to match prototype in header.) Throw out
317 OLDDECLARG, DECLARG, and use old-style definition to match style
318 of the rest of the code.
319 (asn1_encode_ui_4): comment out krb5_ui_4 decl of val arg, use int
320 (to match prototype in header.) Also rewrote definition header.
322 * asn1_decode.c (asn1_decode_generaltime): tm_gmtoff is *not* in
323 System V either. The only portable way to find the delta is to
324 subtract gmtime from localtime at a fixed point (epoch+24hours is
325 an easy way to simplify the arithmetic.)
326 HAVE_GMTOFF: might someday be defined, but for now merely labels
327 what the code original did/was intended to do.
329 * configure.in: redo "autoconf frobbage" since the old way didn't
330 work with srcdir. Now, AC_OUTPUT generates all three Makefiles,
331 and ISODEMAKEFILE is subst'ed in to be either Makefile.isode or
332 Makefile.sane. EXTRA_RULES_IN is used to append the extra stuff to
333 the end of the "real" one of the two.
334 * configure.in: krb5_encode.h and krb5_encode.h are source, not
335 generated, so use CopySrcHeader instead.
338 Tue Jun 28 19:57:28 1994 Tom Yu (tlyu at dragons-lair)
341 * Makefile.in: autoconf frobbage