Add missing files, from Buchan Milne.
[heimdal.git] / ChangeLog
blob70b2e0f702d7e9398de815970c601254e3d075fb
1 2007-12-12  Love Hörnquist Åstrand  <lha@it.su.se>
3         * kuser/kgetcred.c: Fix type of name-type. From Andy Polyakov.
5 2007-12-09  Love Hörnquist Åstrand  <lha@it.su.se>
7         * kdc/log.c: Use hdb_db_dir().
9         * kpasswd/kpasswdd.c: Use hdb_db_dir().
11 2007-12-08  Love Hörnquist Åstrand  <lha@it.su.se>
12         
13         * kdc/config.c: Use hdb_db_dir().
15         * kdc/kdc_locl.h: add KDC_LOG_FILE
17         * kdc/hpropd.c: Use hdb_default_db().
19         * kdc/kstash.c: Use hdb_db_dir().
21         * kdc/pkinit.c: Adapt to hx509 changes, use hdb_db_dir().
23         * lib/krb5/rd_req.c: Document krb5_rd_req_in_set_pac_check.
25         * lib/krb5/verify_krb5_conf.c: Check check_pac.
27         * lib/krb5/rd_req.c: use KRB5_CTX_F_CHECK_PAC to init check_pac
28         field in the krb5_rd_req_in_ctx
30         * lib/krb5/expand_hostname.c: Adapt to changing
31         dns_canonicalize_hostname into flags field.
33         * lib/krb5/context.c: Adapt to changing dns_canonicalize_hostname
34         into flags field, add check-pac as an libdefaults option.
36         * lib/krb5/pkinit.c: Adapt to changes in hx509 interface.
38         * doc: add doxygen documentation to hcrypto
40         * doc/doxytmpl.dxy: generate links
41         
42 2007-12-07  Love Hörnquist Åstrand  <lha@it.su.se>
44         * lib/krb5/Makefile.am: build_HEADERZ += heim_threads.h
46         * lib/hdb/dbinfo.c (hdb_db_dir): Return the directory where the
47         hdb database resides.
49         * configure.in: Add --with-hdbdir to specify where the database is
50         stored.
52         * lib/krb5/crypto.c: revert previous patch, the problem is located
53         in the RAND_file_name() function that will cause recursive nss
54         lookups, can't fix that here.
56 2007-12-06  Love Hörnquist Åstrand  <lha@it.su.se>
58         * lib/krb5/crypto.c (krb5_generate_random_block): try to avoid the
59         dead-lock in by not holding the lock while running
60         RAND_file_name. Prompted by Hai Zaar.
62         * lib/krb5/n-fold.c: spelling
63         
64 2007-12-04  Love Hörnquist Åstrand  <lha@it.su.se>
66         * kuser/kdigest.c (digest-probe): implement command.
68         * kuser/kdigest-commands.in (digest-probe): new command
69         
70         * kdc/digest.c: Implement supportedMechs request.
72         * lib/krb5/error_string.c: Make krb5_get_error_string return an
73         allocated string to make the function indempotent. From
74         Zeqing (Fred) Xia.
76 2007-12-03  Love Hörnquist Åstrand  <lha@it.su.se>
78         * lib/krb5/krb5_locl.h (krb5_context_data): Flag if
79         default_cc_name was set by the user.
81         * lib/krb5/fcache.c (fcc_move): make sure ->version is uptodate.
83         * kcm/acquire.c: use krb5_free_cred_contents
85         * kuser/kimpersonate.c: use krb5_free_cred_contents
86         
87         * kuser/kinit.c: Use krb5_cc_move to make an atomic switch of the
88         cred cache.
90         * lib/krb5/cache.c: Put back code that was needed, move gen_new
91         into new_unique.
93         * lib/krb5/mcache.c (mcc_default_name): Remove const
95         * lib/krb5/krb5_locl.h: Add KRB5_DEFAULT_CCNAME_KCM, redefine
96         KRB5_DEFAULT_CCNAME to KRB5_DEFAULT_CCTYPE
98         * lib/krb5/cache.c: Use krb5_cc_ops->default_name to get the
99         default name.
101         * lib/krb5/kcm.c: Implement krb5_cc_ops->default_name.
103         * lib/krb5/mcache.c: Implement krb5_cc_ops->default_name.
105         * lib/krb5/fcache.c: Implement krb5_cc_ops->default_name.
107         * lib/krb5/krb5.h: Add krb5_cc_ops->default_name.
109         * lib/krb5/acache.c: Free context when done, implement
110         krb5_cc_ops->default_name.
112         * lib/krb5/kcm.c: implement dummy kcm_move
114         * lib/krb5/mcache.c: Implement the move operation.
116         * lib/krb5/version-script.map: export krb5_cc_move
118         * lib/krb5/cache.c: New function krb5_cc_move().
120         * lib/krb5/fcache.c: Implement the move operation.
122         * lib/krb5/krb5.h: Add move to the krb5_cc_ops, causes major
123         version bump.
125         * lib/krb5/acache.c: Implement the move operation. Avoid using
126         cc_set_principal() since it broken on Mac OS X 10.5.0.
127         
128 2007-12-02  Love Hörnquist Åstrand  <lha@it.su.se>
130         * lib/krb5/krb5_ccapi.h: Drop variable names to avoid -Wshadow.
131         
132 2007-11-14  Love Hörnquist Åstrand  <lha@it.su.se>
134         * kdc/krb5tgs.c: Should pass different key usage constants
135         depending on whether or not optional sub-session key was passed by
136         the client for the check of authorization data. The constant is
137         used to derive "specific key" and its values are specified in
138         7.5.1 of RFC4120.
139         
140         Patch from Andy Polyakov.
142         * kdc/krb5tgs.c: Don't send auth data in referrals, microsoft
143         clients have started to not like that. Thanks to Andy Polyakov for
144         excellent research.
146 2007-11-11  Love Hörnquist Åstrand  <lha@it.su.se>
148         * lib/krb5/creds.c: use krb5_data_cmp
150         * lib/krb5/acache.c: use krb5_free_cred_contents
152         * lib/krb5/test_renew.c: use krb5_free_cred_contents
153         
154 2007-11-10  Love Hörnquist Åstrand  <lha@it.su.se>
156         * lib/krb5/acl.c: doxygen documentation
158         * lib/krb5/addr_families.c: doxygen documentation
160         * doc: add doxygen
162         * lib/krb5/plugin.c: doxygen documentation
164         * lib/krb5/kcm.c: doxygen documentation
166         * lib/krb5/fcache.c: doxygen documentation
168         * lib/krb5/cache.c: doxygen documentations
169         
170         * lib/krb5/doxygen.c: doxygen introduction
172         * lib/krb5/error_string.c: Doxygen documentation.
174 2007-11-03  Love Hörnquist Åstrand  <lha@it.su.se>
176         * lib/krb5/test_plugin.c: expose krb5_plugin_register
178         * lib/krb5/plugin.c: expose krb5_plugin_register
180         * lib/krb5/version-script.map: sort, expose krb5_plugin_register
182 2007-10-24  Love Hörnquist Åstrand  <lha@it.su.se>
184         * kdc/kerberos5.c: Adding same enctype is enough one time. From
185         Andy Polyakov and Bjorn Sandell.
186         
187 2007-10-18  Love  <lha@stacken.kth.se>
189         * lib/krb5/cache.c (krb5_cc_retrieve_cred): check return value
190         from krb5_cc_start_seq_get. From Zeqing (Fred) Xia
191         
192         * lib/krb5/fcache.c (init_fcc): provide better error codes
194         * kdc/kerberos5.c (get_pa_etype_info2): more paranoia, avoid
195         sending warning about pruned etypes.
197         * kdc/kerberos5.c (older_enctype): old windows enctypes (arcfour
198         based) "old", this to support windows 2000 clients (unjoined to a
199         domain). From Andy Polyakov.
201 2007-10-07  Love Hörnquist Åstrand  <lha@it.su.se>
203         * doc/setup.texi: Spelling, from Mark Peoples via Bjorn Sandell.
204         
205 2007-10-04  Love Hörnquist Åstrand  <lha@it.su.se>
207         * kdc/krb5tgs.c: More prettier printing of enctype, from KAMADA
208         Ken'ichi.
210         * lib/krb5/crypto.c (krb5_enctype_to_string): make sure string is
211         NULL on failure.
213 2007-10-03  Love Hörnquist Åstrand  <lha@it.su.se>
215         * kdc/kdc-replay.c: Catch KRB5_PROG_ATYPE_NOSUPP from
216         krb5_addr2sockaddr and igore thte test is that case.
217         
218 2007-09-29  Love Hörnquist Åstrand  <lha@it.su.se>
220         * lib/krb5/context.c (krb5_free_context): free
221         default_cc_name_env, from Gunther Deschner.
223 2007-08-27  Love Hörnquist Åstrand  <lha@it.su.se>
225         * lib/krb5/{krb5.h,pac.c,test_pac.c,send_to_kdc.c,rd_req.c}: Make
226         work with c++, reported by Hai Zaar
228         * lib/krb5/{digest.c,krb5.h}: Make work with c++, reported by Hai Zaar
230 2007-08-20  Love Hörnquist Åstrand  <lha@it.su.se>
232         * lib/hdb/Makefile.am: EXTRA_DIST += hdb.schema
234 2007-07-31  Love Hörnquist Åstrand  <lha@it.su.se>
236         * check return value of alloc functions, from Charles Longeau
238         * lib/krb5/principal.c: spelling.
240         * kadmin/kadmin.8: spelling
242         * lib/krb5/crypto.c: Check return values from alloc
243         functions. Prompted by patch of Charles Longeau.
245         * lib/krb5/n-fold.c: Make _krb5_n_fold return a error
246         code. Prompted by patch of Charles Longeau.
248 2007-07-27  Love Hörnquist Åstrand  <lha@it.su.se>
250         * lib/krb5/init_creds.c: Always set the ticket options, use
251         KRB5_ADDRESSLESS_DEFAULT as the default value, this make the unset
252         tri-state not so useful.
254 2007-07-24  Love Hörnquist Åstrand  <lha@it.su.se>
256         * tools/heimdal-gssapi.pc.in: Add LIB_pkinit to the list of
257         libraries.
259         * tools/heimdal-gssapi.pc.in: pkg-config file for libgssapi in
260         heimdal.
262         * tools/Makefile.am: Add heimdal-gssapi.pc and install it into
263         $(libdir)/pkgconfig
265 2007-07-23  Love Hörnquist Åstrand  <lha@it.su.se>
267         * lib/krb5/pkinit.c: Add RFC3526 modp group14 as a default.
269 2007-07-22  Love Hörnquist Åstrand  <lha@it.su.se>
271         * lib/hdb/dbinfo.c (get_dbinfo): use dbname instead of realm as
272         key if the entry is a correct entry.
274         * lib/krb5/get_cred.c: Make krb5_get_renewed_creds work, from
275         Gunther Deschner.
277         * lib/krb5/Makefile.am: Add test_renew to noinst_PROGRAMS.
279         * lib/krb5/test_renew.c: Test for krb5_get_renewed_creds.
281 2007-07-21  Love Hörnquist Åstrand  <lha@it.su.se>
283         * lib/hdb/keys.c: Make parse_key_set handle key set string "v5",
284         from Peter Meinecke.
286         * kdc/kaserver.c: Don't ovewrite the error code, from Peter
287         Meinecke.
289 2007-07-18  Love Hörnquist Åstrand  <lha@it.su.se>
291         * TODO-1.0: remove 
293         * Makefile.am: remove TODO-1.0
295 2007-07-17  Love Hörnquist Åstrand  <lha@it.su.se>
297         * Heimdal 1.0 release branch cut here
298         
299         * doc/hx509.texi: use version.texi
300         
301         * doc/heimdal.texi: use version.texi
302         
303         * doc/version.texi: version.texi
305         * lib/hdb/db3.c: avoid type-punned pointer warning.
307         * kdc/kx509.c: Use unsigned char * as argument to HMAC_Update to
308         please OpenSSL and gcc.
310         * kdc/digest.c: Use unsigned char * as argument to MD5_Update to
311         please OpenSSL and gcc.
313 2007-07-16  Love Hörnquist Åstrand  <lha@it.su.se>
315         * include/Makefile.am: Add krb_err.h.
317         * kdc/set_dbinfo.c: Print acl file too.
319         * kdc/kerberos4.c: Error codes are just fine, remove XXX now.
321         * lib/krb5/krb5-v4compat.h: Drop duplicate error codes.
323         * kdc/kerberos4.c: switch to ET errors.
325         * lib/krb5/Makefile.am: Add krb_err.h to build_HEADERZ.
327         * lib/krb5/v4_glue.c: If its a Kerberos 4 error-code, remove the
328         et BASE.
330 2007-07-15  Love Hörnquist Åstrand  <lha@it.su.se>
332         * lib/krb5/krb5-v4compat.h: Include "krb_err.h".
334         * lib/krb5/v4_glue.c: return more interesting error codes.
336         * lib/krb5/plugin.c: Prefix enum plugin_type.
338         * lib/krb5/krb5_locl.h: Expose plugin structures.
339         
340         * lib/krb5/krb5.h: Add plugin structures.
342         * lib/krb5/krb_err.et: V4 errors.
344         * lib/krb5/version-script.map: First version of version script.
346 2007-07-13  Love Hörnquist Åstrand  <lha@it.su.se>
348         * kdc/kerberos5.c: Java 1.6 expects the name to be the same type,
349         lets allow that for uncomplicated name-types.
351 2007-07-12  Love Hörnquist Åstrand  <lha@it.su.se>
353         * lib/krb5/v4_glue.c (_krb5_krb_rd_req): if ticket contains
354         address 0, its ticket less and don't really care about
355         from_addr. return better error codes.
357         * kpasswd/kpasswdd.c: Fix pointer vs strict alias rules.
359 2007-07-11  Love Hörnquist Åstrand  <lha@it.su.se>
361         * lib/hdb/hdb-ldap.c: When using sambaNTPassword, avoid adding
362         more then one enctype 23 to krb5EncryptionType.
364         * lib/krb5/cache.c: Spelling.
366         * kdc/kerberos5.c: Don't send newer enctypes in ETYPE-INFO.
367         (get_pa_etype_info2): return the enctypes as sorted in the
368         database
370 2007-07-10  Love Hörnquist Åstrand  <lha@it.su.se>
372         * kuser/kinit.c: krb5-v4compat.h defines prototypes for
373         v4 (semiprivate functions) in libkrb5, don't include
374         krb5-private.h any longer.
376         * lib/krb5/krbhst.c: Set error string when there is no KDC for a
377         realm.
379         * lib/krb5/Makefile.am: New library version.
381         * kdc/Makefile.am: New library version.
383         * lib/krb5/krb5_locl.h: Add default_cc_name_env.
385         * lib/krb5/cache.c (enviroment_changed): return non-zero if
386         enviroment that will determine default krb5cc name has changed.
387         (krb5_cc_default_name): also check if cached value is uptodate.
389         * lib/krb5/krb5_locl.h: Drop pkinit_flags.
391 2007-07-05  Love Hörnquist Åstrand  <lha@it.su.se>
393         * configure.in: add tests/java/Makefile
395         * lib/hdb/dbinfo.c: Add hdb_dbinfo_get_log_file.
397 2007-07-04  Love Hörnquist Åstrand  <lha@it.su.se>
399         * kdc/kerberos5.c: Improve the default salt detection to avoid
400         returning v4 password salting to java that doesn't look at the
401         returning padata for salting.
403         * kdc: Split out krb5_kdc_set_dbinfo, From Andrew Bartlett
405 2007-07-02  Love Hörnquist Åstrand  <lha@it.su.se>
407         * kdc/digest.c: Try harder to provide better error message for
408         digest messages.
410         * lib/krb5/Makefile.am: verify_krb5_conf_OBJECTS depends on
411         krb5-pr*.h, make -j finds this.
412         
413 2007-06-28  Love Hörnquist Åstrand  <lha@it.su.se>
415         * kdc/digest.c: On success, print username, not ip-adress.
417 2007-06-26  Love Hörnquist Åstrand  <lha@it.su.se>
419         * lib/krb5/get_cred.c: Add krb5_get_renewed_creds.
421         * lib/krb5/krb5_get_credentials.3: add krb5_get_renewed_creds
423         * lib/krb5/pkinit.c: Use hx509_cms_unwrap_ContentInfo.
424         
425 2007-06-25  Love Hörnquist Åstrand  <lha@it.su.se>
427         * doc/setup.texi: Add example for pkinit_win2k_require_binding
428         in [kdc] section.
430         * kdc/default_config.c: Rename require_binding to
431         win2k_require_binding to match client configuration.
433         * kdc/default_config.c: Add [kdc]pkinit_require_binding option.
435         * kdc/pkinit.c (pk_mk_pa_reply_enckey): only allow non-bound reply
436         if its not required.
438         * kdc/default_config.c: rename pkinit_princ_in_cert and add
439         pkinit_require_binding
441         * kdc/kdc.h: rename pkinit_princ_in_cert and add
442         pkinit_require_binding
444         * kdc/pkinit.c: rename pkinit_princ_in_cert
446 2007-06-24  Love Hörnquist Åstrand  <lha@it.su.se>
448         * lib/krb5/pkinit.c: Adapt to hx509_verify_hostname change.
450 2007-06-21  Love Hörnquist Åstrand  <lha@it.su.se>
452         * kdc/krb5tgs.c: Drop unused variable.
454         * kdc/krb5tgs.c: disable anonyous tgs requests
456         * kdc/krb5tgs.c: Don't check PAC on cross realm for now.
458         * kuser/kgetcred.c: Set KRB5_GC_CONSTRAINED_DELEGATION and parse
459         nametypes.
461         * lib/krb5/krb5_principal.3: Document krb5_parse_nametype.
463         * lib/krb5/principal.c (krb5_parse_nametype): parse nametype and
464         return their integer values.
466         * lib/krb5/krb5.h (krb5_get_creds): Add
467         KRB5_GC_CONSTRAINED_DELEGATION.
469         * lib/krb5/get_cred.c (krb5_get_creds): if
470         KRB5_GC_CONSTRAINED_DELEGATION is set, set both request_anonymous
471         and constrained_delegation.
473 2007-06-20  Love Hörnquist Åstrand  <lha@it.su.se>
475         * kdc/digest.c: Return an error message instead of dropping the
476         packet for more failure cases.
478         * lib/krb5/krb5_principal.3: Add KRB5_PRINCIPAL_UNPARSE_DISPLAY.
480         * appl/gssmask/gssmask.c (AcquirePKInitCreds): fail more
481         gracefully
482         
483 2007-06-18  Love Hörnquist Åstrand  <lha@it.su.se>
485         * lib/krb5/pac.c: make compile.
486         
487         * lib/krb5/pac.c (verify_checksum): memset cksum to avoid using
488         pointer from stack.
490         * lib/krb5/plugin.c: Don't expose free pointer.
492         * lib/krb5/pkinit.c (_krb5_pk_load_id): fail directoy for first
493         calloc.
494         
495         * lib/krb5/pkinit.c (get_reply_key*): don't expose freed memory
497         * lib/krb5/krbhst.c: Host is static memory, don't free.
499         * lib/krb5/crypto.c (decrypt_internal_derived): make sure length
500         is longer then confounder + checksum.
502         * kdc: export get_dbinfo as krb5_kdc_set_dbinfo and call from
503         users. This to allows libkdc users to to specify their own
504         databases
506         * lib/krb5/pkinit.c (pk_rd_pa_reply_enckey): simplify handling of
507         content data (and avoid leaking memory).
509         * kdc/misc.c (_kdc_db_fetch): set error string for failures.
510         
511 2007-06-15  Love Hörnquist Åstrand  <lha@it.su.se>
513         * kdc/pkinit.c: Use KRB5_AUTHDATA_INITIAL_VERIFIED_CAS.
515 2007-06-13  Love Hörnquist Åstrand  <lha@it.su.se>
517         * kdc/pkinit.c: tell user when they got a pk-init request with
518         pkinit disabled.
520 2007-06-12  Love Hörnquist Åstrand  <lha@it.su.se>
521         
522         * lib/krb5/principal.c: Rename UNPARSE_NO_QUOTE to
523         UNPARSE_DISPLAY.
525         * lib/krb5/krb5.h: Rename UNPARSE_NO_QUOTE to UNPARSE_DISPLAY.
527         * lib/krb5/principal.c: Make no-quote mean replace strange chars
528         with space.
530         * lib/krb5/principal.c: Support KRB5_PRINCIPAL_UNPARSE_NO_QUOTE.
532         * lib/krb5/krb5.h: Add KRB5_PRINCIPAL_UNPARSE_NO_QUOTE.
534         * lib/krb5/test_princ.c: Test quoteing.
536         * lib/krb5/pkinit.c: update (c)
537         
538         * lib/krb5/get_cred.c: use krb5_sendto_context to talk to the KDC.
540         * lib/krb5/send_to_kdc.c (_krb5_kdc_retry): check if the whole
541         process needs to restart or just skip this KDC.
543         * lib/krb5/init_creds_pw.c: Use krb5_sendto_context to talk to
544         KDC.
546         * lib/krb5/krb5.h: Add sendto hooks and opaque structure.
548         * lib/krb5/krb5_rd_error.3: Update prototype.
550         * lib/krb5/send_to_kdc.c: Add hooks for processing the reply from
551         the server.
552         
553 2007-06-11  Love Hörnquist Åstrand  <lha@it.su.se>
555         * lib/krb5/krb5_err.et: Some new error codes from RFC 4120.
556         
557 2007-06-09  Love Hörnquist Åstrand  <lha@it.su.se>
559         * kdc/krb5tgs.c: Constify.
561         * kdc/kerberos5.c: Constify.
563         * kdc/pkinit.c: Check for KRB5-PADATA-PK-AS-09-BINDING. Constify.
565 2007-06-08  Love Hörnquist Åstrand  <lha@it.su.se>
567         * include/Makefile.am: Make krb5-types.h nodist_include_HEADERS.
569         * kdc/Makefile.am: EXTRA_DIST += version-script.map.
570         
571 2007-06-07  Love Hörnquist Åstrand  <lha@it.su.se>
572         
573         * Makefile.am (print-distdir): print name of dist
575         * kdc/pkinit.c: Break out loading of mappings file to a separate
576         function and remove warning that it can't open the mapping file,
577         there are now mappings in the db, maybe the users uses that
578         instead...
580         * lib/krb5/crypto.c: Require the raw key have the correct size and
581         do away with the minsize.  Minsize was a thing that originated
582         from RC2, but since RC2 is done in the x509/cms subsystem now
583         there is no need to keep that around.
585         * lib/hdb/dbinfo.c: If there is no default dbname, also check for
586         unset mkey_file and set it default mkey name, make backward compat
587         stuff work.
589         * kdc/version-script.map: add new symbols
591         * kdc/kdc-replay.c: Also update krb5_context view of what the time
592         is.
594         * configure.in: add tests/can/Makefile
596         * kdc/kdc-replay.c: Add --[version|help].
598         * kdc/pkinit.c: Push down the kdc time into the x509 library.
600         * kdc/connect.c: Move up krb5_kdc_save_request so we can catch the
601         reply data too.
603         * kdc/kdc-replay.c: verify reply by checking asn1 class, type and
604         tag of the reply if there is one.
606         * kdc/process.c: Save asn1 class, type and tag of the reply if
607         there is one. Used to verify the reply in kdc-replay.
609 2007-06-06  Love Hörnquist Åstrand  <lha@it.su.se>
611         * kdc/kdc_locl.h: extern for request_log.
613         * kdc/Makefile.am: Add kdc-replay.
615         * kdc/kdc-replay.c: Replay kdc messages to the KDC library.
617         * kdc/config.c: Pick up request_log from [kdc]kdc-request-log.
619         * kdc/connect.c: Option to save the request to disk.
621         * kdc/process.c (krb5_kdc_save_request): save request to file.
623         * kdc/process.c (krb5_kdc_process*): dont update _kdc_time
624         automagicly.
625         (krb5_kdc_update_time): set or get current kdc-time.
627         * kdc/pkinit.c (_kdc_pk_rd_padata): accept both pkcs-7 and
628         pkauthdata as the signeddata oid
629         
630         * kdc/pkinit.c (_kdc_pk_rd_padata): Try to log what went wrong.
632 2007-06-05  Love Hörnquist Åstrand  <lha@it.su.se>
633         
634         * kdc/pkinit.c: Use oid_id_pkcs7_data for pkinit-9 encKey reply to
635         match windows DC behavior better.
636         
637 2007-06-04  Love Hörnquist Åstrand  <lha@it.su.se>
639         * configure.in: use test for -framework Security
641         * appl/test/uu_server.c: Print status to stdout.
643         * kdc/digest.c (digest ntlm): provide log entires by setting ret
644         to an error.
645         
646 2007-06-03  Love Hörnquist Åstrand  <lha@it.su.se>
648         * doc/hx509.texi: Indent crl-sign.
650         * doc/hx509.texi: One more crl-sign example.
652         * lib/krb5/test_princ.c: plug memory leaks.
654         * lib/krb5/pac.c: plug memory leaks.
656         * lib/krb5/test_pac.c: plug memory leaks.
658         * lib/krb5/test_prf.c: plug memory leak.
660         * lib/krb5/test_cc.c: plug memory leaks.
662         * doc/hx509.texi: Simple blob about publishing CRLs.
664         * doc/win2k.texi: drop text about enctypes.
665         
666 2007-06-02  Love Hörnquist Åstrand  <lha@it.su.se>
668         * kdc/pkinit.c: In case of OCSP verification failure, referash
669         every 5 min. In case of success, refreash 2 min before expiring or
670         faster.
671         
672 2007-05-31  Love Hörnquist Åstrand  <lha@it.su.se>
673         
674         * lib/krb5/krb5_err.et: add error 68, WRONG_REALM
676         * kdc/pkinit.c: Handle the ms san in a propper way, still cheat
677         with the realm name.
679         * kdc/kerberos5.c: If _kdc_pk_check_client failes, bail out
680         directly and hand the error back to the client.
682         * lib/krb5/krb5_err.et: Add missing REVOCATION_STATUS_UNAVAILABLE
683         and fix error message for CLIENT_NAME_MISMATCH.
685         * kdc/pkinit.c: More logging for pk-init client mismatch.
687         * kdc/kerberos5.c: Also add a KRB5_PADATA_PK_AS_REQ_WIN for
688         windows pk-init (-9) to make MIT clients happy.
689         
690 2007-05-30  Love Hörnquist Åstrand  <lha@it.su.se>
691         
692         * kdc/pkinit.c: Force des3 for win2k.
694         * kdc/pkinit.c: Add wrapping to ContentInfo wrapping to
695         COMPAT_WIN2K.
697         * lib/krb5/keytab_keyfile.c: Spelling.
699         * kdc/pkinit.c: Allow matching by MS UPN SAN, note that this delta
700         doesn't deal with case of realm.
701         
702 2007-05-16  Love Hörnquist Åstrand  <lha@it.su.se>
704         * lib/krb5/crypto.c (krb5_crypto_overhead): return static overhead
705         of encryption.
706         
707 2007-05-10  Dave Love  <fx@gnu.org>
708         
709         * doc/win2k.texi: Update some URLs.
711 2007-05-13  Love Hörnquist Åstrand  <lha@it.su.se>
713         * kuser/kimpersonate.c: Fix version number of ticket, it should be
714         5 not the kvno.
715         
716 2007-05-08  Love Hörnquist Åstrand  <lha@it.su.se>
718         * doc/setup.texi: Salting is really Encryption types and salting.
719         
720 2007-05-07  Love Hörnquist Åstrand  <lha@it.su.se>
721         
722         * doc/setup.texi: spelling, from Ronny Blomme
724         * doc/win2k.texi: Fix ksetup /SetComputerPassword, from Ronny
725         Blomme
726         
727 2007-05-02  Love Hörnquist Åstrand  <lha@it.su.se>
729         * lib/hdb/dbinfo.c (hdb_get_dbinfo) If there are no database
730         specified, create one and let it use the defaults.
731         
732 2007-04-27  Love Hörnquist Åstrand  <lha@it.su.se>
733         
734         * lib/hdb/test_dbinfo.c: test acl file
736         * lib/hdb/test_dbinfo.c: test acl file
738         * lib/hdb/dbinfo.c: add acl file
740         * etc: ignore Makefile.in
742         * Makefile.am: SUBDIRS += etc
744         * configure.in: Add etc/Makefile.
746         * etc/Makefile.am: make sure services.append is distributed
748 2007-04-24  Love Hörnquist Åstrand  <lha@it.su.se>
750         * kdc: rename windc_init to krb5_kdc_windc_init
752         * kdc/version-script.map: version script for libkdc
753         
754         * kdc/Makefile.am: version script for libkdc
755         
756 2007-04-23  Love Hörnquist Åstrand  <lha@it.su.se>
758         * lib/krb5/init_creds.c (krb5_get_init_creds_opt_get_error):
759         correct the order of the arguments.
761         * lib/hdb/Makefile.am: Add and test dbinfo.
763         * lib/hdb/hdb.h: Forward declaration for struct hdb_dbinfo;
765         * kdc/config.c: Use krb5_kdc_get_config and just fill in what the
766         users wanted differently.
768         * kdc/default_config.c: Make the default configuration fetch info
769         from the krb5.conf.
770         
771 2007-04-22  Love Hörnquist Åstrand  <lha@it.su.se>
773         * lib/krb5/store.c (krb5_store_creds_tag): use session.keytype to
774         determine if to send the session-key, for the second place in the
775         function.
777         * tools/krb5-config.in: rename des to hcrypto
779         * kuser/Makefile.am: depend on libheimntlm
781         * kuser/kinit.c: Add --ntlm-domain that store the ntlm cred for
782         this domain if the Kerberos password auth worked.
784         * kuser/klist.c: add new option --hidden that doesn't display
785         principal that starts with @
787         * tools/krb5-config.in: Add heimntlm when we use gssapi.
789         * lib/krb5/krb5_ccache.3 (krb5_cc_retrieve_cred): document what to
790         free 'cred' with.
792         * lib/krb5/cache.c (krb5_cc_retrieve_cred): document what to free
793         'cred' with.
794         
795 2007-04-21  Love Hörnquist Åstrand  <lha@it.su.se>
797         * lib/krb5/store.c (krb5_store_creds_tag): use session.keytype to
798         determine if to send the session-key.
800         * kcm/client.c (kcm_ccache_new_client): make root be able to pass
801         the name constraints, not the opposite. From Bryan Jacobs.
802         
803 2007-04-20  Love Hörnquist Åstrand  <lha@it.su.se>
805         * kcm/acl.c: make compile again.
807         * kcm/client.c: fix warning.
808         
809         * kcm: First, it allows root to ignore the naming conventions.
810         Second, it allows root to always perform any operation on any
811         ccache.  Note that root could do this anyway with FILE ccaches.
812         From Bryan Jacobs.
814         * Rename libdes to libhcrypto.
816 2007-04-19  Love Hörnquist Åstrand  <lha@it.su.se>
818         * kinit: remove code that depend on kerberos 4 library
819         
820         * kdc: remove code that depend on kerberos 4 library
821         
822         * configure.in: Drop kerberos 4 support.
824         * kdc/hpropd.c (main): free the message when done with it.
826         * lib/krb5/pkinit.c (_krb5_get_init_creds_opt_free_pkinit):
827         remember to free memory too.
829         * lib/krb5/pkinit.c (pk_rd_pa_reply_dh): free content-type when
830         done.
832         * configure.in: test rk_VERSIONSCRIPT
833         
834 2007-04-18  Love Hörnquist Åstrand  <lha@it.su.se>
836         * fix-export: remove, all done by make dist now
838 2007-04-15  Love Hörnquist Åstrand  <lha@it.su.se>
840         * lib/krb5/krb5_get_credentials.3: spelling, from Jason McIntyre
842 2007-04-11  Love Hörnquist Åstrand  <lha@it.su.se>
844         * kdc/kstash.8: Spelling, from raga <raga@comcast.net> 
845         via Bjorn Sandell.
847         * lib/krb5/store_mem.c: indent.
849         * lib/krb5/recvauth.c: Set error string.
851         * lib/krb5/rd_req.c: clear error strings.
853         * lib/krb5/rd_cred.c: clear error string.
855         * lib/krb5/pkinit.c: Set error strings.
857         * lib/krb5/get_cred.c: Tell what principal we are not finding for
858         all KRB5_CC_NOTFOUND.
859         
860 2007-02-22  Love Hörnquist Åstrand  <lha@it.su.se>
861         
862         * kdc/kerberos5.c: Return the same error codes as a windows KDC.
864         * kuser/kinit.c: KRB5KDC_ERR_PREAUTH_FAILED is also a password
865         failed.
866         
867         * kdc/kerberos5.c: Make handling of replying e_data more generic,
868         from metze.
870         * kdc/kerberos5.c: Fix (string const and shadow) warnings, from
871         metze.
873         * lib/krb5/pac.c: Create the PAC element in the same order as
874         w2k3, maybe there's some broken code in windows which relies on
875         this... From metze.
877         * kdc/kerberos5.c: Select a session enctype from the list of the
878         crypto systems supported enctype, is supported by the client and
879         is one of the enctype of the enctype of the krbtgt.
880         
881         The later is used as a hint what enctype all KDC are supporting to
882         make sure a newer version of KDC wont generate a session enctype
883         that and older version of a KDC in the same realm can't decrypt.
884         
885         But if the KDC admin is paranoid and doesn't want to have "no the
886         best" enctypes on the krbtgt, lets save the best pick from the
887         client list and hope that that will work for any other KDCs.
888         
889         Reported by metze.
891         * kdc/hprop.c (propagate_database): on any failure, drop the
892         connection to the peer and try next one.
893         
894 2007-02-18  Love Hörnquist Åstrand  <lha@it.su.se>
896         * lib/krb5/krb5_get_init_creds.3: document new options.
898         * kdc/krb5tgs.c: Only check service key for cross realm PACs.
900         * lib/krb5/init_creds.c: use the new merged flags field.
901         (krb5_get_init_creds_opt_set_win2k): new function, turn on all w2k
902         compat flags.
904         * lib/krb5/init_creds_pw.c: use the new merged flags field.
906         * lib/krb5/krb5_locl.h: merge all flags into one entity
907         
908 2007-02-11  Dave Love  <fx@gnu.org>
909         
910         * lib/krb5/krb5_aname_to_localname.3: Small fixes
911         
912         * lib/krb5/krb5_digest.3: Small fixes
913         
914         * kuser/kimpersonate.1: Small fixes
916 2007-02-17  Love Hörnquist Åstrand  <lha@it.su.se>
918         * lib/krb5/init_creds_pw.c (find_pa_data): if there is no list,
919         there is no entry.
921         * kdc/krb5tgs.c: Don't check PACs on cross realm requests.
923         * lib/krb5/krb5.h: add KRB5_KU_CANONICALIZED_NAMES.
925         * lib/krb5/init_creds_pw.c: Verify client referral data.
927         * kdc/kerberos5.c: switch some "return ret" to "goto out".
928         
929         * kdc/kerberos5.c: Pass down canonicalize request to hdb layer,
930         sign client referrals.
931         
932         * lib/hdb/hdb.h: Add HDB_F_CANON.
934         * lib/hdb: add simple alias support to the database backends
936 2007-02-16  Love Hörnquist Åstrand  <lha@it.su.se>
938         * kuser/kinit.c: Add canonicalize flag.
940         * lib/krb5/init_creds_pw.c: Use EXTRACT_TICKET_* flags, support
941         canonicalize.
943         * lib/krb5/init_creds.c (krb5_get_init_creds_opt_set_canonicalize):
944         new function.
945         
946         * lib/krb5/get_cred.c: Use EXTRACT_TICKET_* flags.
948         * lib/krb5/get_in_tkt.c: Use EXTRACT_TICKET_* flags.
950         * lib/krb5/krb5_locl.h: Add EXTRACT_TICKET_* flags.
951         
952 2007-02-15  Love Hörnquist Åstrand  <lha@it.su.se>
954         * lib/krb5/test_princ.c: test parsing enterprise-names.
956         * lib/krb5/principal.c: Add support for parsing enterprise-names.
958         * lib/krb5/krb5.h: Add KRB5_PRINCIPAL_PARSE_ENTERPRISE.
960         * lib/hdb/hdb-ldap.c: Make work again.
961         
962 2007-02-11  Dave Love  <fx@gnu.org>
964         * kcm/client.c (kcm_ccache_new_client): Cast snprintf'ed value.
965         
966 2007-02-10  Love Hörnquist Åstrand  <lha@it.su.se>
967         
968         * doc/setup.texi: prune trailing space
970         * lib/hdb/db.c: Be better at setting and clearing error string.
972         * lib/hdb/hdb.c: Be better at setting and clearing error string.
974 2007-02-09  Love Hörnquist Åstrand  <lha@it.su.se>
976         * lib/krb5/keytab.c (krb5_kt_get_entry): Use krb5_kt_get_full_name
977         to print out the keytab name.
979         * doc/setup.texi: Spelling, from Guido Guenther
980         
981 2007-02-08  Love Hörnquist Åstrand  <lha@it.su.se>
983         * lib/krb5/rd_cred.c: Plug memory leak, from Michael B Allen.
985 2007-02-06  Love Hörnquist Åstrand  <lha@it.su.se>
987         * lib/krb5/test_store.c (test_uint16): unsigned ints can't be
988         negative
989         
990 2007-02-03  Love Hörnquist Åstrand  <lha@it.su.se>
992         * kdc/pkinit.c: pass extra flags for detached signatures.
994         * lib/krb5/pkinit.c: pass extra flags for detached signatures.
996         * kdc/digest.c: Remove debug output.
998         * kuser/kdigest.c: Add support for ms-chap-v2 client.
999         
1000 2007-02-02  Love Hörnquist Åstrand  <lha@it.su.se>
1001                 
1002         * kdc/digest.c: Fix ms-chap-v2 get_masterkey
1004         * kdc/digest.c: Fix ms-chap-v2 mutual response auth code.
1006         * kuser/kdigest.c: Print session key if there is one.
1008         * lib/krb5/digest.c: rename hash-a1 to session key
1010         * kdc/digest.c: Add get_master from RFC 3079 3.4 for MS-CHAP-V2
1012         * kuser/kdigest.c: print rsp if there is one, from Klas.
1014         * kdc/digest.c: Use right size, from Klas Lindfors.
1016         * kuser/kdigest.c: Set client nonce if avaible, from Klas.
1018         * kdc/digest.c: First version from kllin.
1020         * kuser/kdigest.c: Don't restrict the type.
1021         
1022 2007-02-01  Love Hörnquist Åstrand  <lha@it.su.se>
1023         
1024         * kuser/kdigest-commands.in: add --client-response
1026         * kuser/kdigest.c: Print status instead of response.
1028         * kdc/digest.c: Better logging and return status = FALSE when
1029         checksum doesn't match.
1031         * kdc/digest.c: Check the digest response in the KDC.
1033         * lib/krb5/digest.c: New functions to send in requestResponse to
1034         KDC and get status of the request.
1036         * kdc/digest.c: Add support for MS-CHAP v2.
1038         * lib/hdb/hdb-ldap.c: Set hdb->hdb_db for ldap.
1039         
1040 2007-01-31  Love Hörnquist Åstrand  <lha@it.su.se>
1042         * fix-export: Make hx509.info too
1044         * kdc/digest.c: don't verify identifier in CHAP, its the client
1045         that chooses it.
1046         
1047 2007-01-23  Love Hörnquist Åstrand  <lha@it.su.se>
1049         * lib/krb5/Makefile.am: Basic test of prf.
1051         * lib/krb5/test_prf.c: Basic test of prf.
1053         * lib/krb5/mit_glue.c: Add MIT glue for Kerberos RFC 3961 PRF
1054         functions.
1056         * lib/krb5/crypto.c: Add Kerberos RFC 3961 PRF functions.
1058         * lib/krb5/krb5_data.3: Document krb5_data_cmp.
1060         * lib/krb5/data.c: Add krb5_data_cmp.
1061         
1062 2007-01-20  Love Hörnquist Åstrand  <lha@it.su.se>
1064         * kdc/kx509.c: Don't use C99 syntax.
1065         
1066 2007-01-17  Love Hörnquist Åstrand  <lha@it.su.se>
1067         
1068         * configure.in: its LIBADD_roken (and shouldn't really exist, our
1069         libtool usage it broken)
1071         * configure.in: Add an extra variable for roken, LIBADD, that
1072         should be used for library depencies.
1074         * lib/krb5/send_to_kdc.c (krb5_sendto): zero out receive buffer.
1076         * lib/krb5/krb5_init_context.3: fix mdoc errors
1078         * Heimdal 0.8 branch cut today
1080         * doc/hx509.texi: Spelling and more about proxy certificates.
1082         * configure.in: check for arc4random
1083         
1084 2007-01-16  Love Hörnquist Åstrand  <lha@it.su.se>
1085         
1086         * lib/krb5/send_to_kdc.c (krb5_sendto): zero receive krb5_data
1087         before starting
1089         * tools/heimdal-build.sh: make cvs keep quiet
1091         * kuser/kverify.c: Use argument as principal if passed an
1092         argument. Bug report from Douglas E. Engert
1093         
1094 2007-01-15  Love Hörnquist Åstrand  <lha@it.su.se>
1095         
1096         * lib/krb5/rd_req.c (krb5_rd_req_ctx): The code failed to consider
1097         the enc_tkt_in_skey case, from Douglas E. Engert.
1099         * kdc/kx509.c: Issue certificates.
1101         * kdc/config.c: Parse kx509/kca configuration.
1103         * kdc/kdc.h: add kx509 config
1104         
1105 2007-01-14  Love Hörnquist Åstrand  <lha@it.su.se>
1106         
1107         * kdc/kerberos5.c (_kdc_find_padata): if there is not padata,
1108         there is nothing find.
1110         * doc/hx509.texi: Examples for pk-init.
1112         * doc/hx509.texi: About extending ca lifetime and sub cas.
1113         
1114 2007-01-13  Love Hörnquist Åstrand <lha@it.su.se>
1115         
1116         * doc/hx509.texi: More about certificates.
1117         
1118 2007-01-12  Love Hörnquist Åstrand  <lha@it.su.se>
1120         * doc/hx509.texi: add Application requirements and write about
1121         xmpp/jabber.
1122         
1123 2007-01-11  Love Hörnquist Åstrand  <lha@it.su.se>
1125         * doc/hx509.texi: More about issuing certificates.
1127         * doc/hx509.texi: Start of a x.509 manual.
1129         * include/Makefile.am: remove install headerfiles
1131         * lib/krb5/test_pac.c: Use more interesting data to cause more
1132         errors.
1134         * include/Makefile.am: remove install headerfiles
1136         * lib/krb5/mcache.c: MCC_CURSOR not used, remove.
1138         * lib/krb5/crypto.c: macro kcrypto_oid_enc now longer used
1140         * lib/krb5/rd_safe.c (krb5_rd_safe): set length before trying to
1141         allocate data
1142         
1143 2007-01-10  Love Hörnquist Åstrand  <lha@it.su.se>
1144         
1145         * doc/setup.texi: Hint about hxtool validate.
1147         * appl/test/uu_server.c: print both "server" and "client"
1149         * kdc/krb5tgs.c: Rename keys to be more obvious what they do.
1151         * kdc/kerberos5.c: Use other keys to sign PAC with. From Andrew
1152         Bartlett
1153         
1154         * kdc/windc.c: ident, spelling.
1156         * kdc/windc_plugin.h: indent.
1158         * kdc/krb5tgs.c: Pass down server entry to verify_pac function.
1159         from Andrew Bartlett
1161         * kdc/windc.c: pass down server entry to verify_pac function, from
1162         Andrew Bartlett
1164         * kdc/windc_plugin.h: pass down server entry to verify_pac
1165         function, from Andrew Bartlett
1167         * configure.in: Provide a automake symbol ENABLE_SHARED if shared
1168         libraries are built.
1170         * lib/krb5/rd_req.c (krb5_rd_req_ctx): Use the correct keyblock
1171         when verifying the PAC.  From Andrew Bartlett.
1172         
1173 2007-01-09  Love Hörnquist Åstrand  <lha@it.su.se>
1175         * lib/krb5/test_pac.c: move around to code test on real PAC.
1177         * lib/krb5/pac.c: A tiny 2 char diffrence that make the code work
1178         for real.
1180         * lib/krb5/test_pac.c: Test more PAC (note that the values used in
1181         this test is wrong, they have to be fixed when the pac code is
1182         fixed).
1184         * doc/setup.texi: Update to new hxtool issue-certificate usage
1186         * lib/krb5/init_creds_pw.c: Make sure we don't sent both ENC-TS
1187         and PK-INIT pa data, no need to expose our password protecting our
1188         PKCS12 key.
1190         * kuser/klist.c (print_cred_verbose): include ticket length in the
1191         verbose output
1192         
1193 2007-01-08  Love Hörnquist Åstrand  <lha@it.su.se>
1194         
1195         * lib/krb5/acache.c (loadlib): pass RTLD_LAZY to dlopen, without
1196         it linux is unhappy.
1198         * lib/krb5/plugin.c (loadlib): pass RTLD_LAZY to dlopen, without
1199         it linux is unhappy.
1201         * lib/krb5/name-45-test.c: One of the hosts I sometimes uses is
1202         named "bar.domain", this make one of the tests pass when it
1203         shouldn't.
1205 2007-01-05  Love Hörnquist Åstrand  <lha@it.su.se>
1207         * doc/setup.texi: Change --key argument to --out-key.
1209         * kuser/kimpersonate.1: mangle my name
1210         
1211 2007-01-04  Love Hörnquist Åstrand  <lha@it.su.se>
1212         
1213         * doc/setup.texi: describe how to use hx509 to create
1214         certificates.
1216         * tools/heimdal-build.sh: Add --distcheck.
1218         * kdc/kerberos5.c: Check for KRB5_PADATA_PA_PAC_REQUEST to check
1219         if we should include the PAC in the krbtgt.
1221         * kdc/pkinit.c (_kdc_as_rep): check if
1222         krb5_generate_random_keyblock failes.
1224         * kdc/kerberos5.c (_kdc_as_rep): check if
1225         krb5_generate_random_keyblock failes.
1227         * kdc/krb5tgs.c (tgs_build_reply): check if
1228         krb5_generate_random_keyblock failes.
1230         * kdc/krb5tgs.c: Scope etype.
1232         * lib/krb5/rd_req.c: Make it possible to turn off PAC check, its
1233         default on.
1235         * lib/krb5/rd_req.c (krb5_rd_req_ctx): If there is a PAC, verify
1236         its server signature.
1238         * kdc/kerberos5.c (_kdc_as_rep): call windc client access hook.
1239         (_kdc_tkt_add_if_relevant_ad): constify in data argument.
1241         * kdc/windc_plugin.h: More comments add a client_access hook.
1243         * kdc/windc.c: Add _kdc_windc_client_access.
1245         * kdc/krb5tgs.c: rename functions after export some more pac
1246         functions.
1248         * lib/krb5/test_pac.c: export some more pac functions.
1250         * lib/krb5/pac.c: export some more pac functions.
1252         * kdc/krb5tgs.c: Resign the PAC in tgsreq if we have a PAC.
1254         * configure.in: add tests/plugin/Makefile
1255         
1256 2007-01-03  Love Hörnquist Åstrand  <lha@it.su.se>
1258         * kdc/krb5tgs.c: Get right key for PAC krbtgt verification.
1260         * kdc/config.c: spelling
1262         * lib/krb5/krb5.h: typedef for krb5_pac.
1264         * kdc/headers.h: Include <windc_plugin.h>.
1266         * kdc/Makefile.am: Include windc.c and use windc_plugin.h
1268         * kdc/krb5tgs.c: Call callbacks for emulating a Windows Domain
1269         Controller.
1271         * kdc/kerberos5.c: Call callbacks for emulating a Windows Domain
1272         Controller.  Move the some of the log related stuff to its own
1273         function.
1275         * kdc/config.c: Init callbacks for emulating a Windows Domain
1276         Controller.
1278         * kdc/windc.c: Rename the init function to windc instead of pac.
1280         * kdc/windc.c: Callbacks specific to emulating a Windows Domain
1281         Controller.
1283         * kdc/windc_plugin.h: Callbacks specific to emulating a Windows
1284         Domain Controller.
1286         * lib/krb5/Makefile.am: add krb5_HEADERS to build_HEADERZ
1288         * lib/krb5/pac.c: Support all keyed checksum types.
1289         
1290 2007-01-02  Love Hörnquist Åstrand  <lha@it.su.se>
1291         
1292         * lib/krb5/pac.c (krb5_pac_get_types): Return list of types.
1293         
1294         * lib/krb5/test_pac.c: test krb5_pac_get_types
1296         * lib/krb5/krbhst.c: Add KRB5_KRBHST_KCA.
1298         * lib/krb5/krbhst.c: Add KRB5_KRBHST_KCA.
1300         * lib/krb5/krb5.h: Add KRB5_KRBHST_KCA.
1302         * lib/krb5/test_pac.c: test Add/remove pac buffer functions.
1304         * lib/krb5/pac.c: Add/remove pac buffer functions.
1306         * lib/krb5/pac.c: sprinkle const
1308         * lib/krb5/pac.c: rename DCHECK to CHECK
1309         
1310         * Happy New Year.