See ChangeLog: Fri Aug 18 14:27:14 CEST 2000 Werner Koch
[gnupg.git] / g10 / ChangeLog
1 Fri Aug 18 14:27:14 CEST 2000  Werner Koch  <wk@openit.de>
2
3   * status.c (do_get_from_fd): Ooops, we used fd instead of opt.command_fd.
4   Thanks to Michael Tokarev.
5
6 Mon Jul 31 10:04:47 CEST 2000  Werner Koch  <wk@openit.de>
7
8   * encode.c, sign.c, keygen.c, pubkey-enc.c: Replaced all
9   gcry_sexp_{car,cdr}_{data,mpi} by the new gcry_sexp_nth_{data,mpi} functions.
10
11   * keygen.c (gen_dsa,gen_elg): Changed the way the factors are stored.
12   (factors_from_sexp): Removed.
13   * comment.c (make_mpi_comment_node): Removed.
14   (make_comment_node_from_buffer): New.
15
16 Fri Jul 28 18:19:11 CEST 2000  Werner Koch  <wk@openit.de>
17
18   * sig-check.c (pk_verify): Fixed the S-Exp withe the pkey.
19
20   * gpg.c (main): Use setmode(O_BINARY) for MSDOS while generating random bytes
21   (print_mds): Likewise for stdin.
22   * plaintext.c (handle_plaintext): Likewise for stdout.
23
24 Tue Jul 25 17:44:15 CEST 2000  Werner Koch  <wk@openit.de>
25
26   * keyedit.c (menu_expire): expire date for primary key can be set again.
27
28   * keylist.c (is_uid_valid): New.
29   (list_keyblock): Print validity information for all user IDs.  Note, this
30   has to be done at other places too; for now we have only minimal support.
31
32   * sign.c (pk_sign): Changed to use the new S-Exp interface.
33   * encode.c (pk_encrypt): Ditto.
34   * sig-check.c (pk_verify): Ditto.
35   * seckey-cert.c (pk_check_secret_key): Ditto.
36   * pubkey-enc.c (pk_decrypt): Ditto.
37   * misc.c (pubkey_nbits): Ditto.
38   * keygen.c (key_from_sexp,factors_from_sexp,gen_elg,gen_dsa): Ditto.
39
40 Fri Jul 14 19:38:23 CEST 2000  Werner Koch  <wk@>
41
42   Replaced everything with the code from the STABLE-BRANCH-1-0 and
43   started to backport the changes from the 1.1 development branch
44   which are dated according to the ChangeLog of the 1.1 from
45   Sat Sep 18 12:16:08 CEST 1999  to  Thu May 25 18:39:11 CEST 2000.
46   Here are those changes, some of them are duplicates because they
47   have been done on both branch simultaneously.
48
49   * gpg.c (print_mds): Add arg keys as a kludge to print hmacs
50   (main): New option --print-hmac.
51
52   * trustdb.c (verify_own_keys): Do not print warning about unprotected
53   key when in quiet mode.
54
55   * build-paket.c (do_user_id): Save offset where name has been stored.
56
57   * ringedit.c : Add new access method KBXF
58
59   * kbxfile.c: New.
60
61   * kbx.h: New.
62   * kbxblob.c: Started to work on the keybox stuff.
63
64   * keygen.c (gen_dsa): Modified to work with gcry_pk_genkey.
65
66   * Removed dummy-cipher.h from all files.
67
68   * keygen.c (gen_elg): Modified to work with gcry_pk_genkey.
69   (key_from_sexp): New.
70   (factors_from_sexp): New.
71
72   * g10.c : Renamed to ...
73   * gpg.c : ... this
74   * Makefile.am: And fixed it here.
75
76   * Changed all "g10_"/"GPG_" prefixes to "gpg_"/"GPG_".
77
78   * misc.c (mpi_read_opaque): Fixed double counting.
79
80   * seckey-cert.c (do_check): Removed buffer and the unmotivated free
81   on it.
82
83   * pubkey-enc.c (pk_decrypt): New wrapper for the gcry_ function.
84   * seckey-cert.c (pk_check_secret_key): Likewise.
85   * encode.c (pk_encrypt): Likewise.
86
87   * parse-packet.c (parse_key): Fixed case of unencrypted secret keys.
88
89   * misc.c (mpi_print): Use gcry_mpi_aprint.
90   (pubkey_nbits): Kludge to use the gcry_pk_ API.
91
92   * seskey.c (encode_session_key): Replaced mpi_set_buffer by *_scan.
93   (do_encode_md): Ditto.
94   (encode_md_value): Ditto.
95   * seckey-cert.c (protect_secret_key): Ditto.
96   * comment.c (make_mpi_comment_node): Replaced mpi_get_buffer by _print.
97   * pubkey-enc.c (get_it): Ditto.
98   * sig-check.c (do_signature_check): Ditto.
99
100   * keyid.c (do_fingerprint_md): Replaced mpi_get_buffer by gcry_mpi_print.
101   (v3_keyid): New.
102   (keyid_from_sk): And use it here.
103   (keyid_from_pk): Ditto.
104   (fingerprint_from_sk): Ditto.
105   (fingerprint_from_pk): Ditto.
106
107   * misc.c (mpi_print): New.
108
109   * misc.c (checksum_mpi): Now uses gcry_mpi_print to get the data.
110
111   * seckey-cert.c (do_check): Replaced mpi_read_from_buffer.
112
113   * armor.c (armor_filter): Made the "Comment:" header translatable.
114
115   * seckey-cert.c: Removed obsolete mpi_*_protect_flag.
116   * parse-packet.c: Ditto.
117
118   * misc.c (mpi_read): Removed the secure argumet becuase it is
119   never used.  Changed all Callers.
120   (mpi_read_opaque): New.
121   (mpi_write_opaque): New.
122   * parse-packet.c (parse_key): Use the opaque method also for
123   v3 keys.
124   * build-packet.c (do_secret_key): Likewise.
125
126   * g10.c (main): Check libgcrypt version.
127
128   * packet.h: replaced inclusion of mpi.h by a plain typeedef of the
129   gcry_mpi structure and removed all inclusions of "mpi.h" in all
130   sources.
131
132   * g10.c: Add --delete-secret-key to the help page.
133
134   * g10.c (main): Changed the default homedir to "~/.gnupg-test" so
135   that we don't mess up with the stable version.
136
137   * misc.c (mpi_write): New.
138   (mpi_write): New.
139
140   * misc.c (checksum_u16_nobug): Removed.
141   (checksum_mpi_counted_nbits): Renamed to ...
142   (checksum_mpi): ... this to superseed the old one. Changed all
143   callers. This is because we do not emulate the old gpg bug anymore.
144   * g10.c (oEmuChecksumBug): Removed.
145
146   * g10.c (register_extension): New...
147   (main): Use it here instead of register_cipher_extesnion.
148   (strusage): s/strusage/my_strusage/ . Made static.
149   (main): Use set_strusage().
150
151   * tdbdump.c (HEXTOBIN): Changed the name of the argument, so that
152   traditional cpp don't mess up the macros. Suggested by Jos Backus.
153
154   * armor.c (parse_header_line): Stop parsing on a only WS line too.
155   Suggested by Aric Cyr.
156
157   * misc.c (pull_in_libs): Removed.
158
159   * mainproc.c (list_node): Print the PK algo in the --with-colon mode.
160   * keylist.c (list_keyblock): Ditto.
161
162   * misc.c (pull_in_libs): Removed pull in of g10c.
163
164   * misc.c (map_gcry_rc): Removed here and chnaged all users.
165
166   * getkey.c: Replaced check_pubkey_algo by openpgp_pk_test_algo.
167   * import.c (delete_inv_parts): Ditto.
168   * pkclist.c: Ditto.
169   * skclist.c: Ditto.
170   * pubkey-enc.c: Ditto.
171
172   * g10.c (main): Replaced the function to diable PK algos.
173
174   * g10.c (main): Replaced get_random_bits by gcry_random_bytes.
175   * seskey.c (encode_session_key): Likewise.
176   (make_session_key): Renamed randomize_buffer to gcry_randomize
177   and use the GCRY_xxx_RANDOM constants.
178   * cipher.c (write_header): Ditto.
179   * passphrase.c (hash_passphrase): Ditto.
180   * seckey-cert.c (protect_secret_key): Ditto.
181
182   * getkey.c (find_by_name): Replaced rmd160_hash_buffer
183   by gcry_md_hash_buffer.
184   * keyedit.c (show_prefs): Ditto.
185   * keylist.c (list_keyblock): Ditto.
186   * trustdb.c (print_uid_from_keyblock): Ditto.
187   (make_uid_records): Ditto.
188
189   * skclist.c (build_sk_list): Removed the test on faked RNGs.
190   (is_insecure): Removed.
191   * g10.c (--quick-random): Removed this option.
192
193   * Replaced all PUBKEY_ALGO_xxx by GCRY_PK_xxxx.
194
195   * misc.c (pubkey_algo_npkey): New as a wrapper around the gcry fucntion.
196   (pubkey_algo_nskey): Ditto.
197   (pubkey_algo_nsig): Ditto.
198   (pubkey_algo_nenc): Ditto.
199
200   * Makefile.am (basicdefs.h): Added.
201   (install-data-local): Removed the handling for historic gpgm.
202
203   * misc.c (openpgp_cipher_test_algo): New.
204   (openpgp_pk_test_algo): New.
205   (openpgp_md_test_algo): New.
206
207   * g10.c (build_list): Changed to use the new functions from libgcrypt.
208
209   * ringedit.c (enum_keyblocks): Set .rt to 0 on open.
210
211   * encode.c (encode_simple): Use new CTB when we don't have the
212   length of the file.  This is somewhat strange as the comment above
213   indicates that this part is actually fixed for PGP 5 - maybe I simply
214   lost the source line, tsss.
215
216   * sign.c (clearsign_file): Avoid duplicated Entries in the "Hash:"
217   line.  Those headers are now only _not_ printed when there are
218   only old-style keys _and_ all hashs are MD5.
219
220   (clearsign_file): Use gcry_md_test_algo() and gcry_md_algo_name().
221
222   * openfile.c (make_outfile_name): Use case-insenstive compare for
223   DOS systems.  Add ".pgp" to the list of know extensions.
224   (open_outfile): For DOS systems try to replace the suffix instead of
225   appending it.
226
227   * encr-data.c (decrypt_data): Reset error on a weak key.
228
229   * cipher.c: Replaced the cipher and digest functions by the gcry_ ones.
230   * seckey-cert.c: Ditto.
231   * seskey.c: Ditto.
232   * g10.c (print_mds): Replaced digst functions with the new gcry_ ones.
233   * keyid.c: Ditto.
234   * mainproc.c: Ditto.
235   * passphrase.c: Ditto.
236   * sig-check.c: Ditto.
237   * sign.c: Ditto.
238
239   * pkclist.c (do_edit_ownertrust): Made the answer string const.
240
241   * basicdefs.h: New.  Move some defs and decl to this header.
242
243   * openfile.c (open_outfile): Fixed the 8dot3 handling.
244
245   * passphrase.c (passphrase_to_dek): Print uid using utf8 func.
246   * delkey.c (delete_key): Ditto.
247   * pkclist.c (show_paths,do_edit_ownertrust,do_we_trust): Ditto
248   (do_we_trust_pre): Ditto.
249   * trustdb.c (print_user_id,check_uidsigs): Ditto.
250   * revoke.c (gen_revoke,ask_revoke_sig): Ditto.
251
252   * filter.h: Changed cipher handle types to the the GCRY_xxx ones.
253   replaces include cipher by system header include gcrypt.h.
254   * cipher.c: replaced the cipher functions by the gcry_ ones.
255   Ditto for the md functions.
256
257   * misc.c (map_gcry_rc): New.
258
259 Wed Jun 28 11:54:44 CEST 2000  Werner Koch  <wk@>
260
261   * armor.c (armor_filter): Set sigclass to 0 in case of non-dash-escaped
262   clearsig.  This makes this mode work again.
263
264   * mainproc.c (proc_tree): Fixed handling of one-pass-sig packets in textmode.
265   Disabled the ugly workaround for PGP 5 - let's see whether thi breaks less
266   cases. Found by Ted Cabeen.
267
268   * options.h (DBG_HASHING): New.  All commented md_start_debug are now
269   controlled by this debug option.
270
271   * sign.c (print_status_sig_created): New and called from 2 places.
272
273   * keygen.c (gen_rsa): New, but commented.
274   (ask_algo): Commented support for RSA.
275
276   * seckey-cert.c (protect_secret_key): Started to fix the code for v4 RSA
277   keys - it is not solved yet. However, we have time until, Sep 20th ;)
278
279 Wed Jun 14 12:27:09 CEST 2000  Werner Koch  <wk@openit.de>
280
281   * status.c (init_shm_coprocessing): Changed the sequence of the get,attach
282   to cope with the changes in newer Linux kernels.  This bug has been found
283   by <dmitri@advantrix.com> who also proposed this solution.  Hopefully
284   this does not break gpg on to many systems.
285
286   * cipher.c (write_header): Protect the IV with the MDC too.
287   * encr-data.c (decrypt_data): Likewise.
288
289 Fri Jun  9 10:09:52 CEST 2000  Werner Koch  <wk@openit.de>
290
291   * g10.c: New options --no-auto-key-retrieve
292   * options.h (auto_key_retrieve): New.
293   * mainproc.c (check_sig_and_print): Implemented that.
294
295 Wed Jun  7 19:19:09 CEST 2000  Werner Koch  <wk@openit.de>
296
297   * sig-check.c (do_check): Use EMULATE_MDENCODE also on v4 paclets.
298
299 Wed Jun  7 17:25:38 CEST 2000  Werner Koch  <wk@openit.de>
300
301   * cipher.c (write_header): Use plain CFB mode for MDC encrypted packets.
302   * encr-data.c (decrypt_data): Ditto.
303
304 Mon Jun  5 23:41:54 CEST 2000  Werner Koch  <wk@openit.de>
305
306   * seskey.c (do_encode_md, encode_md_value): Add new arg v3compathack to work
307   around a bug in old versions.
308   * sig-check.c (do_check): use the aboved workaround when enabled.
309   * g10.c: New option --emulate-md-decode-bug
310
311 Mon Jun  5 12:37:43 CEST 2000  Werner Koch  <wk@openit.de>
312
313   * build-packet.c (do_mdc): New.
314   (do_encrypted_mdc): Changed for the new proposal.
315   * parse-packet.c (parse_mdc): New.
316   (parse_encrypted): Fixed for the new proposal.
317   * packet.h (PKT_MDC): New.
318   * cipher.c (cipher_filter): Build the MDC packet here.
319   * g10.c (main): Enable --force-mdc.
320   * encr-data.c (mdc_decode_filter): Fixed for new MDC method
321
322   * options.h(rfc2440): New.
323   * g10.c (main): Changed the selected values for --openpgp to not include
324   optional algorithms.
325
326 Thu May 18 11:38:54 CEST 2000  Werner Koch  <wk@openit.de>
327
328         * keyedit.c (keyedit_menu): Add a keyword arg to the prompt.
329
330         * status.c, status.h: Added 3 new status tokens.
331         * status.c (do_get_from_fd): New.
332         (cpr_enabled,cpr_get,cpr_get_hidden,cpr_kill_prompt,
333          cpr_get_answer_is_yes,cpr_get_answer_yes_no_quit): Modified to work
334          with the new function.
335         * g10.c: Add new option --command-fd.
336
337         * status.c (progress_cb): New.
338         (set_status_fd): Register progress functions
339
340 Fri May 12 14:01:20 CEST 2000  Werner Koch  <wk@openit.de>
341
342         * delkey.c (delete_key): Add 2 new status messages
343         * status.c, status.h (STATUS_DELETE_PROBLEM): New.
344
345         Fixed years of copyright in all source files.
346
347 Mon May  1 17:08:14 CEST 2000  Werner Koch  <wk@openit.de>
348
349         * trustdb.c (propagate_validity): Fixed the bug that only one uid
350         gets fully trusted even when all are signed by an ultimate key.
351
352 Mon May  1 15:38:04 CEST 2000  Werner Koch  <wk@openit.de>
353
354         * getkey.c (key_byname): Always returned a defined context.  Fixed
355         a segv for invalid user id specifications. Reported by Walter Koch.
356
357         * getkey.c (get_user_id): I18ned "no user id" string. By Walter.
358
359         * pkclist.c (do_show_revocation_reason): Typo fixes.
360         * helptext.c: Ditto.
361
362         * armor.c (armor_filter): Fixed some CRLF issues.  By Mike McEwan.
363
364 Fri Apr 14 19:37:08 CEST 2000  Werner Koch  <wk@openit.de>
365
366         * pkclist.c (do_show_revocation_reason): New.
367         (show_revocation_reason): New and called at various places.
368
369         * g10.c (main): Fixed small typo.
370
371         * pkclist.c (do_we_trust): Act on always_trust but not for revoked
372         keys. Suggested by Chip Salzenberg.
373
374         * g10.c: New option --lock-never.
375
376         * ringedit.c (get_writable_keyblock_file): New.
377         * keygen.c (do_generate_keypair): Use this instead of the hardwired one.
378
379         * keygen.c (ask_user_id): Check that the email address is in the
380         correct field.  Suggested by Christian Kurz.
381
382 Mon Apr 10 13:34:19 CEST 2000  Werner Koch  <wk@openit.de>
383
384         * keyedit.c (show_key_with_all_names): s/sbb/ssb/
385
386 Tue Mar 28 14:26:58 CEST 2000  Werner Koch  <wk@openit.de>
387
388         * trustdb.c (verify_own_keys): Do not print warning about unprotected
389         key when in quiet mode.
390
391 Wed Mar 22 13:50:24 CET 2000  Werner Koch  <wk@openit.de>
392
393         * mainproc.c (print_userid): Do UTF8 conversion before printing.
394         * import.c (import_one): Ditto.
395         (import_secret_one): Ditto.
396         (delete_inv_parts): Ditto.
397
398 Thu Mar 16 16:20:23 CET 2000  Werner Koch  <wk@openit.de>
399
400         * keylist.c (print_key_data): Handle a NULL pk gracefully.
401
402         * getkey.c (merge_one_pk_and_selfsig): Fixed silly code for
403         getting the primary keys keyID but kept using the one from the
404         subkey.
405         * pubkey-enc.c (get_it): Print a note for expired subkeys.
406
407         * getkey.c (has_expired): New.
408         (subkeys_expiretime): New.
409         (finish_lookup): Check for expired subkeys needed for encryption.
410         (merge_keys_and_selfsig): Fixed expiration date merging for subkeys.
411
412         * keylist.c (list_keyblock): Print expiration time for "sub".
413         (list_one): Add missing merging for public keys.
414         * mainproc.c (list_node): Ditto.
415
416 2000-03-14 13:49:38  Werner Koch  (wk@habibti.openit.de)
417
418         * keygen.c (keyedit_menu): Do not allow to use certain commands
419         while the secret key is selected.
420
421 2000-03-09 12:53:09  Werner Koch  (wk@habibti.openit.de)
422
423         * keygen.c (ask_expire_interval): Movede parsig to ...
424         (parse_expire_string): ... this new function. And some new control
425         commands.
426         (proc_parameter_file): Add expire date parsing.
427         (do_generate_keypair): Allow the use of specified output files.
428
429 2000-03-08 10:38:38  Werner Koch  (wk@habibti.openit.de)
430
431         * keygen.c (ask_algo): Removed is_v4 return value and the commented
432         code to create Elg keys in a v3 packet. Removed the rounding
433         of key sizes here.
434         (do_create): Likewise removed arg v4_packet.
435         (gen_elg): Likewise removed arg version. Now rounding keysizes here.
436         (gen_dsa): Rounding keysize now here.
437         (release_parameter_list): New
438         (get_parameter*): New.
439         (proc_parameter_file): New.
440         (read_parameter_file): New.
441         (generate_keypair): Splitted. Now uses read_parameter_file when in
442         batch mode.  Additional argument to specify a parameter file.
443         (do_generate_keypair): Main bulk of above fucntion and uses the
444         parameter list.
445         (do_create): Don't print long notice in batch mode.
446         * g10.c (main): Allow batched key generation.
447
448 Thu Mar  2 15:37:46 CET 2000  Werner Koch  <wk@gnupg.de>
449
450         * pubkey-enc.c (get_it): Print a note about unknown cipher algos.
451
452         * g10.c (opts): Add a note to the help listing about the man page
453         and removed some options from the help listing.
454
455         * keyedit.c (print_and_check_one_sig): Use a new function to truncate
456         the output of the user ID.  Suggested by Jan-Benedict Glaw.
457
458 Wed Feb 23 10:07:57 CET 2000  Werner Koch  <wk@gnupg.de>
459
460         * helptext.c: typo fix.
461
462 Thu Feb 17 13:39:32 CET 2000  Werner Koch  <wk@gnupg.de>
463
464         * revoke.c: Removed a bunch of commented code.
465
466         * packet.h (SIGSUBPKT_REVOC_REASON): New.
467         * build-packet.c (build_sig_subpkt): Support new sub packet.
468         * parse-packet.c (parse_one_sig_subpkt): Ditto.
469         (dump_sig_subpkt): Ditto.
470         * revoke.c (ask_revocation_reason): New.
471         (release_revocation_reason_info): New.
472         (revocation_reason_build_cb): New.
473         (gen_revoke): Ask for reason.
474         * main.h (struct revocation_reason_info): Add declaration.
475         * keyedit.c (menu_revsig): Add support for revocation reason.
476         (menu_revkey): Ditto.
477         (sign_uid_mk_attrib): Renamed to ...
478         (sign_mk_attrib): ... this, made static and add support for reasons.
479
480 Tue Feb 15 08:48:13 CET 2000  Werner Koch  <wk@gnupg.de>
481
482         * build-packet.c (build_packet): Fixed fixing of old comment packets.
483
484         * import.c (import_keys): Fixed importing from stdin when called with
485         nnames set to zero as it normally happens.
486
487 Mon Feb 14 14:30:20 CET 2000  Werner Koch  <wk@gnupg.de>
488
489         * sig-check.c (check_key_signature2): Add new arg r_expired.
490         (do_signature_check): New arg to pass it down to ...
491         (do_check): New arg r-expire which is set when the signature
492         has expired.
493         * trustdb.c (check_sig_record): Set SIGF_EXPIRED flag and set
494         the expiretime to zero so that thi signature will not be checked
495         anymore.
496
497 Fri Feb 11 17:44:40 CET 2000  Werner Koch  <wk@gnupg.de>
498
499         * g10.c (g10_exit): Update the random seed_file.
500         (main): Set the random seed file.  New option --no-random-seed-file.
501
502 Thu Feb 10 17:39:44 CET 2000  Werner Koch  <wk@gnupg.de>
503
504         * keyedit.c (menu_expire): Fixed segv due to unitialized sub_pk.
505         By Rémi.
506
507 Thu Feb 10 11:39:41 CET 2000  Werner Koch  <wk@gnupg.de>
508
509         * keylist.c (list_keyblock): Don't print warnings in the middle of
510         regulat output lines.  By Rémi.
511
512         * sig-check.c: Include options.h
513
514 Wed Feb  9 15:33:44 CET 2000  Werner Koch  <wk@gnupg.de>
515
516         * gpg.c: New option --ignore-time-conflict
517         * sig-check.c (do_check): Implemented this option.
518         * trustdb.c (check_trust): Ditto.
519         * sign.c (do_sign): Ditto.
520         * keygen.c (generate_subkeypair): Ditto.
521
522         * encode.c (encode_simple): use iobuf_cancel after open failure.
523         Reported by Huy Le.
524
525 Fri Jan 14 18:32:01 CET 2000  Werner Koch  <wk@gnupg.de>
526
527         * packet.h (STRING2KEY): Changed mode from byte to int.
528         * parse-packet.c (parse_key): Add the special GNU protection stuff
529         * build-packet.c (so_secret_key): Ditto.
530         * seckey-cert.c (do_check): Ditto.
531         * keyedit.c (change_passphrase): Ditto.
532         * export.c (export_secsubkeys): New.
533         (do_export_stream): Hack to export the primary key using mode 1001.
534         * g10.c: New command --export-secret-subkeys
535
536 Thu Jan 13 19:31:58 CET 2000  Werner Koch  <wk@gnupg.de>
537
538         * armor.c (is_armored): Check for 1-pass-sig packets. Reported by
539         David Hallinan <hallinan@rtd.com>.
540         (armor_filter): Replaced one LF by the LF macro.  Reported by
541         Wolfgang Redtenbacher.
542
543 Wed Jan  5 11:51:17 CET 2000  Werner Koch  <wk@gnupg.de>
544
545         * g10.c (main): Reset new global flag opt.pgp2_workarounds
546         when --openpgp is used.
547         * mainproc.c (proc_plaintext): Do the PGP2,5 workarounds only
548         when the global flag is set.
549         (proc_tree): Ditto.
550         * textfilter.c (copy_clearsig_text): Ditto.
551         * armor.c (armor_filter): Ditto.
552
553         * g10.c: New option --list-only
554         * mainproc.c (proc_tree): Don't do it if opt.list_only is active.
555         (proc_pubkey_enc): Implement option.
556
557         * status.h, status.c ({BEGIN,END}_{EN,DE}CRYPTION): New.
558         * cipher.c (cipher_filter): New status outputs.
559         * mainproc.c (proc_encrypted): New status outputs.
560
561 Fri Dec 31 14:08:15 CET 1999  Werner Koch  <wk@gnupg.de>
562
563         * armor.c (armor_filter): Made the "Comment:" header translatable.
564
565         * hkp.c (hkp_import): Make sure that the program does not return
566         success when there is a connection problem.  Reported by Phillip Jones.
567
568 Sun Dec 19 15:22:26 CET 1999  Werner Koch  <wk@gnupg.de>
569
570         * armor.c (LF): Use this new macro at all places where a line LF
571         is needed.  This way DOSish textfiles should be created when the
572         input data is also in dos mode.
573         * sign.c (LF): Ditto.
574         * textfilter.c (LF): Ditto.
575         (copy_clearsig_text): Disabled the forcing of CR,LF sequences
576         for DOS systems.
577
578         * plaintext.c (handle_plaintext): Fixes for line endings on DOS.
579         and react on a LF in cleartext.
580         * armor.c (fake_packet): Restore the original line ending after
581         removing trailing spaces.
582
583         * signal.c (got_fatal_signal): DOS fix.
584
585 Thu Dec 16 10:07:58 CET 1999  Werner Koch  <wk@gnupg.de>
586
587         * mainproc.c (print_failed_pkenc): Fix for unknown algorithm.
588         Found by fygrave@epr0.org.
589
590 Thu Dec  9 10:31:05 CET 1999  Werner Koch  <wk@gnupg.de>
591
592         * hkp.c: i18n the strings.
593
594 Sat Dec  4 15:32:20 CET 1999  Werner Koch  <wk@gnupg.de>
595
596         * trustdb.c (verify_key): Shortcut for ultimately trusted keys.
597
598 Sat Dec  4 12:30:28 CET 1999  Werner Koch  <wk@gnupg.de>
599
600         * pkclist.c (build_pk_list): Validate the trust using the namehash
601         if this one has been set by the key lookup.
602
603         * g10.c: Add --delete-secret-key to the help page.
604
605         * openfile.c (copy_options_file): Made static.
606         (try_make_homedir): New.
607         * ringedit.c (add_keyblock_resource): Use the try_make_hoemdir logic.
608         * tdbio.c (tdbio_set_dbname): Likewise.
609
610         * keygen.c (generate_user_id): Use m_alloc_clear() here. We should
611         better use an allocation function specific to the user_id packet.
612
613         * keygen.c (keygen_add_std_prefs): Changed symmetric preferences
614         to include Blowfish again.  This is due to it's better speed compared
615         to CAST5.
616
617         * g10.c (strusage): Print the home directory.
618
619         * armor.c (armor_filter): Take action on the cancel control msg.
620         * filter.h (armor_filter_context_t): Add cancel flag.
621
622 Mon Nov 29 21:52:11 CET 1999  Werner Koch  <wk@gnupg.de>
623
624         * g10.c: New option --fast-list-mode ..
625         * keylist.c (list_keyblock): .. and implemented.
626         * mainproc.c (list_node): Ditto.
627
628         * import.c (mark_non_selfsigned_uids_valid): Fixed the case that there
629         is a uid without any packet following.
630
631 Mon Nov 22 11:14:53 CET 1999  Werner Koch  <wk@gnupg.de>
632
633         * mainproc.c (proc_plaintext): Never enable the hash processing
634         when skip_verify is active.
635
636         * armor.c (parse_header_line): Stop parsing on a WS line too.
637         Suggested by Aric Cyr.
638
639         * tdbdump.c (HEXTOBIN): Changed the name of the argument, so that
640         traditional cpp don't mess up the macros. Suggested by Jos Backus.
641
642         * mainproc.c (list_node): Print the PK algo in the --with-colon mode.
643         * keylist.c (list_keyblock): Ditto.
644
645         * signal.c (got_fatal_signal): Found the reason why exit(8) did not
646         work - it is better to set the disposition back to default before
647         raising the signal.  Print the notice on stderr always.
648
649 Fri Nov 12 20:33:19 CET 1999  Werner Koch  <wk@gnupg.de>
650
651         * g10.c (make_username): Swapped the logic.
652         * keylist.c (public_key_list): Now takes a STRLIST as arg and moved
653         the creation ot this list to the caller, so that he can copy with
654         UTF-conversion of user IDs.  Changed all callers.
655         (secret_key_list): Likewise.
656
657         * getkey.c (get_user_id_string_native): New and ...
658         * encode.c (write_pubkey_enc_from_list): ... use it here.
659
660         * pubring.asc: Updated.
661
662         * packet.h (PKT_PHOTO_ID): New.
663         * parse-packet.c (parse_photo_id): New.
664         * build-packet.c (do_user_id: Handle photo IDs.
665         (build_packet): Change CTB for photo IDs
666         * free-packet.c (free_user_id): Release memory used for photo IDs
667         * sig-check.c (hash_uid_node): Handle photo IDs too.
668         * trustdb.c (print_uid_from_keyblock): Hash photo ID.
669         (make_uid_records): Ditto.
670         * getkey.c (find_by_name): Ditto.
671         * keyedit.c (show_prefs): Ditto.
672         * keylist.c (list_keyblock): Ditto.
673
674 Thu Oct 28 16:08:20 CEST 1999  Werner Koch  <wk@gnupg.de>
675
676         * keygen.c (ask_expire_interval): Print a warning for systems
677         with a signed 32 time_t if the exiration time is beyoind 2038.
678
679 Fri Oct  8 20:40:50 CEST 1999  Werner Koch  <wk@gnupg.de>
680
681         * ringedit.c (enum_keyblocks): The last fix way really stupid;
682         reverted and set rt to Unknown.
683
684 Fri Oct  8 20:32:01 CEST 1999  Werner Koch  <wk@gnupg.de>
685
686         * ringedit.c (enum_keyblocks): Zero the entire kbpos out on open.
687
688         * g10.c (oEntropyDLL): Removed option.
689         (main): Made the warning on development versions more verbose.
690
691         * g10.c (oHonorHttpProxy): New option.
692         * hkp.c (hkp_ask_import,hkp_export): Implement this option.
693         * options.skel: Enable this option for new installations
694
695 Mon Oct  4 21:23:04 CEST 1999  Werner Koch  <wk@gnupg.de>
696
697         * import.c (import_keys): Changed calling interface, adjusted caller.
698         (import): Moved printing of stats out ...
699         (print_stats): New. ... to here.
700         (import_keys_stream): Call stats print here.
701         (import_keys): Print stats as totals for all files.
702
703         * tdbio.h (DIRF_NEWKEYS): New
704         * tdbio.c (tdbio_dump_record): Print the new flag.
705         * trustdb.c (check_trust_record): New arg sigs_only.  Adapted all
706         callers.
707         (do_update_trust_record): Removed recheck arg and add a new sigs_only
708         do we can later improve on the performance.  Changed all callers too.
709         (check_trustdb): Evalutate the new flag and add a status output.
710         Do a check when the dir record has not been checked.
711         (build_cert_tree): Evaluate the new flag.
712         (check_trust): Ditto.  Do a trust_record check, when the dir record
713         is not marked as checked.
714         (mark_fresh_keys): New.
715         (clear_lid_table): New.
716         (sync_trustdb): New.
717         * import.c (import_keys): Call sync_trustdb() after processing.
718         (import_keys_stream): Ditto.
719         * tdbdump.c (import_ownertrust): Ditto.
720
721         * import.c (import_revoke_cert): Notify the trust DB.
722         (do_update_trust_record): Use |= to set the REVOKED bit and not &=;
723         shame on me for this bad copy+paste introduced bug.
724         (do_we_trust): Add trustmask to allow revoked key override to work.
725         Chnaged are to allow return of a mofified trustlevel. Adapted the
726         one caller.
727
728         * g10.c: New options --emulate-3des-s2k-bug
729         * passphrase.c (hash_passphrase): Implemented above.
730
731         * mainproc.c (proc_tree): Check for standalone signatures.
732         (do_check_sig): Print a notice for a standalone revocation
733         (check_sig_and_print): Do not print an error for unchecked standalone
734         revocations.
735
736 Tue Sep 28 20:54:37 CEST 1999  Werner Koch  <wk@gnupg.de>
737
738         * encode.c (encode_simple): Use new CTB when we don't have the
739         length of the file.  This is somewhat strange as the comment above
740         indicates that this part is actually fixed for PGP 5 - maybe I simply
741         lost the source line, tsss.
742
743         * armor.c (armor_filter): Set a flag if no OpenPGP data has been found.
744         * verify.c (verify_signatures): Add an error helptext.
745
746 Thu Sep 23 19:24:30 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
747
748         * openfile.c (open_outfile): Fixed the 8dot3 handling.
749
750         * passphrase.c (passphrase_to_dek): Print uid using utf8 func.
751         * delkey.c (delete_key): Ditto.
752         * pkclist.c (show_paths,do_edit_ownertrust,do_we_trust): Ditto
753         (do_we_trust_pre): Ditto.
754         * trustdb.c (print_user_id,check_uidsigs): Ditto.
755         * revoke.c (gen_revoke,ask_revoke_sig): Ditto.
756
757 Thu Sep 23 09:52:58 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
758
759         * verify.c (print_file_status): New.
760         (verify_one_file): Moved status print to th new fnc. Add error status.
761         * status.c, status.h (STATUS_FILE_ERROR): New
762
763 Wed Sep 22 10:14:17 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
764
765         * openfile.c (make_outfile_name): Use case-insenstive compare for
766         DOS systems.  Add ".pgp" to the list of know extensions.
767         (open_outfile): For DOS systems try to replace the suffiy instead of
768         appending it.
769
770         * status.c, status.h: Add STATUS_FILE_{START,DONE}.
771         * verify.c (verify_one_file): Emit these new stati.
772
773         * sign.c (clearsign_file): Avoid duplicated Entries in the "Hash:"
774         line.  Those headers are now only _not_ printed when there are
775         only old-style keys _and_ all hashs are MD5.
776
777 Mon Sep 20 12:24:41 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
778
779
780         * verify.c (verify_files, ferify_one_file): New.
781         * g10.c:  New command --verify-files
782
783 Fri Sep 17 12:56:42 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
784
785         * g10.c: Add UK spelling as alias for armor options ;-)
786
787         * import.c (append_uid): Fixed a SEGV when there is no selfsig and
788         no subkey.
789         (merge_sigs): Ditto.  Removed the assertion.
790
791 Wed Sep 15 16:22:17 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
792
793         * g10.c: New option --entropy-dll-name
794
795 Mon Sep 13 10:51:29 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
796
797         * signal.c (got_fatal_signal): Print message using write(2) and
798         only for development versions.
799
800 Mon Sep  6 19:59:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
801
802         * tdbio.c (tdbio_set_dbname): Use mkdir macro
803         * ringedit.c (add_keyblock_resource): Ditto.
804
805 Fri Sep  3 10:04:45 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
806
807         * pkclist.c (build_pk_list): Skip keys set with --encrypt-to also
808         when asking for a key.
809
810         * plaintext.c (handle_plaintext): Make sure that we don't read a
811         second EOF in the read loop for partial length packets.
812
813         * mainproc.c (check_sig_and_print): print user ID as utf-8.
814
815 Thu Sep  2 16:40:55 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
816
817         * import.c (merge_blocks): First add new subkeys, then merge subkey
818         certificates.
819         (merge_sigs): Don't merge subkey signatures here.
820
821 Wed Sep  1 15:30:44 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
822
823         * keygen.c (ask_expire_interval): Fixed bug related to cpr_xx (tnx
824         Francis J. Lacoste).
825
826 Tue Aug 31 17:20:44 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
827
828         * plaintext.c (do_hash): Hash CR,LF for a single CR.
829         (ask_for_detached_datafile): Changed arguments to be closer to
830         those of hash_datafiles and cleanup the code a bit.
831         * mainproc.c (proc_tree): Workaround for pgp5 textmode detached
832         signatures.  Changed behavior of asking for data file to be the same
833         as with provided data files.
834
835         * keylist.c (list_keyblock): Use UTF8 print functions.
836
837 Mon Aug 30 20:38:33 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
838
839         * import.c (chk_self_sigs): some s/log_error/log_info/ so that gpg
840         does not return an error if a key has some invalid packets.
841
842         * helptext.c: Fixed some typos and changed the way the
843         translation works.  The english text is now the keyword for gettext
844         and not anymore the keyword supplied to the function.  Done after
845         some discussion with Walter who thinks this is much easier for the
846         translators.
847
848         * misc.c (disable_core_dumps): Don't do it for DOSish systems.
849
850         * signal.c (signal_name): Bounds check on signum.
851
852 Wed Aug  4 10:34:18 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
853
854         * pubring.asc: Updated.
855
856         * pkclist.c (do_we_trust_pre,check_signatures_trust): Do not print
857         the warning about --always_trust when --quiet is used.
858
859         * pkclist.c (fpr_info): New and called at several places.
860
861         * parse-packet.c (dump_sig_subpkt): List revocation key contents.
862
863 Mon Jul 26 09:34:46 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
864
865         * pkclist.c (build_pk_list): Fixed typo in format string.
866
867         * trustdb.c (create_shadow_dir): Don't translate the error string.
868
869         * g10.c (main): Fixed spelling of user-id.
870         * getkey.c (find_by_name_pk,find_by_name_sk,
871         find_by_keyid,find_by_keyid_sk): Ditto and translate it.
872         * import.c (mark_non_selfsigned_uids_valid,delete_inv_parts): Ditto.
873
874
875 Mon Jul 26 01:01:39 CEST 1999  Michael Roth <mroth@nessie.de>
876
877         * g10.c, options.h: New options --no-literal and --set-filesize
878
879         * encode.c (encode_simple, encode_crypt): Support for the options
880         --no-literal and --set-filesize.
881
882         * sign.c (sign_file): ditto.
883
884 Fri Jul 23 13:53:03 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
885
886
887         * ringedit.c (enum_keyblocks): Removed annoying error message in cases
888         when we have no keyring at all to enum.
889
890         * getkey.c (classify_user_id): Rewrote to relax the recognition of
891         keyIDs and fingerprints (Michael).
892
893         * mainproc.c (check_sig_and_print): Print status NO_PUBKEY.
894         (print_failed_pkenc): Print status NO_SECKEY.
895
896         * import.c (mark_non_selfsigned_uids_valid): New.
897         * g10.c: New option --allow-non-selfsigned-uid.
898
899         * pkclist.c (print_fpr): New.
900         (do_we_trust_pre): Print the fpr before asking whether to use the key
901         anyway.
902         (do_edit_ownertrust): Likewise.
903
904 Thu Jul 22 20:03:03 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
905
906
907         * ringedit.c (enum_keyblocks): Removed annoying error message in cases
908         when we have no keyring at all to enum.
909
910         * getkey.c (classify_user_id): Rewrote to relax the recognition of
911         keyIDs and fingerprints (Michael).
912
913         * mainproc.c (check_sig_and_print): Print status NO_PUBKEY.
914         (print_failed_pkenc): Print status NO_SECKEY.
915
916         * import.c (mark_non_selfsigned_uids_valid): New.
917         * g10.c: New option --allow-non-selfsigned-uid.
918
919 Thu Jul 15 10:15:35 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
920
921         * g10.c: New options --disable-{cipher,pubkey}-algo.
922
923 Wed Jul 14 19:42:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
924
925         * status.h (STATUS_IMPORTED): New.
926         * import.c (import): Print some status information (Holger Schurig).
927
928         * g10.c (main): Make --no-greeting work again. Add a warning when
929         --force-mds is used.
930
931 Tue Jul 13 17:39:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
932
933         * pkclist.c (do_edit_ownertrust): Changed the way help works.
934         (build_pk_list): Implemented default recipient stuff.
935         * g10.c: New options --default-recipient[-self]
936         (main): Suppress greeting in most cases, entering a passphrase or
937         a missing value is not considered to be interactive use.
938         Merged --print-md and --print-mds; the latter is now obsolete.
939         Changed the way --gen-random works and documented it.
940         Changed the way --gen-prime works and add a man entry.
941         * g10.c (MAINTAINER_OPTIONS): Removed.
942
943 Mon Jul 12 18:45:57 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
944
945         * keyedit.c (keyedit_menu): Add arg sign_mode and changed callers
946         * g10.c (main): New command --lsign-key.
947
948 Mon Jul 12 14:55:34 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
949
950         * mainproc.c (kidlist_item): New.
951         (release_list): Release failed pk-enc-list.
952         (print_failed_pkenc): New
953         (proc_encrypted): Print info about failed PK enc.
954
955         * openfile.c (make_outfile_name): s/error/info/
956
957         * passphrase.c (passphrase_to_dek): Return an empty passphrase when
958         in batch mode and don't make the warning message fatal
959         * seckey-cert.c (check_secret_key): Try only once when in batch mode.
960
961         * g10.c (make_username): New.
962
963 Thu Jul  8 16:21:27 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
964
965
966         * packet.h (PKT_ring_trust): New
967         * parse-packet.c (parse_trust): Store trust value
968         * build-packet (build_packet): Ignore ring trust packets.
969         * mainproc.c (add_ring_trust): New.
970         (list_node): Print "rtv" records.
971         * g10.c: New option --with-fingerprint.
972
973         * trustdb.c (verify_own_keys): Don't insert if we are dry running
974         (check_trust): Ditto.
975
976 Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
977
978         * Makefile.am: Support for libtool.
979
980         * keygen.c (ask_expire_interval): Hack to allow for an expire date.
981
982         * trustdb.c (do_update_trust_record,update_trust_record): Splitted.
983         (check_trust_record): New.
984         (check_trust,build_cert_tree): Check the dir record as needed.
985         (upd_pref_record): Removed.
986         (make_pref_record): New.
987         (propagate_validity): Stop as soon as we have enough validity.
988
989         * tbdio.c (MAX_CACHE_ENTRIES_HARD): Increased the limit.
990
991
992 Fri Jul  2 11:45:54 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
993
994         * g10.c (g10_exit): Dump random stats.
995
996         * sig-check.c (check_key_signature,check_key_signature2): Enhanced
997         version and wrapper for old function.
998         (do_signature_check,signature_check): Ditto.
999
1000 Thu Jul  1 12:47:31 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1001
1002
1003         * keyedit.c (show_key_with_all_names): Print a notice for disabled keys.
1004         (enable_disable_keys): Add functionality
1005         * pkclist.c (edit_ownertrust): preserve disabled state.
1006         (build_pk_list): Skip disabled keys.
1007         * trustdb.c (upd_one_ownertrust): Ditto.
1008         (build_cert_tree): Mask the ownertrust.
1009         (trust_letter): Mask the value.
1010         (do_check): Take disabled flag into account.
1011
1012         * passphrase.c (passphrase_to_dek): Add a pubkey_algo arg and changed
1013         all callers.
1014
1015         * g10.c (utf8_strings): 2 new options.
1016
1017         * trustdb.c (insert_trust_record_by_pk): New, replaces the next one.
1018         (insert_trust_record): Now takes a keyblock as arg.  Changed all
1019         callers to use the appropritae function.
1020
1021         * openfile.c (ask_outfile_name): New.
1022         * plaintext.c (handle_plaintext): Ask for filename if there is
1023         no valid syntax. Don't use fname varbatim but filter it.
1024
1025 Tue Jun 29 21:44:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1026
1027
1028         * trustdb.h (TRUST_FLAG_DISABLED): New.
1029
1030         * status.c (USE_CAPABILITIES): Capabilities support (Remi).
1031
1032         * tdbio.c : Added new fields to the DIR record.
1033         (tdbio_write_record): Fixed the update of the hash tables.
1034         (tdbio_delete_record): Drop the record from the hash tables.
1035         (drop_from_hashtbl): New.
1036
1037         * status.c (cpr_get): Special online help mode.
1038         * helptext.c ("keyedit.cmd"): Removed.
1039         * keyedit.c (keyedit_menu): Use only help system.
1040         (enable_disable_key): New bit doies not yet work.
1041
1042 Sat Jun 26 12:15:59 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1043
1044
1045         * dearmor.c (enarmor_file): Fixed comment string.
1046         * tdbdump.c (export_ownertrust): Text fix.
1047         * tbio.c (tdbio_invalid): Ditto.
1048
1049         * parse-packet.c (parse_key): Made temp buffer larger.
1050
1051         * Makefile.am (install-data-local): Add missing backslashes
1052
1053 Tue Jun 15 12:21:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1054
1055         * g10.c (main): Made iterated+salted the default S2K method.
1056
1057         * Makefile.am (install-data-local): Use DESTDIR.
1058
1059         * passphrase.c (passphrase_to_dek): Emit missing-passphrase while in
1060         batchmode.
1061
1062         * parse-packet.c (parse_pubkeyenc): Fixed a SEGV.
1063
1064 Mon Jun 14 21:18:54 CEST 1999 Michael Roth <mroth@nessie.de>
1065
1066         * g10.c: New options --openpgp, --no-tty, --emit-version,
1067           --default-comment and --lock-multiple
1068
1069 Thu Jun 10 14:18:23 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1070
1071         * free-packet.c (free_encrypted): Fixed EOF case (Remi).
1072         (free_plaintext): Ditto.
1073
1074         * helptext.c (keyedit.delsig.unknown): New (Remi).
1075         * keyedit.c (print_and_check_one_sig): Add arg print_without_key and
1076         changed all callers to make use of it (Remi):
1077
1078 Tue Jun  8 13:36:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1079
1080         * keylist.c (print_key_data): New and called elsewhere.
1081         * g10.c: New option --with-key-data
1082
1083 Wed Jun  2 14:17:19 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1084
1085         * mainproc.c (proc_tree): Yet another bad hack to cope with
1086         broken pgp2 created detached messages in textmode.
1087
1088 Tue Jun  1 16:01:46 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1089
1090         * openfile.c (make_outfile_name): New.
1091         * plaintext.c (handle_plaintext): Outputfile is now the inputfile
1092         without the suffix.
1093         * g10.c: New option --use-embedded-filename
1094
1095 Mon May 31 19:41:10 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1096
1097         * g10.c (main): Fix for SHM init (Michael).
1098
1099         * compress.c, encr-data.c, mdfilter.c,
1100           plaintext.c, free-packet.c: Speed patches (Rémi).
1101
1102 Thu May 27 09:40:55 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1103
1104         * status.c (cpr_get_answer_yes_no_quit): New.
1105         * keyedit.c (menu_delsig): New.
1106         (check_all_keysigs): Splitted.
1107         (print_and_check_one_sig): New.
1108
1109 Wed May 26 14:36:29 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1110
1111         * build-packet.c (build_sig_subpkt): Support large packets.
1112         * parse-packet.c (enum_sig_subpkt): Replaces parse_sig_subpkt.
1113         * mainproc.c (print_notation_data): Print all notation packets.
1114         * g10.c (add_notation_data): Add a way to specify the critical flag.
1115         (main): Add option --set-policy-url.
1116         (check_policy_url): Basic checks.
1117         * sign.c (mk_notation_and_policy): Replaces mk_notation.
1118
1119         * parse-packet.c (can_handle_critical): Moved decision whether we can
1120         handle critical subpacket to an extra function.
1121
1122 Tue May 25 19:50:32 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1123
1124         * sign.c (sign_file): Always use compression algo 1 for signed
1125         onyl file becuase we can´ be sure the the verifier supports other
1126         algorithms.
1127
1128         * build-packet.c (build_sig_subpkt): Support for notation data.
1129         * sign.c (sign_file,clearsign_file,make_keysig_packet): Ditto.
1130         (mk_notation): New.
1131         * g10.c (add_notation_data): New and add option -N
1132         * mainproc.c (print_notation_data): New.
1133         (check_sig_and_print): Print any notation data of the signed text.
1134
1135 Sun May 23 14:20:22 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1136
1137         * pkclist.c (check_signatures_trust): Print a warning and return
1138         immediateley if opt.always_trust is true.
1139
1140         * g10.c (main): Corrected handling of no-default-keyring
1141
1142         * pkclist.c (algo_available): Disable Twofish until we have settled
1143         how to do the MDC.
1144
1145         * hkp.c: Disable everything for mingw32
1146
1147 Sat May 22 22:47:26 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1148
1149         * mainproc.c (check_sig_and_print): Add sig creation time to the
1150         VALIDSIG status output. Add more info to the ERRSIG output.
1151         * sig-check.c (signature_check): Add sig time after epoch to SIG_ID.
1152
1153         * import.c (import_one): Merge duplicate user IDs.
1154         (collapse_uids): New.
1155         * kbnode.c (move_kbnode): New.
1156         (remove_kbnode): New.
1157         * keyedit.c (keyedit_menu): Call collapse_uids.
1158
1159         * g10.c: new option --logger-fd.
1160
1161         * import.c: s/log_*_f/log_*/
1162
1163 Thu May 20 14:04:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1164
1165         * misc.c (pull_in_libs): do the volatile only for gcc
1166
1167         * sig-check (signature_check): Emit SIG_iD only for classes 0 and 1.
1168
1169         * armor.c (armor_filter): Add detection of PGP2 created clearsigs.
1170         (fake_packet): A tab is not a WS for pgp2 - handle this.
1171         * textfilter.c (len_without_trailing_chars): New.
1172         (copy_clearsig_text): Add pgp2mode arg.
1173         * sign.c (clearsign_file): pass old_style to the above fnc.
1174
1175
1176 Wed May 19 16:04:30 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1177
1178         * g10.c: New option --interactive.
1179
1180         * mainproc.c (proc_plaintext): Add workaround for pgp2 bug
1181         (do_check_sig): Ditto.
1182         (proc_tree): Ditto.
1183         * plaintext.c (do_hash): Ditto.
1184         (hash_datafiles): Ditto, add an arg, changed all callers.
1185         * mdfilter.c (md_filter): Add support for the alternate hash context.
1186
1187 Mon May 17 21:54:43 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1188
1189         * parse-packet.c (parse_encrypted): Support for PKT_ENCRYPTED_MDC.
1190         * build-packet.c (do_encrypted_mdc): Ditto.
1191         * cipher.c (write_header): Add mdc hashing.
1192         (cipher_filter): write out the hash.
1193         * mainproc.c (do_proc_packets): Add PKT_ENCRYPTED_MDC.
1194         * encr-data.c (decrypt_data): Add mdc hashing.
1195         (mdc_decode_filter): New.
1196
1197         * parse-packet.c (parse_sig_subpkt): Fixed stupid bug for subpkt
1198         length calculation
1199         (parse_signature): Fixed even more stupid bug.
1200
1201 Sat May  8 19:28:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1202
1203         * build-packet.c (do_signature): Removed MDC hack.
1204         * encode.c (encode_crypt_mdc): Removed.
1205         * mainproc.c (do_check_sig): Removed MDC hack.
1206         (check_sig_and_print): Ditto.
1207         * parse-packet.c (parse_signature): Ditto.
1208         * sig-check.c (mdc_kludge_check): Ditto.
1209         * free-packte.c (copy_signature, free_seckey_enc): Ditto.
1210
1211         * parse-packet.c (parse_signature,parse_key): Store data of
1212         unknown algorithms with mpi_set_opaque inseatd of the old
1213         faked data stuff.
1214         (read_rest): Removed.
1215         (read_rest2): Renamed to read_rest
1216         * build-packet.c (write_fake_data): Use mpi_get_opaque.
1217         * free-packet.c (cp_fake_data): Removed and cahnged all callers
1218         to use mpi_copy.
1219         (free_pubkey_enc,free_seckey_enc,release_public_key_parts,
1220          release_secret_key_parts): Use mpi_free for opaque data.
1221
1222 Thu May  6 14:18:17 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1223
1224         * trustdb.c (check_trust): Check for revoked subkeys.
1225         * pkclist.c (do_we_trust): Handled revoked subkeys.
1226         (do_we_trust_pre): Ditto.
1227         (check_signatures_trust): Ditto.
1228
1229         * build-packet.c (hash_public_key): Fix for ancient g10 keys.
1230
1231         * mainproc.c (do_proc_packets): Return EOF if no data has been read.
1232         * g10.c (main): Catch errors for default operation.
1233
1234 Thu Apr 29 12:29:22 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1235
1236         * sign.c (sign_file): Fixed hashing in case of no subpackets.
1237         (clearsign_file): Ditto.
1238         (make_keysig_packet): Ditto.
1239
1240 Wed Apr 28 13:03:03 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1241
1242         * keyedit.c (keyedit_menu): Add new command revkey.
1243         * (menu_revkey): New.
1244
1245
1246 Mon Apr 26 17:48:15 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1247
1248         * parse-packet.c (parse_signature): Add the MDC hack.
1249         * build-packet.c (do_signature): Ditto.
1250         * free-packet.c (free_seckey_enc,copy_signature,cmp_signatures): Ditto.
1251         * mainproc.c (do_check_sig): Ditto.
1252         * sig-check.c (mdc_kludge_check): New.
1253         * encode.c (encrypt_mdc_file): New.
1254
1255         * keyedit.c (check_all_keysigs): List revocations.
1256         * (menu_revsig): New.
1257         * sign (make_keysig_packet): Support for class 0x30.
1258
1259 Sun Apr 18 20:48:15 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1260
1261         * pkclist.c (select_algo_from_prefs): Fixed the case that one key
1262         has no preferences (Remi Guyomarch).
1263
1264         keylist.c (list_keyblock): ulti_hack to propagate trust to all uids.
1265
1266 Sun Apr 18 10:11:28 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1267
1268         * seckey-cert.c (do_check): Use real IV instead of a 0 one, so that
1269         it works even if the length of the IV doesn't match the blocksize.
1270         Removed the save_iv stuff.
1271         (protect_secret_key): Likewise.  Create the IV here.
1272         * packet.h (PKT_secret_key): Increased size of IV field and add a
1273         ivlen field.
1274         * parse-packet.c (parse_key): Use the len protect.ivlen.
1275         * build-packet.c (do_secret_key). Ditto.
1276
1277         * getkey.c (key_byname): Close keyblocks.
1278
1279         * Makefile.am (gpgm): Removed this
1280         * g10.c: Merged gpg and gpgm
1281
1282         * import.c (import): Utilize option quiet.
1283         * tdbio.c (tdbio_set_dbname): Ditto.
1284         * ringedit.c (add_keyblock_resource,keyring_copy): Ditto.
1285
1286         * keyedit.c (sign_uids): Add some batch support.
1287
1288         * g10.c (main): add call to tty_batchmode.
1289
1290 Fri Apr  9 12:26:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1291
1292         * status.c (write_status_text): Some more status codes.
1293         * passphrase_to_dek (passphrase_to_dek): add a status code.
1294         * seckey_cert.c (check_secret_key): Likewise.
1295
1296         * encr-data.c (decrypt_data): Reverse the last changes
1297         * cipher.c (write_header): Ditto.
1298
1299         * parse-packet.c (parse_key): Dropped kludge for ancient blowfish mode.
1300
1301 Thu Apr  8 09:35:53 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1302
1303         * mainproc.c (proc_encrypted): Add a new status output
1304         * passphrase.c (passphrase_to_dek): Ditto.
1305         * status.h status.c: Add new status tokens.
1306
1307 Wed Apr  7 20:51:39 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1308
1309         * encr-data.c (decrypt_data): Fixes for 128 bit blocksize
1310         * cipher.c (write_header): Ditto.
1311         * seckey-cert.c (do_check): Ditto.
1312         (protect_secret_key). Ditto.
1313         * misc.c (print_cipher_algo_note): Twofish is now a standard algo.
1314
1315         * keygen.c (do_create): Fixed spelling (Gaël Quéri)
1316         (ask_keysize): Only allow keysizes up to 4096
1317
1318         * ringedit.c (add_keyblock_resource): chmod newly created secrings.
1319
1320         * import.c (delete_inv_parts): Fixed accidently deleted subkeys.
1321
1322 Tue Apr  6 19:58:12 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
1323
1324         * armor.c: Removed duped include (John Bley)
1325         * mainproc.c: Ditto.
1326
1327         * build-packet.c (hash_public_key): Fixed hashing of the header.
1328
1329         * import.c (delete_inv_parts): Allow import of own non-exportable sigs.
1330
1331 Sat Mar 20 13:59:47 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1332
1333         * armor.c (fake_packet): Fix for not not-dash-escaped
1334
1335 Sat Mar 20 11:44:21 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1336
1337         * g10.c (main): Added command --recv-keys
1338         * hkp.c (hkp_import): New.
1339
1340 Wed Mar 17 13:09:03 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1341
1342         * trustdb.c (check_trust): add new arg add_fnc and changed all callers.
1343         (do_check): Ditto.
1344         (verify_key): Ditto.
1345         (propagate_validity): Use the new add_fnc arg.
1346         (print_user_id): Add the FILE arg.
1347         (propagate_ownertrust): New.
1348         * pkclist.c (add_ownertrust_cb): New and changed the add_ownertrust
1349         logic.
1350
1351         * getkey.c (get_keyblock_bylid): New.
1352         * trustdb.c (print_uid_from_keyblock): New.
1353         (dump_tn_tree_with_colons): New.
1354         (list_trust_path): Add colon print mode.
1355
1356         * trustdb.c (insert_trust_record): Always use the primary key.
1357
1358         * encode.c (encode_simple): Added text_mode filter (Rémi Guyomarch)
1359         (encode_crypt): Ditto.
1360
1361         * mainproc.c (proc_pubkey_enc): Added status ENC_TO.
1362         * armor.c (armor_filter): Added status NODATA.
1363         * passphrase.c (passphrase_to_dek): Always print NEED_PASSPHRASE
1364         * seckey_cert.c (check_secret_key): Added BAD_PASS status.
1365
1366         * g10.c (main): Set g10_opt_homedir.
1367
1368 Sun Mar 14 19:34:36 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1369
1370         * keygen.c (do_create): Changed wording of the note (Hugh Daniel)
1371
1372 Thu Mar 11 16:39:46 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1373
1374         * tdbdump.c: New
1375
1376         * trustdb.c (walk_sigrecs,do_list_sigs,list_sigs,
1377         list_records,list_trustdb,export_ownertrust,import_ownertrust): Moved
1378         to tdbdump.c
1379         (init_trustdb): renamed to setup_trustdb.  Changed all callers.
1380         (do_init_trustdb): renamed to init_trustdb().
1381         * trustdb.c (die_invalid_db): replaced by tdbio_invalid.
1382         * tdbio.c (tdbio_invalid): New.
1383
1384         * import.c (delete_inv_parts): Skip non exportable signatures.
1385         * keyedit.c (sign_uid_mk_attrib): New.
1386         (sign_uids): Add the local argument.
1387         (keyedit_menu): New "lsign" command.
1388         * trustdb.c (register_trusted_key): Removed this and all related stuff.
1389         * g10.c (oTrustedKey): Removed option.
1390
1391         * tdbio.h (dir.valcheck): New trustdb field.
1392         * tdbio.c: Add support for this field
1393         (tdbio_read_modify_stamp): New.
1394         (tdbio_write_modify_stamp): New.
1395         * trustdb.c (do_check): Check against this field. Removed cache update.
1396         (verify_key): Add cache update.
1397         (upd_uid_record): Some functional changes.
1398         (upd_cert_record): Ditto
1399
1400 Wed Mar 10 11:26:18 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1401
1402         * keylist.c (list_keyblock): Fixed segv in uid. Print 'u' as
1403         validity of sks.
1404
1405 Mon Mar  8 20:47:17 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1406
1407         * getkey.c (classify_user_id): Add new mode 12 (#<lid>).
1408
1409         * seckey-cert.c (check_secret_key): replaced error by info.
1410
1411         * trustdb.c (query_trust_info): Add another arg, changed all callers.
1412         (check_trust): Ditto.
1413         (do_check): Ditto.
1414         (verify_key): Handle namehash.
1415         * keylist.c (list_keyblock): print trust info for user ids.
1416
1417         * sig-check.c (signature_check): Add sig-created to status output.
1418
1419 Tue Mar  2 16:44:57 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1420
1421         * textfilter.c (copy_clearsig_text): New.
1422         (clearsign): Removed.
1423         * sign.c (clearsign_file): does not use textfiler anymore.
1424
1425         * keygen.c (ask_user_id): print a note about the used charset.
1426
1427 Tue Mar  2 10:38:42 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1428
1429         * sig-check.c (signature_check): sig-id now works for all algos.
1430
1431         * armor.c (armor_filter): Fixed armor bypassing.
1432
1433 Sun Feb 28 19:11:00 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1434
1435         * keygen.c (ask_user_id): Don't change the case of email addresses.
1436         (has_invalid_email_chars): Adjusted.
1437
1438         * keylist.c (list_one): Really list serect keys (Remi Guyomarch)
1439
1440         * keyedit.c (menu_select_uid): Add some braces to make egcs happy.
1441         (menu_select_key): Ditto.
1442
1443         * mainproc.c (do_proc_packets): List sym-enc packets (Remi Guyomarch)
1444
1445 Fri Feb 26 17:55:41 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1446
1447         * pkclist.c (build_pk_list): Return error if there are no recipients.
1448
1449         * sig-check.c (signature_check): New signature id feature.
1450         * armor.c (make_radic64_string): New.
1451
1452         * mainproc.c (proc_pubkey_enc): early check for seckey availability.
1453
1454         * pkclist.c (do_we_trust_pre): print user id before asking.
1455
1456         * ringedit.c (add_keyblock_resource,get_keyblock_handle): Cleaner
1457         handling of default resource.
1458
1459
1460 Thu Feb 25 18:47:39 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1461
1462         * pkclist.c (algo_available): New.
1463         (select_algo_from_prefs): Check whether algo is available.
1464
1465         * ringedit.c (keyring_copy): Take care of opt.dry_run.
1466         (do_gdbm_store): Ditto.
1467         * openfile.c (open_outfile). Ditto.
1468         (copy_options_file): Ditto.
1469         * trustdb.c (update_trustdb): Ditto.
1470         (clear_trust_checked_flag): Ditto.
1471         (update_trust_record): Ditto.
1472         (insert_trust_record): Ditto.
1473
1474 Wed Feb 24 11:07:27 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1475
1476         * keylist.c (secret_key_list): Now really list the secret key.
1477
1478         * trustdb.c (do_init_trustdb): New. Init is now deferred.
1479
1480 Mon Feb 22 20:04:00 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1481
1482         * getkey.c (lookup_sk): Return G10ERR_NO_SECKEY and not x_PUBKEY.
1483
1484 Fri Feb 19 15:49:15 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1485
1486         * pkclist.c (select_algo_from_prefs): retrieve LID if not there.
1487
1488         * armor.c (fake_packet): Replaced ugly lineending handling.
1489
1490         * g10.c (oNoEncryptTo): New.
1491         * pkclist.c (build_pk_list): Implemented this option.
1492
1493         * g10.c (main): Greeting is now printed to stderr and not to tty.
1494         Use add_to_strlist() instead of direct coding.
1495
1496         * import.c (import): Use iobuf_push_filter2.
1497
1498         * mainproc.c (check_sig_and_print): Print all user ids
1499         for good signatures.
1500         * getkey.c (get_pubkeyblock): New.
1501
1502         * import.c (chk_self_sigs): Fixed SEGV for unbounded class 0x18 keys.
1503         (delete_inv_parts): Delete special marked packets.
1504
1505 Tue Feb 16 14:10:02 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1506
1507         * g10.c (main): New option --encrypt-to
1508
1509         * pkclist.c (build_pk_list): Implemented encrypt-to.
1510
1511         * parse-packet.c (parse_user_id): Removed the hack to work with
1512         utf-8 strings.
1513
1514         * g10.c (main): Install lockfile cleanup handler.
1515         * tdbio.c (cleanup): Removed: this is now handled by dotlock.
1516
1517 Sat Feb 13 14:13:04 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1518
1519         * tdbio.c (tdbio_set_dbname): Init lockhandle for a new trustdb
1520
1521 Wed Feb 10 17:15:39 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1522
1523         * g10.c (main): check for development version now in configure
1524
1525         * tdbio.c (tdbio_write_record): Add uid.validity
1526         (tdbio_read_record) : Ditto.
1527         (tdbio_dump_record) : Ditto.
1528
1529         * keygen.c (keygen_add_std_prefs): Replaced Blowfish by Twofish,
1530         removed MD5 and Tiger.
1531         * pubkey-enc.c (get_it): Suppress warning about missing Blowfish
1532         in preferences in certain cases.
1533
1534         * ringedit.c (lock_rentry,unlock_rentry): New.
1535
1536         * getkey.c (key_byname): Pass ret_kb down to lookup_xx.
1537
1538         * armor.c (armor_filter): No output of of empty comment lines.
1539         Add option --no-version to suppress the output of the version string.
1540
1541         * getkey.c: Release the getkey context for auto context variables.
1542
1543 Sun Jan 24 18:16:26 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1544
1545         * getkey.c: Changed the internal design to allow simultaneous
1546         lookup of multible user ids
1547         (get_pubkey_bynames): New.
1548         (get_seckey_bynames): New.
1549         (get_seckey_next): New.
1550         (get_seckey_end): New.
1551         * keylist.c (list_one): Use the new functions.
1552
1553         * keylist.c (list_keyblock): add a newline for normal listings.
1554
1555         * g10.c (--recipient): New option name to replace --remote-user
1556
1557
1558 Wed Jan 20 18:59:49 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1559
1560         * textfilter.c: Mostly rewritten
1561         * plaintext.c (handle_plaintext): Use now text_filter semantics.
1562
1563 Tue Jan 19 19:34:58 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1564
1565         * export.c (export_pubkeys_stream): New.
1566         (do_export_stream): New.
1567         * g10.c (aSendKeys): New command.
1568         * hkp.c (hkp_export): New.
1569
1570         * compress.c (do_uncompress): Hack for algo 1 and 1.1.3
1571
1572 Sun Jan 17 11:04:33 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1573
1574         * textfilter.c (text_filter): Now uses iobuf_read_line().
1575         (read_line): Removed.
1576
1577         * armor.c (trim_trailing_spaces): Removed and replaced
1578         by trim_trailing_ws from libutil
1579
1580 Sat Jan 16 12:03:27 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1581
1582         * hkp.c (hkp_ask_import): Use only the short keyid
1583
1584 Sat Jan 16 09:27:30 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1585
1586         * import.c (import_key_stream): New
1587         (import): New, moved most of import_keys here.
1588         * g10.c: New option --keyserver
1589         * mainproc.c (check_sig_and_print): Hook to import a pubkey.
1590
1591         * pref.c pref.h : Removed
1592
1593         * hkp.c hkp.h: New
1594
1595 Wed Jan 13 14:10:15 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1596
1597         * armor.c (radix64_read): Print an error if a bad armor was detected.
1598
1599 Wed Jan 13 12:49:36 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1600
1601         * armor.c (radix64_read): Now handles malformed armors produced
1602         by some buggy MUAs.
1603
1604 Tue Jan 12 11:17:18 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1605
1606         * ringedit.c (find_keyblock_bysk): New.
1607
1608         * skc_list.c (is_insecure): New.
1609         (build_sk_list): usage check for insecure keys.
1610
1611         * import.c (chk_self_sigs): Add handling for subkeys.
1612         (delete_inv_parts): Skip unsigned subkeys
1613
1614         * sig-check.c (do_check): Print info if the signature is older
1615         than the key.
1616         * keygen.c (generate_subkeypair): Fail on time warp.
1617         * sign.c (do_sign): Ditto.
1618
1619 Sun Jan 10 15:10:02 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1620
1621         * armor.c (fake_packet): Fixed not-dash-escaped bug.
1622
1623 Sat Jan  9 16:02:23 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1624
1625         * sig-check.c (do_check): Output time diff on error
1626
1627         * status.c (STATUS_VALIDSIG): New.
1628         (is_status_enabled): New.
1629         * mainproc.c (check_sig_and_print): Issue that status message.
1630
1631         * plaintext.c (special_md_putc): Removed
1632
1633         * armor.c (armor_filter): print error for truncated lines.
1634
1635         * free-packet.c (free_encrypted): Revomed call to set_block_mode.
1636         (free_plaintext): Ditto.
1637
1638 Thu Jan  7 18:00:58 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
1639
1640         * pkclist.c (add_ownertrust): Fixed return value.
1641
1642         * encr-data.c (decrypt_data): Disabled iobuf_set_limit and
1643         iobuf_pop_filter stuff.
1644         * compress.c (handle_compressed): Disabled iobuf_pop_filter.
1645
1646         * packet.h (PKT_secret_key): Add is_primary flag.
1647         * parse-packet.c (parse_key): Set this flag.
1648         * passphrase.c (passphrase_to_dek): Kludge to print the primary
1649         keyid - changed the API: keyid must now hold 2 keyids.
1650         * getkey.c (get_primary_seckey): New.
1651         * seckey-cert.c (do_check): pass primary keyid to passphrase query
1652
1653         * tbdio.c (open_db): removed the atexit
1654         (tdbio_set_dbname): and moved it to here.
1655
1656         * armor.c: Rewrote large parts.
1657
1658 Tue Dec 29 19:55:38 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1659
1660         * revoke.c (gen_revoke): Removed compression.
1661
1662         * pkclist.c (do_we_trust_pre): special check for revoked keys
1663
1664         * trustdb.c (update_trust_record): Fixed revoke flag.
1665
1666 Tue Dec 29 14:41:47 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1667
1668         * misc.c (disable_core_dumps): Check for EINVAL (Atari)
1669
1670         * getkey (merge_one_pk_and_selfsig): Fixed search of expiredate.
1671         (merge_keys_and_selfsig): Ditto.
1672
1673         * free-packet.c (cmp_public_keys): cmp expire only for v3 packets
1674         (cmp_secret_keys): Ditto.
1675         (cmp_public_secret_key): Ditto.
1676
1677 Wed Dec 23 17:12:24 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1678
1679         * armor.c (find_header): Reset not_dashed at every header
1680
1681 Wed Dec 23 13:18:14 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1682
1683         * pkclist.c (add_ownertrust): Refresh validity values.
1684
1685         * trustdb.c (enum_cert_paths_print): New arg refresh.
1686
1687         * ringedit.c: Fixed problems fix keyrings
1688         * parse-packet.c (dbg_parse_packet): New debug functions.
1689
1690         * getkey.c (getkey_disable_caches): New.
1691         * import.c (import_keys): Disable caches.
1692
1693 Thu Dec 17 18:31:15 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1694
1695         * misc.c (trap_unaligned): Only for glibc 1
1696
1697         * sign.c (write_dash_escaped): Now escapes "From " lines
1698         * g10.c: New option --escape-from-lines
1699
1700         * trustdb.c (sort_tsl_list): New
1701         (list_trust_path): Now prints sorted list.
1702         (enum_cert_paths): Likewise.
1703         (enum_cert_paths_print): New.
1704         (print_paths): New printing format.
1705         * pkclist.c (add_ownertrust): New arg quit.
1706         (edit_ownertrust): New quit selection and does not query
1707         the recipients ownertrust anymore.
1708         (add_ownertrust): Print the ceritficate path.
1709
1710
1711 Mon Dec 14 21:18:49 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1712
1713         * parse-packet.c (parse_signature): Now checks for critical bit
1714         (parse_sig_subpkt): Splitted.
1715         (parse_one_sig_subpkt): New.
1716         * sig-check.c (do_check): handle critical bit.
1717
1718 Sun Dec 13 14:10:56 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1719
1720         * pcklist.c (select_algo_from_prefs): Preferences should
1721         now work (lost the != ? )
1722
1723 Thu Dec 10 20:15:36 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1724
1725         * ringedit.c (gdbm_store): Fix for inserts
1726
1727         * g10.c (main): New option --export-all
1728         * export.c (export_pubkeys): New arg.
1729         (do_export): Now may skip old keys.
1730
1731         * status.c: Minor patches for Sun's cc
1732
1733         * keygen.c (ask_algo): Disabled v3 ElGamal choice, rearranged
1734          the numbers.  Add a warning question when a sign+encrypt key
1735          is selected.
1736
1737         * g10.c (do_not_use_RSA): Removed.
1738         * misc.c (print_pubkey_algo_note): New as replacement for the
1739         do_not_use_RSA() and chnaged all callers.
1740         (print_cipher_algo_note): New.
1741         (print_hash_algo_note): New.
1742
1743         * cipher.c (write_header): Add a call to print_cipher_algo_note.
1744         * seckey-cert.c (protect_secret_key): Ditto
1745         * sign.c (do_sign): Add a call to print_digest_algo_note.
1746
1747         * getkey.c (get_long_user_id_string): New.
1748         * mainproc.c (check_sig_and_print): Changed the format of the
1749         status output.
1750
1751         * encrypt.c (write_pubkey_enc_from_list): print used symmetric cipher.
1752
1753         * pkclist.c (do_we_trust): Changed a message.
1754
1755 Wed Dec  9 13:41:06 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1756
1757         * misc.c (trap_unaligned) [ALPHA]: Only if UAC_SIGBUS is defined.
1758
1759         * sign.c (write_dash_escaped): Add the forgotten patch by Brian Moore.
1760
1761         * compress.c (do_uncompress): Fixed the inflating bug.
1762
1763
1764 Tue Dec  8 13:15:16 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1765
1766         * trustdb.c (upd_uid_record): Now uses the newest self-signature
1767         (insert_trust_record): Now calls update with recheck set to true.
1768         (register_trusted_key): New.
1769         (verify_own_keys): Enhanced by list of trusted keys.
1770
1771         * g10.c (main): Print a warning when a devel version is used.
1772         (main): New option --trusted-key
1773
1774         * import.c (merge_blocks): Fixed merging of new user ids and
1775         added merging of subkeys.
1776         (append_uid): Ditto.
1777         (merge_keysig): New.
1778         (append_key): New.
1779         * getkey.c (merge_one_pk_and_selfsig): Get the expiration time
1780         from the newest self-signature.
1781         (merge_keys_and_selfsig): Ditto.
1782
1783         * free-packet.c (cmp_secret_key): New.
1784
1785
1786 Fri Nov 27 21:37:41 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1787
1788         * g10.c: New option --lock-once
1789         * tdbio.c (open_db): Add an atexit
1790         (cleanup): New.
1791         (tdbio_sync): Add locking.
1792         (tdbio_end_transaction): Ditto.
1793         (put_record_into_cache): Ditto.
1794         * ringedit.c (keyring_copy): Ditto.
1795         (cleanup): New.
1796         (add_keyblock_resource): Add an atexit.
1797
1798 Fri Nov 27 15:30:24 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1799
1800          * armor.c (find_header): Another fix for clearsigs.
1801
1802 Fri Nov 27 12:39:29 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
1803
1804
1805         * status.c (display_help): Removed.
1806         * helptext.c: New and removed the N_() from all cpr_gets.
1807
1808
1809 Fri Nov 20 16:54:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
1810
1811         * g10.c (main): New option --not-dash-escaped
1812         * sign.c (write_dashed_escaped): Ditto.
1813         * armor.c (find_header): Support for NotDashEscaped header.
1814
1815         * getkey.c: print "disabled cache.." only if verbose is used.
1816
1817 Thu Nov 19 07:17:31 1998  Werner Koch  <werner.koch@guug.de>
1818
1819         * parse-packet.c (dump_sig_subpkt): Fixed expire listing
1820         * getkey.c (merge_keys_and_selfsig): Fixed expire calculation.
1821         (merge_one_pk_and_selfsig): Ditto.
1822         * keyedit.c (menu_expire). Ditto.
1823         * keygen.c (keygen_add_key_expire): Ditto.
1824         (ask_expire_interval): New and changed all local function to use
1825         this instead.
1826         (keygen_add_key_expire): Opaque should now be a public key;
1827         changed all callers.
1828
1829         * parse.packet.c (parse): use skip_rest to skip packets.
1830
1831         * keyedit.c (keyedit_menu): New arg for cmdline cmds.
1832
1833 Wed Nov 18 20:33:50 1998  Werner Koch  (wk@isil.d.shuttle.de)
1834
1835         * trustdb.c (check_trustdb): Now rechecks all gived userids.
1836         (collect_paths): Some fixes.
1837         (upd_pref_records): Skips empty items, evaluate all items.
1838
1839         * parse-packet.c (dump_sig_subpkt): Better listing of prefs.
1840         (skip_packet): Now knows about marker packet
1841
1842         * g10.c: removed cmd "--edit-sig".
1843
1844         * pubring.asc: Updated.
1845
1846 Sat Nov 14 14:01:29 1998  Werner Koch  (wk@isil.d.shuttle.de)
1847
1848         * g10.c (main): Changed syntax of --list-trust-path
1849         * trustdb.c (list_trust_path): Replaced max_depth by
1850         opt.max_cert_depth
1851
1852 Fri Nov 13 07:39:58 1998  Werner Koch  <werner.koch@guug.de>
1853
1854         * trustdb.c (collect_paths): Removed a warning message.
1855         (enum_trust_web): Removed.
1856         (enum_cert_paths): New.
1857         * pkclist.c (add_ownertrust): Changed to use enum_cert_paths.
1858         (edit_ownertrust): Now list ceritficates on request.
1859         (show_paths): New.
1860
1861 Wed Nov 11 18:05:44 1998  Werner Koch  <werner.koch@guug.de>
1862
1863         * g10.c (main): New option --max-cert-depth
1864         * tdbio.h: add new fields to ver and dir record.
1865         * tdbio.c: read/write/dump of these fields.
1866         (tdbio_db_matches_options): New.
1867         * trustdb.c: replaced MAC_CERT_DEPTH by opt.max_cert_depth.
1868         (do_check): cache validity and changed other functions
1869         to reset the cached value.
1870
1871         * keylist.c (list_one): Now lists the ownertrust.
1872         * mainproc.c (list_node): Ditto.
1873
1874 Tue Nov 10 10:08:59 1998  Werner Koch  (wk@isil.d.shuttle.de)
1875
1876         * g10.c (g10_exit): Now looks at the new g10_errors_seen.
1877         * mainproc.c (check_sig_and_print): Sets g10_errors_seen.
1878
1879         * *.c : i18n many more strings.
1880
1881         * ringedit.c (locate_keyblock_by_keyid): Add HAVE_LIBGDBM
1882         (locate_keyblock_by_fpr): Ditto.
1883
1884         * g10.c (main): removed unsused "int errors".
1885         (main): Add new option --charset.
1886
1887         * g10.c (main): special message for the unix newbie.
1888
1889 Mon Nov  9 07:17:42 1998  Werner Koch  <werner.koch@guug.de>
1890
1891         * getkey.c (finish_lookup): Kludge to prefere algo 16.
1892
1893         * trustdb.c (new_lid_table): Clear cached item.
1894
1895         * status.c (cpr_get_utf8): New.
1896         * pkclist.c (build_pk_list): Uses this.
1897
1898 Sun Nov  8 17:20:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
1899
1900         * mainproc.c (check_sig_and_print): Why did I use strlen()-1
1901         in the printf? - This truncated the TZ.
1902
1903 Sat Nov  7 15:57:28 1998  me,,,  (wk@tobold)
1904
1905         * getkey.c (lookup): Changes to support a read_next.
1906         (get_pubkey): Fixed a memory leak.
1907
1908         * keylist.c (list_one): Now lists all matching user IDs.
1909
1910 Tue Nov  3 16:19:21 1998  Werner Koch  (wk@isil.d.shuttle.de)
1911
1912         * keygen.c (ask_user_id): Now converted to UTF-8
1913
1914         * g10.c (main): Kludge for pgp clearsigs and textmode.
1915
1916 Fri Oct 30 16:40:39 1998  me,,,  (wk@tobold)
1917
1918         * signal.c (block_all_signals): New.
1919         (unblock_all_signals): New
1920         * tdbio.c (tdbio_end_transaction): Now blocks all signals.
1921
1922         * trustdb.c (new_lid_table): Changed the representation of the
1923         former local_lid_info stuff.
1924
1925         * trustdb.c (update_trust_record): Reorganized the whole thing.
1926         * sig-check.c (check_key_signature): Now handles class 0x28
1927
1928
1929 Wed Oct 28 18:56:33 1998  me,,,  (wk@tobold)
1930
1931         * export.c (do_export): Takes care of the exportable sig flag.
1932
1933 Tue Oct 27 14:53:04 1998  Werner Koch  (wk@isil.d.shuttle.de)
1934
1935         * trustdb.c (update_trust_record): New "fast" parameter.
1936
1937 Sun Oct 25 19:32:05 1998  Werner Koch  (wk@isil.d.shuttle.de)
1938
1939         * openfile.c (copy_options_File): New.
1940         * ringedit.c (add_keyblock_resource): Creates options file
1941         * tdbio.c (tdbio_set_dbname): Ditto.
1942
1943 Sat Oct 24 14:10:53 1998  brian moore <bem@cmc.net>
1944
1945         * mainproc.c (proc_pubkey_enc): Don't release the DEK
1946         (do_proc_packets): Ditto.
1947
1948 Fri Oct 23 06:49:38 1998  me,,,  (wk@tobold)
1949
1950         * keyedit.c (keyedit_menu): Comments are now allowed
1951
1952         * trustdb.c: Rewrote large parts.
1953
1954
1955 Thu Oct 22 15:56:45 1998  Michael Roth  (mroth@nessie.de)
1956
1957         * encode.c: (encode_simple): Only the plain filename without
1958         a given directory is stored in generated packets.
1959         (encode_crypt): Ditto.
1960
1961         * sign.c: (sign_file) Ditto.
1962
1963
1964 Thu Oct 22 10:53:41 1998  Werner Koch  (wk@isil.d.shuttle.de)
1965
1966         * trustdb.c (update_trust_record): Add new optional arg.
1967
1968         * import.c (import_keys): Add statistics output
1969         * trustdb.c (update_trustdb): Ditto.
1970         (insert_trustdb): Ditto.
1971
1972         * tdbio.c (tdbio_begin_transaction): New.
1973         (tdbio_end_transaction): New.
1974         (tdbio_cancel_transaction): New.
1975
1976         * g10.c (main): New option --quit.
1977
1978         * trustdb.c (check_hint_sig): No tests for user-id w/o sig.
1979         This caused an assert while checking the sigs.
1980
1981         * trustdb.c (upd_sig_record): Splitted into several functions.
1982
1983         * import.c (import_keys): New arg "fast".
1984         * g10.c (main): New command --fast-import.
1985
1986 Wed Oct 21 18:19:36 1998  Michael Roth <mroth@nessie.de>
1987
1988         * ringedit.c (add_keyblock_resource): Directory is now created.
1989         * tdbio.c (tdbio_set_dbname): New info message.
1990
1991 Wed Oct 21 11:52:04 1998  Werner Koch  (wk@isil.d.shuttle.de)
1992
1993         * trustdb.c (update_trustdb): released keyblock in loop.
1994
1995         * keylist.c (list_block): New.
1996         (list_all): Changed to use list_block.
1997
1998         * trustdb.c: Completed support for GDBM
1999
2000         * sign.c (only_old_style): Changed the way force_v3 is handled
2001         (sign_file): Ditto.
2002         (clearsign_file): Ditto.
2003
2004         * keygen.c (has_invalid_email_chars): Splitted into mailbox and
2005         host part.
2006
2007         * keylist.c (list_one): Add a merge_keys_and_selfsig.
2008         * mainproc.c (proc_tree): Ditto.
2009
2010 Sun Oct 18 11:49:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
2011
2012         * sign.c (only_old_style): Add option force_v3_sigs
2013         (sign_file): Fixed a bug in sig->version
2014         (clearsign_file): Ditto.
2015
2016         * parse-packet.c (dump_sig_subpkt): New
2017
2018         * keyedit.c (menu_expire): New.
2019         * free-packet.c (cmp_signatures): New
2020
2021
2022 Sat Oct 17 10:22:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
2023
2024         * armor.c: changed output line length from 72 to 64.
2025
2026         * keyedit.c (fix_keyblock): New.
2027
2028 Fri Oct 16 10:24:47 1998  Werner Koch  (wk@isil.d.shuttle.de)
2029
2030         * trustdb.c: Rewrote most.
2031         * tdbio.c: Add cache and generalized hash tables.
2032
2033         * options.h (ENABLE_COMMENT_PACKETS): New but undef'ed.
2034         * encode.c, sign.c, keygen.c: Disabled comment packets.
2035         * export.c (do_export): Comment packets are never exported,
2036         except for those in the secret keyring.
2037
2038         * g10.c (main): Removed option do-no-export-rsa; should be
2039         be replaced by a secpial tool.
2040         * export.c (do_export): Removed the code for the above option.
2041
2042         * armor.c (find_header): Support for new only_keyblocks.
2043         * import.c (import_keys): Only looks for keyblock armors.
2044
2045         * packet.h: replaced valid_days by expiredate and changed all users.
2046         * build-packet.c (do_public_key): calculates valid-days
2047         (do_secret_key): Ditto.
2048         * parse-packet.c (parse_key): expiredate is calucated from the
2049         valid_period in v3 packets.
2050         * keyid.c (do_fingerprint_md): calculates valid_dates.
2051
2052         * keygen.c (add_key_expire): fixed key expiration time for v4 packets.
2053
2054         * armor.c (find_header): A LF in the first 28 bytes
2055         was skipped for non-armored data.
2056
2057 Thu Oct  8 11:35:51 1998  Werner Koch  (wk@isil.d.shuttle.de)
2058
2059         * armor.c (is_armored): Add test on old comment packets.
2060
2061         * tdbio.c (tdbio_search_dir_bypk): fixed memory leak.
2062
2063         * getkey.c: Changed the caching algorithms.
2064
2065 Wed Oct  7 19:33:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
2066
2067         * kbnodes.c (unused_nodes): New.
2068
2069 Wed Oct  7 11:15:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
2070
2071         * keyedit.c (sign_uids): Fixed a problem with SK which could caused
2072         a save of an unprotected key.
2073         (menu_adduid): Ditto.
2074
2075         * keyedit.c (keyedit_menu): Prefs are now correctly listed for
2076         new user ids.
2077
2078         * trustdb.c (update_trust_record): New.
2079         (insert_trust_record): Now makes use of update_trust_record.
2080
2081 Tue Oct  6 16:18:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
2082
2083         * trustdb.c (read_record): replaces most of the tdbio_read_records.
2084         (write_record): Ditto.
2085
2086 Sat Oct  3 11:01:21 1998  Werner Koch  (wk@isil.d.shuttle.de)
2087
2088         * keygen.c (ask_alogo): enable ElGamal enc-only only for addmode.
2089
2090 Wed Sep 30 10:15:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
2091
2092         * import.c (import_one): Fixed update of wrong keyblock.
2093
2094 Tue Sep 29 08:32:08 1998  me,,,  (wk@tobold)
2095
2096         * mainproc.c (proc_plaintext): Display note for special filename.
2097         * plaintext.c (handle_plaintext): Suppress output of special file.
2098
2099 Mon Sep 28 12:57:12 1998  Werner Koch  (wk@isil.d.shuttle.de)
2100
2101         * g10.c (verify_own_keys): Add warning if a key is not protected.
2102
2103         * passphrase (hash_passphrase): Fixed iterated+salted mode and
2104         setup for keysizes > hashsize.
2105
2106         * g10.c (main): New options: --s2k-{cipher,digest,mode}.
2107
2108 Fri Sep 25 09:34:23 1998  Werner Koch  (wk@isil.d.shuttle.de)
2109
2110         * g10.c: Chnaged some help texts.
2111
2112 Tue Sep 22 19:34:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
2113
2114         * passphrase.c (read_passphrase_from_fd): fixed bug for long
2115         passphrases.
2116
2117 Mon Sep 21 11:28:05 1998  Werner Koch  (wk@(none))
2118
2119         * getkey.c (lookup): Add code to use the sub key if the primary one
2120         does not match the usage.
2121
2122         * armor.c (armor_filter): New error message: no valid data found.
2123         (radix64_read): Changes to support multiple messages.
2124         (i18n.h): New.
2125         * mainproc.c (add_onepass_sig): bug fix.
2126
2127 Mon Sep 21 08:03:16 1998  Werner Koch  (wk@isil.d.shuttle.de)
2128
2129         * pkclist.c (do_we_trust): Add keyid to most messages.
2130
2131         * passphrase.c (read_passphrase_from_fd): New.
2132         (have_static_passphrase): New
2133         (get_passphrase_fd): Removed.
2134         (set_passphrase_fd): Removed.
2135         * g10.c (main): passphrase is now read here.
2136
2137         * keyedit.c (keyedit_menu): "help" texts should now translate fine.
2138
2139 Mon Sep 21 06:40:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
2140
2141         * encode.c (encode_simple): Now disables compression
2142         when --rfc1991 is used.
2143         (encode_crypt): Ditto.
2144
2145 Fri Sep 18 16:50:32 1998  Werner Koch  (wk@isil.d.shuttle.de)
2146
2147         * getkey.c (merge_key_and_selfsig): New.
2148
2149 Fri Sep 18 10:20:11 1998  Werner Koch  (wk@isil.d.shuttle.de)
2150
2151         * pkclist.c (select_algo_from_prefs): Removed 3DES kludge.
2152
2153         * seskey.c (make_session_key): Fixed SERIOUS bug introduced
2154         by adding the weak key detection code.
2155
2156         * sign.c (sign_file): Changed aremor header in certain cases.
2157
2158 Tue Sep 15 17:52:55 1998  Werner Koch  (wk@isil.d.shuttle.de)
2159
2160         * mainproc.c (check_sig_and_print): Replaced ascime by asctimestamp.
2161
2162 Mon Sep 14 11:40:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
2163
2164         * seskey.c (make_session_key): Now detects weak keys.
2165
2166         * trustdb (clear_trust_checked_flag): New.
2167
2168         * plaintext.c (handle_plaintext): Does no anymore suppress CR from
2169         cleartext signed messages.
2170
2171 Sun Sep 13 12:54:29 1998  Werner Koch  (wk@isil.d.shuttle.de)
2172
2173         * trustdb.c (insert_trust_record): Fixed a stupid bug in the free
2174         liunked list loops.
2175
2176 Sat Sep 12 15:49:16 1998  Werner Koch  (wk@isil.d.shuttle.de)
2177
2178         * status.c (remove_shmid): New.
2179         (init_shm_comprocess): Now sets permission to the real uid.
2180
2181 Wed Sep  9 11:15:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
2182
2183         * packet.h (PKT_pubkey_enc): New flah throw_keyid, and add logic to
2184         implement it.
2185         * g10.c (main): New Option --throw-keyid
2186
2187         * getkey.c (enum_secret_keys): Add new ar and changed all callers.
2188
2189 Tue Sep  8 20:04:09 1998  Werner Koch  (wk@isil.d.shuttle.de)
2190
2191         * delkey.c (delete_key): Moved from keyedit.c.
2192
2193 Mon Sep  7 16:37:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
2194
2195         * build-packet.c (calc_length_header): New arg new_ctb to correctly
2196         calculate the length of new style packets.
2197
2198         * armor.c (is_armored): Checks for symkey_enc packets.
2199
2200         * pkclist.c (select_algo_from_prefs): 3DEs substitute is now CAST5.
2201
2202 Tue Aug 11 17:54:50 1998  Werner Koch  (wk@isil.d.shuttle.de)
2203
2204         * build-packet.c (do_secret_key): Fixed handling of old keys.
2205
2206         * getkey.c (compare_name): Fixed exact and email matching
2207
2208         * openfile.c (open_outfile): Changed arguments and all callers.
2209
2210 Tue Aug 11 09:14:35 1998  Werner Koch  (wk@isil.d.shuttle.de)
2211
2212         * encode.c (encode_simple): Applied option set-filename and comment.
2213         (encode_crypt): Ditto.
2214         * sign.c (sign_file): Ditto.
2215         * armor.c (armor_filter): Applied option comment.
2216
2217         * encode.c (encode_crypt): Moved init_packet to the begin.
2218         (encode_simple): add an init_packet().
2219
2220         * comment (write_comment): Now enforces a hash sign as the 1st byte.
2221
2222         * import.c (import_one): Add explanation for "no user ids".
2223
2224         * compress.c (do_uncompress): Applied Brian Warner's patch to support
2225         zlib 1.1.3 etc.
2226
2227         * trustdb.c (check_trust): Fixed a problem after inserting new keys.
2228
2229         * getkey (lookup): do not return the primary key if usage is given
2230         (lookup_sk): Ditto and take usage into account.
2231
2232         * status.c (cpr_get_answer_is_yes): add display_help.
2233
2234 Mon Aug 10 10:11:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
2235
2236         * getkey.c (lookup_sk): Now always returns the primary if arg
2237         primary is true.
2238         (lookup): Likewise.
2239         (get_pubkey_byname): Now returns the primary key
2240         (get_seckey_byname): Ditto.
2241
2242
2243 Mon Aug 10 08:34:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
2244
2245         * keyid.c (pubkey_letter): ELG_E is now a small g.
2246
2247 Sat Aug  8 17:26:12 1998  Werner Koch  (wk@isil.d.shuttle.de)
2248
2249         * openfile (overwrite_filep): Changed semantics and all callers.
2250
2251 Sat Aug  8 12:17:07 1998  Werner Koch  (wk@isil.d.shuttle.de)
2252
2253         * status.c (display_help): New.
2254
2255 Thu Aug  6 16:30:41 1998  Werner Koch,mobil,,,  (wk@tobold)
2256
2257         * seskey.c (encode_session_key): Now uses get_random_bits().
2258
2259 Thu Aug  6 07:34:56 1998  Werner Koch,mobil,,,  (wk@tobold)
2260
2261         * ringedit.c (keyring_copy): No more backupfiles for
2262         secret keyrings and add additional warning in case of
2263         a failed secret keyring operation.
2264
2265 Wed Aug  5 11:54:37 1998  Werner Koch  (wk@isil.d.shuttle.de)
2266
2267         * g10.c (check_opts): Moved to main.  Changed def_cipher_algo
2268         semantics and chnaged all users.
2269
2270         * pubkey-enc.c (get_sssion_key): New informational output
2271         about preferences.
2272
2273         * parse-packet.c (parse_symkeyenc): Fixed salted+iterated S2K
2274         (parse_key): Ditto.
2275         * build-packet.c (do_secret_key): Ditto.
2276         (do_symkey_enc): Ditto.
2277
2278 Tue Aug  4 08:59:10 1998  Werner Koch  (wk@isil.d.shuttle.de)
2279
2280         * getkey.c (enum_secret_keys): Now returns only primary keys.
2281
2282         * getkey (lookup): Now sets the new namehash field.
2283
2284         * parse-packet.c (parse_sig_subpkt2): New.
2285
2286         * sign.c (sign_file): one-pass sigs are now emiited reverse.
2287         Preference data is considered when selecting the compress algo.
2288
2289 Wed Jul 29 12:53:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
2290
2291         * free-packet.c (copy_signature): New.
2292
2293         * keygen.c (generate_subkeypair): rewritten
2294         * g10.c (aKeyadd): Removed option --add-key
2295
2296 Mon Jul 27 10:37:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
2297
2298         * seckey-cert.c (do_check): Additional check on cipher blocksize.
2299         (protect_secret_key): Ditto.
2300         * encr-data.c: Support for other blocksizes.
2301         * cipher.c (write_header): Ditto.
2302
2303 Fri Jul 24 16:47:59 1998  Werner Koch  (wk@isil.d.shuttle.de)
2304
2305         * kbnode.c (insert_kbnode): Changed semantics and all callers.
2306         * keyedit.c : More or less a complete rewrite
2307
2308 Wed Jul 22 17:10:04 1998  Werner Koch  (wk@isil.d.shuttle.de)
2309
2310         * build-packet.c (write_sign_packet_header): New.
2311
2312 Tue Jul 21 14:37:09 1998  Werner Koch  (wk@isil.d.shuttle.de)
2313
2314         * import.c (import_one): Now creates a trustdb record.
2315
2316         * g10.c (main): New command --check-trustdb
2317
2318 Mon Jul 20 11:15:07 1998  Werner Koch  (wk@isil.d.shuttle.de)
2319
2320         * genkey.c (generate_keypair): Default key is now DSA with
2321         encryption only ElGamal subkey.
2322
2323 Thu Jul 16 10:58:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
2324
2325         * keyid.c (keyid_from_fingerprint): New.
2326         * getkey.c (get_pubkey_byfprint): New.
2327
2328 Tue Jul 14 18:09:51 1998  Werner Koch  (wk@isil.d.shuttle.de)
2329
2330         * keyid.c (fingerprint_from_pk): Add argument and changed all callers.
2331         (fingerprint_from_sk): Ditto.
2332
2333 Tue Jul 14 10:10:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
2334
2335         * plaintext.c (handle_plaintext): Now returns create error if
2336         the file could not be created or the user responded not to overwrite
2337         the file.
2338         * mainproc.c (proc_plaintext): Tries again if the file could not
2339         be created to check the signature without output.
2340
2341         * misc.c (disable_core_dumps): New.
2342         * g10.c (main): disable coredumps for gpg
2343
2344         * g10.c (MAINTAINER_OPTIONS): New to disable some options
2345
2346 Mon Jul 13 16:47:54 1998  Werner Koch  (wk@isil.d.shuttle.de)
2347
2348         * plaintext.c (hash_datafiles): New arg for better support of
2349         detached sigs. Changed all callers.
2350         * mainproc.c (proc_signature_packets): Ditto.
2351
2352         * g10.c (main): New option "compress-sigs"
2353         * sig.c (sign_file): detached signatures are not anymore compressed
2354         unless the option --compress-sigs is used.
2355
2356 Thu Jul  9 19:54:54 1998  Werner Koch  (wk@isil.d.shuttle.de)
2357
2358         * armor.c: Fixes to allow zero length cleartext signatures
2359
2360 Thu Jul  9 14:52:47 1998  Werner Koch  (wk@isil.d.shuttle.de)
2361
2362         * g10.c (build_list): Now drops setuid.
2363         (main): Changed the way keyrings  and algorithms are registered .
2364
2365 Wed Jul  8 14:17:30 1998  Werner Koch  (wk@isil.d.shuttle.de)
2366
2367         * packet.h (PKT_public_key): Add field keyid.
2368         * parse-packet.c (parse_key): Reset the above field.
2369         * keyid.c (keyid_from_pk): Use above field as cache.
2370
2371         * tdbio.c, tdbio.h: New
2372         * trustdb.c: Moved some functions to tdbio.c.
2373         (print_keyid): New.
2374
2375         * pkclist.c (check_signatures_trust): New.
2376
2377 Wed Jul  8 10:45:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
2378
2379         * plaintext.c (special_md_putc): New.
2380         (handle_plaintext): add clearsig argument
2381         * mainproc.c (proc_plaintext): detection of clearsig
2382         * sign.c (write_dased_escaped): Changed clearsig format
2383
2384 Tue Jul  7 18:56:19 1998  Werner Koch  (wk@isil.d.shuttle.de)
2385
2386         * armor.c (find_header): Now makes sure that there is only one
2387         empty line for clearsigs, as this is what OP now says.
2388
2389 Mon Jul  6 13:09:07 1998  Werner Koch  (wk@isil.d.shuttle.de)
2390
2391         * g10.c (main): New option default-secret-key
2392         * getkey.c (get_seckey_byname): support for this option.
2393
2394 Mon Jul  6 09:03:49 1998  Werner Koch  (wk@isil.d.shuttle.de)
2395
2396         * getkey.c (add_keyring): Keyrings are now added to end of the
2397         list of keyrings.  The first added keyringwill be created.
2398         (add_secret_keyring): Likewise.
2399
2400         * ringedit.c (add_keyblock_resource): Files are created here.
2401
2402         * g10.c (aNOP): Removed
2403
2404         * getkey.c (lookup): Add checking of usage for name lookups
2405         * packet.h (pubkey_usage): Add a field which may be used to store
2406         usage capabilities.
2407         * pkclist.c (build_pk_list): getkey now called with usage arg.
2408         * skclist.c (build_sk_list): Ditto.
2409
2410         * sign.c (clearsign_file): Fixed "Hash:" headers
2411
2412 Sat Jul  4 13:33:31 1998  Werner Koch  (wk@isil.d.shuttle.de)
2413
2414         * trustdb.c (list_ownertrust): New.
2415         * g10.c (aListOwnerTrust): New.
2416
2417         * g10.c (def_pubkey_algo): Removed.
2418
2419         * trustdb.c (verify_private_data): Removed and also the call to it.
2420         (sign_private_data): Removed.
2421
2422 Fri Jul  3 13:26:10 1998  Werner Koch  (wk@isil.d.shuttle.de)
2423
2424         * g10.c (aEditKey): was aEditSig. Changed usage msg.
2425
2426         * keyedit.c: Done some i18n stuff.
2427
2428         * g10.c (do_not_use_RSA): New.
2429         * sign.c (do_sign): Add call to above function.
2430         * encode.c (write_pubkey_enc_from_list): Ditto.
2431
2432 Thu Jul  2 21:01:25 1998  Werner Koch  (wk@isil.d.shuttle.de)
2433
2434         * parse-packet.c: Now is able sto store data of unknown
2435         algorithms.
2436         * free-packet.c: Support for this.
2437         * build-packet.c: Can write data of packet with unknown algos.
2438
2439 Thu Jul  2 11:46:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
2440
2441         * parse-packet.c (parse): fixed 4 byte length header
2442
2443 Wed Jul  1 12:36:55 1998  Werner Koch  (wk@isil.d.shuttle.de)
2444
2445         * packet.h (new_ctb): New field for some packets
2446         * build-packet.c (build_packet): Support for new_ctb
2447         * parse-packet.c (parse): Ditto.
2448
2449 Mon Jun 29 12:54:45 1998  Werner Koch  (wk@isil.d.shuttle.de)
2450
2451         * packet.h: changed all "_cert" to "_key", "subcert" to "subkey".
2452
2453         * free-packet.c (free_packet): Removed memory leak for subkeys.
2454
2455 Sun Jun 28 18:32:27 1998  Werner Koch  (wk@isil.d.shuttle.de)
2456
2457         * import.c (import_keys): Renamed from import_pubkeys.
2458         (import_secret_one): New.
2459
2460         * g10.c (aExportSecret): New.
2461
2462         * export.c (export_seckeys): New.
2463
2464         * parse-packet.c (parse_certificate): Cleaned up.
2465         (parse_packet): Trust packets are now considered as unknown.
2466         (parse_pubkey_warning): New.
2467
2468 Fri Jun 26 10:37:35 1998  Werner Koch  (wk@isil.d.shuttle.de)
2469
2470         * keygen.c (has_invalid_email_chars): New.
2471
2472 Wed Jun 24 16:40:22 1998  Werner Koch  (wk@isil.d.shuttle.de)
2473
2474         * armor.c (armor_filter): Now creates valid onepass_sig packets
2475         with all detected hash algorithms.
2476         * mainproc.c (proc_plaintext): Now uses the hash algos as specified
2477         in the onepass_sig packets (if there are any)
2478
2479 Mon Jun 22 11:54:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
2480
2481         * plaintext.c (handle_plaintext): add arg to disable outout
2482         * mainproc.c (proc_plaintext): disable output when in sigs_only mode.
2483
2484 Thu Jun 18 13:17:27 1998  Werner Koch  (wk@isil.d.shuttle.de)
2485
2486         * keygen.c: Removed all rsa packet stuff, chnaged defaults
2487         for key generation.
2488
2489 Sun Jun 14 21:28:31 1998  Werner Koch  (wk@isil.d.shuttle.de)
2490
2491         * misc.c (checksum_u16): Fixed a stupid bug which caused a
2492         wrong checksum calculation for the secret key protection and
2493         add a backward compatibility option.
2494         * g10.c (main): Add option --emulate-checksum-bug.
2495
2496 Thu Jun 11 13:26:44 1998  Werner Koch  (wk@isil.d.shuttle.de)
2497
2498         * packet.h: Major changes to the structure of public key material
2499         which is now stored in an array and not anaymore in a union of
2500         algorithm specific structures.  These is needed to make the system
2501         more extendable and makes a lot of stuff much simpler. Changed
2502         all over the system.
2503
2504         * dsa.c, rsa.c, elg.c: Removed.
2505
2506 Wed Jun 10 07:22:02 1998  Werner Koch,mobil,,,  (wk@tobold)
2507
2508         * g10.c ("load-extension"): New option.
2509
2510 Mon Jun  8 22:23:37 1998  Werner Koch  (wk@isil.d.shuttle.de)
2511
2512         * seckey-cert.c (do_check): Removed cipher constants
2513         (protect_secret_key): Ditto.
2514
2515 Fri May 29 10:00:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
2516
2517         * trustdb.c (query_trust_info): New.
2518         * keylist.c (list_one): Add output of trust info
2519         * mainproc (list_node): ditto.
2520         * g10.c (main): full trustdb init if -with-colons and any of the
2521         key list modes.
2522
2523 Thu May 28 10:34:42 1998  Werner Koch  (wk@isil.d.shuttle.de)
2524
2525         * status.c (STATUS_RSA_OR_IDEA): New.
2526         * sig-check.c (check_signature): Output special status message.
2527         * pubkey-enc.c (get_session_key): Ditto.
2528
2529         * mainproc.c (check_sig_and_print): Changed format of output.
2530         * passpharse.c (passphrase_to_dek): Likewise.
2531
2532 Wed May 27 13:46:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
2533
2534         * g10.c (aListSecretKeys): New option --list-secret-keys
2535         * keylist.c (std_key_list): Renamed to public_key_list.
2536         (secret_key_list): New
2537         (list_one, list_all): Add support for secret keys.
2538         * getkey.c (get_secret_keyring): New.
2539         * mainproc.c (list_node): Add option --with-colons for secret keys
2540
2541         * sig-check.c (check_key_signature): detection of selfsigs
2542         * mainproc.c (list_node): fixed listing.
2543
2544         * g10.c (aListSecretKeys): New option --always-trust
2545         * pkclist.c (do_we_trust): Override per option added
2546
2547         * status.c (write_status_text): Add a prefix to every output line.
2548
2549 Wed May 27 07:49:21 1998  Werner Koch  (wk@isil.d.shuttle.de)
2550
2551         * g10 (--compress-keys): New.
2552         * options.h (compress_keys): New.
2553         * export.c (export_pubkeys): Only compresses with the new option.
2554
2555 Tue May 26 11:24:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
2556
2557         * passphrase.c (get_last_passphrase): New
2558         (set_next_passphrase): New.
2559         (passphrase_to_dek): add support for the above functions.
2560         * keyedit.c (make_keysig_packet): Add sigclass 0x18,
2561         changed all callers due to a new argument.
2562         * keygen.c (write_keybinding): New
2563         (generate_subkeypair): Add functionality
2564         (ask_algo, ask_keysize, ask_valid_days): Broke out of generate_keypair
2565         (ask_user_id, ask_passphrase): Ditto.
2566
2567 Thu May 21 11:26:13 1998  Werner Koch  (wk@isil.d.shuttle.de)
2568
2569         * g10.c,gpgd.c (main): Does now return an int, so that egcs does
2570         not complain.
2571
2572         * armor.c (fake_packet): Removed erro message and add a noticed
2573         that this part should be fixed.
2574
2575         * sign.c (sign_file): Compression now comes in front of encryption.
2576         * encode.c (encode_simple): Ditto.
2577         (encode_crypt): Ditto.
2578
2579 Tue May 19 16:18:19 1998  Werner Koch  (wk@isil.d.shuttle.de)
2580
2581         * armor.c (fake_packet): Changed assertion to log_error
2582
2583 Sat May 16 16:02:06 1998  Werner Koch  (wk@isil.d.shuttle.de)
2584
2585         * build-packet.c (build_packet): Add SUBKEY packets.
2586
2587 Fri May 15 17:57:23 1998  Werner Koch  (wk@isil.d.shuttle.de)
2588
2589         * sign.c (hash_for): New and used in all places here.
2590         * main.h (DEFAULT_): new macros.
2591         * g10.c  (opt.def_digest_algo): Now set to 0
2592
2593         * compress.c (init_compress): Add support for algo 1
2594         * options.h (def_compress_algo): New
2595         * g10.c (main): New option --compress-algo
2596
2597 Fri May 15 13:23:59 1998  Werner Koch  (wk@isil.d.shuttle.de)
2598
2599         * g10.c (print_mds): New feature to print only one hash,
2600         chnaged formatting.
2601
2602 Thu May 14 15:36:24 1998  Werner Koch  (wk@isil.d.shuttle.de)
2603
2604         * misc.c (trap_unaligned) [__alpha__]: New
2605         * g10.c (trap_unaligned): Add call to this to track down SIGBUS
2606         on Alphas (to avoid the slow emulation code).
2607
2608 Wed May 13 11:48:27 1998  Werner Koch  (wk@isil.d.shuttle.de)
2609
2610         * build-packet.c (do_signature): Support for v4 pakets.
2611         * keyedit.c (make_keysig_packet): Ditto.
2612         * build-packet.c (build_sig_subpkt_from_sig): New.
2613         (build_sig_subpkt): New.
2614
2615         * elg.c (g10_elg_sign): removed keyid_from_skc.
2616         * dsa.c (g10_dsa_sign): Ditto.
2617         * rsa.c (g10_rsa_sign): Ditto.
2618         * keyedit.c (make_keysig_packet): Add call to keyid_from_skc
2619
2620         * sign.c (clearsign_file): Support for v4 signatures.
2621         (sign_file): Ditto.
2622
2623 Wed May  6 09:31:24 1998  Werner Koch  (wk@isil.d.shuttle.de)
2624
2625         * parse-packet.c (do_parse): add support for 5 byte length leader.
2626         (parse_subpkt): Ditto.
2627         * build-packet.c (write_new_header): Ditto.
2628
2629         * packet.h (SIGSUBPKT_): New constants.
2630         * parse-packet.c (parse_sig_subpkt): Changed name, made global,
2631         and arg to return packet length, chnaged all callers
2632
2633
2634 Tue May  5 22:11:59 1998  Werner Koch  (wk@isil.d.shuttle.de)
2635
2636         * keygen.c (gen_dsa): New.
2637         * build_packet.c (do_secret_cert): Support for DSA
2638
2639 Mon May  4 19:01:25 1998  Werner Koch  (wk@isil.d.shuttle.de)
2640
2641         * compress.c: doubled buffer sizes
2642         * parse-packet.c (do_plaintext): now uses iobuf_read/write.
2643
2644 Mon May  4 09:35:53 1998  Werner Koch  (wk@isil.d.shuttle.de)
2645
2646         * seskey.c (encode_md_value): Add optional argument hash_algo,
2647         changed all callers.
2648
2649         * passphrase.c (make_dek_from_passphrase): Removed
2650         * (get_passhrase_hash): Changed name to passphrase_to_dek, add arg,
2651         changed all callers.
2652
2653         * all: Introduced the new ELG identifier and added support for the
2654         encryption only one (which is okay to use by GNUPG for signatures).
2655
2656 Sun May  3 17:50:26 1998  Werner Koch  (wk@isil.d.shuttle.de)
2657
2658         * packet.h (PKT_OLD_COMMENT): New name for type 16.
2659         * parse-packet.c (parse_comment): Now uses type 61
2660
2661 Fri May  1 12:44:39 1998  Werner Koch,mobil,,,  (wk@tobold)
2662
2663         * packet.h (count): Chnaged s2k count from byte to u32.
2664         * seckey-cert.c (do_check): Changed s2k algo 3 to 4, changed
2665         reading of count.
2666         * build-packet.c (do_secret_cert): ditto.
2667         * parse-packet.c (parse_certificate): ditto.
2668
2669         * parse-packet.c (parse_symkeyenc): New.
2670         * build-packet.c (do_symkey_enc): New.
2671
2672 Thu Apr 30 16:33:34 1998  Werner Koch  (wk@isil.d.shuttle.de)
2673
2674         * sign.c (clearsign_file): Fixed "Hash: " armor line.
2675
2676 Tue Apr 28 14:27:42 1998  Werner Koch  (wk@isil.d.shuttle.de)
2677
2678         * parse-packet.c (parse_subpkt): Some new types.
2679
2680 Mon Apr 27 12:53:59 1998  Werner Koch  (wk@isil.d.shuttle.de)
2681
2682         * g10.c (main): Add option --skip-verify.
2683         * mainproc.c (check_sig_and_print): Ditto.
2684
2685         * g10.c (print_mds): Add output for Tiger.
2686
2687         * sign.c (sign_file): Now uses partial length headers if used
2688         in canonical textmode (kludge to fix a bug).
2689
2690         * parse-packet.c (parse_certificate): Changed BLOWFISH id.
2691         * pubkey-enc.c (get_session_key): Ditto.
2692         * seskey.c (make_session_key): Ditto.
2693         * seckey-cert.c (protect_secret_key,do_check): Add BLOWFISH160.
2694
2695 Fri Apr 24 17:38:48 1998  Werner Koch,mobil,,,  (wk@tobold)
2696
2697         * sig-check.c (check_key_signature): Add sig-class 0x14..0x17
2698         * keyedit.c (sign-key): Some changes to start with support of
2699         the above new sig-classes.
2700
2701 Wed Apr 22 09:01:57 1998  Werner Koch,mobil,,,  (wk@tobold)
2702
2703         * getkey.c (compare_name): add email matching
2704
2705 Tue Apr 21 16:17:12 1998  Werner Koch,mobil,,,  (wk@tobold)
2706
2707         * armor.c (armor_filter): fixed missing last LF before CSUM.
2708
2709 Thu Apr  9 11:35:22 1998  Werner Koch  (wk@isil.d.shuttle.de)
2710
2711         * seckey-cert.c (do_check): New; combines all the check functions
2712         into one.
2713
2714         * sign.c: removed all key management functions
2715         * keyedit.c: New.
2716
2717 Thu Apr  9 09:49:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
2718
2719         * import.c (chk_self_sigs): Changed an error message.
2720
2721 Wed Apr  8 16:19:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
2722
2723         * packet.h: packet structs now uses structs from the pubkey,
2724         removed all copy operations from packet to pubkey structs.
2725
2726 Wed Apr  8 13:40:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
2727
2728         * trustdb.c (verify_own_certs): Fixed "public key not found".
2729
2730         * getkey.c (key_byname): New, combines public and secret key search.
2731
2732         * pkclist.c (build_pkc_list): Add new arg usage, changed all callers.
2733         * skclist.c (build_skc_list): Likewise.
2734
2735         * ringedit.c (find_keyblock, keyring_search2): Removed.
2736
2737 Wed Apr  8 09:47:21 1998  Werner Koch  (wk@isil.d.shuttle.de)
2738
2739         * sig-check.c (do_check): Applied small fix from Ulf Möller.
2740
2741 Tue Apr  7 19:28:07 1998  Werner Koch  (wk@isil.d.shuttle.de)
2742
2743         * cipher.c, encr-data.c, seckey-cert.c: Now uses cipher_xxxx
2744         functions instead of blowfish_xxx or cast_xxx
2745
2746 Tue Apr  7 11:04:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
2747
2748         * Makefile.am (g10maint.o): Changed the way it is created.
2749
2750 Mon Apr  6 11:17:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
2751
2752         * misc.c: New.
2753         * keygen.c (checksum,checksum_u16,checksum_mpi): Moved to misc.c
2754         * seckey-cert.c: Kludge for wrong ELG checksum implementation.
2755
2756 Sat Apr  4 20:07:01 1998  Werner Koch  (wk@isil.d.shuttle.de)
2757
2758         * cipher.c (cipher_filter): Support for CAST5
2759         * encr-data.c (decode_filter): Ditto.
2760         (decrypt_data): Ditto.
2761         * seskey.c (make_session_key): Ditto.
2762         * seckey-cert.c (check_elg, check_dsa): Ditto,
2763         (protect_secret_key): Ditto.
2764         * pubkey-enc.c (get_session_key): Ditto.
2765         * passphrase.c (hash_passphrase): Ditto.
2766
2767 Thu Apr  2 20:22:35 1998  Werner Koch  (wk@isil.d.shuttle.de)
2768
2769         * gpgd.c: New
2770
2771 Thu Apr  2 10:38:16 1998  Werner Koch  (wk@isil.d.shuttle.de)
2772
2773         * keygen.c (generate_keypair): Add valid_days stuff.
2774         * trustdb.c (check_trust): Add check for valid_days.
2775
2776 Wed Apr  1 16:15:58 1998  Werner Koch  (wk@isil.d.shuttle.de)
2777
2778         * keygen.c (generate_keypair): Addional question whether the
2779         selected large keysize is really needed.
2780
2781 Wed Apr  1 15:56:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
2782
2783         * seckey-cert.c (protect_secret_key): merged protect_xxx to here.
2784
2785 Wed Apr  1 10:34:46 1998  Werner Koch  (wk@isil.d.shuttle.de)
2786
2787         * Makefile.am (g10maint.c): Changed creation rule, so that it works
2788         on FreeBSD (missing CFLAGS).
2789
2790         * parse-packet.c (parse_subkey): Removed.
2791
2792 Thu Mar 19 15:22:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
2793
2794         * ringedit.c (keyring_enum): Fixed problem with reading too
2795         many packets. Add support to read secret keyrings.
2796
2797         * getkey.c (scan_keyring): Removed
2798         (lookup): New to replace scan_keyring.
2799         (scan_secret_keyring): Removed.
2800         (lookup_skc): New.
2801
2802 Wed Mar 18 11:47:34 1998  Werner Koch  (wk@isil.d.shuttle.de)
2803
2804         * ringedit.c (enum_keyblocks): New read mode 11.
2805
2806         * keyid.c (elg_fingerprint_md): New and changed all other functions
2807         to call this if the packet version is 4 or above.
2808
2809 Tue Mar 17 20:46:16 1998  Werner Koch  (wk@isil.d.shuttle.de)
2810
2811         * parse-packet.c (parse_certificate): Add listing support for subkeys.
2812
2813 Tue Mar 17 20:32:22 1998  Werner Koch  (wk@isil.d.shuttle.de)
2814
2815         * armor.c (is_armored): Allow marker packet.
2816
2817 Thu Mar 12 13:36:49 1998  Werner Koch  (wk@isil.d.shuttle.de)
2818
2819         * trustdb.c (check_trust): Checks timestamp of pubkey.
2820         * sig-check. (do_check): Compares timestamps.
2821
2822 Tue Mar 10 17:01:56 1998  Werner Koch  (wk@isil.d.shuttle.de)
2823
2824         * g10.c (main): Add call to init_signals.
2825         * signal.c: New.
2826
2827 Mon Mar  9 12:43:42 1998  Werner Koch  (wk@isil.d.shuttle.de)
2828
2829         * dsa.c: New
2830         * packet.h, free-packet.c, parse-packet.c : Add support for DSA
2831         * sig-check.c, getkey.c, keyid.c, ringedit.c: Ditto.
2832         * seckey-cert.c: Ditto.
2833
2834         * packet.h : Moved .digest_algo of signature packets to outer
2835         structure. Changed all references
2836
2837 Sun Mar  8 13:06:42 1998  Werner Koch  (wk@isil.d.shuttle.de)
2838
2839         * openfile.c : Support for stdout filename "-".
2840
2841         * mainproc.c (check_sig_and_print): Enhanced status output:
2842         * status.c (write_status_text): New.
2843
2844 Fri Mar  6 16:10:54 1998  Werner Koch  (wk@isil.d.shuttle.de)
2845
2846         * kbnode.c (clone_kbnode): Fixed private_flag.
2847
2848         * mainproc.c (list_node): Output of string "Revoked" as user-id.
2849
2850 Fri Mar  6 14:26:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
2851
2852         * g10.c (main): Add userids to "-kv" and cleaned up this stuff.
2853
2854 Fri Mar  6 12:45:58 1998  Werner Koch  (wk@isil.d.shuttle.de)
2855
2856         * g10.c (main): Changed semantics of the list-... commands
2857         and added a new one. Removed option "-d"
2858
2859         * decrypt.c: New.
2860
2861         * trustdb.c (init_trustdb): Autocreate directory only if it ends
2862         in "/.gnupg".
2863
2864 Thu Mar  5 12:12:11 1998  Werner Koch  (wk@isil.d.shuttle.de)
2865
2866         * mainproc.c (do_proc_packets): New. Common part of proc_packet.
2867         (proc_signature_packets): special version to handle signature data.
2868         * verify.c: New.
2869         * g10.c (aVerify): New.
2870         * plaintext.c (hash_datafiles): New.
2871         * compress.c (handle_compressed): Add callback arg, changed caller.
2872
2873 Thu Mar  5 10:20:06 1998  Werner Koch  (wk@isil.d.shuttle.de)
2874
2875         * g10.c: Is nom the common source for gpg and gpgm
2876         * g10maint.c: Removed
2877         * Makefile.am: Add rule to build g10maint.c
2878
2879 Thu Mar  5 08:43:59 1998  Werner Koch  (wk@isil.d.shuttle.de)
2880
2881         * g10.c (main): Changed the way clear text sigs are faked.
2882
2883 Wed Mar  4 19:47:37 1998  Werner Koch  (wk@isil.d.shuttle.de)
2884
2885         * g10maint.c (aMuttKeyList): New
2886         * keylist.c: New.
2887
2888 Wed Mar  4 17:20:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
2889
2890         * getkey.c (get_pubkey_byname): Kludge to allow 0x prefix.
2891
2892 Tue Mar  3 13:46:55 1998  Werner Koch  (wk@isil.d.shuttle.de)
2893
2894         * g10maint.c (main): New option --gen-random.
2895
2896 Tue Mar  3 09:50:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
2897
2898         * g10.c (aDeleteSecretKey): New.
2899         (aEditSig): Add option "--edit-key" as synonym for "--edit-sig".
2900         (aDeleteSecretKey): New.
2901         * getkey.c (seckey_available): New.
2902         * sign.c (delete_key): Enhanced to delete secret keys, changed all
2903         callers.
2904
2905 Mon Mar  2 21:23:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
2906
2907         * pkc_list.c (build_pkc_list): Add interactive input of user ID.
2908
2909 Mon Mar  2 20:54:05 1998  Werner Koch  (wk@isil.d.shuttle.de)
2910
2911         * pkclist.c (do_we_trust_pre): New.
2912         (add_ownertrust): Add message.
2913         * trustdb.c (enum_trust_web): Quick fix.
2914
2915 Mon Mar  2 13:50:53 1998  Werner Koch  (wk@isil.d.shuttle.de)
2916
2917         * g10.c (main): New action aDeleteKey
2918         * sign.c (delete_key): New.
2919
2920 Sun Mar  1 16:38:58 1998  Werner Koch  (wk@isil.d.shuttle.de)
2921
2922         * trustdb.c (do_check): No returns TRUST_UNDEFINED instead of
2923         eof error.
2924
2925 Fri Feb 27 18:14:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
2926
2927         * armor.c (find_header): Removed trailing CR on headers.
2928
2929 Fri Feb 27 18:02:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
2930
2931         * ringedit.c (keyring_search) [MINGW32]: Open and close file here
2932         because rename does not work on open files. Chnaged callers.
2933
2934 Fri Feb 27 16:43:11 1998  Werner Koch  (wk@isil.d.shuttle.de)
2935
2936         * sig-check.c (do_check): Add an md_enable.
2937         * mainproc.c (do_check_sig): Use md_open in case of detached sig
2938         (proc_tree): Take detached sigs into account.
2939
2940 Fri Feb 27 15:22:46 1998  Werner Koch  (wk@isil.d.shuttle.de)
2941
2942         * g10.c (main): Make use of GNUPGHOME envvar.
2943         * g10main.c (main): Ditto.
2944
2945 Wed Feb 25 11:40:04 1998  Werner Koch  (wk@isil.d.shuttle.de)
2946
2947         * plaintext.c (ask_for_detached_datafile): add opt.verbose to
2948         info output.
2949
2950         * openfile.c (open_sigfile): Try also name ending in ".asc"
2951
2952 Wed Feb 25 08:41:00 1998  Werner Koch  (wk@isil.d.shuttle.de)
2953
2954         * keygen.c (generate_keypair): Fixed memory overflow.
2955
2956 Tue Feb 24 15:51:55 1998  Werner Koch  (wk@isil.d.shuttle.de)
2957
2958         * parse-packet.c (parse_certificate): Support for S2K.
2959         * build-packet.c (do_secret_cert): Ditto.
2960         * keygen.c (gen_elg): Ditto.
2961         * seckey-cert.c (check_elg): Ditto
2962         (protect_elg): Ditto.
2963         * sign.c (chnage_passphrase): Ditto.
2964         * passphrase.c (get_passphrase_hash): Support for a salt and
2965         changed all callers.
2966         (make_dek_from_passphrase): Ditto.
2967
2968 Tue Feb 24 12:30:56 1998  Werner Koch  (wk@isil.d.shuttle.de)
2969
2970         * build-packet.c (hash_public_cert): Disabled debug output.
2971
2972 Fri Feb 20 17:22:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
2973
2974         * trustdb.c (init_trustdb) [MINGW32]: Removed 2nd mkdir arg.
2975         (keyring_copy) [MINGW32]: Add a remove prior to the renames.
2976
2977 Wed Feb 18 18:39:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
2978
2979         * Makefile.am (OMIT_DEPENDENCIES): New.
2980
2981         * rsa.c: Replaced log_bug by BUG.
2982
2983 Wed Feb 18 13:35:58 1998  Werner Koch  (wk@isil.d.shuttle.de)
2984
2985         * mainproc.c (do_check_sig): Now uses hash_public_cert.
2986         * parse-packet.c (parse_certificate): Removed hashing.
2987         * packet.h (public_cert): Removed hash variable.
2988         * free-packet.c (copy_public_cert, free_public_cert): Likewise.
2989
2990         * sig-check.c (check_key_signatures): Changed semantics.
2991
2992 Wed Feb 18 12:11:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
2993
2994         * trustdb.c (do_check): Add handling for revocation certificates.
2995         (build_sigrecs): Ditto.
2996         (check_sigs): Ditto.
2997
2998 Wed Feb 18 09:31:04 1998  Werner Koch  (wk@isil.d.shuttle.de)
2999
3000         * armor.c (armor_filter): Add afx->hdrlines.
3001         * revoke.c (gen_revoke): Add comment line.
3002         * dearmor.c (enarmor_file): Ditto.
3003
3004         * sig-check.c (check_key_signature): Add handling for class 0x20.
3005         * mainproc.c : Ditto.
3006
3007 Tue Feb 17 21:24:17 1998  Werner Koch  (wk@isil.d.shuttle.de)
3008
3009         * armor.c : Add header lines "...ARMORED FILE .."
3010         * dearmor.c (enarmor_file): New.
3011         * g10maint.c (main): New option "--enarmor"
3012
3013 Tue Feb 17 19:03:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
3014
3015         * mainproc.c : Changed a lot, because the packets are now stored
3016         a simple linlked list and not anymore in a complicatd tree structure.
3017
3018 Tue Feb 17 10:14:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
3019
3020         * free_packet.c (cmp_public_certs): New.
3021         (cmp_user_ids): New.
3022
3023         * kbnode.c (clone_kbnode): New.
3024         (release_kbnode): Add clone support.
3025
3026         * ringedit.c (find_keyblock_bypkc): New.
3027
3028         * sign.c (remove_keysigs): Self signatures are now skipped,
3029         changed arguments and all callers.
3030
3031         * import.c : Add functionality.
3032
3033 Tue Feb 17 09:31:40 1998  Werner Koch  (wk@isil.d.shuttle.de)
3034
3035         * options.h (homedir): New option.
3036         * g10.c, g10maint.c, getkey.c, keygen.c, trustdb.c (opt.homedir): New.
3037
3038         * trustdb.c (init_trustdb): mkdir for hoem directory
3039         (sign_private_data): Renamed "sig" to "g10.sig"
3040
3041 Mon Feb 16 20:02:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
3042
3043         * kbnode.c (commit_kbnode): New.
3044         (delete_kbnode): removed unused first arg. Changed all Callers.
3045
3046         * ringedit.c (keyblock_resource_name): New.
3047         (get_keyblock_handle): NULL for filename returns default resource.
3048
3049 Mon Feb 16 19:38:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
3050
3051         * sig-check.s (check_key_signature): Now uses the supplied
3052         public key to check the signature and not any more the one
3053         from the getkey.c
3054         (do_check): New.
3055         (check_signature): Most work moved to do_check.
3056
3057 Mon Feb 16 14:48:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
3058
3059         * armor.c (find_header): Fixed another bug.
3060
3061 Mon Feb 16 12:18:34 1998  Werner Koch  (wk@isil.d.shuttle.de)
3062
3063         * getkey.c (scan_keyring): Add handling of compressed keyrings.
3064
3065 Mon Feb 16 10:44:51 1998  Werner Koch  (wk@isil.d.shuttle.de)
3066
3067         * g10.c, g10maint.c (strusage): Rewrote.
3068         (build_list): New
3069
3070 Mon Feb 16 08:58:41 1998  Werner Koch  (wk@isil.d.shuttle.de)
3071
3072         * armor.c (use_armor): New.
3073
3074 Sat Feb 14 14:30:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
3075
3076         * mainproc.c (proc_tree): Sigclass fix.
3077
3078 Sat Feb 14 14:16:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
3079
3080         * armor.c (armor_filter): Changed version and comment string.
3081         * encode.c, sign.c, keygen.c: Changed all comment packet strings.
3082
3083 Sat Feb 14 12:39:24 1998  Werner Koch  (wk@isil.d.shuttle.de)
3084
3085         * g10.c (aGenRevoke): New command.
3086         * revoke.c: New.
3087         * sign.c (make_keysig_packet): Add support for sigclass 0x20.
3088
3089 Fri Feb 13 20:18:14 1998  Werner Koch  (wk@isil.d.shuttle.de)
3090
3091         * ringedit.c (enum_keyblocks, keyring_enum): New.
3092
3093 Fri Feb 13 19:33:40 1998  Werner Koch  (wk@isil.d.shuttle.de)
3094
3095         * export.c: Add functionality.
3096
3097         * keygen.c (generate_keypair): Moved the leading comment behind the
3098         key packet.
3099         * kbnode.c (walk_kbnode): Fixed.
3100
3101         * g10.c (main): listing armored keys now work.
3102
3103 Fri Feb 13 16:17:43 1998  Werner Koch  (wk@isil.d.shuttle.de)
3104
3105         * parse-packet.c (parse_publickey, parse_signature): Fixed calls
3106         to mpi_read used for ELG b.
3107
3108 Fri Feb 13 15:13:23 1998  Werner Koch  (wk@isil.d.shuttle.de)
3109
3110         * g10.c (main): changed formatting of help output.
3111
3112 Thu Feb 12 22:24:42 1998  Werner Koch  (wk@frodo)
3113
3114         * pubkey-enc.c (get_session_key): rewritten
3115