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