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