Windows global stuff:
[krb5.git] / src / lib / krb5 / asn.1 / ChangeLog
1 Thu Apr 13 15:49:16 1995 Keith Vetter (keithv@fusion.com)
2
3         * *.[ch]: removed unneeded INTERFACE from non-api functions.
4
5 Wed Mar 22 09:39:55 1995    <tytso@rsx-11.mit.edu>
6
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.
12
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
17                 zero octets.
18
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.]
23
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.
27
28 Sat Mar 25 14:12:31 1995  Tom Yu  (tlyu@dragons-lair)
29
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
33
34 Fri Mar 17 19:05:22 1995  John Gilmore  (gnu at toad.com)
35
36         * Makefile.in:  Remove redundant definitions from config/pre.in
37         (clean-mac):  Add.
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.
43
44 Fri Mar 10 15:39:24 1995  Theodore Y. Ts'o  (tytso@kenmore)
45
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....
49
50 Tue Mar 7 21:40:18 1995 Keith Vetter (keithv@fusion.com)
51
52         * Makefile.in: changed library name for the PC.
53
54 Wed Mar 1 18:00:00 1995 Keith Vetter (keithv@fusion.com)
55
56         * asn1_decode.c, asn1_encode.c, ans1_k_encode.c, asn1_misc.c: 16 vs 
57            32 bit casts.
58         * asn1_k_encode.h: added missing INTERFACE to a prototype
59
60 Tue Feb 28 00:32:48 1995  John Gilmore  (gnu at toad.com)
61
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.
65
66 Tue Feb 21 12:00:00 1995  Keith Vetter (keithv@fusion.com)
67
68         * Makefile.in: made to work for the PC
69         * *.c, *.h: added windows INTERFACE keyword to all functions
70
71 Tue Feb 21 20:11:30 1995  Theodore Y. Ts'o  (tytso@dcl)
72
73         * asn1_k_decode.h(asn1_decode_kvno, asn1_decode_krb_safe_body):
74                 Removed duplicate declarations.
75
76         * asn1_k_decode.h(asn1_decode_passwdsequence, 
77                 asn1_decode_sequence_of_passwdsequence): Added missing
78                 declarations.
79
80 Thu Feb 16 19:29:59 1995  Theodore Y. Ts'o  (tytso@dcl)
81
82         * asn1_k_encode.h(asn1_encode_enc_kdc_rep_part): Remove duplicate
83                 declaration of asn1_encode_enc_kdc_rep_part.
84
85 Fri Feb 10 15:30:45 1995  Theodore Y. Ts'o  <tytso@dcl>
86
87         * asn1_k_encode.c: Remove #include of krb5_encode.h (it's not
88                 needed).
89
90         * krb5_encode.h:
91         * krb5_decode.h: These files removed; their contents have been
92                 poured into include/krb5/asn1.h.
93
94         * Makefile.isode.in: Removed.
95
96         * process.perl: Removed (isode cruft).
97
98         * Makefile.sane.in: Removed; contents moved to Makefile.in
99
100         * configure.in: 
101         * Makefile.in: Removed isode croft.  (Makefile.in was
102                 Makefile.sane.in) 
103
104 Fri Feb  3 01:02:43 1995  John Gilmore  <gnu@cygnus.com>
105
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.
112
113 Fri Nov 18 16:24:35 1994  Theodore Y. Ts'o  (tytso@dcl)
114
115         * krb5_decode.c (decode_krb5_encryption_key): Add magic number to
116                 keyblock structure.
117
118 Thu Nov 10 21:51:55 1994  Theodore Y. Ts'o  (tytso@dcl)
119
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.
130
131         * asn1_decode_k.c (asn1_decode_encryption_key): Add appropriate
132                 magic number and encryption type.
133
134 Wed Nov  2 23:10:36 1994  Theodore Y. Ts'o  (tytso@dcl)
135
136         * configure.in: Add WITH_CPPOPTS since we're not using
137                 CONFIG_RULES (yet).
138
139 Thu Oct 27 22:32:13 1994  Theodore Y. Ts'o  (tytso@dcl)
140
141         * Makefile.sane.in: Remove duplicate definitions for DEFS, CC,
142                 CCOPTS, and LIBS.  (now defined in config/pre.in).
143
144 Wed Oct 19 10:51:16 1994  Theodore Y. Ts'o  (tytso@maytag)
145
146         * err2kerr.c (KRB5_KRB__ERROR2krb5_error): The e_data field
147                 wasn't being decoded when it should have been.
148
149         * qbuf2data.c (qbuf2krb5_data): Set magic number field to zero.
150
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.
155
156 Tue Oct 18 23:07:20 1994  Theodore Y. Ts'o  (tytso@maytag)
157
158         * tgrq2ktgrq.c (KRB5_KDC__REQ__BODY2krb5_kdc_req): Allow the
159                 service principal to be optional.
160
161         * ktgrq2tgrq.c (krb5_kdc_req2KRB5_KDC__REQ__BODY): Allow the
162                 server principal to be optional.
163
164 Fri Oct  7 15:05:35 1994  Theodore Y. Ts'o  (tytso@dcl)
165
166         * Makefile.isode.in: Add -DKRB5_USE_ISODE so that include files
167                 are right.
168
169 Tue Oct  4 16:13:45 1994  Theodore Y. Ts'o  (tytso@dcl)
170
171         * asn1_decode_k.c (asn1_decode_kerberos_time): Don't assume that
172                   krb5_timestamp and time_t are the same.
173
174 Thu Sep 29 14:26:34 1994  Theodore Y. Ts'o  (tytso@dcl)
175
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
180                 non-null pointer.
181
182 Tue Sep 27 23:31:50 1994  Theodore Y. Ts'o  (tytso@dcl)
183
184         * krb5_encode.c (encode_krb5_enc_kdc_rep_part): = should have been
185                 == in commented-out code.  Get it right for the future...
186
187 Wed Sep 21 00:18:12 1994  Theodore Y. Ts'o  (tytso@dcl)
188
189         * krb5_decode.c (decode_krb5_authdata): Initialize variable where
190                 the authdata is returned to NULL first.  (Caller shouldn't
191                 have to do this.)
192
193         * asn1_decode.c (asn1_decode_generaltime): Plug memory leak caused
194                 by not freeing temporary string.
195
196 Wed Aug 17 16:07:06 1994  Theodore Y. Ts'o  (tytso at tsx-11)
197
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.
205
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
209         sending tag #26).
210
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..."
217
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.
222
223 Sat Aug 13 03:40:16 1994  Mark Eichin  (eichin@perdiem)
224
225         * krbasn1.h: include stdlib.h for calloc declaration (if we can)
226
227 Thu Aug 11 00:38:10 1994  Theodore Y. Ts'o  (tytso@dcl)
228
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.
233
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.
238
239         * asn1_encode_k.c (asn1_encode_msgtype): Routine removed.  Not
240         really necessary, since a msg_type is really just an integer.  
241
242
243 Thu Aug  4 13:19:14 1994  Tom Yu  (tlyu@dragons-lair)
244
245         * asn1_decode_k.c (asn1_decode_sequence_of_enctype): fix typo
246
247 Tue Aug  2 07:22:57 1994  Tom Yu  (tlyu@dragons-lair)
248
249         * asn1_decode_k.c (asn1_decode_sequence_of_enctype): more fixing
250         of realloc(NULL) returning NULL
251
252 Sat Jul 23 08:48:18 1994  Tom Yu  (tlyu@dragons-lair)
253
254         * asn1buf.h: include ext-proto.h now to avoid type warnings
255
256 Sat Jul 16 00:19:18 1994  Tom Yu  (tlyu at dragons-lair)
257
258         * asn1_encode_k.c (asn1_encode_transited_encoding): whoops don't
259         bomb if val->tr_contents.dlength == 0
260
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
263         0.
264
265 Thu Jul 14 11:37:59 1994  Theodore Y. Ts'o  (tytso at tsx-11)
266
267         * asn1_*.[ch]: 
268         * krb5_*.[ch]: Add MIT Copyright notices.
269
270 Thu Jul 14 01:26:22 1994  Tom Yu  (tlyu at dragons-lair)
271
272         * asn1_encode_k.c (asn1_encode_pa_data): oops still check NULL if
273         length != 0
274
275 Sat Jul  9 00:26:48 1994  Tom Yu  (tlyu at dragons-lair)
276
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
281
282 Fri Jul  8 17:32:29 1994  Tom Yu  (tlyu at dragons-lair)
283
284         * asn1_decode_k.c: yet another instance of the SunOS realloc bug
285
286         * asn1buf.c: whee SunOS realloc of a NULL pointer returns NULL.
287         sigh.
288
289 Wed Jul  6 13:21:35 1994  Mark Eichin  (eichin@cygnus.com)
290
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
294         under linux.
295
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.
304
305 Sun Jul  3 04:43:42 1994  Tom Yu  (tlyu at dragons-lair)
306
307         * asn1_encode_k.h:
308         * asn1buf.c:
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
311         stdio
312
313 Fri Jul  1 13:03:39 1994  Mark Eichin  (eichin@cygnus.com)
314
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.
321
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.
328
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.
336
337
338 Tue Jun 28 19:57:28 1994  Tom Yu  (tlyu at dragons-lair)
339
340         * configure.in:
341         * Makefile.in: autoconf frobbage
342