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