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