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