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