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