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