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.
