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