2008-12-09  Werner Koch  <wk@g10code.com>

	* kbxutil.c (main): Call i18n_init before init_common_subsystems.

2008-11-20  Werner Koch  <wk@g10code.com>

	* keybox-update.c (create_tmp_file) [USE_ONLY_8DOT3]: Use other
	suffixes to avoid conflicts with gpg uses filenames.

2008-11-11  Werner Koch  <wk@g10code.com>

	* Makefile.am (kbxutil_LDADD): Change order of libs.
	($(PROGRAMS)): Ditto for documentation.

2008-10-20  Werner Koch  <wk@g10code.com>

	* keybox-update.c (blob_filecopy): Remove unused arg n_packets.
	(keybox_insert_cert): Adjust for that.
	(keybox_update_cert): Mark unused args.
	(keybox_set_flags): Ditto.
	* keybox-blob.c (create_blob_trailer): Ditto.
	* keybox-search.c (keybox_get_flags): Ditto.
	* keybox-dump.c (_keybox_dump_find_dups): Ditto.
	* kbxutil.c (my_gcry_logger): Ditto.

2008-05-06  Werner Koch  <wk@g10code.com>

	* keybox-file.c (_keybox_read_blob2): Return GPG_ERR_TOO_SHORT if
	we get an EOF for 2nd to 5th byte as a better error message.

	Always use gpg_error_from_syserror and gpg_err_code_from_syserror.
	This is to avoid cases where we expect an error but due to an
	errno set to 0 we get back a success status.

2008-04-01  Werner Koch  <wk@g10code.com>

	* keybox-init.c (keybox_new, keybox_release): Track used handles.
	(_keybox_close_file): New.
	* keybox-update.c (keybox_insert_cert, keybox_set_flags) 
	(keybox_delete, keybox_compress): Use the new close function.

2008-03-13  Werner Koch  <wk@g10code.com>

	* keybox-blob.c (x509_email_kludge): Use the same code as in
	..sm/keylist.c so that email parts are not only detected at the
	start of the DN.  Reported by Yoshiaki Kasahara.

2007-08-24  Werner Koch  <wk@g10code.com>

	* keybox-init.c (keybox_register_file): Use same_file_p.

2007-08-23  Werner Koch  <wk@g10code.com>

	* kbxutil.c: New commands --find-dups and --cut.  New options
	--from an --to.
	* keybox-dump.c (hash_blob_rawdata): New.
	(_keybox_dump_find_dups): New.
	(open_file): Factor some code out to this.
	(_keybox_dump_cut_records): New.

2007-06-26  Werner Koch  <wk@g10code.com>

	* kbxutil.c: Include init.h

2007-06-15  Werner Koch  <wk@g10code.com>

	* Makefile.am (kbxutil_LDADD): Add W32SOCKLIBS.

2007-06-12  Werner Koch  <wk@g10code.com>

	* kbxutil.c (main): Replace some calls by init_common_subsystems.

2007-06-06  Werner Koch  <wk@g10code.com>

	* kbxutil.c (i18n_init): Remove.

2007-03-20  Werner Koch  <wk@g10code.com>

	* keybox.h (KEYBOX_FLAG_BLOB_SECRET, KEYBOX_FLAG_BLOB_EPHEMERAL):
	New.
	* keybox-update.c (keybox_compress): Use it here instead of a
	magic constant.

2007-01-31  Werner Koch  <wk@g10code.com>

	* Makefile.am (kbxutil_LDADD): Use GPG_ERROR_LIBS instead of -l.
	Reordered args.

2007-01-25  Werner Koch  <wk@g10code.com>

	* Makefile.am (kbxutil_LDADD): Added LIBICONV.  Noted by Billy
	Halsey.

2006-11-15  Werner Koch  <wk@g10code.com>

	* kbxutil.c (dump_openpgp_key): Cast printf argument.

2006-10-20  Werner Koch  <wk@g10code.com>

	* keybox-search.c (blob_x509_has_grip, has_keygrip): New.
	(keybox_search): Implement new search mode.
	* keybox-search-desc.h (KEYDB_SEARCH_MODE_KEYGRIP): New.
	(keydb_search_desc): New member GRIP.

2006-09-20  Werner Koch  <wk@g10code.com>

	* Makefile.am ($(PROGRAMS): New.

2006-09-14  Werner Koch  <wk@g10code.com>

 	Replaced all call gpg_error_from_errno(errno) by
	gpg_error_from_syserror().

2005-10-08  Marcus Brinkmann  <marcus@g10code.de>

	* Makefile.am (kbxutil_LDADD): Add ../gl/libgnu.a after
	../jnlib/libjnlib.a.

2005-06-15  Werner Koch  <wk@g10code.com>

	* keybox-file.c (_keybox_read_blob2): Make IMAGE unsigned.
	(_keybox_write_blob): 

	* keybox-blob.c (create_blob_finish, _keybox_create_x509_blob):
	Fixed warnings about signed/unsigned pointer mismatches.
	(x509_email_kludge): Ditto.
	(_keybox_new_blob): Changed arg IMAGE to unsigned char *.
	(_keybox_get_blob_image): Changed return type to unsigned char*.

2005-06-01  Werner Koch  <wk@g10code.com>

	* keybox-file.c (ftello) [!HAVE_FSEEKO]: New replacement
	function.  Copied from ../common/ftello.c.
	* keybox-update.c (fseeko) [!HAVE_FSEEKO]: New replacement
	function.  Copied from ../common/iobuf.c.

2004-12-18  Werner Koch  <wk@g10code.com>

	* keybox-defs.h (map_assuan_err): Define in terms of
	map_assuan_err_with_source.

2004-12-07  Werner Koch  <wk@g10code.com>

	* keybox-init.c (keybox_release): Close the file pointer.

2004-11-26  Werner Koch  <wk@g10code.com>

	* Makefile.am (kbxutil_LDADD): Add ../common/libcommon.a

	* keybox-defs.h: Include stringhelp.h.

2004-09-30  Werner Koch  <wk@g10code.com>

	* kbxutil.c (i18n_init): Always use LC_ALL.

	* Makefile.am: Adjusted for gettext 0.14.

2004-08-24  Werner Koch  <wk@g10code.de>

	* kbxutil.c: New command --import-openpgp.
	(main): Updated libgcrypt initialization stuff.
	(my_gcry_logger): New.
	(read_file): New.  Taken from ../agent/protect-tool.
	(dump_fpr, dump_openpgp_key, import_openpgp): New.

	* keybox-openpgp.c: New.

2004-06-18  Werner Koch  <wk@gnupg.org>

	* keybox-dump.c (_keybox_dump_file): New arg STATS_ONLY.
	(update_stats): New.
	* kbxutil.c (main): New command --stats.

2004-04-23  Werner Koch  <wk@gnupg.org>

	* keybox-blob.c (_keybox_update_header_blob): New.
	* keybox-update.c (blob_filecopy): Handle header blob.
	* keybox-file.c (_keybox_read_blob2): New. Moved code from
	_keybox_read_blob to there. 
	* keybox-dump.c (dump_header_blob): Print header info.

2004-04-21  Werner Koch  <wk@gnupg.org>

	* keybox-search.c (_keybox_get_flag_location): Add flag
	KEYBOX_FLAG_CREATED_AT.
	* keybox-update.c (keybox_compress): New.

	* keybox-search.c (get32, get16, blob_get_type) 
	(blob_get_blob_flags, has_short_kid, has_long_kid) 
	(has_fingerprint, has_issuer, has_issuer_sn, has_sn, has_subject) 
	(has_subject_or_alt, has_mail): inline them.
	
	* keybox-update.c (blob_filecopy): Fixed an error/eof check
	(s/if(fread)/if(nread)/).

	* keybox-dump.c (_keybox_dump_blob): Really print the timestamps.

2004-04-20  Werner Koch  <wk@gnupg.org>

	* keybox-defs.h: Include jnlib/types.h and remove our own
	definitions for byte.u16 and u32.

2004-02-02  Werner Koch  <wk@gnupg.org>

	* keybox.h (keybox_flag_t): New.
	* keybox-search.c (get_flag_from_image, keybox_get_flags): New.
	(_keybox_get_flag_location): New.

2003-11-12  Werner Koch  <wk@gnupg.org>

	Adjusted for API changes in Libksba.

	* keybox-blob.c: Include time.h

2003-06-03  Werner Koch  <wk@gnupg.org>
	
	Changed all error codes in all files to the new libgpg-error scheme.

	* keybox-defs.h: Include gpg-error.h .
	(KeyboxError): Removed. 
	* Makefile.am: Removed keybox-error.c stuff.

2002-11-14  Werner Koch  <wk@gnupg.org>

	* keybox-search.c (blob_cmp_name) <compare all names>: Fixed
	length compare; there is no 0 stored since nearly a year.  

2002-10-31  Neal H. Walfield  <neal@g10code.de>

	* Makefile.am (AM_CPPFLAGS): Fix ytpo.

2002-08-10  Werner Koch  <wk@gnupg.org>

	* keybox-search.c (blob_cmp_fpr_part): New.
	(has_short_kid, has_long_kid): Implemented.

2002-07-22  Werner Koch  <wk@gnupg.org>

	* keybox-defs.h: New BLOBTYPTE_EMPTY.
	* keybox-dump.c (_keybox_dump_blob): Handle new type.
	* keybox-file.c (_keybox_read_blob): Skip over empty blobs.  Store
	the file offset.
	* keybox-blob.c (_keybox_new_blob): Add new arg OFF.
	(_keybox_get_blob_fileoffset): New.
	* keybox-update.c (keybox_delete): Implemented.

2002-06-19  Werner Koch  <wk@gnupg.org>

	* keybox-init.c (keybox_set_ephemeral): New.
	* keybox-blob.c (create_blob_header): Store ephemeral flag.
	(_keybox_create_x509_blob): Pass epheermal flag on.
	* keybox-update.c (keybox_insert_cert): Ditto.
	* keybox-search.c (blob_get_blob_flags): New.
	(keybox_search): Ignore ephemeral blobs when not in ephemeral mode.

	* keybox-dump.c (_keybox_dump_blob): Print blob flags as strings.

2002-02-25  Werner Koch  <wk@gnupg.org>

	* keybox-search.c (blob_cmp_mail): Use case-insensitive compare
	because mail addresses are in general case insensitive (well
	RFC2822 allows for case sensitive mailbox parts, but this is in
	general considired a Bad Thing). Add additional substr parameter
	to allow for substring matches within the mail address.  Change
	all callers to pass this along.
	(blob_cmp_name): Likewise but do the case-insensitive search only
	in sub string mode.
	(keybox_search): Implement MAILSUB and SUBSTR mode.

2002-01-21  Werner Koch  <wk@gnupg.org>

	* keybox-search.c (keybox_search): Allow KEYDB_SEARCH_MODE_FPR20.

2002-01-15  Werner Koch  <wk@gnupg.org>

	* keybox-search.c (blob_cmp_fpr): New.
	(has_fingerprint): Implemented;

2001-12-20  Werner Koch  <wk@gnupg.org>

	* keybox-blob.c (_keybox_create_x509_blob): Skip the leading
	parenthesis of the serial number's S-exp.
	(_keybox_create_x509_blob): And fixed length calculation.
	(create_blob_header): Don't add an offset when writing the serial.

2001-12-18  Werner Koch  <wk@gnupg.org>

	* Makefile.am (AM_CPPFLAGS): Add flags for libksba

	* keybox-blob.c (_keybox_create_x509_blob): Use
	gcry_sexp_canon_len to get the length of the serial number.
	(_keybox_release_blob): Need to use a new serialbuf to free the memory.

2001-12-17  Werner Koch  <wk@gnupg.org>

	* keybox-search.c: Changed the way the serial number is
	represented.

2001-12-15  Werner Koch  <wk@gnupg.org>

	* keybox-search.c (blob_cmp_name): There is no terminating 0 stored
	for the uid; fixed length compare.

2001-12-14  Werner Koch  <wk@gnupg.org>

	* keybox-blob.c (x509_email_kludge): New.
	(_keybox_create_x509_blob): Insert an extra email address if the
	subject's DN has an email part.
	* keybox-defs.h: Added the xtoi_2 and digitp macros.

2001-12-13  Werner Koch  <wk@gnupg.org>

	* keybox-search.c (blob_cmp_name): Kludge to allow searching for
	more than one name.
	(has_subject_or_alt): New.
	(blob_cmp_mail): New.
	(has_mail): New.
	(keybox_search): Implemented exact search and exact mail search.

	* kbx/keybox-blob.c (_keybox_create_x509_blob): Insert alternate
	names.


 Copyright 2001, 2002, 2003, 2004, 2005, 2006,
	   2007, 2008 Free Software Foundation, Inc.

 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
 modifications, as long as this notice is preserved.

 This file is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
