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