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