x
[heimdal.git] / ChangeLog
blob9801a78e40ee14112a80e357e70a23233c3b8206
1 2007-12-08  Love Hörnquist Åstrand  <lha@it.su.se>
3         * kdc/hpropd.c: Use hdb_default_db().
5         * kdc/kstash.c: Use hdb_db_dir().
7         * kdc/pkinit.c: Adapt to hx509 changes, use hdb_db_dir().
9         * lib/krb5/rd_req.c: Document krb5_rd_req_in_set_pac_check.
11         * lib/krb5/verify_krb5_conf.c: Check check_pac.
13         * lib/krb5/rd_req.c: use KRB5_CTX_F_CHECK_PAC to init check_pac
14         field in the krb5_rd_req_in_ctx
16         * lib/krb5/expand_hostname.c: Adapt to changing
17         dns_canonicalize_hostname into flags field.
19         * lib/krb5/context.c: Adapt to changing dns_canonicalize_hostname
20         into flags field, add check-pac as an libdefaults option.
22         * lib/krb5/pkinit.c: Adapt to changes in hx509 interface.
24         * doc: add doxygen documentation to hcrypto
26         * doc/doxytmpl.dxy: generate links
27         
28 2007-12-07  Love Hörnquist Åstrand  <lha@it.su.se>
30         * lib/krb5/Makefile.am: build_HEADERZ += heim_threads.h
32         * lib/hdb/dbinfo.c (hdb_db_dir): Return the directory where the
33         hdb database resides.
35         * configure.in: Add --with-hdbdir to specify where the database is
36         stored.
38         * lib/krb5/crypto.c: revert previous patch, the problem is located
39         in the RAND_file_name() function that will cause recursive nss
40         lookups, can't fix that here.
42 2007-12-06  Love Hörnquist Åstrand  <lha@it.su.se>
44         * lib/krb5/crypto.c (krb5_generate_random_block): try to avoid the
45         dead-lock in by not holding the lock while running
46         RAND_file_name. Prompted by Hai Zaar.
48         * lib/krb5/n-fold.c: spelling
49         
50 2007-12-04  Love Hörnquist Åstrand  <lha@it.su.se>
52         * kuser/kdigest.c (digest-probe): implement command.
54         * kuser/kdigest-commands.in (digest-probe): new command
55         
56         * kdc/digest.c: Implement supportedMechs request.
58         * lib/krb5/error_string.c: Make krb5_get_error_string return an
59         allocated string to make the function indempotent. From
60         Zeqing (Fred) Xia.
62 2007-12-03  Love Hörnquist Åstrand  <lha@it.su.se>
64         * lib/krb5/krb5_locl.h (krb5_context_data): Flag if
65         default_cc_name was set by the user.
67         * lib/krb5/fcache.c (fcc_move): make sure ->version is uptodate.
69         * kcm/acquire.c: use krb5_free_cred_contents
71         * kuser/kimpersonate.c: use krb5_free_cred_contents
72         
73         * kuser/kinit.c: Use krb5_cc_move to make an atomic switch of the
74         cred cache.
76         * lib/krb5/cache.c: Put back code that was needed, move gen_new
77         into new_unique.
79         * lib/krb5/mcache.c (mcc_default_name): Remove const
81         * lib/krb5/krb5_locl.h: Add KRB5_DEFAULT_CCNAME_KCM, redefine
82         KRB5_DEFAULT_CCNAME to KRB5_DEFAULT_CCTYPE
84         * lib/krb5/cache.c: Use krb5_cc_ops->default_name to get the
85         default name.
87         * lib/krb5/kcm.c: Implement krb5_cc_ops->default_name.
89         * lib/krb5/mcache.c: Implement krb5_cc_ops->default_name.
91         * lib/krb5/fcache.c: Implement krb5_cc_ops->default_name.
93         * lib/krb5/krb5.h: Add krb5_cc_ops->default_name.
95         * lib/krb5/acache.c: Free context when done, implement
96         krb5_cc_ops->default_name.
98         * lib/krb5/kcm.c: implement dummy kcm_move
100         * lib/krb5/mcache.c: Implement the move operation.
102         * lib/krb5/version-script.map: export krb5_cc_move
104         * lib/krb5/cache.c: New function krb5_cc_move().
106         * lib/krb5/fcache.c: Implement the move operation.
108         * lib/krb5/krb5.h: Add move to the krb5_cc_ops, causes major
109         version bump.
111         * lib/krb5/acache.c: Implement the move operation. Avoid using
112         cc_set_principal() since it broken on Mac OS X 10.5.0.
113         
114 2007-12-02  Love Hörnquist Åstrand  <lha@it.su.se>
116         * lib/krb5/krb5_ccapi.h: Drop variable names to avoid -Wshadow.
117         
118 2007-11-14  Love Hörnquist Åstrand  <lha@it.su.se>
120         * kdc/krb5tgs.c: Should pass different key usage constants
121         depending on whether or not optional sub-session key was passed by
122         the client for the check of authorization data. The constant is
123         used to derive "specific key" and its values are specified in
124         7.5.1 of RFC4120.
125         
126         Patch from Andy Polyakov.
128         * kdc/krb5tgs.c: Don't send auth data in referrals, microsoft
129         clients have started to not like that. Thanks to Andy Polyakov for
130         excellent research.
132 2007-11-11  Love Hörnquist Åstrand  <lha@it.su.se>
134         * lib/krb5/creds.c: use krb5_data_cmp
136         * lib/krb5/acache.c: use krb5_free_cred_contents
138         * lib/krb5/test_renew.c: use krb5_free_cred_contents
139         
140 2007-11-10  Love Hörnquist Åstrand  <lha@it.su.se>
142         * lib/krb5/acl.c: doxygen documentation
144         * lib/krb5/addr_families.c: doxygen documentation
146         * doc: add doxygen
148         * lib/krb5/plugin.c: doxygen documentation
150         * lib/krb5/kcm.c: doxygen documentation
152         * lib/krb5/fcache.c: doxygen documentation
154         * lib/krb5/cache.c: doxygen documentations
155         
156         * lib/krb5/doxygen.c: doxygen introduction
158         * lib/krb5/error_string.c: Doxygen documentation.
160 2007-11-03  Love Hörnquist Åstrand  <lha@it.su.se>
162         * lib/krb5/test_plugin.c: expose krb5_plugin_register
164         * lib/krb5/plugin.c: expose krb5_plugin_register
166         * lib/krb5/version-script.map: sort, expose krb5_plugin_register
168 2007-10-24  Love Hörnquist Åstrand  <lha@it.su.se>
170         * kdc/kerberos5.c: Adding same enctype is enough one time. From
171         Andy Polyakov and Bjorn Sandell.
172         
173 2007-10-18  Love  <lha@stacken.kth.se>
175         * lib/krb5/cache.c (krb5_cc_retrieve_cred): check return value
176         from krb5_cc_start_seq_get. From Zeqing (Fred) Xia
177         
178         * lib/krb5/fcache.c (init_fcc): provide better error codes
180         * kdc/kerberos5.c (get_pa_etype_info2): more paranoia, avoid
181         sending warning about pruned etypes.
183         * kdc/kerberos5.c (older_enctype): old windows enctypes (arcfour
184         based) "old", this to support windows 2000 clients (unjoined to a
185         domain). From Andy Polyakov.
187 2007-10-07  Love Hörnquist Åstrand  <lha@it.su.se>
189         * doc/setup.texi: Spelling, from Mark Peoples via Bjorn Sandell.
190         
191 2007-10-04  Love Hörnquist Åstrand  <lha@it.su.se>
193         * kdc/krb5tgs.c: More prettier printing of enctype, from KAMADA
194         Ken'ichi.
196         * lib/krb5/crypto.c (krb5_enctype_to_string): make sure string is
197         NULL on failure.
199 2007-10-03  Love Hörnquist Åstrand  <lha@it.su.se>
201         * kdc/kdc-replay.c: Catch KRB5_PROG_ATYPE_NOSUPP from
202         krb5_addr2sockaddr and igore thte test is that case.
203         
204 2007-09-29  Love Hörnquist Åstrand  <lha@it.su.se>
206         * lib/krb5/context.c (krb5_free_context): free
207         default_cc_name_env, from Gunther Deschner.
209 2007-08-27  Love Hörnquist Åstrand  <lha@it.su.se>
211         * lib/krb5/{krb5.h,pac.c,test_pac.c,send_to_kdc.c,rd_req.c}: Make
212         work with c++, reported by Hai Zaar
214         * lib/krb5/{digest.c,krb5.h}: Make work with c++, reported by Hai Zaar
216 2007-08-20  Love Hörnquist Åstrand  <lha@it.su.se>
218         * lib/hdb/Makefile.am: EXTRA_DIST += hdb.schema
220 2007-07-31  Love Hörnquist Åstrand  <lha@it.su.se>
222         * check return value of alloc functions, from Charles Longeau
224         * lib/krb5/principal.c: spelling.
226         * kadmin/kadmin.8: spelling
228         * lib/krb5/crypto.c: Check return values from alloc
229         functions. Prompted by patch of Charles Longeau.
231         * lib/krb5/n-fold.c: Make _krb5_n_fold return a error
232         code. Prompted by patch of Charles Longeau.
234 2007-07-27  Love Hörnquist Åstrand  <lha@it.su.se>
236         * lib/krb5/init_creds.c: Always set the ticket options, use
237         KRB5_ADDRESSLESS_DEFAULT as the default value, this make the unset
238         tri-state not so useful.
240 2007-07-24  Love Hörnquist Åstrand  <lha@it.su.se>
242         * tools/heimdal-gssapi.pc.in: Add LIB_pkinit to the list of
243         libraries.
245         * tools/heimdal-gssapi.pc.in: pkg-config file for libgssapi in
246         heimdal.
248         * tools/Makefile.am: Add heimdal-gssapi.pc and install it into
249         $(libdir)/pkgconfig
251 2007-07-23  Love Hörnquist Åstrand  <lha@it.su.se>
253         * lib/krb5/pkinit.c: Add RFC3526 modp group14 as a default.
255 2007-07-22  Love Hörnquist Åstrand  <lha@it.su.se>
257         * lib/hdb/dbinfo.c (get_dbinfo): use dbname instead of realm as
258         key if the entry is a correct entry.
260         * lib/krb5/get_cred.c: Make krb5_get_renewed_creds work, from
261         Gunther Deschner.
263         * lib/krb5/Makefile.am: Add test_renew to noinst_PROGRAMS.
265         * lib/krb5/test_renew.c: Test for krb5_get_renewed_creds.
267 2007-07-21  Love Hörnquist Åstrand  <lha@it.su.se>
269         * lib/hdb/keys.c: Make parse_key_set handle key set string "v5",
270         from Peter Meinecke.
272         * kdc/kaserver.c: Don't ovewrite the error code, from Peter
273         Meinecke.
275 2007-07-18  Love Hörnquist Åstrand  <lha@it.su.se>
277         * TODO-1.0: remove 
279         * Makefile.am: remove TODO-1.0
281 2007-07-17  Love Hörnquist Åstrand  <lha@it.su.se>
283         * Heimdal 1.0 release branch cut here
284         
285         * doc/hx509.texi: use version.texi
286         
287         * doc/heimdal.texi: use version.texi
288         
289         * doc/version.texi: version.texi
291         * lib/hdb/db3.c: avoid type-punned pointer warning.
293         * kdc/kx509.c: Use unsigned char * as argument to HMAC_Update to
294         please OpenSSL and gcc.
296         * kdc/digest.c: Use unsigned char * as argument to MD5_Update to
297         please OpenSSL and gcc.
299 2007-07-16  Love Hörnquist Åstrand  <lha@it.su.se>
301         * include/Makefile.am: Add krb_err.h.
303         * kdc/set_dbinfo.c: Print acl file too.
305         * kdc/kerberos4.c: Error codes are just fine, remove XXX now.
307         * lib/krb5/krb5-v4compat.h: Drop duplicate error codes.
309         * kdc/kerberos4.c: switch to ET errors.
311         * lib/krb5/Makefile.am: Add krb_err.h to build_HEADERZ.
313         * lib/krb5/v4_glue.c: If its a Kerberos 4 error-code, remove the
314         et BASE.
316 2007-07-15  Love Hörnquist Åstrand  <lha@it.su.se>
318         * lib/krb5/krb5-v4compat.h: Include "krb_err.h".
320         * lib/krb5/v4_glue.c: return more interesting error codes.
322         * lib/krb5/plugin.c: Prefix enum plugin_type.
324         * lib/krb5/krb5_locl.h: Expose plugin structures.
325         
326         * lib/krb5/krb5.h: Add plugin structures.
328         * lib/krb5/krb_err.et: V4 errors.
330         * lib/krb5/version-script.map: First version of version script.
332 2007-07-13  Love Hörnquist Åstrand  <lha@it.su.se>
334         * kdc/kerberos5.c: Java 1.6 expects the name to be the same type,
335         lets allow that for uncomplicated name-types.
337 2007-07-12  Love Hörnquist Åstrand  <lha@it.su.se>
339         * lib/krb5/v4_glue.c (_krb5_krb_rd_req): if ticket contains
340         address 0, its ticket less and don't really care about
341         from_addr. return better error codes.
343         * kpasswd/kpasswdd.c: Fix pointer vs strict alias rules.
345 2007-07-11  Love Hörnquist Åstrand  <lha@it.su.se>
347         * lib/hdb/hdb-ldap.c: When using sambaNTPassword, avoid adding
348         more then one enctype 23 to krb5EncryptionType.
350         * lib/krb5/cache.c: Spelling.
352         * kdc/kerberos5.c: Don't send newer enctypes in ETYPE-INFO.
353         (get_pa_etype_info2): return the enctypes as sorted in the
354         database
356 2007-07-10  Love Hörnquist Åstrand  <lha@it.su.se>
358         * kuser/kinit.c: krb5-v4compat.h defines prototypes for
359         v4 (semiprivate functions) in libkrb5, don't include
360         krb5-private.h any longer.
362         * lib/krb5/krbhst.c: Set error string when there is no KDC for a
363         realm.
365         * lib/krb5/Makefile.am: New library version.
367         * kdc/Makefile.am: New library version.
369         * lib/krb5/krb5_locl.h: Add default_cc_name_env.
371         * lib/krb5/cache.c (enviroment_changed): return non-zero if
372         enviroment that will determine default krb5cc name has changed.
373         (krb5_cc_default_name): also check if cached value is uptodate.
375         * lib/krb5/krb5_locl.h: Drop pkinit_flags.
377 2007-07-05  Love Hörnquist Åstrand  <lha@it.su.se>
379         * configure.in: add tests/java/Makefile
381         * lib/hdb/dbinfo.c: Add hdb_dbinfo_get_log_file.
383 2007-07-04  Love Hörnquist Åstrand  <lha@it.su.se>
385         * kdc/kerberos5.c: Improve the default salt detection to avoid
386         returning v4 password salting to java that doesn't look at the
387         returning padata for salting.
389         * kdc: Split out krb5_kdc_set_dbinfo, From Andrew Bartlett
391 2007-07-02  Love Hörnquist Åstrand  <lha@it.su.se>
393         * kdc/digest.c: Try harder to provide better error message for
394         digest messages.
396         * lib/krb5/Makefile.am: verify_krb5_conf_OBJECTS depends on
397         krb5-pr*.h, make -j finds this.
398         
399 2007-06-28  Love Hörnquist Åstrand  <lha@it.su.se>
401         * kdc/digest.c: On success, print username, not ip-adress.
403 2007-06-26  Love Hörnquist Åstrand  <lha@it.su.se>
405         * lib/krb5/get_cred.c: Add krb5_get_renewed_creds.
407         * lib/krb5/krb5_get_credentials.3: add krb5_get_renewed_creds
409         * lib/krb5/pkinit.c: Use hx509_cms_unwrap_ContentInfo.
410         
411 2007-06-25  Love Hörnquist Åstrand  <lha@it.su.se>
413         * doc/setup.texi: Add example for pkinit_win2k_require_binding
414         in [kdc] section.
416         * kdc/default_config.c: Rename require_binding to
417         win2k_require_binding to match client configuration.
419         * kdc/default_config.c: Add [kdc]pkinit_require_binding option.
421         * kdc/pkinit.c (pk_mk_pa_reply_enckey): only allow non-bound reply
422         if its not required.
424         * kdc/default_config.c: rename pkinit_princ_in_cert and add
425         pkinit_require_binding
427         * kdc/kdc.h: rename pkinit_princ_in_cert and add
428         pkinit_require_binding
430         * kdc/pkinit.c: rename pkinit_princ_in_cert
432 2007-06-24  Love Hörnquist Åstrand  <lha@it.su.se>
434         * lib/krb5/pkinit.c: Adapt to hx509_verify_hostname change.
436 2007-06-21  Love Hörnquist Åstrand  <lha@it.su.se>
438         * kdc/krb5tgs.c: Drop unused variable.
440         * kdc/krb5tgs.c: disable anonyous tgs requests
442         * kdc/krb5tgs.c: Don't check PAC on cross realm for now.
444         * kuser/kgetcred.c: Set KRB5_GC_CONSTRAINED_DELEGATION and parse
445         nametypes.
447         * lib/krb5/krb5_principal.3: Document krb5_parse_nametype.
449         * lib/krb5/principal.c (krb5_parse_nametype): parse nametype and
450         return their integer values.
452         * lib/krb5/krb5.h (krb5_get_creds): Add
453         KRB5_GC_CONSTRAINED_DELEGATION.
455         * lib/krb5/get_cred.c (krb5_get_creds): if
456         KRB5_GC_CONSTRAINED_DELEGATION is set, set both request_anonymous
457         and constrained_delegation.
459 2007-06-20  Love Hörnquist Åstrand  <lha@it.su.se>
461         * kdc/digest.c: Return an error message instead of dropping the
462         packet for more failure cases.
464         * lib/krb5/krb5_principal.3: Add KRB5_PRINCIPAL_UNPARSE_DISPLAY.
466         * appl/gssmask/gssmask.c (AcquirePKInitCreds): fail more
467         gracefully
468         
469 2007-06-18  Love Hörnquist Åstrand  <lha@it.su.se>
471         * lib/krb5/pac.c: make compile.
472         
473         * lib/krb5/pac.c (verify_checksum): memset cksum to avoid using
474         pointer from stack.
476         * lib/krb5/plugin.c: Don't expose free pointer.
478         * lib/krb5/pkinit.c (_krb5_pk_load_id): fail directoy for first
479         calloc.
480         
481         * lib/krb5/pkinit.c (get_reply_key*): don't expose freed memory
483         * lib/krb5/krbhst.c: Host is static memory, don't free.
485         * lib/krb5/crypto.c (decrypt_internal_derived): make sure length
486         is longer then confounder + checksum.
488         * kdc: export get_dbinfo as krb5_kdc_set_dbinfo and call from
489         users. This to allows libkdc users to to specify their own
490         databases
492         * lib/krb5/pkinit.c (pk_rd_pa_reply_enckey): simplify handling of
493         content data (and avoid leaking memory).
495         * kdc/misc.c (_kdc_db_fetch): set error string for failures.
496         
497 2007-06-15  Love Hörnquist Åstrand  <lha@it.su.se>
499         * kdc/pkinit.c: Use KRB5_AUTHDATA_INITIAL_VERIFIED_CAS.
501 2007-06-13  Love Hörnquist Åstrand  <lha@it.su.se>
503         * kdc/pkinit.c: tell user when they got a pk-init request with
504         pkinit disabled.
506 2007-06-12  Love Hörnquist Åstrand  <lha@it.su.se>
507         
508         * lib/krb5/principal.c: Rename UNPARSE_NO_QUOTE to
509         UNPARSE_DISPLAY.
511         * lib/krb5/krb5.h: Rename UNPARSE_NO_QUOTE to UNPARSE_DISPLAY.
513         * lib/krb5/principal.c: Make no-quote mean replace strange chars
514         with space.
516         * lib/krb5/principal.c: Support KRB5_PRINCIPAL_UNPARSE_NO_QUOTE.
518         * lib/krb5/krb5.h: Add KRB5_PRINCIPAL_UNPARSE_NO_QUOTE.
520         * lib/krb5/test_princ.c: Test quoteing.
522         * lib/krb5/pkinit.c: update (c)
523         
524         * lib/krb5/get_cred.c: use krb5_sendto_context to talk to the KDC.
526         * lib/krb5/send_to_kdc.c (_krb5_kdc_retry): check if the whole
527         process needs to restart or just skip this KDC.
529         * lib/krb5/init_creds_pw.c: Use krb5_sendto_context to talk to
530         KDC.
532         * lib/krb5/krb5.h: Add sendto hooks and opaque structure.
534         * lib/krb5/krb5_rd_error.3: Update prototype.
536         * lib/krb5/send_to_kdc.c: Add hooks for processing the reply from
537         the server.
538         
539 2007-06-11  Love Hörnquist Åstrand  <lha@it.su.se>
541         * lib/krb5/krb5_err.et: Some new error codes from RFC 4120.
542         
543 2007-06-09  Love Hörnquist Åstrand  <lha@it.su.se>
545         * kdc/krb5tgs.c: Constify.
547         * kdc/kerberos5.c: Constify.
549         * kdc/pkinit.c: Check for KRB5-PADATA-PK-AS-09-BINDING. Constify.
551 2007-06-08  Love Hörnquist Åstrand  <lha@it.su.se>
553         * include/Makefile.am: Make krb5-types.h nodist_include_HEADERS.
555         * kdc/Makefile.am: EXTRA_DIST += version-script.map.
556         
557 2007-06-07  Love Hörnquist Åstrand  <lha@it.su.se>
558         
559         * Makefile.am (print-distdir): print name of dist
561         * kdc/pkinit.c: Break out loading of mappings file to a separate
562         function and remove warning that it can't open the mapping file,
563         there are now mappings in the db, maybe the users uses that
564         instead...
566         * lib/krb5/crypto.c: Require the raw key have the correct size and
567         do away with the minsize.  Minsize was a thing that originated
568         from RC2, but since RC2 is done in the x509/cms subsystem now
569         there is no need to keep that around.
571         * lib/hdb/dbinfo.c: If there is no default dbname, also check for
572         unset mkey_file and set it default mkey name, make backward compat
573         stuff work.
575         * kdc/version-script.map: add new symbols
577         * kdc/kdc-replay.c: Also update krb5_context view of what the time
578         is.
580         * configure.in: add tests/can/Makefile
582         * kdc/kdc-replay.c: Add --[version|help].
584         * kdc/pkinit.c: Push down the kdc time into the x509 library.
586         * kdc/connect.c: Move up krb5_kdc_save_request so we can catch the
587         reply data too.
589         * kdc/kdc-replay.c: verify reply by checking asn1 class, type and
590         tag of the reply if there is one.
592         * kdc/process.c: Save asn1 class, type and tag of the reply if
593         there is one. Used to verify the reply in kdc-replay.
595 2007-06-06  Love Hörnquist Åstrand  <lha@it.su.se>
597         * kdc/kdc_locl.h: extern for request_log.
599         * kdc/Makefile.am: Add kdc-replay.
601         * kdc/kdc-replay.c: Replay kdc messages to the KDC library.
603         * kdc/config.c: Pick up request_log from [kdc]kdc-request-log.
605         * kdc/connect.c: Option to save the request to disk.
607         * kdc/process.c (krb5_kdc_save_request): save request to file.
609         * kdc/process.c (krb5_kdc_process*): dont update _kdc_time
610         automagicly.
611         (krb5_kdc_update_time): set or get current kdc-time.
613         * kdc/pkinit.c (_kdc_pk_rd_padata): accept both pkcs-7 and
614         pkauthdata as the signeddata oid
615         
616         * kdc/pkinit.c (_kdc_pk_rd_padata): Try to log what went wrong.
618 2007-06-05  Love Hörnquist Åstrand  <lha@it.su.se>
619         
620         * kdc/pkinit.c: Use oid_id_pkcs7_data for pkinit-9 encKey reply to
621         match windows DC behavior better.
622         
623 2007-06-04  Love Hörnquist Åstrand  <lha@it.su.se>
625         * configure.in: use test for -framework Security
627         * appl/test/uu_server.c: Print status to stdout.
629         * kdc/digest.c (digest ntlm): provide log entires by setting ret
630         to an error.
631         
632 2007-06-03  Love Hörnquist Åstrand  <lha@it.su.se>
634         * doc/hx509.texi: Indent crl-sign.
636         * doc/hx509.texi: One more crl-sign example.
638         * lib/krb5/test_princ.c: plug memory leaks.
640         * lib/krb5/pac.c: plug memory leaks.
642         * lib/krb5/test_pac.c: plug memory leaks.
644         * lib/krb5/test_prf.c: plug memory leak.
646         * lib/krb5/test_cc.c: plug memory leaks.
648         * doc/hx509.texi: Simple blob about publishing CRLs.
650         * doc/win2k.texi: drop text about enctypes.
651         
652 2007-06-02  Love Hörnquist Åstrand  <lha@it.su.se>
654         * kdc/pkinit.c: In case of OCSP verification failure, referash
655         every 5 min. In case of success, refreash 2 min before expiring or
656         faster.
657         
658 2007-05-31  Love Hörnquist Åstrand  <lha@it.su.se>
659         
660         * lib/krb5/krb5_err.et: add error 68, WRONG_REALM
662         * kdc/pkinit.c: Handle the ms san in a propper way, still cheat
663         with the realm name.
665         * kdc/kerberos5.c: If _kdc_pk_check_client failes, bail out
666         directly and hand the error back to the client.
668         * lib/krb5/krb5_err.et: Add missing REVOCATION_STATUS_UNAVAILABLE
669         and fix error message for CLIENT_NAME_MISMATCH.
671         * kdc/pkinit.c: More logging for pk-init client mismatch.
673         * kdc/kerberos5.c: Also add a KRB5_PADATA_PK_AS_REQ_WIN for
674         windows pk-init (-9) to make MIT clients happy.
675         
676 2007-05-30  Love Hörnquist Åstrand  <lha@it.su.se>
677         
678         * kdc/pkinit.c: Force des3 for win2k.
680         * kdc/pkinit.c: Add wrapping to ContentInfo wrapping to
681         COMPAT_WIN2K.
683         * lib/krb5/keytab_keyfile.c: Spelling.
685         * kdc/pkinit.c: Allow matching by MS UPN SAN, note that this delta
686         doesn't deal with case of realm.
687         
688 2007-05-16  Love Hörnquist Åstrand  <lha@it.su.se>
690         * lib/krb5/crypto.c (krb5_crypto_overhead): return static overhead
691         of encryption.
692         
693 2007-05-10  Dave Love  <fx@gnu.org>
694         
695         * doc/win2k.texi: Update some URLs.
697 2007-05-13  Love Hörnquist Åstrand  <lha@it.su.se>
699         * kuser/kimpersonate.c: Fix version number of ticket, it should be
700         5 not the kvno.
701         
702 2007-05-08  Love Hörnquist Åstrand  <lha@it.su.se>
704         * doc/setup.texi: Salting is really Encryption types and salting.
705         
706 2007-05-07  Love Hörnquist Åstrand  <lha@it.su.se>
707         
708         * doc/setup.texi: spelling, from Ronny Blomme
710         * doc/win2k.texi: Fix ksetup /SetComputerPassword, from Ronny
711         Blomme
712         
713 2007-05-02  Love Hörnquist Åstrand  <lha@it.su.se>
715         * lib/hdb/dbinfo.c (hdb_get_dbinfo) If there are no database
716         specified, create one and let it use the defaults.
717         
718 2007-04-27  Love Hörnquist Åstrand  <lha@it.su.se>
719         
720         * lib/hdb/test_dbinfo.c: test acl file
722         * lib/hdb/test_dbinfo.c: test acl file
724         * lib/hdb/dbinfo.c: add acl file
726         * etc: ignore Makefile.in
728         * Makefile.am: SUBDIRS += etc
730         * configure.in: Add etc/Makefile.
732         * etc/Makefile.am: make sure services.append is distributed
734 2007-04-24  Love Hörnquist Åstrand  <lha@it.su.se>
736         * kdc: rename windc_init to krb5_kdc_windc_init
738         * kdc/version-script.map: version script for libkdc
739         
740         * kdc/Makefile.am: version script for libkdc
741         
742 2007-04-23  Love Hörnquist Åstrand  <lha@it.su.se>
744         * lib/krb5/init_creds.c (krb5_get_init_creds_opt_get_error):
745         correct the order of the arguments.
747         * lib/hdb/Makefile.am: Add and test dbinfo.
749         * lib/hdb/hdb.h: Forward declaration for struct hdb_dbinfo;
751         * kdc/config.c: Use krb5_kdc_get_config and just fill in what the
752         users wanted differently.
754         * kdc/default_config.c: Make the default configuration fetch info
755         from the krb5.conf.
756         
757 2007-04-22  Love Hörnquist Åstrand  <lha@it.su.se>
759         * lib/krb5/store.c (krb5_store_creds_tag): use session.keytype to
760         determine if to send the session-key, for the second place in the
761         function.
763         * tools/krb5-config.in: rename des to hcrypto
765         * kuser/Makefile.am: depend on libheimntlm
767         * kuser/kinit.c: Add --ntlm-domain that store the ntlm cred for
768         this domain if the Kerberos password auth worked.
770         * kuser/klist.c: add new option --hidden that doesn't display
771         principal that starts with @
773         * tools/krb5-config.in: Add heimntlm when we use gssapi.
775         * lib/krb5/krb5_ccache.3 (krb5_cc_retrieve_cred): document what to
776         free 'cred' with.
778         * lib/krb5/cache.c (krb5_cc_retrieve_cred): document what to free
779         'cred' with.
780         
781 2007-04-21  Love Hörnquist Åstrand  <lha@it.su.se>
783         * lib/krb5/store.c (krb5_store_creds_tag): use session.keytype to
784         determine if to send the session-key.
786         * kcm/client.c (kcm_ccache_new_client): make root be able to pass
787         the name constraints, not the opposite. From Bryan Jacobs.
788         
789 2007-04-20  Love Hörnquist Åstrand  <lha@it.su.se>
791         * kcm/acl.c: make compile again.
793         * kcm/client.c: fix warning.
794         
795         * kcm: First, it allows root to ignore the naming conventions.
796         Second, it allows root to always perform any operation on any
797         ccache.  Note that root could do this anyway with FILE ccaches.
798         From Bryan Jacobs.
800         * Rename libdes to libhcrypto.
802 2007-04-19  Love Hörnquist Åstrand  <lha@it.su.se>
804         * kinit: remove code that depend on kerberos 4 library
805         
806         * kdc: remove code that depend on kerberos 4 library
807         
808         * configure.in: Drop kerberos 4 support.
810         * kdc/hpropd.c (main): free the message when done with it.
812         * lib/krb5/pkinit.c (_krb5_get_init_creds_opt_free_pkinit):
813         remember to free memory too.
815         * lib/krb5/pkinit.c (pk_rd_pa_reply_dh): free content-type when
816         done.
818         * configure.in: test rk_VERSIONSCRIPT
819         
820 2007-04-18  Love Hörnquist Åstrand  <lha@it.su.se>
822         * fix-export: remove, all done by make dist now
824 2007-04-15  Love Hörnquist Åstrand  <lha@it.su.se>
826         * lib/krb5/krb5_get_credentials.3: spelling, from Jason McIntyre
828 2007-04-11  Love Hörnquist Åstrand  <lha@it.su.se>
830         * kdc/kstash.8: Spelling, from raga <raga@comcast.net> 
831         via Bjorn Sandell.
833         * lib/krb5/store_mem.c: indent.
835         * lib/krb5/recvauth.c: Set error string.
837         * lib/krb5/rd_req.c: clear error strings.
839         * lib/krb5/rd_cred.c: clear error string.
841         * lib/krb5/pkinit.c: Set error strings.
843         * lib/krb5/get_cred.c: Tell what principal we are not finding for
844         all KRB5_CC_NOTFOUND.
845         
846 2007-02-22  Love Hörnquist Åstrand  <lha@it.su.se>
847         
848         * kdc/kerberos5.c: Return the same error codes as a windows KDC.
850         * kuser/kinit.c: KRB5KDC_ERR_PREAUTH_FAILED is also a password
851         failed.
852         
853         * kdc/kerberos5.c: Make handling of replying e_data more generic,
854         from metze.
856         * kdc/kerberos5.c: Fix (string const and shadow) warnings, from
857         metze.
859         * lib/krb5/pac.c: Create the PAC element in the same order as
860         w2k3, maybe there's some broken code in windows which relies on
861         this... From metze.
863         * kdc/kerberos5.c: Select a session enctype from the list of the
864         crypto systems supported enctype, is supported by the client and
865         is one of the enctype of the enctype of the krbtgt.
866         
867         The later is used as a hint what enctype all KDC are supporting to
868         make sure a newer version of KDC wont generate a session enctype
869         that and older version of a KDC in the same realm can't decrypt.
870         
871         But if the KDC admin is paranoid and doesn't want to have "no the
872         best" enctypes on the krbtgt, lets save the best pick from the
873         client list and hope that that will work for any other KDCs.
874         
875         Reported by metze.
877         * kdc/hprop.c (propagate_database): on any failure, drop the
878         connection to the peer and try next one.
879         
880 2007-02-18  Love Hörnquist Åstrand  <lha@it.su.se>
882         * lib/krb5/krb5_get_init_creds.3: document new options.
884         * kdc/krb5tgs.c: Only check service key for cross realm PACs.
886         * lib/krb5/init_creds.c: use the new merged flags field.
887         (krb5_get_init_creds_opt_set_win2k): new function, turn on all w2k
888         compat flags.
890         * lib/krb5/init_creds_pw.c: use the new merged flags field.
892         * lib/krb5/krb5_locl.h: merge all flags into one entity
893         
894 2007-02-11  Dave Love  <fx@gnu.org>
895         
896         * lib/krb5/krb5_aname_to_localname.3: Small fixes
897         
898         * lib/krb5/krb5_digest.3: Small fixes
899         
900         * kuser/kimpersonate.1: Small fixes
902 2007-02-17  Love Hörnquist Åstrand  <lha@it.su.se>
904         * lib/krb5/init_creds_pw.c (find_pa_data): if there is no list,
905         there is no entry.
907         * kdc/krb5tgs.c: Don't check PACs on cross realm requests.
909         * lib/krb5/krb5.h: add KRB5_KU_CANONICALIZED_NAMES.
911         * lib/krb5/init_creds_pw.c: Verify client referral data.
913         * kdc/kerberos5.c: switch some "return ret" to "goto out".
914         
915         * kdc/kerberos5.c: Pass down canonicalize request to hdb layer,
916         sign client referrals.
917         
918         * lib/hdb/hdb.h: Add HDB_F_CANON.
920         * lib/hdb: add simple alias support to the database backends
922 2007-02-16  Love Hörnquist Åstrand  <lha@it.su.se>
924         * kuser/kinit.c: Add canonicalize flag.
926         * lib/krb5/init_creds_pw.c: Use EXTRACT_TICKET_* flags, support
927         canonicalize.
929         * lib/krb5/init_creds.c (krb5_get_init_creds_opt_set_canonicalize):
930         new function.
931         
932         * lib/krb5/get_cred.c: Use EXTRACT_TICKET_* flags.
934         * lib/krb5/get_in_tkt.c: Use EXTRACT_TICKET_* flags.
936         * lib/krb5/krb5_locl.h: Add EXTRACT_TICKET_* flags.
937         
938 2007-02-15  Love Hörnquist Åstrand  <lha@it.su.se>
940         * lib/krb5/test_princ.c: test parsing enterprise-names.
942         * lib/krb5/principal.c: Add support for parsing enterprise-names.
944         * lib/krb5/krb5.h: Add KRB5_PRINCIPAL_PARSE_ENTERPRISE.
946         * lib/hdb/hdb-ldap.c: Make work again.
947         
948 2007-02-11  Dave Love  <fx@gnu.org>
950         * kcm/client.c (kcm_ccache_new_client): Cast snprintf'ed value.
951         
952 2007-02-10  Love Hörnquist Åstrand  <lha@it.su.se>
953         
954         * doc/setup.texi: prune trailing space
956         * lib/hdb/db.c: Be better at setting and clearing error string.
958         * lib/hdb/hdb.c: Be better at setting and clearing error string.
960 2007-02-09  Love Hörnquist Åstrand  <lha@it.su.se>
962         * lib/krb5/keytab.c (krb5_kt_get_entry): Use krb5_kt_get_full_name
963         to print out the keytab name.
965         * doc/setup.texi: Spelling, from Guido Guenther
966         
967 2007-02-08  Love Hörnquist Åstrand  <lha@it.su.se>
969         * lib/krb5/rd_cred.c: Plug memory leak, from Michael B Allen.
971 2007-02-06  Love Hörnquist Åstrand  <lha@it.su.se>
973         * lib/krb5/test_store.c (test_uint16): unsigned ints can't be
974         negative
975         
976 2007-02-03  Love Hörnquist Åstrand  <lha@it.su.se>
978         * kdc/pkinit.c: pass extra flags for detached signatures.
980         * lib/krb5/pkinit.c: pass extra flags for detached signatures.
982         * kdc/digest.c: Remove debug output.
984         * kuser/kdigest.c: Add support for ms-chap-v2 client.
985         
986 2007-02-02  Love Hörnquist Åstrand  <lha@it.su.se>
987                 
988         * kdc/digest.c: Fix ms-chap-v2 get_masterkey
990         * kdc/digest.c: Fix ms-chap-v2 mutual response auth code.
992         * kuser/kdigest.c: Print session key if there is one.
994         * lib/krb5/digest.c: rename hash-a1 to session key
996         * kdc/digest.c: Add get_master from RFC 3079 3.4 for MS-CHAP-V2
998         * kuser/kdigest.c: print rsp if there is one, from Klas.
1000         * kdc/digest.c: Use right size, from Klas Lindfors.
1002         * kuser/kdigest.c: Set client nonce if avaible, from Klas.
1004         * kdc/digest.c: First version from kllin.
1006         * kuser/kdigest.c: Don't restrict the type.
1007         
1008 2007-02-01  Love Hörnquist Åstrand  <lha@it.su.se>
1009         
1010         * kuser/kdigest-commands.in: add --client-response
1012         * kuser/kdigest.c: Print status instead of response.
1014         * kdc/digest.c: Better logging and return status = FALSE when
1015         checksum doesn't match.
1017         * kdc/digest.c: Check the digest response in the KDC.
1019         * lib/krb5/digest.c: New functions to send in requestResponse to
1020         KDC and get status of the request.
1022         * kdc/digest.c: Add support for MS-CHAP v2.
1024         * lib/hdb/hdb-ldap.c: Set hdb->hdb_db for ldap.
1025         
1026 2007-01-31  Love Hörnquist Åstrand  <lha@it.su.se>
1028         * fix-export: Make hx509.info too
1030         * kdc/digest.c: don't verify identifier in CHAP, its the client
1031         that chooses it.
1032         
1033 2007-01-23  Love Hörnquist Åstrand  <lha@it.su.se>
1035         * lib/krb5/Makefile.am: Basic test of prf.
1037         * lib/krb5/test_prf.c: Basic test of prf.
1039         * lib/krb5/mit_glue.c: Add MIT glue for Kerberos RFC 3961 PRF
1040         functions.
1042         * lib/krb5/crypto.c: Add Kerberos RFC 3961 PRF functions.
1044         * lib/krb5/krb5_data.3: Document krb5_data_cmp.
1046         * lib/krb5/data.c: Add krb5_data_cmp.
1047         
1048 2007-01-20  Love Hörnquist Åstrand  <lha@it.su.se>
1050         * kdc/kx509.c: Don't use C99 syntax.
1051         
1052 2007-01-17  Love Hörnquist Åstrand  <lha@it.su.se>
1053         
1054         * configure.in: its LIBADD_roken (and shouldn't really exist, our
1055         libtool usage it broken)
1057         * configure.in: Add an extra variable for roken, LIBADD, that
1058         should be used for library depencies.
1060         * lib/krb5/send_to_kdc.c (krb5_sendto): zero out receive buffer.
1062         * lib/krb5/krb5_init_context.3: fix mdoc errors
1064         * Heimdal 0.8 branch cut today
1066         * doc/hx509.texi: Spelling and more about proxy certificates.
1068         * configure.in: check for arc4random
1069         
1070 2007-01-16  Love Hörnquist Åstrand  <lha@it.su.se>
1071         
1072         * lib/krb5/send_to_kdc.c (krb5_sendto): zero receive krb5_data
1073         before starting
1075         * tools/heimdal-build.sh: make cvs keep quiet
1077         * kuser/kverify.c: Use argument as principal if passed an
1078         argument. Bug report from Douglas E. Engert
1079         
1080 2007-01-15  Love Hörnquist Åstrand  <lha@it.su.se>
1081         
1082         * lib/krb5/rd_req.c (krb5_rd_req_ctx): The code failed to consider
1083         the enc_tkt_in_skey case, from Douglas E. Engert.
1085         * kdc/kx509.c: Issue certificates.
1087         * kdc/config.c: Parse kx509/kca configuration.
1089         * kdc/kdc.h: add kx509 config
1090         
1091 2007-01-14  Love Hörnquist Åstrand  <lha@it.su.se>
1092         
1093         * kdc/kerberos5.c (_kdc_find_padata): if there is not padata,
1094         there is nothing find.
1096         * doc/hx509.texi: Examples for pk-init.
1098         * doc/hx509.texi: About extending ca lifetime and sub cas.
1099         
1100 2007-01-13  Love Hörnquist Åstrand <lha@it.su.se>
1101         
1102         * doc/hx509.texi: More about certificates.
1103         
1104 2007-01-12  Love Hörnquist Åstrand  <lha@it.su.se>
1106         * doc/hx509.texi: add Application requirements and write about
1107         xmpp/jabber.
1108         
1109 2007-01-11  Love Hörnquist Åstrand  <lha@it.su.se>
1111         * doc/hx509.texi: More about issuing certificates.
1113         * doc/hx509.texi: Start of a x.509 manual.
1115         * include/Makefile.am: remove install headerfiles
1117         * lib/krb5/test_pac.c: Use more interesting data to cause more
1118         errors.
1120         * include/Makefile.am: remove install headerfiles
1122         * lib/krb5/mcache.c: MCC_CURSOR not used, remove.
1124         * lib/krb5/crypto.c: macro kcrypto_oid_enc now longer used
1126         * lib/krb5/rd_safe.c (krb5_rd_safe): set length before trying to
1127         allocate data
1128         
1129 2007-01-10  Love Hörnquist Åstrand  <lha@it.su.se>
1130         
1131         * doc/setup.texi: Hint about hxtool validate.
1133         * appl/test/uu_server.c: print both "server" and "client"
1135         * kdc/krb5tgs.c: Rename keys to be more obvious what they do.
1137         * kdc/kerberos5.c: Use other keys to sign PAC with. From Andrew
1138         Bartlett
1139         
1140         * kdc/windc.c: ident, spelling.
1142         * kdc/windc_plugin.h: indent.
1144         * kdc/krb5tgs.c: Pass down server entry to verify_pac function.
1145         from Andrew Bartlett
1147         * kdc/windc.c: pass down server entry to verify_pac function, from
1148         Andrew Bartlett
1150         * kdc/windc_plugin.h: pass down server entry to verify_pac
1151         function, from Andrew Bartlett
1153         * configure.in: Provide a automake symbol ENABLE_SHARED if shared
1154         libraries are built.
1156         * lib/krb5/rd_req.c (krb5_rd_req_ctx): Use the correct keyblock
1157         when verifying the PAC.  From Andrew Bartlett.
1158         
1159 2007-01-09  Love Hörnquist Åstrand  <lha@it.su.se>
1161         * lib/krb5/test_pac.c: move around to code test on real PAC.
1163         * lib/krb5/pac.c: A tiny 2 char diffrence that make the code work
1164         for real.
1166         * lib/krb5/test_pac.c: Test more PAC (note that the values used in
1167         this test is wrong, they have to be fixed when the pac code is
1168         fixed).
1170         * doc/setup.texi: Update to new hxtool issue-certificate usage
1172         * lib/krb5/init_creds_pw.c: Make sure we don't sent both ENC-TS
1173         and PK-INIT pa data, no need to expose our password protecting our
1174         PKCS12 key.
1176         * kuser/klist.c (print_cred_verbose): include ticket length in the
1177         verbose output
1178         
1179 2007-01-08  Love Hörnquist Åstrand  <lha@it.su.se>
1180         
1181         * lib/krb5/acache.c (loadlib): pass RTLD_LAZY to dlopen, without
1182         it linux is unhappy.
1184         * lib/krb5/plugin.c (loadlib): pass RTLD_LAZY to dlopen, without
1185         it linux is unhappy.
1187         * lib/krb5/name-45-test.c: One of the hosts I sometimes uses is
1188         named "bar.domain", this make one of the tests pass when it
1189         shouldn't.
1191 2007-01-05  Love Hörnquist Åstrand  <lha@it.su.se>
1193         * doc/setup.texi: Change --key argument to --out-key.
1195         * kuser/kimpersonate.1: mangle my name
1196         
1197 2007-01-04  Love Hörnquist Åstrand  <lha@it.su.se>
1198         
1199         * doc/setup.texi: describe how to use hx509 to create
1200         certificates.
1202         * tools/heimdal-build.sh: Add --distcheck.
1204         * kdc/kerberos5.c: Check for KRB5_PADATA_PA_PAC_REQUEST to check
1205         if we should include the PAC in the krbtgt.
1207         * kdc/pkinit.c (_kdc_as_rep): check if
1208         krb5_generate_random_keyblock failes.
1210         * kdc/kerberos5.c (_kdc_as_rep): check if
1211         krb5_generate_random_keyblock failes.
1213         * kdc/krb5tgs.c (tgs_build_reply): check if
1214         krb5_generate_random_keyblock failes.
1216         * kdc/krb5tgs.c: Scope etype.
1218         * lib/krb5/rd_req.c: Make it possible to turn off PAC check, its
1219         default on.
1221         * lib/krb5/rd_req.c (krb5_rd_req_ctx): If there is a PAC, verify
1222         its server signature.
1224         * kdc/kerberos5.c (_kdc_as_rep): call windc client access hook.
1225         (_kdc_tkt_add_if_relevant_ad): constify in data argument.
1227         * kdc/windc_plugin.h: More comments add a client_access hook.
1229         * kdc/windc.c: Add _kdc_windc_client_access.
1231         * kdc/krb5tgs.c: rename functions after export some more pac
1232         functions.
1234         * lib/krb5/test_pac.c: export some more pac functions.
1236         * lib/krb5/pac.c: export some more pac functions.
1238         * kdc/krb5tgs.c: Resign the PAC in tgsreq if we have a PAC.
1240         * configure.in: add tests/plugin/Makefile
1241         
1242 2007-01-03  Love Hörnquist Åstrand  <lha@it.su.se>
1244         * kdc/krb5tgs.c: Get right key for PAC krbtgt verification.
1246         * kdc/config.c: spelling
1248         * lib/krb5/krb5.h: typedef for krb5_pac.
1250         * kdc/headers.h: Include <windc_plugin.h>.
1252         * kdc/Makefile.am: Include windc.c and use windc_plugin.h
1254         * kdc/krb5tgs.c: Call callbacks for emulating a Windows Domain
1255         Controller.
1257         * kdc/kerberos5.c: Call callbacks for emulating a Windows Domain
1258         Controller.  Move the some of the log related stuff to its own
1259         function.
1261         * kdc/config.c: Init callbacks for emulating a Windows Domain
1262         Controller.
1264         * kdc/windc.c: Rename the init function to windc instead of pac.
1266         * kdc/windc.c: Callbacks specific to emulating a Windows Domain
1267         Controller.
1269         * kdc/windc_plugin.h: Callbacks specific to emulating a Windows
1270         Domain Controller.
1272         * lib/krb5/Makefile.am: add krb5_HEADERS to build_HEADERZ
1274         * lib/krb5/pac.c: Support all keyed checksum types.
1275         
1276 2007-01-02  Love Hörnquist Åstrand  <lha@it.su.se>
1277         
1278         * lib/krb5/pac.c (krb5_pac_get_types): Return list of types.
1279         
1280         * lib/krb5/test_pac.c: test krb5_pac_get_types
1282         * lib/krb5/krbhst.c: Add KRB5_KRBHST_KCA.
1284         * lib/krb5/krbhst.c: Add KRB5_KRBHST_KCA.
1286         * lib/krb5/krb5.h: Add KRB5_KRBHST_KCA.
1288         * lib/krb5/test_pac.c: test Add/remove pac buffer functions.
1290         * lib/krb5/pac.c: Add/remove pac buffer functions.
1292         * lib/krb5/pac.c: sprinkle const
1294         * lib/krb5/pac.c: rename DCHECK to CHECK
1295         
1296         * Happy New Year.