cccd3b669ce9c6cb0f0084213d518981b7a8c990
[gnupg.git] / scd / ChangeLog
1 2003-11-12  Werner Koch  <wk@gnupg.org>
2
3         Adjusted for API changes in Libksba.
4
5 2003-10-30  Werner Koch  <wk@gnupg.org>
6
7         * apdu.c (close_ct_reader, close_pcsc_reader): Implemented.
8         (get_ccid_error_string): New.  Not very useful messages, though.
9
10 2003-10-25  Werner Koch  <wk@gnupg.org>
11
12         * ccid-driver.c (ccid_open_reader): Return an error if no USB
13         devices are found.
14
15         * command.c (cmd_genkey, cmd_passwd): Fixed faulty use of
16         !spacep().
17
18         * apdu.c (apdu_open_reader): Hacks for PC/SC under Windows.
19
20 2003-10-20  Werner Koch  <wk@gnupg.org>
21
22         * command.c (cmd_checkpin): New.
23         (register_commands): Add command CHECKPIN.
24         * app.c (app_check_pin): New.
25         * app-openpgp.c (check_against_given_fingerprint): New. Factored
26         out that code elsewhere.
27         (do_check_pin): New.
28
29 2003-10-10  Werner Koch  <wk@gnupg.org>
30
31         * ccid-driver.c (ccid_close_reader): New.
32
33         * apdu.c (close_ccid_reader, close_ct_reader, close_csc_reader)
34         (close_osc_reader, apdu_close_reader): New.  Not all are properly
35         implemented yet.
36
37 2003-10-09  Werner Koch  <wk@gnupg.org>
38
39         * ccid-driver.c (ccid_transceive): Add T=1 chaining for sending.
40
41 2003-10-08  Werner Koch  <wk@gnupg.org>
42
43         * app-openpgp.c (do_getattr): Support SERIALNO and AID.
44
45 2003-10-01  Werner Koch  <wk@gnupg.org>
46
47         * ccid-driver.c: Detect GnuPG 1.3 and include appropriate files.
48         * apdu.c: Ditto.
49         * app-openpgp.c: Ditto.
50         * iso7816.c: Ditto.
51         (generate_keypair): Renamed to ..
52         (do_generate_keypair): .. this.
53         * app-common.h [GNUPG_MAJOR_VERSION]: New.
54         * iso7816.h [GNUPG_MAJOR_VERSION]: Include cardglue.h
55
56 2003-09-30  Werner Koch  <wk@gnupg.org>
57
58         * command.c (cmd_getattr): New command GETATTR.
59         * app.c (app_setattr): New.
60         (do_getattr): New.
61         (do_learn_status): Reimplemented in terms of do_getattr.
62
63         * app-openpgp.c (do_change_pin): Make sure CVH1 and CHV2 are
64         always synced.
65         (verify_chv2, verify_chv3): New. Factored out common code.
66         (do_setattr, do_sign, do_auth, do_decipher): Change the names of
67         the prompts to match that we have only 2 different PINs.
68         (app_select_openpgp): Check whether the card enforced CHV1.
69         (convert_sig_counter_value): New. Factor out code from
70         get_sig_counter.
71
72 2003-09-28  Werner Koch  <wk@gnupg.org>
73
74         * app-openpgp.c (dump_all_do): Use gpg_err_code and not gpg_error.
75
76 2003-09-19  Werner Koch  <wk@gnupg.org>
77
78         * ccid-driver.c (parse_ccid_descriptor): New.
79         (read_device_info): New.
80         (ccid_open_reader): Check that the device has all required features.
81
82 2003-09-06  Werner Koch  <wk@gnupg.org>
83
84         * scdaemon.c (main): --pcsc-driver again defaults to pcsclite.
85         David Corcoran was so kind to remove the GPL incompatible
86         advertisng clause from pcsclite.
87         * apdu.c (apdu_open_reader): Actually make pcsc-driver option work.
88
89 2003-09-05  Werner Koch  <wk@gnupg.org>
90
91         * ccid-driver.c: More work, data can now actually be retrieved.
92         * ccid-driver.c, ccid-driver.h: Alternativley allow use under BSD
93         conditions.
94
95 2003-09-02  Werner Koch  <wk@gnupg.org>
96
97         * scdaemon.c, scdaemon.h: New option --pcsc-ccid.
98         * ccid-driver.c, ccid-driver.h: New but far from being useful.
99         * Makefile.am: Add above.
100         * apdu.c: Add support for that ccid driver.
101         
102 2003-08-26  Timo Schulz  <twoaday@freakmail.de>
103
104         * apdu.c (new_reader_slot): Only set 'is_osc' when OpenSC
105         is used.
106         
107 2003-08-25  Werner Koch  <wk@gnupg.org>
108
109         * command.c (cmd_setattr): Use a copy of LINE.
110         (cmd_genkey): Use a copy of KEYNO.
111         (cmd_passwd): Use a copy of CHVNOSTR.
112         (cmd_pksign, cmd_pkauth, cmd_pkdecrypt): s/strdup/xtrystrdup/.
113
114 2003-08-19  Werner Koch  <wk@gnupg.org>
115
116         * scdaemon.c, scdaemon.h: New option --pcsc-driver.
117         * apdu.c (apdu_open_reader): Use that option here instead of a
118         hardcoded one.
119
120 2003-08-18  Werner Koch  <wk@gnupg.org>
121
122         * Makefile.am: Add OPENSC_LIBS to all programs. 
123
124         * scdaemon.c, scdaemon.h: New option --disable-opensc.
125         * card.c (card_open): Implement it.
126         * apdu.c (open_osc_reader, osc_send_apdu): New.
127         (apdu_open_reader) [HAVE_OPENSC]: Use the opensc driver if not
128         disabled.
129         (error_string) [HAVE_OPENSC]: Use sc_strerror.
130         (send_apdu) [HAVE_OPENSC]: Call osc_apdu_send.
131
132         * card-p15.c (p15_enum_keypairs, p15_prepare_key): Adjusted for
133         libgpg-error.
134
135 2003-08-14  Timo Schulz  <twoaday@freakmail.de>
136
137         * apdu.c (ct_activate_card): Change the code a little to avoid
138         problems with other readers.
139         * Always use 'dynload.h' instead of 'dlfcn.h'.
140
141 2003-08-05  Werner Koch  <wk@gnupg.org>
142
143         * app-openpgp.c (dump_all_do): Don't analyze constructed DOs after
144         an error.
145
146 2003-08-04  Werner Koch  <wk@gnupg.org>
147
148         * app.c (app_set_default_reader_port): New.
149         (select_application): Use it here.
150         * scdaemon.c (main): and here.
151         * sc-copykeys.c: --reader-port does now take a string.
152         * sc-investigate.c, scdaemon.c: Ditto.
153         * apdu.c (apdu_open_reader): Ditto.  Load pcsclite if no ctapi
154         driver is configured.  Always include code for ctapi.
155         (new_reader_slot): Don't test for already used ports and remove
156         port arg.
157         (open_pcsc_reader, pcsc_send_apdu, pcsc_error_string): New.
158         (apdu_send_le): Changed RC to long to cope with PC/SC.
159
160         * scdaemon.c, scdaemon.h: New option --ctapi-driver.
161         * sc-investigate.c, sc-copykeys.c: Ditto.
162         
163 2003-07-31  Werner Koch  <wk@gnupg.org>
164
165         * Makefile.am (scdaemon_LDADD): Added INTLLIBS.
166
167 2003-07-28  Werner Koch  <wk@gnupg.org>
168
169         * app-openpgp.c (do_setattr): Change implementation.  Allow all
170         useful DOs.
171
172 2003-07-27  Werner Koch  <wk@gnupg.org>
173
174         Adjusted for gcry_mpi_print and gcry_mpi_scan API change.
175
176 2003-07-24  Werner Koch  <wk@gnupg.org>
177
178         * app-openpgp.c (do_learn_status): Print more status information.
179         (app_select_openpgp): Store the card version.
180         (store_fpr): Add argument card_version and fix DOs for old cards.
181         (app_openpgp_storekey): Likewise.
182
183 2003-07-23  Werner Koch  <wk@gnupg.org>
184
185         * command.c (cmd_pkauth): New.
186         (cmd_setdata): Check whether data was given at all to avoid
187         passing 0 to malloc.
188
189         * app.c (app_auth): New.
190         * app-openpgp.c (do_auth): New.
191
192 2003-07-22  Werner Koch  <wk@gnupg.org>
193
194         * command.c (cmd_passwd): New.
195         * app.c (app_change_pin): New.
196         * app-openpgp.c (do_change_pin): New.
197         * iso7816.c (iso7816_reset_retry_counter): Implemented.
198
199         * sc-investigate.c (main): New option --gen-random.
200         * iso7816.c (iso7816_get_challenge): Don't create APDUs with a
201         length larger than 255.
202
203 2003-07-17  Werner Koch  <wk@gnupg.org>
204
205         * command.c (cmd_random): New command RANDOM.
206
207         * iso7816.c (map_sw): New. Use it in this file to return
208         meaningful error messages.  Changed all public fucntions to return
209         a gpg_error_t.
210         (iso7816_change_reference_data): New.
211         * apdu.c (apdu_open_reader): Use faked status words for soem
212         system errors.
213
214 2003-07-16  Werner Koch  <wk@gnupg.org>
215
216         * apdu.c (apdu_send_simple): Use apdu_send_le so that we can
217         specify not to send Le as it should be.
218
219 2003-07-15  Werner Koch  <wk@gnupg.org>
220
221         * Makefile.am: Add sc-copykeys program.
222         * sc-copykeys.c: New.
223         * app-openpgp.c (app_openpgp_storekey): New.
224         (app_openpgp_cardinfo): New.
225         (count_bits): New.
226         (store_fpr): And use it here to get the actual length in bit.
227
228 2003-07-03  Werner Koch  <wk@gnupg.org>
229
230         * app-openpgp.c (do_setattr): Add setting of the URL.
231         (app_select_openpgp): Dump card data only in very verbose mode.
232         (do_decipher): New.
233
234 2003-07-02  Werner Koch  <wk@gnupg.org>
235
236         * app-openpgp.c (get_sig_counter): New.
237         (do_sign): Print the signature counter and enable the PIN callback.
238         (do_genkey): Implement the PIN callback. 
239
240 2003-07-01  Werner Koch  <wk@gnupg.org>
241
242         * app-openpgp.c (store_fpr): Fixed fingerprint calculation.
243
244 2003-06-26  Werner Koch  <wk@gnupg.org>
245
246         * app-openpgp.c (find_tlv): Fixed length header parsing.
247
248         * app.c (app_genkey): New.
249         * command.c (cmd_genkey): New.
250
251 2003-06-25  Werner Koch  <wk@gnupg.org>
252
253         * command.c (percent_plus_unescape): New.
254         (cmd_setattr): New.
255
256 2003-06-24  Werner Koch  <wk@gnupg.org>
257
258         * command.c (send_status_info): New.
259
260         * app-openpgp.c (app_select_openpgp): Replace SLOT arg by APP arg
261         and setup the function pointers in APP on success. Changed callers.
262         * app.c: New.
263         * app-common.h: New.
264         * scdaemon.h (APP): New type to handle applications.
265         (server_control_s): Add an APP context field.
266
267         * command.c (cmd_serialno): Handle applications.
268         (cmd_pksign): Ditto.
269         (cmd_pkdecrypt): Ditto.
270         (reset_notify): Ditto.
271         (cmd_learn): For now return error for application contexts.
272         (cmd_readcert): Ditto.
273         (cmd_readkey): Ditto.
274
275 2003-06-04  Werner Koch  <wk@gnupg.org>
276
277         * card.c (map_sc_err): Renamed gpg_make_err to gpg_err_make.
278
279         Renamed error codes from INVALID to INV and removed _ERROR suffixes.
280
281 2003-06-03  Werner Koch  <wk@gnupg.org>
282
283         Changed all error codes in all files to the new libgpg-error scheme.
284
285         * scdaemon.h: Include gpg-error.h and errno.h
286         * card.c (map_sc_err): Use unknown for the error source.
287         * Makefile.am: Link with libgpg-error
288
289 2003-05-14  Werner Koch  <wk@gnupg.org>
290
291         * atr.c, atr.h: New.
292         * sc-investigate.c: Dump the ATR in a human readable format.
293
294 2003-05-08  Werner Koch  <wk@gnupg.org>
295
296         * scdaemon.h (DBG_CARD_IO_VALUE): New.
297
298         * sc-investigate.c: New.
299         * scdaemon.c (main): Removed --print-atr option.
300
301         * iso7816.c, iso7816.h, app-openpgp.c: New.
302
303 2003-04-29  Werner Koch  <wk@gnupg.org>
304
305         * scdaemon.c: New options --print-atr and --reader-port
306         * apdu.c, apdu.h: New
307
308         * card.c, card-p15.c, card-dinsig.c: Allow build without OpenSC.
309         
310         * Makefile.am (LDFLAGS): Removed.
311
312         * command.c (register_commands): Adjusted for new Assuan semantics.
313
314 2002-08-21  Werner Koch  <wk@gnupg.org>
315
316         * scdaemon.c (main): New option --daemon so that the program is
317         not accidently started in the background.
318
319 2002-08-16  Werner Koch  <wk@gnupg.org>
320
321         * scdaemon.c: Include i18n.h.
322
323         * card-common.h (struct p15_private_s): Forward declaration.  Add
324         it to card_ctx_s.
325         * card.c (card_close): Make sure private data is released.
326         (card_enum_certs): New.
327         * card-p15.c (p15_release_private_data): New.
328         (init_private_data): New to work around an OpenSC weirdness.
329         (p15_enum_keypairs): Do an OpenSC get_objects only once.
330         (p15_enum_certs): New.
331         (card_p15_bind): Bind new function.
332         * command.c (cmd_learn): Return information about the certificates.
333
334 2002-08-09  Werner Koch  <wk@gnupg.org>
335
336         * card.c (card_get_serial_and_stamp): Use the tokeinfo serial
337         number as a fallback. Add a special prefix for serial numbers.
338
339 2002-07-30  Werner Koch  <wk@gnupg.org>
340
341         Changes to cope with OpenSC 0.7.0:
342         
343         * card.c: Removed the check for the packed opensc version.
344         Changed include file names of opensc.
345         (map_sc_err): Adjusted error codes for new opensc version.
346         * card-p15.c: Changed include filename of opensc.
347         * card-dinsig.c: Ditto.
348
349         * card-p15.c (p15_decipher): Add flags argument to OpenSC call.
350         
351 2002-07-24  Werner Koch  <wk@gnupg.org>
352
353         * card.c (find_simple_tlv, find_iccsn): New.
354         (card_get_serial_and_stamp): Improved serial number parser.
355
356 2002-06-27  Werner Koch  <wk@gnupg.org>
357
358         * scdaemon.c (main): Use GNUPG_DEFAULT_HOMEDIR constant.
359
360 2002-06-15  Werner Koch  <wk@gnupg.org>
361
362         * card-dinsig.c: Documented some stuff from the DIN norm.
363
364 2002-04-15  Werner Koch  <wk@gnupg.org>
365
366         * command.c (cmd_pksign, cmd_pkdecrypt): Use a copy of the key ID.
367
368 2002-04-12  Werner Koch  <wk@gnupg.org>
369
370         * scdaemon.c: New option --debug-sc N.
371         * card.c (card_open): set it here.
372
373         * card-p15.c (p15_prepare_key): Factored out common code from ...
374         (p15_sign, p15_decipher): here and made the decryption work the
375         regular way.
376
377 2002-04-10  Werner Koch  <wk@gnupg.org>
378
379         * card.c (card_open): Return immediately when no reader is available.
380
381 2002-03-27  Werner Koch  <wk@gnupg.org>
382
383         * card.c (card_open, card_close): Adjusted for changes in OpenSC.
384
385 2002-03-10  Werner Koch  <wk@gnupg.org>
386
387         * card-p15.c, card-dinsig.c, card-common.h: New.
388         * card.c: Factored most code out to the new modules, so that we
389         can better support different types of card applications.
390
391 2002-01-26  Werner Koch  <wk@gnupg.org>
392
393         * scdaemon.c scdaemon.h, command.c: New. Based on the code from
394         the gpg-agent.
395
396  Copyright 2002 Free Software Foundation, Inc.
397
398  This file is free software; as a special exception the author gives
399  unlimited permission to copy and/or distribute it, with or without
400  modifications, as long as this notice is preserved.
401
402  This file is distributed in the hope that it will be useful, but
403  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
404  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.