OpenBSD-4.6/kerberosV/src/ChangeLog

2006-02-03  Love Hörnquist Åstrand  <lha@it.su.se>

	* Release 0.7.2

	* lib/krb5/Makefile.am: install krb5_set_password.3
	
	* tools/krb5-config.in: Depend on LIB_dlopen

	* tools/Makefile.am: Depend on LIB_dlopen

	* lib/krb5/rd_req.c: 1.60: (krb5_verify_ap_re2): check timestamp
	in authenticator

	* kcm/connect.c: 1.18: (kcm_loop): Use HAVE_DOOR_CREATE, not
	HAVE_DOORS.  1.17: (update_client_creds): in case there is no
	UCRED_VERSION, skip LOCAL_PEERCRED

	* lib/krb5/keytab_memory.c: 1.8: (mkt_remove_entry): realloc can
	return NULL on success in the case 0 entries are allocated, From
	Andrew Bartlet
	
2005-11-02  Love Hörnquist Åstrand  <lha@it.su.se>

	* kcm/headers.h: 1.7: Maybe include <sys/param.h>.
	
2005-10-30  Love Hörnquist Åstrand  <lha@it.su.se>
	
	* configure.in: 1.378: Check for <sys/ucred.h>.
	
	* kcm/headers.h: 1.6: Maybe include <sys/param.h>.  1.5: include
	<sys/ucred.h>
	
2005-10-26  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/krb5_encrypt.3: 1.16: Fix mdoc for
	krb5_encrypt_EncryptedData, Johnny Lam <jlam@pkgsrc.org>
	
2005-10-22  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/rd_cred.c: 1.26: (krb5_rd_cred): try both the session
	key and the sender subkey. Both RFC1510 and RFC4120 say that you
	have to use the session key, Heimdal uses subkey.
	
2005-10-21  Love Hörnquist Åstrand  <lha@it.su.se>

	* kcm/connect.c: 1.16: * kcm/connect.c: fix arguments to kcm_log()
	when reporting sendmsg() error * kcm/connect.c: don't send socket
	address in msghdr, it returns an already connected error on Linux
	
2005-10-12  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/init_creds_pw.c: Rename private to opt_private.

	* lib/krb5/init_creds.c: Rename private to opt_private.

	* lib/krb5/krb5.h: 1.238: (krb5_get_init_creds_opt): rename
	element private to opt_private to make c++ picky compilers less
	upset.
	
2005-09-09  Love Hörnquist Åstrand  <lha@it.su.se>
	
	* Release 0.7.1

	* lib/krb5/kuserok.c: 1.14: (check_directory): use passed
	directory name

2005-08-11  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/crypto.c: 1.124: (wrapped_length): the underived
	encrypted types checksum are all unkeyed (matches the code in
	encrypt_internal() and encrypt_internal_special())

2005-08-09  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/hdb/db3.c: 1.16: (DB_open): catch errors from the d->open
	calls instead of letting them slip though to d->cursor. Bug
	repport from Andrew Bartlett <abartlet@samba.org> 1.15: (DB_open):
	in case of error, close database

2005-08-08  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/hdb/mkey.c (hdb_seal_key_mkey): if mknvo isn't set, the
	caller want the latest mkvno, go search for it.

2005-07-26  Love Hörnquist Åstrand  <lha@it.su.se>

	* kdc/524.c: 1.32: Always include <krb5-v4compat.h>.

2005-07-13  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/get_cred.c: 1.108: (krb5_get_credentials_with_flags):
	only call krb5_cc_retrieve_cred once, and plug memory leak.

	* lib/krb5/rd_cred.c (krb5_rd_cred): don't leak memory

2005-06-15  Love Hörnquist Åstrand  <lha@it.su.se>

	* Release 0.7

	* kdc/kerberos5.c (make_etype_info2_entry): NUL terminate the
	string

	* lib/krb5/cache.c: 1.70: (_krb5_expand_default_cc_name): replace
	strndup with inline copy

	* kdc/kerberos5.c: 1.176: replace strndup with inline copy, free
	data on failure

2005-06-14  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/Makefile.am: TESTS += test_mem libkrb5_la_SOURCES +=
	kcm.h
	
	* kuser/kinit.c (main): catch KRB5_CONFIG_BADFORMAT from
	krb5_init_context

	* kdc/main.c (main): catch KRB5_CONFIG_BADFORMAT from
	krb5_init_context

	* lib/krb5/verify_krb5_conf.c (main): catch KRB5_CONFIG_BADFORMAT
	from krb5_init_context From: Mathias Feiler
	<feiler@uni-hohenheim.de>

	* lib/krb5/verify_krb5_conf.c: Add more missig entires, from
	Mathias Feiler <feiler@uni-hohenheim.de>

2005-06-11  Love Hörnquist Åstrand  <lha@it.su.se>

	* kdc/pkinit.c (pk_principal_from_X509): remember to free
	KRB5PrincipalName

	* lib/krb5/log.c (krb5_closelog): free all content in
	krb5_log_facility

2005-06-08  Love Hörnquist Åstrand  <lha@it.su.se>

	* kdc/524.c: init kvno to please gcc

	* kdc/kaserver.c (do_authenticate): check return value from
	unparse_auth_args

2005-06-07  Dave Love  <fx@gnu.org>

	* doc/setup.texi: Spelling.
	
	* doc/programming.texi: Spelling.

2005-06-02  Dave Love  <fx@gnu.org>

	* kcm/connect.c (kcm_door_server): Make static.

	* kcm/kcm_locl.h (disallow_getting_krbtgt): Declare.

2005-06-02  Love Hörnquist Åstrand  <lha@it.su.se>

	* kdc/mit_dump.c (mit_prop_dump): cast argument to
	krb5_parse_principal to avoid warning

	* kdc/mit_dump.c: rename KRB5_TL_MOD_PRINC to
	mit_KRB5_TL_MOD_PRINC to hint its a constant originating from mit
	codebase

2005-06-01  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/store.c: If we are allocating 0 entires, avoid failing
	if ALLOC returns NULL

	* lib/krb5/verify_krb5_conf.c: Check for [kdc]v4-realm
	
	* lib/krb5/cache.c: When returning a new error code, set error
	string.

2005-05-31  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/keytab_file.c: Adapt to changed signature of
	_krb5_xunlock, clear more error string where needed.

	* lib/krb5/fcache.c (_krb5_xunlock): catch the error and turn it
	into something sensable

2005-05-30  Love Hörnquist Åstrand  <lha@it.su.se>
	
	* kdc/kerberos5.c (tgs_make_reply): copy ok-as-delegate flag from
	server entry to encrypted ticket flags

2005-05-30  Johan Danielsson  <joda@pdc.kth.se>

	* kdc/connect.c: rename sendlength to prependlength (which
	hopefully better represents its purpose), and change type to
	krb5_boolean

	* kdc/connect.c: log signal causing exit
	
	* kdc/main.c (sigterm): set exit_flag to signal causing exit;
	(main): trap SIGXCPU

2005-05-30  Love Hörnquist Åstrand  <lha@it.su.se>

	* kcm/kcm.8: document --disallow-getting-krbtgt and --door-path

	* kcm/protocol.c (kcm_op_retrieve): check server for krbtgt, not
	client

	* kcm/main.c: ignore SIGPIPE

	* kcm/protocol.c: Add option to disallow getting krbtgt out from
	from KCM. KCM will do the fetching part itself.
	
	* kcm/config.c: Add option to disallow getting krbtgt out from
	from KCM. KCM will do the fetching part itself.

2005-05-30  Luke Howard <lukeh@padl.com>

	* kcm/events.c: if credentials have expired when attempting
	to renew, attempt to reacquire them using initial creds

2005-05-29  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/krb5_principal.3: Spelling, from Björn Sandell
	
	* doc/setup.texi: spelling, from Björn Sandell

	* lib/krb5/name-45-test.c: XXX don't run the test unless the
	machine is in kth.se or su.se because it depends on local resolver
	configuration.

	* lib/hdb/hdb.c: provde RTLD_NOW and RTLD_GLOBAL if they don't
	exists

	* kcm/connect.c: fix doors support, fix signedness warnings

	* kcm/config.c: add --door-path=
	
	* configure.in: comment what the "detect doors on solaris"
	fragment tries to do

	* kcm/acquire.c (generate_random_pw): fix signed-ness warnings

	* kcm/connect.c (update_client_creds): fix compile error in the
	getpeerucred case

	* lib/krb5/test_cc.c: change format for expantion variables in
	default_cc_name to %{variable} to not confuse them with shell
	ditto

	* kcm/headers.h: Maybe include <door.h>.

	* kcm/kcm_locl.h: add extern door_path;

	* configure.in: detect doors using door_create
	
	* kcm/Makefile.am: add dependcy on kcm_protos.h add lib depency on
	LIB_door_create

	* lib/krb5/kcm.h: add _PATH_KCM_DOOR, default path to kcm door

	* lib/krb5/kcm.c: use [libdefaults]kcm_door to find the door to
	kcm

	* lib/krb5/Makefile.am: libkrb5_la_LIBADD += LIB_door_create
	
	* lib/krb5/krb5_locl.h: Maybe include <sys/mman.h>, maybe include
	<door.h>.

	* lib/krb5/kcm.c (kcm_send_request): add support for doing a door
	call to kcm

	* lib/asn1: prefix Der_class with ASN1_C_ to avoid problems with
	system headerfiles that pollute the name space

	* kcm/kcm.8: change format for expantion variables in
	default_cc_name to %{variable} to not confuse them with shell
	ditto

	* lib/krb5/krb5.conf.5: change format for expantion variables in
	default_cc_name to %{variable} to not confuse them with shell
	ditto

	* lib/krb5/cache.c (_krb5_expand_default_cc_name): change format
	for expantion variables to %{variable} to not confuse them with
	shell ditto
	
	* kcm/connect.c: add LOCAL_PEERCRED and experimental doors support

2005-05-27  Love Hörnquist Åstrand  <lha@it.su.se>

	* appl/kf/kfd.c: case uid_t to unsigned long in printf format

2005-05-25  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/krb5_auth_context.3: remove trailing space

2005-05-24  Love Hörnquist Åstrand  <lha@it.su.se>

	* kcm/connect.c (do_request): use sendmsg to send the reply
	
	* fix-export: add make_proto for kcm/kcm_protos.h
	
	* kcm/kcm_locl.h: remove prototypes and add <kcm_protos.h>

	* kcm/Makefile.am (kcm_SOURCES): add headerfiles
	(kcm_protos.h): generate prototypes

	* kcm/protocol.c: fix error in last commit, use right function

	* kcm/headers.h: include <ucred.h> if we have getpeerucred

	* configure.in: check for functions getpeerucred and getpeereid

	* kcm/connect.c (update_client_creds): add support for
	getpeerucred and getpeereid

	* lib/krb5/kcm.c (kcm_alloc): allow kcm socket to be configured by
	[libdefaults]kcm_socket=/path

2005-05-24  David Love  <fx@gnu.org>

	* kcm/kcm.8: KRB5CCNAME needs an literal uid, not ${uid}, spelling

2005-05-23  Love Hörnquist Åstrand  <lha@it.su.se>

	* kcm/protocol.c: Merge the description and function jumptables
	into one structure.  Use the length of the array when checking if
	opcode is value, not a constant.

	* kcm/kcm_locl.h: struct kcm_op: jumptable structure

	* kcm/main.c: move declaration of detach_from_console away from
	here to kcm_locl.h, Don't test HAVE_DAEMON since roken supplies it.
	
	* kcm/kcm_locl.h: move declaration of detach_from_console here
	
	* kdc/config.c: Don't test HAVE_DAEMON since roken supplies it.
	
2005-05-23  Dave Love  <fx@gnu.org>

	* kcm/config.c: Don't test HAVE_DAEMON since roken supplies it.

	* kdc/main.c: Don't test HAVE_DAEMON since roken supplies it.

2005-05-23  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/krb5_keytab.3: document WRFILE and JAVA14

2005-05-20  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/krbhst.c (srv_get_hosts): if srv_get_hosts failes,
	return and ignore the error

	* lib/krb5/krbhst.c (srv_find_realm): make sure `res' and `count'
	have good values
	
	* lib/krb5/test_keytab.c: tests all keytab format
	
2005-05-19  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/pkinit.c (_krb5_pk_rd_pa_reply): non non asn1 decoding
	errors, fail. Make sure we free memory on error.
	(pk_verify_chain_standard): make sure we provide good errors.

	* lib/krb5/verify_krb5_conf.c: add missing options, prompted by
	James F. Hranicky mail to heimdal-discuss

	* lib/krb5/verify_krb5_conf.c: add pkinit and password quailty
	check options

	* lib/krb5/pkinit.c (pk_verify_chain_standard): store better error
	message in the context for certificate errors.
	
	* lib/krb5/keytab.c (krb5_kt_free_entry): zero out content of all
	krb5_free_x_content like functions to make sure data doesnt get
	reused, idea from Wynn Wilkes <wwilkes@vintela.com>

	* configure.in: depend on automake 1.8, we don't test anything
	older

	* lib/krb5/init_creds_pw.c (process_pa_data_to_md): add comment
	that the caller always free out_md; remove comment about memory,
	it doesn't happen.
	(init_cred_loop): free ctx->as_req.padata when its reset (From Wynn
	Wilkes <wwilkes@vintela.com>), move a comment close the the code

	* lib/krb5/keytab_krb4.c (fkt_remove_entry): need to call
	krb5_kt_free_entry after each krb5_kt_next_entry.

	* lib/krb5/keytab_file.c (fkt_remove_entry): need to call
	krb5_kt_free_entry after each fkt_next_entry_int. From: Wynn
	Wilkes <wwilkes@vintela.com>

2005-05-18  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/Makefile.am: TESTS += test_keytab

	* lib/krb5/keytab_krb4.c (krb4_kt_remove_entry): plug memory leaks,
	avoid crashing on empty keytab

	* lib/krb5/krb5_keytab.3: document behavior of
	krb5_kt_remove_entry

	* lib/krb5/keytab_memory.c (mkt_remove_entry): check if there
	isn't any entries in the keytab before removing any since that
	leads to bad pointer arithmetic and crashing. From: Wynn Wilkes
	<wwilkes@vintela.com>.  Make the function return KRB5_KT_NOTFOUND
	if the entry wasn't in the keytab (just like the filebased
	keytab).

	* lib/krb5/test_keytab.c: test memory corruption in MEMORY keytab

	* lib/krb5{addr_families,context,creds,free,keyblock,
	mit_glue,rd_error}.c:zero out content of all krb5_free_x_content
	like functions to make sure data doesnt get reused, idea from
	Wynn Wilkes <wwilkes@vintela.com>

	* lib/krb5/krb5_get_credentials.3: document KRB5_GC_EXPIRED_OK
	
	* lib/krb5/krb5.3: add krb5_cc_new_unique

2005-05-17  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/fcache.c (fcc_get_first): check return value from
	malloc, memset the structure, make sure cursor doesn't point to
	freed memory on failure.  From: Wynn Wilkes <wwilkes@vintela.com>

	* lib/krb5/krb5_auth_context.3: document
	KRB5_AUTH_CONTEXT_CLEAR_FORWARDED_CRED

	* lib/krb5/get_cred.c: Remove expired credentials, based on
	patches and comments from Anders Magnusson <ragge@ltu.se> and Wynn
	Wilkes <wwilkes@vintela.com>

	* lib/krb5/get_for_creds.c (krb5_get_forwarded_creds): honor
	KRB5_AUTH_CONTEXT_CLEAR_FORWARDED_CRED and create unencrypted
	(ENCTYPE_NULL) credentials. for use with old mit server and java based
	ones as they can't handle encrypted KRB-CRED. Note that the option
	needs to turned on because if the consumer sends the KRB-CRED in
	clear bad things will happen.

	* lib/krb5/context.c (krb5_init_context): register krb5_javakt_ops

	* lib/krb5/krb5.h: KRB5_GC_EXPIRED_OK: expired credentials is ok
	to return from krb5_get_credentials.
	KRB5_AUTH_CONTEXT_CLEAR_FORWARDED_CRED: make forward credentials
	be unencrypted, for compatibility with mit kerberos and java
	kerberos. krb5_javakt_ops: export

2005-05-16  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/keytab_file.c: Add new keytab file format JAVA14 that
	doesn't the use extended kvnos, as hinted, this is needed for
	Java's Kerberos implementation.

2005-05-10  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/pkinit.c: handle pkinit-9, pkinit-19, and pkinit-25
	enckey, still no DH
	
	* kdc/pkinit.c: handle pkinit-9, pkinit-19, and pkinit-25 enckey,
	still no DH

	* kdc/kerberos5.c (as_rep): search for pkinit-9, pkinit-19, and
	pkinit-25 pa-data, return empty pkinit pa-data in the
	PREAUTH_REQUIRED krb-error

	* doc/ack.texi: add pkinit people

	* lib/krb5/krb5_storage.3: document krb5_storage_is_flags

	* lib/krb5/{krb5_compare_creds.3,krb5_get_init_creds.3,
	krb5_krbhst_init.3,krb5_storage.3}:
	make more pretty, from Björn Sandell

2005-05-09  Dave Love  <fx@gnu.org>

	* doc/setup.texi: Fix and clarify password quality check examples.
	
2005-05-09  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/kuserok.c (krb5_kuserok): use POSIX_GETPWNAM_R instead
	of HAVE_GETPWNAM_R From: Dave Love <d.love@dl.ac.uk>

2005-05-07  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/addr_families.c (krb5_print_address): catch when the
	unknown adress don't fit. From Björn Sandell <biorn@dce.chalmers.se>

2005-05-05  Dave Love  <d.love@dl.ac.uk>

	* configure.in: fix type right test, include <termios.h> for
	sys/strtty.h, not sys/ptyvar.h
	
2005-05-05  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/krb5.conf.5: spelling

2005-05-04  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/krb5.conf.5: expand on what "trailing component" means
	
2005-05-04  Johan Danielsson  <joda@pdc.kth.se>

	* lib/krb5/rd_cred.c: put address comparison in separate function
	
	* lib/krb5/krb5_kuserok.3: check the user's ~/.k5login.d directory
	for access files, all of which is handled like the regular
	~/.k5login

	* lib/krb5/kuserok.c: check the user's ~/.k5login.d directory for
	access files, all of which is handled like the regular ~/.k5login
	
2005-05-03  Love Hörnquist Åstrand  <lha@it.su.se>

	* doc/ack.texi: Clearify what version of libdes we are using and
	who's code in it we are using.
	
	* kcm/kcm.8: more text about usage
	
	* kcm/Makefile.am: man_MANS += kcm.8

	* kcm/kcm.8: initial manpage

	* configure.in: if we have a $srcdir/lib/asn1/pkcs12.asn1, define
	PKINIT
	
2005-05-02  Dave Love  <fx@gnu.org>

	* configure.in: sys/tty.h (for sys/ptyvar.h) might need termios.h.

2005-05-02  Love Hörnquist Åstrand  <lha@it.su.se>

	* tools/krb5-config.in: add com_err to required libs
	
	* lib/krb5/pkinit.c (krb5_ui_method_read_string): use the fill in
	length

	* lib/krb5/init_creds_pw.c: Now that we fixed the signed-ness of
	nonce for windows, remove the code that removed the signed
	bit. Instead add comment that they still need to be the same
	(Kerberos protocol nonce and pk-init nonce) for Windows.
	
2005-05-02  David Love  <fx@gnu.org>

	* lib/krb5/crypto.c: Don't declare des_salt &c as static with
	incomplete type (invalid in c89, at least).
	
2005-05-02  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/krb5_locl.h: include <crypt.h>

2005-05-02  David Love  <fx@gnu.org>

	* kcm/connect.c (init_socket): rename variable sun to un to avoid
	namespace collision.
	(handle_stream): Cast arg of krb5_warnx.

2005-04-30  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/init_creds_pw.c: if we are using PKINIT, strip of the
	highest bit to make windows PK-INIT happy. Also make the nonces
	the same, again for windows, they are using pk-init-9.
	
	XXX check if it isn't the that nonce is an unsigned variable so
	its just a asn1 mismatch.

	* kdc/pkinit.c: pass a NULL prompter data to _krb5_pk_load_openssl_id
	
	* kuser/kinit.c: krb5_get_init_creds_opt_set_pkinit
	
	* lib/krb5/pkinit.c: Pass prompter data to the prompter function,
	implement a UI prompter function wrapping the kerberos prompter
	function so that the the OpenSSL ENGINE can ask for a password
	when loading the private key. From: Douglas E. Engert

	* lib/krb5: add <err.h> in test programs
	
	* configure.in: sys/ptyvar.h might need <sys/tty.h>
	
	* lib/krb5/Makefile.am: use LIB_com_err for libkrb5.la

2005-04-29  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/asn1/Makefile.am: use $(LIB_com_err)
	
2005-04-28  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/context.c (krb5_set_config_files): ignore permission
	denied on configuration files, user might not be allowed to read
	/var/heimdal/kdc.conf

2005-04-26  Dave Love  <fx@gnu.org>

	* lib/krb5/krb5_locl.h: define _POSIX_PTHREAD_SEMANTICS so we get
	posix getpwnam_r

2005-04-25  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/asn1/gen_glue.c: switch the units variable to a
	function. gcc-4.1 needs the size of the structure if its defined
	as extern struct units foo_units[] an we don't want to include
	<parse_units.h> in the generate headerfile

2005-04-25  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/hdb/hdb.schema: add EQUALITY rule for krb5ValidStart,
	krb5ValidEnd, krb5PasswordEnd From Howard Chu

2005-04-24  Love Hörnquist Åstrand  <lha@it.su.se>

	* doc/whatis.texi: comment out docbook stuff for now
	
	* kuser/klist.c: use strlcpy
	
	* doc/ack.texi: we no longer use eay libdes, make acknowledgment
	still be there, but claim that we no longer use it. Mark editline
	to be a modified version as required by the license.
	
	* lib/krb5/pkinit.c: use the unexported oid_to_enctype function
	
	* lib/krb5/crypto.c: unexport the oid_to_enctype function, not for
	external consumers

	* kdc/Makefile.am: always add kaserver
	
	* lib/krb5/krb5_ccache.3: document krb5_cc_new_unique

	* lib/krb5/cache.c (krb5_cc_new_unique): new function to create a
	new credential cache

	* kdc/headers.h: don't include kerberos 4 headers here

	* kdc/hpropd.c: include kerberos 4 headers here

	* kdc/connect.c: add kaserver support independ of having krb4
	support
	
	* kdc/config.c: add kaserver support unconditionally, make kdc
	only fail to start when there are no v4 realm configured and
	krb4/kaserver is turned on

	* kdc/kaserver.c: Use the new Kerberos 4 functions in libkrb5 and
	so kaserver support is always compiled in (still default disabled)
	
	* lib/krb5/v4_glue.c: simplify error handling

	* doc/whatis.texi: add docbook version macro of @sub
	
	* doc/heimdal.texi: change the wrapping around the Top node to
	ifnottex, make html generation work

	* lib/krb5/krb5_krbhst_init.3: spelling, from Björn Sandell
	<biorn@dce.chalmers.se>

	* lib/krb5/krb5_get_krbhst.3: spelling, from Björn Sandell
	<biorn@dce.chalmers.se>

	* lib/krb5/krb5_data.3: spelling, from Björn Sandell
	<biorn@dce.chalmers.se>

	* lib/krb5/krb5_aname_to_localname.3: spelling, from Björn Sandell
	<biorn@dce.chalmers.se>

	* lib/krb5/krb5_address.3: spelling, from Björn Sandell
	<biorn@dce.chalmers.se>

2005-04-23  Love Hörnquist Åstrand  <lha@it.su.se>

	* kdc/config.c: Use the new Kerberos 4 functions in libkrb5 and so
	kerberos 4 is always compiled in (still default disabled)

	* kdc/kerberos4.c: Use the new Kerberos 4 functions in libkrb5 and
	so kerberos 4 is always compiled in (still default disabled)

	* lib/krb5/krb5_locl.h: forward declaration of _krb5_krb_auth_data
	
	* lib/krb5/convert_creds.c: Move the kerberos v4 replacement
	functions to v4_glue.c

	* lib/krb5/v4_glue.c: Implement enough of kerberos 4 protocol to
	be a KDC, move the v4 bits over here
	
	* lib/krb5/krb5-v4compat.h: add more v4 defines
	
2005-04-22  Love Hörnquist Åstrand  <lha@it.su.se>

	* kpasswd/kpasswdd.c: Support multi-realms databases, requires
	that all the realms are configured on the KDC in krb5.conf with
	[libdefaults]default_realm stanzas.

2005-04-21  Love Hörnquist Åstrand  <lha@it.su.se>

	* kdc/kerberos5.c: spell succeeded correctly, From Sean Chittenden

	* lib/krb5/addr_families.c: catch two more snprintf problems
	
2005-04-20  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/hdb/Makefile.am: this lib include com_err, add -com_err to
	CHECK_SYMBOLS

	* appl/test/http_client.c: cast ssize_t to unsigned long, fix
	printf format

2005-04-19  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/kuserok.c: use asprintf to avoid truncating pathnames
	
	* lib/krb5/get_host_realm.c: check return value of snprintf
	
	* lib/krb5/test_addr.c: check address truncation
	
	* lib/krb5/addr_families.c: check return values from snprintf and
	clean up semantics of ret_len

	* lib/krb5/krb5_address.3: clarify what ret_len is in
	krb5_print_address

	* lib/krb5/test_kuserok.c: add --version and --help
	
	* lib/krb5/kuserok.c: use getpwnamn_r if it exists

	* lib/krb5/Makefile.am: noinst_PROGRAMS += test_kuserok

	* lib/krb5/test_kuserok.c: test program for krb5_kuserok

2005-04-18  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/acache.c (acc_resolve): if open_default_ccache failed
	with ccErrCCacheNotFound try again with create_default_ccache,
	this fixes the problem where the security server apperenly haven't
	started yet on Mac OS X
	
	* lib/krb5/get_default_principal.c
	(_krb5_get_default_principal_local): add, for use of functions
	that in ccache layer to avoid recursive calls.
	
	* lib/hdb/hdb-ldap.c: drop <ctype.h>, no longer use any of the is*
	macros in this file

	* include/make_crypto.c: cast to unsigned char to make sure its
	not negative when passing it to is* functions

2005-04-15  Love Hörnquist Åstrand  <lha@it.su.se>

	* doc/programming.texi: remove manpage macro, add some more
	references to manpages

	* doc/heimdal.texi: define manpage macro
	
	* doc/setup.texi: document new password policy code
	
	* kpasswd/kpasswdd.c: add verifier libraries with
	kadm5_add_passwd_quality_verifier

	* lib/krb5/krb5_keyblock.3: document krb5_keyblock_init
	
2005-04-14  Love Hörnquist Åstrand  <lha@it.su.se>

	* kdc/kaserver.c: AUTHENTICATE and AUTHENTICATE_V2 is almost the
	same, and clients
	(klog) can deal with that the kaserver returns the same thing for
	both

	* lib/krb5/keyblock.c: Add krb5_keyblock_init to allocate an fill
	in a keyblock from key data.
	
2005-04-12  Love Hörnquist Åstrand  <lha@it.su.se>

	* configure.in: rk_WIN32_EXPORT for roken

2005-04-10  Love Hörnquist Åstrand  <lha@it.su.se>
	
	* appl/test/gssapi_server.c: print out client principla of
	delegated credential

2005-04-07  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/init_creds_pw.c (process_pa_data_to_key): also check
	for KRB5_PADATA_PK_AS_REP_19, From: Douglas Engert

2005-04-07  Love Hörnquist Åstrand  <lha@it.su.se>
	
	* .cvsignore: ignore more generate files
	
2005-04-04  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/asn1/check-der.c: use size_t, print size_t by casting to
	unsigned long
	
	* lib/krb5/test_crypto.c: print size_t by casting to unsigned long
	
	* lib/krb5/acache.c: Argument to create_new_ccache is a principal,
	not a credential cache name.  Clean up lossage related to this
	problem.

	* lib/hdb/Makefile.am: CHECK_SYMBOLS += HDBFlags2int
	
	* lib/krb5/addr_families.c
	(krb5_address_prefixlen_boundary,krb5_free_address):
	use find_atype when we are dealing with a kerberos address type

	* lib/krb5/aes-test.c: size_t vs int + fix printf
	
	* lib/krb5/pkinit.c: Since the decode can't make out the diffrence
	between PA-PK-AS-REP-19 and PA-PK-AS-REQ-Win2k, try harder to
	verify both cases

2005-04-03  Love Hörnquist Åstrand  <lha@it.su.se>

	* appl/test/uu_client.c: print size_t by casting to unsigned long
	
2005-04-01 Johan Danielsson <joda@pdc.kth.se>

	* kdc/kerberos4.c (do_version4): check client and server max_life
	
	* kdc/kaserver.c (do_getticket): check client max_life
	
2005-03-31  Love  <lha@kth.se>

	* lib/krb5/verify_krb5_conf.c: const poison

	* lib/krb5/test_alname.c: const poison

	* lib/asn1/main.c: const poison

	* lib/krb5/test_addr.c: test parse IPv6 RANGE addresses

	* lib/krb5/addr_families.c: implement mask boundary for IPv6

	* lib/asn1/gen.c: avoid const string warnings steming from
	writeable-string

2005-03-28  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/Makefile.am: TESTS += test_addr

	* lib/krb5/test_addr.c: simple test for addresses
	
	* lib/krb5/addr_families.c: make RANGE parse prefixlen style
	addresses too, fix printing of RANGE addresses, add
	krb5_address_prefixlen_boundary

	* lib/krb5/krb5_keytab.3: stop memory leak in example, expand on
	wildcards

2005-03-26  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/krb5_principal.3: spelling, from Tomas Olsson

	* lib/krb5/krb5_warn.3: spelling, from Tomas Olsson

2005-03-19  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/acache.c: add mutex for global variables, clean up
	returned error codes, implement storing addresses into the ccapi

	* appl/test/gssapi_server.c: free memory, make error strings match
	
	* appl/test/gssapi_server.c: use print_gss_name, print server name
	too

	* appl/test/gss_common.h (print_gss_name): common code for
	printing gss name

	* appl/test/gss_common.c (print_gss_name): common code for
	printing gss name

	* appl/test/http_client.c: Make constent with rest of the gssapi
	test programs

2005-03-17  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/hdb/keys.c: AES is enabled by default, remove ifdefs
	
	* lib/krb5/crypto.c: AES is enabled by default, remove ifdefs
	
	* lib/krb5/aes-test.c: use hex encoder from roken AES is enabled
	by default, remove ifdefs

	* kdc/kerberos5.c: AES is enabled by default, remove ifdefs

2005-03-16  Love Hörnquist Åstrand  <lha@it.su.se>

	* doc/setup.texi: Add some text about modifying the database
	
2005-03-15  Love Hörnquist Åstrand  <lha@it.su.se>

	* kuser/kinit.c: widen lifetime/renewal warning text field, also
	make use of unparse_time_approx, no need to be specific to the
	second when ticket needs to be renewed or their lifetime.

	* doc/heimdal.texi: copyright maintenance, drop eay, use updated
	UCB license

	* lib/krb5/crypto.c: more static and unsigned issues

	* lib/krb5/crypto.c: fix signedness issues, prompted by report of
	Magnus Ahltorp

2005-03-13  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/krb5_keytab.3: more text about how to free returned
	resources

2005-03-10  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/pkinit.c: handle the -25 generation path

	* lib/krb5/pkinit.c: use KRB5_PADATA_PK_AS_REQ_19
	
	* lib/krb5/pkinit.c: fold in pk-init-25 asn1 changes
	
2005-03-09  Love Hörnquist Åstrand  <lha@it.su.se>

	* kdc/pkinit.c: use generated oid's
	
	* lib/krb5/pkinit.c: use generated oid's
	
2005-03-08  Love Hörnquist Åstrand  <lha@it.su.se>

	* kdc/pkinit.c: update to the asn1 structures used in -25's

	* lib/krb5/pkinit.c: update to the asn1 structures used in -25's

2005-03-04  Love Hörnquist Åstrand  <lha@it.su.se>
	
	* lib/hdb/hdb-ldap.c: use the newly written hex function from
	roken and remove the old implementation

2005-03-01  Love Hörnquist Åstrand  <lha@it.su.se>

	* appl/test/http_client.c: allow specifing port to connect to

2005-02-24  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/Makefile.am: bump version to 21:0:4

	* lib/hdb/Makefile.am: bump version to 8:0:1
	
	* lib/asn1/Makefile.am: bump version to 7:0:1

2005-02-23  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/crypto.c (DES_string_to_key_int): must check for weak
	keys after doing the DES_cbc_cksum

2005-02-19  Luke Howard  <lukeh@padl.com>

	* lib/krb5/krbhst.c: set KD_CONFIG after calling
	  config_get_hosts() in kpasswd_get_next()
	  From: Wynn Wilkes <wynnw@vintela.com>

2005-02-15  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/hdb/db3.c (DB_open): correct the check for O_RDONLY
	From: Chaskiel M Grundman <cg2v@andrew.cmu.edu>

2005-02-09  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/crypto.c (krb5_random_to_key): cast size_t to int to
	make %d work

2005-02-08  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/keytab.c (krb5_kt_get_entry): tell what enctype the
	caller requested to provide the user with a glue what the caller
	was asking for.

2005-02-05  Luke Howard  <lukeh@padl.com>

	* lib/krb5/kcm.c: add _krb5_kcm_is_running, _krb5_kcm_noop

	* kcm/acquire.c: don't leak salt if keyproc called multiple
	  times

	* kcm/config.c: allow KCM system ccache to be configured from
	  krb5.conf, in the system_ccache stanza of [kcm]

2005-02-03  Love Hörnquist Åstrand  <lha@it.su.se>

	* kcm/protocol.c: use -1 as the invalid pid number

	* kcm/connect.c: support SCM_CREDS (for NetBSD)

	* kcm/Makefile.am: LDADD += LIB_pidfile
	
	* kcm/connect.c: make it possible to build on systems without
	SO_PEERCRED (still doesn't work)

	* kcm/config.c: cast argument to isdigit to unsigned char
	
	* lib/krb5/krb5.conf.5: document large_msg_size

	* lib/krb5/context.c (init_context_from_config_file): init
	large_msg_size to 6000

	* lib/krb5/krb5.h (krb5_context_data): add large_msg_size,
	threshold where we start to use transport protocols without tiny
	max data transport sizes.

	* lib/krb5/kcm.h: drop prototypes, they all live in krb5-private.h
	by now

2005-02-02  Luke Howard  <lukeh@padl.com>

	* configure.in: generate kcm/Makefile

	* Makefile.am: recurse into kcm/ if KCM defined

	* kcm: add KCM daemon

2005-02-02  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/send_to_kdc.c (send_and_recv_udp): make private again

	* lib/krb5/kcm.c: use AF_UNIX like the rest of the codebase, add
	some more error strings

2005-02-02  Luke Howard  <lukeh@padl.com>

	* configure.in: add --enable-kcm option for Kerberos
	  Credentials Manager (KCM)

	* lib/krb5/Makefile.am: add kcm.c

	* lib/krb5/cache.c: use cc_retrieve_cred if present rather
	  than enumerating ccache

	* lib/krb5/context.c: register KCM cc_ops

	* lib/krb5/get_cred.c: pass all options to cc_retrieve_cred

	* lib/krb5/init_creds_pw.c: add krb5_get_init_creds_keyblock

	* lib/krb5/kcm.[ch]: add initial implementation of KCM
	  client library

	* lib/krb5/krb5.h: fix cc_retrieve prototype, add KCM cc_ops

	* lib/krb5/send_to_kdc.c: add _krb5_send_and_recv_tcp

	* lib/krb5/store.c: add krb5_store_creds_tag, krb5_ret_creds_tag

2005-01-24  Luke Howard  <lukeh@padl.com>

	* lib/krb5/init_creds_pw.c: allow NULL in_options to be passed
	  krb5_get_init_creds_password()

	* kdc/kerberos5.c: don't crash when logging no server etype
	  support if client == NULL

2005-01-17  Love Hörnquist Åstrand  <lha@it.su.se>

	* kdc/kstash.c: s/random_key/random_key_flag/, From Dave Love
	<d.love@dl.ac.uk>

2005-01-12  Love Hörnquist Åstrand  <lha@it.su.se>

	* doc/apps.texi: Texinfo fixes. Text about irix 6.5 using
	PAM. From: Dave Love <d.love@dl.ac.uk>

2005-01-08  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/verify_krb5_conf.c: cast argument to isdigit to
	unsigned char

	* lib/krb5/keytab_keyfile.c: cast argument to toupper to unsigned
	char

	* lib/asn1/hash.c (hashcaseadd): cast argument to toupper to
	unsigned char

	* appl/kf/kfd.c (kfd_match_version): cast argument to islower to
	unsigned char

	* lib/krb5/krb5.3: drop krb5_{checksum,enctype}_is_disabled

	* lib/krb5/krb5_encrypt.3: drop krb5_enctype_is_disabled, more
	text about krb5_enctype_valid

	* lib/krb5/krb5_create_checksum.3: drop
	krb5_checksum_is_disabled

	* lib/krb5/crypto.c: drop krb5_{checksum,enctype}_isdisabled
	
	* lib/krb5/context.c: krb5_enctype_is_disabled is the same thing
	as krb5_enctype_valid, so use the later since its older and the
	api doesn't really need another entry point

	* lib/krb5/rd_req.c: krb5_enctype_is_disabled is the same thing as
	krb5_enctype_valid, so use the later since its older and the api
	doesn't really need another entry point

	* kdc/kerberos5.c: krb5_enctype_is_disabled is the same thing as
	krb5_enctype_valid, so use the later since its older and the api
	doesn't really need another entry point

2005-01-05  Love Hörnquist Åstrand  <lha@it.su.se>

	* kpasswd/kpasswdd.8: document --addresses, controls what
	addresses kpasswd should listen too

	* kpasswd/kpasswdd.c: add --addresses, controls what addresses
	kpasswd should listen too

	* lib/krb5/addr_families.c (krb5_parse_address): filter out dup
	addresses from getaddrinfo

	* kpasswd/kpasswd.1: document -c

	* kpasswd/kpasswd.c: allow specifying a credential cache to use
	for the admin principal

	* include/bits.c: constify to avoid warning with -Wwrite-string
	
	* NEWS: add 0.6.2 and 0.6.3 items
	
	* lib/krb5/krb5_keyblock.3: document krb5_generate_subkey_extended

	* lib/krb5/krb5_is_thread_safe.3: document function

	* lib/krb5/Makefile.am (man_MANS) += krb5_is_thread_safe.3
	
	* lib/krb5/context.c (krb5_is_thread_safe): return TRUE is the
	library was compiled with multithreading support. If not,
	application must global lock the library, it it uses threads that
	call kerberos functions at the same time.
	
2005-01-05  Luke Howard  <lukeh@padl.com>

	* lib/krb5/auth_context.c: use krb5_generate_subkey_extended()

	* lib/krb5/appdefault.c: remove redundant KRB5_LIB_FUNCTION

	* lib/krb5/build_auth.c: support for enctype negotiation
	  (client sends EtypeList in Authenticator authz data)

	* lib/krb5/context.c: mutex should be destroyed last in
	  krb5_free_context()

	* lib/krb5/generate_subkey.c: add krb5_generate_subkey_extended(),
	  set *subkey to NULL if key geneartion fails

	* lib/krb5/krb5.h: add KRB5_KU_PA_SERVER_REFERRAL_DATA

	* lib/krb5/mk_req_ext.c: support ETYPE_ARCFOUR_HMAC_MD5_56

	* lib/krb5/rd_req.c: support for enctype negotiation
	  (client sends EtypeList in Authenticator authz data)

2005-01-04  Luke Howard  <lukeh@padl.com>

	* lib/asn1/k5.asn1: add authorization data types for enctype
	negotiation implementation

2005-01-04  Love Hörnquist Åstrand  <lha@it.su.se>

	* lib/krb5/changepw.c (change_password_loop): on failing to find a
	kdc, set result_code to KRB5_KPASSWD_HARDERROR
	
2005-01-01  Love Hörnquist Åstrand  <lha@it.su.se>

	* doc/heimdal.texi: Happy New Year