Changes needed to support smartcards. Well, only _support_. There is
[gnupg.git] / sm / ChangeLog
1 2002-02-27  Werner Koch  <wk@gnupg.org>
2
3         * call-dirmngr.c, call-agent.c: Add 2 more arguments to all uses
4         of assuan_transact.
5
6 2002-02-25  Werner Koch  <wk@gnupg.org>
7
8         * server.c (option_handler): Allow to use -2 for "send all certs
9         except the root cert".
10         * sign.c (add_certificate_list): Implement it here.
11         * certpath.c (gpgsm_is_root_cert): New.
12
13 2002-02-19  Werner Koch  <wk@gnupg.org>
14
15         * certpath.c (check_cert_policy): New.
16         (gpgsm_validate_path): And call it from here.
17         * gpgsm.c (main): New options --policy-file,
18         --disable-policy-checks and --enable-policy-checks.
19         * gpgsm.h (opt): Added policy_file, no_policy_checks.
20
21 2002-02-18  Werner Koch  <wk@gnupg.org>
22
23         * certpath.c (gpgsm_validate_path): Ask the agent to add the
24         certificate into the trusted list.
25         * call-agent.c (gpgsm_agent_marktrusted): New.
26
27 2002-02-07  Werner Koch  <wk@gnupg.org>
28
29         * certlist.c (gpgsm_add_to_certlist): Check that the specified
30         name identifies a certificate unambiguously.
31         (gpgsm_find_cert): Ditto.
32
33         * server.c (cmd_listkeys): Check that the data stream is available.
34         (cmd_listsecretkeys): Ditto.
35         (has_option): New.
36         (cmd_sign): Fix ambiguousity in option recognition.
37
38         * gpgsm.c (main): Enable --logger-fd.
39
40         * encrypt.c (gpgsm_encrypt): Increased buffer size for better
41         performance.
42
43         * call-agent.c (gpgsm_agent_pksign): Check the S-Exp received from
44         the agent.
45
46         * keylist.c (list_cert_colon): Filter out control characters.
47
48 2002-02-06  Werner Koch  <wk@gnupg.org>
49
50         * decrypt.c (gpgsm_decrypt): Bail out after an decryption error.
51
52         * server.c (reset_notify): Close input and output FDs.
53         (cmd_encrypt,cmd_decrypt,cmd_verify,cmd_sign.cmd_import)
54         (cmd_genkey): Close the FDs and release the recipient list even in
55         the error case.
56
57 2002-02-01  Marcus Brinkmann  <marcus@g10code.de>
58
59         * sign.c (gpgsm_sign): Do not release certificate twice.
60
61 2002-01-29  Werner Koch  <wk@gnupg.org>
62
63         * call-agent.c (gpgsm_agent_havekey): New.
64         * keylist.c (list_cert_colon): New arg HAVE_SECRET, print "crs"
65         when we know that the secret key is available.
66         (gpgsm_list_keys): New arg MODE, check whether a secret key is
67         available.  Changed all callers.
68         * gpgsm.c (main): New command --list-secret-keys.
69         * server.c (cmd_listsecretkeys): New.
70         (cmd_listkeys): Return secret keys with "crs" record.
71
72 2002-01-28  Werner Koch  <wk@gnupg.org>
73
74         * certreqgen.c (create_request): Store the email address in the req.
75
76 2002-01-25  Werner Koch  <wk@gnupg.org>
77
78         * gpgsm.c (main): Disable core dumps.
79
80         * sign.c (add_certificate_list): New.
81         (gpgsm_sign): Add the certificates to the CMS object.
82         * certpath.c (gpgsm_walk_cert_chain): New.
83         * gpgsm.h (server_control_s): Add included_certs.
84         * gpgsm.c: Add option --include-certs.
85         (gpgsm_init_default_ctrl): New.
86         (main): Call it.
87         * server.c (gpgsm_server): Ditto.
88         (option_handler): Support --include-certs.
89
90 2002-01-23  Werner Koch  <wk@gnupg.org>
91
92         * certpath.c (gpgsm_validate_path): Print the DN of a missing issuer.
93         * certdump.c (gpgsm_dump_string): New.
94         (print_dn): Replaced by above.
95
96 2002-01-22  Werner Koch  <wk@gnupg.org>
97
98         * certpath.c (unknown_criticals): New.
99         (allowed_ca): New.
100         (gpgsm_validate_path): Check validity, CA attribute, path length
101         and unknown critical extensions.
102
103 2002-01-21  Werner Koch  <wk@gnupg.org>
104
105         * gpgsm.c: Add option --enable-crl-checks.
106
107         * call-agent.c (start_agent): Implemented socket based access.
108         * call-dirmngr.c (start_dirmngr): Ditto.
109
110 2002-01-20  Werner Koch  <wk@gnupg.org>
111
112         * server.c (option_handler): New.
113         (gpgsm_server): Register it with assuan.
114
115 2002-01-19  Werner Koch  <wk@gnupg.org>
116
117         * server.c (gpgsm_server): Use assuan_deinit_server and setup
118         assuan logging if enabled.
119         * call-agent.c (inq_ciphertext_cb): Don't show the session key in
120         an Assuan log file.
121
122         * gpgsm.c (my_strusage): Take bugreport address from configure.ac
123
124 2002-01-15  Werner Koch  <wk@gnupg.org>
125
126         * import.c (gpgsm_import): Just do a basic cert check before
127         storing it.
128         * certpath.c (gpgsm_basic_cert_check): New.
129
130         * keydb.c (keydb_store_cert): New.
131         * import.c (store_cert): Removed and change all caller to use
132         the new function.
133         * verify.c (store_cert): Ditto.
134
135         * certlist.c (gpgsm_add_to_certlist): Validate the path
136
137         * certpath.c (gpgsm_validate_path): Check the trust list.
138         * call-agent.c (gpgsm_agent_istrusted): New.
139
140 2002-01-14  Werner Koch  <wk@gnupg.org>
141
142         * call-dirmngr.c (inq_certificate): Changed for new interface semantic.
143         * certlist.c (gpgsm_find_cert): New.
144
145 2002-01-13  Werner Koch  <wk@gnupg.org>
146
147         * fingerprint.c (gpgsm_get_certid): Print the serial and not the
148         hash after the dot.
149
150 2002-01-11  Werner Koch  <wk@gnupg.org>
151
152         * call-dirmngr.c: New.
153         * certpath.c (gpgsm_validate_path): Check the CRL here.
154         * fingerprint.c (gpgsm_get_certid): New.
155         * gpgsm.c: New options --dirmngr-program and --disable-crl-checks.
156
157 2002-01-10  Werner Koch  <wk@gnupg.org>
158
159         * base64.c (gpgsm_create_writer): Allow to set the object name
160
161 2002-01-08  Werner Koch  <wk@gnupg.org>
162
163         * keydb.c (spacep): Removed because it is now in util.c
164
165         * server.c (cmd_genkey): New.
166         * certreqgen.c: New.  The parameter handling code has been taken
167         from gnupg/g10/keygen.c version 1.0.6.
168         * call-agent.c (gpgsm_agent_genkey): New.
169
170 2002-01-02  Werner Koch  <wk@gnupg.org>
171
172         * server.c (rc_to_assuan_status): Removed and changed all callers
173         to use map_to_assuan_status.
174
175 2001-12-20  Werner Koch  <wk@gnupg.org>
176
177         * verify.c (gpgsm_verify): Implemented non-detached signature
178         verification.  Add OUT_FP arg, initialize a writer and changed all
179         callers.
180         * server.c (cmd_verify): Pass an out_fp if one has been set.
181
182         * base64.c (base64_reader_cb): Try to detect an S/MIME body part.
183
184         * certdump.c (print_sexp): Renamed to gpgsm_dump_serial, made
185         global.
186         (print_time): Renamed to gpgsm_dump_time, made global.
187         (gpgsm_dump_serial): Take a real S-Expression as argument and
188         print the first item.
189         * keylist.c (list_cert_colon): Ditto.
190         * keydb.c (keydb_search_issuer_sn): Ditto.
191         * decrypt.c (print_integer_sexp): Removed and made callers 
192         use gpgsm_dump_serial.
193         * verify.c (print_time): Removed, made callers use gpgsm_dump_time.
194         
195 2001-12-19  Marcus Brinkmann  <marcus@g10code.de>
196
197         * call-agent.c (start_agent): Add new argument to assuan_pipe_connect.
198
199 2001-12-18  Werner Koch  <wk@gnupg.org>
200
201         * verify.c (print_integer_sexp): Renamed from print_integer and
202         print the serial number according to the S-Exp rules.
203         * decrypt.c (print_integer_sexp): Ditto.
204
205 2001-12-17  Werner Koch  <wk@gnupg.org>
206
207         * keylist.c (list_cert_colon): Changed for new return value of
208         get_serial.
209         * keydb.c (keydb_search_issuer_sn): Ditto.
210         * certcheck.c (gpgsm_check_cert_sig): Likewise for other S-Exp
211         returingin functions.
212         * fingerprint.c (gpgsm_get_keygrip): Ditto.
213         * encrypt.c (encrypt_dek): Ditto
214         * certcheck.c (gpgsm_check_cms_signature): Ditto
215         * decrypt.c (prepare_decryption): Ditto.
216         * call-agent.c (gpgsm_agent_pkdecrypt): Removed arg ciphertextlen,
217         use KsbaSexp type and calculate the length.
218
219         * certdump.c (print_sexp): Remaned from print_integer, changed caller.
220
221         * Makefile.am: Use the LIBGCRYPT and LIBKSBA variables.
222
223         * fingerprint.c (gpgsm_get_keygrip): Use the new
224         gcry_pk_get_keygrip to calculate the grip - note the algorithm and
225         therefore the grip values changed.
226
227 2001-12-15  Werner Koch  <wk@gnupg.org>
228
229         * certcheck.c (gpgsm_check_cms_signature): Removed the faked-key
230         kludge.
231         (gpgsm_create_cms_signature): Removed the commented fake key
232         code.  This makes the function pretty simple.
233
234         * gpgsm.c (main): Renamed the default key database to "keyring.kbx".
235
236         * decrypt.c (gpgsm_decrypt): Write STATUS_DECRYPTION_*.
237         * sign.c (gpgsm_sign): Write a STATUS_SIG_CREATED.
238
239 2001-12-14  Werner Koch  <wk@gnupg.org>
240
241         * keylist.c (list_cert_colon): Kludge to show an email address
242         encoded in the subject's DN.
243
244         * verify.c (gpgsm_verify): Add hash debug helpers
245         * sign.c (gpgsm_sign): Ditto.
246
247         * base64.c (base64_reader_cb): Reset the linelen when we need to
248         skip the line and adjusted test; I somehow forgot about DeMorgan.
249
250         * server.c (cmd_encrypt,cmd_decrypt,cmd_sign,cmd_verify) 
251         (cmd_import): Close the FDs on success.
252         (close_message_fd): New.
253         (input_notify): Setting autodetect_encoding to 0 after initializing
254         it to 0 is pretty pointless.  Easy to fix.
255
256         * gpgsm.c (main): New option --debug-wait n, so that it is
257         possible to attach gdb when used in server mode.
258
259         * sign.c (get_default_signer): Use keydb_classify_name here.
260
261 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
262
263         * call-agent.c (LINELENGTH): Removed.
264         (gpgsm_agent_pksign): Use ASSUAN_LINELENGTH, not LINELENGTH.
265         (gpgsm_agent_pkdecrypt): Likewise.
266
267 2001-12-13  Werner Koch  <wk@gnupg.org>
268
269         * keylist.c (list_cert_colon): Print alternative names of subject
270         and a few other values.
271
272 2001-12-12  Werner Koch  <wk@gnupg.org>
273
274         * gpgsm.c (main): New options --assume-{armor,base64,binary}. 
275         * base64.c (base64_reader_cb): Fixed non-autodetection mode.
276
277 2001-12-04  Werner Koch  <wk@gnupg.org>
278
279         * call-agent.c (read_from_agent): Check for inquire responses.
280         (request_reply): Handle them using a new callback arg, changed all
281         callers.
282         (gpgsm_agent_pkdecrypt): New.
283
284 2001-11-27  Werner Koch  <wk@gnupg.org>
285
286         * base64.c: New.  Changed all other functions to use this instead
287         of direct creation of ksba_reader/writer.
288         * gpgsm.c (main): Set ctrl.auto_encoding unless --no-armor is used.
289
290 2001-11-26  Werner Koch  <wk@gnupg.org>
291
292         * gpgsm.c: New option --agent-program
293         * call-agent.c (start_agent): Allow to override the default path
294         to the agent.
295
296         * keydb.c (keydb_add_resource): Create keybox
297
298         * keylist.c (gpgsm_list_keys): Fixed non-server keylisting.
299
300         * server.c (rc_to_assuan_status): New.  Use it for all commands.
301
302         
303  Copyright 2001, 2002 Free Software Foundation, Inc.
304
305  This file is free software; as a special exception the author gives
306  unlimited permission to copy and/or distribute it, with or without
307  modifications, as long as this notice is preserved.
308
309  This file is distributed in the hope that it will be useful, but
310  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
311  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.