x
[heimdal.git] / ChangeLog
blob079ac6370715c4e39f64486fdced3eb7f0985717
1 2007-12-08  Love Hörnquist Åstrand  <lha@it.su.se>
3         * kdc/config.c: Use hdb_db_dir().
5         * kdc/kdc_locl.h: add KDC_LOG_FILE
7         * kdc/hpropd.c: Use hdb_default_db().
9         * kdc/kstash.c: Use hdb_db_dir().
11         * kdc/pkinit.c: Adapt to hx509 changes, use hdb_db_dir().
13         * lib/krb5/rd_req.c: Document krb5_rd_req_in_set_pac_check.
15         * lib/krb5/verify_krb5_conf.c: Check check_pac.
17         * lib/krb5/rd_req.c: use KRB5_CTX_F_CHECK_PAC to init check_pac
18         field in the krb5_rd_req_in_ctx
20         * lib/krb5/expand_hostname.c: Adapt to changing
21         dns_canonicalize_hostname into flags field.
23         * lib/krb5/context.c: Adapt to changing dns_canonicalize_hostname
24         into flags field, add check-pac as an libdefaults option.
26         * lib/krb5/pkinit.c: Adapt to changes in hx509 interface.
28         * doc: add doxygen documentation to hcrypto
30         * doc/doxytmpl.dxy: generate links
31         
32 2007-12-07  Love Hörnquist Åstrand  <lha@it.su.se>
34         * lib/krb5/Makefile.am: build_HEADERZ += heim_threads.h
36         * lib/hdb/dbinfo.c (hdb_db_dir): Return the directory where the
37         hdb database resides.
39         * configure.in: Add --with-hdbdir to specify where the database is
40         stored.
42         * lib/krb5/crypto.c: revert previous patch, the problem is located
43         in the RAND_file_name() function that will cause recursive nss
44         lookups, can't fix that here.
46 2007-12-06  Love Hörnquist Åstrand  <lha@it.su.se>
48         * lib/krb5/crypto.c (krb5_generate_random_block): try to avoid the
49         dead-lock in by not holding the lock while running
50         RAND_file_name. Prompted by Hai Zaar.
52         * lib/krb5/n-fold.c: spelling
53         
54 2007-12-04  Love Hörnquist Åstrand  <lha@it.su.se>
56         * kuser/kdigest.c (digest-probe): implement command.
58         * kuser/kdigest-commands.in (digest-probe): new command
59         
60         * kdc/digest.c: Implement supportedMechs request.
62         * lib/krb5/error_string.c: Make krb5_get_error_string return an
63         allocated string to make the function indempotent. From
64         Zeqing (Fred) Xia.
66 2007-12-03  Love Hörnquist Åstrand  <lha@it.su.se>
68         * lib/krb5/krb5_locl.h (krb5_context_data): Flag if
69         default_cc_name was set by the user.
71         * lib/krb5/fcache.c (fcc_move): make sure ->version is uptodate.
73         * kcm/acquire.c: use krb5_free_cred_contents
75         * kuser/kimpersonate.c: use krb5_free_cred_contents
76         
77         * kuser/kinit.c: Use krb5_cc_move to make an atomic switch of the
78         cred cache.
80         * lib/krb5/cache.c: Put back code that was needed, move gen_new
81         into new_unique.
83         * lib/krb5/mcache.c (mcc_default_name): Remove const
85         * lib/krb5/krb5_locl.h: Add KRB5_DEFAULT_CCNAME_KCM, redefine
86         KRB5_DEFAULT_CCNAME to KRB5_DEFAULT_CCTYPE
88         * lib/krb5/cache.c: Use krb5_cc_ops->default_name to get the
89         default name.
91         * lib/krb5/kcm.c: Implement krb5_cc_ops->default_name.
93         * lib/krb5/mcache.c: Implement krb5_cc_ops->default_name.
95         * lib/krb5/fcache.c: Implement krb5_cc_ops->default_name.
97         * lib/krb5/krb5.h: Add krb5_cc_ops->default_name.
99         * lib/krb5/acache.c: Free context when done, implement
100         krb5_cc_ops->default_name.
102         * lib/krb5/kcm.c: implement dummy kcm_move
104         * lib/krb5/mcache.c: Implement the move operation.
106         * lib/krb5/version-script.map: export krb5_cc_move
108         * lib/krb5/cache.c: New function krb5_cc_move().
110         * lib/krb5/fcache.c: Implement the move operation.
112         * lib/krb5/krb5.h: Add move to the krb5_cc_ops, causes major
113         version bump.
115         * lib/krb5/acache.c: Implement the move operation. Avoid using
116         cc_set_principal() since it broken on Mac OS X 10.5.0.
117         
118 2007-12-02  Love Hörnquist Åstrand  <lha@it.su.se>
120         * lib/krb5/krb5_ccapi.h: Drop variable names to avoid -Wshadow.
121         
122 2007-11-14  Love Hörnquist Åstrand  <lha@it.su.se>
124         * kdc/krb5tgs.c: Should pass different key usage constants
125         depending on whether or not optional sub-session key was passed by
126         the client for the check of authorization data. The constant is
127         used to derive "specific key" and its values are specified in
128         7.5.1 of RFC4120.
129         
130         Patch from Andy Polyakov.
132         * kdc/krb5tgs.c: Don't send auth data in referrals, microsoft
133         clients have started to not like that. Thanks to Andy Polyakov for
134         excellent research.
136 2007-11-11  Love Hörnquist Åstrand  <lha@it.su.se>
138         * lib/krb5/creds.c: use krb5_data_cmp
140         * lib/krb5/acache.c: use krb5_free_cred_contents
142         * lib/krb5/test_renew.c: use krb5_free_cred_contents
143         
144 2007-11-10  Love Hörnquist Åstrand  <lha@it.su.se>
146         * lib/krb5/acl.c: doxygen documentation
148         * lib/krb5/addr_families.c: doxygen documentation
150         * doc: add doxygen
152         * lib/krb5/plugin.c: doxygen documentation
154         * lib/krb5/kcm.c: doxygen documentation
156         * lib/krb5/fcache.c: doxygen documentation
158         * lib/krb5/cache.c: doxygen documentations
159         
160         * lib/krb5/doxygen.c: doxygen introduction
162         * lib/krb5/error_string.c: Doxygen documentation.
164 2007-11-03  Love Hörnquist Åstrand  <lha@it.su.se>
166         * lib/krb5/test_plugin.c: expose krb5_plugin_register
168         * lib/krb5/plugin.c: expose krb5_plugin_register
170         * lib/krb5/version-script.map: sort, expose krb5_plugin_register
172 2007-10-24  Love Hörnquist Åstrand  <lha@it.su.se>
174         * kdc/kerberos5.c: Adding same enctype is enough one time. From
175         Andy Polyakov and Bjorn Sandell.
176         
177 2007-10-18  Love  <lha@stacken.kth.se>
179         * lib/krb5/cache.c (krb5_cc_retrieve_cred): check return value
180         from krb5_cc_start_seq_get. From Zeqing (Fred) Xia
181         
182         * lib/krb5/fcache.c (init_fcc): provide better error codes
184         * kdc/kerberos5.c (get_pa_etype_info2): more paranoia, avoid
185         sending warning about pruned etypes.
187         * kdc/kerberos5.c (older_enctype): old windows enctypes (arcfour
188         based) "old", this to support windows 2000 clients (unjoined to a
189         domain). From Andy Polyakov.
191 2007-10-07  Love Hörnquist Åstrand  <lha@it.su.se>
193         * doc/setup.texi: Spelling, from Mark Peoples via Bjorn Sandell.
194         
195 2007-10-04  Love Hörnquist Åstrand  <lha@it.su.se>
197         * kdc/krb5tgs.c: More prettier printing of enctype, from KAMADA
198         Ken'ichi.
200         * lib/krb5/crypto.c (krb5_enctype_to_string): make sure string is
201         NULL on failure.
203 2007-10-03  Love Hörnquist Åstrand  <lha@it.su.se>
205         * kdc/kdc-replay.c: Catch KRB5_PROG_ATYPE_NOSUPP from
206         krb5_addr2sockaddr and igore thte test is that case.
207         
208 2007-09-29  Love Hörnquist Åstrand  <lha@it.su.se>
210         * lib/krb5/context.c (krb5_free_context): free
211         default_cc_name_env, from Gunther Deschner.
213 2007-08-27  Love Hörnquist Åstrand  <lha@it.su.se>
215         * lib/krb5/{krb5.h,pac.c,test_pac.c,send_to_kdc.c,rd_req.c}: Make
216         work with c++, reported by Hai Zaar
218         * lib/krb5/{digest.c,krb5.h}: Make work with c++, reported by Hai Zaar
220 2007-08-20  Love Hörnquist Åstrand  <lha@it.su.se>
222         * lib/hdb/Makefile.am: EXTRA_DIST += hdb.schema
224 2007-07-31  Love Hörnquist Åstrand  <lha@it.su.se>
226         * check return value of alloc functions, from Charles Longeau
228         * lib/krb5/principal.c: spelling.
230         * kadmin/kadmin.8: spelling
232         * lib/krb5/crypto.c: Check return values from alloc
233         functions. Prompted by patch of Charles Longeau.
235         * lib/krb5/n-fold.c: Make _krb5_n_fold return a error
236         code. Prompted by patch of Charles Longeau.
238 2007-07-27  Love Hörnquist Åstrand  <lha@it.su.se>
240         * lib/krb5/init_creds.c: Always set the ticket options, use
241         KRB5_ADDRESSLESS_DEFAULT as the default value, this make the unset
242         tri-state not so useful.
244 2007-07-24  Love Hörnquist Åstrand  <lha@it.su.se>
246         * tools/heimdal-gssapi.pc.in: Add LIB_pkinit to the list of
247         libraries.
249         * tools/heimdal-gssapi.pc.in: pkg-config file for libgssapi in
250         heimdal.
252         * tools/Makefile.am: Add heimdal-gssapi.pc and install it into
253         $(libdir)/pkgconfig
255 2007-07-23  Love Hörnquist Åstrand  <lha@it.su.se>
257         * lib/krb5/pkinit.c: Add RFC3526 modp group14 as a default.
259 2007-07-22  Love Hörnquist Åstrand  <lha@it.su.se>
261         * lib/hdb/dbinfo.c (get_dbinfo): use dbname instead of realm as
262         key if the entry is a correct entry.
264         * lib/krb5/get_cred.c: Make krb5_get_renewed_creds work, from
265         Gunther Deschner.
267         * lib/krb5/Makefile.am: Add test_renew to noinst_PROGRAMS.
269         * lib/krb5/test_renew.c: Test for krb5_get_renewed_creds.
271 2007-07-21  Love Hörnquist Åstrand  <lha@it.su.se>
273         * lib/hdb/keys.c: Make parse_key_set handle key set string "v5",
274         from Peter Meinecke.
276         * kdc/kaserver.c: Don't ovewrite the error code, from Peter
277         Meinecke.
279 2007-07-18  Love Hörnquist Åstrand  <lha@it.su.se>
281         * TODO-1.0: remove 
283         * Makefile.am: remove TODO-1.0
285 2007-07-17  Love Hörnquist Åstrand  <lha@it.su.se>
287         * Heimdal 1.0 release branch cut here
288         
289         * doc/hx509.texi: use version.texi
290         
291         * doc/heimdal.texi: use version.texi
292         
293         * doc/version.texi: version.texi
295         * lib/hdb/db3.c: avoid type-punned pointer warning.
297         * kdc/kx509.c: Use unsigned char * as argument to HMAC_Update to
298         please OpenSSL and gcc.
300         * kdc/digest.c: Use unsigned char * as argument to MD5_Update to
301         please OpenSSL and gcc.
303 2007-07-16  Love Hörnquist Åstrand  <lha@it.su.se>
305         * include/Makefile.am: Add krb_err.h.
307         * kdc/set_dbinfo.c: Print acl file too.
309         * kdc/kerberos4.c: Error codes are just fine, remove XXX now.
311         * lib/krb5/krb5-v4compat.h: Drop duplicate error codes.
313         * kdc/kerberos4.c: switch to ET errors.
315         * lib/krb5/Makefile.am: Add krb_err.h to build_HEADERZ.
317         * lib/krb5/v4_glue.c: If its a Kerberos 4 error-code, remove the
318         et BASE.
320 2007-07-15  Love Hörnquist Åstrand  <lha@it.su.se>
322         * lib/krb5/krb5-v4compat.h: Include "krb_err.h".
324         * lib/krb5/v4_glue.c: return more interesting error codes.
326         * lib/krb5/plugin.c: Prefix enum plugin_type.
328         * lib/krb5/krb5_locl.h: Expose plugin structures.
329         
330         * lib/krb5/krb5.h: Add plugin structures.
332         * lib/krb5/krb_err.et: V4 errors.
334         * lib/krb5/version-script.map: First version of version script.
336 2007-07-13  Love Hörnquist Åstrand  <lha@it.su.se>
338         * kdc/kerberos5.c: Java 1.6 expects the name to be the same type,
339         lets allow that for uncomplicated name-types.
341 2007-07-12  Love Hörnquist Åstrand  <lha@it.su.se>
343         * lib/krb5/v4_glue.c (_krb5_krb_rd_req): if ticket contains
344         address 0, its ticket less and don't really care about
345         from_addr. return better error codes.
347         * kpasswd/kpasswdd.c: Fix pointer vs strict alias rules.
349 2007-07-11  Love Hörnquist Åstrand  <lha@it.su.se>
351         * lib/hdb/hdb-ldap.c: When using sambaNTPassword, avoid adding
352         more then one enctype 23 to krb5EncryptionType.
354         * lib/krb5/cache.c: Spelling.
356         * kdc/kerberos5.c: Don't send newer enctypes in ETYPE-INFO.
357         (get_pa_etype_info2): return the enctypes as sorted in the
358         database
360 2007-07-10  Love Hörnquist Åstrand  <lha@it.su.se>
362         * kuser/kinit.c: krb5-v4compat.h defines prototypes for
363         v4 (semiprivate functions) in libkrb5, don't include
364         krb5-private.h any longer.
366         * lib/krb5/krbhst.c: Set error string when there is no KDC for a
367         realm.
369         * lib/krb5/Makefile.am: New library version.
371         * kdc/Makefile.am: New library version.
373         * lib/krb5/krb5_locl.h: Add default_cc_name_env.
375         * lib/krb5/cache.c (enviroment_changed): return non-zero if
376         enviroment that will determine default krb5cc name has changed.
377         (krb5_cc_default_name): also check if cached value is uptodate.
379         * lib/krb5/krb5_locl.h: Drop pkinit_flags.
381 2007-07-05  Love Hörnquist Åstrand  <lha@it.su.se>
383         * configure.in: add tests/java/Makefile
385         * lib/hdb/dbinfo.c: Add hdb_dbinfo_get_log_file.
387 2007-07-04  Love Hörnquist Åstrand  <lha@it.su.se>
389         * kdc/kerberos5.c: Improve the default salt detection to avoid
390         returning v4 password salting to java that doesn't look at the
391         returning padata for salting.
393         * kdc: Split out krb5_kdc_set_dbinfo, From Andrew Bartlett
395 2007-07-02  Love Hörnquist Åstrand  <lha@it.su.se>
397         * kdc/digest.c: Try harder to provide better error message for
398         digest messages.
400         * lib/krb5/Makefile.am: verify_krb5_conf_OBJECTS depends on
401         krb5-pr*.h, make -j finds this.
402         
403 2007-06-28  Love Hörnquist Åstrand  <lha@it.su.se>
405         * kdc/digest.c: On success, print username, not ip-adress.
407 2007-06-26  Love Hörnquist Åstrand  <lha@it.su.se>
409         * lib/krb5/get_cred.c: Add krb5_get_renewed_creds.
411         * lib/krb5/krb5_get_credentials.3: add krb5_get_renewed_creds
413         * lib/krb5/pkinit.c: Use hx509_cms_unwrap_ContentInfo.
414         
415 2007-06-25  Love Hörnquist Åstrand  <lha@it.su.se>
417         * doc/setup.texi: Add example for pkinit_win2k_require_binding
418         in [kdc] section.
420         * kdc/default_config.c: Rename require_binding to
421         win2k_require_binding to match client configuration.
423         * kdc/default_config.c: Add [kdc]pkinit_require_binding option.
425         * kdc/pkinit.c (pk_mk_pa_reply_enckey): only allow non-bound reply
426         if its not required.
428         * kdc/default_config.c: rename pkinit_princ_in_cert and add
429         pkinit_require_binding
431         * kdc/kdc.h: rename pkinit_princ_in_cert and add
432         pkinit_require_binding
434         * kdc/pkinit.c: rename pkinit_princ_in_cert
436 2007-06-24  Love Hörnquist Åstrand  <lha@it.su.se>
438         * lib/krb5/pkinit.c: Adapt to hx509_verify_hostname change.
440 2007-06-21  Love Hörnquist Åstrand  <lha@it.su.se>
442         * kdc/krb5tgs.c: Drop unused variable.
444         * kdc/krb5tgs.c: disable anonyous tgs requests
446         * kdc/krb5tgs.c: Don't check PAC on cross realm for now.
448         * kuser/kgetcred.c: Set KRB5_GC_CONSTRAINED_DELEGATION and parse
449         nametypes.
451         * lib/krb5/krb5_principal.3: Document krb5_parse_nametype.
453         * lib/krb5/principal.c (krb5_parse_nametype): parse nametype and
454         return their integer values.
456         * lib/krb5/krb5.h (krb5_get_creds): Add
457         KRB5_GC_CONSTRAINED_DELEGATION.
459         * lib/krb5/get_cred.c (krb5_get_creds): if
460         KRB5_GC_CONSTRAINED_DELEGATION is set, set both request_anonymous
461         and constrained_delegation.
463 2007-06-20  Love Hörnquist Åstrand  <lha@it.su.se>
465         * kdc/digest.c: Return an error message instead of dropping the
466         packet for more failure cases.
468         * lib/krb5/krb5_principal.3: Add KRB5_PRINCIPAL_UNPARSE_DISPLAY.
470         * appl/gssmask/gssmask.c (AcquirePKInitCreds): fail more
471         gracefully
472         
473 2007-06-18  Love Hörnquist Åstrand  <lha@it.su.se>
475         * lib/krb5/pac.c: make compile.
476         
477         * lib/krb5/pac.c (verify_checksum): memset cksum to avoid using
478         pointer from stack.
480         * lib/krb5/plugin.c: Don't expose free pointer.
482         * lib/krb5/pkinit.c (_krb5_pk_load_id): fail directoy for first
483         calloc.
484         
485         * lib/krb5/pkinit.c (get_reply_key*): don't expose freed memory
487         * lib/krb5/krbhst.c: Host is static memory, don't free.
489         * lib/krb5/crypto.c (decrypt_internal_derived): make sure length
490         is longer then confounder + checksum.
492         * kdc: export get_dbinfo as krb5_kdc_set_dbinfo and call from
493         users. This to allows libkdc users to to specify their own
494         databases
496         * lib/krb5/pkinit.c (pk_rd_pa_reply_enckey): simplify handling of
497         content data (and avoid leaking memory).
499         * kdc/misc.c (_kdc_db_fetch): set error string for failures.
500         
501 2007-06-15  Love Hörnquist Åstrand  <lha@it.su.se>
503         * kdc/pkinit.c: Use KRB5_AUTHDATA_INITIAL_VERIFIED_CAS.
505 2007-06-13  Love Hörnquist Åstrand  <lha@it.su.se>
507         * kdc/pkinit.c: tell user when they got a pk-init request with
508         pkinit disabled.
510 2007-06-12  Love Hörnquist Åstrand  <lha@it.su.se>
511         
512         * lib/krb5/principal.c: Rename UNPARSE_NO_QUOTE to
513         UNPARSE_DISPLAY.
515         * lib/krb5/krb5.h: Rename UNPARSE_NO_QUOTE to UNPARSE_DISPLAY.
517         * lib/krb5/principal.c: Make no-quote mean replace strange chars
518         with space.
520         * lib/krb5/principal.c: Support KRB5_PRINCIPAL_UNPARSE_NO_QUOTE.
522         * lib/krb5/krb5.h: Add KRB5_PRINCIPAL_UNPARSE_NO_QUOTE.
524         * lib/krb5/test_princ.c: Test quoteing.
526         * lib/krb5/pkinit.c: update (c)
527         
528         * lib/krb5/get_cred.c: use krb5_sendto_context to talk to the KDC.
530         * lib/krb5/send_to_kdc.c (_krb5_kdc_retry): check if the whole
531         process needs to restart or just skip this KDC.
533         * lib/krb5/init_creds_pw.c: Use krb5_sendto_context to talk to
534         KDC.
536         * lib/krb5/krb5.h: Add sendto hooks and opaque structure.
538         * lib/krb5/krb5_rd_error.3: Update prototype.
540         * lib/krb5/send_to_kdc.c: Add hooks for processing the reply from
541         the server.
542         
543 2007-06-11  Love Hörnquist Åstrand  <lha@it.su.se>
545         * lib/krb5/krb5_err.et: Some new error codes from RFC 4120.
546         
547 2007-06-09  Love Hörnquist Åstrand  <lha@it.su.se>
549         * kdc/krb5tgs.c: Constify.
551         * kdc/kerberos5.c: Constify.
553         * kdc/pkinit.c: Check for KRB5-PADATA-PK-AS-09-BINDING. Constify.
555 2007-06-08  Love Hörnquist Åstrand  <lha@it.su.se>
557         * include/Makefile.am: Make krb5-types.h nodist_include_HEADERS.
559         * kdc/Makefile.am: EXTRA_DIST += version-script.map.
560         
561 2007-06-07  Love Hörnquist Åstrand  <lha@it.su.se>
562         
563         * Makefile.am (print-distdir): print name of dist
565         * kdc/pkinit.c: Break out loading of mappings file to a separate
566         function and remove warning that it can't open the mapping file,
567         there are now mappings in the db, maybe the users uses that
568         instead...
570         * lib/krb5/crypto.c: Require the raw key have the correct size and
571         do away with the minsize.  Minsize was a thing that originated
572         from RC2, but since RC2 is done in the x509/cms subsystem now
573         there is no need to keep that around.
575         * lib/hdb/dbinfo.c: If there is no default dbname, also check for
576         unset mkey_file and set it default mkey name, make backward compat
577         stuff work.
579         * kdc/version-script.map: add new symbols
581         * kdc/kdc-replay.c: Also update krb5_context view of what the time
582         is.
584         * configure.in: add tests/can/Makefile
586         * kdc/kdc-replay.c: Add --[version|help].
588         * kdc/pkinit.c: Push down the kdc time into the x509 library.
590         * kdc/connect.c: Move up krb5_kdc_save_request so we can catch the
591         reply data too.
593         * kdc/kdc-replay.c: verify reply by checking asn1 class, type and
594         tag of the reply if there is one.
596         * kdc/process.c: Save asn1 class, type and tag of the reply if
597         there is one. Used to verify the reply in kdc-replay.
599 2007-06-06  Love Hörnquist Åstrand  <lha@it.su.se>
601         * kdc/kdc_locl.h: extern for request_log.
603         * kdc/Makefile.am: Add kdc-replay.
605         * kdc/kdc-replay.c: Replay kdc messages to the KDC library.
607         * kdc/config.c: Pick up request_log from [kdc]kdc-request-log.
609         * kdc/connect.c: Option to save the request to disk.
611         * kdc/process.c (krb5_kdc_save_request): save request to file.
613         * kdc/process.c (krb5_kdc_process*): dont update _kdc_time
614         automagicly.
615         (krb5_kdc_update_time): set or get current kdc-time.
617         * kdc/pkinit.c (_kdc_pk_rd_padata): accept both pkcs-7 and
618         pkauthdata as the signeddata oid
619         
620         * kdc/pkinit.c (_kdc_pk_rd_padata): Try to log what went wrong.
622 2007-06-05  Love Hörnquist Åstrand  <lha@it.su.se>
623         
624         * kdc/pkinit.c: Use oid_id_pkcs7_data for pkinit-9 encKey reply to
625         match windows DC behavior better.
626         
627 2007-06-04  Love Hörnquist Åstrand  <lha@it.su.se>
629         * configure.in: use test for -framework Security
631         * appl/test/uu_server.c: Print status to stdout.
633         * kdc/digest.c (digest ntlm): provide log entires by setting ret
634         to an error.
635         
636 2007-06-03  Love Hörnquist Åstrand  <lha@it.su.se>
638         * doc/hx509.texi: Indent crl-sign.
640         * doc/hx509.texi: One more crl-sign example.
642         * lib/krb5/test_princ.c: plug memory leaks.
644         * lib/krb5/pac.c: plug memory leaks.
646         * lib/krb5/test_pac.c: plug memory leaks.
648         * lib/krb5/test_prf.c: plug memory leak.
650         * lib/krb5/test_cc.c: plug memory leaks.
652         * doc/hx509.texi: Simple blob about publishing CRLs.
654         * doc/win2k.texi: drop text about enctypes.
655         
656 2007-06-02  Love Hörnquist Åstrand  <lha@it.su.se>
658         * kdc/pkinit.c: In case of OCSP verification failure, referash
659         every 5 min. In case of success, refreash 2 min before expiring or
660         faster.
661         
662 2007-05-31  Love Hörnquist Åstrand  <lha@it.su.se>
663         
664         * lib/krb5/krb5_err.et: add error 68, WRONG_REALM
666         * kdc/pkinit.c: Handle the ms san in a propper way, still cheat
667         with the realm name.
669         * kdc/kerberos5.c: If _kdc_pk_check_client failes, bail out
670         directly and hand the error back to the client.
672         * lib/krb5/krb5_err.et: Add missing REVOCATION_STATUS_UNAVAILABLE
673         and fix error message for CLIENT_NAME_MISMATCH.
675         * kdc/pkinit.c: More logging for pk-init client mismatch.
677         * kdc/kerberos5.c: Also add a KRB5_PADATA_PK_AS_REQ_WIN for
678         windows pk-init (-9) to make MIT clients happy.
679         
680 2007-05-30  Love Hörnquist Åstrand  <lha@it.su.se>
681         
682         * kdc/pkinit.c: Force des3 for win2k.
684         * kdc/pkinit.c: Add wrapping to ContentInfo wrapping to
685         COMPAT_WIN2K.
687         * lib/krb5/keytab_keyfile.c: Spelling.
689         * kdc/pkinit.c: Allow matching by MS UPN SAN, note that this delta
690         doesn't deal with case of realm.
691         
692 2007-05-16  Love Hörnquist Åstrand  <lha@it.su.se>
694         * lib/krb5/crypto.c (krb5_crypto_overhead): return static overhead
695         of encryption.
696         
697 2007-05-10  Dave Love  <fx@gnu.org>
698         
699         * doc/win2k.texi: Update some URLs.
701 2007-05-13  Love Hörnquist Åstrand  <lha@it.su.se>
703         * kuser/kimpersonate.c: Fix version number of ticket, it should be
704         5 not the kvno.
705         
706 2007-05-08  Love Hörnquist Åstrand  <lha@it.su.se>
708         * doc/setup.texi: Salting is really Encryption types and salting.
709         
710 2007-05-07  Love Hörnquist Åstrand  <lha@it.su.se>
711         
712         * doc/setup.texi: spelling, from Ronny Blomme
714         * doc/win2k.texi: Fix ksetup /SetComputerPassword, from Ronny
715         Blomme
716         
717 2007-05-02  Love Hörnquist Åstrand  <lha@it.su.se>
719         * lib/hdb/dbinfo.c (hdb_get_dbinfo) If there are no database
720         specified, create one and let it use the defaults.
721         
722 2007-04-27  Love Hörnquist Åstrand  <lha@it.su.se>
723         
724         * lib/hdb/test_dbinfo.c: test acl file
726         * lib/hdb/test_dbinfo.c: test acl file
728         * lib/hdb/dbinfo.c: add acl file
730         * etc: ignore Makefile.in
732         * Makefile.am: SUBDIRS += etc
734         * configure.in: Add etc/Makefile.
736         * etc/Makefile.am: make sure services.append is distributed
738 2007-04-24  Love Hörnquist Åstrand  <lha@it.su.se>
740         * kdc: rename windc_init to krb5_kdc_windc_init
742         * kdc/version-script.map: version script for libkdc
743         
744         * kdc/Makefile.am: version script for libkdc
745         
746 2007-04-23  Love Hörnquist Åstrand  <lha@it.su.se>
748         * lib/krb5/init_creds.c (krb5_get_init_creds_opt_get_error):
749         correct the order of the arguments.
751         * lib/hdb/Makefile.am: Add and test dbinfo.
753         * lib/hdb/hdb.h: Forward declaration for struct hdb_dbinfo;
755         * kdc/config.c: Use krb5_kdc_get_config and just fill in what the
756         users wanted differently.
758         * kdc/default_config.c: Make the default configuration fetch info
759         from the krb5.conf.
760         
761 2007-04-22  Love Hörnquist Åstrand  <lha@it.su.se>
763         * lib/krb5/store.c (krb5_store_creds_tag): use session.keytype to
764         determine if to send the session-key, for the second place in the
765         function.
767         * tools/krb5-config.in: rename des to hcrypto
769         * kuser/Makefile.am: depend on libheimntlm
771         * kuser/kinit.c: Add --ntlm-domain that store the ntlm cred for
772         this domain if the Kerberos password auth worked.
774         * kuser/klist.c: add new option --hidden that doesn't display
775         principal that starts with @
777         * tools/krb5-config.in: Add heimntlm when we use gssapi.
779         * lib/krb5/krb5_ccache.3 (krb5_cc_retrieve_cred): document what to
780         free 'cred' with.
782         * lib/krb5/cache.c (krb5_cc_retrieve_cred): document what to free
783         'cred' with.
784         
785 2007-04-21  Love Hörnquist Åstrand  <lha@it.su.se>
787         * lib/krb5/store.c (krb5_store_creds_tag): use session.keytype to
788         determine if to send the session-key.
790         * kcm/client.c (kcm_ccache_new_client): make root be able to pass
791         the name constraints, not the opposite. From Bryan Jacobs.
792         
793 2007-04-20  Love Hörnquist Åstrand  <lha@it.su.se>
795         * kcm/acl.c: make compile again.
797         * kcm/client.c: fix warning.
798         
799         * kcm: First, it allows root to ignore the naming conventions.
800         Second, it allows root to always perform any operation on any
801         ccache.  Note that root could do this anyway with FILE ccaches.
802         From Bryan Jacobs.
804         * Rename libdes to libhcrypto.
806 2007-04-19  Love Hörnquist Åstrand  <lha@it.su.se>
808         * kinit: remove code that depend on kerberos 4 library
809         
810         * kdc: remove code that depend on kerberos 4 library
811         
812         * configure.in: Drop kerberos 4 support.
814         * kdc/hpropd.c (main): free the message when done with it.
816         * lib/krb5/pkinit.c (_krb5_get_init_creds_opt_free_pkinit):
817         remember to free memory too.
819         * lib/krb5/pkinit.c (pk_rd_pa_reply_dh): free content-type when
820         done.
822         * configure.in: test rk_VERSIONSCRIPT
823         
824 2007-04-18  Love Hörnquist Åstrand  <lha@it.su.se>
826         * fix-export: remove, all done by make dist now
828 2007-04-15  Love Hörnquist Åstrand  <lha@it.su.se>
830         * lib/krb5/krb5_get_credentials.3: spelling, from Jason McIntyre
832 2007-04-11  Love Hörnquist Åstrand  <lha@it.su.se>
834         * kdc/kstash.8: Spelling, from raga <raga@comcast.net> 
835         via Bjorn Sandell.
837         * lib/krb5/store_mem.c: indent.
839         * lib/krb5/recvauth.c: Set error string.
841         * lib/krb5/rd_req.c: clear error strings.
843         * lib/krb5/rd_cred.c: clear error string.
845         * lib/krb5/pkinit.c: Set error strings.
847         * lib/krb5/get_cred.c: Tell what principal we are not finding for
848         all KRB5_CC_NOTFOUND.
849         
850 2007-02-22  Love Hörnquist Åstrand  <lha@it.su.se>
851         
852         * kdc/kerberos5.c: Return the same error codes as a windows KDC.
854         * kuser/kinit.c: KRB5KDC_ERR_PREAUTH_FAILED is also a password
855         failed.
856         
857         * kdc/kerberos5.c: Make handling of replying e_data more generic,
858         from metze.
860         * kdc/kerberos5.c: Fix (string const and shadow) warnings, from
861         metze.
863         * lib/krb5/pac.c: Create the PAC element in the same order as
864         w2k3, maybe there's some broken code in windows which relies on
865         this... From metze.
867         * kdc/kerberos5.c: Select a session enctype from the list of the
868         crypto systems supported enctype, is supported by the client and
869         is one of the enctype of the enctype of the krbtgt.
870         
871         The later is used as a hint what enctype all KDC are supporting to
872         make sure a newer version of KDC wont generate a session enctype
873         that and older version of a KDC in the same realm can't decrypt.
874         
875         But if the KDC admin is paranoid and doesn't want to have "no the
876         best" enctypes on the krbtgt, lets save the best pick from the
877         client list and hope that that will work for any other KDCs.
878         
879         Reported by metze.
881         * kdc/hprop.c (propagate_database): on any failure, drop the
882         connection to the peer and try next one.
883         
884 2007-02-18  Love Hörnquist Åstrand  <lha@it.su.se>
886         * lib/krb5/krb5_get_init_creds.3: document new options.
888         * kdc/krb5tgs.c: Only check service key for cross realm PACs.
890         * lib/krb5/init_creds.c: use the new merged flags field.
891         (krb5_get_init_creds_opt_set_win2k): new function, turn on all w2k
892         compat flags.
894         * lib/krb5/init_creds_pw.c: use the new merged flags field.
896         * lib/krb5/krb5_locl.h: merge all flags into one entity
897         
898 2007-02-11  Dave Love  <fx@gnu.org>
899         
900         * lib/krb5/krb5_aname_to_localname.3: Small fixes
901         
902         * lib/krb5/krb5_digest.3: Small fixes
903         
904         * kuser/kimpersonate.1: Small fixes
906 2007-02-17  Love Hörnquist Åstrand  <lha@it.su.se>
908         * lib/krb5/init_creds_pw.c (find_pa_data): if there is no list,
909         there is no entry.
911         * kdc/krb5tgs.c: Don't check PACs on cross realm requests.
913         * lib/krb5/krb5.h: add KRB5_KU_CANONICALIZED_NAMES.
915         * lib/krb5/init_creds_pw.c: Verify client referral data.
917         * kdc/kerberos5.c: switch some "return ret" to "goto out".
918         
919         * kdc/kerberos5.c: Pass down canonicalize request to hdb layer,
920         sign client referrals.
921         
922         * lib/hdb/hdb.h: Add HDB_F_CANON.
924         * lib/hdb: add simple alias support to the database backends
926 2007-02-16  Love Hörnquist Åstrand  <lha@it.su.se>
928         * kuser/kinit.c: Add canonicalize flag.
930         * lib/krb5/init_creds_pw.c: Use EXTRACT_TICKET_* flags, support
931         canonicalize.
933         * lib/krb5/init_creds.c (krb5_get_init_creds_opt_set_canonicalize):
934         new function.
935         
936         * lib/krb5/get_cred.c: Use EXTRACT_TICKET_* flags.
938         * lib/krb5/get_in_tkt.c: Use EXTRACT_TICKET_* flags.
940         * lib/krb5/krb5_locl.h: Add EXTRACT_TICKET_* flags.
941         
942 2007-02-15  Love Hörnquist Åstrand  <lha@it.su.se>
944         * lib/krb5/test_princ.c: test parsing enterprise-names.
946         * lib/krb5/principal.c: Add support for parsing enterprise-names.
948         * lib/krb5/krb5.h: Add KRB5_PRINCIPAL_PARSE_ENTERPRISE.
950         * lib/hdb/hdb-ldap.c: Make work again.
951         
952 2007-02-11  Dave Love  <fx@gnu.org>
954         * kcm/client.c (kcm_ccache_new_client): Cast snprintf'ed value.
955         
956 2007-02-10  Love Hörnquist Åstrand  <lha@it.su.se>
957         
958         * doc/setup.texi: prune trailing space
960         * lib/hdb/db.c: Be better at setting and clearing error string.
962         * lib/hdb/hdb.c: Be better at setting and clearing error string.
964 2007-02-09  Love Hörnquist Åstrand  <lha@it.su.se>
966         * lib/krb5/keytab.c (krb5_kt_get_entry): Use krb5_kt_get_full_name
967         to print out the keytab name.
969         * doc/setup.texi: Spelling, from Guido Guenther
970         
971 2007-02-08  Love Hörnquist Åstrand  <lha@it.su.se>
973         * lib/krb5/rd_cred.c: Plug memory leak, from Michael B Allen.
975 2007-02-06  Love Hörnquist Åstrand  <lha@it.su.se>
977         * lib/krb5/test_store.c (test_uint16): unsigned ints can't be
978         negative
979         
980 2007-02-03  Love Hörnquist Åstrand  <lha@it.su.se>
982         * kdc/pkinit.c: pass extra flags for detached signatures.
984         * lib/krb5/pkinit.c: pass extra flags for detached signatures.
986         * kdc/digest.c: Remove debug output.
988         * kuser/kdigest.c: Add support for ms-chap-v2 client.
989         
990 2007-02-02  Love Hörnquist Åstrand  <lha@it.su.se>
991                 
992         * kdc/digest.c: Fix ms-chap-v2 get_masterkey
994         * kdc/digest.c: Fix ms-chap-v2 mutual response auth code.
996         * kuser/kdigest.c: Print session key if there is one.
998         * lib/krb5/digest.c: rename hash-a1 to session key
1000         * kdc/digest.c: Add get_master from RFC 3079 3.4 for MS-CHAP-V2
1002         * kuser/kdigest.c: print rsp if there is one, from Klas.
1004         * kdc/digest.c: Use right size, from Klas Lindfors.
1006         * kuser/kdigest.c: Set client nonce if avaible, from Klas.
1008         * kdc/digest.c: First version from kllin.
1010         * kuser/kdigest.c: Don't restrict the type.
1011         
1012 2007-02-01  Love Hörnquist Åstrand  <lha@it.su.se>
1013         
1014         * kuser/kdigest-commands.in: add --client-response
1016         * kuser/kdigest.c: Print status instead of response.
1018         * kdc/digest.c: Better logging and return status = FALSE when
1019         checksum doesn't match.
1021         * kdc/digest.c: Check the digest response in the KDC.
1023         * lib/krb5/digest.c: New functions to send in requestResponse to
1024         KDC and get status of the request.
1026         * kdc/digest.c: Add support for MS-CHAP v2.
1028         * lib/hdb/hdb-ldap.c: Set hdb->hdb_db for ldap.
1029         
1030 2007-01-31  Love Hörnquist Åstrand  <lha@it.su.se>
1032         * fix-export: Make hx509.info too
1034         * kdc/digest.c: don't verify identifier in CHAP, its the client
1035         that chooses it.
1036         
1037 2007-01-23  Love Hörnquist Åstrand  <lha@it.su.se>
1039         * lib/krb5/Makefile.am: Basic test of prf.
1041         * lib/krb5/test_prf.c: Basic test of prf.
1043         * lib/krb5/mit_glue.c: Add MIT glue for Kerberos RFC 3961 PRF
1044         functions.
1046         * lib/krb5/crypto.c: Add Kerberos RFC 3961 PRF functions.
1048         * lib/krb5/krb5_data.3: Document krb5_data_cmp.
1050         * lib/krb5/data.c: Add krb5_data_cmp.
1051         
1052 2007-01-20  Love Hörnquist Åstrand  <lha@it.su.se>
1054         * kdc/kx509.c: Don't use C99 syntax.
1055         
1056 2007-01-17  Love Hörnquist Åstrand  <lha@it.su.se>
1057         
1058         * configure.in: its LIBADD_roken (and shouldn't really exist, our
1059         libtool usage it broken)
1061         * configure.in: Add an extra variable for roken, LIBADD, that
1062         should be used for library depencies.
1064         * lib/krb5/send_to_kdc.c (krb5_sendto): zero out receive buffer.
1066         * lib/krb5/krb5_init_context.3: fix mdoc errors
1068         * Heimdal 0.8 branch cut today
1070         * doc/hx509.texi: Spelling and more about proxy certificates.
1072         * configure.in: check for arc4random
1073         
1074 2007-01-16  Love Hörnquist Åstrand  <lha@it.su.se>
1075         
1076         * lib/krb5/send_to_kdc.c (krb5_sendto): zero receive krb5_data
1077         before starting
1079         * tools/heimdal-build.sh: make cvs keep quiet
1081         * kuser/kverify.c: Use argument as principal if passed an
1082         argument. Bug report from Douglas E. Engert
1083         
1084 2007-01-15  Love Hörnquist Åstrand  <lha@it.su.se>
1085         
1086         * lib/krb5/rd_req.c (krb5_rd_req_ctx): The code failed to consider
1087         the enc_tkt_in_skey case, from Douglas E. Engert.
1089         * kdc/kx509.c: Issue certificates.
1091         * kdc/config.c: Parse kx509/kca configuration.
1093         * kdc/kdc.h: add kx509 config
1094         
1095 2007-01-14  Love Hörnquist Åstrand  <lha@it.su.se>
1096         
1097         * kdc/kerberos5.c (_kdc_find_padata): if there is not padata,
1098         there is nothing find.
1100         * doc/hx509.texi: Examples for pk-init.
1102         * doc/hx509.texi: About extending ca lifetime and sub cas.
1103         
1104 2007-01-13  Love Hörnquist Åstrand <lha@it.su.se>
1105         
1106         * doc/hx509.texi: More about certificates.
1107         
1108 2007-01-12  Love Hörnquist Åstrand  <lha@it.su.se>
1110         * doc/hx509.texi: add Application requirements and write about
1111         xmpp/jabber.
1112         
1113 2007-01-11  Love Hörnquist Åstrand  <lha@it.su.se>
1115         * doc/hx509.texi: More about issuing certificates.
1117         * doc/hx509.texi: Start of a x.509 manual.
1119         * include/Makefile.am: remove install headerfiles
1121         * lib/krb5/test_pac.c: Use more interesting data to cause more
1122         errors.
1124         * include/Makefile.am: remove install headerfiles
1126         * lib/krb5/mcache.c: MCC_CURSOR not used, remove.
1128         * lib/krb5/crypto.c: macro kcrypto_oid_enc now longer used
1130         * lib/krb5/rd_safe.c (krb5_rd_safe): set length before trying to
1131         allocate data
1132         
1133 2007-01-10  Love Hörnquist Åstrand  <lha@it.su.se>
1134         
1135         * doc/setup.texi: Hint about hxtool validate.
1137         * appl/test/uu_server.c: print both "server" and "client"
1139         * kdc/krb5tgs.c: Rename keys to be more obvious what they do.
1141         * kdc/kerberos5.c: Use other keys to sign PAC with. From Andrew
1142         Bartlett
1143         
1144         * kdc/windc.c: ident, spelling.
1146         * kdc/windc_plugin.h: indent.
1148         * kdc/krb5tgs.c: Pass down server entry to verify_pac function.
1149         from Andrew Bartlett
1151         * kdc/windc.c: pass down server entry to verify_pac function, from
1152         Andrew Bartlett
1154         * kdc/windc_plugin.h: pass down server entry to verify_pac
1155         function, from Andrew Bartlett
1157         * configure.in: Provide a automake symbol ENABLE_SHARED if shared
1158         libraries are built.
1160         * lib/krb5/rd_req.c (krb5_rd_req_ctx): Use the correct keyblock
1161         when verifying the PAC.  From Andrew Bartlett.
1162         
1163 2007-01-09  Love Hörnquist Åstrand  <lha@it.su.se>
1165         * lib/krb5/test_pac.c: move around to code test on real PAC.
1167         * lib/krb5/pac.c: A tiny 2 char diffrence that make the code work
1168         for real.
1170         * lib/krb5/test_pac.c: Test more PAC (note that the values used in
1171         this test is wrong, they have to be fixed when the pac code is
1172         fixed).
1174         * doc/setup.texi: Update to new hxtool issue-certificate usage
1176         * lib/krb5/init_creds_pw.c: Make sure we don't sent both ENC-TS
1177         and PK-INIT pa data, no need to expose our password protecting our
1178         PKCS12 key.
1180         * kuser/klist.c (print_cred_verbose): include ticket length in the
1181         verbose output
1182         
1183 2007-01-08  Love Hörnquist Åstrand  <lha@it.su.se>
1184         
1185         * lib/krb5/acache.c (loadlib): pass RTLD_LAZY to dlopen, without
1186         it linux is unhappy.
1188         * lib/krb5/plugin.c (loadlib): pass RTLD_LAZY to dlopen, without
1189         it linux is unhappy.
1191         * lib/krb5/name-45-test.c: One of the hosts I sometimes uses is
1192         named "bar.domain", this make one of the tests pass when it
1193         shouldn't.
1195 2007-01-05  Love Hörnquist Åstrand  <lha@it.su.se>
1197         * doc/setup.texi: Change --key argument to --out-key.
1199         * kuser/kimpersonate.1: mangle my name
1200         
1201 2007-01-04  Love Hörnquist Åstrand  <lha@it.su.se>
1202         
1203         * doc/setup.texi: describe how to use hx509 to create
1204         certificates.
1206         * tools/heimdal-build.sh: Add --distcheck.
1208         * kdc/kerberos5.c: Check for KRB5_PADATA_PA_PAC_REQUEST to check
1209         if we should include the PAC in the krbtgt.
1211         * kdc/pkinit.c (_kdc_as_rep): check if
1212         krb5_generate_random_keyblock failes.
1214         * kdc/kerberos5.c (_kdc_as_rep): check if
1215         krb5_generate_random_keyblock failes.
1217         * kdc/krb5tgs.c (tgs_build_reply): check if
1218         krb5_generate_random_keyblock failes.
1220         * kdc/krb5tgs.c: Scope etype.
1222         * lib/krb5/rd_req.c: Make it possible to turn off PAC check, its
1223         default on.
1225         * lib/krb5/rd_req.c (krb5_rd_req_ctx): If there is a PAC, verify
1226         its server signature.
1228         * kdc/kerberos5.c (_kdc_as_rep): call windc client access hook.
1229         (_kdc_tkt_add_if_relevant_ad): constify in data argument.
1231         * kdc/windc_plugin.h: More comments add a client_access hook.
1233         * kdc/windc.c: Add _kdc_windc_client_access.
1235         * kdc/krb5tgs.c: rename functions after export some more pac
1236         functions.
1238         * lib/krb5/test_pac.c: export some more pac functions.
1240         * lib/krb5/pac.c: export some more pac functions.
1242         * kdc/krb5tgs.c: Resign the PAC in tgsreq if we have a PAC.
1244         * configure.in: add tests/plugin/Makefile
1245         
1246 2007-01-03  Love Hörnquist Åstrand  <lha@it.su.se>
1248         * kdc/krb5tgs.c: Get right key for PAC krbtgt verification.
1250         * kdc/config.c: spelling
1252         * lib/krb5/krb5.h: typedef for krb5_pac.
1254         * kdc/headers.h: Include <windc_plugin.h>.
1256         * kdc/Makefile.am: Include windc.c and use windc_plugin.h
1258         * kdc/krb5tgs.c: Call callbacks for emulating a Windows Domain
1259         Controller.
1261         * kdc/kerberos5.c: Call callbacks for emulating a Windows Domain
1262         Controller.  Move the some of the log related stuff to its own
1263         function.
1265         * kdc/config.c: Init callbacks for emulating a Windows Domain
1266         Controller.
1268         * kdc/windc.c: Rename the init function to windc instead of pac.
1270         * kdc/windc.c: Callbacks specific to emulating a Windows Domain
1271         Controller.
1273         * kdc/windc_plugin.h: Callbacks specific to emulating a Windows
1274         Domain Controller.
1276         * lib/krb5/Makefile.am: add krb5_HEADERS to build_HEADERZ
1278         * lib/krb5/pac.c: Support all keyed checksum types.
1279         
1280 2007-01-02  Love Hörnquist Åstrand  <lha@it.su.se>
1281         
1282         * lib/krb5/pac.c (krb5_pac_get_types): Return list of types.
1283         
1284         * lib/krb5/test_pac.c: test krb5_pac_get_types
1286         * lib/krb5/krbhst.c: Add KRB5_KRBHST_KCA.
1288         * lib/krb5/krbhst.c: Add KRB5_KRBHST_KCA.
1290         * lib/krb5/krb5.h: Add KRB5_KRBHST_KCA.
1292         * lib/krb5/test_pac.c: test Add/remove pac buffer functions.
1294         * lib/krb5/pac.c: Add/remove pac buffer functions.
1296         * lib/krb5/pac.c: sprinkle const
1298         * lib/krb5/pac.c: rename DCHECK to CHECK
1299         
1300         * Happy New Year.