(show_key_with_all_names): Print the card S/N.
[gnupg.git] / scd / ChangeLog
1 2004-09-11  Werner Koch  <wk@g10code.com>
2
3         * app-openpgp.c (app_select_openpgp): Its app_munge_serialno and
4         not app_number_serialno.
5
6 2004-08-20  Werner Koch  <wk@g10code.de>
7
8         * app.c (select_application): Fixed serial number extraction and
9         added the BMI card workaround.
10         (app_munge_serialno): New.
11         * app-openpgp.c (app_select_openpgp): Try munging serialno.
12
13 2004-08-05  Werner Koch  <wk@g10code.de>
14
15         * scdaemon.c (main): New option --disable-application.
16         * app.c (is_app_allowed): New.
17         (select_application): Use it to check for disabled applications.
18
19         * ccid-driver.h (CCID_DRIVER_ERR_ABORTED): New.
20         * ccid-driver.c (ccid_open_reader): Support the stable 0.1 version
21         of libusb.
22         (ccid_get_atr): Handle short messages.
23
24         * apdu.c (my_rapdu_get_status): Implemented.
25
26 2004-07-27  Moritz Schulte  <moritz@g10code.com>
27
28         * apdu.c: Include <signal.h>.
29
30         * Makefile.am: Use @DL_LIBS@ instead of -ldl.
31
32 2004-07-22  Werner Koch  <wk@g10code.de>
33
34         * Makefile.am: Make OpenSC lib link after libgcrypt. Do not link
35         to pth.
36         * apdu.c: Don't use Pth if we use OpenSC.
37         * sc-investigate.c, scdaemon.c: Disable use of pth if OpenSC is used. 
38
39         * scdaemon.c (main): Bumbed thread stack size up to 512k.
40
41 2004-07-16  Werner Koch  <wk@gnupg.org>
42
43         * apdu.c (reader_table_s):  Add function pointers for the backends.
44         (apdu_close_reader, apdu_get_status, apdu_activate) 
45         (send_apdu): Make use of them.
46         (new_reader_slot): Intialize them to NULL.
47         (dump_ccid_reader_status, ct_dump_reader_status): New.
48         (dump_pcsc_reader_status): New.
49         (open_ct_reader, open_pcsc_reader, open_ccid_reader) 
50         (open_osc_reader, open_rapdu_reader): Intialize function pointers.
51         (ct_activate_card, ct_send_apdu, pcsc_send_apdu, osc_send_apdu) 
52         (error_string): Removed.  Replaced by apdu_strerror.
53         (get_ccid_error_string): Removed.
54         (ct_activate_card): Remove the unused loop.
55         (reset_ct_reader): Implemented.
56         (ct_send_apdu): Activate the card if not yet done.
57         (pcsc_send_apdu): Ditto.
58
59 2004-07-15  Werner Koch  <wk@gnupg.org>
60
61         * ccid-driver.h: Add error codes.
62         * ccid-driver.c: Implement more or less proper error codes all
63         over the place.
64
65         * apdu.c (apdu_send_direct): New.
66         (get_ccid_error_string): Add some error code mappings.
67         (send_apdu): Pass error codes along for drivers already supporting
68         them.
69         (host_sw_string): New.
70         (get_ccid_error_string): Use above.
71         (send_apdu_ccid): Reset the reader if it has not yet been done.
72         (open_ccid_reader): Don't care if the ATR can't be read.
73         (apdu_activate_card): New.
74         (apdu_strerror): New.
75         (dump_reader_status): Only enable it with opt.VERBOSE.
76         * iso7816.c (map_sw): Add mappings for the new error codes.
77
78 2004-07-02  Werner Koch  <wk@gnupg.org>
79
80         * apdu.c (open_ct_reader, open_pcsc_reader, open_ccid_reader)
81         (reset_ccid_reader, open_osc_reader): Call dump_reader_status only
82         in verbose mode.
83
84 2004-07-01  Werner Koch  <wk@gnupg.org>
85
86         * sc-investigate.c: Initialize Pth which is now required.
87         (interactive_shell): New command "readpk".
88
89         * app-openpgp.c (do_getattr): Fix for sending CA-FPR.
90
91 2004-06-30  Werner Koch  <wk@gnupg.org>
92
93         * app-openpgp.c (app_openpgp_readkey): Fixed check for valid
94         exponent.
95
96 2004-06-18  Werner Koch  <wk@g10code.com>
97
98         * sc-investigate.c (my_read_line): Renamed from read_line.
99
100 2004-06-16  Werner Koch  <wk@gnupg.org>
101
102         * apdu.c (osc_get_status): Fixed type in function name. Noted by
103         Axel Thimm.  Yes, I didn't tested it with OpenSC :-(.
104
105 2004-04-28  Werner Koch  <wk@gnupg.org>
106
107         * app-openpgp.c (do_setattr): Sync FORCE_CHV1.
108
109 2004-04-27  Werner Koch  <wk@gnupg.org>
110
111         * app-common.h: Do not include ksba.h for gnupg 1.
112
113 2004-04-26  Werner Koch  <wk@gnupg.org>
114
115         * app-common.h: New members FNC.DEINIT and APP_LOCAL.
116         * app.c (release_application): Call new deconstructor.
117         * app-openpgp.c (do_deinit): New.
118         (get_cached_data, flush_cache_item, flush_cache_after_error)
119         (flush_cache): New.
120         (get_one_do): Replaced arg SLOT by APP.  Make used of cached data.
121         (verify_chv2, verify_chv3): Flush some cache item after error.
122         (do_change_pin): Ditto.
123         (do_sign): Ditto.
124         (do_setattr): Flush cache item.
125         (do_genkey): Flush the entire cache.
126         (compare_fingerprint): Use cached data.
127
128         * scdaemon.c (main): Do the last change the usual way. This is so
129         that we can easily test for versioned config files above.
130
131 2004-04-26  Marcus Brinkmann  <marcus@g10code.de>
132
133         * scdaemon.c (main): For now, always print default filename for
134         --gpgconf-list, and never /dev/null.
135
136 2004-04-21  Werner Koch  <wk@gnupg.org>
137
138         * command.c (scd_update_reader_status_file): Send a signal back to
139         the client.
140         (option_handler): Parse the new event-signal option.
141
142         * scdaemon.c (handle_signal): Do not use SIGUSR{1,2} anymore for
143         changing the verbosity.
144
145 2004-04-20  Werner Koch  <wk@gnupg.org>
146
147         * command.c (scd_update_reader_status_file): Write status files.
148
149         * app-help.c (app_help_read_length_of_cert): Fixed calculation of
150         R_CERTOFF.
151
152         * pcsc-wrapper.c: New.
153         * Makefile.am (pkglib_PROGRAMS): Install it here.
154         * apdu.c (writen, readn): New.
155         (open_pcsc_reader, pcsc_send_apdu, close_pcsc_reader): Use the
156         pcsc-wrapper if we are using Pth.
157         (apdu_send_le): Reinitialize RESULTLEN.  Handle SW_EOF_REACHED
158         like SW_SUCCESS.
159
160 2004-04-19  Werner Koch  <wk@gnupg.org>
161
162         * ccid-driver.c (parse_ccid_descriptor): Store some of the reader
163         features away.  New arg HANDLE
164         (read_device_info): New arg HANDLE. Changed caller.
165         (bulk_in): Handle time extension requests.
166         (ccid_get_atr): Setup parameters and the IFSD.
167         (compute_edc): New. Factored out code.
168         (ccid_transceive): Use default NADs when required.
169
170 2004-04-14  Werner Koch  <wk@gnupg.org>
171
172         * scdaemon.h (server_control_s): Add member READER_SLOT.
173         * scdaemon.c (scd_init_default_ctrl): Initialize READER_SLOT to -1.
174         * command.c (open_card): Reuse an open slot.
175         (reset_notify): Just reset the slot if supported by the reader.
176         (do_reset): Factored code from above out.
177         (scd_command_handler): Use it for cleanup.
178
179         * apdu.h: New pseudo stati SW_HOST_NOT_SUPPORTED,
180         SW_HOST_LOCKING_FAILED and SW_HOST_BUSY.
181         * iso7816.c (map_sw): Map it.
182         
183         * ccid-driver.c (ccid_slot_status): Add arg STATUSBITS.
184         * apdu.c (apdu_get_status): New.
185         (ct_get_status, pcsc_get_status, ocsc_get_status): New stubs.
186         (get_status_ccid): New.
187         (apdu_reset): New.
188         (reset_ct_reader, reset_pcsc_reader, reset_osc_reader): New stubs.
189         (reset_ccid_reader): New.
190         (apdu_enum_reader): New.
191         
192         * apdu.c (lock_slot, trylock_slot, unlock_slot): New helpers.
193         (new_reader_slot) [USE_GNU_PTH]: Init mutex.
194         (apdu_reset, apdu_get_status, apdu_send_le): Run functions
195         in locked mode.
196
197         * command.c (scd_update_reader_status_file): New.
198         * scdaemon.c (handle_tick): Call it.
199
200 2004-04-13  Werner Koch  <wk@gnupg.org>
201
202         * scdaemon.c: Convert to a Pth application.
203         (handle_signal, ticker_thread, handle_tick): New.
204         (main): Fire up the ticker thread in server mode.
205
206 2004-03-23  Werner Koch  <wk@gnupg.org>
207
208         * scdaemon.c (main) <gpgconf_list>: Fixed output for pcsc_driver.
209
210 2004-03-17  Werner Koch  <wk@gnupg.org>
211
212         * tlv.c (parse_ber_header): Do not check for tag overflow - it
213         does not make sense.  Simplified the check for length overflow.
214
215         * scdaemon.c (main) <gpgconf>: Fixed default value quoting.
216
217 2004-03-16  Werner Koch  <wk@gnupg.org>
218
219         * app-dinsig.c: Implemented. Based on app-nks.c and card-dinsig.c
220         * app-nks.c (get_length_of_cert): Removed.
221         * app-help.c: New.
222         (app_help_read_length_of_cert): New.  Code taken from above.  New
223         optional arg R_CERTOFF.
224
225         * card-dinsig.c: Removed.
226         * card.c (card_get_serial_and_stamp): Do not bind to the old and
227         never finsiged card-dinsig.c.
228
229         * iso7816.c (iso7816_read_binary): Allow for an NMAX > 254.
230
231 2004-03-11  Werner Koch  <wk@gnupg.org>
232
233         * scdaemon.h (out_of_core): Removed.  Replaced callers by standard
234         gpg_error function.
235
236         * apdu.c, iso7816.c, ccid-driver.c [GNUPG_SCD_MAIN_HEADER]: Allow
237         to include a header defined by the compiler.  This helps us to
238         reuse the source in other software.
239
240 2004-03-10  Werner Koch  <wk@gnupg.org>
241
242         * iso7816.c (iso7816_read_record): New arg SHORT_EF.  Changed all
243         callers.
244
245 2004-02-18  Werner Koch  <wk@gnupg.org>
246
247         * sc-investigate.c (main): Setup the used character set.
248         * scdaemon.c (main): Ditto.
249
250         * scdaemon.c (set_debug): New.  Add option --debug-level.
251         (main): Add option --gpgconf-list.
252
253 2004-02-12  Werner Koch  <wk@gnupg.org>
254
255         * Makefile.am: Include cmacros.am for common flags.
256
257 2004-01-29  Werner Koch  <wk@gnupg.org>
258
259         * command.c (reset_notify): Release the application context and
260         close the reader.
261
262 2004-01-28  Werner Koch  <wk@gnupg.org>
263
264         * iso7816.c (iso7816_manage_security_env): New.
265         (iso7816_decipher): Add PADIND argument.
266
267 2004-01-27  Werner Koch  <wk@gnupg.org>
268
269         * command.c (cmd_readcert, cmd_readkey): Work on a copy of LINE.
270
271         * app-common.h (app_ctx_s): Added readcert field.
272         * app.c (app_readcert): New.
273         * tlv.c (parse_ber_header): Added; taken from libksba.
274
275 2004-01-26  Werner Koch  <wk@gnupg.org>
276
277         * card.c (map_sc_err): Use SCD as the error source.
278
279         * command.c (open_card): ADD arg NAME to allow requesting a
280         specific application.  Changed all callers.
281         (cmd_serialno): Allow optional argument to select the desired
282         application.
283
284         * app-nks.c: New. 
285
286         * scdaemon.h (opt): Add READER_PORT.
287         * scdaemon.c (main): Set it here.
288         * app.c (app_set_default_reader_port): Removed.
289         (select_application): Add NAME arg and figure out a
290         default serial number from the GDO. Add SLOT arg and remove all
291         reader management.
292         (release_application): New.
293         (app_write_learn_status): Output an APPTYPE status line.
294         * command.c (open_card): Adapt for select_application change.
295         * app-openpgp.c (app_select_openpgp): Removed SN and SNLEN args
296         and set it directly.  Changed all callers.
297
298 2004-01-25  Werner Koch  <wk@gnupg.org>
299
300         * iso7816.c (iso7816_select_application): P1 kludge for OpenPGP
301         card.
302         * app-openpgp.c (find_tlv): Factor out this function to ..
303         * tlv.c, tlv.h: .. new.
304
305         * scdaemon.h: Introduced app_t and ctrl_t as the new types for APP
306         and CTRL.
307
308 2004-01-21  Werner Koch  <wk@gnupg.org>
309
310         * apdu.c (apdu_send_le): Treat SW_EOF_REACHED as a warning.
311
312 2004-01-20  Werner Koch  <wk@gnupg.org>
313
314         * iso7816.c (iso7816_read_binary): New.
315         (iso7816_select_file): New.
316         (iso7816_list_directory): New.
317
318         * sc-investigate.c: Add option -i.
319         (select_app, read_line, interactive_shell): New.
320
321 2004-01-16  Werner Koch  <wk@gnupg.org>
322
323         * apdu.h: Add SW_FILE_NOT_FOUND.
324         * iso7816.c (map_sw): Map it to GPG_ERR_ENOENT.
325         * iso7816.c (iso7816_select_file): New.
326
327         * app-dinsig.c: New file w/o any real code yet.
328         * Makefile.am (scdaemon_SOURCES,sc_investigate_SOURCES): Add file.
329
330         * sc-investigate.c: Add option --disable-ccid.
331
332 2003-12-19  Werner Koch  <wk@gnupg.org>
333
334         * apdu.c (apdu_send_le): Send a get_response with the indicated
335         length and not the 64 bytes we used for testing.
336
337         * app-openpgp.c (verify_chv2, verify_chv3, do_sign): Check the
338         minimum length of the passphrase, so that we don't need to
339         decrement the retry counter.
340
341 2003-12-17  Werner Koch  <wk@gnupg.org>
342
343         * card-p15.c (p15_enum_keypairs): Replaced KRC by RC.
344         * card-dinsig.c (dinsig_enum_keypairs): Ditto.
345
346 2003-12-16  Werner Koch  <wk@gnupg.org>
347
348         * scdaemon.c (main): Set the prefixes for assuan logging.
349
350 2003-11-17  Werner Koch  <wk@gnupg.org>
351
352         * scdaemon.c, scdaemon.h: New options --allow-admin and --deny-admin.
353         * app-openpgp.c (verify_chv3): Check it here.
354
355 2003-11-12  Werner Koch  <wk@gnupg.org>
356
357         Adjusted for API changes in Libksba.
358
359 2003-10-30  Werner Koch  <wk@gnupg.org>
360
361         * apdu.c (close_ct_reader, close_pcsc_reader): Implemented.
362         (get_ccid_error_string): New.  Not very useful messages, though.
363
364 2003-10-25  Werner Koch  <wk@gnupg.org>
365
366         * ccid-driver.c (ccid_open_reader): Return an error if no USB
367         devices are found.
368
369         * command.c (cmd_genkey, cmd_passwd): Fixed faulty use of
370         !spacep().
371
372         * apdu.c (apdu_open_reader): Hacks for PC/SC under Windows.
373
374 2003-10-20  Werner Koch  <wk@gnupg.org>
375
376         * command.c (cmd_checkpin): New.
377         (register_commands): Add command CHECKPIN.
378         * app.c (app_check_pin): New.
379         * app-openpgp.c (check_against_given_fingerprint): New. Factored
380         out that code elsewhere.
381         (do_check_pin): New.
382
383 2003-10-10  Werner Koch  <wk@gnupg.org>
384
385         * ccid-driver.c (ccid_close_reader): New.
386
387         * apdu.c (close_ccid_reader, close_ct_reader, close_csc_reader)
388         (close_osc_reader, apdu_close_reader): New.  Not all are properly
389         implemented yet.
390
391 2003-10-09  Werner Koch  <wk@gnupg.org>
392
393         * ccid-driver.c (ccid_transceive): Add T=1 chaining for sending.
394
395 2003-10-08  Werner Koch  <wk@gnupg.org>
396
397         * app-openpgp.c (do_getattr): Support SERIALNO and AID.
398
399 2003-10-01  Werner Koch  <wk@gnupg.org>
400
401         * ccid-driver.c: Detect GnuPG 1.3 and include appropriate files.
402         * apdu.c: Ditto.
403         * app-openpgp.c: Ditto.
404         * iso7816.c: Ditto.
405         (generate_keypair): Renamed to ..
406         (do_generate_keypair): .. this.
407         * app-common.h [GNUPG_MAJOR_VERSION]: New.
408         * iso7816.h [GNUPG_MAJOR_VERSION]: Include cardglue.h
409
410 2003-09-30  Werner Koch  <wk@gnupg.org>
411
412         * command.c (cmd_getattr): New command GETATTR.
413         * app.c (app_setattr): New.
414         (do_getattr): New.
415         (do_learn_status): Reimplemented in terms of do_getattr.
416
417         * app-openpgp.c (do_change_pin): Make sure CVH1 and CHV2 are
418         always synced.
419         (verify_chv2, verify_chv3): New. Factored out common code.
420         (do_setattr, do_sign, do_auth, do_decipher): Change the names of
421         the prompts to match that we have only 2 different PINs.
422         (app_select_openpgp): Check whether the card enforced CHV1.
423         (convert_sig_counter_value): New. Factor out code from
424         get_sig_counter.
425
426 2003-09-28  Werner Koch  <wk@gnupg.org>
427
428         * app-openpgp.c (dump_all_do): Use gpg_err_code and not gpg_error.
429
430 2003-09-19  Werner Koch  <wk@gnupg.org>
431
432         * ccid-driver.c (parse_ccid_descriptor): New.
433         (read_device_info): New.
434         (ccid_open_reader): Check that the device has all required features.
435
436 2003-09-06  Werner Koch  <wk@gnupg.org>
437
438         * scdaemon.c (main): --pcsc-driver again defaults to pcsclite.
439         David Corcoran was so kind to remove the GPL incompatible
440         advertisng clause from pcsclite.
441         * apdu.c (apdu_open_reader): Actually make pcsc-driver option work.
442
443 2003-09-05  Werner Koch  <wk@gnupg.org>
444
445         * ccid-driver.c: More work, data can now actually be retrieved.
446         * ccid-driver.c, ccid-driver.h: Alternativley allow use under BSD
447         conditions.
448
449 2003-09-02  Werner Koch  <wk@gnupg.org>
450
451         * scdaemon.c, scdaemon.h: New option --pcsc-ccid.
452         * ccid-driver.c, ccid-driver.h: New but far from being useful.
453         * Makefile.am: Add above.
454         * apdu.c: Add support for that ccid driver.
455         
456 2003-08-26  Timo Schulz  <twoaday@freakmail.de>
457
458         * apdu.c (new_reader_slot): Only set 'is_osc' when OpenSC
459         is used.
460         
461 2003-08-25  Werner Koch  <wk@gnupg.org>
462
463         * command.c (cmd_setattr): Use a copy of LINE.
464         (cmd_genkey): Use a copy of KEYNO.
465         (cmd_passwd): Use a copy of CHVNOSTR.
466         (cmd_pksign, cmd_pkauth, cmd_pkdecrypt): s/strdup/xtrystrdup/.
467
468 2003-08-19  Werner Koch  <wk@gnupg.org>
469
470         * scdaemon.c, scdaemon.h: New option --pcsc-driver.
471         * apdu.c (apdu_open_reader): Use that option here instead of a
472         hardcoded one.
473
474 2003-08-18  Werner Koch  <wk@gnupg.org>
475
476         * Makefile.am: Add OPENSC_LIBS to all programs. 
477
478         * scdaemon.c, scdaemon.h: New option --disable-opensc.
479         * card.c (card_open): Implement it.
480         * apdu.c (open_osc_reader, osc_send_apdu): New.
481         (apdu_open_reader) [HAVE_OPENSC]: Use the opensc driver if not
482         disabled.
483         (error_string) [HAVE_OPENSC]: Use sc_strerror.
484         (send_apdu) [HAVE_OPENSC]: Call osc_apdu_send.
485
486         * card-p15.c (p15_enum_keypairs, p15_prepare_key): Adjusted for
487         libgpg-error.
488
489 2003-08-14  Timo Schulz  <twoaday@freakmail.de>
490
491         * apdu.c (ct_activate_card): Change the code a little to avoid
492         problems with other readers.
493         * Always use 'dynload.h' instead of 'dlfcn.h'.
494
495 2003-08-05  Werner Koch  <wk@gnupg.org>
496
497         * app-openpgp.c (dump_all_do): Don't analyze constructed DOs after
498         an error.
499
500 2003-08-04  Werner Koch  <wk@gnupg.org>
501
502         * app.c (app_set_default_reader_port): New.
503         (select_application): Use it here.
504         * scdaemon.c (main): and here.
505         * sc-copykeys.c: --reader-port does now take a string.
506         * sc-investigate.c, scdaemon.c: Ditto.
507         * apdu.c (apdu_open_reader): Ditto.  Load pcsclite if no ctapi
508         driver is configured.  Always include code for ctapi.
509         (new_reader_slot): Don't test for already used ports and remove
510         port arg.
511         (open_pcsc_reader, pcsc_send_apdu, pcsc_error_string): New.
512         (apdu_send_le): Changed RC to long to cope with PC/SC.
513
514         * scdaemon.c, scdaemon.h: New option --ctapi-driver.
515         * sc-investigate.c, sc-copykeys.c: Ditto.
516         
517 2003-07-31  Werner Koch  <wk@gnupg.org>
518
519         * Makefile.am (scdaemon_LDADD): Added INTLLIBS.
520
521 2003-07-28  Werner Koch  <wk@gnupg.org>
522
523         * app-openpgp.c (do_setattr): Change implementation.  Allow all
524         useful DOs.
525
526 2003-07-27  Werner Koch  <wk@gnupg.org>
527
528         Adjusted for gcry_mpi_print and gcry_mpi_scan API change.
529
530 2003-07-24  Werner Koch  <wk@gnupg.org>
531
532         * app-openpgp.c (do_learn_status): Print more status information.
533         (app_select_openpgp): Store the card version.
534         (store_fpr): Add argument card_version and fix DOs for old cards.
535         (app_openpgp_storekey): Likewise.
536
537 2003-07-23  Werner Koch  <wk@gnupg.org>
538
539         * command.c (cmd_pkauth): New.
540         (cmd_setdata): Check whether data was given at all to avoid
541         passing 0 to malloc.
542
543         * app.c (app_auth): New.
544         * app-openpgp.c (do_auth): New.
545
546 2003-07-22  Werner Koch  <wk@gnupg.org>
547
548         * command.c (cmd_passwd): New.
549         * app.c (app_change_pin): New.
550         * app-openpgp.c (do_change_pin): New.
551         * iso7816.c (iso7816_reset_retry_counter): Implemented.
552
553         * sc-investigate.c (main): New option --gen-random.
554         * iso7816.c (iso7816_get_challenge): Don't create APDUs with a
555         length larger than 255.
556
557 2003-07-17  Werner Koch  <wk@gnupg.org>
558
559         * command.c (cmd_random): New command RANDOM.
560
561         * iso7816.c (map_sw): New. Use it in this file to return
562         meaningful error messages.  Changed all public fucntions to return
563         a gpg_error_t.
564         (iso7816_change_reference_data): New.
565         * apdu.c (apdu_open_reader): Use faked status words for soem
566         system errors.
567
568 2003-07-16  Werner Koch  <wk@gnupg.org>
569
570         * apdu.c (apdu_send_simple): Use apdu_send_le so that we can
571         specify not to send Le as it should be.
572
573 2003-07-15  Werner Koch  <wk@gnupg.org>
574
575         * Makefile.am: Add sc-copykeys program.
576         * sc-copykeys.c: New.
577         * app-openpgp.c (app_openpgp_storekey): New.
578         (app_openpgp_cardinfo): New.
579         (count_bits): New.
580         (store_fpr): And use it here to get the actual length in bit.
581
582 2003-07-03  Werner Koch  <wk@gnupg.org>
583
584         * app-openpgp.c (do_setattr): Add setting of the URL.
585         (app_select_openpgp): Dump card data only in very verbose mode.
586         (do_decipher): New.
587
588 2003-07-02  Werner Koch  <wk@gnupg.org>
589
590         * app-openpgp.c (get_sig_counter): New.
591         (do_sign): Print the signature counter and enable the PIN callback.
592         (do_genkey): Implement the PIN callback. 
593
594 2003-07-01  Werner Koch  <wk@gnupg.org>
595
596         * app-openpgp.c (store_fpr): Fixed fingerprint calculation.
597
598 2003-06-26  Werner Koch  <wk@gnupg.org>
599
600         * app-openpgp.c (find_tlv): Fixed length header parsing.
601
602         * app.c (app_genkey): New.
603         * command.c (cmd_genkey): New.
604
605 2003-06-25  Werner Koch  <wk@gnupg.org>
606
607         * command.c (percent_plus_unescape): New.
608         (cmd_setattr): New.
609
610 2003-06-24  Werner Koch  <wk@gnupg.org>
611
612         * command.c (send_status_info): New.
613
614         * app-openpgp.c (app_select_openpgp): Replace SLOT arg by APP arg
615         and setup the function pointers in APP on success. Changed callers.
616         * app.c: New.
617         * app-common.h: New.
618         * scdaemon.h (APP): New type to handle applications.
619         (server_control_s): Add an APP context field.
620
621         * command.c (cmd_serialno): Handle applications.
622         (cmd_pksign): Ditto.
623         (cmd_pkdecrypt): Ditto.
624         (reset_notify): Ditto.
625         (cmd_learn): For now return error for application contexts.
626         (cmd_readcert): Ditto.
627         (cmd_readkey): Ditto.
628
629 2003-06-04  Werner Koch  <wk@gnupg.org>
630
631         * card.c (map_sc_err): Renamed gpg_make_err to gpg_err_make.
632
633         Renamed error codes from INVALID to INV and removed _ERROR suffixes.
634
635 2003-06-03  Werner Koch  <wk@gnupg.org>
636
637         Changed all error codes in all files to the new libgpg-error scheme.
638
639         * scdaemon.h: Include gpg-error.h and errno.h
640         * card.c (map_sc_err): Use unknown for the error source.
641         * Makefile.am: Link with libgpg-error
642
643 2003-05-14  Werner Koch  <wk@gnupg.org>
644
645         * atr.c, atr.h: New.
646         * sc-investigate.c: Dump the ATR in a human readable format.
647
648 2003-05-08  Werner Koch  <wk@gnupg.org>
649
650         * scdaemon.h (DBG_CARD_IO_VALUE): New.
651
652         * sc-investigate.c: New.
653         * scdaemon.c (main): Removed --print-atr option.
654
655         * iso7816.c, iso7816.h, app-openpgp.c: New.
656
657 2003-04-29  Werner Koch  <wk@gnupg.org>
658
659         * scdaemon.c: New options --print-atr and --reader-port
660         * apdu.c, apdu.h: New
661
662         * card.c, card-p15.c, card-dinsig.c: Allow build without OpenSC.
663         
664         * Makefile.am (LDFLAGS): Removed.
665
666         * command.c (register_commands): Adjusted for new Assuan semantics.
667
668 2002-08-21  Werner Koch  <wk@gnupg.org>
669
670         * scdaemon.c (main): New option --daemon so that the program is
671         not accidently started in the background.
672
673 2002-08-16  Werner Koch  <wk@gnupg.org>
674
675         * scdaemon.c: Include i18n.h.
676
677         * card-common.h (struct p15_private_s): Forward declaration.  Add
678         it to card_ctx_s.
679         * card.c (card_close): Make sure private data is released.
680         (card_enum_certs): New.
681         * card-p15.c (p15_release_private_data): New.
682         (init_private_data): New to work around an OpenSC weirdness.
683         (p15_enum_keypairs): Do an OpenSC get_objects only once.
684         (p15_enum_certs): New.
685         (card_p15_bind): Bind new function.
686         * command.c (cmd_learn): Return information about the certificates.
687
688 2002-08-09  Werner Koch  <wk@gnupg.org>
689
690         * card.c (card_get_serial_and_stamp): Use the tokeinfo serial
691         number as a fallback. Add a special prefix for serial numbers.
692
693 2002-07-30  Werner Koch  <wk@gnupg.org>
694
695         Changes to cope with OpenSC 0.7.0:
696         
697         * card.c: Removed the check for the packed opensc version.
698         Changed include file names of opensc.
699         (map_sc_err): Adjusted error codes for new opensc version.
700         * card-p15.c: Changed include filename of opensc.
701         * card-dinsig.c: Ditto.
702
703         * card-p15.c (p15_decipher): Add flags argument to OpenSC call.
704         
705 2002-07-24  Werner Koch  <wk@gnupg.org>
706
707         * card.c (find_simple_tlv, find_iccsn): New.
708         (card_get_serial_and_stamp): Improved serial number parser.
709
710 2002-06-27  Werner Koch  <wk@gnupg.org>
711
712         * scdaemon.c (main): Use GNUPG_DEFAULT_HOMEDIR constant.
713
714 2002-06-15  Werner Koch  <wk@gnupg.org>
715
716         * card-dinsig.c: Documented some stuff from the DIN norm.
717
718 2002-04-15  Werner Koch  <wk@gnupg.org>
719
720         * command.c (cmd_pksign, cmd_pkdecrypt): Use a copy of the key ID.
721
722 2002-04-12  Werner Koch  <wk@gnupg.org>
723
724         * scdaemon.c: New option --debug-sc N.
725         * card.c (card_open): set it here.
726
727         * card-p15.c (p15_prepare_key): Factored out common code from ...
728         (p15_sign, p15_decipher): here and made the decryption work the
729         regular way.
730
731 2002-04-10  Werner Koch  <wk@gnupg.org>
732
733         * card.c (card_open): Return immediately when no reader is available.
734
735 2002-03-27  Werner Koch  <wk@gnupg.org>
736
737         * card.c (card_open, card_close): Adjusted for changes in OpenSC.
738
739 2002-03-10  Werner Koch  <wk@gnupg.org>
740
741         * card-p15.c, card-dinsig.c, card-common.h: New.
742         * card.c: Factored most code out to the new modules, so that we
743         can better support different types of card applications.
744
745 2002-01-26  Werner Koch  <wk@gnupg.org>
746
747         * scdaemon.c scdaemon.h, command.c: New. Based on the code from
748         the gpg-agent.
749
750  Copyright 2002 Free Software Foundation, Inc.
751
752  This file is free software; as a special exception the author gives
753  unlimited permission to copy and/or distribute it, with or without
754  modifications, as long as this notice is preserved.
755
756  This file is distributed in the hope that it will be useful, but
757  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
758  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.