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