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