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