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