Use hdb_db_dir().
[heimdal.git] / ChangeLog
blob8b09a0d10a90a556908e82840ff3f978570d062d
1 2007-12-08  Love Hörnquist Åstrand  <lha@it.su.se>
3         * lib/krb5/verify_krb5_conf.c: Check check_pac.
5         * lib/krb5/rd_req.c: use KRB5_CTX_F_CHECK_PAC to init check_pac
6         field in the krb5_rd_req_in_ctx
8         * lib/krb5/expand_hostname.c: Adapt to changing
9         dns_canonicalize_hostname into flags field.
11         * lib/krb5/context.c: Adapt to changing dns_canonicalize_hostname
12         into flags field, add check-pac as an libdefaults option.
14         * lib/krb5/pkinit.c: Adapt to changes in hx509 interface.
16         * doc: add doxygen documentation to hcrypto
18         * doc/doxytmpl.dxy: generate links
19         
20 2007-12-07  Love Hörnquist Åstrand  <lha@it.su.se>
22         * lib/krb5/Makefile.am: build_HEADERZ += heim_threads.h
24         * lib/hdb/dbinfo.c (hdb_db_dir): Return the directory where the
25         hdb database resides.
27         * configure.in: Add --with-hdbdir to specify where the database is
28         stored.
30         * lib/krb5/crypto.c: revert previous patch, the problem is located
31         in the RAND_file_name() function that will cause recursive nss
32         lookups, can't fix that here.
34 2007-12-06  Love Hörnquist Åstrand  <lha@it.su.se>
36         * lib/krb5/crypto.c (krb5_generate_random_block): try to avoid the
37         dead-lock in by not holding the lock while running
38         RAND_file_name. Prompted by Hai Zaar.
40         * lib/krb5/n-fold.c: spelling
41         
42 2007-12-04  Love Hörnquist Åstrand  <lha@it.su.se>
44         * kuser/kdigest.c (digest-probe): implement command.
46         * kuser/kdigest-commands.in (digest-probe): new command
47         
48         * kdc/digest.c: Implement supportedMechs request.
50         * lib/krb5/error_string.c: Make krb5_get_error_string return an
51         allocated string to make the function indempotent. From
52         Zeqing (Fred) Xia.
54 2007-12-03  Love Hörnquist Åstrand  <lha@it.su.se>
56         * lib/krb5/krb5_locl.h (krb5_context_data): Flag if
57         default_cc_name was set by the user.
59         * lib/krb5/fcache.c (fcc_move): make sure ->version is uptodate.
61         * kcm/acquire.c: use krb5_free_cred_contents
63         * kuser/kimpersonate.c: use krb5_free_cred_contents
64         
65         * kuser/kinit.c: Use krb5_cc_move to make an atomic switch of the
66         cred cache.
68         * lib/krb5/cache.c: Put back code that was needed, move gen_new
69         into new_unique.
71         * lib/krb5/mcache.c (mcc_default_name): Remove const
73         * lib/krb5/krb5_locl.h: Add KRB5_DEFAULT_CCNAME_KCM, redefine
74         KRB5_DEFAULT_CCNAME to KRB5_DEFAULT_CCTYPE
76         * lib/krb5/cache.c: Use krb5_cc_ops->default_name to get the
77         default name.
79         * lib/krb5/kcm.c: Implement krb5_cc_ops->default_name.
81         * lib/krb5/mcache.c: Implement krb5_cc_ops->default_name.
83         * lib/krb5/fcache.c: Implement krb5_cc_ops->default_name.
85         * lib/krb5/krb5.h: Add krb5_cc_ops->default_name.
87         * lib/krb5/acache.c: Free context when done, implement
88         krb5_cc_ops->default_name.
90         * lib/krb5/kcm.c: implement dummy kcm_move
92         * lib/krb5/mcache.c: Implement the move operation.
94         * lib/krb5/version-script.map: export krb5_cc_move
96         * lib/krb5/cache.c: New function krb5_cc_move().
98         * lib/krb5/fcache.c: Implement the move operation.
100         * lib/krb5/krb5.h: Add move to the krb5_cc_ops, causes major
101         version bump.
103         * lib/krb5/acache.c: Implement the move operation. Avoid using
104         cc_set_principal() since it broken on Mac OS X 10.5.0.
105         
106 2007-12-02  Love Hörnquist Åstrand  <lha@it.su.se>
108         * lib/krb5/krb5_ccapi.h: Drop variable names to avoid -Wshadow.
109         
110 2007-11-14  Love Hörnquist Åstrand  <lha@it.su.se>
112         * kdc/krb5tgs.c: Should pass different key usage constants
113         depending on whether or not optional sub-session key was passed by
114         the client for the check of authorization data. The constant is
115         used to derive "specific key" and its values are specified in
116         7.5.1 of RFC4120.
117         
118         Patch from Andy Polyakov.
120         * kdc/krb5tgs.c: Don't send auth data in referrals, microsoft
121         clients have started to not like that. Thanks to Andy Polyakov for
122         excellent research.
124 2007-11-11  Love Hörnquist Åstrand  <lha@it.su.se>
126         * lib/krb5/creds.c: use krb5_data_cmp
128         * lib/krb5/acache.c: use krb5_free_cred_contents
130         * lib/krb5/test_renew.c: use krb5_free_cred_contents
131         
132 2007-11-10  Love Hörnquist Åstrand  <lha@it.su.se>
134         * lib/krb5/acl.c: doxygen documentation
136         * lib/krb5/addr_families.c: doxygen documentation
138         * doc: add doxygen
140         * lib/krb5/plugin.c: doxygen documentation
142         * lib/krb5/kcm.c: doxygen documentation
144         * lib/krb5/fcache.c: doxygen documentation
146         * lib/krb5/cache.c: doxygen documentations
147         
148         * lib/krb5/doxygen.c: doxygen introduction
150         * lib/krb5/error_string.c: Doxygen documentation.
152 2007-11-03  Love Hörnquist Åstrand  <lha@it.su.se>
154         * lib/krb5/test_plugin.c: expose krb5_plugin_register
156         * lib/krb5/plugin.c: expose krb5_plugin_register
158         * lib/krb5/version-script.map: sort, expose krb5_plugin_register
160 2007-10-24  Love Hörnquist Åstrand  <lha@it.su.se>
162         * kdc/kerberos5.c: Adding same enctype is enough one time. From
163         Andy Polyakov and Bjorn Sandell.
164         
165 2007-10-18  Love  <lha@stacken.kth.se>
167         * lib/krb5/cache.c (krb5_cc_retrieve_cred): check return value
168         from krb5_cc_start_seq_get. From Zeqing (Fred) Xia
169         
170         * lib/krb5/fcache.c (init_fcc): provide better error codes
172         * kdc/kerberos5.c (get_pa_etype_info2): more paranoia, avoid
173         sending warning about pruned etypes.
175         * kdc/kerberos5.c (older_enctype): old windows enctypes (arcfour
176         based) "old", this to support windows 2000 clients (unjoined to a
177         domain). From Andy Polyakov.
179 2007-10-07  Love Hörnquist Åstrand  <lha@it.su.se>
181         * doc/setup.texi: Spelling, from Mark Peoples via Bjorn Sandell.
182         
183 2007-10-04  Love Hörnquist Åstrand  <lha@it.su.se>
185         * kdc/krb5tgs.c: More prettier printing of enctype, from KAMADA
186         Ken'ichi.
188         * lib/krb5/crypto.c (krb5_enctype_to_string): make sure string is
189         NULL on failure.
191 2007-10-03  Love Hörnquist Åstrand  <lha@it.su.se>
193         * kdc/kdc-replay.c: Catch KRB5_PROG_ATYPE_NOSUPP from
194         krb5_addr2sockaddr and igore thte test is that case.
195         
196 2007-09-29  Love Hörnquist Åstrand  <lha@it.su.se>
198         * lib/krb5/context.c (krb5_free_context): free
199         default_cc_name_env, from Gunther Deschner.
201 2007-08-27  Love Hörnquist Åstrand  <lha@it.su.se>
203         * lib/krb5/{krb5.h,pac.c,test_pac.c,send_to_kdc.c,rd_req.c}: Make
204         work with c++, reported by Hai Zaar
206         * lib/krb5/{digest.c,krb5.h}: Make work with c++, reported by Hai Zaar
208 2007-08-20  Love Hörnquist Åstrand  <lha@it.su.se>
210         * lib/hdb/Makefile.am: EXTRA_DIST += hdb.schema
212 2007-07-31  Love Hörnquist Åstrand  <lha@it.su.se>
214         * check return value of alloc functions, from Charles Longeau
216         * lib/krb5/principal.c: spelling.
218         * kadmin/kadmin.8: spelling
220         * lib/krb5/crypto.c: Check return values from alloc
221         functions. Prompted by patch of Charles Longeau.
223         * lib/krb5/n-fold.c: Make _krb5_n_fold return a error
224         code. Prompted by patch of Charles Longeau.
226 2007-07-27  Love Hörnquist Åstrand  <lha@it.su.se>
228         * lib/krb5/init_creds.c: Always set the ticket options, use
229         KRB5_ADDRESSLESS_DEFAULT as the default value, this make the unset
230         tri-state not so useful.
232 2007-07-24  Love Hörnquist Åstrand  <lha@it.su.se>
234         * tools/heimdal-gssapi.pc.in: Add LIB_pkinit to the list of
235         libraries.
237         * tools/heimdal-gssapi.pc.in: pkg-config file for libgssapi in
238         heimdal.
240         * tools/Makefile.am: Add heimdal-gssapi.pc and install it into
241         $(libdir)/pkgconfig
243 2007-07-23  Love Hörnquist Åstrand  <lha@it.su.se>
245         * lib/krb5/pkinit.c: Add RFC3526 modp group14 as a default.
247 2007-07-22  Love Hörnquist Åstrand  <lha@it.su.se>
249         * lib/hdb/dbinfo.c (get_dbinfo): use dbname instead of realm as
250         key if the entry is a correct entry.
252         * lib/krb5/get_cred.c: Make krb5_get_renewed_creds work, from
253         Gunther Deschner.
255         * lib/krb5/Makefile.am: Add test_renew to noinst_PROGRAMS.
257         * lib/krb5/test_renew.c: Test for krb5_get_renewed_creds.
259 2007-07-21  Love Hörnquist Åstrand  <lha@it.su.se>
261         * lib/hdb/keys.c: Make parse_key_set handle key set string "v5",
262         from Peter Meinecke.
264         * kdc/kaserver.c: Don't ovewrite the error code, from Peter
265         Meinecke.
267 2007-07-18  Love Hörnquist Åstrand  <lha@it.su.se>
269         * TODO-1.0: remove 
271         * Makefile.am: remove TODO-1.0
273 2007-07-17  Love Hörnquist Åstrand  <lha@it.su.se>
275         * Heimdal 1.0 release branch cut here
276         
277         * doc/hx509.texi: use version.texi
278         
279         * doc/heimdal.texi: use version.texi
280         
281         * doc/version.texi: version.texi
283         * lib/hdb/db3.c: avoid type-punned pointer warning.
285         * kdc/kx509.c: Use unsigned char * as argument to HMAC_Update to
286         please OpenSSL and gcc.
288         * kdc/digest.c: Use unsigned char * as argument to MD5_Update to
289         please OpenSSL and gcc.
291 2007-07-16  Love Hörnquist Åstrand  <lha@it.su.se>
293         * include/Makefile.am: Add krb_err.h.
295         * kdc/set_dbinfo.c: Print acl file too.
297         * kdc/kerberos4.c: Error codes are just fine, remove XXX now.
299         * lib/krb5/krb5-v4compat.h: Drop duplicate error codes.
301         * kdc/kerberos4.c: switch to ET errors.
303         * lib/krb5/Makefile.am: Add krb_err.h to build_HEADERZ.
305         * lib/krb5/v4_glue.c: If its a Kerberos 4 error-code, remove the
306         et BASE.
308 2007-07-15  Love Hörnquist Åstrand  <lha@it.su.se>
310         * lib/krb5/krb5-v4compat.h: Include "krb_err.h".
312         * lib/krb5/v4_glue.c: return more interesting error codes.
314         * lib/krb5/plugin.c: Prefix enum plugin_type.
316         * lib/krb5/krb5_locl.h: Expose plugin structures.
317         
318         * lib/krb5/krb5.h: Add plugin structures.
320         * lib/krb5/krb_err.et: V4 errors.
322         * lib/krb5/version-script.map: First version of version script.
324 2007-07-13  Love Hörnquist Åstrand  <lha@it.su.se>
326         * kdc/kerberos5.c: Java 1.6 expects the name to be the same type,
327         lets allow that for uncomplicated name-types.
329 2007-07-12  Love Hörnquist Åstrand  <lha@it.su.se>
331         * lib/krb5/v4_glue.c (_krb5_krb_rd_req): if ticket contains
332         address 0, its ticket less and don't really care about
333         from_addr. return better error codes.
335         * kpasswd/kpasswdd.c: Fix pointer vs strict alias rules.
337 2007-07-11  Love Hörnquist Åstrand  <lha@it.su.se>
339         * lib/hdb/hdb-ldap.c: When using sambaNTPassword, avoid adding
340         more then one enctype 23 to krb5EncryptionType.
342         * lib/krb5/cache.c: Spelling.
344         * kdc/kerberos5.c: Don't send newer enctypes in ETYPE-INFO.
345         (get_pa_etype_info2): return the enctypes as sorted in the
346         database
348 2007-07-10  Love Hörnquist Åstrand  <lha@it.su.se>
350         * kuser/kinit.c: krb5-v4compat.h defines prototypes for
351         v4 (semiprivate functions) in libkrb5, don't include
352         krb5-private.h any longer.
354         * lib/krb5/krbhst.c: Set error string when there is no KDC for a
355         realm.
357         * lib/krb5/Makefile.am: New library version.
359         * kdc/Makefile.am: New library version.
361         * lib/krb5/krb5_locl.h: Add default_cc_name_env.
363         * lib/krb5/cache.c (enviroment_changed): return non-zero if
364         enviroment that will determine default krb5cc name has changed.
365         (krb5_cc_default_name): also check if cached value is uptodate.
367         * lib/krb5/krb5_locl.h: Drop pkinit_flags.
369 2007-07-05  Love Hörnquist Åstrand  <lha@it.su.se>
371         * configure.in: add tests/java/Makefile
373         * lib/hdb/dbinfo.c: Add hdb_dbinfo_get_log_file.
375 2007-07-04  Love Hörnquist Åstrand  <lha@it.su.se>
377         * kdc/kerberos5.c: Improve the default salt detection to avoid
378         returning v4 password salting to java that doesn't look at the
379         returning padata for salting.
381         * kdc: Split out krb5_kdc_set_dbinfo, From Andrew Bartlett
383 2007-07-02  Love Hörnquist Åstrand  <lha@it.su.se>
385         * kdc/digest.c: Try harder to provide better error message for
386         digest messages.
388         * lib/krb5/Makefile.am: verify_krb5_conf_OBJECTS depends on
389         krb5-pr*.h, make -j finds this.
390         
391 2007-06-28  Love Hörnquist Åstrand  <lha@it.su.se>
393         * kdc/digest.c: On success, print username, not ip-adress.
395 2007-06-26  Love Hörnquist Åstrand  <lha@it.su.se>
397         * lib/krb5/get_cred.c: Add krb5_get_renewed_creds.
399         * lib/krb5/krb5_get_credentials.3: add krb5_get_renewed_creds
401         * lib/krb5/pkinit.c: Use hx509_cms_unwrap_ContentInfo.
402         
403 2007-06-25  Love Hörnquist Åstrand  <lha@it.su.se>
405         * doc/setup.texi: Add example for pkinit_win2k_require_binding
406         in [kdc] section.
408         * kdc/default_config.c: Rename require_binding to
409         win2k_require_binding to match client configuration.
411         * kdc/default_config.c: Add [kdc]pkinit_require_binding option.
413         * kdc/pkinit.c (pk_mk_pa_reply_enckey): only allow non-bound reply
414         if its not required.
416         * kdc/default_config.c: rename pkinit_princ_in_cert and add
417         pkinit_require_binding
419         * kdc/kdc.h: rename pkinit_princ_in_cert and add
420         pkinit_require_binding
422         * kdc/pkinit.c: rename pkinit_princ_in_cert
424 2007-06-24  Love Hörnquist Åstrand  <lha@it.su.se>
426         * lib/krb5/pkinit.c: Adapt to hx509_verify_hostname change.
428 2007-06-21  Love Hörnquist Åstrand  <lha@it.su.se>
430         * kdc/krb5tgs.c: Drop unused variable.
432         * kdc/krb5tgs.c: disable anonyous tgs requests
434         * kdc/krb5tgs.c: Don't check PAC on cross realm for now.
436         * kuser/kgetcred.c: Set KRB5_GC_CONSTRAINED_DELEGATION and parse
437         nametypes.
439         * lib/krb5/krb5_principal.3: Document krb5_parse_nametype.
441         * lib/krb5/principal.c (krb5_parse_nametype): parse nametype and
442         return their integer values.
444         * lib/krb5/krb5.h (krb5_get_creds): Add
445         KRB5_GC_CONSTRAINED_DELEGATION.
447         * lib/krb5/get_cred.c (krb5_get_creds): if
448         KRB5_GC_CONSTRAINED_DELEGATION is set, set both request_anonymous
449         and constrained_delegation.
451 2007-06-20  Love Hörnquist Åstrand  <lha@it.su.se>
453         * kdc/digest.c: Return an error message instead of dropping the
454         packet for more failure cases.
456         * lib/krb5/krb5_principal.3: Add KRB5_PRINCIPAL_UNPARSE_DISPLAY.
458         * appl/gssmask/gssmask.c (AcquirePKInitCreds): fail more
459         gracefully
460         
461 2007-06-18  Love Hörnquist Åstrand  <lha@it.su.se>
463         * lib/krb5/pac.c: make compile.
464         
465         * lib/krb5/pac.c (verify_checksum): memset cksum to avoid using
466         pointer from stack.
468         * lib/krb5/plugin.c: Don't expose free pointer.
470         * lib/krb5/pkinit.c (_krb5_pk_load_id): fail directoy for first
471         calloc.
472         
473         * lib/krb5/pkinit.c (get_reply_key*): don't expose freed memory
475         * lib/krb5/krbhst.c: Host is static memory, don't free.
477         * lib/krb5/crypto.c (decrypt_internal_derived): make sure length
478         is longer then confounder + checksum.
480         * kdc: export get_dbinfo as krb5_kdc_set_dbinfo and call from
481         users. This to allows libkdc users to to specify their own
482         databases
484         * lib/krb5/pkinit.c (pk_rd_pa_reply_enckey): simplify handling of
485         content data (and avoid leaking memory).
487         * kdc/misc.c (_kdc_db_fetch): set error string for failures.
488         
489 2007-06-15  Love Hörnquist Åstrand  <lha@it.su.se>
491         * kdc/pkinit.c: Use KRB5_AUTHDATA_INITIAL_VERIFIED_CAS.
493 2007-06-13  Love Hörnquist Åstrand  <lha@it.su.se>
495         * kdc/pkinit.c: tell user when they got a pk-init request with
496         pkinit disabled.
498 2007-06-12  Love Hörnquist Åstrand  <lha@it.su.se>
499         
500         * lib/krb5/principal.c: Rename UNPARSE_NO_QUOTE to
501         UNPARSE_DISPLAY.
503         * lib/krb5/krb5.h: Rename UNPARSE_NO_QUOTE to UNPARSE_DISPLAY.
505         * lib/krb5/principal.c: Make no-quote mean replace strange chars
506         with space.
508         * lib/krb5/principal.c: Support KRB5_PRINCIPAL_UNPARSE_NO_QUOTE.
510         * lib/krb5/krb5.h: Add KRB5_PRINCIPAL_UNPARSE_NO_QUOTE.
512         * lib/krb5/test_princ.c: Test quoteing.
514         * lib/krb5/pkinit.c: update (c)
515         
516         * lib/krb5/get_cred.c: use krb5_sendto_context to talk to the KDC.
518         * lib/krb5/send_to_kdc.c (_krb5_kdc_retry): check if the whole
519         process needs to restart or just skip this KDC.
521         * lib/krb5/init_creds_pw.c: Use krb5_sendto_context to talk to
522         KDC.
524         * lib/krb5/krb5.h: Add sendto hooks and opaque structure.
526         * lib/krb5/krb5_rd_error.3: Update prototype.
528         * lib/krb5/send_to_kdc.c: Add hooks for processing the reply from
529         the server.
530         
531 2007-06-11  Love Hörnquist Åstrand  <lha@it.su.se>
533         * lib/krb5/krb5_err.et: Some new error codes from RFC 4120.
534         
535 2007-06-09  Love Hörnquist Åstrand  <lha@it.su.se>
537         * kdc/krb5tgs.c: Constify.
539         * kdc/kerberos5.c: Constify.
541         * kdc/pkinit.c: Check for KRB5-PADATA-PK-AS-09-BINDING. Constify.
543 2007-06-08  Love Hörnquist Åstrand  <lha@it.su.se>
545         * include/Makefile.am: Make krb5-types.h nodist_include_HEADERS.
547         * kdc/Makefile.am: EXTRA_DIST += version-script.map.
548         
549 2007-06-07  Love Hörnquist Åstrand  <lha@it.su.se>
550         
551         * Makefile.am (print-distdir): print name of dist
553         * kdc/pkinit.c: Break out loading of mappings file to a separate
554         function and remove warning that it can't open the mapping file,
555         there are now mappings in the db, maybe the users uses that
556         instead...
558         * lib/krb5/crypto.c: Require the raw key have the correct size and
559         do away with the minsize.  Minsize was a thing that originated
560         from RC2, but since RC2 is done in the x509/cms subsystem now
561         there is no need to keep that around.
563         * lib/hdb/dbinfo.c: If there is no default dbname, also check for
564         unset mkey_file and set it default mkey name, make backward compat
565         stuff work.
567         * kdc/version-script.map: add new symbols
569         * kdc/kdc-replay.c: Also update krb5_context view of what the time
570         is.
572         * configure.in: add tests/can/Makefile
574         * kdc/kdc-replay.c: Add --[version|help].
576         * kdc/pkinit.c: Push down the kdc time into the x509 library.
578         * kdc/connect.c: Move up krb5_kdc_save_request so we can catch the
579         reply data too.
581         * kdc/kdc-replay.c: verify reply by checking asn1 class, type and
582         tag of the reply if there is one.
584         * kdc/process.c: Save asn1 class, type and tag of the reply if
585         there is one. Used to verify the reply in kdc-replay.
587 2007-06-06  Love Hörnquist Åstrand  <lha@it.su.se>
589         * kdc/kdc_locl.h: extern for request_log.
591         * kdc/Makefile.am: Add kdc-replay.
593         * kdc/kdc-replay.c: Replay kdc messages to the KDC library.
595         * kdc/config.c: Pick up request_log from [kdc]kdc-request-log.
597         * kdc/connect.c: Option to save the request to disk.
599         * kdc/process.c (krb5_kdc_save_request): save request to file.
601         * kdc/process.c (krb5_kdc_process*): dont update _kdc_time
602         automagicly.
603         (krb5_kdc_update_time): set or get current kdc-time.
605         * kdc/pkinit.c (_kdc_pk_rd_padata): accept both pkcs-7 and
606         pkauthdata as the signeddata oid
607         
608         * kdc/pkinit.c (_kdc_pk_rd_padata): Try to log what went wrong.
610 2007-06-05  Love Hörnquist Åstrand  <lha@it.su.se>
611         
612         * kdc/pkinit.c: Use oid_id_pkcs7_data for pkinit-9 encKey reply to
613         match windows DC behavior better.
614         
615 2007-06-04  Love Hörnquist Åstrand  <lha@it.su.se>
617         * configure.in: use test for -framework Security
619         * appl/test/uu_server.c: Print status to stdout.
621         * kdc/digest.c (digest ntlm): provide log entires by setting ret
622         to an error.
623         
624 2007-06-03  Love Hörnquist Åstrand  <lha@it.su.se>
626         * doc/hx509.texi: Indent crl-sign.
628         * doc/hx509.texi: One more crl-sign example.
630         * lib/krb5/test_princ.c: plug memory leaks.
632         * lib/krb5/pac.c: plug memory leaks.
634         * lib/krb5/test_pac.c: plug memory leaks.
636         * lib/krb5/test_prf.c: plug memory leak.
638         * lib/krb5/test_cc.c: plug memory leaks.
640         * doc/hx509.texi: Simple blob about publishing CRLs.
642         * doc/win2k.texi: drop text about enctypes.
643         
644 2007-06-02  Love Hörnquist Åstrand  <lha@it.su.se>
646         * kdc/pkinit.c: In case of OCSP verification failure, referash
647         every 5 min. In case of success, refreash 2 min before expiring or
648         faster.
649         
650 2007-05-31  Love Hörnquist Åstrand  <lha@it.su.se>
651         
652         * lib/krb5/krb5_err.et: add error 68, WRONG_REALM
654         * kdc/pkinit.c: Handle the ms san in a propper way, still cheat
655         with the realm name.
657         * kdc/kerberos5.c: If _kdc_pk_check_client failes, bail out
658         directly and hand the error back to the client.
660         * lib/krb5/krb5_err.et: Add missing REVOCATION_STATUS_UNAVAILABLE
661         and fix error message for CLIENT_NAME_MISMATCH.
663         * kdc/pkinit.c: More logging for pk-init client mismatch.
665         * kdc/kerberos5.c: Also add a KRB5_PADATA_PK_AS_REQ_WIN for
666         windows pk-init (-9) to make MIT clients happy.
667         
668 2007-05-30  Love Hörnquist Åstrand  <lha@it.su.se>
669         
670         * kdc/pkinit.c: Force des3 for win2k.
672         * kdc/pkinit.c: Add wrapping to ContentInfo wrapping to
673         COMPAT_WIN2K.
675         * lib/krb5/keytab_keyfile.c: Spelling.
677         * kdc/pkinit.c: Allow matching by MS UPN SAN, note that this delta
678         doesn't deal with case of realm.
679         
680 2007-05-16  Love Hörnquist Åstrand  <lha@it.su.se>
682         * lib/krb5/crypto.c (krb5_crypto_overhead): return static overhead
683         of encryption.
684         
685 2007-05-10  Dave Love  <fx@gnu.org>
686         
687         * doc/win2k.texi: Update some URLs.
689 2007-05-13  Love Hörnquist Åstrand  <lha@it.su.se>
691         * kuser/kimpersonate.c: Fix version number of ticket, it should be
692         5 not the kvno.
693         
694 2007-05-08  Love Hörnquist Åstrand  <lha@it.su.se>
696         * doc/setup.texi: Salting is really Encryption types and salting.
697         
698 2007-05-07  Love Hörnquist Åstrand  <lha@it.su.se>
699         
700         * doc/setup.texi: spelling, from Ronny Blomme
702         * doc/win2k.texi: Fix ksetup /SetComputerPassword, from Ronny
703         Blomme
704         
705 2007-05-02  Love Hörnquist Åstrand  <lha@it.su.se>
707         * lib/hdb/dbinfo.c (hdb_get_dbinfo) If there are no database
708         specified, create one and let it use the defaults.
709         
710 2007-04-27  Love Hörnquist Åstrand  <lha@it.su.se>
711         
712         * lib/hdb/test_dbinfo.c: test acl file
714         * lib/hdb/test_dbinfo.c: test acl file
716         * lib/hdb/dbinfo.c: add acl file
718         * etc: ignore Makefile.in
720         * Makefile.am: SUBDIRS += etc
722         * configure.in: Add etc/Makefile.
724         * etc/Makefile.am: make sure services.append is distributed
726 2007-04-24  Love Hörnquist Åstrand  <lha@it.su.se>
728         * kdc: rename windc_init to krb5_kdc_windc_init
730         * kdc/version-script.map: version script for libkdc
731         
732         * kdc/Makefile.am: version script for libkdc
733         
734 2007-04-23  Love Hörnquist Åstrand  <lha@it.su.se>
736         * lib/krb5/init_creds.c (krb5_get_init_creds_opt_get_error):
737         correct the order of the arguments.
739         * lib/hdb/Makefile.am: Add and test dbinfo.
741         * lib/hdb/hdb.h: Forward declaration for struct hdb_dbinfo;
743         * kdc/config.c: Use krb5_kdc_get_config and just fill in what the
744         users wanted differently.
746         * kdc/default_config.c: Make the default configuration fetch info
747         from the krb5.conf.
748         
749 2007-04-22  Love Hörnquist Åstrand  <lha@it.su.se>
751         * lib/krb5/store.c (krb5_store_creds_tag): use session.keytype to
752         determine if to send the session-key, for the second place in the
753         function.
755         * tools/krb5-config.in: rename des to hcrypto
757         * kuser/Makefile.am: depend on libheimntlm
759         * kuser/kinit.c: Add --ntlm-domain that store the ntlm cred for
760         this domain if the Kerberos password auth worked.
762         * kuser/klist.c: add new option --hidden that doesn't display
763         principal that starts with @
765         * tools/krb5-config.in: Add heimntlm when we use gssapi.
767         * lib/krb5/krb5_ccache.3 (krb5_cc_retrieve_cred): document what to
768         free 'cred' with.
770         * lib/krb5/cache.c (krb5_cc_retrieve_cred): document what to free
771         'cred' with.
772         
773 2007-04-21  Love Hörnquist Åstrand  <lha@it.su.se>
775         * lib/krb5/store.c (krb5_store_creds_tag): use session.keytype to
776         determine if to send the session-key.
778         * kcm/client.c (kcm_ccache_new_client): make root be able to pass
779         the name constraints, not the opposite. From Bryan Jacobs.
780         
781 2007-04-20  Love Hörnquist Åstrand  <lha@it.su.se>
783         * kcm/acl.c: make compile again.
785         * kcm/client.c: fix warning.
786         
787         * kcm: First, it allows root to ignore the naming conventions.
788         Second, it allows root to always perform any operation on any
789         ccache.  Note that root could do this anyway with FILE ccaches.
790         From Bryan Jacobs.
792         * Rename libdes to libhcrypto.
794 2007-04-19  Love Hörnquist Åstrand  <lha@it.su.se>
796         * kinit: remove code that depend on kerberos 4 library
797         
798         * kdc: remove code that depend on kerberos 4 library
799         
800         * configure.in: Drop kerberos 4 support.
802         * kdc/hpropd.c (main): free the message when done with it.
804         * lib/krb5/pkinit.c (_krb5_get_init_creds_opt_free_pkinit):
805         remember to free memory too.
807         * lib/krb5/pkinit.c (pk_rd_pa_reply_dh): free content-type when
808         done.
810         * configure.in: test rk_VERSIONSCRIPT
811         
812 2007-04-18  Love Hörnquist Åstrand  <lha@it.su.se>
814         * fix-export: remove, all done by make dist now
816 2007-04-15  Love Hörnquist Åstrand  <lha@it.su.se>
818         * lib/krb5/krb5_get_credentials.3: spelling, from Jason McIntyre
820 2007-04-11  Love Hörnquist Åstrand  <lha@it.su.se>
822         * kdc/kstash.8: Spelling, from raga <raga@comcast.net> 
823         via Bjorn Sandell.
825         * lib/krb5/store_mem.c: indent.
827         * lib/krb5/recvauth.c: Set error string.
829         * lib/krb5/rd_req.c: clear error strings.
831         * lib/krb5/rd_cred.c: clear error string.
833         * lib/krb5/pkinit.c: Set error strings.
835         * lib/krb5/get_cred.c: Tell what principal we are not finding for
836         all KRB5_CC_NOTFOUND.
837         
838 2007-02-22  Love Hörnquist Åstrand  <lha@it.su.se>
839         
840         * kdc/kerberos5.c: Return the same error codes as a windows KDC.
842         * kuser/kinit.c: KRB5KDC_ERR_PREAUTH_FAILED is also a password
843         failed.
844         
845         * kdc/kerberos5.c: Make handling of replying e_data more generic,
846         from metze.
848         * kdc/kerberos5.c: Fix (string const and shadow) warnings, from
849         metze.
851         * lib/krb5/pac.c: Create the PAC element in the same order as
852         w2k3, maybe there's some broken code in windows which relies on
853         this... From metze.
855         * kdc/kerberos5.c: Select a session enctype from the list of the
856         crypto systems supported enctype, is supported by the client and
857         is one of the enctype of the enctype of the krbtgt.
858         
859         The later is used as a hint what enctype all KDC are supporting to
860         make sure a newer version of KDC wont generate a session enctype
861         that and older version of a KDC in the same realm can't decrypt.
862         
863         But if the KDC admin is paranoid and doesn't want to have "no the
864         best" enctypes on the krbtgt, lets save the best pick from the
865         client list and hope that that will work for any other KDCs.
866         
867         Reported by metze.
869         * kdc/hprop.c (propagate_database): on any failure, drop the
870         connection to the peer and try next one.
871         
872 2007-02-18  Love Hörnquist Åstrand  <lha@it.su.se>
874         * lib/krb5/krb5_get_init_creds.3: document new options.
876         * kdc/krb5tgs.c: Only check service key for cross realm PACs.
878         * lib/krb5/init_creds.c: use the new merged flags field.
879         (krb5_get_init_creds_opt_set_win2k): new function, turn on all w2k
880         compat flags.
882         * lib/krb5/init_creds_pw.c: use the new merged flags field.
884         * lib/krb5/krb5_locl.h: merge all flags into one entity
885         
886 2007-02-11  Dave Love  <fx@gnu.org>
887         
888         * lib/krb5/krb5_aname_to_localname.3: Small fixes
889         
890         * lib/krb5/krb5_digest.3: Small fixes
891         
892         * kuser/kimpersonate.1: Small fixes
894 2007-02-17  Love Hörnquist Åstrand  <lha@it.su.se>
896         * lib/krb5/init_creds_pw.c (find_pa_data): if there is no list,
897         there is no entry.
899         * kdc/krb5tgs.c: Don't check PACs on cross realm requests.
901         * lib/krb5/krb5.h: add KRB5_KU_CANONICALIZED_NAMES.
903         * lib/krb5/init_creds_pw.c: Verify client referral data.
905         * kdc/kerberos5.c: switch some "return ret" to "goto out".
906         
907         * kdc/kerberos5.c: Pass down canonicalize request to hdb layer,
908         sign client referrals.
909         
910         * lib/hdb/hdb.h: Add HDB_F_CANON.
912         * lib/hdb: add simple alias support to the database backends
914 2007-02-16  Love Hörnquist Åstrand  <lha@it.su.se>
916         * kuser/kinit.c: Add canonicalize flag.
918         * lib/krb5/init_creds_pw.c: Use EXTRACT_TICKET_* flags, support
919         canonicalize.
921         * lib/krb5/init_creds.c (krb5_get_init_creds_opt_set_canonicalize):
922         new function.
923         
924         * lib/krb5/get_cred.c: Use EXTRACT_TICKET_* flags.
926         * lib/krb5/get_in_tkt.c: Use EXTRACT_TICKET_* flags.
928         * lib/krb5/krb5_locl.h: Add EXTRACT_TICKET_* flags.
929         
930 2007-02-15  Love Hörnquist Åstrand  <lha@it.su.se>
932         * lib/krb5/test_princ.c: test parsing enterprise-names.
934         * lib/krb5/principal.c: Add support for parsing enterprise-names.
936         * lib/krb5/krb5.h: Add KRB5_PRINCIPAL_PARSE_ENTERPRISE.
938         * lib/hdb/hdb-ldap.c: Make work again.
939         
940 2007-02-11  Dave Love  <fx@gnu.org>
942         * kcm/client.c (kcm_ccache_new_client): Cast snprintf'ed value.
943         
944 2007-02-10  Love Hörnquist Åstrand  <lha@it.su.se>
945         
946         * doc/setup.texi: prune trailing space
948         * lib/hdb/db.c: Be better at setting and clearing error string.
950         * lib/hdb/hdb.c: Be better at setting and clearing error string.
952 2007-02-09  Love Hörnquist Åstrand  <lha@it.su.se>
954         * lib/krb5/keytab.c (krb5_kt_get_entry): Use krb5_kt_get_full_name
955         to print out the keytab name.
957         * doc/setup.texi: Spelling, from Guido Guenther
958         
959 2007-02-08  Love Hörnquist Åstrand  <lha@it.su.se>
961         * lib/krb5/rd_cred.c: Plug memory leak, from Michael B Allen.
963 2007-02-06  Love Hörnquist Åstrand  <lha@it.su.se>
965         * lib/krb5/test_store.c (test_uint16): unsigned ints can't be
966         negative
967         
968 2007-02-03  Love Hörnquist Åstrand  <lha@it.su.se>
970         * kdc/pkinit.c: pass extra flags for detached signatures.
972         * lib/krb5/pkinit.c: pass extra flags for detached signatures.
974         * kdc/digest.c: Remove debug output.
976         * kuser/kdigest.c: Add support for ms-chap-v2 client.
977         
978 2007-02-02  Love Hörnquist Åstrand  <lha@it.su.se>
979                 
980         * kdc/digest.c: Fix ms-chap-v2 get_masterkey
982         * kdc/digest.c: Fix ms-chap-v2 mutual response auth code.
984         * kuser/kdigest.c: Print session key if there is one.
986         * lib/krb5/digest.c: rename hash-a1 to session key
988         * kdc/digest.c: Add get_master from RFC 3079 3.4 for MS-CHAP-V2
990         * kuser/kdigest.c: print rsp if there is one, from Klas.
992         * kdc/digest.c: Use right size, from Klas Lindfors.
994         * kuser/kdigest.c: Set client nonce if avaible, from Klas.
996         * kdc/digest.c: First version from kllin.
998         * kuser/kdigest.c: Don't restrict the type.
999         
1000 2007-02-01  Love Hörnquist Åstrand  <lha@it.su.se>
1001         
1002         * kuser/kdigest-commands.in: add --client-response
1004         * kuser/kdigest.c: Print status instead of response.
1006         * kdc/digest.c: Better logging and return status = FALSE when
1007         checksum doesn't match.
1009         * kdc/digest.c: Check the digest response in the KDC.
1011         * lib/krb5/digest.c: New functions to send in requestResponse to
1012         KDC and get status of the request.
1014         * kdc/digest.c: Add support for MS-CHAP v2.
1016         * lib/hdb/hdb-ldap.c: Set hdb->hdb_db for ldap.
1017         
1018 2007-01-31  Love Hörnquist Åstrand  <lha@it.su.se>
1020         * fix-export: Make hx509.info too
1022         * kdc/digest.c: don't verify identifier in CHAP, its the client
1023         that chooses it.
1024         
1025 2007-01-23  Love Hörnquist Åstrand  <lha@it.su.se>
1027         * lib/krb5/Makefile.am: Basic test of prf.
1029         * lib/krb5/test_prf.c: Basic test of prf.
1031         * lib/krb5/mit_glue.c: Add MIT glue for Kerberos RFC 3961 PRF
1032         functions.
1034         * lib/krb5/crypto.c: Add Kerberos RFC 3961 PRF functions.
1036         * lib/krb5/krb5_data.3: Document krb5_data_cmp.
1038         * lib/krb5/data.c: Add krb5_data_cmp.
1039         
1040 2007-01-20  Love Hörnquist Åstrand  <lha@it.su.se>
1042         * kdc/kx509.c: Don't use C99 syntax.
1043         
1044 2007-01-17  Love Hörnquist Åstrand  <lha@it.su.se>
1045         
1046         * configure.in: its LIBADD_roken (and shouldn't really exist, our
1047         libtool usage it broken)
1049         * configure.in: Add an extra variable for roken, LIBADD, that
1050         should be used for library depencies.
1052         * lib/krb5/send_to_kdc.c (krb5_sendto): zero out receive buffer.
1054         * lib/krb5/krb5_init_context.3: fix mdoc errors
1056         * Heimdal 0.8 branch cut today
1058         * doc/hx509.texi: Spelling and more about proxy certificates.
1060         * configure.in: check for arc4random
1061         
1062 2007-01-16  Love Hörnquist Åstrand  <lha@it.su.se>
1063         
1064         * lib/krb5/send_to_kdc.c (krb5_sendto): zero receive krb5_data
1065         before starting
1067         * tools/heimdal-build.sh: make cvs keep quiet
1069         * kuser/kverify.c: Use argument as principal if passed an
1070         argument. Bug report from Douglas E. Engert
1071         
1072 2007-01-15  Love Hörnquist Åstrand  <lha@it.su.se>
1073         
1074         * lib/krb5/rd_req.c (krb5_rd_req_ctx): The code failed to consider
1075         the enc_tkt_in_skey case, from Douglas E. Engert.
1077         * kdc/kx509.c: Issue certificates.
1079         * kdc/config.c: Parse kx509/kca configuration.
1081         * kdc/kdc.h: add kx509 config
1082         
1083 2007-01-14  Love Hörnquist Åstrand  <lha@it.su.se>
1084         
1085         * kdc/kerberos5.c (_kdc_find_padata): if there is not padata,
1086         there is nothing find.
1088         * doc/hx509.texi: Examples for pk-init.
1090         * doc/hx509.texi: About extending ca lifetime and sub cas.
1091         
1092 2007-01-13  Love Hörnquist Åstrand <lha@it.su.se>
1093         
1094         * doc/hx509.texi: More about certificates.
1095         
1096 2007-01-12  Love Hörnquist Åstrand  <lha@it.su.se>
1098         * doc/hx509.texi: add Application requirements and write about
1099         xmpp/jabber.
1100         
1101 2007-01-11  Love Hörnquist Åstrand  <lha@it.su.se>
1103         * doc/hx509.texi: More about issuing certificates.
1105         * doc/hx509.texi: Start of a x.509 manual.
1107         * include/Makefile.am: remove install headerfiles
1109         * lib/krb5/test_pac.c: Use more interesting data to cause more
1110         errors.
1112         * include/Makefile.am: remove install headerfiles
1114         * lib/krb5/mcache.c: MCC_CURSOR not used, remove.
1116         * lib/krb5/crypto.c: macro kcrypto_oid_enc now longer used
1118         * lib/krb5/rd_safe.c (krb5_rd_safe): set length before trying to
1119         allocate data
1120         
1121 2007-01-10  Love Hörnquist Åstrand  <lha@it.su.se>
1122         
1123         * doc/setup.texi: Hint about hxtool validate.
1125         * appl/test/uu_server.c: print both "server" and "client"
1127         * kdc/krb5tgs.c: Rename keys to be more obvious what they do.
1129         * kdc/kerberos5.c: Use other keys to sign PAC with. From Andrew
1130         Bartlett
1131         
1132         * kdc/windc.c: ident, spelling.
1134         * kdc/windc_plugin.h: indent.
1136         * kdc/krb5tgs.c: Pass down server entry to verify_pac function.
1137         from Andrew Bartlett
1139         * kdc/windc.c: pass down server entry to verify_pac function, from
1140         Andrew Bartlett
1142         * kdc/windc_plugin.h: pass down server entry to verify_pac
1143         function, from Andrew Bartlett
1145         * configure.in: Provide a automake symbol ENABLE_SHARED if shared
1146         libraries are built.
1148         * lib/krb5/rd_req.c (krb5_rd_req_ctx): Use the correct keyblock
1149         when verifying the PAC.  From Andrew Bartlett.
1150         
1151 2007-01-09  Love Hörnquist Åstrand  <lha@it.su.se>
1153         * lib/krb5/test_pac.c: move around to code test on real PAC.
1155         * lib/krb5/pac.c: A tiny 2 char diffrence that make the code work
1156         for real.
1158         * lib/krb5/test_pac.c: Test more PAC (note that the values used in
1159         this test is wrong, they have to be fixed when the pac code is
1160         fixed).
1162         * doc/setup.texi: Update to new hxtool issue-certificate usage
1164         * lib/krb5/init_creds_pw.c: Make sure we don't sent both ENC-TS
1165         and PK-INIT pa data, no need to expose our password protecting our
1166         PKCS12 key.
1168         * kuser/klist.c (print_cred_verbose): include ticket length in the
1169         verbose output
1170         
1171 2007-01-08  Love Hörnquist Åstrand  <lha@it.su.se>
1172         
1173         * lib/krb5/acache.c (loadlib): pass RTLD_LAZY to dlopen, without
1174         it linux is unhappy.
1176         * lib/krb5/plugin.c (loadlib): pass RTLD_LAZY to dlopen, without
1177         it linux is unhappy.
1179         * lib/krb5/name-45-test.c: One of the hosts I sometimes uses is
1180         named "bar.domain", this make one of the tests pass when it
1181         shouldn't.
1183 2007-01-05  Love Hörnquist Åstrand  <lha@it.su.se>
1185         * doc/setup.texi: Change --key argument to --out-key.
1187         * kuser/kimpersonate.1: mangle my name
1188         
1189 2007-01-04  Love Hörnquist Åstrand  <lha@it.su.se>
1190         
1191         * doc/setup.texi: describe how to use hx509 to create
1192         certificates.
1194         * tools/heimdal-build.sh: Add --distcheck.
1196         * kdc/kerberos5.c: Check for KRB5_PADATA_PA_PAC_REQUEST to check
1197         if we should include the PAC in the krbtgt.
1199         * kdc/pkinit.c (_kdc_as_rep): check if
1200         krb5_generate_random_keyblock failes.
1202         * kdc/kerberos5.c (_kdc_as_rep): check if
1203         krb5_generate_random_keyblock failes.
1205         * kdc/krb5tgs.c (tgs_build_reply): check if
1206         krb5_generate_random_keyblock failes.
1208         * kdc/krb5tgs.c: Scope etype.
1210         * lib/krb5/rd_req.c: Make it possible to turn off PAC check, its
1211         default on.
1213         * lib/krb5/rd_req.c (krb5_rd_req_ctx): If there is a PAC, verify
1214         its server signature.
1216         * kdc/kerberos5.c (_kdc_as_rep): call windc client access hook.
1217         (_kdc_tkt_add_if_relevant_ad): constify in data argument.
1219         * kdc/windc_plugin.h: More comments add a client_access hook.
1221         * kdc/windc.c: Add _kdc_windc_client_access.
1223         * kdc/krb5tgs.c: rename functions after export some more pac
1224         functions.
1226         * lib/krb5/test_pac.c: export some more pac functions.
1228         * lib/krb5/pac.c: export some more pac functions.
1230         * kdc/krb5tgs.c: Resign the PAC in tgsreq if we have a PAC.
1232         * configure.in: add tests/plugin/Makefile
1233         
1234 2007-01-03  Love Hörnquist Åstrand  <lha@it.su.se>
1236         * kdc/krb5tgs.c: Get right key for PAC krbtgt verification.
1238         * kdc/config.c: spelling
1240         * lib/krb5/krb5.h: typedef for krb5_pac.
1242         * kdc/headers.h: Include <windc_plugin.h>.
1244         * kdc/Makefile.am: Include windc.c and use windc_plugin.h
1246         * kdc/krb5tgs.c: Call callbacks for emulating a Windows Domain
1247         Controller.
1249         * kdc/kerberos5.c: Call callbacks for emulating a Windows Domain
1250         Controller.  Move the some of the log related stuff to its own
1251         function.
1253         * kdc/config.c: Init callbacks for emulating a Windows Domain
1254         Controller.
1256         * kdc/windc.c: Rename the init function to windc instead of pac.
1258         * kdc/windc.c: Callbacks specific to emulating a Windows Domain
1259         Controller.
1261         * kdc/windc_plugin.h: Callbacks specific to emulating a Windows
1262         Domain Controller.
1264         * lib/krb5/Makefile.am: add krb5_HEADERS to build_HEADERZ
1266         * lib/krb5/pac.c: Support all keyed checksum types.
1267         
1268 2007-01-02  Love Hörnquist Åstrand  <lha@it.su.se>
1269         
1270         * lib/krb5/pac.c (krb5_pac_get_types): Return list of types.
1271         
1272         * lib/krb5/test_pac.c: test krb5_pac_get_types
1274         * lib/krb5/krbhst.c: Add KRB5_KRBHST_KCA.
1276         * lib/krb5/krbhst.c: Add KRB5_KRBHST_KCA.
1278         * lib/krb5/krb5.h: Add KRB5_KRBHST_KCA.
1280         * lib/krb5/test_pac.c: test Add/remove pac buffer functions.
1282         * lib/krb5/pac.c: Add/remove pac buffer functions.
1284         * lib/krb5/pac.c: sprinkle const
1286         * lib/krb5/pac.c: rename DCHECK to CHECK
1287         
1288         * Happy New Year.