2023-09-28  NIIBE Yutaka  <gniibe@fsij.org>

	Add DCO entry of Jernej Jakob.
	+ commit ac3890137329e510e5630f2d0b967d00180288ac


	Add support -f --disable-tests.
	+ commit 0176a51095a85c1ab746a752cef6a7f2212e8668
	* Makefile.am: Use BUILD_TESTS for tests.
	* configure.ac (BUILD_TESTS): Add support of --disable-tests.

2023-09-01  NIIBE Yutaka  <gniibe@fsij.org>

	build: Change the default for --with-libtool-modification.
	+ commit 206530271666d500f9bfc83c89c821617e4713c5
	* configure.ac (--with-libtool-modification): default=never.

2023-08-16  NIIBE Yutaka  <gniibe@fsij.org>

	build: New configure option --with-libtool-modification.
	+ commit 06f19520e8ea5b1cdb6bb7356978489b9ac6ffd3
	* Makefile.am (EXTRA_DIST): Add build-aux/libtool-patch.sed.
	* build-aux/libtool-patch.sed: New.
	* configure.ac (--with-libtool-modification): New.

2023-07-28  NIIBE Yutaka  <gniibe@fsij.org>

	build: Update libassuan.m4 for libassuan version 3 in future.
	+ commit dfa1f9adaaec7c8a635338cfd7276987a4abb2aa
	* m4/libassuan.m4: Update from libassuan master.

2023-07-26  Jernej Jakob  <jernej.jakob@gmail.com>

	doc: yat2m-stamp should depend on version.texi.
	+ commit 6c0e68e978fe6d943a77a21a5a410607a9ffb363
	* doc/Makefile.am (yat2m-stamp): Depend on version.texi.

2023-07-06  NIIBE Yutaka  <gniibe@fsij.org>

	agent: Fix off-by-one error for the length of CMD buffer.
	+ commit bc53a3e54f6a66e76888b370906d53f933d41f91
	* src/agent.c (scute_agent_sign): 151 is needed for sha512 hash.
	Raise a correct error when it's not enough.

2023-04-24  NIIBE Yutaka  <gniibe@fsij.org>

	Remove a file to be generated.
	+ commit 0b264b2da862deff35d96d2b8b9e11b0daaa5dde
	* doc/version.texi: Remove.

2023-04-21  NIIBE Yutaka  <gniibe@fsij.org>

	doc: Building working scute.info with images.
	+ commit fafb681eab36ca6a05b3067ac66048778cf5863f
	* doc/Makefile.am (infoimagedir): Define.
	(images): Put images under "images/".
	(dist_infoimage_DATA): Define.
	* doc/images: Move images here.
	* doc/scute.texi: Fix references to images.

2023-04-05  NIIBE Yutaka  <gniibe@fsij.org>

	build: Update gpg-error.m4.
	+ commit a5d8355a0f008ea56e887b5d00a4de253db2b710
	* m4/gpg-error.m4: Update from libgpg-error master.

2023-03-06  NIIBE Yutaka  <gniibe@fsij.org>

	Fix ECDSA.
	+ commit 9577c8d5f3f8c6b74f7e48751911e76a030326d8
	* src/slots.c (session_sign): Fix the length of signature.

2023-02-22  NIIBE Yutaka  <gniibe@fsij.org>

	Fix returning EC_POINT.
	+ commit a1108b4f039c0e69a58ccb59b1d570db8061bca4
	* src/cert-object.c (scute_attr_prv): Off-by-one fix.

2023-02-16  NIIBE Yutaka  <gniibe@fsij.org>

	Add CKA_EC_POINT attribute to CKO_PRIVATE_KEY object.
	+ commit 316a7bb9eb80bfd864104a460c015c75e2be77fa


2022-11-02  NIIBE Yutaka  <gniibe@fsij.org>

	build: Update libassuan.m4.
	+ commit c73a4c2885a49abcac09404cc645b77e8bad1233
	* m4/libassuan.m4: Update from libassuan master.

2022-10-24  NIIBE Yutaka  <gniibe@fsij.org>

	build: Update gpg-error.m4.
	+ commit b1c776b5ffc8ff29f588eeceac44176b0331c1a4
	* m4/gpg-error.m4: Update from libgpg-error 1.46.

2022-10-11  Werner Koch  <wk@gnupg.org>

	Allow the use of a remote connection.
	+ commit 1ca01c87d2bef8fca54ae1bbd86319e684da0bbd
	* src/agent.c (agent_configure): Test for a remote connection.

2022-09-28  NIIBE Yutaka  <gniibe@fsij.org>

	Fix keyinfo listing.
	+ commit fa636965106073748796ff1b1dec48ae48036233
	* src/agent.c (keyinfo_list_cb): Fix the condition.

2022-09-28  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	Add option to return leaf certificate only.
	+ commit 1a87b2f26ad94fc5f45e680a3c75ed78478ea825
	* src/options.h (_scute_opt_t): Add no_chain.
	* src/readconf.c (_scute_read_conf): Set no_chain.
	* src/agent.c (scute_gpgsm_get_cert): Ask for chain of certificates
	depending on no_chain value.

2022-09-28  Werner Koch  <wk@gnupg.org>

	Do not launch gpg-agent if no-autostart is active.
	+ commit 3bf758969dedd1a5e48ea0321573f016a93ef147
	* src/options.h (_scute_opt_t): Add field no_autostart.
	* src/readconf.c (_scute_read_conf): Read common.conf.
	* src/agent.c (agent_connect): Do not launch gpg-agent if no-autostart
	was detected.

	Avoid segv in case of a MISSING_KEY error.
	+ commit 819009a5a7828e5125ac1ecf0ab76875c6853039
	* src/table.c (scute_table_first): Allow NULL for table.

	* src/cert.h (struct cert): Add field has_private.
	* src/cert-gpgsm.c (keylist_cb_line): Set hash_private.
	* src/gpgsm.c (search_cb): Make sure only a cert with private key is
	added as private.

	Avoid endless loop due to bogus certificate chains.
	+ commit 9a61a3267f7d6cf8d5b4db81a2091e28c1e210fd
	* src/gpgsm.c (struct search_cb_parm): Add field depth.
	(scute_gpgsm_get_cert): Clear new field.
	(search_cb): Check for a too deep recursion.

	Add configure option only-marked.
	+ commit 3d3222d9f9a05f8fa5a931529f476138ceb43a11
	* src/options.h (_scute_opt_t): Add only_marked.
	* src/readconf.c (_scute_read_conf): Set only_marked.
	* src/agent.c (scute_agent_keyinfo_list): Take care of the option.

2022-09-28  NIIBE Yutaka  <gniibe@fsij.org>

	Don't use SCD READCERT, but just use gpgsm.
	+ commit 458eea3371eaa3c98f98a4324c3b95f1e66a6c24
	* src/agent.c (keyinfo_list_cb): Don't put information to KEYREF and
	USAGE.
	(scute_agent_free_keyinfo): No KEYREF and USAGE, any more.
	(get_cert_data_cb): Remove.
	(scute_agent_get_cert): Remove.
	* src/agent.h (struct keyinfo): Remove KEYREF and USAGE field.
	(scute_agent_get_cert): Remove.
	* src/gpgsm.c (scute_gpgsm_get_cert): Remove retrieving certificate
	from card.  Always use GPGSM.

	Tweak for GetSlotList for Firefox.
	+ commit b2cacfb9373ab522d10ce67863661a82dc76ab8b
	* src/p11-getslotlist.c (C_GetSlotList): Fix for Firefox.
	* src/slots.c (active_sessions): New.
	(slot_create_session): Increment ACTIVE_SESSIONS.
	(slot_close_session): Decrement ACTIVE_SESSIONS.
	(scute_slots_rescan_if_no_sessions): New.
	* src/slots.h (scute_slots_rescan_if_no_sessions): New.

	Allow SeedRandom.
	+ commit 26d21a2e7ca59e3535ea51c62743596703ff66e9
	* src/p11-seedrandom.c (C_SeedRandom): Return CKR_OK.

	Fix sign/decrypt operation.
	+ commit c916e41937df9de1908a0084f1663d77bcbf0aae
	* src/slots.c (session_sign, session_decrypt): Use KEYGRIP.

	Second step for multiple device support.  No monitoring cards.
	+ commit f666690b817e0df1b53c03d7e414ef474748bec5
	* src/agent.h (struct agent_card_info_s, agent_card_info_t): Remove.
	(scute_agent_check_status, scute_agent_learn): Remove.
	(scute_agent_release_card_info): Remove.
	(scute_agent_keyinfo_list, scute_agent_serialno): New.
	* src/agent.c (scute_agent_serialno): New.
	(unhexify_fpr, hexgrip_valid_p, store_serialno): Remove.
	(scute_agent_release_card_info, learn_status_cb): Remove.
	(scute_agent_learn, geteventcounter_status_cb): Remove.
	(read_status_cb, scute_agent_check_status): Remove.
	(scute_agent_get_cert): It's GRIP.
	* src/cert-object.c (scute_attr_cert): CKA_LABEL is always "Scute".
	(scute_attr_prv): Likewise.  CKA_ID is the GRIP.
	* src/cert.h (struct key_info_s): Remove.
	(struct cert): Remove certref field.
	* src/gpgsm.c (scute_gpgsm_get_cert): Return GPG_ERR_NOT_FOUND, when
	not found.
	* src/p11-getsessioninfo.c (C_GetSessionInfo): Don't call
	slots_update_slot.  Fix the name of call to slot_get_status to
	slot_get_login_status.
	* src/p11-getslotlist.c (C_GetSlotList): Instead of slots_update_all,
	call scute_slots_finalize and then scute_slots_initialize.
	* src/p11-initialize.c (C_Initialize): Don't call
	scute_slots_initialize.
	* src/slots.c (MAX_SLOTS): Remove.
	(struct slot): Remove INFO field, add SERIALNO.
	(add_object, slot_init): Add forward declarations.
	(scute_slots_initialize): Call scute_agent_serialno to ask scdaemon
	scanning the card list.
	For each key, call scute_gpgsm_get_cert to get the certificate.
	If a key has a certificate, allocate the slot.
	(slot_reset): Don't call scute_agent_release_card_info.
	(slot_init): Don't call scute_gpgsm_get_cert here.
	(slots_update_slot, slots_detect_slot, slots_update_all): Remove.
	It's scdaemon which monitors removal of card.
	(slot_token_label): Return SERIALNO.
	(slot_token_manufacturer): For now, it's "scdaemon".
	(slot_token_application): For now, it's "gpg-agent".
	(slot_token_serial): Return LSB of serialno.
	(slot_token_version): For now, return zeros.
	(slot_token_maxpinlen, slot_token_pincount, slot_token_has_rng): For
	now return fixed values.
	(slot_get_login_status): Rename from slot_get_status.
	* src/slots.h (slots_update_all, slots_update_slot): Remove.
	(slot_get_login_status): Rename from slot_get_status.

	Fix slot_get_status.
	+ commit b4bc848320bb82d40e8b7235f0d6bca0244ebee0
	* src/slots.c (slot_get_status): Return ->login.

	First step for multiple device support, using the keygrip.
	+ commit 88e3e58fa23787fef14cbd379f1873b926c25f9b
	* src/agent.h (struct keyinfo): New.
	(scute_agent_free_keyinfo, scute_agent_keyinfo_list): New.
	(scute_agent_learn, scute_agent_check_status): Add GRIP argument.
	(scute_find_kinfo): Remove.
	(scute_agent_get_cert): Use GRIP, instead of CERTREF.
	* src/agent.c (struct keyinfo_parm, keyinfo_list_cb): New.
	(scute_agent_free_keyinfo, scute_agent_keyinfo_list): New.
	(scute_agent_release_card_info): Remove ->KINFO support.
	(scute_find_kinfo, create_kinfo): Remove.
	(learn_status_cb): Remove ->KINFO support.
	(scute_agent_learn, scute_agent_check_status): Add GRIP argument.
	* src/cert-gpgsm.c (keylist_cb_line): Don't touch cert->grip field.
	* src/cert-object.c (scute_attr_prv): Use GRIP, instead of KINFO.
	* src/cert.h (struct cert): Remove GRIP field.
	(scute_attr_prv): Use GRIP, instead of KINFO.
	* src/gpgsm.c (struct search_cb_parm): Use GRIP, instead of KINFO.
	(search_cb): Likewise for scute_attr_prv.
	Use CTX->GRIP, instead of ->KINFO->GRIP.
	(scute_gpgsm_get_cert): Use GRIP, instead of KINFO.
	* src/gpgsm.h (scute_gpgsm_get_cert): Use GRIP, instead of KINFO.
	* src/slots.c (struct slot): Add GRIP field.
	(scute_slots_initialize): Allocate slots by available keys.
	(slot_init): Don't use KINFO, but GRIP.
	(slots_update_slot): Follow the change of scute_agent_check_status.
	(slots_detect_slot): Follow the change of scute_agent_learn.

	Remove $DISPSERIALNO support.
	+ commit 85fce63426245d81d00d6eeeae303ac1d7ce48a6
	* src/agent.h (struct agent_card_info_s): Remove dispserialno.
	* src/agent.c (scute_agent_release_card_info): Remove freeing
	dispserialno.
	(learn_status_cb): Remove filling dispserialno.
	(scute_agent_learn): Don't ask scdaemon for $DISPSERIALNO.
	* src/slots.c (slot_token_serial): Simply use info.serialno.

	Fix C_GetSlotInfo.
	+ commit 8170a35bddea6028e4075614a8780fd7313e51cf
	* src/p11-getslotinfo.c (C_GetSlotInfo): Don't call slot_update_slot.

	Allow up to four cards (only use the first slot for now).
	+ commit fd72f517b9236e71efb3cfcc256294441a826efa
	* src/slots.c (MAX_SLOTS): New.
	(scute_slots_initialize): Allocate slots of MAX_SLOTS.
	(slots_update_slot): Don't try to detect new card.
	(slots_detect_slot): New.
	(slots_update_all): Call slots_detect_slot to detect new card.

	Fix NR_ATTR_CERT.
	+ commit 1cc5c465862e0cc44357d556b48cab6ca2e1df16
	* src/cert-object.c (scute_attr_cert): Update NR_ATTR_CERT.

2022-09-21  NIIBE Yutaka  <gniibe@fsij.org>

	Support ECC signature.
	+ commit ae4b7d8e2764e39c8e5cce8a2567015828a0949e
	* src/agent.c (pksign_parse_result): Support ECC signature in SEXP.
	(scute_agent_sign): Support ECC signing.
	* src/cert-object.c (asn1_get_ec_params): New.
	(scute_attr_prv): Support ECC mechanism.
	* src/p11-signinit.c (C_SignInit): Remove the check for RSA.
	* src/slots.c (struct slot): Add key_type.
	(mechanism_alloc): Get the mechanism from the certificate.
	(slot_alloc): Don't allocate mechanisms here.
	(slot_init): Allocate mechanisms here.
	(session_sign): Support returning the length of signature
	for ECC.

	Fix wrong fix of off-by-one error.
	+ commit 4a1169983259a1617fa2e9bc33e9d57e17ee1da6
	* src/cert-gpgsm.c (keylist_cb_line): Terminate the string
	by '\0'.

	Add constants from PKCS#11 3.0.
	+ commit c94f1d70961388d6fa1c2ea948f9396cec1ae824
	* src/pkcs11.h (CKK_ECDSA): Remove.
	(CKK_EC_EDWARDS, CKK_EC_MONTGOMERY): New.
	(CKM_ECDSA_SHA256, CKM_ECDSA_SHA384, CKM_ECDSA_SHA512): New.
	(CKM_EC_EDWARDS_KEY_PAIR_GEN, CKM_EC_MONTGOMERY_KEY_PAIR_GEN): New.
	(CKM_EDDSA): New.
	(CKF_EC_F_P, CKF_EC_F_2M, CKF_EC_PARAMETERS, CKF_EC_OID): New.
	(CKF_EC_UNCOMPRESS, CKF_EC_COMPRESS, CKF_EC_CURVENAME): New.

2022-07-22  NIIBE Yutaka  <gniibe@fsij.org>

	build: Update gpg-error.m4 and fix for modern Autoconf.
	+ commit 4f40ab3132fc10ae3ebb17459837d2098d51801f
	* configure.ac: Fix for newer Autoconf.
	* m4/gpg-error.m4: Update from libgpg-error.

	build: Update config.guess and config.sub.
	+ commit 81b0d2c7a5e84be34168122466c66cc664249594
	* build-aux/config.guess: Update from upstream.
	* build-aux/config.sub: Ditto.

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

	Hack to all using Scute for osslsigncode.
	+ commit 2b22ff55d1c069604bac8086a37f6893ddb50ec3
	* src/readconf.c (_scute_read_conf): New option
	"assume-single-threaded".
	* src/options.h (_scute_opt_t): Add field assume_single_threaded.
	* src/p11-initialize.c (C_Initialize): Ignore CKF_OS_LOCKING_OK if new
	option is set.

2021-03-30  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	Do not declare global variable in header file.
	+ commit 49ad2b0e05e3fcb8c8c2e23bb1c6063b390dee02
	* src/options.h (_scute_opt_t): New typedef.
	(_scute_opt): Declare as extern and move definition to ...
	* src/readconf.c (_scute_opt): here.

	build: Bump mimimum required Automake version.
	+ commit ab05fb64c143a87656cbcef697b234b3c1deacea
	* configure.ac (min_automake_version): Bump to 1.16.3.

2021-03-26  NIIBE Yutaka  <gniibe@fsij.org>

	build: Fix for make distcheck.
	+ commit 7da0846406360c421707885cf9579220a8e8ed91
	* Makefile.am (AM_DISTCHECK_DVI_TARGET): New.

	build: Don't require ImageMagick anymore for building document.
	+ commit 9a5f29da90dcf9fdd6ef26b89ad902037bc2d6fb
	* configure.ac (CONVERT): Remove.
	* doc/Makefile.am (images_eps): Remove.
	(CLEANFILES, BUILT_SOURCES): Remove images_eps.
	(.png.eps, .png.pdf): Remove suffix rules.
	(dist-hook): Remove.

2021-03-25  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	build: Do not build doc if tools are missing.
	+ commit 4d95b7457d62bf785a2157bb2cfa002bde7ff8f5
	* configure.ac (YAT2M): Check for yat2m helper tool.
	(EPSTOPDF): Check removed.
	(BUILD_DOC): Enable only if convert and yat2m are present.

2021-01-07  Werner Koch  <wk@gnupg.org>

	Release 1.7.0.
	+ commit 2488e12aa478583f7adffd3b993bce923d2aa76a


	Minor fixes for a release.
	+ commit 9961bd1e094f1af32b4aa7838ddbc07a01da2a89
	* doc/Makefile.am (DISTCLEANFILES): Add yat2m files.
	* doc/scute.texi: Minor fixes.
	* tests/t-findobjects.c (main): Add one test case.

2020-11-24  Andre Heinecke  <aheinecke@gnupg.org>

	w32: Add ws2_32 linkage.
	+ commit d7ec61b1b6b0f65667ac80c9713b51bd60eaf90e
	* src/Makefile.am (scute_la_LIBADD): Add ws2_32

	w32: Fix build by ifdefing a dbg statement.
	+ commit 669e1cc1baf9a047bbc4169f494e176f50f6ee2f
	* src/agent.c (agent_connect): Ifdef out a dbg statement.

2020-11-20  NIIBE Yutaka  <gniibe@fsij.org>

	build: Update to newer autoconf constructs.
	+ commit bd471ef56c0857070622b8c3c3a3f24fd03284f5
	* configure.ac: Use AC_USE_SYSTEM_EXTENSIONS instead of AC_GNU_SOURCE.
	Use AS_HELP_STRING instead of AC_HELP_STRING.
	* m4/gpg-error.m4: Update from libgpg-error.
	* m4/libtool.m4: Update from libgpg-error.
	* m4/libassuan.m4: Update from libassuan.

2020-08-11  Werner Koch  <wk@gnupg.org>

	Slightly modernize the layout of the manual.
	+ commit b1f226fd4f5b6bf24917e04e36f32e041c152d87


	Minor updates of the manual.
	+ commit 008815f81edd7252da88013e4af81160bc65692a


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

	Support pre-formatted PSS signatures.
	+ commit 78b7c2d5d3e00d982f6446ba2b5d6aec70792d88
	* src/p11-signinit.c (C_SignInit): Allow CKM_RSA_X_509.
	* src/slots.c (struct session): Add field signing_mechanism_type.
	(session_set_signing_key): Add arg mechanism_type and store it in the
	session.
	* src/agent.c (agent_connect): Use --chuid if a user has been
	configured.
	(has_leading_keyword): New.
	(default_inq_cb): Use it.
	(struct sethash_inq_parm_s): New.
	(sethash_inq_cb): New.
	(scute_agent_sign): Add arg mechanism_type and use --inquire
	optionally with --pss if CKM_RSA_X_509 is used.

	Introduce global config file /etc/gnupg/scute.conf.
	+ commit 6a04d254d188f81bbc916115a6fe6cb14a40c221
	* configure.ac: Require libgpg-error 1.38
	* src/options.h: New.
	* src/readconf.c: New.
	* src/Makefile.am (sources): Add them.
	* src/debug.c (_scute_debug_flags): Replace by _scute_op.debug_flags.
	(_scute_debug_init): Adjust accordingly.
	* src/debug.h: Include options.h.  Include line number in debug
	output.
	* src/p11-initialize.c (C_Initialize): Read global configuration.

2020-02-08  Werner Koch  <wk@gnupg.org>

	Fix a missing --all option for SERIALNO.
	+ commit 0f7920082f4e137d9cd6fee2ea38a903eb01297c
	* src/agent.c (scute_agent_learn): Use SERIALNO with --all here too.
	* src/p11-findobjectsinit.c: Include debug.h.
	(C_FindObjectsInit): Detect request for sn+issuer.

	Change a function name for clarity.
	+ commit e9dbdd0a1b0f92477e05a2060d6ac5ecb0dfdeef
	* src/slots.c (slots_update): Rename to slots_update_all.  Change
	caller.

	Rename a global variable for clarity.
	+ commit eea2d47d4c58366378ac700976cfe6fc4278bd2c
	* src/slots.c (slots): Rename var to slot_table.

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

	Fix printing of the slot application.
	+ commit a241ed26acb6a1ee114d09a6e0bfca8a3c0f3b97
	* src/slots.c (slot_token_application): Fix condition.

	Update list of OpenPGP card vendors.
	+ commit 21260e2c38a9b76c5a3a26d9c2a4ca93c7d10f3f
	* src/slots.c (slot_token_manufacturer): Update list.

2019-09-11  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	Post-release updates.
	+ commit cbaa7c4663d84775e67c3f0196c1e21126ad760c


	Release 1.6.0.
	+ commit bed3c9ba3f82f92a25f0193056d99c4908e771bf
	* configure.ac: Bump LT_REVISION.
	* NEWS: Update release date.
	* doc/website/download.xhtml: Add new release.

2019-09-09  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	Fix build on MacOS.
	+ commit d551cf9884c24a863e106d55d9449d8822f6f152
	* configure.ac (HAVE_DARWIN_SYSTEM): New conditional.
	* src/Makefile.am: On MacOS, do not use the -module flag and name
	the library libscute instead of scute.
	* tests/Makefile.am: Link against libscute accordingly.

2019-09-08  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	Update documentation files.
	+ commit ad7b7ad4f844191713547f9b6e6e34c361bf153c
	* doc/README: Explicitly mention that GnuPG 2.2 is required to run
	the tests. Update or remove broken links.
	* doc/manual/scute.texi: Mention support for PIV cards. Update
	dependencies.
	* doc/website/index.html: Ditto.
	* doc/website/download.xhtml: Update dependencies.

	Silence warning about uninitialized variable.
	+ commit 70a05fa1184e8ac99cc06fcd87749acad5fcb886
	* src/get-path.c (read_first_line): Initialize variable to keep the
	compiler happy.

2019-09-05  Werner Koch  <wk@gnupg.org>

	Minor NEWS update.
	+ commit 8a66cf00a91ad5d91cb4bae3f42e3df34323cddd


	Use additional apps of a Yubikey.
	+ commit 17fb104fe52a3bb99bd650e445f90251ea1b855f
	* src/agent.h (struct agent_card_info_s): Add info.is_openpgp.
	* src/agent.c (scute_agent_learn): Make use of --all amd --multi flags
	in recent scdaemon.
	(learn_status_cb): Set info.is_openpgp.
	* src/slots.c (slots_update_slot): Use new info.is_openpgp.
	(slot_token_application): Ditto.

2019-09-04  Werner Koch  <wk@gnupg.org>

	Fix for recent change in APPTYPE value of scdaemon.
	+ commit 2ad9d5d618e1398eede125d9639efaac728a390f
	* src/agent.c (learn_status_cb): Compare against lowercase version.

2019-08-30  Werner Koch  <wk@gnupg.org>

	Add code comment on how to improve cert lookup.
	+ commit 2b0c3b2cba12563c2db7264222eb6661835189db


2019-03-06  NIIBE Yutaka  <gniibe@fsij.org>

	Update libassuan.m4.
	+ commit 5509f2dbcb8948141ff3ec7ba70fb068d3a41f65
	* m4/libassuan.m4: Update from libassuan master.

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

	Auto-reconnect after connection failures to gpg-agent.
	+ commit c6fb7d7f4352dc6c2610f4c4af9119369084e812
	* src/get-path.c (gnupg_version_string): New.
	(read_first_line): New.
	(extract_version_string): New.  Taken from gpgme.
	(get_gpgconf_path): Retrieve GnuPG version.
	(get_gnupg_version): New.
	(is_gnupg_older_than): New.
	(get_bindir): Re-implement using read_first_line.
	* src/support.h: Include gpg-error.h
	* src/agent.c (agent_version_major, agent_version_minor): Remove.
	(agent_connect): Implement using read_first_line.  Use combined launch
	command with fallback to tow command for GnuPG < 2.2.14.
	(read_version_cb): Remove.
	(agent_configure): Don't send GETINFO.
	(scute_agent_get_agent_version): Remove.  Change callers to use the
	new get_gnupg_version.
	(check_broken_pipe): New.
	(ensure_agent_connection): New.
	(scute_agent_learn): Ensure that an agent has been started and detect
	a broekn pipe.
	(scute_agent_check_status): Ditto.
	(scute_agent_sign): Ditto.
	(scute_agent_decrypt): Ditto.
	(scute_agent_is_trusted): Ditto.
	(scute_agent_get_cert): Ditto.
	(scute_agent_get_random): Ditto.

	Do not test for GnuPG version and use gpgconf to find it.
	+ commit a467acce64885919b5de4e18b94671f3cfcdf4c8
	* configure.ac: Remove all tests for GPGSM and GPG_CONNECT_AGENT.
	* src/agent.c (agent_connect): Change to use gpgconf.
	* src/get-path.c (get_gpg_connect_agent_path): Rename to ...
	(get_gpgconf_path): this.
	(get_bindir): New.
	(get_gpgsm_path): Implement using get_bindir.

	Implement decryption.
	+ commit 4fc9da05d490b8d4d0d0714d51781d7e2521bbc6
	* src/agent.h (struct key_info_s, key_info_t): Move to ...
	* src/cert.h (struct key_info_s): here.
	* src/agent.c (learn_status_cb): Set usage info.
	(scute_agent_learn): Use "SCD LEARN" instead of "LEARN"
	(struct pkdecrypt_parm_s): New.
	(pkdecrypt_data_cb): New.
	(pkdecrypt_inq_cb): New.
	(pkdecrypt_parse_result): New.
	(scute_agent_decrypt): New.
	* src/cert-object.c (scute_attr_prv): Set decrypt flag.  Replace arg
	'grip' by 'kinfo'.  Change callers.
	* src/gpgsm.c (struct search_cb_parm): Replace 'grip' by 'kinfo'.
	(scute_gpgsm_get_cert): Replace args 'grip' and 'certref' by 'kinfo'.
	* src/slots.c (struct session): Add 'decryption_key'.  Change callers.
	(slot_create_session): Init decryption_key.
	(session_sign): Allow NULL for PSIGNATURE but still return the
	required length.
	(session_init_decrypt): New.
	(session_decrypt): New.

2019-02-20  Werner Koch  <wk@gnupg.org>

	Fix gcc warnings when building for Windows.
	+ commit a3dc060e32a52e3a094c3af84e432c832b511da9
	* m4/estream.m4: Remove file.
	* configure.ac (estream_PRINTF_INIT): Remove.  Estream is part of
	libgpg-error.
	(AC_CHECK_FUNCS): Move to a later place.
	* src/agent.c [W32]: Explictly include winsock2.h to avoid a warning.
	(gnupg_allow_set_foregound_window): Fix printf warning.
	* src/support.h (ttyname): Mark unsused arg.
	(stpcpy): Move to ...
	* src/get-path.c (my_stpcpy): here.  Use macros to get around warning
	pertaining to the gcc built-in.
	(dlopen): Mark unused arg.

	Remove GNU-isms from the doc Makefiles.
	+ commit 9a25f7bb80c292f05cc4b58c2b8caf5252bbccb0


	Update libtool and add usual defines for macOS.
	+ commit b623ff524e63391f01aa075686b7004e8a0ceb91
	* m4/libtool.m4: Update from gpgme.
	* configure.ac (_DARWIN_C_SOURCE): Define from macOS.

	Make C_Sign error handling spec compliant.
	+ commit cc91c168e4aecc292f95156a96d9fd96e449d8b1
	* src/slots.c (session_sign): Clear the flag sign-initialized flag on
	error.
	* src/p11-signinit.c (C_SignInit): Minor rework.
	* src/p11-sign.c (C_Sign): Ditto.

2019-02-18  Werner Koch  <wk@gnupg.org>

	Clean up use of label and s/n in CK_TOKEN_INFO.
	+ commit 90fe9f7be2a386fa7e4d7869fec32a4f4e24151b
	* src/agent.c (scute_agent_learn): Also get the DISPSERIALNO.
	(learn_status_cb): Support it.
	* src/p11-gettokeninfo.c (C_GetTokenInfo): Simplify serialNumber
	setting.
	* src/slots.c (slot_token_label): Redirect to ...
	(slot_token_serial): here and remove the secial OpenPGP card handling
	which is not needed due to DISPSERIALNO.

	Properly handle card switching.
	+ commit a148c216517c6dcf2d339f5060c5b09164dd18c9
	* src/agent.c (scute_agent_learn): Handle GPG_ERR_CARD_REMOVED.

	Let gpgsm do the actual key selection work.
	+ commit d981ad1ed18d5e7d7b63ecf256348a509cc4eb59
	* src/agent.c (scute_agent_is_trusted): Make FPR arg const.
	* src/cert.h (enum keylist_modes): new.
	* src/cert-gpgsm.c (scute_gpgsm_search_certs_by_fpr): Remove.
	(scute_gpgsm_search_certs_by_grip): Rename to ...
	(scute_gpgsm_search_certs): this.  Remove the same named old
	fucntion.  Change args and rewrite.
	(export_cert_compat): Remove.
	(export_cert): Make FPR arg const.  Remove trailing LF from assuna
	command.
	(search_certs): Rename to keylist_cb.  Fold the double callbacks into
	just one.
	(MAX_LINE_LEN): Define based on ASSUAN_LINELENGTH.

2019-02-14  Werner Koch  <wk@gnupg.org>

	Rework of some parts to support several keys pers slot.
	+ commit ff9e757e352f1b4cf3b4625eb4398415051367af
	* src/cert.h (struct cert): Add member certref.
	* src/agent.h (struct agent_card_info_s): Remove legacy data.
	* src/agent.c (learn_status_cb): Ditto.
	(scute_agent_get_cert): Copy the certref to the cert object.
	* src/cert-object.c (scute_attr_cert): Add arg 'grip' and use new
	scheme for CKA_ID.
	(scute_attr_prv): Ditto.
	* src/gpgsm.c (struct search): Rename to search_cb_parm for clarity.
	Add member 'grip'.
	(search_cb): Pass GRIP to scute_attr_prv and scute_attr_cert.
	(scute_gpgsm_get_cert): Convey GRIP.
	* src/slots.c (slot_init): Replace fixed "OPENPGP.3" by a loop over
	all available keyrefs.
	(session_sign): Actually use the set key.  Add a few checks.

	* src/settings.h (LIBRARY_DESCRIPTION): Rename to "GnuPG".

	* src/slots.c (mechanism_alloc): Change ulMaxKeySize to 4096.

	* src/p11-gettokeninfo.c (C_GetTokenInfo): Set ulMaxSessionCount to
	CK_EFFECTIVELY_INFINITE.

	* tests/t-getattribute.c (dump_one_string): New.
	(dump_object): Use for some objects.

	Silence -Wint-in-bool-context warnings.
	+ commit c4be31f93ea5f471f7ca127ed61b02fc14c418d6


	Bunch of refactoring and minor changes for PIV cards.
	+ commit 7a4de78ae1d1186edc181ef244496cf4cf61b2c1
	* src/agent.h (struct key_info_s): New.
	(struct agent_card_info_s): Add cardtype, kinfo and is_piv members.
	(agent_card_info_t): New.
	* src/cert-object.c: Get rid of the CERT_PARSING documentation macro
	and replace the attr_one_ext et al macros by straight code for
	easier readability.
	* src/agent.c (hexgrip_valid_p): New.
	(scute_agent_release_card_info): Free kinfo member.
	(scute_find_kinfo): New.
	(create_kinfo): New.
	(learn_status_cb): Parse APPTYPE and CARDTYPE. Extend KEYPAIRINFO
	parsing.
	(scute_agent_get_cert): Change int arg 'no' to a string arg 'certref'.
	* src/gpgsm.c (scute_gpgsm_get_cert): Likewise.
	* src/slots.c (slot_init): Adjust for change
	(slots_update_slot): Allow for PIV cards.
	(slot_token_application): Return "PIV" or "OpenPGP".
	(slot_token_serial): Support PIV cards.
	(slot_token_version): Ditto.
	* src/support.h (scute_copy_string): Make second arg a const.

2019-02-13  Werner Koch  <wk@gnupg.org>

	Improve t-getslotinfo, t-getslotlist and t-opensession.
	+ commit 1d416088cb945a295eb602575a907838063334f8
	* tests/t-getslotinfo.c: Replace bool by int and include string.h.
	(PGM): New.
	(main): Add argument parsing and provide a loop options.  Don't use a
	delay if --loop is not used.  Do not pass 0 to malloc.
	* tests/t-getslotlist.c: Likewise but no --loop option.
	* tests/t-opensession.c: Likewise but no options.

	Never clean the GNUPGHOME if it is the standard directory.
	+ commit 1a5984fde1967825a77f929ce15d956dca2d2fc8


2018-05-20  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	Do not request certificate data when LEARNing.
	+ commit f31e6af6e2d9e320dedc89e0b6b2692b7d72cda7
	* src/agent.c (scute_agent_learn): Use LEARN --sendinfo instead
	of LEARN --send.

2018-05-19  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	Clean up files generated by make check.
	+ commit 8b01c156a2dd1d45c70e65a4af8f48eaa69e9ba6
	* tests/clean-socketdir: Remove more test-generated files.

2017-07-14  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	Release 1.5.0.
	+ commit 0b49362dab49697bfdf8b0fdc1dcfe66afb3c7fd
	* AUTHORS: Update maintainer name and contact.
	* NEWS: Update release date.
	* configure.ac: Update PACKAGE_BUGREPORT url. Bump LT_REVISION.
	* doc/website/download.xhtml: Add 1.5.O release.

2017-07-12  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	Search gpg-connect-agent in PATH at runtime.
	+ commit e6ca8e2e6ae842e9e72c9287624a77e51fe2962f
	* configure.ac: Do not hard-code full path to gpg-connect-agent.

	Sanitize tests environment.
	+ commit 6a3b58fcaa00dc5f91d361e842e61e4dec0ae7f6
	* tests/Makefile.am (clean-local): New target.
	(TESTS_ENVIRONMENT): New variable.
	(EXTRA_DIST): New variable.
	* tests/clean-socketdir: New file.

2017-07-10  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	Add a manual section for card-stored certificates.
	+ commit 82ff06a600a22b5ab71be0ec451b24fcd8a55eae
	* doc/manual/scute.texi: Explain how to store the certificate
	directly on the card.

2017-07-09  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	Update manual.
	+ commit 21baad873862352833fc54eb85fb490522955e6f
	* doc/manual/scute.texi: Update some links. Refer to GnuPG 2
	instead of GnuPG 2.0.

2017-07-05  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	Update documentation files.
	+ commit 5ef976c40007ba2b062e9bd63e35bca894c3d9a0
	* AUTHORS: Update bug report submission URL.
	* doc/website/contact.xhtml: Likewise.
	* NEWS: Update for upcoming release.
	* README: Replace libscute.so by scute.so. Indicate that GnuPG 2.1
	is required for some features.
	* doc/manual/scute.texi: Likewise.

	Add safety check against bad card certificate.
	+ commit ab5025ab91db937b80427bf7385b4c689e7fa9a6
	* src/agent.c (scute_agent_get_cert): Reject card certificate if
	it does not start with an ASN.1 sequence tag.

	Cleanup now unused code.
	+ commit 1be7674fea72aff49eb13ef96089c766a09239cb
	* src/agent.c (build_w32_commandline_copy): Removed.
	(build_w32_commandline): Removed.
	(spawn_process_detached): Removed.
	* src/get-path.c (get_gpg_agent_path): Removed.
	(standard_homedir): Removed.
	(default_homedir): Removed.
	(make_filename): Removed.
	* src/support.h: Removed corresponding prototypes.
	* configure.ac: Removed --with-gpg-agent option.

	Get GPG Agent's socket directly from the agent.
	+ commit a8bfa6306a0114d1e4c3eeaecd15fb07439cb648
	* src/agent.c (agent_connect): Call gpg-connect-agent to get
	the socket for a running agent.
	* src/get-path.c (get_gpg_connect_agent_path): New function.
	* src/support.h (get_gpg_connect_agent_path): New prototype.
	* configure.ac: New option --with-gpg-connect-agent-path.

2017-01-30  NIIBE Yutaka  <gniibe@fsij.org>

	Add error handling.
	+ commit 10a19467bc2a95b4aa91176924a91be427d3157a
	* src/slots.c (slots_update_slot): Ignore GPG_ERR_ENODEV too.

2016-11-02  NIIBE Yutaka  <gniibe@fsij.org>

	Fix formatting.
	+ commit e4bcc781fe2280626d602d0d02702d03a9c2601a
	* src/agent.c (scute_agent_get_random): Use '%zu'.

2016-08-08  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	doc: Update list of not implemented functions.
	+ commit 94eeb2d580f67bd56ba711e055d9ea2ea089ec89
	* README: Update list of not implemented functions.
	* doc/manual/scute.texi: Likewise.
	* TODO: Remove C_GenerateRandom from the TODO list.

	doc: Scute can be used to sign documents.
	+ commit b9b8319083b78168e69757fde020cb7d0b1f21e9
	* doc/manual/scute.texi: Explain how to use Scute with LibreOffice.
	* doc/manual/libreoffice-certificate-selection.png: New image.
	* doc/manual/libreoffice-digital-signatures.png: New image.
	* doc/manual/libreoffice-pdf-signature.png: New image.
	* doc/manual/Makefile.am: Include the new images.
	* README: Mention that Scute can work with LibreOffice.
	* doc/website/index.xhtml: Likewise.

	doc: Scute can now be used to sign emails.
	+ commit 0050056965eff7d3740680f49517f57851d51f38
	* doc/manual/scute.texi: Explain how to use Scute for email signing.
	* doc/manual/thunderbird-account-settings.png: New image.
	* doc/manual/thunderbird-smime-button.png: New image.
	* doc/manual/Makefile.am: Include the two above files.
	* doc/website/index.xhtml: Mention the email signing capability.
	* README: Likewise.

	doc: Remove obsolete info about Mozilla PSM.
	+ commit b04c929fcef090e0e9788a8434f3401d271a1823
	* README: Remove obsolete instruction about the Mozilla Personal
	Security Manager.

	doc: Scute can automatically start the agent.
	+ commit f0e91f6aeb5b8e38cfc46eeb306059136584d214
	* README: Remove paragraph about the need to have an agent up and
	running and the GPG_AGENT_INFO variable set.
	* doc/manual/scute.texi: Likewise.

2016-05-23  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	Add test for C_GenerateRandom.
	+ commit bc6c9e746432f4005aef359a620660a9d35df791
	* tests/Makefile.am (TESTS): Add t-generaterandom test.
	* tests/t-generaterandom.c: New file.

	Check whether the card has a RNG.
	+ commit 8d6099136c765b053d88c0a9a516804021503b00
	* src/agent.c (learn_status_cb): Learn from the agent whether the
	card supports GET CHALLENGE.
	* src/agent.h (struct agent_card_info_s): New member rng_available.
	* src/p11-gettokeninfo (C_GetTokenInfo): Set CKF_RNG flag.
	* src/slots.c (slot_token_has_rng): New function.
	* src/slots.h (slot_token_has_rng): New prototype.
	Parse card capabilities

	Implement C_GenerateRandom.
	+ commit 764de881a38da9b725652994145410b8676b586a
	* src/agent.c (scute_agent_get_random, get_challenge_data_cb):
	New functions.
	* src/agent.h (scute_agent_get_random): New prototype.
	* src/p11-generaterandom.c (C_GenerateRandom): Implement feature.

2016-03-24  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	Update required libgpg-error version.
	+ commit dc7dff17066510ed4687a2bfdd16afded77f4d27
	* configure.ac: Set required version of libgpg-error to 1.14.
	* README: Update documentation accordingly.
	* doc/manual/scute.texi: Likewise.
	* doc/website/download.xhtml: Likewise.

2016-03-23  Werner Koch  <wk@gnupg.org>

	Remove unused variable.
	+ commit 2d8d4f0f7415f368690ecc4164a62598a125d5d9
	* src/slots.c (session_sign): Remove uses var "session".

	Minor cleanup for commit dd7cf6c.
	+ commit e1b15651be68db1d33f68d5393ce737e02c1e823
	* src/agent.c (pksign_parse_result): Remove leading Nul byte only if
	it is a suffix.

2016-03-23  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	scute: Remove prepended nul byte in signature data.
	+ commit dd7cf6c77904395ea32052ae213465d4794cef03
	* src/agent.c (pksign_parse_result): Check for nul byte prepended
	by the agent to the signature value.

2016-01-18  Oleg Gurevich  <oleg@gurevich.de>

	Set configure options for cross-compilation.
	+ commit 086b72ab07016778fea1ffeb8e5cc340d2116f6a
	* autogen.rc: Set configure options for cross-compilation based on
	'myhost'.

2016-01-11  Oleg Gurevich  <oleg@gurevich.de>

	Fix Windows build.
	+ commit 4983f77cfbc810795f24e7452363413597bbe2e4
	* configure.ac: Require newer automake version. Print configuration
	summary.
	(BUILD_REVISION): Fix.
	(BUILD_REVISION_DEC): Add and use the decimal revision where required.
	* src/scute.def: Add required 'LIBRARY' statement.
	* src/versioninfo.rc.in: Use decimal revision.

2016-01-04  Damien Goutte-Gattat  <dgouttegattat@incenp.org>

	scute: Include sexp-parse.h in source files.
	+ commit be53b88aa2b3d9e8952d89251d40bca0059bab40
	* src/Makefile.am: Add sexp-parse.h in source files.

2015-12-23  Justus Winter  <justus@g10code.com>

	Support hash functions other than 'tls-md5sha1'.
	+ commit e22c8cfa12849b215f16afb34f7a5dc233dbc70a
	* src/agent.c (decode_hash): New function.
	(scute_agent_sign): Use the new function, and return the correct size
	not the maximum size if 'sig_result' is NULL.

	Support 4096 bit RSA keys.
	+ commit 7346eab3aced6571ff31fe55d88a78e27415b609
	* src/agent.c (MAX_SIGNATURE_{BITS,LEN}): Tweak values.

	Properly parse the s-expressions.
	+ commit 055ae9e74155edff860884b5d3bf0ca0ab89a3e7
	* src/agent.c (pksign_parse_result): New function.
	(scute_agent_sign): Use the new function to parse the s-expression.
	* src/sexp-parse.h: New file copied from GnuPG.

	Introduce constant for maximum signature length.
	+ commit 3107e2e3b9b36544433c1b9f506c1a066168c71f
	* src/agent.c (MAX_SIGNATURE_BITS): New macro.
	(scute_agent_sign): Use new macro.

	tests: Update Makefile.am, signal skipped tests.
	+ commit 401461d3bbbe98456d9406ed60414a07fa58c190
	* tests/Makefile.am (INCLUDES): Use the new name 'AM_CPPFLAGS'.
	* tests/t-auth.c (main): Properly signal that the test is skipped.
	* tests/t-closeallsessions.c (main): Likewise.
	* tests/t-findobjects.c (main): Likewise.
	* tests/t-getattribute.c (main): Likewise.
	* tests/t-getmechanisminfo.c (main): Likewise.
	* tests/t-getmechanismlist.c (main): Likewise.
	* tests/t-getsessioninfo.c (main): Likewise.
	* tests/t-gettokeninfo.c (main): Likewise.
	* tests/t-opensession.c (main): Likewise.

2015-12-22  Justus Winter  <justus@g10code.com>

	doc/manual: Fix versions of build dependencies.
	+ commit 7b14a8f6dbf3649aacf836cbc7f01ff1309a97ed
	* doc/manual/scute.texi: Fix versions of build dependencies.

	doc/manual: Fix CAcert instructions, hide FIXMEs.
	+ commit 3e6c414479f266388ca9dff3fe7263dd833be35e
	* doc/manual/scute.texi: Fix CAcert instructions, turn remaining
	FIXMEs into comments.

	doc/manual: Include screenshot of generic error message.
	+ commit 6b0841e693de7b0b6ee44ed5d6392e2ec37379bf
	* doc/manual/Makefile.am (images): Add new file.
	* doc/manual/firefox-bad-pin.png: New file.
	* doc/manual/scute.texi: Update the paragraph on generic error
	messages printed by Firefox, and include screenshot.

	doc/manual: Include screenshot of certificate manager.
	+ commit bc6f0df4a85f9f1ba691142eec2c79876a0f89d1
	* doc/manual/scute.texi: Include screenshot of certificate manager.
	There are two more unused screenshots, but I do not see why they
	should be included.

	doc/manual: Rework image handling.
	+ commit 1ecff306ed72f610a40695b3f49bde435dd33a22
	* doc/manual/Makefile.am: Do not convert PNGs to PDFs first for the
	PDF manual, do not scale the EPS pictures down.
	* doc/manual/scute.texi: Scale and center images for the LaTeX-based
	formats.

	doc/manual: Adapt to renamed shared object.
	+ commit cb2f607878911cf7b253065042f3d264d5ef0107
	* doc/manual/firefox-dm-load.png: Adapt to renamed shared object.
	* doc/manual/scute.texi: Likewise.

	Fix some minor compiler warnings.
	+ commit f06567bc3c242a9537b5353e996c0ea709ad5afe
	* src/agent.c (agent_configure): Avoid dead stores.
	(unhexify_fpr): Likewise.
	(get_cert_data_cb): Drop unused variable.
	* src/gpgsm.c (search_cb): Avoid dead store.
	* tests/t-gettokeninfo.c (main): Fail on error.

2015-12-21  Justus Winter  <justus@g10code.com>

	Avoid implicit function declarations.
	+ commit 280d7d079c32ca055c80b4cdda8f78baf7960d3c
	* src/agent.h (scute_agent_get_cert): New prototype.
	* src/cert-gpgsm.c: Add missing includes.
	* src/debug.c: Likewise.
	* src/p11-getslotinfo.c: Likewise.
	* tests/t-getattribute.c: Likewise.

	Copy the maintainer-mode logic from GnuPG.
	+ commit aa62a00b3c0d1820fe878a96b46824e36f9f8a56
	* configure.ac: Copy the maintainer-mode logic from GnuPG.

2015-12-21  NIIBE Yutaka  <gniibe@fsij.org>

	Apply patch from Debian.
	+ commit dc2211179ea7f63434d726eefbc425390c4c6427
	* src/Makefile.am (lib_LTLIBRARIES): Rename from libscute.
	* tests/Makefile.am (LDADD): Follow the change.

2015-12-11  Justus Winter  <justus@g10code.com>

	doc: Rewrite to use 'gpgsm' instead of 'gpgsm-gencert.sh'.
	+ commit da2c278b3287b309f9f307eeecded932a32b99ce
	* README: Rewrite to use 'gpgsm' instead of 'gpgsm-gencert.sh'.
	* doc/manual/scute.texi: Likewise.

	doc: Improve 'scute.html' generation.
	+ commit fbaa9d20bac346ba6af01595c6a72ac420b98363
	* doc/manual/Makefile.am: Override the implicit rule for the html
	generation, and copy the images into the built documentation.

	Drop custom printf functions.
	+ commit 097a29ffe0ffdf0529a3d7b2398863e129413812
	* src/Makefile.am (sources): Drop files.
	* src/estream-printf.c: Drop file.
	* src/estream-printf.h: Likewise.
	* src/support.h: Fix accordingly.

	Fix logging.
	+ commit c4deb504197a1e7aa1f48df57077e1e21405c80a
	* src/debug.h (DEBUG): Display critical messages.

2015-12-08  Justus Winter  <justus@g10code.com>

	doc: Fix build.
	+ commit aee40f5189dcb53ee1feae1433a9fc4a75c945b2
	* doc/manual/gpl.texi: Fix section.
	* doc/manual/scute.texi: Drop empty item.

	Update automake initialization.
	+ commit 059fd7adf7b0ed9f01f2fcbbe51755560c785446
	* configure.ac: The two-argument form is deprecated.  Update
	accordingly.

	Move auxiliary build scripts into separate directory.
	+ commit 3b0b61189bcc7985ccf3e16164c73abae51065e9
	* configure.ac: Move auxiliary build scripts into separate directory
	`build-aux'.

	Add 'autogen.sh' from GnuPG.
	+ commit c1fef0a7c97a839231c5e7a334512412f2f05137
	* autogen.rc: New configuration file.
	* autogen.sh: New file.


2010-04-21  Marcus Brinkmann  <marcus@g10code.de>

	Release 1.4.0.

	* configure.ac (NEED_LIBASSUAN_VERSION): Bump to 2.0.0.
	(LIBSCUTE_LT_REVISION): Bump to 2.

2009-12-08  Marcus Brinkmann  <marcus@g10code.de>

	* src/agent.c (agent_connect): Convert posix fd to assuan fd.
	* src/cert-gpgsm.c (export_cert_compat): Likewise.

	* src/Makefile.am (libgpg-error.a, libassuan.a): Force symlink.

2009-11-06  Marcus Brinkmann  <marcus@g10code.de>

	* src/cert-gpgsm.c (export_cert_compat, export_cert)
	(scute_gpgsm_search_certs_by_grip)
	(scute_gpgsm_search_certs_by_fpr): Call assuan_pipe_connect
	instead of assuan_pipe_connect_ext.
	* src/agent.c (agent_connect): Update use of assuan_socket_connect
	and assuan_pipe_connect.

2009-10-16  Marcus Brinkmann  <marcus@g10code.com>

	* src/p11-initialize.c (CK_DEFINE_FUNCTION): Fix code on
	non-Windows.

2009-10-08  Marcus Brinkmann  <marcus@g10code.com>

	* src/p11-initialize.c (C_Initialize): Call WSAStartup.
	* src/p11-finalize.c (CK_DEFINE_FUNCTION): Call WSACleanup.

2009-10-06  Marcus Brinkmann  <marcus@g10code.com>

	* src/pkcs11.h: Add support for GOST.  By Andreas Jellinghaus.

2009-09-23  Marcus Brinkmann  <marcus@g10code.de>

	* configure.ac (NEED_LIBASSUAN_VERSION): Update to 1.1.0.
	(_ASSUAN_ONLY_GPG_ERROR): Remove.
	* src/p11-initialize.c: Update to new Assuan interface.
	* src/debug.c (_scute_debug_init): Remove call to
	assuan_set_assuan_log_stream.
	* src/agent.c (agent_connect): Allocate assuan context before
	connecting to server.  Release it on error.
	* src/cert-gpgsm.c (export_cert_compat, export_cert)
	(scute_gpgsm_search_certs_by_grip)
	(scute_gpgsm_search_certs_by_fpr): Likewise.

2009-07-22  Stef Walter  <stef@memberwebs.com>

	* src/pkcs11.h: Make all constants UL that should be.

2009-06-19  Werner Koch  <wk@g10code.com>

	Release 1.3.0.

	* src/settings.h (SLOT_FIRMWARE_VERSION_MAJOR)
	(SLOT_FIRMWARE_VERSION_MINOR, SLOT_HARDWARE_VERSION_MAJOR)
	(SLOT_HARDWARE_VERSION_MINOR): Remove.
	* src/p11-getslotinfo.c (CK_DEFINE_FUNCTION): Set firmware version
	to Scute version and agent version to hardware version.
	* src/agent.c (read_version_cb): New.
	(agent_configure): Call that.
	(agent_version_major, agent_version_minor): New.
	(scute_agent_get_agent_version): New.

	* src/agent.c (SIG_LEN_2): Fix stupid c+p bug.

2009-06-19  Marcus Brinkmann  <marcus@g10code.de>

	* src/Makefile.am (scute_deps): Add libgpg-error.a, libassuan.a.
	(scute_libadd): New variable.
	(libgpg-error.a, libassuan.a, clean-local): New targets.
	(libscute_la_LIBADD): Add $(scute_libadd).

2009-06-19  Werner Koch  <wk@g10code.com>

	* src/agent.c (geteventcounter_status_cb): New.
	(scute_agent_check_status): Check the eventcounter first.

2009-06-19  Marcus Brinkmann  <marcus@g10code.de>

	* tests/t-getattribute.c (dump_object): Allow empty CKA_START_DATE
	and CKA_END_DATE.

	* src/cert-object.c (scute_attr_prv): Always set CKA_START_DATE
	and CKA_END_DATE.

2009-06-19  Werner Koch  <wk@g10code.com>

	* src/agent.c (MAX_SIGNATURE_LEN): Increase size to cope with 2048
	bit RSA.
	(scute_agent_sign): Add a hack for 2048 bit RSA.
	* tests/t-auth.c (sign_with_object): Increase SIZE to 256.

2009-06-19  Marcus Brinkmann  <marcus@g10code.de>

	* libtool.m4: Removed.
	* m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.m4,
	m4/lt~obsolete.m4: New files from libtool 2.2.6.
	* configure.ac: Update to libtool 2.2.6.
	(lt_cv_deplibs_check_method): Slightly evil hack to get libtool to
	our thing.
	(AC_DISABLE_STATIC, AC_LIBTOOL_WIN32_DLL, AC_LIBTOOL_RC)
	(AC_PROG_LIBTOOL): Obsolete, replaced by ...
	(LT_PREREQ, LT_INIT, LT_LANG): ... these new macro invocations.
	* src/Makefile.am: Remove a bunch of rules for shared library.
	(RCCOMPILE): New.
	(LTRCCOMPILE): Use it here.
	(.rc.lo): Add quoting.

2009-06-19  Werner Koch  <wk@g10code.com>

	* src/estream-printf.c, src/estream-printf.h: New.
	* src/Makefile.am (sources): Add them.
	* Makefile.am (SUBDIRS): Add m4/.
	* m4/Makefile.am: New.
	* m4/estream.m4: New.
	* configure.ac (AC_REPLACE_FUNCS): Remove.
	(estream_PRINTF_INIT): Add.
	(AH_BOTTOM):  Prefix estream fucntions.
	(AC_FUNC_REALLOC) Remove because it uses AC_LIBOBJ which as
	problems with the current libtool.  The GNU guarantees for realloc
	don't seem to be needed.

	* src/realloc.c:  Remove
	* src/vasprintf.c, src/stpcpy.c, src/stpcpy.h: Remove.
	* src/support.h: Do not include stpcpy.h but define it inline.
	Include estream-printf.h.
	(vasprintf, asprintf, snprintf): Redefine to estream functions

	* src/agent.c (scute_agent_sign): s/sprintf/vsnprintf/.

2009-06-18  Werner Koch  <wk@g10code.com>

	* src/slots.c (slot_token_manufacturer): Update list.

2009-04-23  Werner Koch  <wk@g10code.com>

	* src/error-mapping.c (scute_gpg_err_to_ck): Add mappings to
	CKR_PIN_INCORRECT and CKR_PIN_LOCKED.

2008-12-03  Marcus Brinkmann  <marcus@g10code.de>

	* configure.ac: Enable AC_CONFIGU_MACRO_DIR.
	* m4/ltsugar.m4, m4/libtool.m4, m4/ltversion.m4,
	m4/lt~obsolete.m4, m4/ltoptions.m4: New files.
	* config.guess, config.sub, ltmain.sh, configure.ac: Updated.

2008-10-29  Marcus Brinkmann  <marcus@g10code.de>

	* configure.ac (_ASSUAN_ONLY_GPG_ERRORS): Define it.
	* src/agent.c (default_inq_cb): Change return type to gpg_error_t
	to silence gcc -W warning.
	* src/cert-gpgsm.c (search_certs, export_cert_cb): Change type of
	argument to silence gcc -W warning.
	* src/p11-findobjects.c (CK_DEFINE_FUNCTION): Add explicit cast to
	silence gcc -W warning.
	* src/table.c (struct scute_table): Change signedness of
	FIRST_FREE and LAST_USED members to silence gcc -W warning.
	(scute_table_alloc): Change signedness of IDX for the same reason.
	* tests/t-getslotinfo.c, tests/t-getsessioninfo.c,
	tests/t-getmechanismlist.c, tests/t-auth.c,
	tests/t-getattribute.c, tests/t-opensession.c,
	tests/t-getslotlist.c, tests/t-getmechanisminfo.c,
	tests/t-support.h, tests/t-closeallsessions.c,
	tests/t-findobjects.c, tests/t-gettokeninfo.c: Change signedness
	of some variables to silence gcc -W warnings.

2008-10-21  Marcus Brinkmann  <marcus@g10code.com>

	* src/slots.c (slots_update_slot): Ignore card errors.

2008-10-01  Marcus Brinkmann  <marcus@g10code.com>

	* src/agent.c (agent_connect): Set assuan log stream.
	* src/p11-initialize.c: Include "debug.h".
	(C_Initialize): Call _scute_debug_init.
	* src/Makefile.am (sources): Add debug.c.
	* src/debug.c: New file.
	* src/debug.h: Rewritten.
	* src/agent.c, src/cert-gpgsm.c, src/cert-object.c,
          src/slots.c, src/error-mapping.c: More or improved or
          adjusted debug output.

2008-09-30  Marcus Brinkmann  <marcus@g10code.com>

	* src/cert-object.c [!CERT_PARSING]: Disable some certificate
	parsing code.  Unfortunately, we can't get rid of all of it for
	now.

2008-09-30  Marcus Brinkmann  <marcus@g10code.com>

	* src/get-path.c (find_program_in_inst_dir): New function.
	(get_gpgsm_path, get_gpg_agent_path): Use it to check in install dir.

2008-09-30  Werner Koch  <wk@g10code.de>

	* src/Makefile.am (scute_DEPENDENCIES): Use .libs/versioninfo.o

	* AUTHORS (License): New.

	* Makefile.am (AUTOMAKE_OPTIONS): Do not distribute a gzip tarball.
	(EXTRA_DIST): Distibute autogen.sh and README.SVN.

	* README.CVS: Replace by README.SVN.

	* configure.ac: Update bug address and some comments.
	* autogen.sh: Update.

2008-09-29  Marcus Brinkmann  <marcus@g10code.com>

	* src/gpgsm.c (struct search): New member WITH_CHAIN.
	(search_cb): Only load chain if WITH_CHAIN is true.
	(scute_gpgsm_get_cert): Call search_cb in the agent code path.

2008-09-29  Marcus Brinkmann  <marcus@g10code.com>

	* src/slots.c (MIN): Remove macro.
	(slot_token_maxpinlen, slot_token_pincount): Do not consider
	second pincount, which meaning depends on the card version.

2008-09-26  Marcus Brinkmann  <marcus@g10code.de>

	* src/agent.c: Include "cert.h".
	(GET_CERT_INIT_SIZE): New symbol.
	(struct get_cert_s): New struct.
	(get_cert_data_cb, scute_agent_get_cert): New functions.
	* src/gpgsm.c: Include "agent.h".
	(scute_gpgsm_get_cert): Take extra argument NO.  Use it to get the
	certificate directly from the card, if possible.
	* src/gpgsm.h (scute_gpgsm_get_cert): Add extra argument NO to
	prototype.
	* src/slots.c (slot_init): Pass extra argument to
	scute_gpgsm_get_cert invocation.
	* src/cert-object.c (scute_attr_prv, scute_attr_cert): Don't use
	the fpr, timestamp and expire field of a certificate for now.

2008-09-23  Marcus Brinkmann  <marcus@g10code.de>

	* src/agent.c (GET_CERT_INIT_SIZE): New symbol.
	(struct get_cert_s): New struct.
	(get_cert_data_cb, scute_agent_get_cert): New functions.

2008-09-03  Marcus Brinkmann  <marcus@g10code.com>

	* src/Makefile.am (.rc.o): New rule.

	* src/Makefile.am (EXTRA_DIST): Add stpcpy.h.

2008-09-02  Marcus Brinkmann  <marcus@g10code.com>

	* configure.ac: Post-release cleanup.
	* doc/website/download.xhtml: Update.

2008-09-02  Marcus Brinkmann  <marcus@g10code.com>

	* Released version 1.2.0.

	* doc/manual/Makefile.am (CLEANFILES): Add $(images_eps).
	(images_eps): New variable.
	(scute.dvi): Depend on $(images_eps) instead of $(images_pdf).

2008-08-23  Marcus Brinkmann  <marcus@g10code.com>

	* src/Makefile.am [HAVE_W32_SYSTEM]: Build autonomous DLL.

2008-08-23  Marcus Brinkmann  <marcus@g10code.com>

	* src/agent.c (gnupg_allow_set_foregound_window)
	[!HAVE_W32_SYSTEM]: Define it.

2008-08-23  Marcus Brinkmann  <marcus@g10code.com>

	* src/Makefile.am [HAVE_W32_SYSTEM]: Build autonomous DLL.
	* src/dllmain.c (DllMain): New file.
	* src/cert-gpgsm.c: Include "debug.h".  Use
	 assuan_pipe_connect_ext instead of assuan_pipe_connect everywhere.
	* src/agent.c (WINVER) [HAVE_W32_SYSTEM]: Define symbol.
	[HAVE_W32_SYSTEM]: Include <windows.h>.  Do this before including
	<assuan.h>.
	(gnupg_allow_set_foregound_window): New function.
	(agent_connect): Use Sleep() instead of _sleep().
	(default_inq_cb): New function, and use it in all transactions.
	(agent_configure): Don't bail out if ttytname is not defined.  Set
	allow-pinentry-notify.
	* tests/t-support.h [_WIN32]: Include <windows.h>.
	(init_cryptoki) [_WIN32]: Call WSAStartup.

2008-08-21  Marcus Brinkmann  <marcus@g10code.com>

	* src/scute.def: Start at @1 instead of @0.

2008-08-21  Marcus Brinkmann  <marcus@g10code.com>

	* src/agent.c (agent_configure): Fix cut and paste error.

2008-08-11  Marcus Brinkmann  <marcus@g10code.com>

	* src/agent.c (spawn_process_detachted) [! HAVE_W32_SYSTEM]: Remove.
	(agent_configure): Ignore error with old versions of gpg-agent.

2008-08-08  Marcus Brinkmann  <marcus@g10code.de>

	* configure.ac: Update svn macros.
	(BUILD_REVISION, BUILD_FILEVERSION, BUILD_TIMESTAMP): New.
	(AC_CONFIG_OUTPUT): Add src/versioninfo.rc.
	(GPG_AGENT_DEFAULT, GPG_AGENT): New.
	(AC_REPLACE_FUNCS): Add vasprintf and stpcpy.
	(AC_CHECK_FUNCS): Add ttyname, localtime_r and timegm.
	* src/stpcpy.h, src/stpcpy.c, src/realloc.c: New file from gnulib.
	* src/vasprintf.c: New file from libiberty.
	* src/support.h [!HAVE_STPCPY]: Include "stpcpy.h".
	[!HAVE_TTYNAME]: Define simple replacement function.
	(get_gpgsm_path, get_gpg_agent_path)
	(default_homedir, make_filename): New prototypes.
	* src/Makefile.am: Add W32 support.
	(libscute_la_SOURCES): Add get-path.c.
	(EXTRA_DIST): Add versioninfo.rc.in.
	* src/versioninfo.rc.in: New file.
	* src/get-path.c: New file.
	* src/agent.c (PATHSEP_C): New macro.
	(build_w32_commandline_copy)
	(build_w32_commandline) [HAVE_W32_SYSTEM]: New functions.
	(spawn_process_deatched): New function.
	(agent_connect): Start gpg-agent if it is not running yet.
	(agent_configure): Also pass xauthority and pinentry-user-data.
	* src/cert-gpgsm.c (COMPAT_FALLBACK) [!HAVE_W32_SYSTEM]: New
	macro.
	(export_cert_compat) [!COMPAT_FALLBACK]: Remove.
	(export_cert) [!COMPAT_FALLBACK]: Don't call export_cert_compat.
	Don't create (unused) output pipe cruft.
	* src/cert-object.c (time_to_ck_date) [!HAVE_LOCALTIME_R]: Fall
	back to localtime.
	* tests/t-getslotinfo.c (main) [WIN32]: Call _sleep instead sleep.

	* src/cryptoki.h (CRYPTOKI_EXPORTS): Define symbol.
	* src/error-mapping.h: Do not include <error.h>.
	(scute_sys_to_ck): Change type of ERR to int.
	* src/error-mapping.c: Do not include <error.h>.
	(scute_sys_to_ck): Change type of ERR to int.
	* src/slots.c (slot_create_session): Change type of ERR to int.

2007-05-03  Marcus Brinkmann  <marcus@g10code.de>

	Released version 1.1.0.

	* doc/manual/Makefile.am (images_pdf, CLEANFILES): New variables.
	(scute.dvi, scute.pdf): New dependencies.
	(%.eps, %.pdf): New rules.
	* configure.ac: Check for convert and epstopdf.

	* doc/manual/scute.texi (Authentication With Service): Avoid
	@indicateurl in TeX output, as this seems to be broken (in
	texi2dvi 1.34).

	* doc/manual/Makefile.am (images, EXTRA_DIST): New variables.

2007-04-30  Marcus Brinkmann  <marcus@g10code.de>

	* src/agent.h (scute_agent_is_trusted): New prototype.  Include
	<stdbool.h>.
	* src/agent.c (scute_agent_is_trusted): New implementation.
	* src/cert.h (struct cert): New member IS_TRUSTED.
	* src/cert-gpgsm.c (export_cert): Set CERT->is_trusted.
	* src/cert-object.c (scute_attr_cert): Set CKA_TRUSTED to
	CERT->is_trusted.
	* tests/t-getattribute.c: Support new option '--printable'.

	* src/table.c (scute_table_dealloc): Return, but not a value.

2007-02-09  Marcus Brinkmann  <marcus@g10code.de>

	* src/pkcs11.h: Add definitions for SHA.

2006-12-17  Marcus Brinkmann  <marcus@g10code.de>

	* src/pkcs11.h: Minor cosmetic changes.  Require CRYPTOKI_GNU now
	to switch on the GNU API, and do not check what CRYPTOKI_COMPAT is
	defined to, just if it is defined at all.

	* src/pkcs11.h [__WIN32]: Changed to [_WIN32 ||
	CRYPTOKI_FORCE_WIN32] at the end.
	Submitted by Alon Bar-Lev.

2006-12-11  Marcus Brinkmann  <marcus@g10code.de>

	* src/pkcs11.h (CKO_VENDOR_DEFINED): Fixed syntax error.

2006-12-10  Marcus Brinkmann  <marcus@g10code.de>

	* configure.ac (NEED_GPG_ERROR_VERSION): Bump to 1.4.

	* src/pkcs11.h [CRYPTOKI_COMPAT]: Rewrote the compatibility layer.

2006-12-09  Marcus Brinkmann  <marcus@g10code.de>

	* src/pkcs11.h [__cplusplus]: Protect with extern "C".
	Do not use the C++ keyword "template" in parameter lists.
	Submitted by Alon Bar-Lev.

	* src/pkcs11.h [__WIN32]: Changed to [_WIN32 ||
	CRYPTOKI_FORCE_WIN32].
	(ck_rv_t): Changed to unsigned long.
	(CRYPTOKI_VERSION_MAJOR, CRYPTOKI_VERSION_MINOR,
	CRYPTOKI_VERSION_REVISION): New macros.
	(CKO_VENDOR_DEFINED, CKH_VENDOR_DEFINED, CKK_VENDOR_DEFINED,
	CKC_VENDOR_DEFINED, CKA_VENDOR_DEFINED, CKM_VENDOR_DEFINED,
	CKF_EXTENSION, CKR_VENDOR_DEFINED): Add cast to suppress compiler
	warning.
	Submitted by Alon Bar-Lev.

	* src/cryptoki.h (CRYPTOKI_VERSION_MAJOR, CRYPTOKI_VERSION_MINOR):
	Removed.

2006-11-30  Marcus Brinkmann  <marcus@g10code.de>

	* m4/autobuild.m4: New file.
	* configure.ac: Invoke AB_INIT.

2006-11-29  Marcus Brinkmann  <marcus@g10code.de>

	* configure.ac (CFLAGS): Remove variable.

2006-11-27  Marcus Brinkmann  <marcus@g10code.de>

	* src/pkcs11.h: Add more definitions provided by Andreas Jellinghaus.

	* README (Copyright and License): Update copyright notice.  Also
	for all other files.
	* AUTHORS (Maintainer): Removed RSA Security Inc.
	* include/pkcs11t.h, include/pkcs11f.h, include/pkcs11.h,
	include/disclaimer.txt, include/cryptoki-w32.h,
	include/cryptoki-generic.h, include/README, include/Makefile.am:
	Files removed.
	* configure.ac (AC_CONFIG_FILES): Removed include/Makefile.
	* Makefile.am (SUBDIRS): Removed include directory.

2006-11-24  Marcus Brinkmann  <marcus@g10code.de>

	* src/pkcs11.h: New file.
	* src/Makefile.am (libscute_la_SOURCES): Add pkcs11.h.
	* src/cryptoki.h: Include "pkcs11.h" instead of original PKCS #11
	header file.
	* tests/t-support.h (mechanism_type_str): Remove most mechanisms.

2006-11-23  Marcus Brinkmann  <marcus@g10code.de>

	* src/cert-gpgsm.c (search_certs_line): Don't overwrite CERT->uid.

2006-11-21  Marcus Brinkmann  <marcus@g10code.de>

	* src/cert-gpgsm.c (search_certs_line): Fix off-by-one error.
	(export_cert_cb): Fix bug if EXP->buffer_size is 0.

	* src/cert-gpgsm.c (cert_reset): Free CERT->cert_der if set.
	(export_cert): Reimplement using data channel.
	(export_cert_compat): This contains the old version for
	compatibility.
	* src/cert.h (MAX_CERT_SIZE): Macro removed.
	(struct cert): Changed member CERT_DER into a pointer.

	* configure.ac (AC_CONFIG_FILES): Add doc/manual/Makefile.
	* doc/Makefile.am (SUBDIRS): New variable.
	* doc/manual/Makefile, doc/manual/scute.texi, doc/manual/gpl.texi,
	doc/manual/mdate-sh, doc/manual/texinfo.tex,
	doc/manual/firefox-cm.png, doc/manual/firefox-cm-view-detail.png,
	doc/manual/firefox-cm-view.png,
	doc/manual/firefox-dm-load-after.png,
	doc/manual/firefox-dm-load-before.png,
	doc/manual/firefox-dm-load.png,
	doc/manual/firefox-dm-token-present.png,
	doc/manual/firefox-pref.png, doc/manual/firefox-pref-view.png: New
	files.

2006-11-11  Marcus Brinkmann  <marcus@g10code.de>

	* Released version 1.0.0.

2006-11-11  Marcus Brinkmann  <marcus@g10code.de>

	* src/error-mapping.c (scute_gpg_err_to_ck): Report error on debug
	stream.
	* src/slots.c (add_object): New function.
	(slot_init): Rewritten using add_object.
	* src/gpgsm.c: Include "gpgsm.h".
	(struct search): Replace members ATTRP, ATTR_COUNTP, PRV_ATTRP,
	PRV_ATTR_COUNTP by CERT_GET_CB, HOOK.
	(search_cb): Rewritten to add all certificates for a certain key
	(scute_gpgsm_get_cert): Take a callback function instead of
	attribute pointers.
	* gpgsm.h (scute_gpgsm_get_cert): Adjust prototype.
	and also the certificate chain.
	* src/cert.h (scute_gpgsm_search_certs_by_fpr): New prototype.
	(struct cert): New member chain_id.
	* src/cert-gpgsm.c (struct search_ctx_by_grip): Rename to ...
	(struct search_ctx): ... this.  Rename field GRIP to PATTERN, and
	add new field FIELD.
	(search_certs_by_grip): Rename function to ...
	(search_certs): ... this.
	(scute_gpgsm_search_certs_by_fpr): Change user of the above.
	(scute_gpgsm_search_certs_by_fpr): New function.
	(search_certs_line): Store chain ID.

2006-11-07  Marcus Brinkmann  <marcus@g10code.de>

	* src/p11-gettokeninfo.c (C_GetTokenInfo): Fix assignment.

2006-11-06  Marcus Brinkmann  <marcus@g10code.de>

	* doc/website/format/web.css: Set margin to 0.

	* configure.ac (AC_CONFIG_FILES): Add doc/Makefile.
	Makefile.am (SUBDIRS): Add doc/.
	doc/, doc/website/, doc/website/format: New directories.
	doc/Makefile.am, doc/website/index.xhtml,
	doc/website/documentation.xhtml, doc/website/download.xhtml,
	doc/website/contact.xhtml, doc/website/format/web.css,
	doc/website/format/scute-logo.svg,
	doc/website/format/scute-border.jpg: New files.

2006-10-30  Marcus Brinkmann  <marcus@g10code.de>

	* configure.ac (PACKAGE, VERSION): Define these variables.
	* src/Makefile.am (libscute_la_CPPFLAGS): Fix include path for
	VPATH builds.

	* configure.ac (VERSION_MAJOR, VERSION_MINOR): New variable
	definitions.
	* src/gpgsm.h: Fix syntax error.
	* src/table.c, src/table.h: Rewritten.
	* src/slots.c: Reorganized and rewritten to use the new table
	interface.  Include gpgsm.h.
	* src/p11-signinit.c, src/p11-sign.c, src/p11-getslotlist.c,
	src/p11-getsessioninfo.c, src/p11-getmechanismlist.c,
	src/p11-getattributevalue.c, src/p11-findobjectsinit.c,
	src/p11-findobjectsfinal.c, src/p11-findobjects.c,
	src/p11-closesession.c: Adjust callers.

2006-10-26  Marcus Brinkmann  <marcus@g10code.de>

	* src/settings.h: Require VERSION_MAJOR and VERSION_MINOR to be
	defined.

	* src/p11-getinfo.c (CRYPTOKI_VERSION_MAJOR,
	CRYPTOKI_VERSION_MINOR): Move macros to ...
	* src/cryptoki.h (CRYPTOKI_VERSION_MAJOR, CRYPTOKI_VERSION_MINOR):
	... here

	* src/gpgsm.c (gpgsm_get_cert): Rename to ...
	(scute_gpgsm_get_cert): ... this.
	* src/gpgsm.h: New file.
	* src/Makefile.am (libscute_la_SOURCES): Add gpgsm.h.
	* src/slots.c (gpgsm_get_cert): Remove prototype.
	(slots_update_slot): Call scute_gpgsm_get_cert, not gpgsm_get_cert.

	* src/error-mapping.c (scute_gpg_err_to_ck): Map GPG_ERR_NO_AGENT
	to CKR_GENERAL_ERROR.
	* src/agent.h (struct agent_card_info_s): Remove member error.
	Prefix external functions with scute_ if not already done so, also
	for callers.
	* src/agent.c: Include <stdarg.h>.  Replace one-letter variable
	names by proper ones.  Replace assuan_error_t with gpg_error_t
	everywhere.
	(agent_connect, agent_simple_cmd, agent_configure): New functions.
	(scute_agent_initialize): Use these new functions.
	ing of common code.  Lots of cleanups.
	(scute_agent_finalize): Clear agent_ctx.  Add debug message.

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

	* src/cert-gpgsm.c (MAX_LINE_LEN): Increased.

	* src/locking.c: Include string.h for memset declaration.

	* configure.ac: New option --disable-optimization.

2006-08-02  Marcus Brinkmann  <marcus@g10code.de>

	* Initial version.


 Copyright 2006, 2007, 2008 g10 Code GmbH

 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.
