]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - crypto/heimdal/lib/gssapi/ChangeLog
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / crypto / heimdal / lib / gssapi / ChangeLog
1 2008-01-13  Love Hörnquist Åstrand  <lha@it.su.se>
2
3         * test_ntlm.c: Test source name (and make the acceptor in ntlm gss
4         mech useful).
5
6 2007-12-30  Love Hörnquist Åstrand  <lha@it.su.se>
7
8         * ntlm/init_sec_context.c: Don't confuse target name and source
9         name, make regressiont tests pass again.
10         
11 2007-12-29  Love Hörnquist Åstrand  <lha@it.su.se>
12         
13         * ntlm: clean up name handling
14
15 2007-12-04  Love Hörnquist Åstrand  <lha@it.su.se>
16
17         * ntlm/init_sec_context.c: Use credential if it was passed in.
18
19         * ntlm/acquire_cred.c: Check if there is initial creds with
20         _gss_ntlm_get_user_cred().
21
22         * ntlm/init_sec_context.c: Add _gss_ntlm_get_user_info() that
23         return the user info so it can be used by external modules.
24
25         * ntlm/inquire_cred.c: use the right error code.
26
27         * ntlm/inquire_cred.c: Return GSS_C_NO_CREDENTIAL if there is no
28         credential, ntlm have (not yet) a default credential.
29         
30         * mech/gss_release_oid_set.c: Avoid trying to deref NULL, from
31         Phil Fisher.
32
33 2007-12-03  Love Hörnquist Åstrand  <lha@it.su.se>
34         
35         * test_acquire_cred.c: Always try to fetch cred (even with
36         GSS_C_NO_NAME).
37
38 2007-08-09  Love Hörnquist Åstrand  <lha@it.su.se>
39
40         * mech/gss_krb5.c: Readd gss_krb5_get_tkt_flags.
41
42 2007-08-08  Love Hörnquist Åstrand  <lha@it.su.se>
43
44         * spnego/compat.c (_gss_spnego_internal_delete_sec_context):
45         release ctx->target_name too From Rafal Malinowski.
46
47 2007-07-26  Love Hörnquist Åstrand  <lha@it.su.se>
48
49         * mech/gss_mech_switch.c: Don't try to do dlopen if system doesn't
50         have dlopen. From Rune of Chalmers.
51
52 2007-07-10  Love Hörnquist Åstrand  <lha@it.su.se>
53
54         * mech/gss_duplicate_name.c: New signature of _gss_find_mn.
55
56         * mech/gss_init_sec_context.c: New signature of _gss_find_mn.
57
58         * mech/gss_acquire_cred.c: New signature of _gss_find_mn.
59
60         * mech/name.h: New signature of _gss_find_mn.
61
62         * mech/gss_canonicalize_name.c: New signature of _gss_find_mn.
63
64         * mech/gss_compare_name.c: New signature of _gss_find_mn.
65
66         * mech/gss_add_cred.c: New signature of _gss_find_mn.
67
68         * mech/gss_names.c (_gss_find_mn): Return an error code for
69         caller.
70
71         * spnego/accept_sec_context.c: remove checks that are done by the
72         previous function.
73
74         * Makefile.am: New library version.
75
76 2007-07-04  Love Hörnquist Åstrand  <lha@it.su.se>
77
78         * mech/gss_oid_to_str.c: Refuse to print GSS_C_NULL_OID, from
79         Rafal Malinowski.
80
81         * spnego/spnego.asn1: Indent and make NegTokenInit and
82         NegTokenResp extendable.
83
84 2007-06-21  Love Hörnquist Åstrand  <lha@it.su.se>
85
86         * ntlm/inquire_cred.c: Implement _gss_ntlm_inquire_cred.
87
88         * mech/gss_display_status.c: Provide message for GSS_S_COMPLETE.
89         
90         * mech/context.c: If the canned string is "", its no use to the
91         user, make it fall back to the default error string.
92         
93 2007-06-20  Love Hörnquist Åstrand  <lha@it.su.se>
94
95         * mech/gss_display_name.c (gss_display_name): no name ->
96         fail. From Rafal Malinswski.
97
98         * spnego/accept_sec_context.c: Wrap name in a spnego_name instead
99         of just a copy of the underlaying object. From Rafal Malinswski.
100
101         * spnego/accept_sec_context.c: Handle underlaying mech not
102         returning mn.
103
104         * mech/gss_accept_sec_context.c: Handle underlaying mech not
105         returning mn.
106
107         * spnego/accept_sec_context.c: Make sure src_name is always set to
108         GSS_C_NO_NAME when returning.
109
110         * krb5/acquire_cred.c (acquire_acceptor_cred): don't claim
111         everything is well on failure.  From Phil Fisher.
112
113         * mech/gss_duplicate_name.c: catch error (and ignore it)
114
115         * ntlm/init_sec_context.c: Use heim_ntlm_calculate_ntlm2_sess.
116
117         * mech/gss_accept_sec_context.c: Only wrap the delegated cred if
118         we got a delegated mech cred.  From Rafal Malinowski.
119
120         * spnego/accept_sec_context.c: Only wrap the delegated cred if we
121         are going to return it to the consumer.  From Rafal Malinowski.
122
123         * spnego/accept_sec_context.c: Fixed memory leak pointed out by
124         Rafal Malinowski, also while here moved to use NegotiationToken
125         for decoding.
126
127 2007-06-18  Love Hörnquist Åstrand  <lha@it.su.se>
128
129         * krb5/prf.c (_gsskrb5_pseudo_random): add missing break.
130
131         * krb5/release_name.c: Set *minor_status unconditionallty, its
132         done later anyway.
133
134         * spnego/accept_sec_context.c: Init get_mic to 0.
135
136         * mech/gss_set_cred_option.c: Free memory in failure case, found
137         by beam.
138
139         * mech/gss_inquire_context.c: Handle mech_type being NULL.
140
141         * mech/gss_inquire_cred_by_mech.c: Handle cred_name being NULL.
142
143         * mech/gss_krb5.c: Free memory in error case, found by beam.
144
145 2007-06-12  Love Hörnquist Åstrand  <lha@it.su.se>
146
147         * ntlm/inquire_context.c: Use ctx->gssflags for flags.
148
149         * krb5/display_name.c: Use KRB5_PRINCIPAL_UNPARSE_DISPLAY, this is
150         not ment for machine consumption.
151
152 2007-06-09  Love Hörnquist Åstrand  <lha@it.su.se>
153
154         * ntlm/digest.c (kdc_alloc): free memory on failure, pointed out
155         by Rafal Malinowski.
156         
157         * ntlm/digest.c (kdc_destroy): free context when done, pointed out
158         by Rafal Malinowski.
159
160         * spnego/context_stubs.c (_gss_spnego_display_name): if input_name
161         is null, fail.  From Rafal Malinowski.
162         
163 2007-06-04  Love Hörnquist Åstrand  <lha@it.su.se>
164         
165         * ntlm/digest.c: Free memory when done.
166         
167 2007-06-02  Love Hörnquist Åstrand  <lha@it.su.se>
168
169         * test_ntlm.c: Test both with and without keyex.
170
171         * ntlm/digest.c: If we didn't set session key, don't expect one
172         back.
173
174         * test_ntlm.c: Set keyex flag and calculate session key.
175         
176 2007-05-31  Love Hörnquist Åstrand  <lha@it.su.se>
177         
178         * spnego/accept_sec_context.c: Use the return value before is
179         overwritten by later calls.  From Rafal Malinowski
180
181         * krb5/release_cred.c: Give an minor_status argument to
182         gss_release_oid_set.  From Rafal Malinowski
183         
184 2007-05-30  Love Hörnquist Åstrand  <lha@it.su.se>
185
186         * ntlm/accept_sec_context.c: Catch errors and return the up the
187         stack.
188
189         * test_kcred.c: more testing of lifetimes
190         
191 2007-05-17  Love Hörnquist Åstrand  <lha@it.su.se>
192
193         * Makefile.am: Drop the gss oid_set function for the krb5 mech,
194         use the mech glue versions instead. Pointed out by Rafal
195         Malinowski.
196
197         * krb5: Use gss oid_set functions from mechglue
198
199 2007-05-14  Love Hörnquist Åstrand  <lha@it.su.se>
200
201         * ntlm/accept_sec_context.c: Set session key only if we are
202         returned a session key. Found by David Love.
203         
204 2007-05-13  Love Hörnquist Åstrand  <lha@it.su.se>
205         
206         * krb5/prf.c: switched MIN to min to make compile on solaris,
207         pointed out by David Love.
208         
209 2007-05-09 Love Hörnquist Åstrand <lha@it.su.se>
210
211         * krb5/inquire_cred_by_mech.c: Fill in all of the variables if
212         they are passed in. Pointed out by Phil Fisher.
213         
214 2007-05-08  Love Hörnquist Åstrand  <lha@it.su.se>
215
216         * krb5/inquire_cred.c: Fix copy and paste error, bug spotted by
217         from Phil Fisher.
218
219         * mech: dont keep track of gc_usage, just figure it out at
220         gss_inquire_cred() time
221
222         * mech/gss_mech_switch.c (add_builtin): ok for
223         __gss_mech_initialize() to return NULL
224
225         * test_kcred.c: more correct tests
226
227         * spnego/cred_stubs.c (gss_inquire_cred*): wrap the name with a
228         spnego_name.
229
230         * ntlm/inquire_cred.c: make ntlm gss_inquire_cred fail for now,
231         need to find default cred and friends.
232
233         * krb5/inquire_cred_by_mech.c: reimplement
234         
235 2007-05-07  Love Hörnquist Åstrand  <lha@it.su.se>
236         
237         * ntlm/acquire_cred.c: drop unused variable.
238
239         * ntlm/acquire_cred.c: Reimplement.
240
241         * Makefile.am: add ntlm/digest.c
242
243         * ntlm: split out backend ntlm server processing
244
245 2007-04-24  Love Hörnquist Åstrand  <lha@it.su.se>
246
247         * ntlm/delete_sec_context.c (_gss_ntlm_delete_sec_context): free
248         credcache when done
249         
250 2007-04-22  Love Hörnquist Åstrand  <lha@it.su.se>
251
252         * ntlm/init_sec_context.c: ntlm-key credential entry is prefix with @
253         
254         * ntlm/init_sec_context.c (get_user_ccache): pick up the ntlm
255         creds from the krb5 credential cache.
256         
257 2007-04-21  Love Hörnquist Åstrand  <lha@it.su.se>
258
259         * ntlm/delete_sec_context.c: free the key stored in the context
260
261         * ntlm/ntlm.h: switch password for a key
262
263         * test_oid.c: Switch oid to one that is exported.
264         
265 2007-04-20  Love Hörnquist Åstrand  <lha@it.su.se>
266
267         * ntlm/init_sec_context.c: move where hash is calculated to make
268         it easier to add ccache support.
269
270         * Makefile.am: Add version-script.map to EXTRA_DIST.
271         
272 2007-04-19  Love Hörnquist Åstrand  <lha@it.su.se>
273
274         * Makefile.am: Unconfuse newer versions of automake that doesn't
275         know the diffrence between depenences and setting variables. foo:
276         vs foo=.
277
278         * test_ntlm.c: delete sec context when done.
279
280         * version-script.map: export more symbols.
281         
282         * Makefile.am: add version script if ld supports it
283         
284         * version-script.map: add version script if ld supports it
285         
286 2007-04-18  Love Hörnquist Åstrand  <lha@it.su.se>
287         
288         * Makefile.am: test_acquire_cred need test_common.[ch]
289
290         * test_acquire_cred.c: add more test options.
291
292         * krb5/external.c: add GSS_KRB5_CCACHE_NAME_X
293
294         * gssapi/gssapi_krb5.h: add GSS_KRB5_CCACHE_NAME_X
295
296         * krb5/set_sec_context_option.c: refactor code, implement
297         GSS_KRB5_CCACHE_NAME_X
298
299         * mech/gss_krb5.c: reimplement gss_krb5_ccache_name
300         
301 2007-04-17  Love Hörnquist Åstrand <lha@it.su.se>
302         
303         * spnego/cred_stubs.c: Need to import spnego name before we can
304         use it as a gss_name_t.
305
306         * test_acquire_cred.c: use this test as part of the regression
307         suite.
308
309         * mech/gss_acquire_cred.c (gss_acquire_cred): dont init
310         cred->gc_mc every time in the loop.
311         
312 2007-04-15  Love Hörnquist Åstrand  <lha@it.su.se>
313
314         * Makefile.am: add test_common.h
315         
316 2007-02-16  Love Hörnquist Åstrand  <lha@it.su.se>
317
318         * gss_acquire_cred.3: Add link for
319         gsskrb5_register_acceptor_identity.
320
321 2007-02-08  Love Hörnquist Åstrand  <lha@it.su.se>
322
323         * krb5/copy_ccache.c: Try to leak less memory in the failure case.
324         
325 2007-01-31  Love Hörnquist Åstrand  <lha@it.su.se>
326         
327         * mech/gss_display_status.c: Use right printf formater.
328
329         * test_*.[ch]: split out the error printing function and try to
330         return better errors
331
332 2007-01-30  Love Hörnquist Åstrand  <lha@it.su.se>
333
334         * krb5/init_sec_context.c: revert 1.75: (init_auth): only turn on
335         GSS_C_CONF_FLAG and GSS_C_INT_FLAG if the caller requseted it.
336         
337         This is because Kerberos always support INT|CONF, matches behavior
338         with MS and MIT. The creates problems for the GSS-SPNEGO mech.
339         
340 2007-01-24  Love Hörnquist Åstrand  <lha@it.su.se>
341         
342         * krb5/prf.c: constrain desired_output_len
343
344         * krb5/external.c (krb5_mech): add _gsskrb5_pseudo_random
345
346         * mech/gss_pseudo_random.c: Catch error from underlaying mech on
347         failure.
348
349         * Makefile.am: Add krb5/prf.c
350
351         * krb5/prf.c: gss_pseudo_random for krb5
352
353         * test_context.c: Checks for gss_pseudo_random.
354
355         * krb5/gkrb5_err.et: add KG_INPUT_TOO_LONG
356
357         * Makefile.am: Add mech/gss_pseudo_random.c
358
359         * gssapi/gssapi.h: try to load pseudo_random
360
361         * mech/gss_mech_switch.c: try to load pseudo_random
362
363         * mech/gss_pseudo_random.c: Add gss_pseudo_random.
364
365         * gssapi_mech.h: Add hook for gm_pseudo_random.
366         
367 2007-01-17  Love Hörnquist Åstrand  <lha@it.su.se>
368         
369         * test_context.c: Don't assume bufer from gss_display_status is
370         ok.
371
372         * mech/gss_wrap_size_limit.c: Reset out variables.
373
374         * mech/gss_wrap.c: Reset out variables.
375
376         * mech/gss_verify_mic.c: Reset out variables.
377
378         * mech/gss_utils.c: Reset out variables.
379
380         * mech/gss_release_oid_set.c: Reset out variables.
381
382         * mech/gss_release_cred.c: Reset out variables.
383
384         * mech/gss_release_buffer.c: Reset variables.
385
386         * mech/gss_oid_to_str.c: Reset out variables.
387
388         * mech/gss_inquire_sec_context_by_oid.c: Fix reset out variables.
389
390         * mech/gss_mech_switch.c: Reset out variables.
391
392         * mech/gss_inquire_sec_context_by_oid.c: Reset out variables.
393
394         * mech/gss_inquire_names_for_mech.c: Reset out variables.
395
396         * mech/gss_inquire_cred_by_oid.c: Reset out variables.
397
398         * mech/gss_inquire_cred_by_oid.c: Reset out variables.
399
400         * mech/gss_inquire_cred_by_mech.c: Reset out variables.
401
402         * mech/gss_inquire_cred.c: Reset out variables, fix memory leak.
403
404         * mech/gss_inquire_context.c: Reset out variables.
405
406         * mech/gss_init_sec_context.c: Zero out outbuffer on failure.
407
408         * mech/gss_import_name.c: Reset out variables.
409
410         * mech/gss_import_name.c: Reset out variables.
411
412         * mech/gss_get_mic.c: Reset out variables.
413
414         * mech/gss_export_name.c: Reset out variables.
415
416         * mech/gss_encapsulate_token.c: Reset out variables.
417
418         * mech/gss_duplicate_oid.c: Reset out variables.
419
420         * mech/gss_duplicate_oid.c: Reset out variables.
421
422         * mech/gss_duplicate_name.c: Reset out variables.
423
424         * mech/gss_display_status.c: Reset out variables.
425
426         * mech/gss_display_name.c: Reset out variables.
427
428         * mech/gss_delete_sec_context.c: Reset out variables using propper
429         macros.
430
431         * mech/gss_decapsulate_token.c: Reset out variables using propper
432         macros.
433
434         * mech/gss_add_cred.c: Reset out variables.
435
436         * mech/gss_acquire_cred.c: Reset out variables.
437
438         * mech/gss_accept_sec_context.c: Reset out variables using propper
439         macros.
440
441         * mech/gss_init_sec_context.c: Reset out variables.
442
443         * mech/mech_locl.h (_mg_buffer_zero): new macro that zaps a
444         gss_buffer_t
445
446 2007-01-16  Love Hörnquist Åstrand  <lha@it.su.se>
447         
448         * mech: sprinkel _gss_mg_error
449
450         * mech/gss_display_status.c (gss_display_status): use
451         _gss_mg_get_error to fetch the error from underlaying mech, if it
452         failes, let do the regular dance for GSS-CODE version and a
453         generic print-the-error code for MECH-CODE.
454
455         * mech/gss_oid_to_str.c: Don't include the NUL in the length of
456         the string.
457
458         * mech/context.h: Protoypes for _gss_mg_.
459
460         * mech/context.c: Glue to catch the error from the lower gss-api
461         layer and save that for later so gss_display_status() can show the
462         error.
463
464         * gss.c: Detect NTLM.
465         
466 2007-01-11  Love Hörnquist Åstrand  <lha@it.su.se>
467         
468         * mech/gss_accept_sec_context.c: spelling
469         
470 2007-01-04  Love Hörnquist Åstrand  <lha@it.su.se>
471         
472         * Makefile.am: Include build (private) prototypes header files.
473
474         * Makefile.am (ntlmsrc): add ntlm/ntlm-private.h
475         
476 2006-12-28  Love Hörnquist Åstrand  <lha@it.su.se>
477         
478         * ntlm/accept_sec_context.c: Pass signseal argument to
479         _gss_ntlm_set_key.
480
481         * ntlm/init_sec_context.c: Pass signseal argument to
482         _gss_ntlm_set_key.
483
484         * ntlm/crypto.c (_gss_ntlm_set_key): add signseal argument
485
486         * test_ntlm.c: add ntlmv2 test
487
488         * ntlm/ntlm.h: break out struct ntlmv2_key;
489
490         * ntlm/crypto.c (_gss_ntlm_set_key): set ntlm v2 keys.
491
492         * ntlm/accept_sec_context.c: Set dummy ntlmv2 keys and Check TI.
493
494         * ntlm/ntlm.h: NTLMv2 keys.
495
496         * ntlm/crypto.c: NTLMv2 sign and verify.
497         
498 2006-12-20  Love Hörnquist Åstrand  <lha@it.su.se>
499
500         * ntlm/accept_sec_context.c: Don't send targetinfo now.
501         
502         * ntlm/init_sec_context.c: Build ntlmv2 answer buffer.
503
504         * ntlm/init_sec_context.c: Leak less memory.
505
506         * ntlm/init_sec_context.c: Announce that we support key exchange.
507
508         * ntlm/init_sec_context.c: Add NTLM_NEG_NTLM2_SESSION, NTLMv2
509         session security (disable because missing sign and seal).
510         
511 2006-12-19  Love Hörnquist Åstrand  <lha@it.su.se>
512         
513         * ntlm/accept_sec_context.c: split RC4 send and recv keystreams
514
515         * ntlm/init_sec_context.c: split RC4 send and recv keystreams
516
517         * ntlm/ntlm.h: split RC4 send and recv keystreams
518
519         * ntlm/crypto.c: Implement SEAL.
520
521         * ntlm/crypto.c: move gss_wrap/gss_unwrap here
522
523         * test_context.c: request INT and CONF from the gss layer, test
524         get and verify MIC.
525
526         * ntlm/ntlm.h: add crypto bits.
527
528         * ntlm/accept_sec_context.c: Save session master key.
529
530         * Makefile.am: Move get and verify mic to the same file (crypto.c)
531         since they share code.
532
533         * ntlm/crypto.c: Move get and verify mic to the same file since
534         they share code, implement NTLM v1 and dummy signatures.
535
536         * ntlm/init_sec_context.c: pass on GSS_C_CONF_FLAG and
537         GSS_C_INTEG_FLAG, save the session master key
538         
539         * spnego/accept_sec_context.c: try using gss_accept_sec_context()
540         on the opportunistic token instead of guessing the acceptor name
541         and do gss_acquire_cred, this make SPNEGO work like before.
542         
543 2006-12-18  Love Hörnquist Åstrand  <lha@it.su.se>
544         
545         * ntlm/init_sec_context.c: Calculate the NTLM version 1 "master"
546         key.
547
548         * spnego/accept_sec_context.c: Resurect negHints for the acceptor
549         sends first packet.
550         
551         * Makefile.am: Add "windows" versions of the NegTokenInitWin and
552         friends.
553
554         * test_context.c: add --wrapunwrap flag
555
556         * spnego/compat.c: move _gss_spnego_indicate_mechtypelist() to
557         compat.c, use the sequence types of MechTypeList, make
558         add_mech_type() static.
559
560         * spnego/accept_sec_context.c: move
561         _gss_spnego_indicate_mechtypelist() to compat.c
562
563         * Makefile.am: Generate sequence code for MechTypeList
564
565         * spnego: check that the generated acceptor mechlist is acceptable too
566
567         * spnego/init_sec_context.c: Abstract out the initiator filter
568         function, it will be needed for the acceptor too.
569
570         * spnego/accept_sec_context.c: Abstract out the initiator filter
571         function, it will be needed for the acceptor too. Remove negHints.
572
573         * test_context.c: allow asserting return mech
574
575         * ntlm/accept_sec_context.c: add _gss_ntlm_allocate_ctx
576
577         * ntlm/acquire_cred.c: Check that the KDC seem to there and
578         answering us, we can't do better then that wen checking if we will
579         accept the credential.
580
581         * ntlm/get_mic.c: return GSS_S_UNAVAILABLE
582
583         * mech/utils.h: add _gss_free_oid, reverse of _gss_copy_oid
584
585         * mech/gss_utils.c: add _gss_free_oid, reverse of _gss_copy_oid
586
587         * spnego/spnego.asn1: Its very sad, but NegHints its are not part
588         of the NegTokenInit, this makes SPNEGO acceptor life a lot harder.
589         
590         * spnego: try harder to handle names better. handle missing
591         acceptor and initator creds better (ie dont propose/accept mech
592         that there are no credentials for) split NegTokenInit and
593         NegTokenResp in acceptor
594
595 2006-12-16  Love Hörnquist Åstrand  <lha@it.su.se>
596
597         * ntlm/import_name.c: Allocate the buffer from the right length.
598         
599 2006-12-15  Love Hörnquist Åstrand  <lha@it.su.se>
600
601         * ntlm/init_sec_context.c (init_sec_context): Tell the other side
602         what domain we think we are talking to.
603
604         * ntlm/delete_sec_context.c: free username and password
605
606         * ntlm/release_name.c (_gss_ntlm_release_name): free name.
607
608         * ntlm/import_name.c (_gss_ntlm_import_name): add support for
609         GSS_C_NT_HOSTBASED_SERVICE names
610
611         * ntlm/ntlm.h: Add ntlm_name.
612
613         * test_context.c: allow testing of ntlm.
614
615         * gssapi_mech.h: add __gss_ntlm_initialize
616
617         * ntlm/accept_sec_context.c (handle_type3): verify that the kdc
618         approved of the ntlm exchange too
619
620         * mech/gss_mech_switch.c: Add the builtin ntlm mech
621
622         * test_ntlm.c: NTLM test app.
623
624         * mech/gss_accept_sec_context.c: Add detection of NTLMSSP.
625
626         * gssapi/gssapi.h: add ntlm mech oid
627
628         * ntlm/external.c: Switch OID to the ms ntlmssp oid
629
630         * Makefile.am: Add ntlm gss-api module.
631
632         * ntlm/accept_sec_context.c: Catch more error errors.
633
634         * ntlm/accept_sec_context.c: Check after a credential to use.
635         
636 2006-12-14  Love Hörnquist Åstrand  <lha@it.su.se>
637         
638         * krb5/set_sec_context_option.c (GSS_KRB5_SET_DEFAULT_REALM_X):
639         don't fail on success.  Bug report from Stefan Metzmacher.
640         
641 2006-12-13  Love Hörnquist Åstrand  <lha@it.su.se>
642         
643         * krb5/init_sec_context.c (init_auth): only turn on
644         GSS_C_CONF_FLAG and GSS_C_INT_FLAG if the caller requseted it.
645         From Stefan Metzmacher.
646         
647 2006-12-11  Love Hörnquist Åstrand  <lha@it.su.se>
648         
649         * Makefile.am (libgssapi_la_OBJECTS): depends on gssapi_asn1.h
650         spnego_asn1.h.
651
652 2006-11-20  Love Hörnquist Åstrand  <lha@it.su.se>
653
654         * krb5/acquire_cred.c: Make krb5_get_init_creds_opt_free take a
655         context argument.
656         
657 2006-11-16  Love Hörnquist Åstrand <lha@it.su.se>
658         
659         * test_context.c: Test that token keys are the same, return
660         actual_mech.
661         
662 2006-11-15  Love Hörnquist Åstrand <lha@it.su.se>
663
664         * spnego/spnego_locl.h: Make bitfields unsigned, add maybe_open.
665
666         * spnego/accept_sec_context.c: Use ASN.1 encoder functions to
667         encode CHOICE structure now that we can handle it.
668
669         * spnego/init_sec_context.c: Use ASN.1 encoder functions to encode
670         CHOICE structure now that we can handle it.
671
672         * spnego/accept_sec_context.c (_gss_spnego_accept_sec_context):
673         send back ad accept_completed when the security context is ->open,
674         w/o this the client doesn't know that the server have completed
675         the transaction.
676
677         * test_context.c: Add delegate flag and check that the delegated
678         cred works.
679
680         * spnego/init_sec_context.c: Keep track of the opportunistic token
681         in the inital message, it might be a complete gss-api context, in
682         that case we'll get back accept_completed without any token. With
683         this change, krb5 w/o mutual authentication works.
684
685         * spnego/accept_sec_context.c: Use ASN.1 encoder functions to
686         encode CHOICE structure now that we can handle it.
687
688         * spnego/accept_sec_context.c: Filter out SPNEGO from the out
689         supported mechs list and make sure we don't select that for the
690         preferred mechamism.
691         
692 2006-11-14  Love Hörnquist Åstrand  <lha@it.su.se>
693         
694         * mech/gss_init_sec_context.c (_gss_mech_cred_find): break out the
695         cred finding to its own function
696
697         * krb5/wrap.c: Better error strings, from Andrew Bartlet.
698         
699 2006-11-13  Love Hörnquist Åstrand  <lha@it.su.se>
700         
701         * test_context.c: Create our own krb5_context.
702
703         * krb5: Switch from using a specific error message context in the
704         TLS to have a whole krb5_context in TLS. This have some
705         interestion side-effekts for the configruration setting options
706         since they operate on per-thread basis now.
707
708         * mech/gss_set_cred_option.c: When calling ->gm_set_cred_option
709         and checking for success, use GSS_S_COMPLETE. From Andrew Bartlet.
710         
711 2006-11-12  Love Hörnquist Åstrand  <lha@it.su.se>
712
713         * Makefile.am: Help solaris make even more.
714
715         * Makefile.am: Help solaris make.
716         
717 2006-11-09  Love Hörnquist Åstrand  <lha@it.su.se>
718         
719         * Makefile.am: remove include $(srcdir)/Makefile-digest.am for now
720
721         * mech/gss_accept_sec_context.c: Try better guessing what is mech
722         we are going to select by looking harder at the input_token, idea
723         from Luke Howard's mechglue branch.
724
725         * Makefile.am: libgssapi_la_OBJECTS: add depency on gkrb5_err.h
726
727         * gssapi/gssapi_krb5.h: add GSS_KRB5_SET_ALLOWABLE_ENCTYPES_X
728
729         * mech/gss_krb5.c: implement gss_krb5_set_allowable_enctypes
730
731         * gssapi/gssapi.h: GSS_KRB5_S_
732
733         * krb5/gsskrb5_locl.h: Include <gkrb5_err.h>.
734
735         * gssapi/gssapi_krb5.h: Add gss_krb5_set_allowable_enctypes.
736
737         * Makefile.am: Build and install gkrb5_err.h
738
739         * krb5/gkrb5_err.et: Move the GSS_KRB5_S error here.
740         
741 2006-11-08  Love Hörnquist Åstrand  <lha@it.su.se>
742         
743         * mech/gss_krb5.c: Add gsskrb5_set_default_realm.
744
745         * krb5/set_sec_context_option.c: Support
746         GSS_KRB5_SET_DEFAULT_REALM_X.
747
748         * gssapi/gssapi_krb5.h: add GSS_KRB5_SET_DEFAULT_REALM_X
749
750         * krb5/external.c: add GSS_KRB5_SET_DEFAULT_REALM_X
751         
752 2006-11-07  Love Hörnquist Åstrand  <lha@it.su.se>
753         
754         * test_context.c: rename krb5_[gs]et_time_wrap to
755         krb5_[gs]et_max_time_skew
756
757         * krb5/copy_ccache.c: _gsskrb5_extract_authz_data_from_sec_context
758         no longer used, bye bye
759
760         * mech/gss_krb5.c: No depenency of the krb5 gssapi mech.
761
762         * mech/gss_krb5.c (gsskrb5_extract_authtime_from_sec_context): use
763         _gsskrb5_decode_om_uint32. From Andrew Bartlet.
764
765         * mech/gss_krb5.c: Add dummy gss_krb5_set_allowable_enctypes for
766         now.
767
768         * spnego/spnego_locl.h: Include <roken.h> for compatiblity.
769
770         * krb5/arcfour.c: Use IS_DCE_STYLE flag. There is no padding in
771         DCE-STYLE, don't try to use to.  From Andrew Bartlett.
772
773         * test_context.c: test wrap/unwrap, add flag for dce-style and
774         mutual auth, also support multi-roundtrip sessions
775
776         * krb5/gsskrb5_locl.h: Add IS_DCE_STYLE macro.
777
778         * krb5/accept_sec_context.c (gsskrb5_acceptor_start): use
779         krb5_rd_req_ctx
780
781         * mech/gss_krb5.c (gsskrb5_get_subkey): return the per message
782         token subkey
783
784         * krb5/inquire_sec_context_by_oid.c: check if there is any key at
785         all
786         
787 2006-11-06  Love Hörnquist Åstrand <lha@it.su.se>
788         
789         * krb5/inquire_sec_context_by_oid.c: Set more error strings, use
790         right enum for acceptor subkey.  From Andrew Bartlett.
791         
792 2006-11-04  Love Hörnquist Åstrand  <lha@it.su.se>
793
794         * test_context.c: Test gsskrb5_extract_service_keyblock, needed in
795         PAC valication.  From Andrew Bartlett
796
797         * mech/gss_krb5.c: Add gsskrb5_extract_authz_data_from_sec_context
798         and keyblock extraction functions.
799
800         * gssapi/gssapi_krb5.h: Add extraction of keyblock function, from
801         Andrew Bartlett.
802
803         * krb5/external.c: Add GSS_KRB5_GET_SERVICE_KEYBLOCK_X
804         
805 2006-11-03  Love Hörnquist Åstrand  <lha@it.su.se>
806
807         * test_context.c: Rename various routines and constants from
808         canonize to canonicalize.  From Andrew Bartlett
809
810         * mech/gss_krb5.c: Rename various routines and constants from
811         canonize to canonicalize.  From Andrew Bartlett
812
813         * krb5/set_sec_context_option.c: Rename various routines and
814         constants from canonize to canonicalize.  From Andrew Bartlett
815
816         * krb5/external.c: Rename various routines and constants from
817         canonize to canonicalize.  From Andrew Bartlett
818         
819         * gssapi/gssapi_krb5.h: Rename various routines and constants from
820         canonize to canonicalize.  From Andrew Bartlett
821         
822 2006-10-25  Love Hörnquist Åstrand  <lha@it.su.se>
823
824         * krb5/accept_sec_context.c (gsskrb5_accept_delegated_token): need
825         to free ccache
826         
827 2006-10-24  Love Hörnquist Åstrand  <lha@it.su.se>
828         
829         * test_context.c (loop): free target_name
830
831         * mech/gss_accept_sec_context.c: SLIST_INIT the ->gc_mc'
832         
833         * mech/gss_acquire_cred.c : SLIST_INIT the ->gc_mc' 
834
835         * krb5/init_sec_context.c: Avoid leaking memory.
836
837         * mech/gss_buffer_set.c (gss_release_buffer_set): don't leak the
838         ->elements memory.
839
840         * test_context.c: make compile
841
842         * krb5/cfx.c (_gssapi_verify_mic_cfx): always free crypto context.
843
844         * krb5/set_cred_option.c (import_cred): free sp
845         
846 2006-10-22  Love Hörnquist Åstrand  <lha@it.su.se>
847
848         * mech/gss_add_oid_set_member.c: Use old implementation of
849         gss_add_oid_set_member, it leaks less memory.
850
851         * krb5/test_cfx.c: free krb5_crypto.
852
853         * krb5/test_cfx.c: free krb5_context
854
855         * mech/gss_release_name.c (gss_release_name): free input_name
856         it-self.
857         
858 2006-10-21  Love Hörnquist Åstrand  <lha@it.su.se>
859
860         * test_context.c: Call setprogname.
861
862         * mech/gss_krb5.c: Add gsskrb5_extract_authtime_from_sec_context.
863
864         * gssapi/gssapi_krb5.h: add
865         gsskrb5_extract_authtime_from_sec_context
866         
867 2006-10-20  Love Hörnquist Åstrand  <lha@it.su.se>
868         
869         * krb5/inquire_sec_context_by_oid.c: Add get_authtime.
870
871         * krb5/external.c: add GSS_KRB5_GET_AUTHTIME_X
872
873         * gssapi/gssapi_krb5.h: add GSS_KRB5_GET_AUTHTIME_X
874
875         * krb5/set_sec_context_option.c: Implement GSS_KRB5_SEND_TO_KDC_X.
876
877         * mech/gss_krb5.c: Add gsskrb5_set_send_to_kdc
878
879         * gssapi/gssapi_krb5.h: Add GSS_KRB5_SEND_TO_KDC_X and
880         gsskrb5_set_send_to_kdc
881
882         * krb5/external.c: add GSS_KRB5_SEND_TO_KDC_X
883
884         * Makefile.am: more files
885         
886 2006-10-19  Love Hörnquist Åstrand  <lha@it.su.se>
887         
888         * Makefile.am: remove spnego/gssapi_spnego.h, its now in gssapi/
889
890         * test_context.c: Allow specifing mech.
891
892         * krb5/external.c: add GSS_SASL_DIGEST_MD5_MECHANISM (for now)
893
894         * gssapi/gssapi.h: Rename GSS_DIGEST_MECHANISM to
895         GSS_SASL_DIGEST_MD5_MECHANISM
896         
897 2006-10-18  Love Hörnquist Åstrand  <lha@it.su.se>
898         
899         * mech/gssapi.asn1: Make it into a heim_any_set, its doesn't
900         except a tag.
901
902         * mech/gssapi.asn1: GSSAPIContextToken is IMPLICIT SEQUENCE
903
904         * gssapi/gssapi_krb5.h: add GSS_KRB5_GET_ACCEPTOR_SUBKEY_X
905
906         * krb5/external.c: Add GSS_KRB5_GET_ACCEPTOR_SUBKEY_X.
907
908         * gssapi/gssapi_krb5.h: add GSS_KRB5_GET_INITIATOR_SUBKEY_X and
909         GSS_KRB5_GET_SUBKEY_X
910
911         * krb5/external.c: add GSS_KRB5_GET_INITIATOR_SUBKEY_X,
912         GSS_KRB5_GET_SUBKEY_X
913         
914 2006-10-17  Love Hörnquist Åstrand  <lha@it.su.se>
915         
916         * test_context.c: Support switching on name type oid's
917
918         * test_context.c: add test for dns canon flag
919
920         * mech/gss_krb5.c: Add gsskrb5_set_dns_canonlize.
921
922         * gssapi/gssapi_krb5.h: remove gss_krb5_compat_des3_mic
923
924         * gssapi/gssapi_krb5.h: Add gsskrb5_set_dns_canonlize.
925
926         * krb5/set_sec_context_option.c: implement
927         GSS_KRB5_SET_DNS_CANONIZE_X
928
929         * gssapi/gssapi_krb5.h: add GSS_KRB5_SET_DNS_CANONIZE_X
930
931         * krb5/external.c: add GSS_KRB5_SET_DNS_CANONIZE_X
932
933         * mech/gss_krb5.c: add bits to make lucid context work
934         
935 2006-10-14  Love Hörnquist Åstrand  <lha@it.su.se>
936         
937         * mech/gss_oid_to_str.c: Prefix der primitives with der_.
938
939         * krb5/inquire_sec_context_by_oid.c: Prefix der primitives with
940         der_.
941
942         * krb5/encapsulate.c: Prefix der primitives with der_.
943
944         * mech/gss_oid_to_str.c: New der_print_heim_oid signature.
945         
946 2006-10-12  Love Hörnquist Åstrand  <lha@it.su.se>
947
948         * Makefile.am: add test_context
949
950         * krb5/inquire_sec_context_by_oid.c: Make it work.
951
952         * test_oid.c: Test lucid oid.
953
954         * gssapi/gssapi.h: Add OM_uint64_t.
955
956         * krb5/inquire_sec_context_by_oid.c: Add lucid interface.
957
958         * krb5/external.c: Add lucid interface, renumber oids to my
959         delegated space.
960
961         * mech/gss_krb5.c: Add lucid interface.
962
963         * gssapi/gssapi_krb5.h: Add lucid interface.
964
965         * spnego/spnego_locl.h: Maybe include <netdb.h>.
966         
967 2006-10-09  Love Hörnquist Åstrand  <lha@it.su.se>
968         
969         * mech/gss_mech_switch.c: define RTLD_LOCAL to 0 if not defined.
970         
971 2006-10-08  Love Hörnquist Åstrand  <lha@it.su.se>
972
973         * Makefile.am: install gssapi_krb5.H and gssapi_spnego.h
974
975         * gssapi/gssapi_krb5.h: Move krb5 stuff to <gssapi/gssapi_krb5.h>.
976
977         * gssapi/gssapi.h: Move krb5 stuff to <gssapi/gssapi_krb5.h>.
978
979         * Makefile.am: Drop some -I no longer needed.
980
981         * gssapi/gssapi_spnego.h: Move gssapi_spengo.h over here.
982
983         * krb5: reference all include files using 'krb5/'
984
985 2006-10-07  Love Hörnquist Åstrand  <lha@it.su.se>
986
987         * gssapi.h: Add file inclusion protection.
988
989         * gssapi/gssapi.h: Correct header file inclusion protection.
990
991         * gssapi/gssapi.h: Move the gssapi.h from lib/gssapi/ to
992         lib/gssapi/gssapi/ to please automake.
993         
994         * spnego/spnego_locl.h: Maybe include <sys/types.h>.
995
996         * mech/mech_locl.h: Include <roken.h>.
997
998         * Makefile.am: split build files into dist_ and noinst_ SOURCES
999         
1000 2006-10-06  Love Hörnquist Åstrand  <lha@it.su.se>
1001
1002         * gss.c: #if 0 out unused code.
1003
1004         * mech/gss_mech_switch.c: Cast argument to ctype(3) functions
1005         to (unsigned char).
1006         
1007 2006-10-05  Love Hörnquist Åstrand  <lha@it.su.se>
1008
1009         * mech/name.h: remove <sys/queue.h>
1010
1011         * mech/mech_switch.h: remove <sys/queue.h>
1012         
1013         * mech/cred.h: remove <sys/queue.h>
1014
1015 2006-10-02  Love Hörnquist Åstrand  <lha@it.su.se>
1016
1017         * krb5/arcfour.c: Thinker more with header lengths.
1018
1019         * krb5/arcfour.c: Improve the calcucation of header
1020         lengths. DCE-STYLE data is also padded so remove if (1 || ...)
1021         code.
1022
1023         * krb5/wrap.c (_gsskrb5_wrap_size_limit): use
1024         _gssapi_wrap_size_arcfour for arcfour
1025
1026         * krb5/arcfour.c: Move _gssapi_wrap_size_arcfour here.
1027
1028         * Makefile.am: Split all mech to diffrent mechsrc variables.
1029
1030         * spnego/context_stubs.c: Make internal function static (and
1031         rename).
1032         
1033 2006-10-01  Love Hörnquist Åstrand  <lha@it.su.se>
1034
1035         * krb5/inquire_cred.c: Fix "if (x) lock(y)" bug. From Harald
1036         Barth.
1037
1038         * spnego/spnego_locl.h: Include <sys/param.h> for MAXHOSTNAMELEN.
1039         
1040 2006-09-25  Love Hörnquist Åstrand  <lha@it.su.se>
1041
1042         * krb5/arcfour.c: Add wrap support, interrop with itself but not
1043         w2k3s-sp1
1044
1045         * krb5/gsskrb5_locl.h: move the arcfour specific stuff to the
1046         arcfour header.
1047
1048         * krb5/arcfour.c: Support DCE-style unwrap, tested with
1049         w2k3server-sp1.
1050
1051         * mech/gss_accept_sec_context.c (gss_accept_sec_context): if the
1052         token doesn't start with [APPLICATION 0] SEQUENCE, lets assume its
1053         a DCE-style kerberos 5 connection. XXX this needs to be made
1054         better in cause we get another GSS-API protocol violating
1055         protocol. It should be possible to detach the Kerberos DCE-style
1056         since it starts with a AP-REQ PDU, but that have to wait for now.
1057         
1058 2006-09-22  Love Hörnquist Åstrand  <lha@it.su.se>
1059
1060         * gssapi.h: Add GSS_C flags from
1061         draft-brezak-win2k-krb-rc4-hmac-04.txt.
1062
1063         * krb5/delete_sec_context.c: Free service_keyblock and fwd_data,
1064         indent.
1065
1066         * krb5/accept_sec_context.c: Merge of the acceptor part from the
1067         samba patch by Stefan Metzmacher and Andrew Bartlet.
1068
1069         * krb5/init_sec_context.c: Add GSS_C_DCE_STYLE.
1070
1071         * krb5/{init_sec_context.c,gsskrb5_locl.h}: merge most of the
1072         initiator part from the samba patch by Stefan Metzmacher and
1073         Andrew Bartlet (still missing DCE/RPC support)
1074
1075 2006-08-28  Love Hörnquist Åstrand  <lha@it.su.se>
1076
1077         * gss.c (help): use sl_slc_help().
1078         
1079 2006-07-22  Love Hörnquist Åstrand  <lha@it.su.se>
1080
1081         * gss-commands.in: rename command to supported-mechanisms
1082
1083         * Makefile.am: Make gss objects depend on the slc built
1084         gss-commands.h
1085         
1086 2006-07-20  Love Hörnquist Åstrand  <lha@it.su.se>
1087         
1088         * gss-commands.in: add slc commands for gss
1089
1090         * krb5/gsskrb5_locl.h: Remove dup prototype of _gsskrb5_init()
1091
1092         * Makefile.am: Add test_cfx
1093
1094         * krb5/external.c: add GSS_KRB5_REGISTER_ACCEPTOR_IDENTITY_X
1095
1096         * krb5/set_sec_context_option.c: catch
1097         GSS_KRB5_REGISTER_ACCEPTOR_IDENTITY_X
1098
1099         * krb5/accept_sec_context.c: reimplement
1100         gsskrb5_register_acceptor_identity
1101
1102         * mech/gss_krb5.c: implement gsskrb5_register_acceptor_identity
1103
1104         * mech/gss_inquire_mechs_for_name.c: call _gss_load_mech
1105
1106         * mech/gss_inquire_cred.c (gss_inquire_cred): call _gss_load_mech
1107
1108         * mech/gss_mech_switch.c: Make _gss_load_mech() atomic and run
1109         only once, this have the side effect that _gss_mechs and
1110         _gss_mech_oids is only initialized once, so if just the users of
1111         these two global variables calls _gss_load_mech() first, it will
1112         act as a barrier and make sure the variables are never changed and
1113         we don't need to lock them.
1114
1115         * mech/utils.h: no need to mark functions extern.
1116
1117         * mech/name.h: no need to mark _gss_find_mn extern.
1118         
1119 2006-07-19  Love Hörnquist Åstrand <lha@it.su.se>
1120         
1121         * krb5/cfx.c: Redo the wrap length calculations.
1122
1123         * krb5/test_cfx.c: test max_wrap_size in cfx.c
1124
1125         * mech/gss_display_status.c: Handle more error codes.
1126         
1127 2006-07-07  Love Hörnquist Åstrand  <lha@it.su.se>
1128
1129         * mech/mech_locl.h: Include <krb5-types.h> and "mechqueue.h"
1130
1131         * mech/mechqueue.h: Add SLIST macros.
1132
1133         * krb5/inquire_context.c: Don't free return values on success.
1134
1135         * krb5/inquire_cred.c (_gsskrb5_inquire_cred): When cred provided
1136         is the default cred, acquire the acceptor cred and initator cred
1137         in two diffrent steps and then query them for the information,
1138         this way, the code wont fail if there are no keytab, but there is
1139         a credential cache.
1140
1141         * mech/gss_inquire_cred.c: move the check if we found any cred
1142         where it matter for both cases
1143         (default cred and provided cred)
1144
1145         * mech/gss_init_sec_context.c: If the desired mechanism can't
1146         convert the name to a MN, fail with GSS_S_BAD_NAME rather then a
1147         NULL de-reference.
1148         
1149 2006-07-06  Love Hörnquist Åstrand  <lha@it.su.se>
1150
1151         * spnego/external.c: readd gss_spnego_inquire_names_for_mech
1152
1153         * spnego/spnego_locl.h: reimplement
1154         gss_spnego_inquire_names_for_mech add support function
1155         _gss_spnego_supported_mechs
1156
1157         * spnego/context_stubs.h: reimplement
1158         gss_spnego_inquire_names_for_mech add support function
1159         _gss_spnego_supported_mechs
1160
1161         * spnego/context_stubs.c: drop gss_spnego_indicate_mechs
1162         
1163         * mech/gss_indicate_mechs.c: if the underlaying mech doesn't
1164         support gss_indicate_mechs, use the oid in the mechswitch
1165         structure
1166
1167         * spnego/external.c: let the mech glue layer implement
1168         gss_indicate_mechs
1169
1170         * spnego/cred_stubs.c (gss_spnego_acquire_cred): don't care about
1171         desired_mechs, get our own list with indicate_mechs and remove
1172         ourself.
1173         
1174 2006-07-05 Love Hörnquist Åstrand <lha@it.su.se>
1175
1176         * spnego/external.c: remove gss_spnego_inquire_names_for_mech, let
1177         the mechglue layer implement it
1178         
1179         * spnego/context_stubs.c: remove gss_spnego_inquire_names_for_mech, let
1180         the mechglue layer implement it
1181
1182         * spnego/spnego_locl.c: remove gss_spnego_inquire_names_for_mech, let
1183         the mechglue layer implement it
1184
1185 2006-07-01  Love Hörnquist Åstrand  <lha@it.su.se>
1186         
1187         * mech/gss_set_cred_option.c: fix argument to gss_release_cred
1188         
1189 2006-06-30  Love Hörnquist Åstrand  <lha@it.su.se>
1190
1191         * krb5/init_sec_context.c: Make work on compilers that are
1192         somewhat more picky then gcc4 (like gcc2.95)
1193
1194         * krb5/init_sec_context.c (do_delegation): use KDCOptions2int to
1195         convert fwd_flags to an integer, since otherwise int2KDCOptions in
1196         krb5_get_forwarded_creds wont do the right thing.
1197
1198         * mech/gss_set_cred_option.c (gss_set_cred_option): free memory on
1199         failure
1200
1201         * krb5/set_sec_context_option.c (_gsskrb5_set_sec_context_option):
1202         init global kerberos context
1203
1204         * krb5/set_cred_option.c (_gsskrb5_set_cred_option): init global
1205         kerberos context
1206
1207         * mech/gss_accept_sec_context.c: Insert the delegated sub cred on
1208         the delegated cred handle, not cred handle
1209
1210         * mech/gss_accept_sec_context.c (gss_accept_sec_context): handle
1211         the case where ret_flags == NULL
1212
1213         * mech/gss_mech_switch.c (add_builtin): set
1214         _gss_mech_switch->gm_mech_oid
1215
1216         * mech/gss_set_cred_option.c (gss_set_cred_option): laod mechs
1217
1218         * test_cred.c (gss_print_errors): don't try to print error when
1219         gss_display_status failed
1220
1221         * Makefile.am: Add mech/gss_release_oid.c
1222         
1223         * mech/gss_release_oid.c: Add gss_release_oid, reverse of
1224         gss_duplicate_oid
1225
1226         * spnego/compat.c: preferred_mech_type was allocated with
1227         gss_duplicate_oid in one place and assigned static varianbles a
1228         the second place. change that static assignement to
1229         gss_duplicate_oid and bring back gss_release_oid.
1230
1231         * spnego/compat.c (_gss_spnego_delete_sec_context): don't release
1232         preferred_mech_type and negotiated_mech_type, they where never
1233         allocated from the begining.
1234         
1235 2006-06-29  Love Hörnquist Åstrand  <lha@it.su.se>
1236
1237         * mech/gss_import_name.c (gss_import_name): avoid
1238         type-punned/strict aliasing rules
1239
1240         * mech/gss_add_cred.c: avoid type-punned/strict aliasing rules
1241
1242         * gssapi.h: Make gss_name_t an opaque type.
1243         
1244         * krb5: make gss_name_t an opaque type
1245
1246         * krb5/set_cred_option.c: Add
1247
1248         * mech/gss_set_cred_option.c (gss_set_cred_option): support the
1249         case where *cred_handle == NULL
1250
1251         * mech/gss_krb5.c (gss_krb5_import_cred): make sure cred is
1252         GSS_C_NO_CREDENTIAL on failure.
1253
1254         * mech/gss_acquire_cred.c (gss_acquire_cred): if desired_mechs is
1255         NO_OID_SET, there is a need to load the mechs, so always do that.
1256         
1257 2006-06-28  Love Hörnquist Åstrand  <lha@it.su.se>
1258         
1259         * krb5/inquire_cred_by_oid.c: Reimplement GSS_KRB5_COPY_CCACHE_X
1260         to instead pass a fullname to the credential, then resolve and
1261         copy out the content, and then close the cred.
1262
1263         * mech/gss_krb5.c: Reimplement GSS_KRB5_COPY_CCACHE_X to instead
1264         pass a fullname to the credential, then resolve and copy out the
1265         content, and then close the cred.
1266         
1267         * krb5/inquire_cred_by_oid.c: make "work", GSS_KRB5_COPY_CCACHE_X
1268         interface needs to be re-done, currently its utterly broken.
1269
1270         * mech/gss_set_cred_option.c: Make work.
1271
1272         * krb5/external.c: Add _gsskrb5_set_{sec_context,cred}_option
1273
1274         * mech/gss_krb5.c (gss_krb5_import_cred): implement
1275
1276         * Makefile.am: Add gss_set_{sec_context,cred}_option and sort
1277         
1278         * mech/gss_set_{sec_context,cred}_option.c: add
1279
1280         * gssapi.h: Add GSS_KRB5_IMPORT_CRED_X
1281
1282         * test_*.c: make compile again
1283
1284         * Makefile.am: Add lib dependencies and test programs
1285
1286         * spnego: remove dependency on libkrb5
1287
1288         * mech: Bug fixes, cleanup, compiler warnings, restructure code.
1289
1290         * spnego: Rename gss_context_id_t and gss_cred_id_t to local names
1291
1292         * krb5: repro copy the krb5 files here
1293
1294         * mech: import Doug Rabson mechglue from freebsd
1295         
1296         * spnego: Import Luke Howard's SPNEGO from the mechglue branch
1297
1298 2006-06-22  Love Hörnquist Åstrand  <lha@it.su.se>
1299
1300         * gssapi.h: Add oid_to_str.
1301
1302         * Makefile.am: add oid_to_str and test_oid
1303         
1304         * oid_to_str.c: Add gss_oid_to_str
1305
1306         * test_oid.c: Add test for gss_oid_to_str()
1307         
1308 2006-05-13  Love Hörnquist Åstrand  <lha@it.su.se>
1309
1310         * verify_mic.c: Less pointer signedness warnings.
1311
1312         * unwrap.c: Less pointer signedness warnings.
1313
1314         * arcfour.c: Less pointer signedness warnings.
1315
1316         * gssapi_locl.h: Use const void * to instead of unsigned char * to
1317         avoid pointer signedness warnings.
1318
1319         * encapsulate.c: Use const void * to instead of unsigned char * to
1320         avoid pointer signedness warnings.
1321
1322         * decapsulate.c: Use const void * to instead of unsigned char * to
1323         avoid pointer signedness warnings.
1324
1325         * decapsulate.c: Less pointer signedness warnings.
1326
1327         * cfx.c: Less pointer signedness warnings.
1328
1329         * init_sec_context.c: Less pointer signedness warnings (partly by
1330         using the new asn.1 CHOICE decoder)
1331
1332         * import_sec_context.c: Less pointer signedness warnings.
1333
1334 2006-05-09  Love Hörnquist Åstrand  <lha@it.su.se>
1335
1336         * accept_sec_context.c (gsskrb5_is_cfx): always set is_cfx. From
1337         Andrew Abartlet.
1338         
1339 2006-05-08  Love Hörnquist Åstrand  <lha@it.su.se>
1340
1341         * get_mic.c (mic_des3): make sure message_buffer doesn't point to
1342         free()ed memory on failure. Pointed out by IBM checker.
1343         
1344 2006-05-05  Love Hörnquist Åstrand  <lha@it.su.se>
1345
1346         * Rename u_intXX_t to uintXX_t
1347         
1348 2006-05-04 Love Hörnquist Åstrand <lha@it.su.se>
1349
1350         * cfx.c: Less pointer signedness warnings.
1351
1352         * arcfour.c: Avoid pointer signedness warnings.
1353
1354         * gssapi_locl.h (gssapi_decode_*): make data argument const void *
1355         
1356         * 8003.c (gssapi_decode_*): make data argument const void *
1357         
1358 2006-04-12  Love Hörnquist Åstrand  <lha@it.su.se>
1359         
1360         * export_sec_context.c: Export sequence order element. From Wynn
1361         Wilkes <wynn.wilkes@quest.com>.
1362
1363         * import_sec_context.c: Import sequence order element. From Wynn
1364         Wilkes <wynn.wilkes@quest.com>.
1365
1366         * sequence.c (_gssapi_msg_order_import,_gssapi_msg_order_export):
1367         New functions, used by {import,export}_sec_context.  From Wynn
1368         Wilkes <wynn.wilkes@quest.com>.
1369
1370         * test_sequence.c: Add test for import/export sequence.
1371         
1372 2006-04-09  Love Hörnquist Åstrand  <lha@it.su.se>
1373         
1374         * add_cred.c: Check that cred != GSS_C_NO_CREDENTIAL, this is a
1375         standard conformance failure, but much better then a crash.
1376         
1377 2006-04-02  Love Hörnquist Åstrand  <lha@it.su.se>
1378         
1379         * get_mic.c (get_mic*)_: make sure message_token is cleaned on
1380         error, found by IBM checker.
1381
1382         * wrap.c (wrap*): Reset output_buffer on error, found by IBM
1383         checker.
1384         
1385 2006-02-15  Love Hörnquist Åstrand  <lha@it.su.se>
1386         
1387         * import_name.c: Accept both GSS_C_NT_HOSTBASED_SERVICE and
1388         GSS_C_NT_HOSTBASED_SERVICE_X as nametype for hostbased names.
1389         
1390 2006-01-16  Love Hörnquist Åstrand  <lha@it.su.se>
1391         
1392         * delete_sec_context.c (gss_delete_sec_context): if the context
1393         handle is GSS_C_NO_CONTEXT, don't fall over.
1394
1395 2005-12-12  Love Hörnquist Åstrand  <lha@it.su.se>
1396
1397         * gss_acquire_cred.3: Replace gss_krb5_import_ccache with
1398         gss_krb5_import_cred and add more references
1399         
1400 2005-12-05  Love Hörnquist Åstrand  <lha@it.su.se>
1401
1402         * gssapi.h: Change gss_krb5_import_ccache to gss_krb5_import_cred,
1403         it can handle keytabs too.
1404
1405         * add_cred.c (gss_add_cred): avoid deadlock
1406
1407         * context_time.c (gssapi_lifetime_left): define the 0 lifetime as
1408         GSS_C_INDEFINITE.
1409         
1410 2005-12-01  Love Hörnquist Åstrand  <lha@it.su.se>
1411
1412         * acquire_cred.c (acquire_acceptor_cred): only check if principal
1413         exists if we got called with principal as an argument.
1414
1415         * acquire_cred.c (acquire_acceptor_cred): check that the acceptor
1416         exists in the keytab before returning ok.
1417         
1418 2005-11-29  Love Hörnquist Åstrand  <lha@it.su.se>
1419         
1420         * copy_ccache.c (gss_krb5_import_cred): fix buglet, from Andrew
1421         Bartlett.
1422         
1423 2005-11-25  Love Hörnquist Åstrand  <lha@it.su.se>
1424
1425         * test_kcred.c: Rename gss_krb5_import_ccache to
1426         gss_krb5_import_cred.
1427         
1428         * copy_ccache.c: Rename gss_krb5_import_ccache to
1429         gss_krb5_import_cred and let it grow code to handle keytabs too.
1430         
1431 2005-11-02  Love Hörnquist Åstrand  <lha@it.su.se>
1432
1433         * init_sec_context.c: Change sematics of ok-as-delegate to match
1434         windows if
1435         [gssapi]realm/ok-as-delegate=true is set, otherwise keep old
1436         sematics.
1437         
1438         * release_cred.c (gss_release_cred): use
1439         GSS_CF_DESTROY_CRED_ON_RELEASE to decide if the cache should be
1440         krb5_cc_destroy-ed
1441         
1442         * acquire_cred.c (acquire_initiator_cred):
1443         GSS_CF_DESTROY_CRED_ON_RELEASE on created credentials.
1444
1445         * accept_sec_context.c (gsskrb5_accept_delegated_token): rewrite
1446         to use gss_krb5_import_ccache
1447         
1448 2005-11-01  Love Hörnquist Åstrand  <lha@it.su.se>
1449
1450         * arcfour.c: Remove signedness warnings.
1451         
1452 2005-10-31  Love Hörnquist Åstrand  <lha@it.su.se>
1453
1454         * gss_acquire_cred.3: Document that gss_krb5_import_ccache is copy
1455         by reference.
1456
1457         * copy_ccache.c (gss_krb5_import_ccache): Instead of making a copy
1458         of the ccache, make a reference by getting the name and resolving
1459         the name. This way the cache is shared, this flipp side is of
1460         course that if someone calls krb5_cc_destroy the cache is lost for
1461         everyone.
1462         
1463         * test_kcred.c: Remove memory leaks.
1464         
1465 2005-10-26  Love Hörnquist Åstrand  <lha@it.su.se>
1466         
1467         * Makefile.am: build test_kcred
1468         
1469         * gss_acquire_cred.3: Document gss_krb5_import_ccache
1470
1471         * gssapi.3: Sort and add gss_krb5_import_ccache.
1472         
1473         * acquire_cred.c (_gssapi_krb5_ccache_lifetime): break out code
1474         used to extract lifetime from a credential cache
1475
1476         * gssapi_locl.h: Add _gssapi_krb5_ccache_lifetime, used to extract
1477         lifetime from a credential cache.
1478
1479         * gssapi.h: add gss_krb5_import_ccache, reverse of
1480         gss_krb5_copy_ccache
1481
1482         * copy_ccache.c: add gss_krb5_import_ccache, reverse of
1483         gss_krb5_copy_ccache
1484
1485         * test_kcred.c: test gss_krb5_import_ccache
1486         
1487 2005-10-21  Love Hörnquist Åstrand  <lha@it.su.se>
1488
1489         * acquire_cred.c (acquire_initiator_cred): use krb5_cc_cache_match
1490         to find a matching creditial cache, if that failes, fallback to
1491         the default cache.
1492         
1493 2005-10-12  Love Hörnquist Åstrand  <lha@it.su.se>
1494
1495         * gssapi_locl.h: Add gssapi_krb5_set_status and
1496         gssapi_krb5_clear_status
1497         
1498         * init_sec_context.c (spnego_reply): Don't pass back raw Kerberos
1499         errors, use GSS-API errors instead. From Michael B Allen.
1500
1501         * display_status.c: Add gssapi_krb5_clear_status,
1502         gssapi_krb5_set_status for handling error messages.
1503         
1504 2005-08-23  Love Hörnquist Åstrand  <lha@it.su.se>
1505
1506         * external.c: Use rk_UNCONST to avoid const warning.
1507         
1508         * display_status.c: Constify strings to avoid warnings.
1509         
1510 2005-08-11 Love Hörnquist Åstrand  <lha@it.su.se>
1511
1512         * init_sec_context.c: avoid warnings, update (c)
1513
1514 2005-07-13  Love Hörnquist Åstrand  <lha@it.su.se>
1515
1516         * init_sec_context.c (spnego_initial): use NegotiationToken
1517         encoder now that we have one with the new asn1. compiler.
1518         
1519         * Makefile.am: the new asn.1 compiler includes the modules name in
1520         the depend file
1521
1522 2005-06-16  Love Hörnquist Åstrand  <lha@it.su.se>
1523
1524         * decapsulate.c: use rk_UNCONST
1525
1526         * ccache_name.c: rename to avoid shadowing
1527
1528         * gssapi_locl.h: give kret in GSSAPI_KRB5_INIT a more unique name
1529         
1530         * process_context_token.c: use rk_UNCONST to unconstify
1531         
1532         * test_cred.c: rename optind to optidx
1533
1534 2005-05-30  Love Hörnquist Åstrand  <lha@it.su.se>
1535
1536         * init_sec_context.c (init_auth): honor ok-as-delegate if local
1537         configuration approves
1538
1539         * gssapi_locl.h: prototype for _gss_check_compat
1540
1541         * compat.c: export check_compat as _gss_check_compat
1542
1543 2005-05-29  Love Hörnquist Åstrand  <lha@it.su.se>
1544
1545         * init_sec_context.c: Prefix Der_class with ASN1_C_ to avoid
1546         problems with system headerfiles that pollute the name space.
1547
1548         * accept_sec_context.c: Prefix Der_class with ASN1_C_ to avoid
1549         problems with system headerfiles that pollute the name space.
1550
1551 2005-05-17  Love Hörnquist Åstrand  <lha@it.su.se>
1552
1553         * init_sec_context.c (init_auth): set
1554         KRB5_AUTH_CONTEXT_CLEAR_FORWARDED_CRED (for java compatibility),
1555         also while here, use krb5_auth_con_addflags
1556
1557 2005-05-06  Love Hörnquist Åstrand  <lha@it.su.se>
1558
1559         * arcfour.c (_gssapi_wrap_arcfour): fix calculating the encap
1560         length. From: Tom Maher <tmaher@eecs.berkeley.edu>
1561
1562 2005-05-02  Dave Love  <fx@gnu.org>
1563
1564         * test_cred.c (main): Call setprogname.
1565
1566 2005-04-27  Love Hörnquist Åstrand  <lha@it.su.se>
1567
1568         * prefix all sequence symbols with _, they are not part of the
1569         GSS-API api. By comment from Wynn Wilkes <wynnw@vintela.com>
1570
1571 2005-04-10  Love Hörnquist Åstrand  <lha@it.su.se>
1572
1573         * accept_sec_context.c: break out the processing of the delegated
1574         credential to a separate function to make error handling easier,
1575         move the credential handling to after other setup is done
1576         
1577         * test_sequence.c: make less verbose in case of success
1578
1579         * Makefile.am: add test_sequence to TESTS
1580
1581 2005-04-01  Love Hörnquist Åstrand  <lha@it.su.se>
1582
1583         * 8003.c (gssapi_krb5_verify_8003_checksum): check that cksum
1584         isn't NULL From: Nicolas Pouvesle <npouvesle@tenablesecurity.com>
1585
1586 2005-03-21  Love Hörnquist Åstrand  <lha@it.su.se>
1587
1588         * Makefile.am: use $(LIB_roken)
1589
1590 2005-03-16  Love Hörnquist Åstrand  <lha@it.su.se>
1591
1592         * display_status.c (gssapi_krb5_set_error_string): pass in the
1593         krb5_context to krb5_free_error_string
1594         
1595 2005-03-15  Love Hörnquist Åstrand  <lha@it.su.se>
1596
1597         * display_status.c (gssapi_krb5_set_error_string): don't misuse
1598         the krb5_get_error_string api
1599
1600 2005-03-01  Love Hörnquist Åstrand  <lha@it.su.se>
1601
1602         * compat.c (_gss_DES3_get_mic_compat): don't unlock mutex
1603         here. Bug reported by Stefan Metzmacher <metze@samba.org>
1604
1605 2005-02-21  Luke Howard  <lukeh@padl.com>
1606
1607         * init_sec_context.c: don't call krb5_get_credentials() with
1608           KRB5_TC_MATCH_KEYTYPE, it can lead to the credentials cache
1609           growing indefinitely as no key is found with KEYTYPE_NULL
1610
1611         * compat.c: remove GSS_C_EXPECTING_MECH_LIST_MIC_FLAG, it is
1612           no longer used (however the mechListMIC behaviour is broken,
1613           rfc2478bis support requires the code in the mechglue branch)
1614
1615         * init_sec_context.c: remove GSS_C_EXPECTING_MECH_LIST_MIC_FLAG
1616
1617         * gssapi.h: remove GSS_C_EXPECTING_MECH_LIST_MIC_FLAG
1618
1619 2005-01-05  Luke Howard  <lukeh@padl.com>
1620
1621         * 8003.c: use symbolic name for checksum type
1622
1623         * accept_sec_context.c: allow client to indicate
1624           that subkey should be used
1625
1626         * acquire_cred.c: plug leak
1627
1628         * get_mic.c: use gss_krb5_get_subkey() instead
1629           of gss_krb5_get_{local,remote}key(), support
1630           KEYTYPE_ARCFOUR_56
1631
1632         * gssapi_local.c: use gss_krb5_get_subkey(),
1633           support KEYTYPE_ARCFOUR_56
1634
1635         * import_sec_context.c: plug leak
1636
1637         * unwrap.c: use gss_krb5_get_subkey(),
1638           support KEYTYPE_ARCFOUR_56
1639
1640         * verify_mic.c: use gss_krb5_get_subkey(),
1641           support KEYTYPE_ARCFOUR_56
1642
1643         * wrap.c: use gss_krb5_get_subkey(),
1644           support KEYTYPE_ARCFOUR_56
1645
1646 2004-11-30  Love Hörnquist Åstrand  <lha@it.su.se>
1647
1648         * inquire_cred.c: Reverse order of HEIMDAL_MUTEX_unlock and
1649         gss_release_cred to avoid deadlock, from Luke Howard
1650         <lukeh@padl.com>.
1651
1652 2004-09-06  Love Hörnquist Åstrand  <lha@it.su.se>
1653
1654         * gss_acquire_cred.3: gss_krb5_extract_authz_data_from_sec_context
1655         was renamed to gsskrb5_extract_authz_data_from_sec_context
1656         
1657 2004-08-07  Love Hörnquist Åstrand  <lha@it.su.se>
1658
1659         * unwrap.c: mutex buglet, From: Luke Howard <lukeh@PADL.COM>
1660         
1661         * arcfour.c: mutex buglet, From: Luke Howard <lukeh@PADL.COM>
1662         
1663 2004-05-06  Love Hörnquist Åstrand  <lha@it.su.se>
1664
1665         * gssapi.3: spelling from Josef El-Rayes <josef@FreeBSD.org> while
1666         here, write some text about the SPNEGO situation
1667         
1668 2004-04-08  Love Hörnquist Åstrand  <lha@it.su.se>
1669
1670         * cfx.c: s/CTXAcceptorSubkey/CFXAcceptorSubkey/
1671         
1672 2004-04-07  Love Hörnquist Åstrand  <lha@it.su.se>
1673
1674         * gssapi.h: add GSS_C_EXPECTING_MECH_LIST_MIC_FLAG From: Luke
1675         Howard <lukeh@padl.com>
1676         
1677         * init_sec_context.c (spnego_reply): use
1678         _gss_spnego_require_mechlist_mic to figure out if we need to check
1679         MechListMIC; From: Luke Howard <lukeh@padl.com>
1680
1681         * accept_sec_context.c (send_accept): use
1682         _gss_spnego_require_mechlist_mic to figure out if we need to send
1683         MechListMIC; From: Luke Howard <lukeh@padl.com>
1684
1685         * gssapi_locl.h: add _gss_spnego_require_mechlist_mic
1686         From: Luke Howard <lukeh@padl.com>
1687
1688         * compat.c: add _gss_spnego_require_mechlist_mic for compatibility
1689         with MS SPNEGO, From: Luke Howard <lukeh@padl.com>
1690         
1691 2004-04-05  Love Hörnquist Åstrand  <lha@it.su.se>
1692
1693         * accept_sec_context.c (gsskrb5_is_cfx): krb5_keyblock->keytype is
1694         an enctype, not keytype
1695
1696         * accept_sec_context.c: use ASN1_MALLOC_ENCODE
1697         
1698         * init_sec_context.c: avoid the malloc loop and just allocate the
1699         propper amount of data
1700
1701         * init_sec_context.c (spnego_initial): handle mech_token better
1702         
1703 2004-03-19  Love Hörnquist Åstrand  <lha@it.su.se>
1704
1705         * gssapi.h: add gss_krb5_get_tkt_flags
1706         
1707         * Makefile.am: add ticket_flags.c
1708         
1709         * ticket_flags.c: Get ticket-flags from acceptor ticket From: Luke
1710         Howard <lukeh@PADL.COM>
1711         
1712         * gss_acquire_cred.3: document gss_krb5_get_tkt_flags
1713         
1714 2004-03-14  Love Hörnquist Åstrand  <lha@it.su.se>
1715
1716         * acquire_cred.c (gss_acquire_cred): check usage before even
1717         bothering to process it, add both keytab and initial tgt if
1718         requested
1719
1720         * wrap.c: support cfx, try to handle acceptor asserted subkey
1721         
1722         * unwrap.c: support cfx, try to handle acceptor asserted subkey
1723         
1724         * verify_mic.c: support cfx
1725         
1726         * get_mic.c: support cfx
1727         
1728         * test_sequence.c: handle changed signature of
1729         gssapi_msg_order_create
1730
1731         * import_sec_context.c: handle acceptor asserted subkey
1732         
1733         * init_sec_context.c: handle acceptor asserted subkey
1734         
1735         * accept_sec_context.c: handle acceptor asserted subkey
1736         
1737         * sequence.c: add dummy use_64 argument to gssapi_msg_order_create
1738         
1739         * gssapi_locl.h: add partial support for CFX
1740         
1741         * Makefile.am (noinst_PROGRAMS) += test_cred
1742         
1743         * test_cred.c: gssapi credential testing
1744
1745         * test_acquire_cred.c: fix comment
1746         
1747 2004-03-07  Love Hörnquist Åstrand  <lha@it.su.se>
1748
1749         * arcfour.h: drop structures for message formats, no longer used
1750         
1751         * arcfour.c: comment describing message formats
1752
1753         * accept_sec_context.c (spnego_accept_sec_context): make sure the
1754         length of the choice element doesn't overrun us
1755         
1756         * init_sec_context.c (spnego_reply): make sure the length of the
1757         choice element doesn't overrun us
1758         
1759         * spnego.asn1: move NegotiationToken to avoid warning
1760         
1761         * spnego.asn1: uncomment NegotiationToken
1762         
1763         * Makefile.am: spnego_files += asn1_NegotiationToken.x
1764         
1765 2004-01-25  Love Hörnquist Åstrand  <lha@it.su.se>
1766
1767         * gssapi.h: add gss_krb5_ccache_name
1768         
1769         * Makefile.am (libgssapi_la_SOURCES): += ccache_name.c
1770         
1771         * ccache_name.c (gss_krb5_ccache_name): help function enable to
1772         set krb5 name, using out_name argument makes function no longer
1773         thread-safe
1774
1775         * gssapi.3: add missing gss_krb5_ references
1776         
1777         * gss_acquire_cred.3: document gss_krb5_ccache_name
1778         
1779 2003-12-12  Love Hörnquist Åstrand  <lha@it.su.se>
1780
1781         * cfx.c: make rrc a modulus operation if its longer then the
1782         length of the message, noticed by Sam Hartman
1783
1784 2003-12-07  Love Hörnquist Åstrand  <lha@it.su.se>
1785
1786         * accept_sec_context.c: use krb5_auth_con_addflags
1787         
1788 2003-12-05  Love Hörnquist Åstrand  <lha@it.su.se>
1789
1790         * cfx.c: Wrap token id was in wrong order, found by Sam Hartman
1791         
1792 2003-12-04  Love Hörnquist Åstrand  <lha@it.su.se>
1793
1794         * cfx.c: add AcceptorSubkey (but no code understand it yet) ignore
1795         unknown token flags
1796         
1797 2003-11-22  Love Hörnquist Åstrand  <lha@it.su.se>
1798
1799         * accept_sec_context.c: Don't require timestamp to be set on
1800         delegated token, its already protected by the outer token (and
1801         windows doesn't alway send it) Pointed out by Zi-Bin Yang
1802         <zbyang@decru.com> on heimdal-discuss
1803
1804 2003-11-14  Love Hörnquist Åstrand  <lha@it.su.se>
1805
1806         * cfx.c: fix {} error, pointed out by Liqiang Zhu
1807         
1808 2003-11-10  Love Hörnquist Åstrand  <lha@it.su.se>
1809
1810         * cfx.c: Sequence number should be stored in bigendian order From:
1811         Luke Howard <lukeh@padl.com>
1812         
1813 2003-11-09  Love Hörnquist Åstrand  <lha@it.su.se>
1814
1815         * delete_sec_context.c (gss_delete_sec_context): don't free
1816         ticket, krb5_free_ticket does that now
1817
1818 2003-11-06  Love Hörnquist Åstrand  <lha@it.su.se>
1819
1820         * cfx.c: checksum the header last in MIC token, update to -03
1821         From: Luke Howard <lukeh@padl.com>
1822         
1823 2003-10-07  Love Hörnquist Åstrand  <lha@it.su.se>
1824
1825         * add_cred.c: If its a MEMORY cc, make a copy. We need to do this
1826         since now gss_release_cred will destroy the cred. This should be
1827         really be solved a better way.
1828
1829         * acquire_cred.c (gss_release_cred): if its a mcc, destroy it
1830         rather the just release it Found by: "Zi-Bin Yang"
1831         <zbyang@decru.com>
1832
1833         * acquire_cred.c (acquire_initiator_cred): use kret instead of ret
1834         where appropriate
1835
1836 2003-09-30  Love Hörnquist Åstrand  <lha@it.su.se>
1837
1838         * gss_acquire_cred.3: spelling
1839         From: jmc <jmc@prioris.mini.pw.edu.pl>
1840         
1841 2003-09-23  Love Hörnquist Åstrand  <lha@it.su.se>
1842
1843         * cfx.c: - EC and RRC are big-endian, not little-endian - The
1844         default is now to rotate regardless of GSS_C_DCE_STYLE. There are
1845         no longer any references to GSS_C_DCE_STYLE.  - rrc_rotate()
1846         avoids allocating memory on the heap if rrc <= 256
1847         From: Luke Howard <lukeh@padl.com>
1848         
1849 2003-09-22  Love Hörnquist Åstrand  <lha@it.su.se>
1850
1851         * cfx.[ch]: rrc_rotate() was untested and broken, fix it.
1852         Set and verify wrap Token->Filler.
1853         Correct token ID for wrap tokens, 
1854         were accidentally swapped with delete tokens.
1855         From: Luke Howard <lukeh@PADL.COM>
1856
1857 2003-09-21  Love Hörnquist Åstrand  <lha@it.su.se>
1858
1859         * cfx.[ch]: no ASN.1-ish header on per-message tokens
1860         From: Luke Howard <lukeh@PADL.COM>
1861         
1862 2003-09-19  Love Hörnquist Åstrand  <lha@it.su.se>
1863
1864         * arcfour.h: remove depenency on gss_arcfour_mic_token and
1865         gss_arcfour_warp_token
1866
1867         * arcfour.c: remove depenency on gss_arcfour_mic_token and
1868         gss_arcfour_warp_token
1869
1870 2003-09-18  Love Hörnquist Åstrand  <lha@it.su.se>
1871
1872         * 8003.c: remove #if 0'ed code
1873         
1874 2003-09-17  Love Hörnquist Åstrand  <lha@it.su.se>
1875
1876         * accept_sec_context.c (gsskrb5_accept_sec_context): set sequence
1877         number when not requesting mutual auth From: Luke Howard
1878         <lukeh@PADL.COM>
1879
1880         * init_sec_context.c (init_auth): set sequence number when not
1881         requesting mutual auth From: Luke Howard <lukeh@PADL.COM>
1882         
1883 2003-09-16  Love Hörnquist Åstrand  <lha@it.su.se>
1884
1885         * arcfour.c (*): set minor_status
1886         (gss_wrap): set conf_state to conf_req_flags on success
1887         From: Luke Howard <lukeh@PADL.COM>
1888         
1889         * wrap.c (gss_wrap_size_limit): use existing function From: Luke
1890         Howard <lukeh@PADL.COM>
1891         
1892 2003-09-12  Love Hörnquist Åstrand  <lha@it.su.se>
1893
1894         * indicate_mechs.c (gss_indicate_mechs): in case of error, free
1895         mech_set
1896
1897         * indicate_mechs.c (gss_indicate_mechs): add SPNEGO
1898
1899 2003-09-10  Love Hörnquist Åstrand  <lha@it.su.se>
1900
1901         * init_sec_context.c (spnego_initial): catch errors and return
1902         them
1903
1904         * init_sec_context.c (spnego_initial): add #if 0 out version of
1905         the CHOICE branch encoding, also where here, free no longer used
1906         memory
1907
1908 2003-09-09  Love Hörnquist Åstrand  <lha@it.su.se>
1909
1910         * gss_acquire_cred.3: support GSS_SPNEGO_MECHANISM
1911         
1912         * accept_sec_context.c: SPNEGO doesn't include gss wrapping on
1913         SubsequentContextToken like the Kerberos 5 mech does.
1914         
1915         * init_sec_context.c (spnego_reply): SPNEGO doesn't include gss
1916         wrapping on SubsequentContextToken like the Kerberos 5 mech
1917         does. Lets check for it anyway.
1918         
1919         * accept_sec_context.c: Add support for SPNEGO on the initator
1920         side.  Implementation initially from Assar Westerlund, passes
1921         though quite a lot of hands before I commited it.
1922         
1923         * init_sec_context.c: Add support for SPNEGO on the initator side.
1924         Tested with ldap server on a Windows 2000 DC. Implementation
1925         initially from Assar Westerlund, passes though quite a lot of
1926         hands before I commited it.
1927         
1928         * gssapi.h: export GSS_SPNEGO_MECHANISM
1929         
1930         * gssapi_locl.h: include spnego_as.h add prototype for
1931         gssapi_krb5_get_mech
1932         
1933         * decapsulate.c (gssapi_krb5_get_mech): make non static
1934         
1935         * Makefile.am: build SPNEGO file
1936         
1937 2003-09-08  Love Hörnquist Åstrand  <lha@it.su.se>
1938
1939         * external.c: SPENGO and IAKERB oids
1940         
1941         * spnego.asn1: SPENGO ASN1
1942         
1943 2003-09-05  Love Hörnquist Åstrand  <lha@it.su.se>
1944
1945         * cfx.c: RRC also need to be zero before wraping them
1946         From: Luke Howard <lukeh@PADL.COM>
1947         
1948 2003-09-04  Love Hörnquist Åstrand  <lha@it.su.se>
1949
1950         * encapsulate.c (gssapi_krb5_encap_length): don't return void
1951         
1952 2003-09-03  Love Hörnquist Åstrand  <lha@it.su.se>
1953
1954         * verify_mic.c: switch from the des_ to the DES_ api
1955         
1956         * get_mic.c: switch from the des_ to the DES_ api
1957         
1958         * unwrap.c: switch from the des_ to the DES_ api
1959         
1960         * wrap.c: switch from the des_ to the DES_ api
1961         
1962         * cfx.c: EC is not included in the checksum since the length might
1963         change depending on the data.  From: Luke Howard <lukeh@PADL.COM>
1964         
1965         * acquire_cred.c: use
1966         krb5_get_init_creds_opt_alloc/krb5_get_init_creds_opt_free
1967
1968 2003-09-01  Love Hörnquist Åstrand  <lha@it.su.se>
1969
1970         * copy_ccache.c: rename
1971         gss_krb5_extract_authz_data_from_sec_context to
1972         gsskrb5_extract_authz_data_from_sec_context
1973
1974         * gssapi.h: rename gss_krb5_extract_authz_data_from_sec_context to
1975         gsskrb5_extract_authz_data_from_sec_context
1976         
1977 2003-08-31  Love Hörnquist Åstrand  <lha@it.su.se>
1978
1979         * copy_ccache.c (gss_krb5_extract_authz_data_from_sec_context):
1980         check that we have a ticket before we start to use it
1981         
1982         * gss_acquire_cred.3: document
1983         gss_krb5_extract_authz_data_from_sec_context
1984         
1985         * gssapi.h (gss_krb5_extract_authz_data_from_sec_context):
1986         return the kerberos authorizationdata, from idea of Luke Howard
1987
1988         * copy_ccache.c (gss_krb5_extract_authz_data_from_sec_context):
1989         return the kerberos authorizationdata, from idea of Luke Howard
1990         
1991         * verify_mic.c (gss_verify_mic_internal): switch type and key
1992         argument
1993
1994 2003-08-30  Love Hörnquist Åstrand  <lha@it.su.se>
1995
1996         * cfx.[ch]: draft-ietf-krb-wg-gssapi-cfx-01.txt implemetation
1997         From: Luke Howard <lukeh@PADL.COM>
1998         
1999 2003-08-28  Love Hörnquist Åstrand  <lha@it.su.se>
2000
2001         * arcfour.c (arcfour_mic_cksum): use free_Checksum to free the
2002         checksum
2003
2004         * arcfour.h: swap two last arguments to verify_mic for consistency
2005         with des3
2006
2007         * wrap.c,unwrap.c,get_mic.c,verify_mic.c,cfx.c,cfx.h:
2008         prefix cfx symbols with _gssapi_
2009
2010         * arcfour.c: release the right buffer
2011         
2012         * arcfour.c: rename token structure in consistency with rest of
2013         GSS-API From: Luke Howard <lukeh@PADL.COM>
2014         
2015         * unwrap.c (unwrap_des3): use _gssapi_verify_pad
2016         (unwrap_des): use _gssapi_verify_pad
2017
2018         * arcfour.c (_gssapi_wrap_arcfour): set the correct padding
2019         (_gssapi_unwrap_arcfour): verify and strip padding
2020
2021         * gssapi_locl.h: added _gssapi_verify_pad
2022         
2023         * decapsulate.c (_gssapi_verify_pad): verify padding of a gss
2024         wrapped message and return its length
2025         
2026         * arcfour.c: support KEYTYPE_ARCFOUR_56 keys, from Luke Howard
2027         <lukeh@PADL.COM>
2028         
2029         * arcfour.c: use right seal alg, inherit keytype from parent key
2030         
2031         * arcfour.c: include the confounder in the checksum use the right
2032         key usage number for warped/unwraped tokens
2033         
2034         * gssapi.h: add gss_krb5_nt_general_name as an mit compat glue
2035         (same as GSS_KRB5_NT_PRINCIPAL_NAME)
2036
2037         * unwrap.c: hook in arcfour unwrap
2038         
2039         * wrap.c: hook in arcfour wrap
2040         
2041         * verify_mic.c: hook in arcfour verify_mic
2042         
2043         * get_mic.c: hook in arcfour get_mic
2044         
2045         * arcfour.c: implement wrap/unwarp
2046         
2047         * gssapi_locl.h: add gssapi_{en,de}code_be_om_uint32
2048         
2049         * 8003.c: add gssapi_{en,de}code_be_om_uint32
2050         
2051 2003-08-27  Love Hörnquist Åstrand  <lha@it.su.se>
2052
2053         * arcfour.c (_gssapi_verify_mic_arcfour): Do the checksum on right
2054         area. Swap filler check, it was reversed.
2055         
2056         * Makefile.am (libgssapi_la_SOURCES): += arcfour.c
2057         
2058         * gssapi_locl.h: include "arcfour.h"
2059         
2060         * arcfour.c: arcfour gss-api mech, get_mic/verify_mic working
2061
2062         * arcfour.h: arcfour gss-api mech, get_mic/verify_mic working
2063         
2064 2003-08-26  Love Hörnquist Åstrand  <lha@it.su.se>
2065
2066         * gssapi_locl.h: always include cfx.h add prototype for
2067         _gssapi_decapsulate
2068
2069         * cfx.[ch]: Implementation of draft-ietf-krb-wg-gssapi-cfx-00.txt
2070         from Luke Howard <lukeh@PADL.COM>
2071
2072         * decapsulate.c: add _gssapi_decapsulate, from Luke Howard
2073         <lukeh@PADL.COM>
2074         
2075 2003-08-25  Love Hörnquist Åstrand  <lha@it.su.se>
2076
2077         * unwrap.c: encap/decap now takes a oid if the enctype/keytype is
2078         arcfour, return error add hook for cfx
2079         
2080         * verify_mic.c: encap/decap now takes a oid if the enctype/keytype
2081         is arcfour, return error add hook for cfx
2082         
2083         * get_mic.c: encap/decap now takes a oid if the enctype/keytype is
2084         arcfour, return error add hook for cfx
2085         
2086         * accept_sec_context.c: encap/decap now takes a oid
2087         
2088         * init_sec_context.c: encap/decap now takes a oid
2089         
2090         * gssapi_locl.h: include cfx.h if we need it lifetime is a
2091         OM_uint32, depend on gssapi interface add all new encap/decap
2092         functions
2093         
2094         * decapsulate.c: add decap functions that doesn't take the token
2095         type also make all decap function take the oid mech that they
2096         should use
2097
2098         * encapsulate.c: add encap functions that doesn't take the token
2099         type also make all encap function take the oid mech that they
2100         should use
2101
2102         * sequence.c (elem_insert): fix a off by one index counter
2103         
2104         * inquire_cred.c (gss_inquire_cred): handle cred_handle being
2105         GSS_C_NO_CREDENTIAL and use the default cred then.
2106         
2107 2003-08-19  Love Hörnquist Åstrand  <lha@it.su.se>
2108
2109         * gss_acquire_cred.3: break out extensions and document
2110         gsskrb5_register_acceptor_identity
2111
2112 2003-08-18  Love Hörnquist Åstrand  <lha@it.su.se>
2113
2114         * test_acquire_cred.c (print_time): time is returned in seconds
2115         from now, not unix time
2116
2117 2003-08-17  Love Hörnquist Åstrand  <lha@it.su.se>
2118         
2119         * compat.c (check_compat): avoid leaking principal when finding a
2120         match
2121
2122         * address_to_krb5addr.c: sa_size argument to krb5_addr2sockaddr is
2123         a krb5_socklen_t
2124
2125         * acquire_cred.c (gss_acquire_cred): 4th argument to
2126         gss_test_oid_set_member is a int
2127
2128 2003-07-22  Love Hörnquist Åstrand  <lha@it.su.se>
2129
2130         * init_sec_context.c (repl_mutual): don't set kerberos error where
2131         there was no kerberos error
2132
2133         * gssapi_locl.h: Add destruction/creation prototypes and structure
2134         for the thread specific storage.
2135
2136         * display_status.c: use thread specific storage to set/get the
2137         kerberos error message
2138
2139         * init.c: Provide locking around the creation of the global
2140         krb5_context. Add destruction/creation functions for the thread
2141         specific storage that the error string handling is using.
2142         
2143 2003-07-20  Love Hörnquist Åstrand  <lha@it.su.se>
2144
2145         * gss_acquire_cred.3: add missing prototype and missing .Ft
2146         arguments
2147
2148 2003-06-17  Love Hörnquist Åstrand  <lha@it.su.se>
2149
2150         * verify_mic.c: reorder code so sequence numbers can can be used
2151         
2152         * unwrap.c: reorder code so sequence numbers can can be used
2153         
2154         * sequence.c: remove unused function, indent, add
2155         gssapi_msg_order_f that filter gss flags to gss_msg_order flags
2156         
2157         * gssapi_locl.h: prototypes for
2158         gssapi_{encode_om_uint32,decode_om_uint32} add sequence number
2159         verifier prototypes
2160
2161         * delete_sec_context.c: destroy sequence number verifier
2162         
2163         * init_sec_context.c: remember to free data use sequence number
2164         verifier
2165         
2166         * accept_sec_context.c: don't clear output_token twice remember to
2167         free data use sequence number verifier
2168         
2169         * 8003.c: export and rename encode_om_uint32/decode_om_uint32 and
2170         start to use them
2171
2172 2003-06-09  Johan Danielsson  <joda@pdc.kth.se>
2173
2174         * Makefile.am: can't have sequence.c in two different places
2175
2176 2003-06-06  Love Hörnquist Åstrand  <lha@it.su.se>
2177
2178         * test_sequence.c: check rollover, print summery
2179         
2180         * wrap.c (sub_wrap_size): gss_wrap_size_limit() has
2181         req_output_size and max_input_size around the wrong way -- it
2182         returns the output token size for a given input size, rather than
2183         the maximum input size for a given output token size.
2184         
2185         From: Luke Howard <lukeh@PADL.COM>
2186         
2187 2003-06-05  Love Hörnquist Åstrand  <lha@it.su.se>
2188
2189         * gssapi_locl.h: add prototypes for sequence.c
2190         
2191         * Makefile.am (libgssapi_la_SOURCES): add sequence.c
2192         (test_sequence): build
2193
2194         * sequence.c: sequence number checks, order and replay
2195         * test_sequence.c: sequence number checks, order and replay
2196
2197 2003-06-03  Love Hörnquist Åstrand  <lha@it.su.se>
2198
2199         * accept_sec_context.c (gss_accept_sec_context): make sure time is
2200         returned in seconds from now, not in kerberos time
2201         
2202         * acquire_cred.c (gss_aquire_cred): make sure time is returned in
2203         seconds from now, not in kerberos time
2204         
2205         * init_sec_context.c (init_auth): if the cred is expired before we
2206         tries to create a token, fail so the peer doesn't need reject us
2207         (*): make sure time is returned in seconds from now, 
2208         not in kerberos time
2209         (repl_mutual): remember to unlock the context mutex
2210
2211         * context_time.c (gss_context_time): remove unused variable
2212         
2213         * verify_mic.c: make sure minor_status is always set, pointed out
2214         by Luke Howard <lukeh@PADL.COM>
2215
2216 2003-05-21  Love Hörnquist Åstrand  <lha@it.su.se>
2217
2218         * *.[ch]: do some basic locking (no reference counting so contexts 
2219           can be removed while still used)
2220         - don't export gss_ctx_id_t_desc_struct and gss_cred_id_t_desc_struct
2221         - make sure all lifetime are returned in seconds left until expired,
2222           not in unix epoch
2223
2224         * gss_acquire_cred.3: document argument lifetime_rec to function
2225         gss_inquire_context
2226
2227 2003-05-17  Love Hörnquist Åstrand  <lha@it.su.se>
2228
2229         * test_acquire_cred.c: test gss_add_cred more then once
2230         
2231 2003-05-06  Love Hörnquist Åstrand  <lha@it.su.se>
2232
2233         * gssapi.h: if __cplusplus, wrap the extern variable (just to be
2234         safe) and functions in extern "C" { }
2235         
2236 2003-04-30  Love Hörnquist Åstrand  <lha@it.su.se>
2237
2238         * gssapi.3: more about the des3 mic mess
2239         
2240         * verify_mic.c (verify_mic_des3): always check if the mic is the
2241         correct mic or the mic that old heimdal would have generated
2242         
2243 2003-04-28  Jacques Vidrine  <nectar@kth.se>
2244
2245         * verify_mic.c (verify_mic_des3): If MIC verification fails,
2246         retry using the `old' MIC computation (with zero IV).
2247
2248 2003-04-26  Love Hörnquist Åstrand  <lha@it.su.se>
2249
2250         * gss_acquire_cred.3: more about difference between comparing IN
2251         and MN
2252
2253         * gss_acquire_cred.3: more about name type and access control
2254         
2255 2003-04-25  Love Hörnquist Åstrand  <lha@it.su.se>
2256
2257         * gss_acquire_cred.3: document gss_context_time
2258         
2259         * context_time.c: if lifetime of context have expired, set
2260         time_rec to 0 and return GSS_S_CONTEXT_EXPIRED
2261         
2262         * gssapi.3: document [gssapi]correct_des3_mic
2263         [gssapi]broken_des3_mic
2264
2265         * gss_acquire_cred.3: document gss_krb5_compat_des3_mic
2266         
2267         * compat.c (gss_krb5_compat_des3_mic): enable turning on/off des3
2268         mic compat
2269         (_gss_DES3_get_mic_compat): handle [gssapi]correct_des3_mic too
2270
2271         * gssapi.h (gss_krb5_compat_des3_mic): new function, turn on/off
2272         des3 mic compat
2273         (GSS_C_KRB5_COMPAT_DES3_MIC): cpp symbol that exists if
2274         gss_krb5_compat_des3_mic exists
2275         
2276 2003-04-24  Love Hörnquist Åstrand  <lha@it.su.se>
2277
2278         * Makefile.am:  (libgssapi_la_LDFLAGS): update major
2279         version of gssapi for incompatiblity in 3des getmic support
2280         
2281 2003-04-23  Love Hörnquist Åstrand  <lha@it.su.se>
2282
2283         * Makefile.am: test_acquire_cred_LDADD: use libgssapi.la not
2284         ./libgssapi.la (make make -jN work)
2285
2286 2003-04-16  Love Hörnquist Åstrand  <lha@it.su.se>
2287
2288         * gssapi.3: spelling
2289         
2290         * gss_acquire_cred.3: Change .Fd #include <header.h> to .In
2291         header.h, from Thomas Klausner <wiz@netbsd.org>
2292
2293         
2294 2003-04-06  Love Hörnquist Åstrand  <lha@it.su.se>
2295
2296         * gss_acquire_cred.3: spelling
2297         
2298         * Makefile.am: remove stuff that sneaked in with last commit
2299         
2300         * acquire_cred.c (acquire_initiator_cred): if the requested name
2301         isn't in the ccache, also check keytab.  Extact the krbtgt for the
2302         default realm to check how long the credentials will last.
2303         
2304         * add_cred.c (gss_add_cred): don't create a new ccache, just open
2305         the old one; better check if output handle is compatible with new
2306         (copied) handle
2307
2308         * test_acquire_cred.c: test gss_add_cred too
2309         
2310 2003-04-03  Love Hörnquist Åstrand  <lha@it.su.se>
2311
2312         * Makefile.am: build test_acquire_cred
2313         
2314         * test_acquire_cred.c: simple gss_acquire_cred test
2315         
2316 2003-04-02  Love Hörnquist Åstrand  <lha@it.su.se>
2317
2318         * gss_acquire_cred.3: s/gssapi/GSS-API/
2319         
2320 2003-03-19  Love Hörnquist Åstrand  <lha@it.su.se>
2321
2322         * gss_acquire_cred.3: document v1 interface (and that they are
2323         obsolete)
2324
2325 2003-03-18  Love Hörnquist Åstrand  <lha@it.su.se>
2326
2327         * gss_acquire_cred.3: list supported mechanism and nametypes
2328         
2329 2003-03-16  Love Hörnquist Åstrand  <lha@it.su.se>
2330         
2331         * gss_acquire_cred.3: text about gss_display_name
2332
2333         * Makefile.am (libgssapi_la_LDFLAGS): bump to 3:6:2
2334         (libgssapi_la_SOURCES): add all new functions
2335
2336         * gssapi.3: now that we have a functions, uncomment the missing
2337         ones
2338
2339         * gss_acquire_cred.3: now that we have a functions, uncomment the
2340         missing ones
2341
2342         * process_context_token.c: implement gss_process_context_token
2343         
2344         * inquire_names_for_mech.c: implement gss_inquire_names_for_mech
2345         
2346         * inquire_mechs_for_name.c: implement gss_inquire_mechs_for_name
2347         
2348         * inquire_cred_by_mech.c: implement gss_inquire_cred_by_mech
2349         
2350         * add_cred.c: implement gss_add_cred
2351         
2352         * acquire_cred.c (gss_acquire_cred): more testing of input
2353         argument, make sure output arguments are ok, since we don't know
2354         the time_rec (for now), set it to time_req
2355         
2356         * export_sec_context.c: send lifetime, also set minor_status
2357         
2358         * get_mic.c: set minor_status
2359         
2360         * import_sec_context.c (gss_import_sec_context): add error
2361         checking, pick up lifetime (if there is no lifetime, use
2362         GSS_C_INDEFINITE)
2363
2364         * init_sec_context.c: take care to set export value to something
2365         sane before we start so caller will have harmless values in them
2366         if then function fails
2367
2368         * release_buffer.c (gss_release_buffer): set minor_status
2369         
2370         * wrap.c: make sure minor_status get set
2371         
2372         * verify_mic.c (gss_verify_mic_internal): rename verify_mic to
2373         gss_verify_mic_internal and let it take the type as an argument,
2374         (gss_verify_mic): call gss_verify_mic_internal
2375         set minor_status
2376         
2377         * unwrap.c: set minor_status
2378         
2379         * test_oid_set_member.c (gss_test_oid_set_member): use
2380         gss_oid_equal
2381
2382         * release_oid_set.c (gss_release_oid_set): set minor_status
2383         
2384         * release_name.c (gss_release_name): set minor_status
2385         
2386         * release_cred.c (gss_release_cred): set minor_status
2387         
2388         * add_oid_set_member.c (gss_add_oid_set_member): set minor_status
2389         
2390         * compare_name.c (gss_compare_name): set minor_status
2391         
2392         * compat.c (check_compat): make sure ret have a defined value
2393         
2394         * context_time.c (gss_context_time): set minor_status
2395         
2396         * copy_ccache.c (gss_krb5_copy_ccache): set minor_status
2397         
2398         * create_emtpy_oid_set.c (gss_create_empty_oid_set): set
2399         minor_status
2400
2401         * delete_sec_context.c (gss_delete_sec_context): set minor_status
2402         
2403         * display_name.c (gss_display_name): set minor_status
2404         
2405         * display_status.c (gss_display_status): use gss_oid_equal, handle
2406         supplementary errors
2407
2408         * duplicate_name.c (gss_duplicate_name): set minor_status
2409         
2410         * inquire_context.c (gss_inquire_context): set lifetime_rec now
2411         when we know it, set minor_status
2412
2413         * inquire_cred.c (gss_inquire_cred): take care to set export value
2414         to something sane before we start so caller will have harmless
2415         values in them if the function fails
2416         
2417         * accept_sec_context.c (gss_accept_sec_context): take care to set
2418         export value to something sane before we start so caller will have
2419         harmless values in them if then function fails, set lifetime from
2420         ticket expiration date
2421
2422         * indicate_mechs.c (gss_indicate_mechs): use
2423         gss_create_empty_oid_set and gss_add_oid_set_member
2424
2425         * gssapi.h (gss_ctx_id_t_desc): store the lifetime in the cred,
2426         since there is no ticket transfered in the exported context
2427         
2428         * export_name.c (gss_export_name): export name with
2429         GSS_C_NT_EXPORT_NAME wrapping, not just the principal
2430         
2431         * import_name.c (import_export_name): new function, parses a
2432         GSS_C_NT_EXPORT_NAME
2433         (import_krb5_name): factor out common code of parsing krb5 name
2434         (gss_oid_equal): rename from oid_equal
2435
2436         * gssapi_locl.h: add prototypes for gss_oid_equal and
2437         gss_verify_mic_internal
2438
2439         * gssapi.h: comment out the argument names
2440         
2441 2003-03-15  Love Hörnquist Åstrand  <lha@it.su.se>
2442
2443         * gssapi.3: add LIST OF FUNCTIONS and copyright/license
2444
2445         * Makefile.am: s/gss_aquire_cred.3/gss_acquire_cred.3/
2446         
2447         * Makefile.am: man_MANS += gss_aquire_cred.3
2448         
2449 2003-03-14  Love Hörnquist Åstrand  <lha@it.su.se>
2450
2451         * gss_aquire_cred.3: the gssapi api manpage
2452         
2453 2003-03-03  Love Hörnquist Åstrand  <lha@it.su.se>
2454
2455         * inquire_context.c: (gss_inquire_context): rename argument open
2456         to open_context
2457
2458         * gssapi.h (gss_inquire_context): rename argument open to open_context
2459
2460 2003-02-27  Love Hörnquist Åstrand  <lha@it.su.se>
2461
2462         * init_sec_context.c (do_delegation): remove unused variable
2463         subkey
2464
2465         * gssapi.3: all 0.5.x version had broken token delegation
2466         
2467 2003-02-21  Love Hörnquist Åstrand  <lha@it.su.se>
2468
2469         * (init_auth): only generate one subkey
2470
2471 2003-01-27  Love Hörnquist Åstrand  <lha@it.su.se>
2472
2473         * verify_mic.c (verify_mic_des3): fix 3des verify_mic to conform
2474         to rfc (and mit kerberos), provide backward compat hook
2475         
2476         * get_mic.c (mic_des3): fix 3des get_mic to conform to rfc (and
2477         mit kerberos), provide backward compat hook
2478         
2479         * init_sec_context.c (init_auth): check if we need compat for
2480         older get_mic/verify_mic
2481
2482         * gssapi_locl.h: add prototype for _gss_DES3_get_mic_compat
2483         
2484         * gssapi.h (more_flags): add COMPAT_OLD_DES3
2485         
2486         * Makefile.am: add gssapi.3 and compat.c
2487         
2488         * gssapi.3: add gssapi COMPATIBILITY documentation
2489         
2490         * accept_sec_context.c (gss_accept_sec_context): check if we need
2491         compat for older get_mic/verify_mic
2492
2493         * compat.c: check for compatiblity with other heimdal's 3des
2494         get_mic/verify_mic
2495
2496 2002-10-31  Johan Danielsson  <joda@pdc.kth.se>
2497
2498         * check return value from gssapi_krb5_init
2499         
2500         * 8003.c (gssapi_krb5_verify_8003_checksum): check size of input
2501
2502 2002-09-03  Johan Danielsson  <joda@pdc.kth.se>
2503
2504         * wrap.c (wrap_des3): use ETYPE_DES3_CBC_NONE
2505
2506         * unwrap.c (unwrap_des3): use ETYPE_DES3_CBC_NONE
2507
2508 2002-09-02  Johan Danielsson  <joda@pdc.kth.se>
2509
2510         * init_sec_context.c: we need to generate a local subkey here
2511
2512 2002-08-20  Jacques Vidrine <n@nectar.com>
2513
2514         * acquire_cred.c, inquire_cred.c, release_cred.c: Use default
2515           credential resolution if gss_acquire_cred is called with
2516           GSS_C_NO_NAME.
2517
2518 2002-06-20  Jacques Vidrine <n@nectar.com>
2519
2520         * import_name.c: Compare name types by value if pointers do
2521           not match.  Reported by: "Douglas E. Engert" <deengert@anl.gov>
2522
2523 2002-05-20  Jacques Vidrine <n@nectar.com>
2524
2525         * verify_mic.c (gss_verify_mic), unwrap.c (gss_unwrap): initialize
2526           the qop_state parameter.  from Doug Rabson <dfr@nlsystems.com>
2527
2528 2002-05-09  Jacques Vidrine <n@nectar.com>
2529
2530         * acquire_cred.c: handle GSS_C_INITIATE/GSS_C_ACCEPT/GSS_C_BOTH
2531
2532 2002-05-08  Jacques Vidrine <n@nectar.com>
2533
2534         * acquire_cred.c: initialize gssapi; handle null desired_name
2535
2536 2002-03-22  Johan Danielsson  <joda@pdc.kth.se>
2537
2538         * Makefile.am: remove non-functional stuff accidentally committed
2539
2540 2002-03-11  Assar Westerlund  <assar@sics.se>
2541
2542         * Makefile.am (libgssapi_la_LDFLAGS): bump version to 3:5:2
2543         * 8003.c (gssapi_krb5_verify_8003_checksum): handle zero channel
2544         bindings
2545
2546 2001-10-31  Jacques Vidrine <n@nectar.com>
2547
2548         * get_mic.c (mic_des3): MIC computation using DES3/SHA1
2549         was bogusly appending the message buffer to the result,
2550         overwriting a heap buffer in the process.
2551
2552 2001-08-29  Assar Westerlund  <assar@sics.se>
2553
2554         * 8003.c (gssapi_krb5_verify_8003_checksum,
2555         gssapi_krb5_create_8003_checksum): make more consistent by always
2556         returning an gssapi error and setting minor status.  update
2557         callers
2558
2559 2001-08-28  Jacques Vidrine  <n@nectar.com>
2560
2561         * accept_sec_context.c: Create a cache for delegated credentials
2562           when needed.
2563
2564 2001-08-28  Assar Westerlund  <assar@sics.se>
2565
2566         * Makefile.am (libgssapi_la_LDFLAGS): set version to 3:4:2
2567
2568 2001-08-23  Assar Westerlund  <assar@sics.se>
2569
2570         *  *.c: handle minor_status more consistently
2571
2572         * display_status.c (gss_display_status): handle krb5_get_err_text
2573         failing
2574
2575 2001-08-15  Johan Danielsson  <joda@pdc.kth.se>
2576
2577         * gssapi_locl.h: fix prototype for gssapi_krb5_init
2578
2579 2001-08-13  Johan Danielsson  <joda@pdc.kth.se>
2580
2581         * accept_sec_context.c (gsskrb5_register_acceptor_identity): init
2582         context and check return value from kt_resolve
2583
2584         * init.c: return error code
2585
2586 2001-07-19  Assar Westerlund  <assar@sics.se>
2587
2588         * Makefile.am (libgssapi_la_LDFLAGS): update to 3:3:2
2589
2590 2001-07-12  Assar Westerlund  <assar@sics.se>
2591
2592         * Makefile.am (libgssapi_la_LIBADD): add required library
2593         dependencies
2594
2595 2001-07-06  Assar Westerlund  <assar@sics.se>
2596
2597         * accept_sec_context.c (gsskrb5_register_acceptor_identity): set
2598         the keytab to be used for gss_acquire_cred too'
2599
2600 2001-07-03  Assar Westerlund  <assar@sics.se>
2601
2602         * Makefile.am (libgssapi_la_LDFLAGS): set version to 3:2:2
2603
2604 2001-06-18  Assar Westerlund  <assar@sics.se>
2605
2606         * wrap.c: replace gss_krb5_getsomekey with gss_krb5_get_localkey
2607         and gss_krb5_get_remotekey
2608         * verify_mic.c: update krb5_auth_con function names use
2609         gss_krb5_get_remotekey
2610         * unwrap.c: replace gss_krb5_getsomekey with gss_krb5_get_localkey
2611         and gss_krb5_get_remotekey
2612         * gssapi_locl.h (gss_krb5_get_remotekey, gss_krb5_get_localkey):
2613         add prototypes
2614         * get_mic.c: update krb5_auth_con function names. use
2615         gss_krb5_get_localkey
2616         * accept_sec_context.c: update krb5_auth_con function names
2617
2618 2001-05-17  Assar Westerlund  <assar@sics.se>
2619
2620         * Makefile.am: bump version to 3:1:2
2621
2622 2001-05-14  Assar Westerlund  <assar@sics.se>
2623
2624         * address_to_krb5addr.c: adapt to new address functions
2625
2626 2001-05-11  Assar Westerlund  <assar@sics.se>
2627
2628         * try to return the error string from libkrb5 where applicable
2629
2630 2001-05-08  Assar Westerlund  <assar@sics.se>
2631
2632         * delete_sec_context.c (gss_delete_sec_context): remember to free
2633         the memory used by the ticket itself. from <tmartin@mirapoint.com>
2634
2635 2001-05-04  Assar Westerlund  <assar@sics.se>
2636
2637         * gssapi_locl.h: add config.h for completeness
2638         * gssapi.h: remove config.h, this is an installed header file
2639         sys/types.h is not needed either
2640         
2641 2001-03-12  Assar Westerlund  <assar@sics.se>
2642
2643         * acquire_cred.c (gss_acquire_cred): remove memory leaks.  from
2644         Jason R Thorpe <thorpej@zembu.com>
2645
2646 2001-02-18  Assar Westerlund  <assar@sics.se>
2647
2648         * accept_sec_context.c (gss_accept_sec_context): either return
2649         gss_name NULL-ed or set
2650
2651         * import_name.c: set minor_status in some cases where it was not
2652         done
2653
2654 2001-02-15  Assar Westerlund  <assar@sics.se>
2655
2656         * wrap.c: use krb5_generate_random_block for the confounders
2657
2658 2001-01-30  Assar Westerlund  <assar@sics.se>
2659
2660         * Makefile.am (libgssapi_la_LDFLAGS): bump version to 3:0:2
2661         * acquire_cred.c, init_sec_context.c, release_cred.c: add support
2662         for getting creds from a keytab, from fvdl@netbsd.org
2663
2664         * copy_ccache.c: add gss_krb5_copy_ccache
2665
2666 2001-01-27  Assar Westerlund  <assar@sics.se>
2667
2668         * get_mic.c: cast parameters to des function to non-const pointers
2669         to handle the case where these functions actually take non-const
2670         des_cblock *
2671
2672 2001-01-09  Assar Westerlund  <assar@sics.se>
2673
2674         * accept_sec_context.c (gss_accept_sec_context): use krb5_rd_cred2
2675         instead of krb5_rd_cred
2676
2677 2000-12-11  Assar Westerlund  <assar@sics.se>
2678
2679         * Makefile.am (libgssapi_la_LDFLAGS): bump to 2:3:1
2680
2681 2000-12-08  Assar Westerlund  <assar@sics.se>
2682
2683         * wrap.c (wrap_des3): use the checksum as ivec when encrypting the
2684         sequence number
2685         * unwrap.c (unwrap_des3): use the checksum as ivec when encrypting
2686         the sequence number
2687         * init_sec_context.c (init_auth): always zero fwd_data
2688
2689 2000-12-06  Johan Danielsson  <joda@pdc.kth.se>
2690
2691         * accept_sec_context.c: de-pointerise auth_context parameter to
2692         krb5_mk_rep
2693
2694 2000-11-15  Assar Westerlund  <assar@sics.se>
2695
2696         * init_sec_context.c (init_auth): update to new
2697         krb5_build_authenticator
2698
2699 2000-09-19  Assar Westerlund  <assar@sics.se>
2700
2701         * Makefile.am (libgssapi_la_LDFLAGS): bump to 2:2:1
2702
2703 2000-08-27  Assar Westerlund  <assar@sics.se>
2704
2705         * init_sec_context.c: actually pay attention to `time_req'
2706         * init_sec_context.c: re-organize.  leak less memory.
2707         * gssapi_locl.h (gssapi_krb5_encapsulate, gss_krb5_getsomekey):
2708         update prototypes add assert.h
2709         * gssapi.h (GSS_KRB5_CONF_C_QOP_DES, GSS_KRB5_CONF_C_QOP_DES3_KD):
2710         add
2711         * verify_mic.c: re-organize and add 3DES code
2712         * wrap.c: re-organize and add 3DES code
2713         * unwrap.c: re-organize and add 3DES code
2714         * get_mic.c: re-organize and add 3DES code
2715         * encapsulate.c (gssapi_krb5_encapsulate): do not free `in_data',
2716         let the caller do that.  fix the callers.
2717
2718 2000-08-16  Assar Westerlund  <assar@sics.se>
2719
2720         * Makefile.am: bump version to 2:1:1
2721
2722 2000-07-29  Assar Westerlund  <assar@sics.se>
2723
2724         * decapsulate.c (gssapi_krb5_verify_header): sanity-check length
2725
2726 2000-07-25  Johan Danielsson  <joda@pdc.kth.se>
2727
2728         * Makefile.am: bump version to 2:0:1
2729
2730 2000-07-22  Assar Westerlund  <assar@sics.se>
2731
2732         * gssapi.h: update OID for GSS_C_NT_HOSTBASED_SERVICE and other
2733         details from rfc2744
2734
2735 2000-06-29  Assar Westerlund  <assar@sics.se>
2736
2737         * address_to_krb5addr.c (gss_address_to_krb5addr): actually use
2738         `int' instead of `sa_family_t' for the address family.
2739
2740 2000-06-21  Assar Westerlund  <assar@sics.se>
2741
2742         * add support for token delegation.  From Daniel Kouril
2743         <kouril@ics.muni.cz> and Miroslav Ruda <ruda@ics.muni.cz>
2744
2745 2000-05-15  Assar Westerlund  <assar@sics.se>
2746
2747         * Makefile.am (libgssapi_la_LDFLAGS): set version to 1:1:1
2748
2749 2000-04-12  Assar Westerlund  <assar@sics.se>
2750
2751         * release_oid_set.c (gss_release_oid_set): clear set for
2752         robustness.  From GOMBAS Gabor <gombasg@inf.elte.hu>
2753         * release_name.c (gss_release_name): reset input_name for
2754         robustness.  From GOMBAS Gabor <gombasg@inf.elte.hu>
2755         * release_buffer.c (gss_release_buffer): set value to NULL to be
2756         more robust.  From GOMBAS Gabor <gombasg@inf.elte.hu>
2757         * add_oid_set_member.c (gss_add_oid_set_member): actually check if
2758         the oid is a member first.  leave the oid_set unchanged if realloc
2759         fails.
2760
2761 2000-02-13  Assar Westerlund  <assar@sics.se>
2762
2763         * Makefile.am: set version to 1:0:1
2764
2765 2000-02-12  Assar Westerlund  <assar@sics.se>
2766
2767         * gssapi_locl.h: add flags for import/export
2768         * import_sec_context.c (import_sec_context: add flags for what
2769         fields are included.  do not include the authenticator for now.
2770         * export_sec_context.c (export_sec_context: add flags for what
2771         fields are included.  do not include the authenticator for now.
2772         * accept_sec_context.c (gss_accept_sec_context): set target in
2773         context_handle
2774
2775 2000-02-11  Assar Westerlund  <assar@sics.se>
2776
2777         * delete_sec_context.c (gss_delete_sec_context): set context to
2778         GSS_C_NO_CONTEXT
2779
2780         * Makefile.am: add {export,import}_sec_context.c
2781         * export_sec_context.c: new file
2782         * import_sec_context.c: new file
2783         * accept_sec_context.c (gss_accept_sec_context): set trans flag
2784
2785 2000-02-07  Assar Westerlund  <assar@sics.se>
2786
2787         * Makefile.am: set version to 0:5:0
2788
2789 2000-01-26  Assar Westerlund  <assar@sics.se>
2790
2791         * delete_sec_context.c (gss_delete_sec_context): handle a NULL
2792         output_token
2793
2794         * wrap.c: update to pseudo-standard APIs for md4,md5,sha.  some
2795         changes to libdes calls to make them more portable.
2796         * verify_mic.c: update to pseudo-standard APIs for md4,md5,sha.
2797         some changes to libdes calls to make them more portable.
2798         * unwrap.c: update to pseudo-standard APIs for md4,md5,sha.  some
2799         changes to libdes calls to make them more portable.
2800         * get_mic.c: update to pseudo-standard APIs for md4,md5,sha.  some
2801         changes to libdes calls to make them more portable.
2802         * 8003.c: update to pseudo-standard APIs for md4,md5,sha.
2803
2804 2000-01-06  Assar Westerlund  <assar@sics.se>
2805
2806         * Makefile.am: set version to 0:4:0
2807
2808 1999-12-26  Assar Westerlund  <assar@sics.se>
2809
2810         * accept_sec_context.c (gss_accept_sec_context): always set
2811         `output_token'
2812         * init_sec_context.c (init_auth): always initialize `output_token'
2813         * delete_sec_context.c (gss_delete_sec_context): always set
2814         `output_token'
2815
2816 1999-12-06  Assar Westerlund  <assar@sics.se>
2817
2818         * Makefile.am: bump version to 0:3:0
2819
2820 1999-10-20  Assar Westerlund  <assar@sics.se>
2821
2822         * Makefile.am: set version to 0:2:0
2823
2824 1999-09-21  Assar Westerlund  <assar@sics.se>
2825
2826         * init_sec_context.c (gss_init_sec_context): initialize `ticket'
2827
2828         * gssapi.h (gss_ctx_id_t_desc): add ticket in here.  ick.
2829
2830         * delete_sec_context.c (gss_delete_sec_context): free ticket
2831
2832         * accept_sec_context.c (gss_accept_sec_context): stove away
2833         `krb5_ticket' in context so that ugly programs such as
2834         gss_nt_server can get at it.  uck.
2835
2836 1999-09-20  Johan Danielsson  <joda@pdc.kth.se>
2837
2838         * accept_sec_context.c: set minor_status
2839
2840 1999-08-04  Assar Westerlund  <assar@sics.se>
2841
2842         * display_status.c (calling_error, routine_error): right shift the
2843         code to make it possible to index into the arrays
2844
2845 1999-07-28  Assar Westerlund  <assar@sics.se>
2846
2847         * gssapi.h (GSS_C_AF_INET6): add
2848
2849         * import_name.c (import_hostbased_name): set minor_status
2850
2851 1999-07-26  Assar Westerlund  <assar@sics.se>
2852
2853         * Makefile.am: set version to 0:1:0
2854
2855 Wed Apr  7 14:05:15 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2856
2857         * display_status.c: set minor_status
2858
2859         * init_sec_context.c: set minor_status
2860
2861         * lib/gssapi/init.c: remove donep (check gssapi_krb5_context
2862         directly)
2863