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