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