~ubuntu-branches/ubuntu/precise/gnupg2/precise-proposed

« back to all changes in this revision

Viewing changes to scd/ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Mueller
  • Date: 2005-03-29 10:30:32 UTC
  • Revision ID: james.westby@ubuntu.com-20050329103032-sj42n2ain3ipx310
Tags: upstream-1.9.15
ImportĀ upstreamĀ versionĀ 1.9.15

Show diffs side-by-side

added added

removed removed

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