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