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