1
2009-03-03 Werner Koch <wk@g10code.com>
3
* command.c (scd_command_handler): Remove dereference of STOPME
6
2009-02-27 Werner Koch <wk@g10code.com>
8
* app.c (get_supported_applications): New.
9
* command.c (cmd_getinfo): New subcommand "app_list"
11
(register_commands): Register command KILLSCD.
12
(struct server_local_s): Add field STOPME.
13
(scd_command_handler): Act upon this.
15
2009-02-25 Werner Koch <wk@g10code.com>
17
* apdu.c (apdu_get_status): Factor all code out to ...
18
(apdu_private_get_status): .. new. Add arg NO_ATR_RESET.
19
(apdu_connect): Call new function.
21
* scdaemon.c: New option --debug-log-tid.
22
(tid_log_callback): New.
23
(main): Move debug-wait code after debug stream init.
25
2009-02-24 Werner Koch <wk@g10code.com>
27
* ccid-driver.c (ccid_get_atr): Move debug output to ..
28
(print_r2p_parameters): .. new.
29
(print_r2p_header, print_pr_data, print_r2p_unknown)
30
(print_r2p_datablock, print_r2p_slotstatus, print_r2p_escape)
31
(print_r2p_datarate): New.
32
(bulk_in): Call parameter printing.
33
(ccid_set_debug_level): Add debug level 3.
34
(convert_le_u16): New.
35
(print_p2r_header, print_p2r_iccpoweron, print_p2r_iccpoweroff)
36
(print_p2r_getslotstatus, print_p2r_xfrblock)
37
(print_p2r_getparameters, print_p2r_resetparameters)
38
(print_p2r_setparameters, print_p2r_escape, print_p2r_iccclock)
39
(print_p2r_to0apdu, print_p2r_secure, print_p2r_mechanical)
40
(print_p2r_abort, print_p2r_setdatarate, print_r2p_unknown): New.
41
(bulk_out): Add arg NO_DEBUG and change all callers to pass 0.
42
Call parameter printing.
43
(ccid_slot_status): Call with NO_DEBUG set.
44
(abort_cmd, send_escape_cmd, ccid_get_atr, ccid_get_atr)
45
(ccid_transceive_apdu_level, ccid_transceive)
46
(ccid_transceive_secure): Remove old debug print code.
48
2009-02-12 Werner Koch <wk@g10code.com>
50
* command.c (cmd_getinfo): Add new subcommand "deny_admin".
52
2009-01-28 Werner Koch <wk@g10code.com>
54
* scdaemon.c (main): Make --allow-admin the default and make the
57
2009-01-27 Werner Koch <wk@g10code.com>
59
* app-geldkarte.c: Changed to use an AID.
61
* app.c (app_munge_serialno): Add case for no serialno.
62
(app_get_serial_and_stamp): Ditto.
64
2009-01-26 Werner Koch <wk@g10code.com>
66
* app-geldkarte.c: New.
67
* Makefile.am (card_apps): Add new file.
68
* app.c (select_application): Test for geldkarte.
70
2009-01-12 Werner Koch <wk@g10code.com>
72
* command.c (send_client_notifications) [HAVE_W32_SYSTEM]: Fix
75
2009-01-08 Werner Koch <wk@g10code.com>
77
* iso7816.c (iso7816_read_record, iso7816_read_binary): Pass 0 for
78
L_e because the problem with the CCID driver has gone.
79
(iso7816_apdu_direct): New.
81
* app-nks.c (filelist): Add NKS_VER field. Add NKS 3 specific
83
(app_local_s, do_deinit): New.
84
(get_nks_version): New.
85
(app_select_nks): Setup local data.
86
(keygripstr_from_pk_file): Replace SLOT by APP and take care of
88
(do_learn_status): Take care of NKS version.
90
2009-01-05 Werner Koch <wk@g10code.com>
92
* apdu.c (apdu_get_status): Save the last status.
94
2008-12-18 Werner Koch <wk@g10code.com>
96
* ccid-driver.c (abort_cmd): New.
97
(bulk_in): Call abort_cmd after severe errors.
99
* apdu.c (reader_table_s): Add field ANY_STATUS.
100
(new_reader_slot): Clear it.
101
(apdu_get_status): Use ANY_STATUS to update the change counter.
102
Remove the use of the flag bit from LAST_STATUS everywhere.
103
* command.c (update_reader_status_file): Factor code out to ...
104
(send_client_notifications): New. Track signals already sent.
105
(update_reader_status_file): Shutdown the reader after a failed
108
2008-12-09 Werner Koch <wk@g10code.com>
110
* scdaemon.c (main): Call i18n_init before init_common_subsystems.
112
2008-12-08 Werner Koch <wk@g10code.com>
114
* scdaemon.c (handle_connections): Sync ticker to the next full
116
(TIMERTICK_INTERVAL_USEC): Change to 500ms.
118
2008-12-05 Werner Koch <wk@g10code.com>
120
* app-openpgp.c (app_local_s): Add field ALGO_ATTR_CHANGE.
121
(app_select_openpgp): Parse new capability.
122
(show_caps): Show new capability.
124
2008-12-03 Werner Koch <wk@g10code.com>
126
* scdaemon.c (opts): Use ARGPARSE_ macros. Add option
128
* command.c (update_reader_status_file): Implement it.
130
2008-11-18 Werner Koch <wk@g10code.com>
132
* scdaemon.c (make_libversion): New.
133
(my_strusage): Print libgcrypt and libksba version.
135
2008-11-03 Werner Koch <wk@g10code.com>
137
* command.c (server_local_s): Add field DISCONNECT_ALLOWED.
138
(cmd_disconnect): Implement command.
139
(open_card): Reset disconnect flag.
140
(update_reader_status_file): Disconnect if allowed.
142
* app-common.h (app_ctx_s): Remove INITIALIZED. Make REF_COUNT
144
* app.c (select_application): Remove INITIALIZED.
145
(app_write_learn_status, app_readcert, app_readkey, app_getattr)
146
(app_setattr, app_sign, app_decipher, app_writecert)
147
(app_writekey, app_get_challenge, app_change_pin, app_check_pin):
148
Replace INITIALIZED by REF_COUNT check.
149
(application_notify_card_removed): Rename to ..
150
(application_notify_card_reset): .. this. Change all callers.
151
* command.c (do_reset): Call application_notify_card_reset after
153
(update_reader_status_file): Add arg SET_CARD_REMOVED.
154
(scd_update_reader_status_file): Pass true for new flag.
155
(do_reset): Pass false for new flag.
157
* app.c (app_get_serial_and_stamp): Use bin2hex.
158
* app-help.c (app_help_get_keygrip_string): Ditto.
159
* app-p15.c (send_certinfo, send_keypairinfo, do_getattr): Ditto.
160
* app-openpgp.c (send_fpr_if_not_null, send_key_data)
161
(retrieve_fpr_from_card, send_keypair_info): Ditto.
162
* app-nks.c (keygripstr_from_pk_file): Ditto.
163
* command.c (cmd_apdu): Ditto.
165
2008-10-21 Marcus Brinkmann <marcus@g10code.com>
167
* command.c (open_card): If connect error is SW_HOST_NO_CARD,
168
return a more descriptive error.
170
2008-10-20 Werner Koch <wk@g10code.com>
172
* pcsc-wrapper.c (read_32): Use provided arg and not stdin. Is
173
called with stdin, though.
174
(handle_close): Mark unused arg.
175
(handle_status, handle_reset): Ditto.
177
* ccid-driver.c (ccid_check_card_presence): Mark not yet used arg.
179
* scdaemon.c (scd_deinit_default_ctrl): Mark unused arg.
180
* command.c (cmd_unlock, cmd_restart, cmd_disconnect): Ditto.
181
* apdu.c (ct_get_status): Ditto.
182
(ct_send_apdu, pcsc_send_apdu_wrapped)
183
(apdu_open_remote_reader): Ditto.
184
* app.c (select_application): Ditto.
185
* app-openpgp.c (do_writecert, do_change_pin, do_writekey): Ditto.
186
* app-nks.c (do_change_pin, do_check_pin): Ditto.
188
2008-10-16 Werner Koch <wk@g10code.com>
190
* command.c (cmd_disconnect): New dummy command.
191
(register_commands): Register command.
193
2008-10-15 Werner Koch <wk@g10code.com>
195
* command.c (scd_command_handler): Return true if there is no more
197
* scdaemon.c (start_connection_thread): Set shutdown flag if
198
requested by command handler.
199
(main): Make PIPE_SERVER module global.
200
(handle_connections): Disable listen_fd if a shutdown is pending.
202
2008-10-14 Werner Koch <wk@g10code.com>
204
* apdu.c (reader_table_s): Add fields connect_card and
206
(new_reader_slot): Set them to NULL.
207
(apdu_connect, apdu_disconnect): New.
208
(apdu_close_reader, apdu_shutdown_reader): Call apdu_disconnect.
209
(connect_pcsc_card, disconnect_pcsc_card): new.
210
(reset_pcsc_reader_direct): Implement in terms of
211
disconnect_pcsc_card and connect_pcsc_card.
212
(apdu_get_atr): Return NULL if there is no ATR.
213
* sc-copykeys.c (main): Add call to apdu_connect.
214
* command.c (open_card): Ditto.
216
* apdu.h (SW_HOST_ALREADY_CONNECTED): New.
217
(APDU_CARD_USABLE, APDU_CARD_PRESENT, APDU_CARD_ACTIVE): New.
218
* apdu.c: Replace constants by the new macros.
219
(open_pcsc_reader): Factor code out to ...
220
(open_pcsc_reader_direct, open_pcsc_reader_wrapped): New.
221
(reset_pcsc_reader): Factor code out to ...
222
(reset_pcsc_reader_direct, reset_pcsc_reader_wrapped): New.
223
(pcsc_get_status): Factor code out to ...
224
(pcsc_get_status_direct, pcsc_get_status_wrapped): New.
225
(pcsc_send_apdu): Factor code out to ...
226
(pcsc_send_apdu_direct, pcsc_send_apdu_wrapped): New.
227
(close_pcsc_reader): Factor code out to ...
228
(close_pcsc_reader_direct, close_pcsc_reader_wrapped): New.
230
* command.c (update_reader_status_file): Open the reader if not
233
* scdaemon.c (TIMERTICK_INTERVAL_SEC, TIMERTICK_INTERVAL_USEC):
234
New to replace TIMERTICK_INTERVAL. Chnage from 2s (4 under W32)
237
2008-10-13 Werner Koch <wk@g10code.com>
239
* command.c (option_handler) [W32]: Use strtoul with base 16.
240
(update_reader_status_file) [W32]: Set Event.
241
(scd_command_handler): Use INT2FD to silent warning.
243
2008-09-29 Werner Koch <wk@g10code.com>
245
* scdaemon.h (GCRY_MD_USER): Rename to GCRY_MODULE_ID_USER.
246
(GCRY_MD_USER_TLS_MD5SHA1): Rename to MD_USER_TLS_MD5SHA1 and
249
2008-09-28 Marcus Brinkmann <marcus@g10code.com>
251
* apdu.c (pcsc_get_status): Fix last change.
253
2008-09-25 Werner Koch <wk@g10code.com>
255
* app-openpgp.c (do_setattr): Do not allow setting of the reset
257
(do_change_pin): Allow setting of the reset code.
259
2008-09-24 Werner Koch <wk@g10code.com>
261
* app-openpgp.c (verify_chv3): Set the did_chv3 flag which was
262
accidently removed on 2008-03-26.
263
(verify_chv2): Revert last change.
264
(do_change_pin): Do not change CHV2. Add reset code logic for v2
266
* iso7816.c (iso7816_reset_retry_counter_with_rc): New.
268
* app-openpgp.c (add_tlv, build_privkey_template): New.
269
(do_writekey): Support v2 keys and other key lengths than 1024.
270
* iso7816.c (iso7816_put_data_odd): New.
272
2008-09-23 Werner Koch <wk@g10code.com>
274
* app-openpgp.c (do_sign): Support SHA-2 digests.
275
(verify_chv2): No CHV auto-sync for v2 cards.
276
(do_auth): Allow 2048 bit keys.
277
(parse_algorithm_attribute): New.
278
(rsa_key_format_t): New.
279
(struct app_local_s): Add struct KEYATTR.
281
2008-09-23 Marcus Brinkmann <marcus@g10code.com>
283
* apdu.c (pcsc_get_status): Be more relaxed with the usable flag
286
2008-09-23 Werner Koch <wk@g10code.com>
288
* app-openpgp.c (do_setattr): Use command chaining for long
290
* iso7816.c (iso7816_put_data): Add arg EXTENDED_MODE. Change all
292
* apdu.c (apdu_send_simple): Add arg EXTENDED_MODE. Change all
294
(send_le): Implement command chaining.
295
* ccid-driver.c (ccid_transceive_apdu_level): Increase allowed
297
(ccid_transceive): Alow for APDUS of up to 259 bytes.
298
* apdu.h: Add new SW_ codes.
300
2008-09-16 Werner Koch <wk@g10code.com>
302
* command.c (cmd_writecert): New.
303
(register_commands): Register it.
304
* app-common.h (app_ctx_s): Add member WRITECERT.
305
* app.c (app_writecert): New.
306
* app-openpgp.c (do_writecert): New.
307
(parse_historical): New.
309
(dump_all_do): Print only the length of longs DOs.
310
* command.c (cmd_writekey, cmd_apdu, cmd_pksign)
311
(cmd_passwd): Replace open coding by skip_options.
313
2008-08-30 Moritz <moritz@gnu.org>
315
* scdaemon.c (main): Use estream_asprintf instead of asprintf.
316
* command.c (update_reader_status_file): Likewise.
317
(cmd_serialno): Use estream_asprintf instead of asprintf
318
and xfree instead of free to release memory allocated
319
through (estream_)asprintf.
320
(cmd_learn): Likewise.
322
* app-openpgp.c (get_public_key): Likewise.
324
2008-08-18 Werner Koch <wk@g10code.com>
326
* app-openpgp.c (do_setattr): Fix test for v2 cards.
328
2008-08-11 Werner Koch <wk@g10code.com>
330
* apdu.c (reset_pcsc_reader, open_pcsc_reader)
331
(reset_rapdu_reader, open_rapdu_reader): Allow ATRs of up to 33
332
bytes. Provide maximum size of ATR buffer using DIM. Such long
333
ATR are never seen in reality but the PC/SC library of MAC OS X is
334
just too buggy. Reported by Ludovic Rousseau. Fixes bug #948.
336
2008-07-30 Werner Koch <wk@g10code.com>
338
* app-openpgp.c (verify_a_chv): Use xtrymalloc and make the prompt
339
for CHV2 more user friendly.
341
2008-07-03 Werner Koch <wk@g10code.com>
343
* app-openpgp.c (do_readcert): New.
344
(app_local_s): Add fields IS_V2 and MAX_CERTLEN_3.
345
(app_select_openpgp): Set them and register do_readcert.
346
(do_setattr): Allow storing of the certificate.
348
2008-06-25 Werner Koch <wk@g10code.com>
350
* app-dinsig.c (do_sign): Allow for SHA256.
352
2008-06-24 Werner Koch <wk@g10code.com>
354
* app-common.h (app_ctx_s): Renamed reset_mode parameter of
355
change_pin to mode_Flags and make it an unsigned int.
356
(APP_CHANGE_FLAG_RESET, APP_CHANGE_FLAG_NULLPIN): New.
357
* app-openpgp.c (do_change_pin): Adjust for that.
359
* command.c (cmd_passwd): Add option --nullpin.
360
* app-nks.c (do_check_pin, do_change_pin): New.
361
(app_select_nks): Register new functions.
363
2008-04-21 Moritz Schulte <mo@g10code.com> (wk)
365
* app-openpgp.c (verify_a_chv): Make use of the default CHV flag.
1
367
2008-03-26 Werner Koch <wk@g10code.com>
3
369
* app-openpgp.c (verify_chv3): Support the keypad.