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