fix compile error
[heimdal.git] / ChangeLog
blobb1445733e6b32bd4105e8700b76ba9bbde72df69
1 2007-12-09  Love Hörnquist Åstrand  <lha@it.su.se>
3         * kdc/log.c: Use hdb_db_dir().
5         * kpasswd/kpasswdd.c: Use hdb_db_dir().
7 2007-12-08  Love Hörnquist Åstrand  <lha@it.su.se>
8         
9         * kdc/config.c: Use hdb_db_dir().
11         * kdc/kdc_locl.h: add KDC_LOG_FILE
13         * kdc/hpropd.c: Use hdb_default_db().
15         * kdc/kstash.c: Use hdb_db_dir().
17         * kdc/pkinit.c: Adapt to hx509 changes, use hdb_db_dir().
19         * lib/krb5/rd_req.c: Document krb5_rd_req_in_set_pac_check.
21         * lib/krb5/verify_krb5_conf.c: Check check_pac.
23         * lib/krb5/rd_req.c: use KRB5_CTX_F_CHECK_PAC to init check_pac
24         field in the krb5_rd_req_in_ctx
26         * lib/krb5/expand_hostname.c: Adapt to changing
27         dns_canonicalize_hostname into flags field.
29         * lib/krb5/context.c: Adapt to changing dns_canonicalize_hostname
30         into flags field, add check-pac as an libdefaults option.
32         * lib/krb5/pkinit.c: Adapt to changes in hx509 interface.
34         * doc: add doxygen documentation to hcrypto
36         * doc/doxytmpl.dxy: generate links
37         
38 2007-12-07  Love Hörnquist Åstrand  <lha@it.su.se>
40         * lib/krb5/Makefile.am: build_HEADERZ += heim_threads.h
42         * lib/hdb/dbinfo.c (hdb_db_dir): Return the directory where the
43         hdb database resides.
45         * configure.in: Add --with-hdbdir to specify where the database is
46         stored.
48         * lib/krb5/crypto.c: revert previous patch, the problem is located
49         in the RAND_file_name() function that will cause recursive nss
50         lookups, can't fix that here.
52 2007-12-06  Love Hörnquist Åstrand  <lha@it.su.se>
54         * lib/krb5/crypto.c (krb5_generate_random_block): try to avoid the
55         dead-lock in by not holding the lock while running
56         RAND_file_name. Prompted by Hai Zaar.
58         * lib/krb5/n-fold.c: spelling
59         
60 2007-12-04  Love Hörnquist Åstrand  <lha@it.su.se>
62         * kuser/kdigest.c (digest-probe): implement command.
64         * kuser/kdigest-commands.in (digest-probe): new command
65         
66         * kdc/digest.c: Implement supportedMechs request.
68         * lib/krb5/error_string.c: Make krb5_get_error_string return an
69         allocated string to make the function indempotent. From
70         Zeqing (Fred) Xia.
72 2007-12-03  Love Hörnquist Åstrand  <lha@it.su.se>
74         * lib/krb5/krb5_locl.h (krb5_context_data): Flag if
75         default_cc_name was set by the user.
77         * lib/krb5/fcache.c (fcc_move): make sure ->version is uptodate.
79         * kcm/acquire.c: use krb5_free_cred_contents
81         * kuser/kimpersonate.c: use krb5_free_cred_contents
82         
83         * kuser/kinit.c: Use krb5_cc_move to make an atomic switch of the
84         cred cache.
86         * lib/krb5/cache.c: Put back code that was needed, move gen_new
87         into new_unique.
89         * lib/krb5/mcache.c (mcc_default_name): Remove const
91         * lib/krb5/krb5_locl.h: Add KRB5_DEFAULT_CCNAME_KCM, redefine
92         KRB5_DEFAULT_CCNAME to KRB5_DEFAULT_CCTYPE
94         * lib/krb5/cache.c: Use krb5_cc_ops->default_name to get the
95         default name.
97         * lib/krb5/kcm.c: Implement krb5_cc_ops->default_name.
99         * lib/krb5/mcache.c: Implement krb5_cc_ops->default_name.
101         * lib/krb5/fcache.c: Implement krb5_cc_ops->default_name.
103         * lib/krb5/krb5.h: Add krb5_cc_ops->default_name.
105         * lib/krb5/acache.c: Free context when done, implement
106         krb5_cc_ops->default_name.
108         * lib/krb5/kcm.c: implement dummy kcm_move
110         * lib/krb5/mcache.c: Implement the move operation.
112         * lib/krb5/version-script.map: export krb5_cc_move
114         * lib/krb5/cache.c: New function krb5_cc_move().
116         * lib/krb5/fcache.c: Implement the move operation.
118         * lib/krb5/krb5.h: Add move to the krb5_cc_ops, causes major
119         version bump.
121         * lib/krb5/acache.c: Implement the move operation. Avoid using
122         cc_set_principal() since it broken on Mac OS X 10.5.0.
123         
124 2007-12-02  Love Hörnquist Åstrand  <lha@it.su.se>
126         * lib/krb5/krb5_ccapi.h: Drop variable names to avoid -Wshadow.
127         
128 2007-11-14  Love Hörnquist Åstrand  <lha@it.su.se>
130         * kdc/krb5tgs.c: Should pass different key usage constants
131         depending on whether or not optional sub-session key was passed by
132         the client for the check of authorization data. The constant is
133         used to derive "specific key" and its values are specified in
134         7.5.1 of RFC4120.
135         
136         Patch from Andy Polyakov.
138         * kdc/krb5tgs.c: Don't send auth data in referrals, microsoft
139         clients have started to not like that. Thanks to Andy Polyakov for
140         excellent research.
142 2007-11-11  Love Hörnquist Åstrand  <lha@it.su.se>
144         * lib/krb5/creds.c: use krb5_data_cmp
146         * lib/krb5/acache.c: use krb5_free_cred_contents
148         * lib/krb5/test_renew.c: use krb5_free_cred_contents
149         
150 2007-11-10  Love Hörnquist Åstrand  <lha@it.su.se>
152         * lib/krb5/acl.c: doxygen documentation
154         * lib/krb5/addr_families.c: doxygen documentation
156         * doc: add doxygen
158         * lib/krb5/plugin.c: doxygen documentation
160         * lib/krb5/kcm.c: doxygen documentation
162         * lib/krb5/fcache.c: doxygen documentation
164         * lib/krb5/cache.c: doxygen documentations
165         
166         * lib/krb5/doxygen.c: doxygen introduction
168         * lib/krb5/error_string.c: Doxygen documentation.
170 2007-11-03  Love Hörnquist Åstrand  <lha@it.su.se>
172         * lib/krb5/test_plugin.c: expose krb5_plugin_register
174         * lib/krb5/plugin.c: expose krb5_plugin_register
176         * lib/krb5/version-script.map: sort, expose krb5_plugin_register
178 2007-10-24  Love Hörnquist Åstrand  <lha@it.su.se>
180         * kdc/kerberos5.c: Adding same enctype is enough one time. From
181         Andy Polyakov and Bjorn Sandell.
182         
183 2007-10-18  Love  <lha@stacken.kth.se>
185         * lib/krb5/cache.c (krb5_cc_retrieve_cred): check return value
186         from krb5_cc_start_seq_get. From Zeqing (Fred) Xia
187         
188         * lib/krb5/fcache.c (init_fcc): provide better error codes
190         * kdc/kerberos5.c (get_pa_etype_info2): more paranoia, avoid
191         sending warning about pruned etypes.
193         * kdc/kerberos5.c (older_enctype): old windows enctypes (arcfour
194         based) "old", this to support windows 2000 clients (unjoined to a
195         domain). From Andy Polyakov.
197 2007-10-07  Love Hörnquist Åstrand  <lha@it.su.se>
199         * doc/setup.texi: Spelling, from Mark Peoples via Bjorn Sandell.
200         
201 2007-10-04  Love Hörnquist Åstrand  <lha@it.su.se>
203         * kdc/krb5tgs.c: More prettier printing of enctype, from KAMADA
204         Ken'ichi.
206         * lib/krb5/crypto.c (krb5_enctype_to_string): make sure string is
207         NULL on failure.
209 2007-10-03  Love Hörnquist Åstrand  <lha@it.su.se>
211         * kdc/kdc-replay.c: Catch KRB5_PROG_ATYPE_NOSUPP from
212         krb5_addr2sockaddr and igore thte test is that case.
213         
214 2007-09-29  Love Hörnquist Åstrand  <lha@it.su.se>
216         * lib/krb5/context.c (krb5_free_context): free
217         default_cc_name_env, from Gunther Deschner.
219 2007-08-27  Love Hörnquist Åstrand  <lha@it.su.se>
221         * lib/krb5/{krb5.h,pac.c,test_pac.c,send_to_kdc.c,rd_req.c}: Make
222         work with c++, reported by Hai Zaar
224         * lib/krb5/{digest.c,krb5.h}: Make work with c++, reported by Hai Zaar
226 2007-08-20  Love Hörnquist Åstrand  <lha@it.su.se>
228         * lib/hdb/Makefile.am: EXTRA_DIST += hdb.schema
230 2007-07-31  Love Hörnquist Åstrand  <lha@it.su.se>
232         * check return value of alloc functions, from Charles Longeau
234         * lib/krb5/principal.c: spelling.
236         * kadmin/kadmin.8: spelling
238         * lib/krb5/crypto.c: Check return values from alloc
239         functions. Prompted by patch of Charles Longeau.
241         * lib/krb5/n-fold.c: Make _krb5_n_fold return a error
242         code. Prompted by patch of Charles Longeau.
244 2007-07-27  Love Hörnquist Åstrand  <lha@it.su.se>
246         * lib/krb5/init_creds.c: Always set the ticket options, use
247         KRB5_ADDRESSLESS_DEFAULT as the default value, this make the unset
248         tri-state not so useful.
250 2007-07-24  Love Hörnquist Åstrand  <lha@it.su.se>
252         * tools/heimdal-gssapi.pc.in: Add LIB_pkinit to the list of
253         libraries.
255         * tools/heimdal-gssapi.pc.in: pkg-config file for libgssapi in
256         heimdal.
258         * tools/Makefile.am: Add heimdal-gssapi.pc and install it into
259         $(libdir)/pkgconfig
261 2007-07-23  Love Hörnquist Åstrand  <lha@it.su.se>
263         * lib/krb5/pkinit.c: Add RFC3526 modp group14 as a default.
265 2007-07-22  Love Hörnquist Åstrand  <lha@it.su.se>
267         * lib/hdb/dbinfo.c (get_dbinfo): use dbname instead of realm as
268         key if the entry is a correct entry.
270         * lib/krb5/get_cred.c: Make krb5_get_renewed_creds work, from
271         Gunther Deschner.
273         * lib/krb5/Makefile.am: Add test_renew to noinst_PROGRAMS.
275         * lib/krb5/test_renew.c: Test for krb5_get_renewed_creds.
277 2007-07-21  Love Hörnquist Åstrand  <lha@it.su.se>
279         * lib/hdb/keys.c: Make parse_key_set handle key set string "v5",
280         from Peter Meinecke.
282         * kdc/kaserver.c: Don't ovewrite the error code, from Peter
283         Meinecke.
285 2007-07-18  Love Hörnquist Åstrand  <lha@it.su.se>
287         * TODO-1.0: remove 
289         * Makefile.am: remove TODO-1.0
291 2007-07-17  Love Hörnquist Åstrand  <lha@it.su.se>
293         * Heimdal 1.0 release branch cut here
294         
295         * doc/hx509.texi: use version.texi
296         
297         * doc/heimdal.texi: use version.texi
298         
299         * doc/version.texi: version.texi
301         * lib/hdb/db3.c: avoid type-punned pointer warning.
303         * kdc/kx509.c: Use unsigned char * as argument to HMAC_Update to
304         please OpenSSL and gcc.
306         * kdc/digest.c: Use unsigned char * as argument to MD5_Update to
307         please OpenSSL and gcc.
309 2007-07-16  Love Hörnquist Åstrand  <lha@it.su.se>
311         * include/Makefile.am: Add krb_err.h.
313         * kdc/set_dbinfo.c: Print acl file too.
315         * kdc/kerberos4.c: Error codes are just fine, remove XXX now.
317         * lib/krb5/krb5-v4compat.h: Drop duplicate error codes.
319         * kdc/kerberos4.c: switch to ET errors.
321         * lib/krb5/Makefile.am: Add krb_err.h to build_HEADERZ.
323         * lib/krb5/v4_glue.c: If its a Kerberos 4 error-code, remove the
324         et BASE.
326 2007-07-15  Love Hörnquist Åstrand  <lha@it.su.se>
328         * lib/krb5/krb5-v4compat.h: Include "krb_err.h".
330         * lib/krb5/v4_glue.c: return more interesting error codes.
332         * lib/krb5/plugin.c: Prefix enum plugin_type.
334         * lib/krb5/krb5_locl.h: Expose plugin structures.
335         
336         * lib/krb5/krb5.h: Add plugin structures.
338         * lib/krb5/krb_err.et: V4 errors.
340         * lib/krb5/version-script.map: First version of version script.
342 2007-07-13  Love Hörnquist Åstrand  <lha@it.su.se>
344         * kdc/kerberos5.c: Java 1.6 expects the name to be the same type,
345         lets allow that for uncomplicated name-types.
347 2007-07-12  Love Hörnquist Åstrand  <lha@it.su.se>
349         * lib/krb5/v4_glue.c (_krb5_krb_rd_req): if ticket contains
350         address 0, its ticket less and don't really care about
351         from_addr. return better error codes.
353         * kpasswd/kpasswdd.c: Fix pointer vs strict alias rules.
355 2007-07-11  Love Hörnquist Åstrand  <lha@it.su.se>
357         * lib/hdb/hdb-ldap.c: When using sambaNTPassword, avoid adding
358         more then one enctype 23 to krb5EncryptionType.
360         * lib/krb5/cache.c: Spelling.
362         * kdc/kerberos5.c: Don't send newer enctypes in ETYPE-INFO.
363         (get_pa_etype_info2): return the enctypes as sorted in the
364         database
366 2007-07-10  Love Hörnquist Åstrand  <lha@it.su.se>
368         * kuser/kinit.c: krb5-v4compat.h defines prototypes for
369         v4 (semiprivate functions) in libkrb5, don't include
370         krb5-private.h any longer.
372         * lib/krb5/krbhst.c: Set error string when there is no KDC for a
373         realm.
375         * lib/krb5/Makefile.am: New library version.
377         * kdc/Makefile.am: New library version.
379         * lib/krb5/krb5_locl.h: Add default_cc_name_env.
381         * lib/krb5/cache.c (enviroment_changed): return non-zero if
382         enviroment that will determine default krb5cc name has changed.
383         (krb5_cc_default_name): also check if cached value is uptodate.
385         * lib/krb5/krb5_locl.h: Drop pkinit_flags.
387 2007-07-05  Love Hörnquist Åstrand  <lha@it.su.se>
389         * configure.in: add tests/java/Makefile
391         * lib/hdb/dbinfo.c: Add hdb_dbinfo_get_log_file.
393 2007-07-04  Love Hörnquist Åstrand  <lha@it.su.se>
395         * kdc/kerberos5.c: Improve the default salt detection to avoid
396         returning v4 password salting to java that doesn't look at the
397         returning padata for salting.
399         * kdc: Split out krb5_kdc_set_dbinfo, From Andrew Bartlett
401 2007-07-02  Love Hörnquist Åstrand  <lha@it.su.se>
403         * kdc/digest.c: Try harder to provide better error message for
404         digest messages.
406         * lib/krb5/Makefile.am: verify_krb5_conf_OBJECTS depends on
407         krb5-pr*.h, make -j finds this.
408         
409 2007-06-28  Love Hörnquist Åstrand  <lha@it.su.se>
411         * kdc/digest.c: On success, print username, not ip-adress.
413 2007-06-26  Love Hörnquist Åstrand  <lha@it.su.se>
415         * lib/krb5/get_cred.c: Add krb5_get_renewed_creds.
417         * lib/krb5/krb5_get_credentials.3: add krb5_get_renewed_creds
419         * lib/krb5/pkinit.c: Use hx509_cms_unwrap_ContentInfo.
420         
421 2007-06-25  Love Hörnquist Åstrand  <lha@it.su.se>
423         * doc/setup.texi: Add example for pkinit_win2k_require_binding
424         in [kdc] section.
426         * kdc/default_config.c: Rename require_binding to
427         win2k_require_binding to match client configuration.
429         * kdc/default_config.c: Add [kdc]pkinit_require_binding option.
431         * kdc/pkinit.c (pk_mk_pa_reply_enckey): only allow non-bound reply
432         if its not required.
434         * kdc/default_config.c: rename pkinit_princ_in_cert and add
435         pkinit_require_binding
437         * kdc/kdc.h: rename pkinit_princ_in_cert and add
438         pkinit_require_binding
440         * kdc/pkinit.c: rename pkinit_princ_in_cert
442 2007-06-24  Love Hörnquist Åstrand  <lha@it.su.se>
444         * lib/krb5/pkinit.c: Adapt to hx509_verify_hostname change.
446 2007-06-21  Love Hörnquist Åstrand  <lha@it.su.se>
448         * kdc/krb5tgs.c: Drop unused variable.
450         * kdc/krb5tgs.c: disable anonyous tgs requests
452         * kdc/krb5tgs.c: Don't check PAC on cross realm for now.
454         * kuser/kgetcred.c: Set KRB5_GC_CONSTRAINED_DELEGATION and parse
455         nametypes.
457         * lib/krb5/krb5_principal.3: Document krb5_parse_nametype.
459         * lib/krb5/principal.c (krb5_parse_nametype): parse nametype and
460         return their integer values.
462         * lib/krb5/krb5.h (krb5_get_creds): Add
463         KRB5_GC_CONSTRAINED_DELEGATION.
465         * lib/krb5/get_cred.c (krb5_get_creds): if
466         KRB5_GC_CONSTRAINED_DELEGATION is set, set both request_anonymous
467         and constrained_delegation.
469 2007-06-20  Love Hörnquist Åstrand  <lha@it.su.se>
471         * kdc/digest.c: Return an error message instead of dropping the
472         packet for more failure cases.
474         * lib/krb5/krb5_principal.3: Add KRB5_PRINCIPAL_UNPARSE_DISPLAY.
476         * appl/gssmask/gssmask.c (AcquirePKInitCreds): fail more
477         gracefully
478         
479 2007-06-18  Love Hörnquist Åstrand  <lha@it.su.se>
481         * lib/krb5/pac.c: make compile.
482         
483         * lib/krb5/pac.c (verify_checksum): memset cksum to avoid using
484         pointer from stack.
486         * lib/krb5/plugin.c: Don't expose free pointer.
488         * lib/krb5/pkinit.c (_krb5_pk_load_id): fail directoy for first
489         calloc.
490         
491         * lib/krb5/pkinit.c (get_reply_key*): don't expose freed memory
493         * lib/krb5/krbhst.c: Host is static memory, don't free.
495         * lib/krb5/crypto.c (decrypt_internal_derived): make sure length
496         is longer then confounder + checksum.
498         * kdc: export get_dbinfo as krb5_kdc_set_dbinfo and call from
499         users. This to allows libkdc users to to specify their own
500         databases
502         * lib/krb5/pkinit.c (pk_rd_pa_reply_enckey): simplify handling of
503         content data (and avoid leaking memory).
505         * kdc/misc.c (_kdc_db_fetch): set error string for failures.
506         
507 2007-06-15  Love Hörnquist Åstrand  <lha@it.su.se>
509         * kdc/pkinit.c: Use KRB5_AUTHDATA_INITIAL_VERIFIED_CAS.
511 2007-06-13  Love Hörnquist Åstrand  <lha@it.su.se>
513         * kdc/pkinit.c: tell user when they got a pk-init request with
514         pkinit disabled.
516 2007-06-12  Love Hörnquist Åstrand  <lha@it.su.se>
517         
518         * lib/krb5/principal.c: Rename UNPARSE_NO_QUOTE to
519         UNPARSE_DISPLAY.
521         * lib/krb5/krb5.h: Rename UNPARSE_NO_QUOTE to UNPARSE_DISPLAY.
523         * lib/krb5/principal.c: Make no-quote mean replace strange chars
524         with space.
526         * lib/krb5/principal.c: Support KRB5_PRINCIPAL_UNPARSE_NO_QUOTE.
528         * lib/krb5/krb5.h: Add KRB5_PRINCIPAL_UNPARSE_NO_QUOTE.
530         * lib/krb5/test_princ.c: Test quoteing.
532         * lib/krb5/pkinit.c: update (c)
533         
534         * lib/krb5/get_cred.c: use krb5_sendto_context to talk to the KDC.
536         * lib/krb5/send_to_kdc.c (_krb5_kdc_retry): check if the whole
537         process needs to restart or just skip this KDC.
539         * lib/krb5/init_creds_pw.c: Use krb5_sendto_context to talk to
540         KDC.
542         * lib/krb5/krb5.h: Add sendto hooks and opaque structure.
544         * lib/krb5/krb5_rd_error.3: Update prototype.
546         * lib/krb5/send_to_kdc.c: Add hooks for processing the reply from
547         the server.
548         
549 2007-06-11  Love Hörnquist Åstrand  <lha@it.su.se>
551         * lib/krb5/krb5_err.et: Some new error codes from RFC 4120.
552         
553 2007-06-09  Love Hörnquist Åstrand  <lha@it.su.se>
555         * kdc/krb5tgs.c: Constify.
557         * kdc/kerberos5.c: Constify.
559         * kdc/pkinit.c: Check for KRB5-PADATA-PK-AS-09-BINDING. Constify.
561 2007-06-08  Love Hörnquist Åstrand  <lha@it.su.se>
563         * include/Makefile.am: Make krb5-types.h nodist_include_HEADERS.
565         * kdc/Makefile.am: EXTRA_DIST += version-script.map.
566         
567 2007-06-07  Love Hörnquist Åstrand  <lha@it.su.se>
568         
569         * Makefile.am (print-distdir): print name of dist
571         * kdc/pkinit.c: Break out loading of mappings file to a separate
572         function and remove warning that it can't open the mapping file,
573         there are now mappings in the db, maybe the users uses that
574         instead...
576         * lib/krb5/crypto.c: Require the raw key have the correct size and
577         do away with the minsize.  Minsize was a thing that originated
578         from RC2, but since RC2 is done in the x509/cms subsystem now
579         there is no need to keep that around.
581         * lib/hdb/dbinfo.c: If there is no default dbname, also check for
582         unset mkey_file and set it default mkey name, make backward compat
583         stuff work.
585         * kdc/version-script.map: add new symbols
587         * kdc/kdc-replay.c: Also update krb5_context view of what the time
588         is.
590         * configure.in: add tests/can/Makefile
592         * kdc/kdc-replay.c: Add --[version|help].
594         * kdc/pkinit.c: Push down the kdc time into the x509 library.
596         * kdc/connect.c: Move up krb5_kdc_save_request so we can catch the
597         reply data too.
599         * kdc/kdc-replay.c: verify reply by checking asn1 class, type and
600         tag of the reply if there is one.
602         * kdc/process.c: Save asn1 class, type and tag of the reply if
603         there is one. Used to verify the reply in kdc-replay.
605 2007-06-06  Love Hörnquist Åstrand  <lha@it.su.se>
607         * kdc/kdc_locl.h: extern for request_log.
609         * kdc/Makefile.am: Add kdc-replay.
611         * kdc/kdc-replay.c: Replay kdc messages to the KDC library.
613         * kdc/config.c: Pick up request_log from [kdc]kdc-request-log.
615         * kdc/connect.c: Option to save the request to disk.
617         * kdc/process.c (krb5_kdc_save_request): save request to file.
619         * kdc/process.c (krb5_kdc_process*): dont update _kdc_time
620         automagicly.
621         (krb5_kdc_update_time): set or get current kdc-time.
623         * kdc/pkinit.c (_kdc_pk_rd_padata): accept both pkcs-7 and
624         pkauthdata as the signeddata oid
625         
626         * kdc/pkinit.c (_kdc_pk_rd_padata): Try to log what went wrong.
628 2007-06-05  Love Hörnquist Åstrand  <lha@it.su.se>
629         
630         * kdc/pkinit.c: Use oid_id_pkcs7_data for pkinit-9 encKey reply to
631         match windows DC behavior better.
632         
633 2007-06-04  Love Hörnquist Åstrand  <lha@it.su.se>
635         * configure.in: use test for -framework Security
637         * appl/test/uu_server.c: Print status to stdout.
639         * kdc/digest.c (digest ntlm): provide log entires by setting ret
640         to an error.
641         
642 2007-06-03  Love Hörnquist Åstrand  <lha@it.su.se>
644         * doc/hx509.texi: Indent crl-sign.
646         * doc/hx509.texi: One more crl-sign example.
648         * lib/krb5/test_princ.c: plug memory leaks.
650         * lib/krb5/pac.c: plug memory leaks.
652         * lib/krb5/test_pac.c: plug memory leaks.
654         * lib/krb5/test_prf.c: plug memory leak.
656         * lib/krb5/test_cc.c: plug memory leaks.
658         * doc/hx509.texi: Simple blob about publishing CRLs.
660         * doc/win2k.texi: drop text about enctypes.
661         
662 2007-06-02  Love Hörnquist Åstrand  <lha@it.su.se>
664         * kdc/pkinit.c: In case of OCSP verification failure, referash
665         every 5 min. In case of success, refreash 2 min before expiring or
666         faster.
667         
668 2007-05-31  Love Hörnquist Åstrand  <lha@it.su.se>
669         
670         * lib/krb5/krb5_err.et: add error 68, WRONG_REALM
672         * kdc/pkinit.c: Handle the ms san in a propper way, still cheat
673         with the realm name.
675         * kdc/kerberos5.c: If _kdc_pk_check_client failes, bail out
676         directly and hand the error back to the client.
678         * lib/krb5/krb5_err.et: Add missing REVOCATION_STATUS_UNAVAILABLE
679         and fix error message for CLIENT_NAME_MISMATCH.
681         * kdc/pkinit.c: More logging for pk-init client mismatch.
683         * kdc/kerberos5.c: Also add a KRB5_PADATA_PK_AS_REQ_WIN for
684         windows pk-init (-9) to make MIT clients happy.
685         
686 2007-05-30  Love Hörnquist Åstrand  <lha@it.su.se>
687         
688         * kdc/pkinit.c: Force des3 for win2k.
690         * kdc/pkinit.c: Add wrapping to ContentInfo wrapping to
691         COMPAT_WIN2K.
693         * lib/krb5/keytab_keyfile.c: Spelling.
695         * kdc/pkinit.c: Allow matching by MS UPN SAN, note that this delta
696         doesn't deal with case of realm.
697         
698 2007-05-16  Love Hörnquist Åstrand  <lha@it.su.se>
700         * lib/krb5/crypto.c (krb5_crypto_overhead): return static overhead
701         of encryption.
702         
703 2007-05-10  Dave Love  <fx@gnu.org>
704         
705         * doc/win2k.texi: Update some URLs.
707 2007-05-13  Love Hörnquist Åstrand  <lha@it.su.se>
709         * kuser/kimpersonate.c: Fix version number of ticket, it should be
710         5 not the kvno.
711         
712 2007-05-08  Love Hörnquist Åstrand  <lha@it.su.se>
714         * doc/setup.texi: Salting is really Encryption types and salting.
715         
716 2007-05-07  Love Hörnquist Åstrand  <lha@it.su.se>
717         
718         * doc/setup.texi: spelling, from Ronny Blomme
720         * doc/win2k.texi: Fix ksetup /SetComputerPassword, from Ronny
721         Blomme
722         
723 2007-05-02  Love Hörnquist Åstrand  <lha@it.su.se>
725         * lib/hdb/dbinfo.c (hdb_get_dbinfo) If there are no database
726         specified, create one and let it use the defaults.
727         
728 2007-04-27  Love Hörnquist Åstrand  <lha@it.su.se>
729         
730         * lib/hdb/test_dbinfo.c: test acl file
732         * lib/hdb/test_dbinfo.c: test acl file
734         * lib/hdb/dbinfo.c: add acl file
736         * etc: ignore Makefile.in
738         * Makefile.am: SUBDIRS += etc
740         * configure.in: Add etc/Makefile.
742         * etc/Makefile.am: make sure services.append is distributed
744 2007-04-24  Love Hörnquist Åstrand  <lha@it.su.se>
746         * kdc: rename windc_init to krb5_kdc_windc_init
748         * kdc/version-script.map: version script for libkdc
749         
750         * kdc/Makefile.am: version script for libkdc
751         
752 2007-04-23  Love Hörnquist Åstrand  <lha@it.su.se>
754         * lib/krb5/init_creds.c (krb5_get_init_creds_opt_get_error):
755         correct the order of the arguments.
757         * lib/hdb/Makefile.am: Add and test dbinfo.
759         * lib/hdb/hdb.h: Forward declaration for struct hdb_dbinfo;
761         * kdc/config.c: Use krb5_kdc_get_config and just fill in what the
762         users wanted differently.
764         * kdc/default_config.c: Make the default configuration fetch info
765         from the krb5.conf.
766         
767 2007-04-22  Love Hörnquist Åstrand  <lha@it.su.se>
769         * lib/krb5/store.c (krb5_store_creds_tag): use session.keytype to
770         determine if to send the session-key, for the second place in the
771         function.
773         * tools/krb5-config.in: rename des to hcrypto
775         * kuser/Makefile.am: depend on libheimntlm
777         * kuser/kinit.c: Add --ntlm-domain that store the ntlm cred for
778         this domain if the Kerberos password auth worked.
780         * kuser/klist.c: add new option --hidden that doesn't display
781         principal that starts with @
783         * tools/krb5-config.in: Add heimntlm when we use gssapi.
785         * lib/krb5/krb5_ccache.3 (krb5_cc_retrieve_cred): document what to
786         free 'cred' with.
788         * lib/krb5/cache.c (krb5_cc_retrieve_cred): document what to free
789         'cred' with.
790         
791 2007-04-21  Love Hörnquist Åstrand  <lha@it.su.se>
793         * lib/krb5/store.c (krb5_store_creds_tag): use session.keytype to
794         determine if to send the session-key.
796         * kcm/client.c (kcm_ccache_new_client): make root be able to pass
797         the name constraints, not the opposite. From Bryan Jacobs.
798         
799 2007-04-20  Love Hörnquist Åstrand  <lha@it.su.se>
801         * kcm/acl.c: make compile again.
803         * kcm/client.c: fix warning.
804         
805         * kcm: First, it allows root to ignore the naming conventions.
806         Second, it allows root to always perform any operation on any
807         ccache.  Note that root could do this anyway with FILE ccaches.
808         From Bryan Jacobs.
810         * Rename libdes to libhcrypto.
812 2007-04-19  Love Hörnquist Åstrand  <lha@it.su.se>
814         * kinit: remove code that depend on kerberos 4 library
815         
816         * kdc: remove code that depend on kerberos 4 library
817         
818         * configure.in: Drop kerberos 4 support.
820         * kdc/hpropd.c (main): free the message when done with it.
822         * lib/krb5/pkinit.c (_krb5_get_init_creds_opt_free_pkinit):
823         remember to free memory too.
825         * lib/krb5/pkinit.c (pk_rd_pa_reply_dh): free content-type when
826         done.
828         * configure.in: test rk_VERSIONSCRIPT
829         
830 2007-04-18  Love Hörnquist Åstrand  <lha@it.su.se>
832         * fix-export: remove, all done by make dist now
834 2007-04-15  Love Hörnquist Åstrand  <lha@it.su.se>
836         * lib/krb5/krb5_get_credentials.3: spelling, from Jason McIntyre
838 2007-04-11  Love Hörnquist Åstrand  <lha@it.su.se>
840         * kdc/kstash.8: Spelling, from raga <raga@comcast.net> 
841         via Bjorn Sandell.
843         * lib/krb5/store_mem.c: indent.
845         * lib/krb5/recvauth.c: Set error string.
847         * lib/krb5/rd_req.c: clear error strings.
849         * lib/krb5/rd_cred.c: clear error string.
851         * lib/krb5/pkinit.c: Set error strings.
853         * lib/krb5/get_cred.c: Tell what principal we are not finding for
854         all KRB5_CC_NOTFOUND.
855         
856 2007-02-22  Love Hörnquist Åstrand  <lha@it.su.se>
857         
858         * kdc/kerberos5.c: Return the same error codes as a windows KDC.
860         * kuser/kinit.c: KRB5KDC_ERR_PREAUTH_FAILED is also a password
861         failed.
862         
863         * kdc/kerberos5.c: Make handling of replying e_data more generic,
864         from metze.
866         * kdc/kerberos5.c: Fix (string const and shadow) warnings, from
867         metze.
869         * lib/krb5/pac.c: Create the PAC element in the same order as
870         w2k3, maybe there's some broken code in windows which relies on
871         this... From metze.
873         * kdc/kerberos5.c: Select a session enctype from the list of the
874         crypto systems supported enctype, is supported by the client and
875         is one of the enctype of the enctype of the krbtgt.
876         
877         The later is used as a hint what enctype all KDC are supporting to
878         make sure a newer version of KDC wont generate a session enctype
879         that and older version of a KDC in the same realm can't decrypt.
880         
881         But if the KDC admin is paranoid and doesn't want to have "no the
882         best" enctypes on the krbtgt, lets save the best pick from the
883         client list and hope that that will work for any other KDCs.
884         
885         Reported by metze.
887         * kdc/hprop.c (propagate_database): on any failure, drop the
888         connection to the peer and try next one.
889         
890 2007-02-18  Love Hörnquist Åstrand  <lha@it.su.se>
892         * lib/krb5/krb5_get_init_creds.3: document new options.
894         * kdc/krb5tgs.c: Only check service key for cross realm PACs.
896         * lib/krb5/init_creds.c: use the new merged flags field.
897         (krb5_get_init_creds_opt_set_win2k): new function, turn on all w2k
898         compat flags.
900         * lib/krb5/init_creds_pw.c: use the new merged flags field.
902         * lib/krb5/krb5_locl.h: merge all flags into one entity
903         
904 2007-02-11  Dave Love  <fx@gnu.org>
905         
906         * lib/krb5/krb5_aname_to_localname.3: Small fixes
907         
908         * lib/krb5/krb5_digest.3: Small fixes
909         
910         * kuser/kimpersonate.1: Small fixes
912 2007-02-17  Love Hörnquist Åstrand  <lha@it.su.se>
914         * lib/krb5/init_creds_pw.c (find_pa_data): if there is no list,
915         there is no entry.
917         * kdc/krb5tgs.c: Don't check PACs on cross realm requests.
919         * lib/krb5/krb5.h: add KRB5_KU_CANONICALIZED_NAMES.
921         * lib/krb5/init_creds_pw.c: Verify client referral data.
923         * kdc/kerberos5.c: switch some "return ret" to "goto out".
924         
925         * kdc/kerberos5.c: Pass down canonicalize request to hdb layer,
926         sign client referrals.
927         
928         * lib/hdb/hdb.h: Add HDB_F_CANON.
930         * lib/hdb: add simple alias support to the database backends
932 2007-02-16  Love Hörnquist Åstrand  <lha@it.su.se>
934         * kuser/kinit.c: Add canonicalize flag.
936         * lib/krb5/init_creds_pw.c: Use EXTRACT_TICKET_* flags, support
937         canonicalize.
939         * lib/krb5/init_creds.c (krb5_get_init_creds_opt_set_canonicalize):
940         new function.
941         
942         * lib/krb5/get_cred.c: Use EXTRACT_TICKET_* flags.
944         * lib/krb5/get_in_tkt.c: Use EXTRACT_TICKET_* flags.
946         * lib/krb5/krb5_locl.h: Add EXTRACT_TICKET_* flags.
947         
948 2007-02-15  Love Hörnquist Åstrand  <lha@it.su.se>
950         * lib/krb5/test_princ.c: test parsing enterprise-names.
952         * lib/krb5/principal.c: Add support for parsing enterprise-names.
954         * lib/krb5/krb5.h: Add KRB5_PRINCIPAL_PARSE_ENTERPRISE.
956         * lib/hdb/hdb-ldap.c: Make work again.
957         
958 2007-02-11  Dave Love  <fx@gnu.org>
960         * kcm/client.c (kcm_ccache_new_client): Cast snprintf'ed value.
961         
962 2007-02-10  Love Hörnquist Åstrand  <lha@it.su.se>
963         
964         * doc/setup.texi: prune trailing space
966         * lib/hdb/db.c: Be better at setting and clearing error string.
968         * lib/hdb/hdb.c: Be better at setting and clearing error string.
970 2007-02-09  Love Hörnquist Åstrand  <lha@it.su.se>
972         * lib/krb5/keytab.c (krb5_kt_get_entry): Use krb5_kt_get_full_name
973         to print out the keytab name.
975         * doc/setup.texi: Spelling, from Guido Guenther
976         
977 2007-02-08  Love Hörnquist Åstrand  <lha@it.su.se>
979         * lib/krb5/rd_cred.c: Plug memory leak, from Michael B Allen.
981 2007-02-06  Love Hörnquist Åstrand  <lha@it.su.se>
983         * lib/krb5/test_store.c (test_uint16): unsigned ints can't be
984         negative
985         
986 2007-02-03  Love Hörnquist Åstrand  <lha@it.su.se>
988         * kdc/pkinit.c: pass extra flags for detached signatures.
990         * lib/krb5/pkinit.c: pass extra flags for detached signatures.
992         * kdc/digest.c: Remove debug output.
994         * kuser/kdigest.c: Add support for ms-chap-v2 client.
995         
996 2007-02-02  Love Hörnquist Åstrand  <lha@it.su.se>
997                 
998         * kdc/digest.c: Fix ms-chap-v2 get_masterkey
1000         * kdc/digest.c: Fix ms-chap-v2 mutual response auth code.
1002         * kuser/kdigest.c: Print session key if there is one.
1004         * lib/krb5/digest.c: rename hash-a1 to session key
1006         * kdc/digest.c: Add get_master from RFC 3079 3.4 for MS-CHAP-V2
1008         * kuser/kdigest.c: print rsp if there is one, from Klas.
1010         * kdc/digest.c: Use right size, from Klas Lindfors.
1012         * kuser/kdigest.c: Set client nonce if avaible, from Klas.
1014         * kdc/digest.c: First version from kllin.
1016         * kuser/kdigest.c: Don't restrict the type.
1017         
1018 2007-02-01  Love Hörnquist Åstrand  <lha@it.su.se>
1019         
1020         * kuser/kdigest-commands.in: add --client-response
1022         * kuser/kdigest.c: Print status instead of response.
1024         * kdc/digest.c: Better logging and return status = FALSE when
1025         checksum doesn't match.
1027         * kdc/digest.c: Check the digest response in the KDC.
1029         * lib/krb5/digest.c: New functions to send in requestResponse to
1030         KDC and get status of the request.
1032         * kdc/digest.c: Add support for MS-CHAP v2.
1034         * lib/hdb/hdb-ldap.c: Set hdb->hdb_db for ldap.
1035         
1036 2007-01-31  Love Hörnquist Åstrand  <lha@it.su.se>
1038         * fix-export: Make hx509.info too
1040         * kdc/digest.c: don't verify identifier in CHAP, its the client
1041         that chooses it.
1042         
1043 2007-01-23  Love Hörnquist Åstrand  <lha@it.su.se>
1045         * lib/krb5/Makefile.am: Basic test of prf.
1047         * lib/krb5/test_prf.c: Basic test of prf.
1049         * lib/krb5/mit_glue.c: Add MIT glue for Kerberos RFC 3961 PRF
1050         functions.
1052         * lib/krb5/crypto.c: Add Kerberos RFC 3961 PRF functions.
1054         * lib/krb5/krb5_data.3: Document krb5_data_cmp.
1056         * lib/krb5/data.c: Add krb5_data_cmp.
1057         
1058 2007-01-20  Love Hörnquist Åstrand  <lha@it.su.se>
1060         * kdc/kx509.c: Don't use C99 syntax.
1061         
1062 2007-01-17  Love Hörnquist Åstrand  <lha@it.su.se>
1063         
1064         * configure.in: its LIBADD_roken (and shouldn't really exist, our
1065         libtool usage it broken)
1067         * configure.in: Add an extra variable for roken, LIBADD, that
1068         should be used for library depencies.
1070         * lib/krb5/send_to_kdc.c (krb5_sendto): zero out receive buffer.
1072         * lib/krb5/krb5_init_context.3: fix mdoc errors
1074         * Heimdal 0.8 branch cut today
1076         * doc/hx509.texi: Spelling and more about proxy certificates.
1078         * configure.in: check for arc4random
1079         
1080 2007-01-16  Love Hörnquist Åstrand  <lha@it.su.se>
1081         
1082         * lib/krb5/send_to_kdc.c (krb5_sendto): zero receive krb5_data
1083         before starting
1085         * tools/heimdal-build.sh: make cvs keep quiet
1087         * kuser/kverify.c: Use argument as principal if passed an
1088         argument. Bug report from Douglas E. Engert
1089         
1090 2007-01-15  Love Hörnquist Åstrand  <lha@it.su.se>
1091         
1092         * lib/krb5/rd_req.c (krb5_rd_req_ctx): The code failed to consider
1093         the enc_tkt_in_skey case, from Douglas E. Engert.
1095         * kdc/kx509.c: Issue certificates.
1097         * kdc/config.c: Parse kx509/kca configuration.
1099         * kdc/kdc.h: add kx509 config
1100         
1101 2007-01-14  Love Hörnquist Åstrand  <lha@it.su.se>
1102         
1103         * kdc/kerberos5.c (_kdc_find_padata): if there is not padata,
1104         there is nothing find.
1106         * doc/hx509.texi: Examples for pk-init.
1108         * doc/hx509.texi: About extending ca lifetime and sub cas.
1109         
1110 2007-01-13  Love Hörnquist Åstrand <lha@it.su.se>
1111         
1112         * doc/hx509.texi: More about certificates.
1113         
1114 2007-01-12  Love Hörnquist Åstrand  <lha@it.su.se>
1116         * doc/hx509.texi: add Application requirements and write about
1117         xmpp/jabber.
1118         
1119 2007-01-11  Love Hörnquist Åstrand  <lha@it.su.se>
1121         * doc/hx509.texi: More about issuing certificates.
1123         * doc/hx509.texi: Start of a x.509 manual.
1125         * include/Makefile.am: remove install headerfiles
1127         * lib/krb5/test_pac.c: Use more interesting data to cause more
1128         errors.
1130         * include/Makefile.am: remove install headerfiles
1132         * lib/krb5/mcache.c: MCC_CURSOR not used, remove.
1134         * lib/krb5/crypto.c: macro kcrypto_oid_enc now longer used
1136         * lib/krb5/rd_safe.c (krb5_rd_safe): set length before trying to
1137         allocate data
1138         
1139 2007-01-10  Love Hörnquist Åstrand  <lha@it.su.se>
1140         
1141         * doc/setup.texi: Hint about hxtool validate.
1143         * appl/test/uu_server.c: print both "server" and "client"
1145         * kdc/krb5tgs.c: Rename keys to be more obvious what they do.
1147         * kdc/kerberos5.c: Use other keys to sign PAC with. From Andrew
1148         Bartlett
1149         
1150         * kdc/windc.c: ident, spelling.
1152         * kdc/windc_plugin.h: indent.
1154         * kdc/krb5tgs.c: Pass down server entry to verify_pac function.
1155         from Andrew Bartlett
1157         * kdc/windc.c: pass down server entry to verify_pac function, from
1158         Andrew Bartlett
1160         * kdc/windc_plugin.h: pass down server entry to verify_pac
1161         function, from Andrew Bartlett
1163         * configure.in: Provide a automake symbol ENABLE_SHARED if shared
1164         libraries are built.
1166         * lib/krb5/rd_req.c (krb5_rd_req_ctx): Use the correct keyblock
1167         when verifying the PAC.  From Andrew Bartlett.
1168         
1169 2007-01-09  Love Hörnquist Åstrand  <lha@it.su.se>
1171         * lib/krb5/test_pac.c: move around to code test on real PAC.
1173         * lib/krb5/pac.c: A tiny 2 char diffrence that make the code work
1174         for real.
1176         * lib/krb5/test_pac.c: Test more PAC (note that the values used in
1177         this test is wrong, they have to be fixed when the pac code is
1178         fixed).
1180         * doc/setup.texi: Update to new hxtool issue-certificate usage
1182         * lib/krb5/init_creds_pw.c: Make sure we don't sent both ENC-TS
1183         and PK-INIT pa data, no need to expose our password protecting our
1184         PKCS12 key.
1186         * kuser/klist.c (print_cred_verbose): include ticket length in the
1187         verbose output
1188         
1189 2007-01-08  Love Hörnquist Åstrand  <lha@it.su.se>
1190         
1191         * lib/krb5/acache.c (loadlib): pass RTLD_LAZY to dlopen, without
1192         it linux is unhappy.
1194         * lib/krb5/plugin.c (loadlib): pass RTLD_LAZY to dlopen, without
1195         it linux is unhappy.
1197         * lib/krb5/name-45-test.c: One of the hosts I sometimes uses is
1198         named "bar.domain", this make one of the tests pass when it
1199         shouldn't.
1201 2007-01-05  Love Hörnquist Åstrand  <lha@it.su.se>
1203         * doc/setup.texi: Change --key argument to --out-key.
1205         * kuser/kimpersonate.1: mangle my name
1206         
1207 2007-01-04  Love Hörnquist Åstrand  <lha@it.su.se>
1208         
1209         * doc/setup.texi: describe how to use hx509 to create
1210         certificates.
1212         * tools/heimdal-build.sh: Add --distcheck.
1214         * kdc/kerberos5.c: Check for KRB5_PADATA_PA_PAC_REQUEST to check
1215         if we should include the PAC in the krbtgt.
1217         * kdc/pkinit.c (_kdc_as_rep): check if
1218         krb5_generate_random_keyblock failes.
1220         * kdc/kerberos5.c (_kdc_as_rep): check if
1221         krb5_generate_random_keyblock failes.
1223         * kdc/krb5tgs.c (tgs_build_reply): check if
1224         krb5_generate_random_keyblock failes.
1226         * kdc/krb5tgs.c: Scope etype.
1228         * lib/krb5/rd_req.c: Make it possible to turn off PAC check, its
1229         default on.
1231         * lib/krb5/rd_req.c (krb5_rd_req_ctx): If there is a PAC, verify
1232         its server signature.
1234         * kdc/kerberos5.c (_kdc_as_rep): call windc client access hook.
1235         (_kdc_tkt_add_if_relevant_ad): constify in data argument.
1237         * kdc/windc_plugin.h: More comments add a client_access hook.
1239         * kdc/windc.c: Add _kdc_windc_client_access.
1241         * kdc/krb5tgs.c: rename functions after export some more pac
1242         functions.
1244         * lib/krb5/test_pac.c: export some more pac functions.
1246         * lib/krb5/pac.c: export some more pac functions.
1248         * kdc/krb5tgs.c: Resign the PAC in tgsreq if we have a PAC.
1250         * configure.in: add tests/plugin/Makefile
1251         
1252 2007-01-03  Love Hörnquist Åstrand  <lha@it.su.se>
1254         * kdc/krb5tgs.c: Get right key for PAC krbtgt verification.
1256         * kdc/config.c: spelling
1258         * lib/krb5/krb5.h: typedef for krb5_pac.
1260         * kdc/headers.h: Include <windc_plugin.h>.
1262         * kdc/Makefile.am: Include windc.c and use windc_plugin.h
1264         * kdc/krb5tgs.c: Call callbacks for emulating a Windows Domain
1265         Controller.
1267         * kdc/kerberos5.c: Call callbacks for emulating a Windows Domain
1268         Controller.  Move the some of the log related stuff to its own
1269         function.
1271         * kdc/config.c: Init callbacks for emulating a Windows Domain
1272         Controller.
1274         * kdc/windc.c: Rename the init function to windc instead of pac.
1276         * kdc/windc.c: Callbacks specific to emulating a Windows Domain
1277         Controller.
1279         * kdc/windc_plugin.h: Callbacks specific to emulating a Windows
1280         Domain Controller.
1282         * lib/krb5/Makefile.am: add krb5_HEADERS to build_HEADERZ
1284         * lib/krb5/pac.c: Support all keyed checksum types.
1285         
1286 2007-01-02  Love Hörnquist Åstrand  <lha@it.su.se>
1287         
1288         * lib/krb5/pac.c (krb5_pac_get_types): Return list of types.
1289         
1290         * lib/krb5/test_pac.c: test krb5_pac_get_types
1292         * lib/krb5/krbhst.c: Add KRB5_KRBHST_KCA.
1294         * lib/krb5/krbhst.c: Add KRB5_KRBHST_KCA.
1296         * lib/krb5/krb5.h: Add KRB5_KRBHST_KCA.
1298         * lib/krb5/test_pac.c: test Add/remove pac buffer functions.
1300         * lib/krb5/pac.c: Add/remove pac buffer functions.
1302         * lib/krb5/pac.c: sprinkle const
1304         * lib/krb5/pac.c: rename DCHECK to CHECK
1305         
1306         * Happy New Year.