x
[heimdal.git] / ChangeLog
blobc719f360a912a13af0645c00b56fe015436d8143
1 2007-12-14  Love Hörnquist Åstrand  <lha@it.su.se>
3         * lib/hdb/dbinfo.c: Add hdb_default_db().
5         * Makefile.am: Add some extra cf/*.
7 2007-12-12  Love Hörnquist Åstrand  <lha@it.su.se>
8         
9         * kuser/kgetcred.c: Fix type of name-type. From Andy Polyakov.
11 2007-12-09  Love Hörnquist Åstrand  <lha@it.su.se>
13         * kdc/log.c: Use hdb_db_dir().
15         * kpasswd/kpasswdd.c: Use hdb_db_dir().
17 2007-12-08  Love Hörnquist Åstrand  <lha@it.su.se>
18         
19         * kdc/config.c: Use hdb_db_dir().
21         * kdc/kdc_locl.h: add KDC_LOG_FILE
23         * kdc/hpropd.c: Use hdb_default_db().
25         * kdc/kstash.c: Use hdb_db_dir().
27         * kdc/pkinit.c: Adapt to hx509 changes, use hdb_db_dir().
29         * lib/krb5/rd_req.c: Document krb5_rd_req_in_set_pac_check.
31         * lib/krb5/verify_krb5_conf.c: Check check_pac.
33         * lib/krb5/rd_req.c: use KRB5_CTX_F_CHECK_PAC to init check_pac
34         field in the krb5_rd_req_in_ctx
36         * lib/krb5/expand_hostname.c: Adapt to changing
37         dns_canonicalize_hostname into flags field.
39         * lib/krb5/context.c: Adapt to changing dns_canonicalize_hostname
40         into flags field, add check-pac as an libdefaults option.
42         * lib/krb5/pkinit.c: Adapt to changes in hx509 interface.
44         * doc: add doxygen documentation to hcrypto
46         * doc/doxytmpl.dxy: generate links
47         
48 2007-12-07  Love Hörnquist Åstrand  <lha@it.su.se>
50         * lib/krb5/Makefile.am: build_HEADERZ += heim_threads.h
52         * lib/hdb/dbinfo.c (hdb_db_dir): Return the directory where the
53         hdb database resides.
55         * configure.in: Add --with-hdbdir to specify where the database is
56         stored.
58         * lib/krb5/crypto.c: revert previous patch, the problem is located
59         in the RAND_file_name() function that will cause recursive nss
60         lookups, can't fix that here.
62 2007-12-06  Love Hörnquist Åstrand  <lha@it.su.se>
64         * lib/krb5/crypto.c (krb5_generate_random_block): try to avoid the
65         dead-lock in by not holding the lock while running
66         RAND_file_name. Prompted by Hai Zaar.
68         * lib/krb5/n-fold.c: spelling
69         
70 2007-12-04  Love Hörnquist Åstrand  <lha@it.su.se>
72         * kuser/kdigest.c (digest-probe): implement command.
74         * kuser/kdigest-commands.in (digest-probe): new command
75         
76         * kdc/digest.c: Implement supportedMechs request.
78         * lib/krb5/error_string.c: Make krb5_get_error_string return an
79         allocated string to make the function indempotent. From
80         Zeqing (Fred) Xia.
82 2007-12-03  Love Hörnquist Åstrand  <lha@it.su.se>
84         * lib/krb5/krb5_locl.h (krb5_context_data): Flag if
85         default_cc_name was set by the user.
87         * lib/krb5/fcache.c (fcc_move): make sure ->version is uptodate.
89         * kcm/acquire.c: use krb5_free_cred_contents
91         * kuser/kimpersonate.c: use krb5_free_cred_contents
92         
93         * kuser/kinit.c: Use krb5_cc_move to make an atomic switch of the
94         cred cache.
96         * lib/krb5/cache.c: Put back code that was needed, move gen_new
97         into new_unique.
99         * lib/krb5/mcache.c (mcc_default_name): Remove const
101         * lib/krb5/krb5_locl.h: Add KRB5_DEFAULT_CCNAME_KCM, redefine
102         KRB5_DEFAULT_CCNAME to KRB5_DEFAULT_CCTYPE
104         * lib/krb5/cache.c: Use krb5_cc_ops->default_name to get the
105         default name.
107         * lib/krb5/kcm.c: Implement krb5_cc_ops->default_name.
109         * lib/krb5/mcache.c: Implement krb5_cc_ops->default_name.
111         * lib/krb5/fcache.c: Implement krb5_cc_ops->default_name.
113         * lib/krb5/krb5.h: Add krb5_cc_ops->default_name.
115         * lib/krb5/acache.c: Free context when done, implement
116         krb5_cc_ops->default_name.
118         * lib/krb5/kcm.c: implement dummy kcm_move
120         * lib/krb5/mcache.c: Implement the move operation.
122         * lib/krb5/version-script.map: export krb5_cc_move
124         * lib/krb5/cache.c: New function krb5_cc_move().
126         * lib/krb5/fcache.c: Implement the move operation.
128         * lib/krb5/krb5.h: Add move to the krb5_cc_ops, causes major
129         version bump.
131         * lib/krb5/acache.c: Implement the move operation. Avoid using
132         cc_set_principal() since it broken on Mac OS X 10.5.0.
133         
134 2007-12-02  Love Hörnquist Åstrand  <lha@it.su.se>
136         * lib/krb5/krb5_ccapi.h: Drop variable names to avoid -Wshadow.
137         
138 2007-11-14  Love Hörnquist Åstrand  <lha@it.su.se>
140         * kdc/krb5tgs.c: Should pass different key usage constants
141         depending on whether or not optional sub-session key was passed by
142         the client for the check of authorization data. The constant is
143         used to derive "specific key" and its values are specified in
144         7.5.1 of RFC4120.
145         
146         Patch from Andy Polyakov.
148         * kdc/krb5tgs.c: Don't send auth data in referrals, microsoft
149         clients have started to not like that. Thanks to Andy Polyakov for
150         excellent research.
152 2007-11-11  Love Hörnquist Åstrand  <lha@it.su.se>
154         * lib/krb5/creds.c: use krb5_data_cmp
156         * lib/krb5/acache.c: use krb5_free_cred_contents
158         * lib/krb5/test_renew.c: use krb5_free_cred_contents
159         
160 2007-11-10  Love Hörnquist Åstrand  <lha@it.su.se>
162         * lib/krb5/acl.c: doxygen documentation
164         * lib/krb5/addr_families.c: doxygen documentation
166         * doc: add doxygen
168         * lib/krb5/plugin.c: doxygen documentation
170         * lib/krb5/kcm.c: doxygen documentation
172         * lib/krb5/fcache.c: doxygen documentation
174         * lib/krb5/cache.c: doxygen documentations
175         
176         * lib/krb5/doxygen.c: doxygen introduction
178         * lib/krb5/error_string.c: Doxygen documentation.
180 2007-11-03  Love Hörnquist Åstrand  <lha@it.su.se>
182         * lib/krb5/test_plugin.c: expose krb5_plugin_register
184         * lib/krb5/plugin.c: expose krb5_plugin_register
186         * lib/krb5/version-script.map: sort, expose krb5_plugin_register
188 2007-10-24  Love Hörnquist Åstrand  <lha@it.su.se>
190         * kdc/kerberos5.c: Adding same enctype is enough one time. From
191         Andy Polyakov and Bjorn Sandell.
192         
193 2007-10-18  Love  <lha@stacken.kth.se>
195         * lib/krb5/cache.c (krb5_cc_retrieve_cred): check return value
196         from krb5_cc_start_seq_get. From Zeqing (Fred) Xia
197         
198         * lib/krb5/fcache.c (init_fcc): provide better error codes
200         * kdc/kerberos5.c (get_pa_etype_info2): more paranoia, avoid
201         sending warning about pruned etypes.
203         * kdc/kerberos5.c (older_enctype): old windows enctypes (arcfour
204         based) "old", this to support windows 2000 clients (unjoined to a
205         domain). From Andy Polyakov.
207 2007-10-07  Love Hörnquist Åstrand  <lha@it.su.se>
209         * doc/setup.texi: Spelling, from Mark Peoples via Bjorn Sandell.
210         
211 2007-10-04  Love Hörnquist Åstrand  <lha@it.su.se>
213         * kdc/krb5tgs.c: More prettier printing of enctype, from KAMADA
214         Ken'ichi.
216         * lib/krb5/crypto.c (krb5_enctype_to_string): make sure string is
217         NULL on failure.
219 2007-10-03  Love Hörnquist Åstrand  <lha@it.su.se>
221         * kdc/kdc-replay.c: Catch KRB5_PROG_ATYPE_NOSUPP from
222         krb5_addr2sockaddr and igore thte test is that case.
223         
224 2007-09-29  Love Hörnquist Åstrand  <lha@it.su.se>
226         * lib/krb5/context.c (krb5_free_context): free
227         default_cc_name_env, from Gunther Deschner.
229 2007-08-27  Love Hörnquist Åstrand  <lha@it.su.se>
231         * lib/krb5/{krb5.h,pac.c,test_pac.c,send_to_kdc.c,rd_req.c}: Make
232         work with c++, reported by Hai Zaar
234         * lib/krb5/{digest.c,krb5.h}: Make work with c++, reported by Hai Zaar
236 2007-08-20  Love Hörnquist Åstrand  <lha@it.su.se>
238         * lib/hdb/Makefile.am: EXTRA_DIST += hdb.schema
240 2007-07-31  Love Hörnquist Åstrand  <lha@it.su.se>
242         * check return value of alloc functions, from Charles Longeau
244         * lib/krb5/principal.c: spelling.
246         * kadmin/kadmin.8: spelling
248         * lib/krb5/crypto.c: Check return values from alloc
249         functions. Prompted by patch of Charles Longeau.
251         * lib/krb5/n-fold.c: Make _krb5_n_fold return a error
252         code. Prompted by patch of Charles Longeau.
254 2007-07-27  Love Hörnquist Åstrand  <lha@it.su.se>
256         * lib/krb5/init_creds.c: Always set the ticket options, use
257         KRB5_ADDRESSLESS_DEFAULT as the default value, this make the unset
258         tri-state not so useful.
260 2007-07-24  Love Hörnquist Åstrand  <lha@it.su.se>
262         * tools/heimdal-gssapi.pc.in: Add LIB_pkinit to the list of
263         libraries.
265         * tools/heimdal-gssapi.pc.in: pkg-config file for libgssapi in
266         heimdal.
268         * tools/Makefile.am: Add heimdal-gssapi.pc and install it into
269         $(libdir)/pkgconfig
271 2007-07-23  Love Hörnquist Åstrand  <lha@it.su.se>
273         * lib/krb5/pkinit.c: Add RFC3526 modp group14 as a default.
275 2007-07-22  Love Hörnquist Åstrand  <lha@it.su.se>
277         * lib/hdb/dbinfo.c (get_dbinfo): use dbname instead of realm as
278         key if the entry is a correct entry.
280         * lib/krb5/get_cred.c: Make krb5_get_renewed_creds work, from
281         Gunther Deschner.
283         * lib/krb5/Makefile.am: Add test_renew to noinst_PROGRAMS.
285         * lib/krb5/test_renew.c: Test for krb5_get_renewed_creds.
287 2007-07-21  Love Hörnquist Åstrand  <lha@it.su.se>
289         * lib/hdb/keys.c: Make parse_key_set handle key set string "v5",
290         from Peter Meinecke.
292         * kdc/kaserver.c: Don't ovewrite the error code, from Peter
293         Meinecke.
295 2007-07-18  Love Hörnquist Åstrand  <lha@it.su.se>
297         * TODO-1.0: remove 
299         * Makefile.am: remove TODO-1.0
301 2007-07-17  Love Hörnquist Åstrand  <lha@it.su.se>
303         * Heimdal 1.0 release branch cut here
304         
305         * doc/hx509.texi: use version.texi
306         
307         * doc/heimdal.texi: use version.texi
308         
309         * doc/version.texi: version.texi
311         * lib/hdb/db3.c: avoid type-punned pointer warning.
313         * kdc/kx509.c: Use unsigned char * as argument to HMAC_Update to
314         please OpenSSL and gcc.
316         * kdc/digest.c: Use unsigned char * as argument to MD5_Update to
317         please OpenSSL and gcc.
319 2007-07-16  Love Hörnquist Åstrand  <lha@it.su.se>
321         * include/Makefile.am: Add krb_err.h.
323         * kdc/set_dbinfo.c: Print acl file too.
325         * kdc/kerberos4.c: Error codes are just fine, remove XXX now.
327         * lib/krb5/krb5-v4compat.h: Drop duplicate error codes.
329         * kdc/kerberos4.c: switch to ET errors.
331         * lib/krb5/Makefile.am: Add krb_err.h to build_HEADERZ.
333         * lib/krb5/v4_glue.c: If its a Kerberos 4 error-code, remove the
334         et BASE.
336 2007-07-15  Love Hörnquist Åstrand  <lha@it.su.se>
338         * lib/krb5/krb5-v4compat.h: Include "krb_err.h".
340         * lib/krb5/v4_glue.c: return more interesting error codes.
342         * lib/krb5/plugin.c: Prefix enum plugin_type.
344         * lib/krb5/krb5_locl.h: Expose plugin structures.
345         
346         * lib/krb5/krb5.h: Add plugin structures.
348         * lib/krb5/krb_err.et: V4 errors.
350         * lib/krb5/version-script.map: First version of version script.
352 2007-07-13  Love Hörnquist Åstrand  <lha@it.su.se>
354         * kdc/kerberos5.c: Java 1.6 expects the name to be the same type,
355         lets allow that for uncomplicated name-types.
357 2007-07-12  Love Hörnquist Åstrand  <lha@it.su.se>
359         * lib/krb5/v4_glue.c (_krb5_krb_rd_req): if ticket contains
360         address 0, its ticket less and don't really care about
361         from_addr. return better error codes.
363         * kpasswd/kpasswdd.c: Fix pointer vs strict alias rules.
365 2007-07-11  Love Hörnquist Åstrand  <lha@it.su.se>
367         * lib/hdb/hdb-ldap.c: When using sambaNTPassword, avoid adding
368         more then one enctype 23 to krb5EncryptionType.
370         * lib/krb5/cache.c: Spelling.
372         * kdc/kerberos5.c: Don't send newer enctypes in ETYPE-INFO.
373         (get_pa_etype_info2): return the enctypes as sorted in the
374         database
376 2007-07-10  Love Hörnquist Åstrand  <lha@it.su.se>
378         * kuser/kinit.c: krb5-v4compat.h defines prototypes for
379         v4 (semiprivate functions) in libkrb5, don't include
380         krb5-private.h any longer.
382         * lib/krb5/krbhst.c: Set error string when there is no KDC for a
383         realm.
385         * lib/krb5/Makefile.am: New library version.
387         * kdc/Makefile.am: New library version.
389         * lib/krb5/krb5_locl.h: Add default_cc_name_env.
391         * lib/krb5/cache.c (enviroment_changed): return non-zero if
392         enviroment that will determine default krb5cc name has changed.
393         (krb5_cc_default_name): also check if cached value is uptodate.
395         * lib/krb5/krb5_locl.h: Drop pkinit_flags.
397 2007-07-05  Love Hörnquist Åstrand  <lha@it.su.se>
399         * configure.in: add tests/java/Makefile
401         * lib/hdb/dbinfo.c: Add hdb_dbinfo_get_log_file.
403 2007-07-04  Love Hörnquist Åstrand  <lha@it.su.se>
405         * kdc/kerberos5.c: Improve the default salt detection to avoid
406         returning v4 password salting to java that doesn't look at the
407         returning padata for salting.
409         * kdc: Split out krb5_kdc_set_dbinfo, From Andrew Bartlett
411 2007-07-02  Love Hörnquist Åstrand  <lha@it.su.se>
413         * kdc/digest.c: Try harder to provide better error message for
414         digest messages.
416         * lib/krb5/Makefile.am: verify_krb5_conf_OBJECTS depends on
417         krb5-pr*.h, make -j finds this.
418         
419 2007-06-28  Love Hörnquist Åstrand  <lha@it.su.se>
421         * kdc/digest.c: On success, print username, not ip-adress.
423 2007-06-26  Love Hörnquist Åstrand  <lha@it.su.se>
425         * lib/krb5/get_cred.c: Add krb5_get_renewed_creds.
427         * lib/krb5/krb5_get_credentials.3: add krb5_get_renewed_creds
429         * lib/krb5/pkinit.c: Use hx509_cms_unwrap_ContentInfo.
430         
431 2007-06-25  Love Hörnquist Åstrand  <lha@it.su.se>
433         * doc/setup.texi: Add example for pkinit_win2k_require_binding
434         in [kdc] section.
436         * kdc/default_config.c: Rename require_binding to
437         win2k_require_binding to match client configuration.
439         * kdc/default_config.c: Add [kdc]pkinit_require_binding option.
441         * kdc/pkinit.c (pk_mk_pa_reply_enckey): only allow non-bound reply
442         if its not required.
444         * kdc/default_config.c: rename pkinit_princ_in_cert and add
445         pkinit_require_binding
447         * kdc/kdc.h: rename pkinit_princ_in_cert and add
448         pkinit_require_binding
450         * kdc/pkinit.c: rename pkinit_princ_in_cert
452 2007-06-24  Love Hörnquist Åstrand  <lha@it.su.se>
454         * lib/krb5/pkinit.c: Adapt to hx509_verify_hostname change.
456 2007-06-21  Love Hörnquist Åstrand  <lha@it.su.se>
458         * kdc/krb5tgs.c: Drop unused variable.
460         * kdc/krb5tgs.c: disable anonyous tgs requests
462         * kdc/krb5tgs.c: Don't check PAC on cross realm for now.
464         * kuser/kgetcred.c: Set KRB5_GC_CONSTRAINED_DELEGATION and parse
465         nametypes.
467         * lib/krb5/krb5_principal.3: Document krb5_parse_nametype.
469         * lib/krb5/principal.c (krb5_parse_nametype): parse nametype and
470         return their integer values.
472         * lib/krb5/krb5.h (krb5_get_creds): Add
473         KRB5_GC_CONSTRAINED_DELEGATION.
475         * lib/krb5/get_cred.c (krb5_get_creds): if
476         KRB5_GC_CONSTRAINED_DELEGATION is set, set both request_anonymous
477         and constrained_delegation.
479 2007-06-20  Love Hörnquist Åstrand  <lha@it.su.se>
481         * kdc/digest.c: Return an error message instead of dropping the
482         packet for more failure cases.
484         * lib/krb5/krb5_principal.3: Add KRB5_PRINCIPAL_UNPARSE_DISPLAY.
486         * appl/gssmask/gssmask.c (AcquirePKInitCreds): fail more
487         gracefully
488         
489 2007-06-18  Love Hörnquist Åstrand  <lha@it.su.se>
491         * lib/krb5/pac.c: make compile.
492         
493         * lib/krb5/pac.c (verify_checksum): memset cksum to avoid using
494         pointer from stack.
496         * lib/krb5/plugin.c: Don't expose free pointer.
498         * lib/krb5/pkinit.c (_krb5_pk_load_id): fail directoy for first
499         calloc.
500         
501         * lib/krb5/pkinit.c (get_reply_key*): don't expose freed memory
503         * lib/krb5/krbhst.c: Host is static memory, don't free.
505         * lib/krb5/crypto.c (decrypt_internal_derived): make sure length
506         is longer then confounder + checksum.
508         * kdc: export get_dbinfo as krb5_kdc_set_dbinfo and call from
509         users. This to allows libkdc users to to specify their own
510         databases
512         * lib/krb5/pkinit.c (pk_rd_pa_reply_enckey): simplify handling of
513         content data (and avoid leaking memory).
515         * kdc/misc.c (_kdc_db_fetch): set error string for failures.
516         
517 2007-06-15  Love Hörnquist Åstrand  <lha@it.su.se>
519         * kdc/pkinit.c: Use KRB5_AUTHDATA_INITIAL_VERIFIED_CAS.
521 2007-06-13  Love Hörnquist Åstrand  <lha@it.su.se>
523         * kdc/pkinit.c: tell user when they got a pk-init request with
524         pkinit disabled.
526 2007-06-12  Love Hörnquist Åstrand  <lha@it.su.se>
527         
528         * lib/krb5/principal.c: Rename UNPARSE_NO_QUOTE to
529         UNPARSE_DISPLAY.
531         * lib/krb5/krb5.h: Rename UNPARSE_NO_QUOTE to UNPARSE_DISPLAY.
533         * lib/krb5/principal.c: Make no-quote mean replace strange chars
534         with space.
536         * lib/krb5/principal.c: Support KRB5_PRINCIPAL_UNPARSE_NO_QUOTE.
538         * lib/krb5/krb5.h: Add KRB5_PRINCIPAL_UNPARSE_NO_QUOTE.
540         * lib/krb5/test_princ.c: Test quoteing.
542         * lib/krb5/pkinit.c: update (c)
543         
544         * lib/krb5/get_cred.c: use krb5_sendto_context to talk to the KDC.
546         * lib/krb5/send_to_kdc.c (_krb5_kdc_retry): check if the whole
547         process needs to restart or just skip this KDC.
549         * lib/krb5/init_creds_pw.c: Use krb5_sendto_context to talk to
550         KDC.
552         * lib/krb5/krb5.h: Add sendto hooks and opaque structure.
554         * lib/krb5/krb5_rd_error.3: Update prototype.
556         * lib/krb5/send_to_kdc.c: Add hooks for processing the reply from
557         the server.
558         
559 2007-06-11  Love Hörnquist Åstrand  <lha@it.su.se>
561         * lib/krb5/krb5_err.et: Some new error codes from RFC 4120.
562         
563 2007-06-09  Love Hörnquist Åstrand  <lha@it.su.se>
565         * kdc/krb5tgs.c: Constify.
567         * kdc/kerberos5.c: Constify.
569         * kdc/pkinit.c: Check for KRB5-PADATA-PK-AS-09-BINDING. Constify.
571 2007-06-08  Love Hörnquist Åstrand  <lha@it.su.se>
573         * include/Makefile.am: Make krb5-types.h nodist_include_HEADERS.
575         * kdc/Makefile.am: EXTRA_DIST += version-script.map.
576         
577 2007-06-07  Love Hörnquist Åstrand  <lha@it.su.se>
578         
579         * Makefile.am (print-distdir): print name of dist
581         * kdc/pkinit.c: Break out loading of mappings file to a separate
582         function and remove warning that it can't open the mapping file,
583         there are now mappings in the db, maybe the users uses that
584         instead...
586         * lib/krb5/crypto.c: Require the raw key have the correct size and
587         do away with the minsize.  Minsize was a thing that originated
588         from RC2, but since RC2 is done in the x509/cms subsystem now
589         there is no need to keep that around.
591         * lib/hdb/dbinfo.c: If there is no default dbname, also check for
592         unset mkey_file and set it default mkey name, make backward compat
593         stuff work.
595         * kdc/version-script.map: add new symbols
597         * kdc/kdc-replay.c: Also update krb5_context view of what the time
598         is.
600         * configure.in: add tests/can/Makefile
602         * kdc/kdc-replay.c: Add --[version|help].
604         * kdc/pkinit.c: Push down the kdc time into the x509 library.
606         * kdc/connect.c: Move up krb5_kdc_save_request so we can catch the
607         reply data too.
609         * kdc/kdc-replay.c: verify reply by checking asn1 class, type and
610         tag of the reply if there is one.
612         * kdc/process.c: Save asn1 class, type and tag of the reply if
613         there is one. Used to verify the reply in kdc-replay.
615 2007-06-06  Love Hörnquist Åstrand  <lha@it.su.se>
617         * kdc/kdc_locl.h: extern for request_log.
619         * kdc/Makefile.am: Add kdc-replay.
621         * kdc/kdc-replay.c: Replay kdc messages to the KDC library.
623         * kdc/config.c: Pick up request_log from [kdc]kdc-request-log.
625         * kdc/connect.c: Option to save the request to disk.
627         * kdc/process.c (krb5_kdc_save_request): save request to file.
629         * kdc/process.c (krb5_kdc_process*): dont update _kdc_time
630         automagicly.
631         (krb5_kdc_update_time): set or get current kdc-time.
633         * kdc/pkinit.c (_kdc_pk_rd_padata): accept both pkcs-7 and
634         pkauthdata as the signeddata oid
635         
636         * kdc/pkinit.c (_kdc_pk_rd_padata): Try to log what went wrong.
638 2007-06-05  Love Hörnquist Åstrand  <lha@it.su.se>
639         
640         * kdc/pkinit.c: Use oid_id_pkcs7_data for pkinit-9 encKey reply to
641         match windows DC behavior better.
642         
643 2007-06-04  Love Hörnquist Åstrand  <lha@it.su.se>
645         * configure.in: use test for -framework Security
647         * appl/test/uu_server.c: Print status to stdout.
649         * kdc/digest.c (digest ntlm): provide log entires by setting ret
650         to an error.
651         
652 2007-06-03  Love Hörnquist Åstrand  <lha@it.su.se>
654         * doc/hx509.texi: Indent crl-sign.
656         * doc/hx509.texi: One more crl-sign example.
658         * lib/krb5/test_princ.c: plug memory leaks.
660         * lib/krb5/pac.c: plug memory leaks.
662         * lib/krb5/test_pac.c: plug memory leaks.
664         * lib/krb5/test_prf.c: plug memory leak.
666         * lib/krb5/test_cc.c: plug memory leaks.
668         * doc/hx509.texi: Simple blob about publishing CRLs.
670         * doc/win2k.texi: drop text about enctypes.
671         
672 2007-06-02  Love Hörnquist Åstrand  <lha@it.su.se>
674         * kdc/pkinit.c: In case of OCSP verification failure, referash
675         every 5 min. In case of success, refreash 2 min before expiring or
676         faster.
677         
678 2007-05-31  Love Hörnquist Åstrand  <lha@it.su.se>
679         
680         * lib/krb5/krb5_err.et: add error 68, WRONG_REALM
682         * kdc/pkinit.c: Handle the ms san in a propper way, still cheat
683         with the realm name.
685         * kdc/kerberos5.c: If _kdc_pk_check_client failes, bail out
686         directly and hand the error back to the client.
688         * lib/krb5/krb5_err.et: Add missing REVOCATION_STATUS_UNAVAILABLE
689         and fix error message for CLIENT_NAME_MISMATCH.
691         * kdc/pkinit.c: More logging for pk-init client mismatch.
693         * kdc/kerberos5.c: Also add a KRB5_PADATA_PK_AS_REQ_WIN for
694         windows pk-init (-9) to make MIT clients happy.
695         
696 2007-05-30  Love Hörnquist Åstrand  <lha@it.su.se>
697         
698         * kdc/pkinit.c: Force des3 for win2k.
700         * kdc/pkinit.c: Add wrapping to ContentInfo wrapping to
701         COMPAT_WIN2K.
703         * lib/krb5/keytab_keyfile.c: Spelling.
705         * kdc/pkinit.c: Allow matching by MS UPN SAN, note that this delta
706         doesn't deal with case of realm.
707         
708 2007-05-16  Love Hörnquist Åstrand  <lha@it.su.se>
710         * lib/krb5/crypto.c (krb5_crypto_overhead): return static overhead
711         of encryption.
712         
713 2007-05-10  Dave Love  <fx@gnu.org>
714         
715         * doc/win2k.texi: Update some URLs.
717 2007-05-13  Love Hörnquist Åstrand  <lha@it.su.se>
719         * kuser/kimpersonate.c: Fix version number of ticket, it should be
720         5 not the kvno.
721         
722 2007-05-08  Love Hörnquist Åstrand  <lha@it.su.se>
724         * doc/setup.texi: Salting is really Encryption types and salting.
725         
726 2007-05-07  Love Hörnquist Åstrand  <lha@it.su.se>
727         
728         * doc/setup.texi: spelling, from Ronny Blomme
730         * doc/win2k.texi: Fix ksetup /SetComputerPassword, from Ronny
731         Blomme
732         
733 2007-05-02  Love Hörnquist Åstrand  <lha@it.su.se>
735         * lib/hdb/dbinfo.c (hdb_get_dbinfo) If there are no database
736         specified, create one and let it use the defaults.
737         
738 2007-04-27  Love Hörnquist Åstrand  <lha@it.su.se>
739         
740         * lib/hdb/test_dbinfo.c: test acl file
742         * lib/hdb/test_dbinfo.c: test acl file
744         * lib/hdb/dbinfo.c: add acl file
746         * etc: ignore Makefile.in
748         * Makefile.am: SUBDIRS += etc
750         * configure.in: Add etc/Makefile.
752         * etc/Makefile.am: make sure services.append is distributed
754 2007-04-24  Love Hörnquist Åstrand  <lha@it.su.se>
756         * kdc: rename windc_init to krb5_kdc_windc_init
758         * kdc/version-script.map: version script for libkdc
759         
760         * kdc/Makefile.am: version script for libkdc
761         
762 2007-04-23  Love Hörnquist Åstrand  <lha@it.su.se>
764         * lib/krb5/init_creds.c (krb5_get_init_creds_opt_get_error):
765         correct the order of the arguments.
767         * lib/hdb/Makefile.am: Add and test dbinfo.
769         * lib/hdb/hdb.h: Forward declaration for struct hdb_dbinfo;
771         * kdc/config.c: Use krb5_kdc_get_config and just fill in what the
772         users wanted differently.
774         * kdc/default_config.c: Make the default configuration fetch info
775         from the krb5.conf.
776         
777 2007-04-22  Love Hörnquist Åstrand  <lha@it.su.se>
779         * lib/krb5/store.c (krb5_store_creds_tag): use session.keytype to
780         determine if to send the session-key, for the second place in the
781         function.
783         * tools/krb5-config.in: rename des to hcrypto
785         * kuser/Makefile.am: depend on libheimntlm
787         * kuser/kinit.c: Add --ntlm-domain that store the ntlm cred for
788         this domain if the Kerberos password auth worked.
790         * kuser/klist.c: add new option --hidden that doesn't display
791         principal that starts with @
793         * tools/krb5-config.in: Add heimntlm when we use gssapi.
795         * lib/krb5/krb5_ccache.3 (krb5_cc_retrieve_cred): document what to
796         free 'cred' with.
798         * lib/krb5/cache.c (krb5_cc_retrieve_cred): document what to free
799         'cred' with.
800         
801 2007-04-21  Love Hörnquist Åstrand  <lha@it.su.se>
803         * lib/krb5/store.c (krb5_store_creds_tag): use session.keytype to
804         determine if to send the session-key.
806         * kcm/client.c (kcm_ccache_new_client): make root be able to pass
807         the name constraints, not the opposite. From Bryan Jacobs.
808         
809 2007-04-20  Love Hörnquist Åstrand  <lha@it.su.se>
811         * kcm/acl.c: make compile again.
813         * kcm/client.c: fix warning.
814         
815         * kcm: First, it allows root to ignore the naming conventions.
816         Second, it allows root to always perform any operation on any
817         ccache.  Note that root could do this anyway with FILE ccaches.
818         From Bryan Jacobs.
820         * Rename libdes to libhcrypto.
822 2007-04-19  Love Hörnquist Åstrand  <lha@it.su.se>
824         * kinit: remove code that depend on kerberos 4 library
825         
826         * kdc: remove code that depend on kerberos 4 library
827         
828         * configure.in: Drop kerberos 4 support.
830         * kdc/hpropd.c (main): free the message when done with it.
832         * lib/krb5/pkinit.c (_krb5_get_init_creds_opt_free_pkinit):
833         remember to free memory too.
835         * lib/krb5/pkinit.c (pk_rd_pa_reply_dh): free content-type when
836         done.
838         * configure.in: test rk_VERSIONSCRIPT
839         
840 2007-04-18  Love Hörnquist Åstrand  <lha@it.su.se>
842         * fix-export: remove, all done by make dist now
844 2007-04-15  Love Hörnquist Åstrand  <lha@it.su.se>
846         * lib/krb5/krb5_get_credentials.3: spelling, from Jason McIntyre
848 2007-04-11  Love Hörnquist Åstrand  <lha@it.su.se>
850         * kdc/kstash.8: Spelling, from raga <raga@comcast.net> 
851         via Bjorn Sandell.
853         * lib/krb5/store_mem.c: indent.
855         * lib/krb5/recvauth.c: Set error string.
857         * lib/krb5/rd_req.c: clear error strings.
859         * lib/krb5/rd_cred.c: clear error string.
861         * lib/krb5/pkinit.c: Set error strings.
863         * lib/krb5/get_cred.c: Tell what principal we are not finding for
864         all KRB5_CC_NOTFOUND.
865         
866 2007-02-22  Love Hörnquist Åstrand  <lha@it.su.se>
867         
868         * kdc/kerberos5.c: Return the same error codes as a windows KDC.
870         * kuser/kinit.c: KRB5KDC_ERR_PREAUTH_FAILED is also a password
871         failed.
872         
873         * kdc/kerberos5.c: Make handling of replying e_data more generic,
874         from metze.
876         * kdc/kerberos5.c: Fix (string const and shadow) warnings, from
877         metze.
879         * lib/krb5/pac.c: Create the PAC element in the same order as
880         w2k3, maybe there's some broken code in windows which relies on
881         this... From metze.
883         * kdc/kerberos5.c: Select a session enctype from the list of the
884         crypto systems supported enctype, is supported by the client and
885         is one of the enctype of the enctype of the krbtgt.
886         
887         The later is used as a hint what enctype all KDC are supporting to
888         make sure a newer version of KDC wont generate a session enctype
889         that and older version of a KDC in the same realm can't decrypt.
890         
891         But if the KDC admin is paranoid and doesn't want to have "no the
892         best" enctypes on the krbtgt, lets save the best pick from the
893         client list and hope that that will work for any other KDCs.
894         
895         Reported by metze.
897         * kdc/hprop.c (propagate_database): on any failure, drop the
898         connection to the peer and try next one.
899         
900 2007-02-18  Love Hörnquist Åstrand  <lha@it.su.se>
902         * lib/krb5/krb5_get_init_creds.3: document new options.
904         * kdc/krb5tgs.c: Only check service key for cross realm PACs.
906         * lib/krb5/init_creds.c: use the new merged flags field.
907         (krb5_get_init_creds_opt_set_win2k): new function, turn on all w2k
908         compat flags.
910         * lib/krb5/init_creds_pw.c: use the new merged flags field.
912         * lib/krb5/krb5_locl.h: merge all flags into one entity
913         
914 2007-02-11  Dave Love  <fx@gnu.org>
915         
916         * lib/krb5/krb5_aname_to_localname.3: Small fixes
917         
918         * lib/krb5/krb5_digest.3: Small fixes
919         
920         * kuser/kimpersonate.1: Small fixes
922 2007-02-17  Love Hörnquist Åstrand  <lha@it.su.se>
924         * lib/krb5/init_creds_pw.c (find_pa_data): if there is no list,
925         there is no entry.
927         * kdc/krb5tgs.c: Don't check PACs on cross realm requests.
929         * lib/krb5/krb5.h: add KRB5_KU_CANONICALIZED_NAMES.
931         * lib/krb5/init_creds_pw.c: Verify client referral data.
933         * kdc/kerberos5.c: switch some "return ret" to "goto out".
934         
935         * kdc/kerberos5.c: Pass down canonicalize request to hdb layer,
936         sign client referrals.
937         
938         * lib/hdb/hdb.h: Add HDB_F_CANON.
940         * lib/hdb: add simple alias support to the database backends
942 2007-02-16  Love Hörnquist Åstrand  <lha@it.su.se>
944         * kuser/kinit.c: Add canonicalize flag.
946         * lib/krb5/init_creds_pw.c: Use EXTRACT_TICKET_* flags, support
947         canonicalize.
949         * lib/krb5/init_creds.c (krb5_get_init_creds_opt_set_canonicalize):
950         new function.
951         
952         * lib/krb5/get_cred.c: Use EXTRACT_TICKET_* flags.
954         * lib/krb5/get_in_tkt.c: Use EXTRACT_TICKET_* flags.
956         * lib/krb5/krb5_locl.h: Add EXTRACT_TICKET_* flags.
957         
958 2007-02-15  Love Hörnquist Åstrand  <lha@it.su.se>
960         * lib/krb5/test_princ.c: test parsing enterprise-names.
962         * lib/krb5/principal.c: Add support for parsing enterprise-names.
964         * lib/krb5/krb5.h: Add KRB5_PRINCIPAL_PARSE_ENTERPRISE.
966         * lib/hdb/hdb-ldap.c: Make work again.
967         
968 2007-02-11  Dave Love  <fx@gnu.org>
970         * kcm/client.c (kcm_ccache_new_client): Cast snprintf'ed value.
971         
972 2007-02-10  Love Hörnquist Åstrand  <lha@it.su.se>
973         
974         * doc/setup.texi: prune trailing space
976         * lib/hdb/db.c: Be better at setting and clearing error string.
978         * lib/hdb/hdb.c: Be better at setting and clearing error string.
980 2007-02-09  Love Hörnquist Åstrand  <lha@it.su.se>
982         * lib/krb5/keytab.c (krb5_kt_get_entry): Use krb5_kt_get_full_name
983         to print out the keytab name.
985         * doc/setup.texi: Spelling, from Guido Guenther
986         
987 2007-02-08  Love Hörnquist Åstrand  <lha@it.su.se>
989         * lib/krb5/rd_cred.c: Plug memory leak, from Michael B Allen.
991 2007-02-06  Love Hörnquist Åstrand  <lha@it.su.se>
993         * lib/krb5/test_store.c (test_uint16): unsigned ints can't be
994         negative
995         
996 2007-02-03  Love Hörnquist Åstrand  <lha@it.su.se>
998         * kdc/pkinit.c: pass extra flags for detached signatures.
1000         * lib/krb5/pkinit.c: pass extra flags for detached signatures.
1002         * kdc/digest.c: Remove debug output.
1004         * kuser/kdigest.c: Add support for ms-chap-v2 client.
1005         
1006 2007-02-02  Love Hörnquist Åstrand  <lha@it.su.se>
1007                 
1008         * kdc/digest.c: Fix ms-chap-v2 get_masterkey
1010         * kdc/digest.c: Fix ms-chap-v2 mutual response auth code.
1012         * kuser/kdigest.c: Print session key if there is one.
1014         * lib/krb5/digest.c: rename hash-a1 to session key
1016         * kdc/digest.c: Add get_master from RFC 3079 3.4 for MS-CHAP-V2
1018         * kuser/kdigest.c: print rsp if there is one, from Klas.
1020         * kdc/digest.c: Use right size, from Klas Lindfors.
1022         * kuser/kdigest.c: Set client nonce if avaible, from Klas.
1024         * kdc/digest.c: First version from kllin.
1026         * kuser/kdigest.c: Don't restrict the type.
1027         
1028 2007-02-01  Love Hörnquist Åstrand  <lha@it.su.se>
1029         
1030         * kuser/kdigest-commands.in: add --client-response
1032         * kuser/kdigest.c: Print status instead of response.
1034         * kdc/digest.c: Better logging and return status = FALSE when
1035         checksum doesn't match.
1037         * kdc/digest.c: Check the digest response in the KDC.
1039         * lib/krb5/digest.c: New functions to send in requestResponse to
1040         KDC and get status of the request.
1042         * kdc/digest.c: Add support for MS-CHAP v2.
1044         * lib/hdb/hdb-ldap.c: Set hdb->hdb_db for ldap.
1045         
1046 2007-01-31  Love Hörnquist Åstrand  <lha@it.su.se>
1048         * fix-export: Make hx509.info too
1050         * kdc/digest.c: don't verify identifier in CHAP, its the client
1051         that chooses it.
1052         
1053 2007-01-23  Love Hörnquist Åstrand  <lha@it.su.se>
1055         * lib/krb5/Makefile.am: Basic test of prf.
1057         * lib/krb5/test_prf.c: Basic test of prf.
1059         * lib/krb5/mit_glue.c: Add MIT glue for Kerberos RFC 3961 PRF
1060         functions.
1062         * lib/krb5/crypto.c: Add Kerberos RFC 3961 PRF functions.
1064         * lib/krb5/krb5_data.3: Document krb5_data_cmp.
1066         * lib/krb5/data.c: Add krb5_data_cmp.
1067         
1068 2007-01-20  Love Hörnquist Åstrand  <lha@it.su.se>
1070         * kdc/kx509.c: Don't use C99 syntax.
1071         
1072 2007-01-17  Love Hörnquist Åstrand  <lha@it.su.se>
1073         
1074         * configure.in: its LIBADD_roken (and shouldn't really exist, our
1075         libtool usage it broken)
1077         * configure.in: Add an extra variable for roken, LIBADD, that
1078         should be used for library depencies.
1080         * lib/krb5/send_to_kdc.c (krb5_sendto): zero out receive buffer.
1082         * lib/krb5/krb5_init_context.3: fix mdoc errors
1084         * Heimdal 0.8 branch cut today
1086         * doc/hx509.texi: Spelling and more about proxy certificates.
1088         * configure.in: check for arc4random
1089         
1090 2007-01-16  Love Hörnquist Åstrand  <lha@it.su.se>
1091         
1092         * lib/krb5/send_to_kdc.c (krb5_sendto): zero receive krb5_data
1093         before starting
1095         * tools/heimdal-build.sh: make cvs keep quiet
1097         * kuser/kverify.c: Use argument as principal if passed an
1098         argument. Bug report from Douglas E. Engert
1099         
1100 2007-01-15  Love Hörnquist Åstrand  <lha@it.su.se>
1101         
1102         * lib/krb5/rd_req.c (krb5_rd_req_ctx): The code failed to consider
1103         the enc_tkt_in_skey case, from Douglas E. Engert.
1105         * kdc/kx509.c: Issue certificates.
1107         * kdc/config.c: Parse kx509/kca configuration.
1109         * kdc/kdc.h: add kx509 config
1110         
1111 2007-01-14  Love Hörnquist Åstrand  <lha@it.su.se>
1112         
1113         * kdc/kerberos5.c (_kdc_find_padata): if there is not padata,
1114         there is nothing find.
1116         * doc/hx509.texi: Examples for pk-init.
1118         * doc/hx509.texi: About extending ca lifetime and sub cas.
1119         
1120 2007-01-13  Love Hörnquist Åstrand <lha@it.su.se>
1121         
1122         * doc/hx509.texi: More about certificates.
1123         
1124 2007-01-12  Love Hörnquist Åstrand  <lha@it.su.se>
1126         * doc/hx509.texi: add Application requirements and write about
1127         xmpp/jabber.
1128         
1129 2007-01-11  Love Hörnquist Åstrand  <lha@it.su.se>
1131         * doc/hx509.texi: More about issuing certificates.
1133         * doc/hx509.texi: Start of a x.509 manual.
1135         * include/Makefile.am: remove install headerfiles
1137         * lib/krb5/test_pac.c: Use more interesting data to cause more
1138         errors.
1140         * include/Makefile.am: remove install headerfiles
1142         * lib/krb5/mcache.c: MCC_CURSOR not used, remove.
1144         * lib/krb5/crypto.c: macro kcrypto_oid_enc now longer used
1146         * lib/krb5/rd_safe.c (krb5_rd_safe): set length before trying to
1147         allocate data
1148         
1149 2007-01-10  Love Hörnquist Åstrand  <lha@it.su.se>
1150         
1151         * doc/setup.texi: Hint about hxtool validate.
1153         * appl/test/uu_server.c: print both "server" and "client"
1155         * kdc/krb5tgs.c: Rename keys to be more obvious what they do.
1157         * kdc/kerberos5.c: Use other keys to sign PAC with. From Andrew
1158         Bartlett
1159         
1160         * kdc/windc.c: ident, spelling.
1162         * kdc/windc_plugin.h: indent.
1164         * kdc/krb5tgs.c: Pass down server entry to verify_pac function.
1165         from Andrew Bartlett
1167         * kdc/windc.c: pass down server entry to verify_pac function, from
1168         Andrew Bartlett
1170         * kdc/windc_plugin.h: pass down server entry to verify_pac
1171         function, from Andrew Bartlett
1173         * configure.in: Provide a automake symbol ENABLE_SHARED if shared
1174         libraries are built.
1176         * lib/krb5/rd_req.c (krb5_rd_req_ctx): Use the correct keyblock
1177         when verifying the PAC.  From Andrew Bartlett.
1178         
1179 2007-01-09  Love Hörnquist Åstrand  <lha@it.su.se>
1181         * lib/krb5/test_pac.c: move around to code test on real PAC.
1183         * lib/krb5/pac.c: A tiny 2 char diffrence that make the code work
1184         for real.
1186         * lib/krb5/test_pac.c: Test more PAC (note that the values used in
1187         this test is wrong, they have to be fixed when the pac code is
1188         fixed).
1190         * doc/setup.texi: Update to new hxtool issue-certificate usage
1192         * lib/krb5/init_creds_pw.c: Make sure we don't sent both ENC-TS
1193         and PK-INIT pa data, no need to expose our password protecting our
1194         PKCS12 key.
1196         * kuser/klist.c (print_cred_verbose): include ticket length in the
1197         verbose output
1198         
1199 2007-01-08  Love Hörnquist Åstrand  <lha@it.su.se>
1200         
1201         * lib/krb5/acache.c (loadlib): pass RTLD_LAZY to dlopen, without
1202         it linux is unhappy.
1204         * lib/krb5/plugin.c (loadlib): pass RTLD_LAZY to dlopen, without
1205         it linux is unhappy.
1207         * lib/krb5/name-45-test.c: One of the hosts I sometimes uses is
1208         named "bar.domain", this make one of the tests pass when it
1209         shouldn't.
1211 2007-01-05  Love Hörnquist Åstrand  <lha@it.su.se>
1213         * doc/setup.texi: Change --key argument to --out-key.
1215         * kuser/kimpersonate.1: mangle my name
1216         
1217 2007-01-04  Love Hörnquist Åstrand  <lha@it.su.se>
1218         
1219         * doc/setup.texi: describe how to use hx509 to create
1220         certificates.
1222         * tools/heimdal-build.sh: Add --distcheck.
1224         * kdc/kerberos5.c: Check for KRB5_PADATA_PA_PAC_REQUEST to check
1225         if we should include the PAC in the krbtgt.
1227         * kdc/pkinit.c (_kdc_as_rep): check if
1228         krb5_generate_random_keyblock failes.
1230         * kdc/kerberos5.c (_kdc_as_rep): check if
1231         krb5_generate_random_keyblock failes.
1233         * kdc/krb5tgs.c (tgs_build_reply): check if
1234         krb5_generate_random_keyblock failes.
1236         * kdc/krb5tgs.c: Scope etype.
1238         * lib/krb5/rd_req.c: Make it possible to turn off PAC check, its
1239         default on.
1241         * lib/krb5/rd_req.c (krb5_rd_req_ctx): If there is a PAC, verify
1242         its server signature.
1244         * kdc/kerberos5.c (_kdc_as_rep): call windc client access hook.
1245         (_kdc_tkt_add_if_relevant_ad): constify in data argument.
1247         * kdc/windc_plugin.h: More comments add a client_access hook.
1249         * kdc/windc.c: Add _kdc_windc_client_access.
1251         * kdc/krb5tgs.c: rename functions after export some more pac
1252         functions.
1254         * lib/krb5/test_pac.c: export some more pac functions.
1256         * lib/krb5/pac.c: export some more pac functions.
1258         * kdc/krb5tgs.c: Resign the PAC in tgsreq if we have a PAC.
1260         * configure.in: add tests/plugin/Makefile
1261         
1262 2007-01-03  Love Hörnquist Åstrand  <lha@it.su.se>
1264         * kdc/krb5tgs.c: Get right key for PAC krbtgt verification.
1266         * kdc/config.c: spelling
1268         * lib/krb5/krb5.h: typedef for krb5_pac.
1270         * kdc/headers.h: Include <windc_plugin.h>.
1272         * kdc/Makefile.am: Include windc.c and use windc_plugin.h
1274         * kdc/krb5tgs.c: Call callbacks for emulating a Windows Domain
1275         Controller.
1277         * kdc/kerberos5.c: Call callbacks for emulating a Windows Domain
1278         Controller.  Move the some of the log related stuff to its own
1279         function.
1281         * kdc/config.c: Init callbacks for emulating a Windows Domain
1282         Controller.
1284         * kdc/windc.c: Rename the init function to windc instead of pac.
1286         * kdc/windc.c: Callbacks specific to emulating a Windows Domain
1287         Controller.
1289         * kdc/windc_plugin.h: Callbacks specific to emulating a Windows
1290         Domain Controller.
1292         * lib/krb5/Makefile.am: add krb5_HEADERS to build_HEADERZ
1294         * lib/krb5/pac.c: Support all keyed checksum types.
1295         
1296 2007-01-02  Love Hörnquist Åstrand  <lha@it.su.se>
1297         
1298         * lib/krb5/pac.c (krb5_pac_get_types): Return list of types.
1299         
1300         * lib/krb5/test_pac.c: test krb5_pac_get_types
1302         * lib/krb5/krbhst.c: Add KRB5_KRBHST_KCA.
1304         * lib/krb5/krbhst.c: Add KRB5_KRBHST_KCA.
1306         * lib/krb5/krb5.h: Add KRB5_KRBHST_KCA.
1308         * lib/krb5/test_pac.c: test Add/remove pac buffer functions.
1310         * lib/krb5/pac.c: Add/remove pac buffer functions.
1312         * lib/krb5/pac.c: sprinkle const
1314         * lib/krb5/pac.c: rename DCHECK to CHECK
1315         
1316         * Happy New Year.