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