Replace use stdio by estream functions.
[gnupg.git] / scd / ChangeLog
index 70972c2..91694a0 100644 (file)
@@ -1,3 +1,269 @@
+2009-12-15  Werner Koch  <wk@g10code.com>
+
+       * iso7816.c (do_generate_keypair): s/readonly/read_only/ because
+       the first is a keyword in VMS C.
+
+2009-12-03  Werner Koch  <wk@g10code.com>
+
+       * scdaemon.c (set_debug): Allow for numerical debug leveles.  Print
+       active debug flags.
+
+2009-11-25  Marcus Brinkmann  <marcus@g10code.de>
+
+       * command.c (scd_command_handler): Use assuan_fd_t and
+       assuan_fdopen on fds.
+
+2009-11-05  Marcus Brinkmann  <marcus@g10code.de>
+
+       * command.c (scd_command_handler): Call assuan_init_socket_server,
+       not assuan_init_socket_server_ext.
+
+2009-11-04  Werner Koch  <wk@g10code.com>
+
+       * command.c (register_commands): Add help arg to
+       assuan_register_command.  Add help strings to all commands.
+
+2009-11-02  Marcus Brinkmann  <marcus@g10code.de>
+
+       * command.c (reset_notify): Take LINE arg and return error.
+       (register_commands): Use assuan_handler_t type.
+
+2009-10-25  Werner Koch  <wk@g10code.com>
+
+       * scdaemon.c (scd_deinit_default_ctrl): Release IN_DATA.
+       * command.c (cmd_setdata): Release IN_DATA.  Reported by Klaus
+       Flittner.
+
+2009-10-16  Marcus Brinkmann  <marcus@g10code.com>
+
+       * AM_CFLAGS, scdaemon_LDADD: Use libassuan instead of libassuan-pth.
+       * scdaemon.c: Invoke ASSUAN_SYSTEM_PTH_IMPL.
+       (main): Call assuan_set_system_hooks and assuan_sock_init.
+
+2009-09-23  Marcus Brinkmann  <marcus@g10code.de>
+
+       * command.c: Include "scdaemon.h" before <assuan.h> because of
+       GPG_ERR_SOURCE_DEFAULT check.
+       (option_handler, open_card, cmd_serialno, cmd_lean, cmd_readcert)
+       (cmd_readkey, cmd_setdata, cmd_pksign, cmd_pkauth, cmd_pkdecrypt)
+       (cmd_getattr, cmd_setattr, cmd_writecert, cmd_writekey)
+       (cmd_genkey, cmd_random, cmd_passwd, cmd_checkpin, cmd_lock)
+       (cmd_unlock, cmd_getinfo, cmd_restart, cmd_disconnect, cmd_apdu)
+       (cmd_killscd): Return gpg_error_t instead of int.
+       (scd_command_handler): Allocate assuan context before starting server.
+       * scdaemon.c (main): Update to new Assuan API.
+
+2009-09-03  Werner Koch  <wk@g10code.com>
+
+       * app-openpgp.c (do_decipher): Compute required Le.
+       * iso7816.c (iso7816_decipher): Add new arg LE.
+       * app-nks.c (do_decipher): Adjust for change.
+
+       * iso7816.c (iso7816_put_data, iso7816_put_data_odd): Turn DATA
+       into a void ptr.
+
+2009-08-05  Werner Koch  <wk@g10code.com>
+
+       * app-openpgp.c (change_keyattr_from_string): New.
+       (do_setattr): Support KEY-ATTR.
+
+2009-07-29  Marcus Brinkmann  <marcus@g10code.com>
+
+       * ccid-driver.c (print_pr_data): Fix 64 bit compat problem.
+
+2009-07-24  Werner Koch  <wk@g10code.com>
+
+       * ccid-driver.c (parse_ccid_descriptor): Enable hack for SCR 3320.
+
+2009-07-21  Werner Koch  <wk@g10code.com>
+
+       * ccid-driver.c [HAVE_PTH]: Include pth.h.
+       (my_sleep): New.
+       (bulk_in): s/gnupg_sleep/my_sleep/.
+
+2009-07-20  Werner Koch  <wk@g10code.com>
+
+       * apdu.c [GNUPG_MAJOR_VERSION==1]: Include dynload.h.
+
+2009-07-16  Werner Koch  <wk@g10code.com>
+
+       * command.c (update_reader_status_file): Test for unplugged reader.
+       (TEST_CARD_REMOVAL): Ditto.
+       * app.c (select_application): Ditto.
+       * ccid-driver.c (bulk_out): Return CCID_DRIVER_ERR_NO_READER if a
+       reader was unplugged.
+       (struct ccid_driver_s): Turn nonnull_nad into an unsigned char.
+       Turn apdu_level, auto_ifsd, powered_off, has_pinpad into
+       bitfields. Add enodev_seen.
+       * apdu.c (apdu_prepare_exit): New.
+       (get_status_ccid): Return the status word and nut just -1.
+       * scdaemon.c (scd_exit): Call it.
+
+2009-07-13  Werner Koch  <wk@g10code.com>
+
+       * ccid-driver.c (struct ccid_driver_s): Add fields last_progress,
+       progress_cb and progress_cb_arg.
+       (ccid_set_progress_cb): New.
+       (print_progress): New.
+       (ccid_transceive): Call print_progress for wait time extensions.
+       * apdu.c (struct reader_table_s): Add field set_progress_cb.
+       (new_reader_slot): Clear that field.
+       (open_ccid_reader): Set it to ..
+       (set_progress_cb_ccid_reader): ... new fucntion.
+       * app.c (print_progress_line): New.
+       (lock_reader): Add arg CTRL to set a progress callback and
+       change all callers to provide it.
+       (unlock_reader): Remove the progress callback.
+
+2009-07-10  Werner Koch  <wk@g10code.com>
+
+       * iso7816.c (iso7816_compute_ds): Add args EXTENDED_MODE and LE.
+       Change all callers to use 0.
+       (iso7816_internal_authenticate): Add args EXTENDED_MODE and LE.
+       * app-openpgp.c (do_sign): Take exmode and Le from card
+       capabilities and pass them to iso7816_compute_ds.
+       (do_auth): Ditto for iso7816_internal_authenticate.
+       (change_keyattr): Reset CHV verification status.
+
+2009-07-09  Werner Koch  <wk@g10code.com>
+
+       * app-openpgp.c (change_keyattr): New.
+       (do_writekey): Call it.
+       
+       * app-openpgp.c (does_key_exist): Add arg GENERATING.  Change
+       callers.
+
+2009-06-30  Werner Koch  <wk@g10code.com>
+
+       * ccid-driver.c (ccid_transceive): Set RESYNCING flag.
+
+2009-06-29  Werner Koch  <wk@g10code.com>
+
+       * ccid-driver.c (ccid_transceive): Add a hack to support extended
+       length for Omnikey readers.
+       (is_exlen_apdu): New.
+       (parse_ccid_descriptor): Track short+extended apdu exchange level.
+
+2009-06-18  Werner Koch  <wk@g10code.com>
+
+       * app-openpgp.c (verify_chv2): Remove special case for v2 cards.
+       (get_public_key): Use extended mode.
+
+2009-06-17  Werner Koch  <wk@g10code.com>
+
+       * iso7816.c (iso7816_get_data): Add arg EXTENDED_MODE.  Change all
+       callers.
+       * app-openpgp.c (data_objects): Use bit flags.  Add flag
+       TRY_EXTLENGTH.
+       (get_cached_data): Add arg TRY_EXTLEN and use it for iso7816_get_data.
+       (get_one_do): Use extended length APDU if necessary.
+
+2009-06-10  Werner Koch  <wk@g10code.com>
+
+       * app-openpgp.c (store_fpr): Change first arg to app_t; adjust
+       callers.  Flush the cache.
+
+2009-06-09  Werner Koch  <wk@g10code.com>
+
+       * app-openpgp.c (do_readcert): Return NOT_FOUND if the retrieved
+       data has a length of zero.
+       (do_getattr): Add EXTCAP subkey "sm".
+
+2009-05-20  Werner Koch  <wk@g10code.com>
+
+       * app-openpgp.c (verify_chv2): Add case for v2 cards.
+       (verify_chv3): Factor some code out to ..
+       (build_enter_admin_pin_prompt): .. new.
+       (do_change_pin): Properly handle v2 cards.
+
+2009-05-19  Werner Koch  <wk@g10code.com>
+
+       * scdaemon.c (create_server_socket): Use SUN_LEN.
+       (JNLIB_NEED_AFLOCAL): Define.
+
+2009-05-13  Werner Koch  <wk@g10code.com>
+
+       * ccid-driver.c (abort_cmd): Add arg SEQNO and change callers.
+       (bulk_in): Retry on seqno mismatch.
+
+       * apdu.c (send_le): Release result_buffer.
+       (apdu_send_direct): Implemend extended length.
+       * command.c (cmd_apdu): Add option "--exlen".
+
+2009-05-11  Werner Koch  <wk@g10code.com>
+
+       * apdu.c (send_le): Replace log_error by log_info.
+
+2009-05-08  Werner Koch  <wk@g10code.com>
+
+       * app-openpgp.c (do_genkey): Allow larger key sizes.
+       (do_decipher): Ditto.
+       * iso7816.c (do_generate_keypair): Add arg EXTENDED_MODE an LE.
+       (iso7816_generate_keypair, iso7816_read_public_key): Ditto.
+       Changed all callers.
+       * apdu.c (send_le): Implement extended length return values.
+
+       * ccid-driver.c (bulk_in): Retry on EAGAIN.
+       (abort_cmd): Change seqno handling.
+
+2009-04-28  Werner Koch  <wk@g10code.com>
+
+       * app-help.c (app_help_count_bits): New.
+
+       * app-nks.c (switch_application): Detect mass signature cards.
+       Take care of new NEED_APP_SELECT flag.
+       (do_sign): Don't allow mass signature cards.
+       (all_zero_p): New.
+       (do_readkey): New.
+       (app_select_nks): Register do_readkey.
+
+2009-04-01  Werner Koch  <wk@g10code.com>
+
+       * app-openpgp.c (do_setattr, do_writekey): Prepare for extended
+       length cards.
+
+2009-03-31  Werner Koch  <wk@g10code.com>
+
+       * command.c (percent_plus_unescape): Remove.
+       (cmd_setattr): Use percent_plus_unescape_inplace.
+
+2009-03-30  Werner Koch  <wk@g10code.com>
+
+       * app-nks.c (do_decipher): Make it work for TCOS 3.
+       * iso7816.c (iso7816_decipher): Add arg EXTENDED_MODE.
+       * apdu.c (apdu_send): Add arg EXTENDED_MODE and change all callers.
+       (apdu_send_le):  Ditto. 
+       (apdu_send_direct): Ditto, but not yet functional.
+       (send_le): Fix command chaining.  Implement extended length option.
+       * ccid-driver.c (ccid_transceive): Remove restriction on apdu length.
+       (struct ccid_driver_s): Add field IFSC.
+       (ccid_get_atr): Set IFSC.
+       (ccid_transceive): Use negotiated IFSC and support S(IFS) command.
+
+2009-03-26  Werner Koch  <wk@g10code.com>
+
+       * command.c (cmd_pksign): Allow more hash algorithms.
+
+       * scdaemon.h (MAX_DIGEST_LEN): Change to 64.
+
+       * apdu.c (open_ccid_reader): Clear the is_to flag.
+
+       * app-nks.c (filelist): Add field KID.
+       (do_getattr): Change standard authentication key.
+       (do_sign): Setup a security environment for TCOS 3 cards and support
+       all SHA-2 algorithms.
+
+2009-03-24  Werner Koch  <wk@g10code.com>
+
+       * command.c (struct server_local_s): Add flag
+       APP_CTX_MARKED_FOR_RELEASE.
+       (do_reset): Set the flag.
+       (open_card): Act on this flag.
+       * app-common.h (struct app_ctx_s): Add flag NO_REUSE.
+       (application_notify_card_reset): Set the flag.
+       * app.c (select_application, release_application): Take care of
+       that flag.
+
 2009-03-20  Werner Koch  <wk@g10code.com>
 
        * app-nks.c (keygripstr_from_pk_file): Fix for TCOS 3 cards.