forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2477 lines
83 KiB
2477 lines
83 KiB
2013-02-15 Niibe Yutaka <[email protected]> |
|
|
|
* Version 1.0.2. |
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
|
|
2013-02-14 Niibe Yutaka <[email protected]> |
|
|
|
* test/features/002_get_data_static.feature: Value of extended |
|
capabilities changed. |
|
* test/features/402_get_data_static.feature: Ditto. |
|
* test/features/802_get_data_static.feature: Ditto. |
|
|
|
* src/openpgp.c (cmd_write_binary): Move erasing page of update |
|
keys to... |
|
(modify_binary): ...here. |
|
|
|
* src/flash.c (flash_write_binary): Handle removal of update keys. |
|
|
|
2013-02-13 Niibe Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (cmd_get_challenge): Handle Le field. |
|
|
|
* src/openpgp-do.c (extended_capabilities): Fix for GET CHALLENGE. |
|
|
|
* src/gnuk.h (CHALLENGE_LEN): Moved here (was: openpgp.c). |
|
|
|
* tool/gnuk_token.py (iso7816_compose): Add Le field. |
|
|
|
2013-01-30 Niibe Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (cmd_external_authenticate): Fix off-by-one error. |
|
|
|
* tool/gnuk_token.py (gnuk_token.cmd_external_authenticate): Add |
|
KEYNO to the arguments. |
|
|
|
* tool/upgrade_by_passwd.py (main): Explicitly say it's KEYNO. |
|
|
|
2013-01-28 Niibe Yutaka <[email protected]> |
|
|
|
* src/openpgp-do.c (gpg_pw_get_retry_counter): New. |
|
* src/openpgp.c (cmd_verify): Implement VERIFY with empty data. |
|
|
|
2013-01-22 Niibe Yutaka <[email protected]> |
|
|
|
* tool/pinpadtest.py (Card.cmd_vega_alpha_disable_empty_verify): |
|
New. |
|
(main): call cmd_vega_alpha_disable_empty_verify if it's |
|
COVADIS_VEGA_ALPHA. |
|
|
|
2013-01-21 Niibe Yutaka <[email protected]> |
|
|
|
* tool/pageant_proxy_to_gpg.py: New. |
|
* tool/sexp.py: New. |
|
|
|
2013-01-20 Niibe Yutaka <[email protected]> |
|
|
|
* tool/gpg_agent.py: New. |
|
|
|
2013-01-11 Niibe Yutaka <[email protected]> |
|
|
|
* tool/pinpadtest.py: Add fixed length input. |
|
|
|
2012-12-25 Niibe Yutaka <[email protected]> |
|
|
|
* tool/rsa.py: New. |
|
|
|
* tool/rsa_example.key: New. Example RSA key information. |
|
|
|
* tool/upgrade_by_passwd.py: New. |
|
|
|
2012-12-19 Niibe Yutaka <[email protected]> |
|
|
|
* src/Makefile.in (USE_OPT): -O3 and -Os (was: -O2). |
|
|
|
* tool/gnuk_token.py (gnuk_token.stop_gnuk, gnuk_token.mem_info) |
|
(gnuk_token.download, gnuk_token.execute) |
|
(gnuk_token.cmd_get_challenge) |
|
(gnuk_token.cmd_external_authenticate): New. |
|
(gnuk_devices_by_vidpid): New. |
|
(regnual): New. |
|
|
|
2012-12-18 Niibe Yutaka <[email protected]> |
|
|
|
* test/gnuk.py: Remove. |
|
|
|
* test/features/steps.py: Use tool/gnuk_token.py. |
|
|
|
* tool/gnuk_put_binary_libusb.py: Use gnuk_token.py. |
|
(main): Follow the API change. |
|
|
|
* tool/gnuk_token.py (list_to_string): New. |
|
(gnuk_token.get_string, gnuk_token.increment_seq) |
|
(gnuk_token.reset_device, gnuk_token.release_gnuk): New. |
|
(gnuk_token.icc_power_on): Set self.atr and it's now string. |
|
(gnuk_token.icc_send_cmd): Handle time extension. |
|
(gnuk_token.cmd_get_response): Return string (was: list). |
|
(gnuk_token.cmd_get_data): Return "" when success. |
|
(gnuk_token.cmd_change_reference_data, gnuk_token.cmd_put_data) |
|
(gnuk_token.cmd_put_data_odd) |
|
(gnuk_token.cmd_reset_retry_counter, gnuk_token.cmd_pso) |
|
(gnuk_token.cmd_pso_longdata) |
|
(gnuk_token.cmd_internal_authenticate, gnuk_token.cmd_genkey) |
|
(gnuk_token.cmd_get_public_key): New. |
|
(compare): New. |
|
(get_gnuk_device): New. |
|
|
|
2012-12-14 Niibe Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (cmd_change_password): Check password length |
|
for admin less mode. |
|
|
|
2012-12-13 Niibe Yutaka <[email protected]> |
|
|
|
* src/openpgp-do.c (gpg_do_put_data): Add GPG_SUCCESS for |
|
completeness (it worked because of lower layer goodness). |
|
|
|
2012-12-12 Niibe Yutaka <[email protected]> |
|
|
|
* tool/gnuk_token.py: Add module imports. |
|
|
|
* tool/gnuk_remove_keys.py (main): Fix data object number |
|
for KGTIME_SIG, KGTIME_DEC and KGTIME_AUT. |
|
|
|
* tool/gnuk_remove_keys_libusb.py (main): Likewise. |
|
|
|
2012-12-05 Niibe Yutaka <[email protected]> |
|
|
|
* tool/gnuk_remove_keys_libusb.py: New. |
|
* tool/gnuk_token.py: New. |
|
|
|
2012-11-07 Niibe Yutaka <[email protected]> |
|
|
|
* src/usb-icc.c (icc_send_data_block_internal): New. |
|
(icc_send_data_block_time_extension): New. |
|
(icc_handle_timeout): Use icc_send_data_block_time_extension. |
|
(icc_send_data_block): Only one argument. |
|
(USBthread): Follow the change. |
|
|
|
2012-11-01 Niibe Yutaka <[email protected]> |
|
|
|
* tool/gnuk_upgrade.py (main): New option '-k' to specify keygrip |
|
for non-smartcard key. |
|
(gpg_sign): Support non-smartcard key. |
|
|
|
2012-10-31 Niibe Yutaka <[email protected]> |
|
|
|
* tool/get_raw_public_key.py: New. |
|
|
|
2012-10-26 Niibe Yutaka <[email protected]> |
|
|
|
* GNUK_USB_DEVICE_ID (Product_STRING): It's considered better not |
|
to include vendor name. Change the name to "Gnuk Token" (was: |
|
FSIJ USB Token). |
|
|
|
2012-10-13 Niibe Yutaka <[email protected]> |
|
|
|
* boards/STBEE_MINI/board.c [!DFU_SUPPORT] (hwinit1): Don't run |
|
when "user switch" is pushed. This is for JTAG/SWD debugger. |
|
|
|
2012-09-25 Niibe Yutaka <[email protected]> |
|
|
|
* tool/stlinkv2.py (main): Print out option bytes value. |
|
Call reset_sys before blank_check. |
|
|
|
2012-09-18 Niibe Yutaka <[email protected]> |
|
|
|
* tool/stlinkv2.py (stlinkv2.option_bytes_erase) |
|
(stlinkv2.flash_erase_all, stlinkv2.flash_erase_page): : Fix |
|
OperationFailure (was OperationError). |
|
(main): Call option_bytes_erase if it's not 0xff. |
|
|
|
2012-09-12 Niibe Yutaka <[email protected]> |
|
|
|
* src/sha256.c: Include <stdint.h>. |
|
|
|
* src/sha256.h (SHA256_DIGEST_SIZE, SHA256_BLOCK_SIZE): Move |
|
from sha256.c. |
|
|
|
2012-08-29 Niibe Yutaka <[email protected]> |
|
|
|
* tool/hub_ctrl.py (__main__): Fix to busnum (was: bunum). |
|
Thanks to Henry Hu. |
|
|
|
2012-08-03 Niibe Yutaka <[email protected]> |
|
|
|
* Version 1.0.1. |
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
* src/main.c (ID_OFFSET): Fix. |
|
|
|
2012-08-02 Niibe Yutaka <[email protected]> |
|
|
|
* test/gnuk.py (gnuk_token.get_string): New. |
|
* test/features/991_version_string.feature: New. |
|
|
|
2012-07-21 Niibe Yutaka <[email protected]> |
|
|
|
* Version 1.0. |
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
|
|
Documentation by Sphinx. |
|
* doc/Makefile: New. |
|
* doc/note: Old notes are moved here. |
|
|
|
2012-07-20 Niibe Yutaka <[email protected]> |
|
|
|
* test/features/002_get_data_static.feature: Support CERTDO enabled |
|
Gnuk for the test of extended capabilities. |
|
* test/features/802_get_data_static.feature: Ditto. |
|
* test/features/402_get_data_static.feature: Ditto. |
|
|
|
2012-07-10 Niibe Yutaka <[email protected]> |
|
|
|
* test/features/*: Add test cases for PW1/PW3 of factory settings. |
|
|
|
* test/features/202_keygen.feature: Add PSO signature test after |
|
keygen. |
|
* test/features/602_keygen.feature: Ditto. |
|
|
|
Bug fix. |
|
* src/openpgp-do.c (gpg_do_write_prvkey): Don't call ac_reset_* |
|
here. |
|
(proc_key_import): But call ac_reset_* here. |
|
(gpg_do_keygen): Load private key for signing. |
|
|
|
* tool/stlinkv2.py (stlinkv2.usb_disconnect): New. |
|
|
|
2012-07-09 Niibe Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (cmd_pso): For decryption, return error sooner for |
|
invalid data. |
|
|
|
* tool/stlinkv2.py (stlinkv2.setup_gpio): Fix GPIOB_CRL. |
|
|
|
* test/rsa_keys.py (integer_to_bytes_256): Rename from |
|
integer_to_bytes and it should be exactly 256-byte long. |
|
|
|
2012-07-06 Niibe Yutaka <[email protected]> |
|
|
|
* Version 0.21. |
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
|
|
* boards/FST_01/board.h (VAL_GPIOACRL): Change for SPI flash. |
|
* tool/stlinkv2.py (stlinkv2.setup_gpio): Likewise. |
|
(stlinkv2.spi_flash_init, stlinkv2.spi_flash_select) |
|
(stlinkv2.spi_flash_sendbyte, stlinkv2.spi_flash_read_id): New. |
|
(main): Add SPI flash ROM id check. |
|
|
|
2012-07-05 Niibe Yutaka <[email protected]> |
|
|
|
* src/call-rsa.c (rsa_sign, rsa_decrypt): Don't need to setup N. |
|
|
|
* polarssl-0.14.0/library/rsa.c (rsa_check_pubkey) |
|
(rsa_check_privkey): Ifdef-out. |
|
|
|
More tests. |
|
* test/*: Add tests for admin-less mode. |
|
* test/features/990_reset_passphrase.feature: This is now for |
|
admin-less mode. |
|
* test/features/970_key_removal.feature: Ditto. |
|
|
|
* src/openpgp.c (cmd_change_password): Call ac_reset_admin when |
|
admin-less mode. |
|
(cmd_reset_user_password): Likewise. |
|
|
|
* src/ac.c (ac_reset_admin, ac_fini): Clear ADMIN_AUTHORIZED. |
|
|
|
Bug fix. |
|
* src/ac.c (verify_admin): Call s2k with ADMIN_AUTHORIZED. |
|
|
|
2012-07-04 Niibe Yutaka <[email protected]> |
|
|
|
Bug fixes. |
|
* src/ac.c (verify_admin_0): Compare PW_LEN and BUF_LEN. |
|
|
|
* src/openpgp-do.c (gpg_do_chks_prvkey): Set do_ptr to NULL before |
|
calling flash_do_write (which might cause GC). |
|
(gpg_do_put_data, gpg_do_write_simple): Likewise. |
|
|
|
* src/openpgp.c (cmd_reset_user_password): Write to |
|
DO_KEYSTRING_PW1. |
|
|
|
2012-07-03 Niibe Yutaka <[email protected]> |
|
|
|
* test/features/040_passphrase_change.feature: New. |
|
* test/features/203_passphrase_change.feature: New. |
|
* test/features/210_compute_signature.feature: Rename (was: |
|
203_compute_signature.feature) |
|
* test/features/211_decryption.feature: Rename (was: |
|
204_decryption.feature) |
|
|
|
2012-07-02 Niibe Yutaka <[email protected]> |
|
|
|
* tool/stlinkv2.py (stlinkv2.__init__): Don't call setAltInterface. |
|
|
|
2012-06-30 Niibe Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (s2k): New. |
|
(resetcode_s2k): Remove. |
|
(cmd_reset_user_password, cmd_change_password): Use s2k (was: |
|
sha256 directly or resetcode_s2k). |
|
* src/openpgp-do.c (proc_resetting_code, gpg_do_write_prvkey): |
|
Likewise. |
|
* src/ac.c (verify_user_0, verify_admin): Likewise. |
|
|
|
2012-06-29 Niibe Yutaka <[email protected]> |
|
|
|
* regnual/Makefile: Don't copy usb_lld.c. |
|
|
|
2012-06-28 Niibe Yutaka <[email protected]> |
|
|
|
* test/features/204_decryption.feature: New. |
|
* test/features/203_compute_signature.feature: New. |
|
* test/features/202_keygen.feature: New. |
|
* test/features/201_setup_passphrase.feature: New. |
|
* test/features/200_key_removal.feature: New. |
|
|
|
* test/rsa_keys.py (verify_signature): New. |
|
(encrypt_with_pubkey): New. |
|
|
|
* test/gnuk.py (gnuk_token): New method: increment_seq. |
|
(gnuk_token.icc_send_cmd): Handle timeout. |
|
(gnuk_token.cmd_genkey): New. |
|
(gnuk_token.cmd_get_public_key): New. |
|
|
|
2012-06-27 Niibe Yutaka <[email protected]> |
|
|
|
* test/features/101_decryption.feature: New. |
|
* test/features/100_compute_signature.feature: New. |
|
|
|
* src/openpgp-do.c (gpg_do_chks_prvkey): Call flash_do_release before |
|
flash_do_write. |
|
(gpg_do_write_prvkey): Bug fix when GC occurs. |
|
|
|
* src/openpgp.c (cmd_change_password): Support resetting to |
|
factory setting of PW3. |
|
|
|
* src/openpgp-do.c (gpg_do_write_prvkey): Don't reset signagure |
|
counter here. |
|
(proc_key_import): But reset here. |
|
Call ac_reset_* when key is imported. |
|
|
|
2012-06-26 Niibe Yutaka <[email protected]> |
|
|
|
* test: New. |
|
|
|
2012-06-25 Niibe Yutaka <[email protected]> |
|
|
|
* tool/usb_strings.py: New. |
|
|
|
2012-06-22 Niibe Yutaka <[email protected]> |
|
|
|
* tool/stlinkv2.py (stlinkv2.blank_check): Add blank check of |
|
Flash ROM. |
|
|
|
2012-06-21 Niibe Yutaka <[email protected]> |
|
|
|
* tool/asm-thumb/blank_check.S: New. |
|
|
|
2012-06-20 Niibe Yutaka <[email protected]> |
|
|
|
ST-Link/V2 flash ROM writer. |
|
* tool/stlinkv2.py: New. |
|
* tool/asm-thumb/opt_bytes_write.S: New. |
|
* tool/asm-thumb/flash_write.S: New. |
|
|
|
2012-06-19 Niibe Yutaka <[email protected]> |
|
|
|
* Version 0.20. |
|
|
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
|
|
2012-06-18 Niibe Yutaka <[email protected]> |
|
|
|
LED display output change. |
|
* src/main.c (MAIN_TIMEOUT_INTERVAL): New. |
|
(LED_TIMEOUT_INTERVAL, etc.): New values. |
|
(main_mode, display_interaction): Remove. |
|
(led_inverted, emit_led): New. |
|
(display_status_code): Use emit_led. |
|
(led_blink): Use LED_* for SPEC. |
|
(main, fatal): New LED display output. |
|
* src/gnuk.h (LED_ONESHOT, LED_TWOSHOTS, LED_SHOW_STATUS) |
|
(LED_START_COMMAND, LED_FINISH_COMMAND, LED_FATAL): New semantics. |
|
(main_thread): Remove. |
|
* src/openpgp-do.c (gpg_do_keygen): Don't touch LED here. |
|
* src/openpgp.c (get_pinpad_input): Call led_blink. |
|
(cmd_pso, cmd_internal_authenticate): Don't touch LED here. |
|
(GPGthread): Call led_blink. |
|
* src/pin-cir.c (pinpad_getline): Change arg of led_blink. |
|
* src/pin-dnd.c (pinpad_getline): Ditto. |
|
* src/usb-icc.c (icc_handle_timeout): Ditto. |
|
(icc_send_status): Call led_blink. |
|
* src/usb_ctrl.c (gnuk_usb_event): Don't touch LED here. |
|
|
|
2012-06-16 Niibe Yutaka <[email protected]> |
|
|
|
Use SHA256 format for "external authenticate". |
|
* tool/gnuk_upgrade.py (gpg_sign): SHA256 sign by "SCD PKAUTH". |
|
(main): Not specify keygrip, but always use key for authentication. |
|
* src/call-rsa.c (rsa_verify): It is SHA256 format (was: SHA1). |
|
* src/openpgp.c (cmd_get_challenge): Don't add chip-id prefix. |
|
(cmd_external_authenticate): Likewise. |
|
|
|
2012-06-15 Niibe Yutaka <[email protected]> |
|
|
|
* src/random.c (random_bytes_free): Clear out random bytes. |
|
|
|
More protection improvements. |
|
* src/random.c (RANDOM_BYTES_LENGTH): It's 32 now (was: 16). |
|
* src/gnuk.h (struct key_data_internal): Remove check, random, |
|
magic. Add checksum. |
|
(struct prvkey_data): Remove crm_encrypted. Add iv and |
|
checksum_encrypted. |
|
* src/openpgp-do.c (encrypt, decrypt): Add IV argument. |
|
(encrypt_dek, decrypt_dek): New. It's in ECB mode. |
|
(compute_key_data_checksum): New. |
|
(gpg_do_load_prvkey): Handle initial vector and checksum. |
|
Use decrypt_dek to decrypt DEK. Clear DEK after use. |
|
(calc_check32):Remove. |
|
(gpg_do_write_prvkey): Use encrypt_dek to encrypt DEK. |
|
(gpg_do_chks_prvkey): Likewise. |
|
|
|
* polarssl-0.14.0/include/polarssl/aes.h (aes_crypt_cbc) |
|
* polarssl-0.14.0/library/aes.c (aes_crypt_cbc): ifdef-out. |
|
|
|
* src/configure (--enable-pinpad): Deprecate DND. |
|
|
|
2012-06-14 Niibe Yutaka <[email protected]> |
|
|
|
Protection improvement. |
|
* src/openpgp.c (resetcode_s2k): New. |
|
(cmd_reset_user_password): Use resetcode_s2k. |
|
* src/openpgp-do.c (proc_resetting_code): Likewise. |
|
|
|
* src/sha256.c (sha256_finish): Clear out CTX at the end. |
|
|
|
* src/call-rsa.c (rsa_sign, rsa_decrypt, rsa_verify): Use |
|
mpi_lset (was: mpi_read_string). |
|
* polarssl-0.14.0/library/bignum.c (mpi_get_digit) |
|
(mpi_read_string): ifdef-out. |
|
|
|
KDF is now SHA-256 (was: SHA1). |
|
* src/sha256.c: New file. Based on the implementation by Dr Brian |
|
Gladman. |
|
* src/openpgp.c (cmd_change_password, cmd_reset_user_password): |
|
Use sha256. |
|
* src/openpgp-do.c (proc_resetting_code, gpg_do_write_prvkey): Likewise. |
|
* src/ac.c (verify_user_0, calc_md, verify_admin): Likewise. |
|
* src/crypt.mk (CRYPTSRC): Add sha256.c, removing sha1.c. |
|
* src/gnuk.h (KEYSTRING_MD_SIZE): It's 32 for SHA-256. |
|
|
|
2012-06-13 Niibe Yutaka <[email protected]> |
|
|
|
Bug fixes. |
|
* src/main.c (display_interaction): Assign to main_mode. |
|
* src/openpgp.c (cmd_change_password): Bug fix for admin less mode |
|
to admin full mode. Variable who_old should be admin_authorized. |
|
|
|
Key generation is configure option. |
|
* src/configure (keygen): Add --enable-keygen option. |
|
* src/Makefile.in (UDEFS): Add definition of KEYGEN_SUPPORT. |
|
* src/call-rsa.c [KEYGEN_SUPPORT] (rsa_genkey): Conditionalize. |
|
* src/random.c [KEYGEN_SUPPORT] (random_byte): Ditto. |
|
* src/openpgp.c [KEYGEN_SUPPORT] (cmd_pgp_gakp): Ditto. |
|
* src/openpgp-do.c [KEYGEN_SUPPORT] (gpg_do_keygen): Ditto. |
|
* polarssl-0.14.0/include/polarssl/config.h: Ditto. |
|
* polarssl-0.14.0/library/bignum.c [POLARSSL_GENPRIME] |
|
(mpi_inv_mod): Unconditionalize. |
|
|
|
2012-06-08 Niibe Yutaka <[email protected]> |
|
|
|
* polarssl-0.14.0/library/bignum.c (mpi_cmp_mpi): Bug fix. |
|
Though it doesn't matter for Gnuk usage. |
|
|
|
Emit LED light while computation (or asking user input). |
|
* src/usb-icc.c (icc_handle_timeout): Call led_blink. |
|
* src/openpgp.c (cmd_pso, cmd_internal_authenticate): Call |
|
LED_WAIT_MODE, LED_STATUS_MODE to show "it's under computation". |
|
* src/openpgp-do.c (gpg_do_keygen): Ditto. |
|
* src/gnuk.h (LED_WAIT_MODE): Rename (was: LED_INPUT_MODE). |
|
* src/main.c (display_interaction): Change the behavior of LED, |
|
now, it's mostly ON (was: mostly OFF). |
|
|
|
2012-06-07 Niibe Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (cmd_internal_authenticate): Add check for input |
|
length. |
|
|
|
Implement key generation. |
|
* src/openpgp.c (cmd_pgp_gakp): Call gpg_do_keygen. |
|
* src/openpgp-do.c (proc_key_import): Call with modulus = NULL. |
|
(gpg_do_keygen): New function. |
|
(gpg_reset_digital_signature_counter): New function. |
|
(gpg_do_write_prvkey): New argument MODULUS. Call |
|
gpg_reset_digital_signature_counter. |
|
* src/call-rsa.c (rsa_genkey): New function. |
|
* src/random.c (random_byte): New function. |
|
|
|
PolarSSL modification. |
|
* polarssl-0.14.0/library/rsa.c (rsa_gen_key): Don't set D, DP, |
|
DQ, and QP. It's only for key generation. |
|
* polarssl-0.14.0/library/rsa.c (rsa_gen_key, rsa_pkcs1_encrypt): |
|
Change f_rng function return type. |
|
* polarssl-0.14.0/include/polarssl/rsa.h: Likewise. |
|
* polarssl-0.14.0/library/bignum.c (mpi_is_prime, mpi_gen_prime): |
|
Change f_rng function return type. |
|
* polarssl-0.14.0/include/polarssl/bignum.h: Likewise. |
|
|
|
2012-06-06 Niibe Yutaka <[email protected]> |
|
|
|
* Version 0.19. |
|
|
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
|
|
* regnual/regnual.c (fetch): Better implementation. |
|
|
|
2012-06-05 Niibe Yutaka <[email protected]> |
|
|
|
Firmware update key handling. |
|
* tool/gnuk_put_binary.py (GnukToken.cmd_get_response): Handle |
|
larger data such as card holder certificate. |
|
(GnukToken.cmd_write_binary): Bug fix for cert do write. |
|
(GnukToken.cmd_read_binary): New. |
|
(main): Support firmware update key. |
|
|
|
Take advantage of the Thumb-2 "rbit" instruction. |
|
* regnual/regnual.c (fetch): Reverse bits. |
|
* src/usb_ctrl.c (rbit): New. Deleted reverse32. |
|
(download_check_crc32): Use rbit. |
|
* tool/gnuk_upgrade.py (crc32): Just use binascii.crc32. |
|
(crctab): Remove. |
|
|
|
2012-06-04 Niibe Yutaka <[email protected]> |
|
|
|
Card holder certificate data object bug fixes. |
|
* tool/gnuk_put_binary_libusb.py (gnuk_token.cmd_get_response): |
|
Handle larger data such as card holder certificate. |
|
* src/flash.c (flash_write_binary): Bug fix. Call |
|
flash_check_blank with p + offset. |
|
* src/gnuk.h (FLASH_CH_CERTIFICATE_SIZE): Define here (was: flash.c). |
|
|
|
Implement CRC32 check for firmware update. |
|
* src/usb_ctrl.c (download_check_crc32): New. |
|
* regnual/regnual.c (calc_crc32): New. |
|
(regnual_ctrl_write_finish): Call calc_crc32. |
|
* tool/gnuk_upgrade.py (crc32): New. |
|
(regnual.download): Check crc32code. |
|
|
|
* regnual/regnual.c (regnual_ctrl_write_finish): Bug fix. |
|
|
|
2012-06-01 Niibe Yutaka <[email protected]> |
|
|
|
Support firmware update with public key authentication. |
|
* tool/gnuk_upgrade.py (gpg_sign): New. |
|
* tool/gnuk_put_binary_libusb.py (main): Support firmware update |
|
key registration. |
|
|
|
Update of reGNUal. |
|
* regnual/regnual.c (main): Follow the change of usb_lld_init. |
|
(regnual_config_desc): Include interface descriptor. |
|
(usb-strings.c.inc): Change the file name. |
|
* regnual/Makefile (regnual.o): Depend on sys.h. |
|
* src/configure (usb-strings.c.inc): ifdef-out |
|
gnuk_revision_detail and gnuk_config_options (for reGNUal). |
|
* src/usb_desc.c (USB_STRINGS_FOR_GNUK): Define. |
|
|
|
USB bug fixes. |
|
* src/usb_ctrl.c (gnuk_usb_event): Bug fix for handling |
|
USB_EVENT_CONFIG. Do nothing when current_conf == value. |
|
* src/usb_lld.c (std_clear_feature): Bug fix. Always clear DTOG. |
|
(usb_lld_init): New argument for FEATURE. |
|
|
|
2012-05-31 Niibe Yutaka <[email protected]> |
|
|
|
* polarssl-0.14.0/library/rsa.c (rsa_pkcs1_verify): BUF size is |
|
256 (was: 1024). |
|
* src/call-rsa.c (rsa_verify): It's SIG_RSA_SHA1. |
|
* src/openpgp.c (cmd_external_authenticate): Follow the change of |
|
rsa_verify. |
|
|
|
Support "firmware update" keys. |
|
* src/flash.c (flash_write_binary): Support update keys. |
|
* src/gnuk.h (FILEID_UPDATE_KEY_0, FILEID_UPDATE_KEY_1) |
|
(FILEID_UPDATE_KEY_2,FILEID_UPDATE_KEY_3): New. |
|
* src/gnuk.ld.in (_updatekey_store): New. |
|
* src/openpgp.c (FILE_EF_UPDATE_KEY_0, FILE_EF_UPDATE_KEY_1) |
|
(FILE_EF_UPDATE_KEY_2, FILE_EF_UPDATE_KEY_3): New. |
|
(gpg_get_firmware_update_key): New. |
|
(cmd_read_binary): Support update keys and certificate. |
|
(modify_binary): New. |
|
(cmd_update_binary, cmd_write_binary): Use modify_binary. |
|
(cmd_external_authenticate): Support up to four keys. |
|
|
|
Version string of system service is now USB string. |
|
* src/sys.h (unique_device_id): Define here, not as system |
|
service. |
|
* src/sys.c (sys_version): Version string for system service. |
|
* src/usb_desc.c (String_Descriptors): Add sys_version. |
|
* src/usb_conf.h (NUM_STRING_DESC): 7 (was: 6). |
|
* src/gnuk.ld.in (.sys.version): New section. |
|
|
|
2012-05-30 Niibe Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (CHALLENGE_LEN): New. |
|
(cmd_external_authenticate): Authentication by response with |
|
public key. |
|
(cmd_get_challenge): 16-byte is enough for challenge. |
|
|
|
2012-05-29 Niibe Yutaka <[email protected]> |
|
|
|
* src/call-rsa.c (rsa_verify): New function. |
|
|
|
* polarssl-0.14.0/include/polarssl/rsa.h (rsa_pkcs1_verify) |
|
* polarssl-0.14.0/library/rsa.c (rsa_pkcs1_verify): Fix API. |
|
|
|
* src/usb_conf.h (NUM_STRING_DESC): Incremented to 6 (was: 4). |
|
* src/configure: Generate strings for revision detail and config |
|
options. |
|
* src/usb_desc.c (gnuk_revision_detail, gnuk_config_options): New. |
|
|
|
* src/main.c (main) [DFU_SUPPORT]: Kill DFU and install .sys. |
|
|
|
* src/config.h.in (FLASH_PAGE_SIZE): New. |
|
* src/configure: Support FLASH_PAGE_SIZE for config.h |
|
* boards/*/board.h (FLASH_PAGE_SIZE): Remove. |
|
* src/flash.c (FLASH_PAGE_SIZE): Remove. |
|
|
|
* src/sys.c (reset): Don't depend if DFU_SUPPORT or not. |
|
(flash_erase_all_and_exec): Rename and change the argument. |
|
* src/gnuk.ld.in (__flash_start__): Real flash ROM address, |
|
regardless of DFU_SUPPORT. |
|
* src/main.c (main): Call flash_erase_all_and_exec with SRAM |
|
address. |
|
|
|
* polarssl-0.14.0/library/aes.c (FT0, FT1, FT2): Specify sections |
|
in detail, so that addresses won't be affected by compiler. |
|
* src/gnuk.ld.in (.sys): Define sections in detail. |
|
|
|
* boards/STBEE_MINI/board.h (SET_USB_CONDITION, GPIO_USB) |
|
(IOPORT_USB, SET_LED_CONDITION, GPIO_LED, IOPORT_LED) |
|
(FLASH_PAGE_SIZE): New. |
|
* boards/STBEE_MINI/board.c (USB_Cable_Config, set_led): Remove. |
|
|
|
* boards/STBEE/board.h (SET_USB_CONDITION, GPIO_USB, IOPORT_USB) |
|
(SET_LED_CONDITION, GPIO_LED, IOPORT_LED, FLASH_PAGE_SIZE): New. |
|
* boards/STBEE/board.c (USB_Cable_Config, set_led): Remove. |
|
|
|
* boards/CQ_STARM/board.h (SET_USB_CONDITION) |
|
(SET_LED_CONDITION, GPIO_LED, IOPORT_LED, FLASH_PAGE_SIZE): New. |
|
* boards/CQ_STARM/board.c (USB_Cable_Config, set_led): Remove. |
|
|
|
2012-05-28 Niibe Yutaka <[email protected]> |
|
|
|
* boards/*/board.c (hwinit0): Removed... |
|
* boards/common/hwinit.c (hwinit0): ... and define here. |
|
(hwinit0) [DFU_SUPPORT]: Don't set SCB->VTOR here. |
|
* src/sys.c (reset) [DFU_SUPPORT]: Set SCB->VTOR here. |
|
(flash_write): Range check. |
|
|
|
* polarssl-0.14.0/library/aes.c (FT0, FT1, FT2): Specify the |
|
section ".sys", so that we will have more room for flash ROM. |
|
* src/gnuk.ld.in (.sys): Add alignment settings. |
|
|
|
* tool/gnuk_upgrade.py (main): First 4096-byte of Gnuk is system |
|
block. Don't send it to reGNUal. |
|
|
|
* regnual/sys.c (entry): Fix clearing BSS. It is called with all |
|
interrupts disabled. |
|
|
|
* regnual/regnual.ld (_flash_start): It's 0x08001000 now, because |
|
there is system block now (was: 0x08000000). |
|
|
|
2012-05-26 Niibe Yutaka <[email protected]> |
|
|
|
* src/sys.c (reset): Set SCR->VCR here. |
|
|
|
2012-05-25 Niibe Yutaka <[email protected]> |
|
|
|
* src/gnuk.ld.in (.sys): New section. |
|
|
|
* boards/OLIMEX_STM32_H103/board.h (SET_USB_CONDITION, GPIO_USB) |
|
(IOPORT_USB, SET_LED_CONDITION, GPIO_LED, IOPORT_LED) |
|
(FLASH_PAGE_SIZE): New. |
|
* boards/OLIMEX_STM32_H103/board.c (USB_Cable_Config, set_led): |
|
Remove. |
|
|
|
* boards/STM32_PRIMER2/board.h (SET_USB_CONDITION, GPIO_USB) |
|
(IOPORT_USB, SET_LED_CONDITION, GPIO_LED, IOPORT_LED) |
|
(FLASH_PAGE_SIZE): New. |
|
* boards/STM32_PRIMER2/board.c (USB_Cable_Config, set_led): |
|
Remove. |
|
|
|
* boards/FST_01_00/board.h (SET_USB_CONDITION, GPIO_USB) |
|
(IOPORT_USB, SET_LED_CONDITION, GPIO_LED, IOPORT_LED) |
|
(FLASH_PAGE_SIZE): New. |
|
* boards/FST_01_00/board.c (USB_Cable_Config, set_led): Remove. |
|
|
|
* boards/FST_01/board.h (SET_USB_CONDITION, GPIO_USB, IOPORT_USB) |
|
(SET_LED_CONDITION, GPIO_LED, IOPORT_LED, FLASH_PAGE_SIZE): New. |
|
* boards/FST_01/board.c (USB_Cable_Config, set_led): Remove. |
|
|
|
* regnual/sys-stm8s-discovery.h, sys-stbee.h: Remove. |
|
|
|
* boards/STM8S_DISCOVERY/board.h (SET_USB_CONDITION) |
|
(SET_LED_CONDITION, GPIO_LED, IOPORT_LED, FLASH_PAGE_SIZE): New. |
|
* boards/STM8S_DISCOVERY/board.c (USB_Cable_Config, set_led): |
|
Remove. |
|
|
|
* regnual/Makefile: Add -I ../src to CFLAGS. |
|
|
|
* regnual/regnual.ld (vector): New. |
|
|
|
* regnual/sys.c: Remove implementation, but jump to vector by sys.h. |
|
|
|
* src/Makefile.in: Follow change of files. |
|
|
|
* src/configure: Undo changes of 2012-05-22. |
|
|
|
* boards/common/hw_config.c: Remove. Mov function to sys.c. |
|
* src/flash.c: Move functions to sys.c. |
|
* src/sys.c: New. |
|
|
|
* src/main.c (main): Call flash_mass_erase_and_exec. |
|
|
|
* src/usb_lld.c: Include sys.h. |
|
|
|
* src/usb_lld_sys.c: Remove. Move interrupt handler to... |
|
* src/usb_ctrl.c: ... this file. |
|
|
|
* regnual/sys.c (clock_init, gpio_init, flash_unlock): Removed. |
|
(entry): Rename (was: reset). |
|
|
|
2012-05-24 Niibe Yutaka <[email protected]> |
|
|
|
* src/main.c (good_bye): Care LSB of function pointer. |
|
(flash_mass_erase_and_exec): Implemented in C. |
|
|
|
2012-05-23 Niibe Yutaka <[email protected]> |
|
|
|
* regnual/sys-stm8s-discovery.h: New. |
|
|
|
* src/main.c (flash_mass_erase_and_exec, good_bye): New. |
|
(main): Call good_bye. |
|
|
|
* tool/gnuk_upgrade.py (regnual.protect): New. |
|
(main): Call regnual.protect(). |
|
|
|
* regnual/regnual.c (regnual_setup): Don't call flash_write here. |
|
(regnual_ctrl_write_finish): But call here. |
|
(USB_REGNUAL_RESULT): New. |
|
|
|
* regnual/sys.c (flash_protect): New. |
|
|
|
2012-05-22 Niibe Yutaka <[email protected]> |
|
|
|
* src/configure (../regnual/sys.h): Create symblic link. |
|
|
|
* src/usb_ctrl.c: Rename (was: usb_prop.c). |
|
|
|
* regnual/types.h, regnual/sys.c, regnual/regnual.ld: New. |
|
* regnual/regnual.c, regnual/Makefile: New. |
|
* regnual/sys-stbee.h: New. |
|
|
|
* src/usb_lld.c: Support FREE_STANDING environment as well as |
|
under ChibiOS/RT. |
|
(usb_lld_init): Call usb_lld_sys_init. Don't call user defined |
|
method. Call usb_lld_set_configuration. |
|
(usb_lld_shutdown): Call usb_lld_sys_shutdown. |
|
(Vector90): Move to usb_lld_sys.c. |
|
(usb_interrupt_handler): Export to global. |
|
|
|
* src/usb_lld_sys.c: New. |
|
|
|
* src/usb_prop.c (Device_Method): Remove gnuk_device_init. |
|
(gnuk_device_init): Remove. |
|
|
|
2012-05-19 Niibe Yutaka <[email protected]> |
|
|
|
* src/usb_lld.c (handle_datastage_in): Bug fix, erable RX when |
|
sending ZLP. It will be possible to get OUT transaction soon |
|
after IN transaction. |
|
|
|
2012-05-18 Niibe Yutaka <[email protected]> |
|
|
|
* src/usb_lld.c (handle_datastage_out): Fix rx copying. |
|
(handle_setup0): Bug fix not stalling TX, it will be possible |
|
to go IN transaction, soon after OUT transaction. |
|
|
|
* src/usb_lld.h (USB_SETUP_SET, USB_SETUP_GET): New. |
|
(usb_device_method.ctrl_write_finish): New. |
|
(usb_device_method.setup): Merge setup_with_data, and |
|
setup_with_nodata. |
|
|
|
* src/usb_lld.c (usb_lld_shutdown, usb_lld_prepare_shutdown): New. |
|
(handle_setup0): Call ->setup. |
|
(handle_in0): Call ->ctrl_write_finish. |
|
|
|
* src/usb_prop.c (vcom_port_data_setup): Merge |
|
vcom_port_setup_with_nodata. |
|
(download_check_crc32): New. |
|
(gnuk_setup): Merge gnuk_setup_with_data and |
|
gnuk_setup_with_nodata. |
|
(gnuk_ctrl_write_finish): New. |
|
|
|
2012-05-17 Niibe Yutaka <[email protected]> |
|
|
|
* tool/gnuk_upgrade.py: New tool. |
|
|
|
* src/gnuk.h (ICC_STATE_EXITED, ICC_STATE_EXEC_REQUESTED): New. |
|
|
|
* src/openpgp.c (INS_EXTERNAL_AUTHENTICATE) |
|
(cmd_external_authenticate): New. |
|
(INS_GET_CHALLENGE, cmd_get_challenge): New. |
|
|
|
* src/usb-icc.c (USBthread): Finish the thread with |
|
ICC_STATE_EXITED, after EXTERNAL_AUTHENTICATE. |
|
|
|
* src/usb_prop.c (gnuk_setup_endpoints_for_interface): Add STOP |
|
argument. |
|
(gnuk_usb_event): Disable all endpoints when configure(0). |
|
(vcom_port_data_setup): Check direction and support |
|
USB_CDC_REQ_SET_LINE_CODING. |
|
(vcom_port_setup_with_nodata): Check direction. |
|
(gnuk_setup_with_data): Check direction and add FSIJ_GNUK device |
|
requests. |
|
(gnuk_setup_with_nodata): Likewise. |
|
|
|
* src/usb_lld.c (LAST_OUT_DATA): Remove. |
|
(handle_datastage_out): Cleanup and call st103_ep_set_rxtx_status. |
|
(handle_datastage_in): Call st103_ep_set_rxtx_status and |
|
st103_ep_set_tx_status. |
|
(handle_setup0): Likewise. |
|
(handle_out0): Remove LAST_OUT_DATA. |
|
(std_none, std_get_status, std_clear_feature, std_set_feature) |
|
(std_set_address, std_get_descriptor, std_get_configuration) |
|
(std_set_configuration, std_get_interface, std_set_interface): |
|
Check direction. |
|
(handle_setup0): Add length for setup_with_data. |
|
|
|
2012-05-16 Niibe Yutaka <[email protected]> |
|
|
|
* tool/gnuk_put_binary.py (main): Fix fileid. |
|
* tool/gnuk_put_binary_libusb.py: Ditto. |
|
|
|
* src/openpgp.c (FILE_EF_RANDOM): Remove. |
|
(cmd_update_binary, cmds): ifdef CERTDO_SUPPORT. |
|
(cmd_write_binary): Fix fileid. |
|
|
|
* src/flash.c (flash_check_blank): Always enable. |
|
(flash_erase_binary): ifdef CERTDO_SUPPORT. |
|
(flash_write_binary): Call flash_check_blank. |
|
|
|
2012-05-15 Niibe Yutaka <[email protected]> |
|
|
|
* Version 0.18. |
|
|
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
|
|
* src/main.c (EP3_IN_Callback, EP5_OUT_Callback): Move from |
|
usb_endp.c. |
|
|
|
* src/usb_endp.c: Remove. |
|
|
|
2012-05-14 Niibe Yutaka <[email protected]> |
|
|
|
* tool/gnuk_remove_keys.py: New. |
|
|
|
* src/openpgp-do.c (proc_key_import): Fix checking extended header. |
|
|
|
* src/hardclock.c: Remove. |
|
|
|
* src/usb_prop.c (MSC_INTERFACE_NO): New. |
|
(gnuk_setup_endpoints_for_interface): Cleanup with MSC_INTERFACE_NO. |
|
(gnuk_setup_with_data, gnuk_setup_with_nodata): Likewise. |
|
|
|
* src/usb-msc.c: Rename from usb_msc.c. |
|
|
|
* src/usb-msc.h: Rename from usb_msc.h. |
|
|
|
* src/Makefile.in: Follow the rename of usb-msc.c and remove of |
|
hardclock.c. |
|
|
|
* src/pin-dnd.c, src/usb_prop.c: Follow the rename of usb-msc.h. |
|
|
|
2012-05-12 Niibe Yutaka <[email protected]> |
|
|
|
* src/usb_msc.c (ep6_out): Rename (was: ep7_out). |
|
(usb_start_receive): Use ep6_out and ENDP6. |
|
(EP6_OUT_Callback): Rename (was: EP7_OUT_Callback). |
|
Use ep6_out and ENDP6. |
|
(msc_handle_command): Use ep6_out and ENDP6. |
|
|
|
* src/main.c (main): Wait USB reset. |
|
|
|
* src/usb-icc.c (EP1_OUT_Callback): Rename from EP2_OUT_Callback. |
|
(USBthread): Use ENDP1 for both of epi_init and epo_init. |
|
|
|
* src/usb_conf.h (ENDP1_RXADDR, ENDP2_TXADDR, ENDP6_RXADDR): New. |
|
(ENDP3_TXADDR, ENDP4_TXADDR, ENDP5_RXADDR): New value. |
|
(ENDP7_RXADDR): Remove. |
|
|
|
* src/usb_desc.c (gnukConfigDescriptor): Use endpoint OUT1 (was |
|
IN2), endpoint OUT6 (IN7). |
|
|
|
* src/usb_prop.c (gnuk_setup_endpoints_for_interface): Use ENDP1 |
|
and ENDP6 for both directions. |
|
|
|
2012-05-11 Niibe Yutaka <[email protected]> |
|
|
|
* src/configure (--vidpid): New mandatory option. |
|
|
|
* GNUK_USB_DEVICE_ID: New file. |
|
|
|
* src/usb_desc.c (gnukDeviceDescriptor): Include |
|
usb-vid-pid-ver.c.inc. |
|
(gnukStringVendor, gnukStringProduct): Remove. It's in the |
|
file, usb-string-vender-product.c.inc. |
|
|
|
* src/Makefile.in (distclean): Delete *.inc. |
|
|
|
* src/usb_prop.c (vcom_port_setup_with_nodata) Rename. |
|
(vcom_port_data_setup): Rename and fix return value. |
|
|
|
* src/usb-cdc.h (VIRTUAL_COM_PORT_DATA_SIZE) |
|
(VIRTUAL_COM_PORT_INT_SIZE): New. |
|
|
|
* src/main.c (#include): Add usb-cdc.h. |
|
* src/usb_desc.c (#include): Add usb-cdc.h. |
|
* src/usb_endp.c (#include): Add usb_lld.h. |
|
|
|
* src/configure ($help): Add FST_01. |
|
|
|
2012-05-10 Niibe Yutaka <[email protected]> |
|
|
|
* STM32_USB-FS-Device_Driver, Virtual_COM_Port: Remove. |
|
|
|
* src/usb_lld.c (#include): Don't include usb_lib.h. |
|
(RECIPIENT, REG_BASE PMA_ADDR, CNTR, ISTR, FNR, DADDR, BTABLE) |
|
(ISTR_CTR, ISTR_DOVR, ISTR_ERR, ISTR_WKUP, ISTR_SUSP, ISTR_RESET) |
|
(ISTR_SOF, ISTR_ESOF, ISTR_DIR, ISTR_EP_ID, CLR_CTR, CLR_DOVR) |
|
(CLR_ERR, CLR_WKUP, CLR_SUSP, CLR_RESET, CLR_SOF, CLR_ESOF) |
|
(CNTR_CTRM, CNTR_DOVRM, CNTR_ERRM, CNTR_WKUPM, CNTR_SUSPM) |
|
(CNTR_RESETM, CNTR_SOFM, CNTR_ESOFM, CNTR_RESUME, CNTR_FSUSP) |
|
(CNTR_LPMODE, CNTR_PDWN, CNTR_FRES, DADDR_EF, DADDR_ADD) |
|
(EP_CTR_RX, EP_DTOG_RX, EPRX_STAT, EP_SETUP, EP_T_FIELD, EP_KIND) |
|
(EP_CTR_TX, EP_DTOG_TX, EPTX_STAT, EPADDR_FIELD, EPREG_MASK) |
|
(EP_TX_DIS, EP_TX_STALL, EP_TX_NAK, EP_TX_VALID, EPTX_DTOG1) |
|
(EPTX_DTOG2, EP_RX_DIS, EP_RX_STALL, EP_RX_NAK, EP_RX_VALID) |
|
(EPRX_DTOG1, EPRX_DTOG2): New. Compatible to ST's USB-FS-Device_Lib. |
|
(CH_IRQ_HANDLER): Call usb_interrupt_handler (was: USB_Istr). |
|
(EP1_IN_Callback, EP2_IN_Callback, EP3_IN_Callback) |
|
(EP4_IN_Callback, EP5_IN_Callback, EP6_IN_Callback) |
|
(EP7_IN_Callback, EP1_OUT_Callback, EP2_OUT_Callback) |
|
(EP3_OUT_Callback, EP4_OUT_Callback, EP5_OUT_Callback) |
|
(EP6_OUT_Callback, EP7_OUT_Callback): New. Implement here. |
|
Compatible to ST's USB-FS-Device_Lib. |
|
(USB_MAX_PACKET_SIZE): New. |
|
(GET_STATUS, CLEAR_FEATURE, RESERVED1, SET_FEATURE, RESERVED2) |
|
(SET_ADDRESS, GET_DESCRIPTOR, SET_DESCRIPTOR, GET_CONFIGURATION) |
|
(SET_CONFIGURATION, GET_INTERFACE, SET_INTERFACE) |
|
(SYNCH_FRAME,TOTAL_REQUEST): New for USB control transfer. |
|
(enum CONTROL_STATE): New for state machine of control pipe. |
|
(enum FEATURE_SELECTOR): New. |
|
(struct DATA_INFO, struct CONTROL_INFO, struct DEVICE_INFO): New. |
|
(ctrl_p, dev_p, data_p, Control_Info, Device_Info, Data_Info): |
|
New. |
|
(usb_lld_stall_tx, usb_lld_stall_rx) |
|
(usb_lld_tx_data_len, usb_lld_txcpy, usb_lld_tx_enable) |
|
(usb_lld_write, usb_lld_rx_enable, usb_lld_rx_data_len) |
|
(usb_lld_rxcpy): Move from usb_lld.h and not inline. |
|
(usb_lld_reset, usb_lld_setup_endpoint) |
|
(usb_lld_set_configuration, usb_lld_current_configuration) |
|
(usb_lld_set_feature, usb_lld_set_data_to_send): New. |
|
(usb_lld_to_pmabuf, usb_lld_from_pmabuf): Clean up. |
|
(usb_lld_init): New implementation. |
|
(st103_set_btable, st103_get_istr, st103_set_istr, st103_set_cntr) |
|
(st103_set_daddr, st103_set_epreg, st103_get_epreg) |
|
(st103_set_tx_addr, st103_get_tx_addr, st103_set_tx_count) |
|
(st103_get_tx_count, st103_set_rx_addr, st103_get_rx_addr) |
|
(st103_set_rx_buf_size, st103_get_rx_count, st103_ep_clear_ctr_rx) |
|
(st103_ep_clear_ctr_tx, st103_ep_set_rxtx_status) |
|
(st103_ep_set_rx_status, st103_ep_get_rx_status) |
|
(st103_ep_set_tx_status, st103_ep_get_tx_status) |
|
(st103_ep_clear_dtog_rx, st103_ep_clear_dtog_tx): New lower-level |
|
functions for USB related registers access. |
|
(usb_interrupt_handler, usb_handle_transfer) |
|
(handle_datastage_out, handle_datastage_in, handle_setup0) |
|
(handle_in0, handle_out0) |
|
(std_none, std_get_status, std_clear_feature, std_set_feature, |
|
std_set_address, std_get_descriptor, std_get_configuration, |
|
std_set_configuration, std_get_interface, std_set_interface) |
|
(std_request_handler): New USB stack implementation. |
|
|
|
* src/usb_lld.h (usb_lld_stall_tx, usb_lld_stall_rx) |
|
(usb_lld_tx_data_len, usb_lld_txcpy, usb_lld_tx_enable) |
|
(usb_lld_write, usb_lld_rx_enable, usb_lld_rx_data_len) |
|
(usb_lld_rxcpy): Those are not inline functions anymore. |
|
(USB_DEVICE_DESCRIPTOR_TYPE, USB_CONFIGURATION_DESCRIPTOR_TYPE) |
|
(USB_STRING_DESCRIPTOR_TYPE, USB_INTERFACE_DESCRIPTOR_TYPE) |
|
(USB_ENDPOINT_DESCRIPTOR_TYPE, STANDARD_ENDPOINT_DESC_SIZE) |
|
(ENDP0, ENDP1, ENDP2, ENDP3, ENDP4, ENDP5, ENDP6, ENDP7) |
|
(EP_BULK, EP_CONTROL, EP_ISOCHRONOUS, EP_INTERRUPT) |
|
(DEVICE_RECIPIENT, INTERFACE_RECIPIENT, ENDPOINT_RECIPIENT) |
|
(ENDPOINT_RECIPIENT, OTHER_RECIPIENT) |
|
(DEVICE_DESCRIPTOR, CONFIG_DESCRIPTOR, STRING_DESCRIPTOR) |
|
(INTERFACE_DESCRIPTOR, ENDPOINT_DESCRIPTOR) |
|
(REQUEST_TYPE, STANDARD_REQUEST, CLASS_REQUEST, VENDOR_REQUEST) |
|
(USB_UNSUPPORT, USB_SUCCESS) |
|
(USB_EVENT_RESET, USB_EVENT_ADDRESS, USB_EVENT_CONFIG) |
|
(USB_EVENT_SUSPEND, USB_EVENT_WAKEUP, USB_EVENT_STALL) |
|
(USB_SET_INTERFACE, USB_GET_INTERFACE, USB_QUERY_INTERFACE) |
|
(UNCONNECTED, ATTACHED, POWERED, SUSPENDED, ADDRESSED) |
|
(CONFIGURED, USB_Cable_Config): New. Compatible to ST's |
|
USB-FS-Device_Lib. |
|
(struct Descriptor, struct usb_device_method) |
|
(Device_Descriptor, Config_Descriptor, String_Descriptors) |
|
(STM32_USB_IRQ_PRIORITY, bDeviceState, Device_Method) |
|
(usb_lld_init, usb_lld_reset, usb_lld_setup_endpoint) |
|
(usb_lld_set_configuration, usb_lld_current_configuration) |
|
(usb_lld_set_feature, usb_lld_set_data_to_send): New API. |
|
|
|
* src/usb_prop.c(#include): Only include usb_lld.h for USB. |
|
(SetEPRxCount_allocated_size): Remove. |
|
(struct line_coding, line_coding, Virtual_Com_Port_Data_Setup) |
|
(Virtual_Com_Port_NoData_Setup): Add from usb-cdc-vport.c. |
|
(gnuk_device_init, gnuk_device_reset, gnuk_setup_with_data) |
|
(gnuk_setup_with_nodata): Follow the API change of USB stack. |
|
(gnuk_setup_endpoints_for_interface, gnuk_get_descriptor) |
|
(gnuk_usb_event, gnuk_interface): New. |
|
(gnuk_device_SetConfiguration, gnuk_device_SetInterface) |
|
(gnuk_device_SetDeviceAddress, gnuk_device_Status_In) |
|
(gnuk_device_Status_Out, gnuk_device_GetDeviceDescriptor) |
|
(gnuk_device_GetConfigDescriptor, gnuk_device_GetStringDescriptor) |
|
(gnuk_device_Get_Interface_Setting, gnuk_clock_frequencies) |
|
(gnuk_data_rates, msc_lun_info, Device_Table) |
|
(User_Standard_Requests): Remove. |
|
(Device_Method): Replace Device_Property. |
|
|
|
* src/usb_msc.c (#include): Only include usb_lld.h for USB. |
|
|
|
* src/usb_endp.c (#include): Only include usb_lld.h for USB. |
|
(EP5_OUT_Callback): Follow the API change of USB stack. |
|
|
|
* src/usb_desc.c (#include): Only include usb_lld.h for USB. |
|
Add usb_conf.h. |
|
(Device_Descriptor, Config_Descriptor): Follow the API change |
|
of USB stack. |
|
(String_Descriptors): New, rename from String_Descriptor. |
|
|
|
* src/usb_conf.h (EP_NUM, BTABLE_ADDRESS, IMR_MSK): Remove. |
|
(NUM_STRING_DESC): Add. |
|
|
|
* src/usb-icc.c (#include): Only include usb_lld.h for USB. |
|
|
|
* src/usb-cdc-vport.c, src/usb_prop.h: Remove. |
|
|
|
* src/stmusb.mk, src/vcomport.mk: Remove. |
|
|
|
* src/main.c (#include): Only include usb_lld.h for USB. |
|
(main): Remove call to USB_Init. |
|
|
|
* src/Makefile.in (include): Remove stmusb.mk, vcomport.mk. |
|
(VCOMSRC) [ENABLE_VCOMPORT]: Add. |
|
(INCDIR): Remove STMUSBINCDIR and VCOMDIR. |
|
|
|
* boards/common/hw_config.c (Enter_LowPowerMode) |
|
(Leave_LowPowerMode): Remove. |
|
|
|
2012-02-02 Niibe Yutaka <[email protected]> |
|
|
|
* Version 0.17. |
|
|
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
(gnukConfigDescriptor): Short APDU only. |
|
|
|
* tool/gnuk_put_binary.py (cmd_get_response): New. |
|
(cmd_select_openpgp, cmd_get_data): Call cmd_get_response. |
|
|
|
2012-01-30 Niibe Yutaka <[email protected]> |
|
|
|
* src/usb-icc.c (struct ccid): Add chained_cls_ins_p1_p2. |
|
(end_cmd_apdu_head, icc_cmd_apdu_data, icc_handle_data): Add checking |
|
CMD APDU head for command chaining. |
|
|
|
2012-01-20 Niibe Yutaka <[email protected]> |
|
|
|
Short APDU only CCID driver. |
|
* STM32_USB-FS-Device_Driver/src/usb_core.c (DataStageOut) |
|
(DataStageIn): Use usb_lld_to_pmabuf and usb_lld_from_pmabuf. |
|
|
|
* src/configure (CERTDO_SUPPORT): Comment fix. |
|
|
|
* src/gnuk.h (struct adpu): expected_res_size has type uint16_t. |
|
(MAX_CMD_APDU_DATA_SIZE, MAX_RES_APDU_DATA_SIZE): New. |
|
(MAX_CMD_APDU_SIZE, MAX_RES_APDU_SIZE, USB_BUF_SIZE): Remove. |
|
(icc_state_p): New. |
|
(set_res_sw): Rename from set_res_apdu. |
|
|
|
* src/call-rsa.c (rsa_decrypt): Use MAX_RES_APDU_DATA_SIZE. |
|
|
|
* src/openpgp.c (set_res_sw): Rename from set_res_apdu. |
|
* src/openpgp.h: Use set_res_sw. |
|
|
|
* src/main.c: Handle icc_state_p. |
|
|
|
* src/openpgp-do.c (historical_bytes): command chaining but short |
|
APDU only. |
|
(extended_capabilities): Change for short APDU only. |
|
|
|
* src/usb-icc.c (USB_BUF_SIZE): Define here (was in gnuk.h). |
|
(struct ep_in, epi_init, struct ep_out, epo_init, endpoint_out) |
|
(endpoint_in, icc_state_p, struct ccid, APDU_STATE_WAIT_COMMAND) |
|
(APDU_STATE_COMMAND_CHAINING, APDU_STATE_COMMAND_RECEIVED) |
|
(APDU_STATE_RESULT, APDU_STATE_RESULT_GET_RESPONSE, ccid_reset) |
|
(ccid_init, CMD_APDU_HEAD_SIZE, apdu_init, notify_tx, no_buf) |
|
(set_sw1sw2, get_sw1sw2, notify_icc, end_icc_rx, end_abdata) |
|
(end_cmd_apdu_head, end_nomore_data, end_cmd_apdu_data) |
|
(nomore_data, INS_GET_RESPONSE, icc_cmd_apdu_data, icc_abdata) |
|
(icc_send_data_block_0x9000, icc_send_data_block_gr, ccid): New. |
|
(icc_data_size, icc_seq, icc_next_p, icc_chain_p, icc_tx_size) |
|
(icc_thread, icc_state, gpg_thread, ICC_RESPONSE_MSG_DATA_SIZE): |
|
Remove. |
|
(EP1_IN_Callback): Rewrite using epi. |
|
(EP2_OUT_Callback): Rewrite using epo. |
|
(icc_prepare_receive): Rewrite using epo and struct ccid. |
|
(ATR): Change ofr short APDU only. |
|
(icc_error, icc_power_on, icc_send_status, icc_power_off) |
|
(icc_send_data_block, icc_send_params, icc_handle_data) |
|
(icc_handle_timeout, USBthread): Rewrite using struct ccid. |
|
|
|
* src/usb_desc.c (gnukConfigDescriptor): dwFeatures: Short APDU |
|
level, dwMaxCCIDMessageLength: 271. |
|
|
|
* src/usb_lld.c (usb_lld_to_pmabuf, usb_lld_from_pmabuf): New. |
|
* src/usb_lld.h (usb_lld_txcpy, void usb_lld_write) Use |
|
usb_lld_to_pmabuf. |
|
(usb_lld_rxcpy): Use usb_lld_from_pmabuf. |
|
|
|
* src/stmusb.mk (usb_mem.c): Remove. |
|
|
|
* gnuk_put_binary.py (cmd_select_openpgp): No response APDU data. |
|
(cmd_verify, cmd_write_binary): Send short APDU. |
|
(__main__): Remove RANDOM_NUMBER_BITS support. |
|
|
|
Bug fix for CERTDO_SUPPORT. |
|
* src/gnuk.ld.in: Add missing alignment for _data_pool (when no |
|
CERTDO_SUPPORT). |
|
|
|
2012-01-19 Niibe Yutaka <[email protected]> |
|
|
|
* src/usb-icc.c (icc_handle_data): Handle the case when it only |
|
sends 0x90 and 0x00 correctly. |
|
|
|
* src/openpgp-do.c (gpg_do_get_data): Fix res_apdu_data_len. |
|
|
|
2012-01-18 Niibe Yutaka <[email protected]> |
|
|
|
Clean up API between application layer and CCID layer. |
|
* tool/gnuk_put_binary.py, gnuk_put_binary_libusb.py: Don't append |
|
0x9000 at the data, any more. |
|
* src/usb-icc.c (icc_data_size, icc_buffer, icc_seq): Make them |
|
internal. |
|
(res_APDU_size, res_APDU_pointer): Removed. |
|
(icc_handle_data, USBthread): Follow new API of struct apdu. |
|
* src/call-rsa.c (rsa_sign, rsa_decrypt): Likewise. |
|
* src/openpgp.c (CLS, INS, P1, P2): New. |
|
(set_res_apdu, cmd_verify, cmd_change_password) |
|
(cmd_reset_user_password, cmd_put_data, cmd_pgp_gakp) |
|
(cmd_read_binary, cmd_select_file, cmd_pso) |
|
(cmd_internal_authenticate, cmd_update_binary, cmd_write_binary) |
|
(process_command_apdu, GPGthread): Follow new API of struct apdu. |
|
* src/openpgp-do.c (gpg_do_get_data, gpg_do_public_key): Follow |
|
new API of struct apdu. |
|
* src/gnuk.h (struct apdu, apdu): New. |
|
(cmd_APDU, icc_data_size, cmd_APDU_size, icc_buffer): Removed. |
|
(res_APDU, res_APDU_size): Use members of struct apdu. |
|
|
|
2012-01-16 Niibe Yutaka <[email protected]> |
|
|
|
Adopt new USB API. |
|
* src/usb_msc.c (usb_start_transmit): Use usb_lld_write. |
|
(EP6_IN_Callback): Use usb_lld_tx_data_len and usb_lld_write. |
|
(usb_start_receive): Use usb_lld_rx_enable. |
|
(EP7_OUT_Callback): Use usb_lld_rx_data_len, usb_lld_rxcpy |
|
and usb_lld_rx_enable |
|
(msc_handle_command): Use usb_lld_stall_rx and usb_lld_stall_tx. |
|
|
|
* src/usb_lld.h (usb_lld_stall_tx, usb_lld_stall_rx) |
|
(usb_lld_tx_data_len): New. |
|
|
|
* src/main.c (STDOUTthread): Use usb_lld_write. |
|
|
|
* src/usb-icc.c (EP1_IN_Callback, icc_error, icc_power_on) |
|
(icc_send_status, icc_send_data_block, icc_send_params): Use |
|
usb_lld_write (was: USB_SIL_Write). |
|
(EP2_OUT_Callback): Use usb_lld_rx_data_len, usb_lld_rxcpy, |
|
and usb_lld_rx_enable (was: USB_SIL_Read and SetEPRxValid). |
|
(icc_prepare_receive): Use usb_lld_rx_enable. |
|
|
|
* src/stmusb.mk (STMUSBSRC): Dont' include usb_sil.c. |
|
|
|
* src/usb_lld.h (usb_lld_txcpy, usb_lld_tx_enable) |
|
(usb_lld_write, usb_lld_rx_enable, usb_lld_rx_data_len) |
|
(usb_lld_rxcpy): New. |
|
|
|
* src/usb_prop.c (SetEPRxCount_allocated_size): Fix the |
|
implementation. (ST's SetEPRxCount is actually meant to |
|
setup allocated size, which is confusing). |
|
(gnuk_device_init): Don't call USB_SIL_Init. |
|
|
|
2012-01-10 Niibe Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (GPGthread): Allow INS_RESET_RETRY_COUNTER and |
|
INS_PUT_DATA for pinentry targets. |
|
|
|
2012-01-05 Niibe Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (cmd_select_file): Check DF name. |
|
|
|
* tool/pinpadtest.py: Rename from pinpad-test.py. |
|
|
|
2011-12-28 Niibe Yutaka <[email protected]> |
|
|
|
* src/usb_prop.c (SetEPRxCount_allocated_size): New. |
|
(gnuk_device_reset): Use SetEPRxCount_allocated_size. |
|
* src/usb_msc.c (usb_start_receive): Don't set RxCount register |
|
here. |
|
* STM32_USB-FS-Device_Driver/src/usb_core.c (Standard_ClearFeature) |
|
(Post0_Process): Don't need to set RxCount register. |
|
|
|
* src/usb_prop.c (msc_lun_info) [PINPAD_DND_SUPPORT]: ifdef-out. |
|
|
|
* src/usb-icc.c (EP2_OUT_Callback): Fix apdu size == 49 bug, |
|
we don't assume host sends ZLP (But accepts ZLP, just in case). |
|
|
|
2011-12-22 Niibe Yutaka <[email protected]> |
|
|
|
* src/openpgp-do.c (extended_capabilities) [CERTDO_SUPPORT]: |
|
conditionalize. |
|
|
|
2011-12-21 Niibe Yutaka <[email protected]> |
|
|
|
* src/openpgp-do.c (gpg_do_get_data) [CERTDO_SUPPORT]: ifdef out. |
|
|
|
* src/gnuk.ld.in (.gnuk_ch_certificate): Only valid |
|
when --enable-certdo. |
|
|
|
* src/flash.c (flash_check_blank) [CERTDO_SUPPORT]: ifdef out. |
|
(flash_erase_binary) [CERTDO_SUPPORT]: Likewise. |
|
(flash_write_binary) [CERTDO_SUPPORT]: Likewise. |
|
|
|
* src/configure (certdo): New. |
|
(--enable-certdo, --disable-certdo): New options. |
|
Remove cheking for /dev/random. |
|
|
|
* src/config.h.in (@CERTDO_DEFINE@): New. |
|
|
|
2011-12-20 Niibe Yutaka <[email protected]> |
|
|
|
* src/usb_msc.c (msc_handle_command): SCSI_START_STOP_UNIT command |
|
with stop/eject/close means cancelling pinentry. |
|
|
|
* src/pin-dnd.c (pinpad_finish_entry, parse_directory_sector): |
|
Implement "cancel". |
|
(pinpad_getline): Likewise. |
|
(msc_scsi_stop): New. |
|
|
|
2011-12-16 Niibe Yutaka <[email protected]> |
|
|
|
* tool/gnuk_put_binary_libusb.py (gnuk_token.cmd_select_openpgp): |
|
Fix apdu parameter. |
|
|
|
* tool/gnuk_put_binary.py (GnukToken.cmd_select_openpgp): Ditto. |
|
|
|
* tool/pinpad-test.py: New. |
|
|
|
2011-12-14 Niibe Yutaka <[email protected]> |
|
|
|
* Version 0.16. |
|
|
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
|
|
* boards/STM8S_DISCOVERY/board.h, board.c: Fix for PINPAD_SUPPORT. |
|
* boards/STBEE_MINI/board.h, board.c: Likewise. |
|
* boards/STBEE/board.h, board.c: Likewise. |
|
* boards/FST_01/board.c: Likewise. |
|
|
|
2011-12-13 Niibe Yutaka <[email protected]> |
|
|
|
Add pinpad DND support. |
|
* src/Makefile.in (CSRC) [ENABLE_PINPAD]: Add usb_msc.c. |
|
* src/configure (pinpad): Add dnd support. |
|
* src/gnuk.h [PINPAD_DND_SUPPORT]: Add declarations. |
|
* src/main.c (STDOUTthread): Add PUSH packet. |
|
(main) [PINPAD_DND_SUPPORT]: Call msc_init. |
|
* src/usb_conf.h (EP_NUM): Add the case of PINPAD_DND_SUPPORT. |
|
(ENDP6_TXADDR, ENDP7_RXADDR): New. |
|
(ENDP4_TXADDR, ENDP5_RXADDR): Changed for smaller buffer. |
|
* src/usb_desc.c (gnukConfigDescriptor): Add Mass storage device. |
|
* src/usb_msc.c, src/usb_msc.h, src/pin-dnd.c: New. |
|
* src/usb_prop.c: Include "usb_msc.h". |
|
(gnuk_device_reset): Add initialization of ENDP6 and ENDP7. |
|
(gnuk_device_SetInterface): Add initialization of ENDP6 and ENDP7. |
|
(NUM_INTERFACES): Handle cases for PINPAD_DND_SUPPORT. |
|
(msc_lun_info): New. |
|
(gnuk_setup_with_data, gnuk_setup_with_nodata): Handle standard |
|
request for Mass storage device. |
|
* Virtual_COM_Port/usb_desc.h (VIRTUAL_COM_PORT_DATA_SIZE): Since |
|
there isn't enough hardware buffer, smaller value (was: 64). |
|
|
|
* src/ac.c (verify_user_0): Add access argument. |
|
(verify_pso_cds, verify_other, verify_admin_0): Follow the change. |
|
* src/openpgp.c (cmd_change_password): Likewise. |
|
|
|
2011-12-08 Niibe Yutaka <[email protected]> |
|
|
|
* src/usb-icc.c: Not include "usb_desc.h". |
|
|
|
* src/usb_endp.c (EP5_OUT_Callback): Fix minor bug. |
|
|
|
2011-12-07 Niibe Yutaka <[email protected]> |
|
|
|
* src/usb_desc.c (gnukDeviceDescriptor): Changed bcdUSB = 1.1. |
|
Gnuk device conforms to USB 2.0 full speed device, but when it was |
|
2.0, some OS informs users, "you can connect the device to 2.0 |
|
compliant hub so that it can have better bandwidth", which is not |
|
the case for full speed device. |
|
|
|
* src/openpgp.c (GPGthread): Handle bConfirmPIN parameter. |
|
|
|
* src/usb-icc.c (icc_handle_data): Pass PC_to_RDR_Secure |
|
information to gpg_thread using memory of cmd_APDU. |
|
|
|
2011-12-01 Niibe Yutaka <[email protected]> |
|
|
|
* src/gnuk.h (EV_PINPAD_INPUT_DONE, EV_NOP, EV_CMD_AVAILABLE) |
|
(EV_VERIFY_CMD_AVAILABLE, EV_MODIFY_CMD_AVAILABLE): New. |
|
* src/usb-icc.c (icc_power_off, icc_handle_data): Use EV_NOP, |
|
EV_CMD_AVAILABLE, EV_VERIFY_CMD_AVAILABLE, and EV_MODIFY_CMD_AVAILABLE. |
|
* src/pin-cir.c (cir_timer_interrupt): Use EV_PINPAD_INPUT_DONE. |
|
* src/pin-dial.c (dial_sw_interrupt, pinpad_getline): Ditto. |
|
(EV_SW_PUSH): Remove. |
|
|
|
* src/openpgp.h (GPG_FUNCTION_NOT_SUPPORTED): New. |
|
(GPG_CONDITION_NOT_SATISFIED): New. |
|
* src/openpgp.c (cmd_change_password): Use GPG_FUNCTION_NOT_SUPPORTED. |
|
|
|
* src/openpgp.c (cmd_verify, cmd_change_password) |
|
(cmd_reset_user_password, cmd_put_data): Remove pinpad handling... |
|
(GPGthread): ... and implement pinpad handling here. |
|
|
|
2011-11-29 Niibe Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (cmd_put_data) [PINPAD_SUPPORT]: Support pinpad |
|
input (for reset code). |
|
|
|
2011-11-24 Niibe Yutaka <[email protected]> |
|
|
|
* Version 0.15. |
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
|
|
2011-11-22 Niibe Yutaka <[email protected]> |
|
|
|
* tool/dfuse.py (DFU_STM32.download, DFU_STM32.verify): Support |
|
unaligned write and hole. |
|
|
|
2011-11-14 Niibe Yutaka <[email protected]> |
|
|
|
* boards/FST_01/{mcuconf.h,board.h,board.c}: New. |
|
|
|
2011-11-01 Niibe Yutaka <[email protected]> |
|
|
|
* src/pin-dial.c (pinpad_getline): New. |
|
(pin_main): Remove. |
|
|
|
* boards/STBEE_MINI/board.h (TIMx): Define. |
|
boards/STBEE/board.h (TIMx): Ditto. |
|
boards/STM8S_DISCOVERY/board.h: Ditto. |
|
|
|
* src/pin-cir.c (pinpad_getline): New. |
|
(cir_timer_interrupt, cir_ext_interrupt): Use TIMx. |
|
(cir_key_is_backspace, cir_key_is_enter, pin_main, pindisp): |
|
Remove. |
|
(cir_codetable_dell_mr425, cir_codetable_aquos) |
|
(cir_codetable_regza, cir_codetable_bravia, ch_is_backspace) |
|
(ch_is_enter, find_char_codetable, hex, cir_getchar): New. |
|
(cir_timer_interrupt): Don't filter out ADDRESS. |
|
|
|
* src/openpgp.c (get_pinpad_input): Don't invoke thread, |
|
but just call pinpad_getline. |
|
|
|
* src/main.c (display_interaction, display_fatal_code) |
|
(display_status_code, led_blink): New. |
|
(main): Call display_* routine. |
|
(fatal): Notify main thread. |
|
* src/usb_prop.c (gnuk_device_SetConfiguration): Notify main |
|
thread. |
|
|
|
* src/pin-cir.c (pindisp): Remove. |
|
|
|
* boards/FST_01_00: New (for 8MHz FST-01). |
|
|
|
* src/ac.c (calc_md): Fix comparison. |
|
|
|
* src/call-rsa.c (RSA_SIGNATURE_LENGTH): Use KEY_CONTENT_LEN. |
|
(rsa_sign, rsa_decrypt): Likewise. |
|
(modulus_calc): Don't assume it's 2048-bit. |
|
|
|
* src/ac.c (verify_user_0): Fix for non-initialized PW1. |
|
|
|
* src/Makefile.in (MCFLAGS): Override MCFLAGS option for newer |
|
GCC of summon-arm-toolchain to add -mfix-cortex-m3-ldrd. |
|
NOTE: This should not be needed (as -mcpu=cortex-m3 defaults |
|
to -mfix-cortex-m3-ldrd for GCC-proper), but it is needed |
|
to select arm-none-eabi/lib/thumb2/libc.a correctly. |
|
|
|
2011-10-14 NIIBE Yutaka <[email protected]> |
|
|
|
* src/gnuk.ld.in (__main_stack_size__): It's 1KB (was 512 byte). |
|
|
|
2011-10-07 NIIBE Yutaka <[email protected]> |
|
|
|
* Version 0.14. |
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
|
|
* src/random.c (random_init): Call neug_prng_reseed. |
|
|
|
2011-10-06 NIIBE Yutaka <[email protected]> |
|
|
|
* src/Makefile.in (random_bits): Remove. |
|
|
|
* src/openpgp.c (GPGthread): Remove unused event message. |
|
|
|
* src/main.c (main): Call random_init. |
|
|
|
* src/gnuk.ld.in (__process_stack_size__): Fix. |
|
(.gnuk_random): Removed. |
|
|
|
* src/flash.c (flash_erase_binary, flash_write_binary): Remove |
|
support of random_byte in flash ROM. |
|
|
|
* src/neug.c (adccb): Use old API (was: chEvtSignalFlagsI). |
|
(adccb_err): Remove. |
|
(rng_gen, rng): Add the last argument adccb for adcStartConversion: |
|
This is old API of ADC driver. |
|
(adcgrpcfg): Remove callbacks, add CONT and SWSTART: This is old |
|
API of ADC driver. |
|
(adccb): Remove the first argument: This is old API of ADC driver. |
|
(neug_wait_full): New. |
|
|
|
* ChibiOS_2.0.8/os/hal/platforms/STM32/adc_lld.h (ADC_SAMPLE_1P5): |
|
Add (from new API). |
|
|
|
* src/random.c (random_init): New. |
|
(random_bytes_get, random_bytes_free, get_salt): Use NeuG. |
|
|
|
* src/Makefile.in (CSRC): Add neug.c. |
|
|
|
* src/neug.c: New. Verbatim copy of NeuG/src/random.c. |
|
|
|
* boards/common/mcuconf-common.h (USE_STM32_ADC1): TRUE for NewG RNG. |
|
* src/chconf.h (CH_USE_SEMAPHORES): TRUE as ADC driver requires it. |
|
* src/halconf.h (CH_HAL_USE_ADC); TRUE for NewG RNG. |
|
|
|
2011-07-22 NIIBE Yutaka <[email protected]> |
|
|
|
* boards/OLIMEX_STM32_H103/board.h (BOARD_NAME): Fixed. |
|
|
|
* boards/STBEE_MINI/mcuconf.h: Added missing include of |
|
mcuconf-common.h. |
|
|
|
2011-07-04 NIIBE Yutaka <[email protected]> |
|
|
|
* ChibiOS_2.0.8/os/ports/GCC/ARMCMx/chcore_v7m.c |
|
(_port_irq_epilogue, _port_switch_from_isr): Apply a patch of 2.2.6. |
|
|
|
* ChibiOS_2.0.8/os/hal/platforms/STM32/adc_lld.h: Apply a patch of |
|
ADC from the branch of ChibiOS_2.0.X. |
|
|
|
2011-06-15 NIIBE Yutaka <[email protected]> |
|
|
|
* Version 0.13. |
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
|
|
2011-06-08 NIIBE Yutaka <[email protected]> |
|
|
|
* polarssl-0.14.0/include/polarssl/bn_mul.h [__arm__] |
|
(MULADDC_1024_CORE, MULADDC_1024_LOOP): New. |
|
* polarssl-0.14.0/library/bignum.c (mpi_mul_hlp): Use |
|
MULADDC_1024_LOOP. |
|
|
|
2011-05-31 NIIBE Yutaka <[email protected]> |
|
|
|
* polarssl-0.14.0/include/polarssl/bn_mul.h [__arm__] |
|
(MULADDC_HUIT, MULADDC_INIT, MULADDC_CORE, MULADDC_STOP): Tweak. |
|
|
|
2011-05-27 NIIBE Yutaka <[email protected]> |
|
|
|
* tool/gnuk_put_binary.py (main): Confirm Serial ID is written |
|
correctly. |
|
|
|
* src/openpgp.c (cmd_write_binary): Fix FILE_EF_SERIAL comparison. |
|
|
|
* src/gnuk.ld.in (.gnuk_random, .gnuk_ch_certificate): Put LONG to |
|
have CONTENTS. |
|
|
|
* polarssl-0.14.0/include/polarssl/bn_mul.h [__arm__] |
|
(MULADDC_HUIT): New. |
|
|
|
2011-05-26 NIIBE Yutaka <[email protected]> |
|
|
|
* polarssl-0.14.0/include/polarssl/bn_mul.h [__arm__] |
|
(MULADDC_INIT): Add ADDS instruction to clear of carry flag. |
|
(MULADDC_CORE): Tune to 6 instructions and less registers. |
|
(MULADDC_STOP): Add ADC instruction to save carry flag. |
|
|
|
2011-05-25 NIIBE Yutaka <[email protected]> |
|
|
|
* tool/hub_ctrl.py: New. Port of original C implementation. |
|
|
|
2011-05-16 NIIBE Yutaka <[email protected]> |
|
|
|
* src/main.c (main): Call flash_unlock at the beginning. |
|
(device_initialize_once): Don't call flash_unlock here. |
|
* src/flash.c (flash_init): Likewise. |
|
|
|
* src/openpgp.c (cmd_select_file): Don't use write_res_apdu. |
|
(set_res_apdu): Rename from write_res_apdu. Just SW1 and SW2. |
|
|
|
2011-05-13 NIIBE Yutaka <[email protected]> |
|
|
|
* Version 0.12. |
|
|
|
2011-05-12 NIIBE Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (cmd_pso, cmd_internal_authenticate) |
|
(cmd_update_binary, cmd_write_binary): Don't check pw locked. |
|
|
|
* tool/dfuse.py (DFU_STM32.verify): Add missing colon. |
|
* tool/dfuse.py (get_device): Restrict to STMicro DfuSe. |
|
|
|
* tool/gnuk_put_binary.py (main): Add -p option to enter password. |
|
|
|
* src/ac.c (verify_user_0): New. |
|
(verify_pso_cds, verify_admin_0): Use verify_user_0. |
|
* src/openpgp.c (cmd_change_password): Use verify_user_0. |
|
|
|
* src/random.c (get_salt): Rename from get_random. |
|
(random_bytes_get, random_bytes_free): It's 16-byte. |
|
|
|
* src/ac.c (verify_admin_0): Use PW_ERR_PW1 counter when |
|
authenticated by PW1. |
|
|
|
2011-05-11 NIIBE Yutaka <[email protected]> |
|
|
|
* src/ac.c (verify_pso_cds, verify_other): Fail (with no counter |
|
update) if key is not registered yet. |
|
(verify_admin_0): Compare to OPENPGP_CARD_INITIAL_PW3 when empty |
|
PW3 and non-empty PW1 but signing key is not registered yet. |
|
|
|
* tool/gnuk_put_binary.py: New implementation by pyscard. |
|
|
|
* src/main.c (device_initialize_once): New. |
|
* src/usb_prop.c (gnukStringSerial): Move to... |
|
* src/usb_desc.c (gnukStringSerial): here. Bump version to 0.12. |
|
Fill by 0xff. |
|
* src/usb_prop.c (gnuk_device_init) |
|
(gnuk_device_GetStringDescriptor): Don't use RAM for |
|
gnukStringSerial, use ROM like other string descriptor. |
|
* src/usb_desc.c (String_Descriptor): Add gnukStringSerial. |
|
|
|
* src/openpgp-do.c (gpg_get_pw1_lifetime): Make static. |
|
(gpg_do_load_prvkey, gpg_do_write_prvkey): Use kdi. |
|
(gpg_increment_digital_signature_counter): Call gpg_get_pw1_lifetime. |
|
* src/openpgp.c (cmd_pso): Follow the change. |
|
* src/flash.c (keystore_pool): Remove. Use &_keystore_pool. |
|
* src/ac.c (auth_status): Don't assign 0 as it's automatically |
|
cleared. |
|
|
|
2011-05-10 NIIBE Yutaka <[email protected]> |
|
|
|
* src/openpgp-do.c (gpg_pw_locked): Rename from gpg_passwd_locked. |
|
(gpg_pw_get_err_counter): Rename from gpg_get_pw_err_counter. |
|
(gpg_pw_reset_err_counter): Rename from gpg_reset_pw_err_counter. |
|
(gpg_pw_increment_err_counter): Rename from gpg_increment_err_counter. |
|
* src/ac.c, src/openpgp.c, src/gnuk.h: Follow the change. |
|
|
|
Bug fixes. |
|
* src/openpgp.c (cmd_reset_user_password, cmd_change_password) |
|
* src/openpgp-do.c (proc_resetting_code): Fix check of return value. |
|
* src/ac.c (ac_fini): Clear keystring_md_pw3. |
|
|
|
Prevent observation of PW3 is emptiness by PW3's error counter. |
|
Support verify_admin by PW1 when PW3 is empty. |
|
* src/ac.c (admin_authorized): New. |
|
(verify_admin_0): Set admin_authorized. |
|
* src/openpgp-do.c (proc_resetting_code): Use admin_authorized. |
|
(gpg_do_write_prvkey): Clear dek_encrypted_3 when keystring_admin |
|
is NULL. |
|
(proc_key_import): Checking admin_authorized, set keystring_admin. |
|
* src/openpgp.c (cmd_reset_user_password): Use admin_authorized. |
|
|
|
2011-04-18 NIIBE Yutaka <[email protected]> |
|
|
|
* gnuk.svg: Updated. |
|
|
|
2011-04-15 NIIBE Yutaka <[email protected]> |
|
|
|
* Version 0.11. |
|
|
|
* src/usb_prop.c (gnukStringSerial): Updated. |
|
|
|
2011-04-11 NIIBE Yutaka <[email protected]> |
|
|
|
* tool/dfuse.py (DFU_STM32.verify): support data size of non-1-KiB. |
|
|
|
2011-02-24 NIIBE Yutaka <[email protected]> |
|
|
|
* src/usb_prop.c (gnuk_device_SetInterface): Fix argument to |
|
ClearDTOG_TX. |
|
|
|
2011-02-10 NIIBE Yutaka <[email protected]> |
|
|
|
* Version 0.10. |
|
|
|
* src/configure, src/Makefile.in (BOARD_DIR): New. |
|
|
|
* boards/CQ_STARM/board.mk, boards/OLIMEX_STM32_H103/board.mk: |
|
Removed. |
|
* boards/STBEE/board.mk, boards/STBEE_MINI/board.mk: Removed. |
|
* boards/STM32_PRIMER2/board.mk, boards/STM8S_DISCOVERY/board.mk: |
|
Removed. |
|
|
|
* src/Makefile.in (OUTFILES): Don't include random_bits. |
|
|
|
2011-02-09 NIIBE Yutaka <[email protected]> |
|
|
|
* src/usb_prop.c (gnukStringSerial): Updated. |
|
|
|
* tool/gnuk_put_binary.py (gnuk_token.__del__): Removed. |
|
Releasing the interface is done in PyUSB. |
|
|
|
* tool/dfuse.py (DFU_STM32.__del__): Removed. |
|
|
|
* src/openpgp.c (cmd_write_binary): Support random bits and card |
|
holder certificate as well. |
|
|
|
* src/openpgp-do.c (do_openpgpcard_aid): Add volatile to prevent |
|
compiler optimization to access AID. |
|
|
|
2011-02-08 NIIBE Yutaka <[email protected]> |
|
|
|
* tool/gnuk_put_binary.py: Renamed (was: gnuk_update_binary.py). |
|
(gnuk_token.cmd_write_binary): New. |
|
(main): Support writing serial number. |
|
|
|
* GNUK_SERIAL_NUMBER: Renamed (was: FSIJ_SERIAL_NUMBER). |
|
|
|
* src/config.h.in (@SERIAL_DEFINE@): Removed. |
|
|
|
* src/gnuk.h (FILEID_SERIAL_NO): New. |
|
|
|
* src/openpgp.c (INS_WRITE_BINARY, cmd_write_binary): New. |
|
|
|
* src/configure: Remove --with-fixed-serial support. |
|
|
|
* src/openpgp-do.c (do_openpgpcard_aid): Remove support of |
|
SERIAL_NUMBER_IN_AID. |
|
|
|
* src/flash.c (flash_write_binary): Support FILEID_SERIAL_NO. |
|
|
|
2011-02-04 NIIBE Yutaka <[email protected]> |
|
|
|
* tool/gnuk_update_binary.py: Support updating random bits. |
|
|
|
* src/random.c (random_bits_start): Renamed. |
|
(random_bytes_get): Check initial erased state. |
|
|
|
* src/Makefile.in (random-data.o): Removed. |
|
|
|
* src/gnuk.ld.in (.gnuk_random): Don't have .gnuk_random any more. |
|
|
|
* src/flash.c (flash_erase_binary): Support FILEID_RANDOM. |
|
(flash_write_binary): Ditto. |
|
|
|
* src/openpgp.c (cmd_reset_user_password): Fix PINPAD_SUPPORT case |
|
with reset code. |
|
|
|
2011-02-01 NIIBE Yutaka <[email protected]> |
|
|
|
* Version 0.9. |
|
|
|
* src/openpgp-do.c (extended_capabilities): Change value for card |
|
holder certificate. |
|
|
|
* src/usb_prop.c (gnuk_device_SetInterface): New. |
|
|
|
2011-01-29 NIIBE Yutaka <[email protected]> |
|
|
|
* src/usb_prop.c (gnuk_device_Get_Interface_Setting): Handle the |
|
case where we have multiple interfaces. |
|
|
|
2011-01-28 NIIBE Yutaka <[email protected]> |
|
|
|
* tool/gnuk_update_binary.py: New. |
|
|
|
* src/openpgp-do.c (gpg_do_get_data): Fix length adding two for |
|
status word at the end and adding four for the tag and the length. |
|
|
|
* src/usb-icc.c (icc_handle_data): Fix decrementing res_APDU_size. |
|
(icc_power_off): Status should be the one *after* power off. |
|
|
|
* src/openpgp.c (cmd_update_binary): Fix return code. |
|
|
|
2011-01-27 NIIBE Yutaka <[email protected]> |
|
|
|
* src/usb-icc.c (res_APDU_pointer): New. |
|
(icc_handle_data, USBthread): Handle res_APDU_pointer. |
|
|
|
* src/openpgp.h (GPG_COMMAND_NOT_ALLOWED): New. |
|
|
|
* src/openpgp.c (INS_UPDATE_BINARY, FILE_EF_CH_CERTIFICATE) |
|
(FILE_EF_RANDOM, cmd_update_binary): New. |
|
(process_command_apdu): Initialize res_APDU_pointer. |
|
|
|
* src/openpgp-do.c (gpg_do_get_data): Handle GPG_DO_CH_CERTIFICATE. |
|
|
|
* src/gnuk.ld.in (.gnuk_ch_certificate): New. |
|
|
|
* src/flash.c (flash_check_blank, flash_erase_binary) |
|
(flash_write_binary): New. |
|
|
|
* src/openpgp-do.c (gpg_do_table): Exclude GPG_DO_CH_CERTIFICATE. |
|
|
|
* src/openpgp.c (cmd_reset_user_password): Add PINPAD_SUPPORT. |
|
|
|
* src/gnuk.ld.in: Fix alignment and filling. |
|
|
|
2011-01-26 NIIBE Yutaka <[email protected]> |
|
|
|
* boards/STBEE/mcuconf.h: New. |
|
* boards/STBEE/board.mk: New. |
|
* boards/STBEE/board.h: New. |
|
* boards/STBEE/board.c: New. |
|
|
|
* tool/dfuse.py (DFU_STM32.verify): Add double ll_clear_status. |
|
|
|
* src/configure (target): Add STBEE. |
|
|
|
2011-01-25 NIIBE Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (cmd_pso): Support DigestInfo by MD5 (for opensc). |
|
|
|
2011-01-22 NIIBE Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (cmd_pgp_gakp): Handle case of non-extended Lc. |
|
(cmd_select_file): Return DF name when FCI is requested. |
|
|
|
* src/openpgp-do.c (copy_do): Don't add tag if not requested. |
|
|
|
* src/gnuk.h (memmove): Add declaration. |
|
|
|
2011-01-21 NIIBE Yutaka <[email protected]> |
|
|
|
* src/openpgp-do.c (copy_do): Fix off-by-one error. |
|
|
|
* src/openpgp.c (get_pinpad_input): Ifdef-out PINPAD_SUPPORT. |
|
|
|
2011-01-19 NIIBE Yutaka <[email protected]> |
|
|
|
* Version 0.8. |
|
|
|
* src/pin-cir.c (pin_main): Fix typo, call cir_ext_disable. |
|
|
|
* src/usb_prop.c (gnukStringSerial): Updated. |
|
|
|
* src/pin-dial.c: New. |
|
|
|
* boards/STBEE_MINI/board.c (hwinit1): Add PINPAD_DIAL_SUPPORT. |
|
(dial_sw_disable, dial_sw_enable, EXTI2_IRQHandler): New. |
|
|
|
* src/gnuk.h: Add PINPAD_DIAL_SUPPORT. |
|
|
|
* src/usb-icc.c (icc_handle_data): Handle PIN modification. |
|
|
|
* src/usb_desc.c (gnukConfigDescriptor): bPinSupport = 3 when |
|
PINPAD_DIAL_SUPPORT is enabled. |
|
|
|
2011-01-18 NIIBE Yutaka <[email protected]> |
|
|
|
* src/pin-cir.c (pin_main): Call cir_ext_disable at the end. |
|
|
|
2011-01-17 NIIBE Yutaka <[email protected]> |
|
|
|
* src/gnuk.h (PIN_INPUT_CURRENT, PIN_INPUT_NEW) |
|
(PIN_INPUT_CONFIRM): New. |
|
|
|
* src/pin-cir.c (pin_main): New argument MSG_CODE. |
|
|
|
* src/openpgp.c (get_pinpad_input): New. |
|
(cmd_verify): Use get_pinpad_input. |
|
(cmd_change_password): Added PINPAD_SUPPORT. |
|
|
|
* src/openpgp.c (cmd_nop): Removed. |
|
|
|
* src/config.h.in: ifdef-out (not for ASSEMBLER). |
|
|
|
2011-01-15 NIIBE Yutaka <[email protected]> |
|
|
|
* Version 0.7. |
|
|
|
* src/usb-icc.c (icc_handle_data): Bug fix: add break for case |
|
ICC_STATE_SEND. |
|
|
|
2011-01-14 NIIBE Yutaka <[email protected]> |
|
|
|
* Version 0.6. |
|
|
|
* src/usb_prop.c (gnukStringSerial): Include version number (again). |
|
|
|
* boards/STM8S_DISCOVERY/board.c (hwinit1): Initialize TIM3 and |
|
remap TIM3. |
|
(cir_ext_disable, cir_ext_enable, EXTI9_5_IRQHandler) |
|
(TIM3_IRQHandler): New. |
|
|
|
* boards/STBEE_MINI/board.h (HAVE_7SEGLED): New. |
|
|
|
* boards/STM8S_DISCOVERY/board.h: Include "config.h". |
|
(VAL_GPIOBODR): PB0 (TIM3_CH3) is pull-down for PINPAD_SUPPORT. |
|
|
|
* src/pin-cir.c (pindisp): Handle the board with no 7 segment |
|
display. |
|
|
|
2011-01-11 NIIBE Yutaka <[email protected]> |
|
|
|
* src/openpgp-do.c (do_openpgpcard_aid): Fix length of res_p; |
|
|
|
2011-01-08 NIIBE Yutaka <[email protected]> |
|
|
|
* src/usb-icc.c (icc_handle_data): Handle the case of |
|
ICC_STATE_SEND (back again to the implementation of v0.4). |
|
(USBthread): Don't send back larger block (for libccid 1.3.11). |
|
|
|
2011-01-07 NIIBE Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (cmd_read_binary): Call gpg_do_get_data for AID. |
|
|
|
* src/openpgp-do.c (gpg_do_get_data): Added new argument WITH_TAG. |
|
|
|
* src/usb_prop.c (gnuk_device_init) |
|
(gnuk_device_GetStringDescriptor): gnukStringSerial with unique |
|
chip ID. |
|
|
|
* src/openpgp-do.c (do_openpgpcard_aid): New. |
|
(openpgpcard_aid): Removed. |
|
|
|
* boards/common/hw_config.c (unique_device_id): New. |
|
|
|
2011-01-06 NIIBE Yutaka <[email protected]> |
|
|
|
* src/config.h.in (PINPAD_MORE_DEFINE): Added. |
|
|
|
* src/configure: Requiring bash (for variable substitution), added |
|
PINPAD. |
|
|
|
* src/Makefile.in: Support PINPAD. |
|
|
|
* src/pin-cir.c (cir_timer_interrupt): Support Sharp protocol. |
|
|
|
2011-01-04 NIIBE Yutaka <[email protected]> |
|
|
|
* src/chconf.h (CH_USE_DYNAMIC): It's TRUE now. |
|
|
|
* src/usb_desc.c (gnukConfigDescriptor): Added PINPAD_SUPPORT. |
|
|
|
* src/pin-cir.c (cir_timer_interrupt): Added CIR_PERIOD_INHIBIT_CHATTER. |
|
|
|
2010-12-29 NIIBE Yutaka <[email protected]> |
|
|
|
* src/pin-cir.c (cir_timer_interrupt): Support Philips RC-5 protocol. |
|
|
|
2010-12-28 NIIBE Yutaka <[email protected]> |
|
|
|
* src/pin-cir.c (cir_timer_interrupt): Support Philips RC-6 protocol. |
|
|
|
2010-12-27 NIIBE Yutaka <[email protected]> |
|
|
|
* src/pin-cir.c (cir_timer_interrupt): Support Sony protocol. |
|
|
|
2010-12-24 NIIBE Yutaka <[email protected]> |
|
|
|
* src/pin-cir.c: New file. |
|
|
|
2010-12-20 NIIBE Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (GPGthread): Added PINPAD_SUPPORT. |
|
* boards/STBEE_MINI/mcuconf.h: Simplified. |
|
* boards/STBEE_MINI/board.h: Include config.h. |
|
(PINPAD_SUPPORT): Added. |
|
* boards/STBEE_MINI/board.c (hwinit1): Added PINPAD_SUPPORT. |
|
|
|
2010-12-15 NIIBE Yutaka <[email protected]> |
|
|
|
* src/configure (FLASH_SIZE): Without 'k'. |
|
* src/gnuk.ld.in (MEMORY): Append "k" here. |
|
(.gnuk_flash): End point should be aligned too. |
|
|
|
* src/config.h.in (@PINPAD_DEFINE@): New. |
|
* src/Makefile.in (@PINPAD_MAKE_OPTION@): New. |
|
* src/configure (PINPAD_MAKE_OPTION, PINPAD_DEFINE): New. |
|
|
|
2010-12-14 NIIBE Yutaka <[email protected]> |
|
|
|
* src/configure (FLASH_PAGE_SIZE): Always set. |
|
|
|
2010-12-13 NIIBE Yutaka <[email protected]> |
|
|
|
* Version 0.5. |
|
|
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
|
|
2010-12-10 NIIBE Yutaka <[email protected]> |
|
|
|
* src/usb-cdc-vport.c (Virtual_Com_Port_Data_Setup) |
|
(Virtual_Com_Port_NoData_Setup): No check for class&interface |
|
request. |
|
|
|
* src/usb-icc.c (ATR): Fixed. |
|
|
|
* src/usb_desc.c (/* ICC Descriptor*/): bcdCCID = 1.1. |
|
dwDefaultClock = dwMaximumClock = 3571. |
|
dwFeatures 0x00040842. |
|
|
|
* src/usb_prop.c (gnuk_clock_frequencies, gnuk_data_rates): New. |
|
(gnuk_nothing_todo): Removed. |
|
(gnuk_setup_with_data, gnuk_setup_with_nodata): New. |
|
(Device_Property): Changed to call gnuk_setup_with_data and |
|
gnuk_setup_with_nodata. |
|
|
|
2010-12-09 NIIBE Yutaka <[email protected]> |
|
|
|
* src/usb-icc.c (icc_power_off): Set icc_data_size = 0 to specify |
|
no command APDU. Signal GPGThread. |
|
(icc_handle_data, USBthread): Don't signal main thread any more. |
|
|
|
* src/openpgp.c (GPGthread): Only process the command APDU, if any. |
|
|
|
* src/openpgp-do.c (do_tag_to_nr): Don't call fatal. |
|
* src/main.c (fatal_code): New. |
|
(main): Implemented 1-bit LED status display. |
|
(fatal): Added argument CODE. |
|
* src/flash.c (flash_data_pool_allocate): Supply argument FATAL_FLASH. |
|
* src/random.c (random_bytes_get): Supply argument FATAL_RANDOM. |
|
* src/ac.c (auth_status): Added volatile, and remove static. |
|
|
|
2010-12-08 NIIBE Yutaka <[email protected]> |
|
|
|
* src/gnuk.h (AC_OTHER_AUTHORIZED): Renamed (was: |
|
AC_PSO_OTHER_AUTHORIZED). |
|
* src/ac.c (ac_reset_other): Renamed (was: ac_reset_pso_other). |
|
(verify_other): Renamed (was: verify_pso_other). |
|
(ac_reset_admin): New. |
|
* src/openpgp.c (cmd_change_password): Call ac_reset_admin. |
|
|
|
* src/main.c (main): Don't create GPGThread here. |
|
* src/usb-icc.c (icc_power_on): But create here, when requested. |
|
(icc_power_off): Terminate GPGThread. |
|
* src/openpgp.c (gpg_init, gpg_fini): New. |
|
(GPGthread): Check chThdShouldTerminate. Call gpg_init and gpg_fini. |
|
|
|
2010-12-07 NIIBE Yutaka <[email protected]> |
|
|
|
USB CCID/ICC implementation changes. |
|
* src/usb_desc.c (dwMaxCCIDMessageLength): Updated. |
|
* src/usb-icc.c (EV_TX_FINISHED): New. |
|
(icc_rcv_data, icc_tx_data): Removed. |
|
(icc_buffer, icc_seq): New. |
|
(icc_next_p, icc_chain_p): New. |
|
(icc_tx_ready): Removed. |
|
(EP1_IN_Callback): Handle multiple transactions. |
|
(icc_prepare_receive): New. |
|
(EP2_OUT_Callback): Handle multiple transactions. |
|
(icc_error, icc_send_status): Handle the case of receive in chain. |
|
(icc_power_on, icc_send_params): Specify it's a single transaction. |
|
(icc_send_data_block_filling_header): New. |
|
(icc_send_data_block): Simplify. |
|
(icc_handle_data): Removed the case of ICC_STATE_SEND. |
|
Handle buffer of multiple transactions. |
|
(USBthread): Don't use sending in chain. |
|
* src/gnuk.h (USB_LL_BUF_SIZE): New. |
|
(USB_BUF_SIZE): Now, it's larger value. |
|
* src/configure: Echo for --enable-debug. |
|
* src/call-rsa.c (rsa_sign): Use temp[] buffer as rsa_pkcs1_sign |
|
writes OUTPUT in early stage. |
|
|
|
2010-12-04 NIIBE Yutaka <[email protected]> |
|
|
|
* src/flash.c (flash_keystore_release): Reset keystore storage. |
|
|
|
2010-12-03 NIIBE Yutaka <[email protected]> |
|
|
|
Keystore management changes. |
|
* src/flash.c (flash_key_alloc): Check FLASH_KEYSTORE_SIZE. |
|
(flash_key_release): Removed. |
|
(flash_keystore_release): New function. |
|
* src/openpgp-do.c (gpg_do_write_prvkey): Make it static. |
|
When there is a key already, return as error. |
|
(proc_key_import): Call flash_keystore_release when all keys removed. |
|
* src/gnuk.ld.in (_keystore_pool): Size of keystore is now 1.5KB. |
|
|
|
2010-11-30 NIIBE Yutaka <[email protected]> |
|
|
|
Flash ROM fixes for STM32F10X_HD. |
|
* src/gnuk.ld.in (.gnuk_flash): Use FLASH_PAGE_SIZE. |
|
* src/configure (FLASH_PAGE_SIZE): Defined for gnuk.ld. |
|
* src/flash.c (FLASH_PAGE_SIZE): New define. |
|
(FLASH_DATA_POOL_SIZE): Use FLASH_PAGE_SIZE. |
|
|
|
Import changes of ChibiOS_2.0.8. |
|
* ChibiOS_2.0.8/os/hal/include/pwm.h |
|
* ChibiOS_2.0.8/os/hal/platforms/STM32/pwm_lld.c |
|
* ChibiOS_2.0.8/os/hal/platforms/STM32/pwm_lld.h |
|
* ChibiOS_2.0.8/os/hal/src/pwm.c |
|
* ChibiOS_2.0.8/os/hal/templates/pwm_lld.c |
|
* ChibiOS_2.0.8/os/hal/templates/pwm_lld.h |
|
* ChibiOS_2.0.8/os/kernel/include/ch.h |
|
* ChibiOS_2.0.8/os/kernel/src/chevents.c |
|
* ChibiOS_2.0.8/os/kernel/src/chthreads.c |
|
* ChibiOS_2.0.8/boards/OLIMEX_LPC_P2148/board.h |
|
* ChibiOS_2.0.8/readme.txt |
|
* ChibiOS_2.0.8/test/testdyn.c |
|
* ChibiOS_2.0.8/docs/*/*: Updated. |
|
|
|
New private key management. |
|
* src/ac.c (ac_reset_pso_cds, ac_reset_pso_other): Call |
|
gpg_do_clear_prvkey. |
|
(verify_pso_other): load private keys here. |
|
* src/openpgp-do.c (kd): Keydata for Signing, Decryption, and |
|
Authentication. |
|
(gpg_do_load_prvkey, gpg_do_write_prvkey): Use kd[]. |
|
(gpg_do_clear_prvkey): New function. |
|
* src/openpgp.c (cmd_pso, cmd_internal_authenticate): Use new API |
|
of rsa_sign and rsa_decrypt. |
|
(cmd_pso): Fixed bug of checking return value of gpg_get_pw1_lifetime. |
|
* src/call-rsa.c (rsa_sign): New argument KD. |
|
(rsa_decrypt): Likewise. |
|
|
|
Don't use malloc/free in C library. |
|
* src/stdlib.h (malloc, free): Use chHeapAlloc and chHeapFree. |
|
|
|
2010-11-26 NIIBE Yutaka <[email protected]> |
|
|
|
* boards/STM8S_DISCOVERY/*: New. |
|
* src/configure: STM8S_DISCOVERY only has 64KB flash memory. |
|
|
|
* boards/STBEE_MINI/board.h (CPU_WITH_NO_GPIOE): New define. |
|
* ChibiOS_2.0.6/os/hal/platforms/STM32/hal_lld.c: Use it. |
|
* ChibiOS_2.0.6/os/hal/platforms/STM32/pal_lld.c: Likewise. |
|
* ChibiOS_2.0.6/os/hal/platforms/STM32/pal_lld.h: Likewise. |
|
|
|
* src/openpgp.c (cmd_pso): DigestInfo by SHA224/SHA384/SHA512 is |
|
supported. |
|
|
|
2010-11-22 NIIBE Yutaka <[email protected]> |
|
|
|
Import changes of ChibiOS_2.0.6. |
|
* ChibiOS_2.0.6/demos/ARM7-AT91SAM7X-LWIP-GCC/chconf.h |
|
* ChibiOS_2.0.6/os/hal/include/can.h |
|
* ChibiOS_2.0.6/os/hal/platforms/AT91SAM7/hal_lld.c |
|
* ChibiOS_2.0.6/os/hal/platforms/AT91SAM7/serial_lld.c |
|
* ChibiOS_2.0.6/os/hal/platforms/LPC214x/serial_lld.c |
|
* ChibiOS_2.0.6/os/hal/platforms/STM32/hal_lld_f103.h |
|
* ChibiOS_2.0.6/os/hal/platforms/STM32/hal_lld_f105_f107.h |
|
* ChibiOS_2.0.6/os/hal/platforms/STM32/pwm_lld.c |
|
* ChibiOS_2.0.6/os/hal/platforms/STM32/serial_lld.h |
|
* ChibiOS_2.0.6/os/hal/platforms/STM32/spi_lld.h |
|
* ChibiOS_2.0.6/os/hal/src/adc.c |
|
* ChibiOS_2.0.6/os/hal/src/spi.c |
|
* ChibiOS_2.0.6/os/kernel/include/ch.h |
|
* ChibiOS_2.0.6/os/kernel/include/chinline.h |
|
* ChibiOS_2.0.6/os/kernel/include/chioch.h |
|
* ChibiOS_2.0.6/os/kernel/include/chstreams.h |
|
* ChibiOS_2.0.6/os/kernel/include/chthreads.h |
|
* ChibiOS_2.0.6/os/kernel/src/chlists.c |
|
* ChibiOS_2.0.6/os/kernel/src/chschd.c |
|
* ChibiOS_2.0.6/os/kernel/src/chthreads.c |
|
* ChibiOS_2.0.6/os/ports/GCC/ARM/rules.mk |
|
* ChibiOS_2.0.6/os/ports/GCC/ARM7/chcore.h |
|
* ChibiOS_2.0.6/os/ports/GCC/ARM7/port.dox |
|
* ChibiOS_2.0.6/os/ports/GCC/ARMCMx/chcore_v6m.c |
|
* ChibiOS_2.0.6/os/ports/GCC/ARMCMx/chcore_v6m.h |
|
* ChibiOS_2.0.6/os/ports/GCC/ARMCMx/chcore_v7m.c |
|
* ChibiOS_2.0.6/os/ports/GCC/ARMCMx/chcore_v7m.h |
|
* ChibiOS_2.0.6/os/ports/GCC/ARMCMx/old/chcore_v7m.h |
|
* ChibiOS_2.0.6/os/ports/GCC/AVR/chcore.h |
|
* ChibiOS_2.0.6/os/ports/GCC/AVR/port.dox |
|
* ChibiOS_2.0.6/os/ports/GCC/MSP430/chcore.c |
|
* ChibiOS_2.0.6/os/ports/GCC/MSP430/chcore.h |
|
* ChibiOS_2.0.6/os/ports/GCC/MSP430/port.dox |
|
* ChibiOS_2.0.6/os/ports/GCC/PPC/chcore.h |
|
* ChibiOS_2.0.6/os/ports/GCC/PPC/port.dox |
|
* ChibiOS_2.0.6/os/ports/RC/STM8/port.dox |
|
* ChibiOS_2.0.6/os/various/memstreams.h |
|
* ChibiOS_2.0.6/readme.txt |
|
* ChibiOS_2.0.6/docs/*/*: Updated |
|
|
|
2010-11-14 NIIBE Yutaka <[email protected]> |
|
|
|
* src/openpgp.c (cmd_pso): DigestInfo by SHA256 is supported. |
|
|
|
2010-11-12 NIIBE Yutaka <[email protected]> |
|
|
|
* src/usb_desc.c (gnukConfigDescriptor): Change dwFeatures. |
|
|
|
* src/usb-icc.c (icc_send_params): Always return fixed result. |
|
(icc_handle_data): Support ICC_GET_PARAMS. |
|
|
|
2010-11-10 NIIBE Yutaka <[email protected]> |
|
|
|
* src/usb_desc.c (gnukConfigDescriptor): Fix bmAttributes. |
|
|
|
2010-11-09 NIIBE Yutaka <[email protected]> |
|
|
|
* Version 0.4. |
|
|
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
|
|
* ChibiOS_2.0.2/os/hal/platforms/STM32/pal_lld.h (PALConfig): |
|
STBee Mini uses STM32F103CBT6 which expose no GPIO E port. |
|
* ChibiOS_2.0.2/os/hal/platforms/STM32/pal_lld.c (_pal_lld_init): |
|
Likewise. |
|
|
|
2010-11-08 NIIBE Yutaka <[email protected]> |
|
|
|
* tool/dump_mem.py: New tool. |
|
|
|
Implement GC for data pool in flash memory. |
|
* src/openpgp-do.c (gpg_write_digital_signature_counter): New. |
|
(gpg_increment_digital_signature_counter): Fix for GC. |
|
(gpg_data_scan): Rename from gpg_do_table_init. |
|
(gpg_data_copy): New function for copying GC. |
|
* src/main.c (main): Call gpg_data_scan with the address which |
|
flash_init returns. |
|
* src/flash.c (flash_erase_page): New function. |
|
(FLASH_DATA_POOL_SIZE): data_pool is 2KiB now. |
|
(flash_data): Put a header (GC generation). |
|
(flash_init): Implement choosing a data pool page. |
|
(flash_data_pool): Removed. |
|
(flash_copying_gc): New function. |
|
(flash_data_pool_allocate): Call flash_copying_gc when full. |
|
(flash_do_write_internal, flash_put_data_internal) |
|
(flash_bool_write_internal, flash_cnt123_write_internal): New |
|
* src/gnuk.ld.in (gnuk_flash): data_pool is 2KiB now. |
|
|
|
Bug fixes. |
|
* src/openpgp.c (cmd_change_password, cmd_reset_user_password): |
|
Write to APDU correctly. |
|
* src/flash.c (flash_warning): Make it public. |
|
* src/openpgp-do.c (do_hist_bytes, do_fp_all, do_cafp_all) |
|
(do_kgtime_all, do_ds_count): Fix return value. |
|
(rw_pw_status): Correctly return value. |
|
(proc_resetting_code): Change func proto. to return success/failure. |
|
(proc_key_import): Ditto. |
|
(gpg_do_put_data): Handle return values. |
|
(gpg_do_write_simple): Don't write to APDU. |
|
|
|
2010-11-05 NIIBE Yutaka <[email protected]> |
|
|
|
Bug fixes. |
|
* src/openpgp.c (gpg_change_keystring): Handle |
|
GPG_KEY_FOR_AUTHENTICATION. |
|
* src/openpgp-do.c (gpg_do_write_prvkey): Remove multiple call |
|
of flash_do_release. |
|
|
|
Bug fix. |
|
* src/openpgp-do.c (gpg_do_write_prvkey): Don't hardcode 6, but |
|
use strlen. |
|
|
|
* src/flash.c, src/gnuk.ld.in: Rename "Flash DO Pool" to "Flash |
|
Data Pool", because it's not only DO. |
|
* src/gnuk.h, src/opengpg-do.c: Cleanup. |
|
|
|
Digital Signature Counter implementation improvement. |
|
* src/gnuk.h (NR_DO_DS_COUNT): Removed. |
|
(NR_COUNTER_DS, NR_COUNTER_DS_LSB): New. |
|
* src/openpgp-do.c (do_ds_count_initial_value): Removed. |
|
(gpg_do_increment_digital_signature_counter): Removed. |
|
(digital_signature_counter): New variable. |
|
(do_ds_count, gpg_increment_digital_signature_counter): New functions. |
|
(gpg_do_table): Change the entry for GPG_DO_DS_COUNT as DO_PROC_READ. |
|
(gpg_do_table_init): Handle digital_signature_counter. |
|
* src/flash.c (flash_data_pool_allocate, flash_put_data): New. |
|
|
|
Password status implementation improvement. |
|
* src/gnuk.h (PW_STATUS_PW1, PW_STATUS_RC, PW_STATUS_PW3): Removed. |
|
(PW_ERR_PW1, PW_ERR_RC, PW_ERR_PW3): New define. |
|
(NR_COUNTER_123, NR_BOOL_PW1_LIFETIME): New define. |
|
(NR_NONE, NR_EMPTY): New define. |
|
* src/flash.c (flash_bool_clear, flash_bool_write) |
|
(flash_cnt123_get_value, flash_cnt123_increment) |
|
(flash_cnt123_clear): New functions. |
|
* src/openpgp-do.c (do_pw_status_bytes_template): Removed. |
|
(PW_STATUS_BYTES_TEMPLATE, gpg_do_reset_pw_counter): Removed. |
|
(PASSWORD_ERRORS_MAX, PW_LEN_MAX): New define. |
|
(pw1_lifetime_p, pw_err_counter_p): New variables. |
|
(gpg_get_pw1_lifetime): New function. |
|
(gpg_get_pw_err_counter, gpg_passwd_locked, gpg_reset_pw_counter) |
|
(gpg_increment_pw_counter): New functions. |
|
(rw_pw_status): Use pw1_lifetime_p and pw_err_counter_p. |
|
(gpg_do_table_init): Handle NR_COUNTER_123 and NR_BOOL_PW1_LIFETIME. |
|
* src/ac.c (verify_pso_cds, verify_pso_other, verify_admin_0): |
|
Follow the changes. |
|
* src/openpgp.c (cmd_change_password, cmd_reset_user_password) |
|
(cmd_pso, cmd_internal_authenticate): Likewise. |
|
|
|
2010-11-04 NIIBE Yutaka <[email protected]> |
|
|
|
* src/flash.c (flash_warning): New. |
|
(flash_do_pool): Added header for DO pool. |
|
(flash_do_release): Fill zero. |
|
(flash_do_write): Change DO format in flash. |
|
* src/openpgp-do.c (gpg_do_table_init, copy_do_1) |
|
(gpg_do_read_simple): Follow the change of DO format in flash. |
|
|
|
* src/openpgp-do.c (DO_CMP_READ): Renamed. |
|
(cmp_ch_data, cmp_app_data, cmp_ss_temp): Likewise. |
|
(with_tag): Removed static global variable. |
|
(do_hist_bytes, do_fp_all, do_cafp_all, do_kgtime_all) |
|
(rw_pw_status, copy_do_1, copy_do, gpg_do_get_data): Added |
|
with_tag argument. |
|
(gpg_do_put_data): length > 255 will be error. |
|
|
|
2010-11-03 NIIBE Yutaka <[email protected]> |
|
|
|
Bug fixes. |
|
* src/ac.c (verify_admin_0): Initialize pwsb earlier. |
|
* src/openpgp-do.c (copy_do_1): Access do_data[0] (was: do_data[1]). |
|
|
|
2010-11-02 NIIBE Yutaka <[email protected]> |
|
|
|
DfuSe support. |
|
* tool/dfuse.py (DFU_STM32.download): Put '#' for each 4-KiB. |
|
Added 0-length write to finish download. |
|
Take intel_hex object as argument. |
|
(DFU_STM32.ll_upload_block): New method. |
|
(DFU_STM32.dfuse_read_memory): New method. |
|
(DFU_STM32.verify): New method. |
|
(get_device): Support DFU_STM32PROTOCOL_0 too (for CQ STARM). |
|
|
|
* tool/dfuse.py: Renamed from dfu_stmicroelectronics_extention.py. |
|
|
|
2010-11-01 NIIBE Yutaka <[email protected]> |
|
|
|
* tool/intel_hex.py: New file. |
|
* tool/dfu_stmicroelectronics_extention.py: New file. |
|
|
|
2010-10-28 NIIBE Yutaka <[email protected]> |
|
|
|
* src/gnuk.h (OPENPGP_CARD_INITIAL_PW3): New. |
|
* src/ac.c (verify_admin_0): Use OPENPGP_CARD_INITIAL_PW3. |
|
|
|
2010-10-23 NIIBE Yutaka <[email protected]> |
|
|
|
* Version 0.3. |
|
|
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
|
|
2010-10-22 NIIBE Yutaka <[email protected]> |
|
|
|
* src/gnuk.ld.in (.gnuk_random): Fix description so that |
|
padding with 0xffffffff will be in gnuk.hex. |
|
|
|
* src/openpgp.c (file_selection): Change type (was: int). |
|
(FILE_NONE..FILE_EF_SERIAL): Change the values. |
|
|
|
* src/configure: Added STBee Mini support. |
|
* boards/STBEE_MINI/mcuconf.h: New. |
|
* boards/STBEE_MINI/board.mk: New. |
|
* boards/STBEE_MINI/board.h: New. |
|
* boards/STBEE_MINI/board.c: New. |
|
|
|
* ChibiOS_2.0.2/os/hal/platforms/STM32/hal_lld.c |
|
(pal_default_config): STBee Mini uses STM32F103CBT6 which expose |
|
no GPIO E port. |
|
|
|
2010-10-21 NIIBE Yutaka <[email protected]> |
|
|
|
* boards/common/hw_config.c (Get_SerialNum): Removed. |
|
* src/usb_prop.c (gnuk_device_init): Remove calling Get_SerialNum. |
|
* src/usb_desc.c (gnukStringSerial): Updated. |
|
* boards/CQ_STARM/board.c (set_led): Fix polarity. |
|
|
|
2010-10-20 NIIBE Yutaka <[email protected]> |
|
|
|
* FSIJ_SERIAL_NUMBER: New. |
|
* src/configure (with_fsij): Added FSIJ serial number support. |
|
* src/config.h.in (@FSIJ_DEFINE@, @SERIAL_NUMBER_FOUR_BYTES@): New. |
|
|
|
* src/configure: Added CQ STARM target. |
|
* boards/CQ_STARM/mcuconf.h: New. |
|
* boards/CQ_STARM/board.mk: New. |
|
* boards/CQ_STARM/board.h: New. |
|
* boards/CQ_STARM/board.c: New. |
|
|
|
2010-10-19 NIIBE Yutaka <[email protected]> |
|
|
|
* boards/STM32_PRIMER2/board.mk (BOARDSRC): Use common/hw_config.c. |
|
* boards/OLIMEX_STM32_H103/board.mk (BOARDSRC): Likewise. |
|
|
|
* boards/common/hw_config.c: Move board specific functions to ... |
|
* boards/STM32_PRIMER2/board.c (USB_Cable_Config, set_led): ... here. |
|
* boards/OLIMEX_STM32_H103/board.c (USB_Cable_Config, set_led): Ditto. |
|
|
|
* boards/{OLIMEX_STM32_H103,STM32_PRIMER2}/hw_config.c: Removed. |
|
* boards/common/hw_config.c: New file (was: boards/*/hw_config.c). |
|
|
|
* .gitignore: New file. |
|
|
|
2010-10-16 NIIBE Yutaka <[email protected]> |
|
|
|
Implement "INTERNAL AUTHENTICATE" command. |
|
|
|
* src/gnuk.h (BY_USER, BY_RESETCODE, BY_ADMIN): New defines. |
|
(NUM_ALL_PRV_KEYS): Now it's 3 (was: 2). |
|
|
|
* src/openpgp.c (INS_INTERNAL_AUTHENTICATE): New define. |
|
(cmd_internal_authenticate): New function. |
|
(cmds): Added INS_INTERNAL_AUTHENTICATE. |
|
(cmd_change_password): Use BY_USER. |
|
(cmd_reset_user_password): Use BY_USER, BY_RESETCODE, BY_ADMIN. |
|
(cmd_pso): Load GPG_KEY_FOR_DECRYPTION here. |
|
(cmd_pso): Removed adding status word into res_APDU... |
|
* src/call-rsa.c (rsa_sign): and moved adding status word into |
|
res_APDU here. |
|
|
|
* src/ac.c (pw1_keystring): New variable. |
|
(ac_reset_pso_other): Clear pw1_keystring. |
|
(verify_pso_cds): Use BY_USER. |
|
(verify_pso_other): Just check the length of password here, and |
|
defer real check to cmd_pso or cmd_internal_authenticate. |
|
|
|
2010-10-14 NIIBE Yutaka <[email protected]> |
|
|
|
Adding 'configure' support. |
|
* src/configure: New file. |
|
* src/Makefile.in: Renamed from src/Makefile. |
|
* src/config.h: Renamed from src/config.h. |
|
* src/gnuk.ld: Renamed from src/gnuk.ld. |
|
|
|
Adding DFU_SUPPORT. |
|
* boards/common/hwinit0.c: New file adding DFU_SUPPORT. |
|
* boards/common/hwinit1.c: New file. |
|
* boards/OLIMEX_STM32_H103/board.c: Include config.h. |
|
Use common/hwinit0.c and common/hwinit1.c. |
|
* boards/STM32_PRIMER2/board.c: Likewise. |
|
|
|
2010-09-16 NIIBE Yutaka <[email protected]> |
|
|
|
* src/usb-icc.c (icc_error): New function. |
|
(icc_handle_data): Call icc_error. |
|
Don't go to STATE_START on errors. |
|
|
|
2010-09-13 NIIBE Yutaka <[email protected]> |
|
|
|
* Version 0.2. |
|
|
|
* src/openpgp.c (cmd_select_file): Override data of number_of_bytes. |
|
|
|
* src/openpgp-do.c (gpg_do_table_init): Calculate number of byte |
|
which Data Objects consumes. |
|
|
|
2010-09-12 Kaz Kojima <[email protected]> |
|
|
|
* src/call-rsa.c (rsa_decrypt): Debug output only when DEBUG. |
|
|
|
* boards/STM32_PRIMER2/hw_config.c (USB_Cable_Config): Fix GPIO. |
|
(set_led): Ditto. |
|
|
|
* boards/STM32_PRIMER2/board.c (hwinit1): Added LED initialization. |
|
|
|
2010-09-11 NIIBE Yutaka <[email protected]> |
|
|
|
* src/usb-icc.c (ATR): Fixed. |
|
(icc_send_params): New function. |
|
(icc_handle_data): Handle ICC_SET_PARAMS request. |
|
|
|
* src/random.c (random_bytes_get, random_bytes_free, get_random): |
|
Clear used random bytes. |
|
|
|
* src/flash.c (flash_clear_halfword): New function. |
|
|
|
2010-09-10 NIIBE Yutaka <[email protected]> |
|
|
|
* Version 0.1. |
|
|
|
* src/usb_desc.c (gnukStringSerial): Change the value so that |
|
libccid doesn't get confused. |
|
|
|
* src/openpgp.c (gpg_change_keystring): Support key for decryption |
|
as well. |
|
(cmd_read_binary): Use openpgpcard_aid. |
|
(cmd_pso): call ac_reset_pso_other. |
|
|
|
* src/openpgp-do.c (openpgpcard_aid): Renamed from aid, and exported. |
|
(do_ds_count_initial_value): New const variable. |
|
(num_prv_keys): New variable. |
|
(gpg_do_write_prvkey): Remove contents of keystring only if |
|
++num_prv_keys == NUM_ALL_PRV_KEYS. |
|
(gpg_do_chks_prvkey): Call flash_do_release. |
|
(gpg_do_table_init): Initialize with do_ds_count_initial_value. |
|
Initialize num_prv_keys. |
|
(gpg_do_write_simple): Support removing DO. |
|
(gpg_do_increment_digital_signature_counter): Call flash_do_release. |
|
|
|
* src/gnuk.h (NUM_ALL_PRV_KEYS): New definition. |
|
(OPENPGP_CARD_INITIAL_PW1): New definition. |
|
(enum kind_of_key): Rename. |
|
|
|
* src/ac.c (ac_reset_pso_cds): New function. |
|
|
|
2010-09-09 Kaz Kojima <[email protected]> |
|
|
|
* boards/STM32_PRIMER2/{board.c,board.h,board.mk,hw_config.c,mcuconf.h}: |
|
New files. |
|
|
|
* boards/OLIMEX_STM32_H103/{mcuconf.h,hw_config.c}: Moved from src. |
|
|
|
* src/main.c (main): Use set_led instead of palClearPad directly. |
|
|
|
2010-09-08 NIIBE Yutaka <[email protected]> |
|
|
|
* src/ac.c (calc_md): Make SHA1 variable auto. |
|
|
|
* src/debug.c (put_int): New. |
|
|
|
* src/gnuk.ld (__process_stack_size__): Removed. |
|
|
|
* src/main.c (STDOUTthread): Use Event. |
|
(main): Make LED ON during command execution, blink usually. |
|
|
|
* src/openpgp-do.c (encrypt, decrypt): Make AES variables auto. |
|
(gpg_do_table): GPG_DO_ALG_AUT is NULL. |
|
|
|
* src/openpgp.c (cmd_pso): Bug fix for extended Lc. |
|
|
|
* src/usb-icc.c (icc_power_off): Make LED ON during command |
|
execution. |
|
(USB_ICC_TIMEOUT): Longer value (was: 1000). |
|
|
|
* src/usb_desc.c (gnukConfigDescriptor): Fix bcdCCID value. |
|
|
|
* src/vcomport.mk (VCOMSRC): Use our own usb_endp.c. |
|
|
|
* src/usb_desc.c (gnukConfigDescriptor): ICC Descriptor is |
|
Revision 1.0. |
|
|
|
* polarssl-0.14.0/include/polarssl/config.h: Commend out |
|
POLARSSL_SELF_TEST. |
|
|
|
* polarssl-0.14.0/library/rsa.c (rsa_private): Don't check input, |
|
so that we don't access ctx->N. |
|
(rsa_pkcs1_decrypt): size of BUF is enough as 256. |
|
|
|
* polarssl-0.14.0/library/sha1.c (sha1_file): #if-out to avoid |
|
stdio of libc. |
|
|
|
* polarssl-0.14.0/library/bignum.c (mpi_write_hlp) |
|
(mpi_write_string, mpi_read_file, mpi_read_file): #if-out to avoid |
|
stdio of libc. |
|
|
|
2010-09-07 NIIBE Yutaka <[email protected]> |
|
|
|
* gnuk.svg: New file. |
|
|
|
2010-09-06 NIIBE Yutaka <[email protected]> |
|
|
|
* Initial version 0.0.
|
|
|