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