~ubuntu-branches/ubuntu/vivid/gnupg/vivid

« back to all changes in this revision

Viewing changes to g10/ChangeLog-2011

  • Committer: Package Import Robot
  • Author(s): Colin Watson
  • Date: 2012-12-04 22:26:16 UTC
  • mfrom: (1.1.18 sid)
  • Revision ID: package-import@ubuntu.com-20121204222616-cr0fow26geq90l3y
Tags: 1.4.12-6ubuntu1
* Resynchronise with Debian.  Remaining changes:
  - Disable mlock() test since it fails with ulimit 0 (on buildds).
  - Set gpg (or gpg2) and gpgsm to use a passphrase agent by default.
  - Only suggest gnupg-curl and libldap; recommendations are pulled into
    minimal, and we don't need the keyserver utilities in a minimal Ubuntu
    system.
  - Remove the Win32 build.
  - Update config.guess/config.sub for aarch64.
* Dropped patches:
  - Fix udeb build failure on powerpc, building with -O2 instead of -Os.
    (No longer seems to be necessary.)
* Simplify removal of Win32 build, to make this easier to merge in future.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
2011-12-02  Werner Koch  <wk@g10code.com>
 
2
 
 
3
        NB: ChangeLog files are no longer manually maintained.  Starting
 
4
        on December 1st, 2011 we put change information only in the GIT
 
5
        commit log, and generate a top-level ChangeLog file from logs at
 
6
        "make dist".  See doc/HACKING for details.
 
7
 
 
8
2011-09-12  Werner Koch  <wk@g10code.com>
 
9
 
 
10
        * gpg.c [__VMS]: Include vms.h.
 
11
        (main) [__VMS]: Init batch mode according to actual process mode.
 
12
        Suggested by Steven M. Schweda.
 
13
 
 
14
2011-08-09  Werner Koch  <wk@g10code.com>
 
15
 
 
16
        * keyedit.c (show_key_with_all_names): Remove unused var.
 
17
 
 
18
        * apdu.c (open_pcsc_reader_direct): Remove unused var.
 
19
 
 
20
        * sig-check.c (do_check): Remove unused var.
 
21
 
 
22
        * keygen.c (ask_user_id): Fix loop break condition. See bug#1307.
 
23
 
 
24
        * import.c (import_keys_internal): Make breaking the loop more
 
25
        explicit.  See bug#1307.
 
26
 
 
27
2011-07-22  Werner Koch  <wk@g10code.com>
 
28
 
 
29
        * parse-packet.c (parse_key): Print the decoded iteration count.
 
30
        Fixes bug#1355.
 
31
 
 
32
2011-04-05  David Shaw  <dshaw@jabberwocky.com>
 
33
 
 
34
        * photoid.c (generate_photo_id): Check for the JPEG magic numbers
 
35
        instead of JFIF since some programs generate an EXIF header first.
 
36
        This is issue 1331.
 
37
 
 
38
2011-02-23  Werner Koch  <wk@g10code.com>
 
39
 
 
40
        * Makefile.am (LDADD): Move LIBREADLINE to ..
 
41
        (gpg_LDADD): here.  Fixes bug#1318.
 
42
        * gpgv.c (rl_cleanup_after_signal, rl_free_line_state): New stubs.
 
43
 
 
44
2010-10-29  David Shaw  <dshaw@jabberwocky.com>
 
45
 
 
46
        * gpg.c (main): Do not provide a default for
 
47
        --personal-digest-preferences.  This allows the usual digest
 
48
        selection algorithm to pick a digest based on recipient keys.
 
49
 
 
50
        * pkclist.c (select_algo_from_prefs): Make sure the scores can't
 
51
        overflow when picking an algorithm (not a security issue since we
 
52
        can't pick something not present in all preference lists, but we
 
53
        might pick something that isn't scored first choice).
 
54
 
 
55
        * pkclist.c (select_algo_from_prefs): Slightly improve the
 
56
        handling of MD5 in preference lists.  Instead of replacing MD5
 
57
        with SHA-1, just remove MD5 from the list altogether, and let the
 
58
        next-highest ranked algorithm be chosen.
 
59
 
 
60
2010-10-27  Werner Koch  <wk@g10code.com>
 
61
 
 
62
        * keygen.c (ask_expire_interval): Print 2038 warning only for 32
 
63
        bit signed time_t.
 
64
        * keyid.c (mk_datestr): Do the y2038 test only for a signed time_t.
 
65
        (INVALID_TIME_CHECK): New.
 
66
 
 
67
2010-10-20  Werner Koch  <wk@g10code.com>
 
68
 
 
69
        * encr-data.c (decode_filter): Cast -1 to size_t.  Reported by
 
70
        Steven M. Schweda.
 
71
        * parse-packet.c (parse_key): Ditto.
 
72
        * trustdb.c (validate_keys): Likewise to unsigned int.
 
73
 
 
74
2010-10-18  Werner Koch  <wk@g10code.com>
 
75
 
 
76
        * app-openpgp.c (parse_algorithm_attribute): Remove extra const in
 
77
        definition of DESC.
 
78
 
 
79
2010-10-10  Werner Koch  <wk@g10code.com>
 
80
 
 
81
        * keyring.c (create_tmp_file): Use GNUPG_TMP_SFX anf GNUPG_BAK_SFX.
 
82
 
 
83
2010-09-28  David Shaw  <dshaw@jabberwocky.com>
 
84
 
 
85
        * options.skel: Make the example for force-v3-sigs match
 
86
        reality (it has defaulted to off since 2007-10-22).
 
87
 
 
88
2010-09-28  Steven M. Schweda  <sms@antinode.info>  (wk)
 
89
 
 
90
        Changes to help the VMS port. See
 
91
        http://antinode.info/dec/sw/gnupg.html .
 
92
 
 
93
        * gpgv.c (ttyfp_is, init_ttyfp) [__VMS]: Add stubs.
 
94
        * build-packet.c (do_plaintext) [__VMS]: Disable error message.
 
95
        * keyserver.c (keyserver_spawn) [__VMS]: Do not add the DIRSEP_S.
 
96
        * misc.c [__VMS]: Include <time.h>.
 
97
        * signal.c [__VMS]: Include vms.h.
 
98
        (got_fatal_signal) [__VMS]: Restore terminal echo.
 
99
        * plaintext.c [__VMS]: Include vms.h.
 
100
        * openfile.c (make_outfile_name): __VMS] Do not use.
 
101
        (open_outfile) [__VMS]: Use vms_append_ext.
 
102
        (try_make_homedir) [__VMS]: chmod directory.
 
103
        * misc.c (disable_core_dumps) [__VMS]: Disable.
 
104
        (path_access) [__VMS]: Do not use.
 
105
 
 
106
2010-09-28  Werner Koch  <wk@g10code.com>
 
107
 
 
108
        * passphrase.c [!ENABLE_AGENT_SUPPORT]: Do not include
 
109
        sys/socket.h to help the VMS port.
 
110
 
 
111
2010-08-31  Werner Koch  <wk@g10code.com>
 
112
 
 
113
        * mainproc.c (print_pkenc_list): Print a STATUS_ERROR.  Fixes
 
114
        bug#1255.
 
115
 
 
116
2010-07-24  Werner Koch  <wk@g10code.com>
 
117
 
 
118
        * cardglue.c (agent_scd_pksign): Allow more hash algorithms when
 
119
        using with scdaemon.
 
120
        * cardglue.h (GCRY_MD_MD5): New.
 
121
 
 
122
2010-06-18  Werner Koch  <wk@g10code.com>
 
123
 
 
124
        * parse-packet.c (skip_packet, parse_gpg_control): Take care of
 
125
        premature EOFs.  Backport from trunk.
 
126
 
 
127
2010-06-01  Werner Koch  <wk@g10code.com>
 
128
 
 
129
        * gpg.c (main): Add dummy option --debug-level and ignore
 
130
        --log-file if a socket prefix is given.
 
131
 
 
132
2010-05-12  Werner Koch  <wk@g10code.com>
 
133
 
 
134
        * armor.c (radix64_read): Change fix 2006-04-08 to fix bug#1179.
 
135
 
 
136
2010-05-07  Werner Koch  <wk@g10code.com>
 
137
 
 
138
        * import.c (chk_self_sigs): Check direct key signatures.  Fixes
 
139
        bug#1223.
 
140
        (fix_bad_direct_key_sigs): New.
 
141
        (import_one): Call it.
 
142
 
 
143
2010-03-26  David Shaw  <dshaw@jabberwocky.com>
 
144
 
 
145
        * plaintext.c (handle_plaintext): Make sure that the stdout flush
 
146
        succeeded, so we can't lose data when using gpg in a pipeline.
 
147
        Fixes bug #1207.
 
148
 
 
149
2010-02-25  Werner Koch  <wk@g10code.com>
 
150
 
 
151
        * sign.c (hash_for): Force SHA1 only for v1 OpenPGP cards.  Fixes
 
152
        bug#1194.
 
153
 
 
154
2010-02-17  Werner Koch  <wk@g10code.com>
 
155
 
 
156
        * keygen.c (ask_user_id): Avoid infinite loop in case of invalid
 
157
        data.  Fixes bug#1186.
 
158
 
 
159
2010-02-02  Werner Koch  <wk@g10code.com>
 
160
 
 
161
        * card-util.c (card_edit): Change prompt to "gpg/card".
 
162
        * keyedit.c (keyedit_menu): Change prompt to "gpg".
 
163
 
 
164
2009-12-17  Werner Koch  <wk@g10code.com>
 
165
 
 
166
        * sig-check.c (do_check_messages): Evaluate the HAS_EXPIRED flag.
 
167
        Fixes bug#1059.
 
168
 
 
169
2009-12-15  Werner Koch  <wk@g10code.com>
 
170
 
 
171
        * iso7816.c (do_generate_keypair): s/readonly/read_only/.
 
172
        * keydb.c (keydb_add_resource): Ditto.
 
173
 
 
174
        * tdbio.c (tdbio_set_dbname): Do not call log_fatal after creating
 
175
        the directory.  Fixes bug#1169.  Reported by Daniel Leidert.
 
176
 
 
177
2009-09-28  Werner Koch  <wk@g10code.com>
 
178
 
 
179
        * trustdb.c (get_validity_info): Take care of a NULL PK.  Fixes
 
180
        bug#1138.
 
181
        (get_validity_string): Ditto.
 
182
 
 
183
2009-09-02  Werner Koch  <wk@g10code.com>
 
184
 
 
185
        * app-openpgp.c (do_decipher): Compute required Le.
 
186
        * iso7816.c (iso7816_decipher): Add new arg LE.
 
187
 
 
188
        * compress-bz2.c (do_uncompress): Detect unexpected EOF.  Fixes
 
189
        bug#1011.
 
190
 
 
191
2009-08-26  Werner Koch  <wk@g10code.com>
 
192
 
 
193
        * keyedit.c (menu_revsig): Check for signature right away.  Fix
 
194
        Debian-bug#543530.
 
195
 
 
196
2009-08-13  Werner Koch  <wk@g10code.com>
 
197
 
 
198
        * cardglue.h: Add new error code mappings.
 
199
 
 
200
        From GnuPG-2:
 
201
        * app-openpgp.c (change_keyattr_from_string): New.
 
202
        (do_setattr): Support KEY-ATTR.
 
203
        * ccid-driver.c (print_pr_data): Fix 64 bit compat problem.
 
204
        * ccid-driver.c (parse_ccid_descriptor): Enable hack for SCR 3320.
 
205
        * card-util.c (generate_card_keys): Remove special case for
 
206
        GnuPG-2.  Ask for the keysize and change it.
 
207
        (card_generate_subkey): Ask for the keysize and change it.
 
208
        (get_info_for_key_operation): Read KEY-ATTR.
 
209
        (show_keysize_warning, ask_card_keysize): New.
 
210
        (do_change_keysize): New.
 
211
 
 
212
2009-08-11  David Shaw  <dshaw@jabberwocky.com>
 
213
 
 
214
        * keyserver.c (keyserver_spawn): Try and detect mis-coded Latin1
 
215
        and convert it to UTF8.  Whether the heuristics succeed or not,
 
216
        the resulting string must be valid UTF8 as LDAP requires that.
 
217
        This is bug 1055.
 
218
 
 
219
2009-08-03  Werner Koch  <wk@g10code.com>
 
220
 
 
221
        * card-util.c (generate_card_keys): Ask for off-card keys only if
 
222
        the card supports it.
 
223
        (get_info_for_key_operation): Read EXTCAP.
 
224
        (card_store_subkey): Check for non matching sizes.
 
225
 
 
226
        * cardglue.c (agent_scd_writecert, agent_scd_readcert): New stubs.
 
227
        * misc.c (not_in_gpg1_notice): New.
 
228
 
 
229
2009-07-30  Werner Koch  <wk@g10code.com>
 
230
 
 
231
        * misc.c (md5_digest_warn): New.
 
232
        (print_digest_algo_note): Divert to new function.
 
233
        * sig-check.c (do_check): Print MD5 warning.
 
234
 
 
235
2009-07-31  David Shaw  <dshaw@jabberwocky.com>
 
236
 
 
237
        * gpg.c (main): --pgp6 includes --disable-mdc.
 
238
 
 
239
2009-07-29  Werner Koch  <wk@g10code.com>
 
240
 
 
241
        * keygen.c (keygen_set_std_prefs): Remove RMD-160 from the list.
 
242
        Change order to SHA-256, SHA-1, SHA-384, SHA-512, SHA-224.
 
243
        (gen_dsa): Use a 256 bit Q for 2048 bit P.  Round to FIPS allowed
 
244
        values in non-expert mode.
 
245
        (ask_algo): Add arg R_SUBKEY_ALGO.  Change return value semantics.
 
246
        Change presented order of algorithms.  Make RSA+RSA the default.
 
247
        (generate_keypair, generate_subkeypair): Adjust for change.
 
248
 
 
249
2009-07-23  Werner Koch  <wk@g10code.com>
 
250
 
 
251
        * keygen.c (generate_keypair): Allow Elgamal > 3072 in BOTH mode.
 
252
        Reported by Jeroen Schot.  Fixes bug#1091.
 
253
        (ask_keysize): Add new arg PRIMARY_KEYSIZE.  Set DSA default to
 
254
        2048.  Print a different prompt for a subkey.
 
255
        (gen_dsa): Remove check for dsa2 option.
 
256
 
 
257
        * trustdb.c (how_to_fix_the_trustdb): New.
 
258
        * tdbio.c (tdbio_invalid): Print hints on how to fix the trustdb.
 
259
        * gpg.c (main) <aFixTrustDB>: Print hints.
 
260
 
 
261
2009-07-23  David Shaw  <dshaw@jabberwocky.com>
 
262
 
 
263
        * keyserver.c (keyserver_import_ldap): Try a DNS-SD lookup to find
 
264
        a domain-specific LDAP server before resorting to keys.{domain}.
 
265
 
 
266
2009-07-22  Werner Koch  <wk@g10code.com>
 
267
 
 
268
        * cardglue.h (struct agent_card_info_s): Add field EXTCAP.
 
269
        * cardglue.c (agent_learn): Read KEY-ATTR.
 
270
        (learn_status_cb): Parse EXTCAP.
 
271
 
 
272
2009-07-21  Werner Koch  <wk@g10code.com>
 
273
 
 
274
        * app-common.h, app-openpgp.c, iso7816.c, iso7816.h, apdu.c,
 
275
        * apdu.h, ccid-driver.c, ccid-driver.h, card-util.c: Update from
 
276
        GnuPG 2.0 SVN revision 5084.
 
277
 
 
278
        * cardglue.h (GCRY_MD_SHA256): Add more GCRY_MD constants.
 
279
        (gcry_handler_progress_t): Add definition.
 
280
        (struct agent_card_info_s): Add fields apptype, is_v2, key_attr.
 
281
        * cardglue.c (learn_status_cb): Set them.
 
282
        (agent_release_card_info): Release APPTYPE.
 
283
        (unescape_status_string, send_status_direct): New.
 
284
        (gcry_mpi_release, gcry_mpi_set_opaque): New.
 
285
        (gcry_md_algo_name): New.
 
286
        (open_card): s/initialized/ref_count/.
 
287
        (agent_learn): Pass new new flag arg to learn_status.
 
288
        (agent_scd_genkey): Add new arg createtime.
 
289
        * keygen.c (gen_card_key, gen_card_key_with_backup): Add new arg
 
290
        TIMESTAMP.
 
291
        (write_direct_sig, write_selfsigs, write_keybinding)
 
292
        (make_backsig): Ditto.
 
293
        (do_generate_keypair): Pass timestamp to all signing functions.
 
294
        (generate_card_subkeypair): Ditto.
 
295
        * keyedit.c (menu_backsign): Pass a new timestamp to all backsisg.
 
296
 
 
297
        * gpg.c (main): Disable keypad support.
 
298
        * options.h (struct): Add field disable_keypad.
 
299
 
 
300
2009-07-17  Werner Koch  <wk@g10code.com>
 
301
 
 
302
        * keyring.c (keyring_rebuild_cache): Replace the assert by a
 
303
        proper error message and allow to delete a bad keyblock.
 
304
 
 
305
2009-07-16  Werner Koch  <wk@g10code.com>
 
306
 
 
307
        * misc.c (has_invalid_email_chars): Let non-ascii characters pass
 
308
        through.  Fixes bug#1087.
 
309
 
 
310
2009-06-24  Werner Koch  <wk@g10code.com>
 
311
 
 
312
        * passphrase.c (passphrase_to_dek): Do not deref a PW of NULL.
 
313
        * revoke.c (gen_revoke): Remove unused malloc of PK.
 
314
 
 
315
2009-06-17  Werner Koch  <wk@g10code.com>
 
316
 
 
317
        * parse-packet.c (parse): Use a casted -1 instead of a 32 bit
 
318
        constant to check for a garbled package.  Fixes bug#1040.
 
319
 
 
320
2009-06-05  David Shaw  <dshaw@jabberwocky.com>
 
321
 
 
322
        * gpg.c (main): Remove Camellia restriction.
 
323
 
 
324
2009-06-02  Werner Koch  <wk@g10code.com>
 
325
 
 
326
        * gpgv.c (tty_cleanup_after_signal): Add new stub.
 
327
 
 
328
2009-05-22  Werner Koch  <wk@g10code.com>
 
329
 
 
330
        * signal.c (got_fatal_signal): Call tty_cleanup_after_signal.
 
331
 
 
332
2009-05-20  Werner Koch  <wk@g10code.com>
 
333
 
 
334
        * gpg.c (main): Fix --fingerprint/--with-fingerprint command
 
335
        detection.  Fixes bug#1044.
 
336
 
 
337
2009-05-11  Werner Koch  <wk@g10code.com>
 
338
 
 
339
        * apdu.c (send_le): Replace log_error by log_info.  Fixes bug#1043.
 
340
 
 
341
        * skclist.c (build_sk_list): Use log_info for "duplicated entry".
 
342
        Fixes bug#1045.
 
343
 
 
344
        * encode.c (encode_simple, encode_crypt): Print empty file warning
 
345
        only in verbose mode.  Closes bug#1039.
 
346
        * sign.c (write_plaintext_packet):
 
347
 
 
348
2009-05-06  Werner Koch  <wk@g10code.com>
 
349
 
 
350
        * keyring.c (keyring_get_keyblock): Fix memory leak due to
 
351
        ring_trust packets.  Fixes bug#1034.
 
352
 
 
353
        * getkey.c (finish_lookup): Remove dead code.
 
354
 
 
355
2009-05-05  Werner Koch  <wk@g10code.com>
 
356
 
 
357
        * keygen.c (read_parameter_file): Add keyword "Creation-Date".
 
358
        (output_control_s): s/create/creation/.
 
359
        (enum para_name): Add pCREATIONDATE, pKEYCREATIONDATE.  Remove
 
360
        pCREATETIME.
 
361
        (generate_keypair): Do not set old pCREATETIME.
 
362
        (parse_creation_string): New.
 
363
        (proc_parameter_file): Set pCREATIONDATE.
 
364
        (do_generate_keypair): Remove arg TIMESTAMP. Set it using
 
365
        pKEYCREATIONDATE.
 
366
        (get_parameter_u32): Set a default pKEYCREATIONDATE.
 
367
 
 
368
        * tdbio.c (lookup_hashtable): Add const to function args.
 
369
        (cmp_trec_fpr): Ditto.
 
370
        (tdbio_search_trust_byfpr): Remove cast.
 
371
 
 
372
        * parse-packet.c (parse): Remove special treatment for compressed
 
373
        new style packets.  Fixes bug#931.
 
374
 
 
375
2009-04-03  Werner Koch  <wk@g10code.com>
 
376
 
 
377
        * gpgv.c (main): Pass readonly flag to keydb_add_resource.
 
378
        * keydb.c (keydb_add_resource): Add arg READONLY.
 
379
 
 
380
2009-03-20  David Shaw  <dshaw@jabberwocky.com>
 
381
 
 
382
        * keyring.c (rename_tmp_file): Force a fsync (via iobuf_ioctl) on
 
383
        secret keyring files to be extra safe on filesystems that may not
 
384
        sync data and metadata together (ext4).  Also check return code
 
385
        from the cache invalidation to make sure we're safe over NFS and
 
386
        similar.
 
387
 
 
388
2009-03-14  David Shaw  <dshaw@jabberwocky.com>
 
389
 
 
390
        * gpgv.c (strusage): Fix name of program in "Syntax" line.
 
391
 
 
392
2009-02-09  Werner Koch  <wk@g10code.com>
 
393
 
 
394
        * keylist.c (print_capabilities): Take care of cert-only keys.
 
395
        Fixes bug#998.
 
396
 
 
397
2009-02-03  David Shaw  <dshaw@jabberwocky.com>
 
398
 
 
399
        * keyserver.c (keyserver_typemap): gpgkeys_hkp handles hkps as
 
400
        well.
 
401
 
 
402
2008-12-21  David Shaw  <dshaw@jabberwocky.com>
 
403
 
 
404
        * gpg.c (main): Properly handle UTF8 usernames with --sign-key and
 
405
        --lsign-key.
 
406
 
 
407
2008-12-11  Werner Koch  <wk@g10code.com>
 
408
 
 
409
        * sig-check.c (check_revocation_keys): Close message digest.
 
410
        (signature_check2): Switch to SHA-1 for SIG_ID computation.  This
 
411
        is to match 2.0.10.
 
412
 
 
413
2008-12-09  Werner Koch  <wk@g10code.com>
 
414
 
 
415
        * keygen.c (proc_parameter_file): Check that key and subkey usages
 
416
        are allowed.
 
417
 
 
418
2008-11-18  David Shaw  <dshaw@jabberwocky.com>
 
419
 
 
420
        * trustdb.c (validate_one_keyblock): Fix the trust signature
 
421
        calculations so that we lower the trust depth of signatures to fit
 
422
        within the current chain, rather than discarding any signature
 
423
        that does not fit within the trust depth.
 
424
 
 
425
2008-10-03  David Shaw  <dshaw@jabberwocky.com>
 
426
 
 
427
        * main.h, mainproc.c (check_sig_and_print),
 
428
         keylist.c (list_keyblock_print), pkclist.c (do_edit_ownertrust),
 
429
         keyedit.c (menu_showphoto), photoid.c (generate_photo_id,
 
430
         show_photos), misc.c (pct_expando): Add %v and %V expandos so
 
431
         that displaying photo IDs can show the attribute validity
 
432
         tag (%v) and string (%V).  Originally by Daniel Gillmor.
 
433
 
 
434
2008-09-24  David Shaw  <dshaw@jabberwocky.com>
 
435
 
 
436
        * keyedit.c (keyedit_menu): Fix bug where a modified keyring loses
 
437
        its modified status after a "clean" or "minimize" that doesn't
 
438
        need to do anything.
 
439
 
 
440
2008-09-23  David Shaw  <dshaw@jabberwocky.com>
 
441
 
 
442
        * pkclist.c (select_algo_from_prefs): Redo function to rank prefs
 
443
        and pick a consensus winner across all keys.
 
444
 
 
445
2008-09-04  David Shaw  <dshaw@jabberwocky.com>
 
446
 
 
447
        * keyserver.c (keyserver_import_cert): Allow keyserver URLs in
 
448
        addition to full URLs in CERT records.
 
449
 
 
450
2008-08-11  Werner Koch  <wk@g10code.com>
 
451
 
 
452
        * keygen.c (ask_expire_interval): Check for time overflow of an
 
453
        u32.  Fixes bug #947.  Use SIZEOF_TIME_T for the 2039--2106 check.
 
454
 
 
455
2008-08-01  Werner Koch  <wk@g10code.com>
 
456
 
 
457
        * tdbio.c (open_db) [!EROFS]: Move closing parens out of the
 
458
        ifdef.  Reported by Ken Takusagawa.
 
459
 
 
460
2008-04-30  Werner Koch  <wk@g10code.com>
 
461
 
 
462
        * getkey.c (parse_auto_key_locate): Ignore nodefault and local
 
463
        methods.
 
464
 
 
465
2008-04-17  David Shaw  <dshaw@jabberwocky.com>
 
466
 
 
467
        * parse-packet.c (parse_key): Add constant for Camellia-192.
 
468
 
 
469
2008-04-12  David Shaw  <dshaw@jabberwocky.com>
 
470
 
 
471
        * getkey.c (merge_selfsigs_subkey): If there are multiple 0x19
 
472
        backsigs, take the most recent one.
 
473
 
 
474
2008-03-25  Werner Koch  <wk@g10code.com>
 
475
 
 
476
        * keyserver.c (parse_keyrec): Take care of char defaulting to
 
477
        unsigned when using hextobyte.
 
478
 
 
479
        * options.skel: Make the default keyserver keys.gnupg.net.
 
480
 
 
481
2008-03-23  David Shaw  <dshaw@jabberwocky.com>
 
482
 
 
483
        * import.c (collapse_uids): Fix bug 894: possible memory
 
484
        corruption around deduplication of user IDs.
 
485
 
 
486
2008-03-17  David Shaw  <dshaw@jabberwocky.com>
 
487
 
 
488
        * parse-packet.c (parse_key): Parse a secret key encrypted with
 
489
        Camellia.
 
490
 
 
491
2008-02-09  Marcus Brinkmann  <marcus@g10code.de>
 
492
 
 
493
        * gpg.c (main): New variable default_configname.  Use it if
 
494
        save_configname is NULL (can happen if default configfile does
 
495
        not exist).  Move default configname determination to ...
 
496
        (get_default_configname): ... this new function.
 
497
 
 
498
2008-01-26  Werner Koch  <wk@g10code.com>
 
499
 
 
500
        * card-util.c (get_manufacturer): Add vendor 004 and support for
 
501
        the unmanaged range.
 
502
 
 
503
2007-12-14  Werner Koch  <wk@g10code.com>
 
504
 
 
505
        * gpg.c (main): Set opt.no_homedir_creation already on the first
 
506
        option parsing pass.  This is required so that the gpg_dearmor
 
507
        tool won't create a ~/.gnupg.
 
508
 
 
509
2007-12-12  Werner Koch  <wk@g10code.com>
 
510
 
 
511
        * misc.c (print_pubkey_algo_note): Print a warning for type 20 keys.
 
512
        (openpgp_pk_test_algo, openpgp_pk_algo_usage): Allow type 20 fro
 
513
        encryption only with option --rfc2440.
 
514
        * mainproc.c (proc_pubkey_enc): Ditto.
 
515
 
 
516
2007-12-12  David Shaw  <dshaw@jabberwocky.com>
 
517
 
 
518
        * trustdb.c (sanitize_regexp): New.  Protect against dangerous
 
519
        regexps (malloc bombs) by force-commenting any characters aside
 
520
        from the ones we explicitly want.
 
521
        (check_regexp): Use it here before passing the regexp to
 
522
        regcomp().
 
523
 
 
524
2007-12-11  Werner Koch  <wk@g10code.com>
 
525
 
 
526
        * mainproc.c (proc_pubkey_enc): Allow type 20 Elgamal key for
 
527
        decryption.
 
528
 
 
529
2007-12-10  Werner Koch  <wk@g10code.com>
 
530
 
 
531
        * cardglue.h (gpg_error_from_syserror): New.
 
532
 
 
533
        * app-openpgp.c (do_decipher): Take care of cryptograms shorter
 
534
        that 128 bytes.  Fixes bug#851.
 
535
 
 
536
        * import.c (auto_create_card_key_stub):  Do not clear the entire
 
537
        fingerprint.  This finally makes the stub creation work.  My past
 
538
        tests seemed to work because there was a key with a all zero
 
539
        fingerprint available (Elgamal signing keys).
 
540
 
 
541
2007-12-08  Werner Koch  <wk@g10code.com>
 
542
 
 
543
        * misc.c (openpgp_pk_algo_usage): Allow Elgamal type 20 for
 
544
        encryption.
 
545
 
 
546
2007-12-03  Werner Koch  <wk@g10code.com>
 
547
 
 
548
        * keygen.c (ask_key_flags): Add a translation remark and implement
 
549
        a workaround.
 
550
 
 
551
2007-11-28  David Shaw  <dshaw@jabberwocky.com>
 
552
 
 
553
        * sig-check.c (do_check): Code to try both the incorrect and
 
554
        correct SHA-224 DER prefixes when verifying a signature.  See the
 
555
        change itself for more discussion.
 
556
 
 
557
        * main.h, seskey.c (do_encode_md): Rename to pkcs1_encode_md and
 
558
        make non-static.
 
559
 
 
560
        * gpg.c (print_algo_names): New.
 
561
        (list_config): Use it here for the "ciphername" and "digestname"
 
562
        config items so we can get a script-parseable list of the names.
 
563
 
 
564
2007-11-19  Werner Koch  <wk@g10code.com>
 
565
 
 
566
        * keyedit.c (keyedit_menu): String grammar fix.
 
567
 
 
568
2007-11-12  Werner Koch  <wk@g10code.com>
 
569
 
 
570
        * status.c (do_get_from_fd, do_shm_get): s/bool/getbool/ to
 
571
        overcome problems with Mac OS 10.5 which seems to include
 
572
        stdbool.h silently.
 
573
 
 
574
2007-10-27  David Shaw  <dshaw@jabberwocky.com>
 
575
 
 
576
        * parse-packet.c (parse_onepass_sig): Sigclass is hex, so include
 
577
        the 0x.
 
578
 
 
579
        * keyserver.c (keyserver_spawn): Cosmetic, but looks cleaner.
 
580
 
 
581
2007-10-23  Werner Koch  <wk@g10code.com>
 
582
 
 
583
        Switched entire package to GPLv3+.
 
584
 
 
585
2007-10-22  David Shaw  <dshaw@jabberwocky.com>
 
586
 
 
587
        * gpg.c (main): Add --require-cross-certification to
 
588
        --openpgp/--rfc4880 mode.
 
589
 
 
590
        * gpg.c (main): Disable --rfc2440-text and --force-v3-sigs by
 
591
        default.  Enable --require-cross-certification by default.
 
592
        --openpgp (--rfc4880) is the same as --rfc2440 except with
 
593
        "--enable-dsa2 --no-rfc2440-text --escape-from-lines".
 
594
 
 
595
2007-10-21  David Shaw  <dshaw@jabberwocky.com>
 
596
 
 
597
        * misc.c (compliance_option_string, compliance_failure): Minor
 
598
        cleanup.
 
599
 
 
600
        * armor.c (is_armor_header): Comment about 4880.
 
601
 
 
602
2007-10-17  David Shaw  <dshaw@jabberwocky.com>
 
603
 
 
604
        * options.h, gpg.c (main), misc.c (compliance_option_string): Add
 
605
        --rfc4880, and make --openpgp an alias to it.  --rfc2440 now
 
606
        stands alone.  For now, use the old 2440 defaults for 4880.
 
607
 
 
608
        * keyedit.c (keyedit_menu): Use compliance_option_string() instead
 
609
        of printing the compliance modes here.
 
610
 
 
611
2007-09-02  David Shaw  <dshaw@jabberwocky.com>
 
612
 
 
613
        * import.c (collapse_uids): Significant speedup for de-duping user
 
614
        IDs.
 
615
 
 
616
2007-08-24  Werner Koch  <wk@g10code.com>
 
617
 
 
618
        * keyring.c (keyring_register_filename): Use same_file_p.
 
619
        Suggested by Kurt Fitzner.
 
620
 
 
621
2007-07-19  David Shaw  <dshaw@jabberwocky.com>
 
622
 
 
623
        * gpg.c (main): Fix typo.  Noted by John Clizbe.
 
624
 
 
625
        * armor.c (parse_header_line): Improve test so that the header
 
626
        test only allows "Hash" in the signed data section.
 
627
 
 
628
2007-07-18  David Shaw  <dshaw@jabberwocky.com>
 
629
 
 
630
        * armor.c (is_armor_tag): New.  Detect if an armor header matches
 
631
        2440bis-21.
 
632
        (parse_header_line): Call it here, as bis-21 requires warning the
 
633
        user (but continuing to process the message) when seeing an
 
634
        unknown header.
 
635
 
 
636
2007-07-09  Werner Koch  <wk@g10code.com>
 
637
 
 
638
        * gpg.c: Better print an extra warning if Camellia has been
 
639
        configured.
 
640
 
 
641
2007-07-06  David Shaw  <dshaw@jabberwocky.com>
 
642
 
 
643
        * encode.c (encode_crypt): Missed one call to
 
644
        setup_plaintext_name().  This is bug#809.
 
645
 
 
646
2007-06-12  David Shaw  <dshaw@jabberwocky.com>
 
647
 
 
648
        * sign.c (mk_notation_policy_etc): expect all sigs that this is
 
649
        called for are >=v4.
 
650
        (write_signature_packets, make_keysig_packet): Only call it for
 
651
        >=v4 sigs.  This allows --force-v3-sigs and --force-v4-certs to
 
652
        enable or disable notations, policies, and keyserver URLs.  This
 
653
        is bug#800.
 
654
 
 
655
2007-05-09  Werner Koch  <wk@g10code.com>
 
656
 
 
657
        * openfile.c (overwrite_filep, open_outfile) [W32]: Need to use
 
658
        just "nul".  Though, I am pretty sure that some MSDOS versions
 
659
        grok the extra /dev/.
 
660
 
 
661
2007-05-07  Werner Koch  <wk@g10code.com>
 
662
 
 
663
        * openfile.c (open_outfile, overwrite_filep) [W32]: Use "/dev/nul".
 
664
 
 
665
2007-04-16  David Shaw  <dshaw@jabberwocky.com>
 
666
 
 
667
        * packet.h, mainproc.c (reset_literals_seen): New function to
 
668
        reset the literals count.
 
669
 
 
670
        * verify.c (verify_one_file), decrypt.c (decrypt_messages): Call
 
671
        it here so we allow multiple literals in --multifile mode (in
 
672
        different files - not concatenated together).
 
673
 
 
674
        * gpg.c, pkclist.c: #include <strings.h> for strcasecmp if it is
 
675
        present.  Note that autoconf protects us against a strings.h that
 
676
        cannot be used together with string.h.
 
677
 
 
678
2007-04-03  David Shaw  <dshaw@jabberwocky.com>
 
679
 
 
680
        * parse-packet.c (parse_marker): New.  Enforce that the marker
 
681
        contains 'P', 'G', 'P', and nothing but.
 
682
        (parse): Call it here.
 
683
        (skip_packet): No longer need to handle marker packets here.
 
684
 
 
685
2007-03-14  David Shaw  <dshaw@jabberwocky.com>
 
686
 
 
687
        * keyserver.c: Windows Vista doesn't grok X_OK and so fails
 
688
        access() tests.  Previous versions interpreted X_OK as F_OK
 
689
        anyway, so we'll just use F_OK directly.
 
690
 
 
691
2007-03-08  Werner Koch  <wk@g10code.com>
 
692
 
 
693
        * plaintext.c (handle_plaintext): Add two extra fflush for stdout.
 
694
 
 
695
2007-03-06  David Shaw  <dshaw@jabberwocky.com>
 
696
 
 
697
        * keyedit.c (keyedit_menu): If we modify the keyblock (via
 
698
        fix_keyblock() or collapse_uids()) make sure we reprocess the
 
699
        keyblock so the flags are correct.  Noted by Robin H. Johnson.
 
700
 
 
701
        * getkey.c (fixup_uidnode): Properly clear flags that don't apply
 
702
        to us (revoked, expired) so that we can reprocess a uid.
 
703
 
 
704
2007-03-01  David Shaw  <dshaw@jabberwocky.com>
 
705
 
 
706
        * options.h, gpg.c (main), mainproc.c (check_sig_and_print): Allow
 
707
        multiple sig verification again as this is protected via the
 
708
        multiple-messages code.
 
709
 
 
710
2007-02-26  Werner Koch  <wk@g10code.com>
 
711
 
 
712
        * gpg.c (main): Add verify option show-primary-uid-only.
 
713
        * options.h (VERIFY_SHOW_PRIMARY_UID_ONLY): New.
 
714
        * mainproc.c (check_sig_and_print): Implement it.
 
715
 
 
716
        * status.h (STATUS_ERROR): New status code.
 
717
        * status.c (get_status_string): Ditto.
 
718
        * mainproc.c (proc_plaintext): Emit it if multiple messages are
 
719
        detected.
 
720
 
 
721
2007-02-20  David Shaw  <dshaw@jabberwocky.com>
 
722
 
 
723
        * mainproc.c (literals_seen): New.
 
724
        (proc_plaintext): Error out if more than one plaintext packet is
 
725
        encountered
 
726
 
 
727
        * options.h, gpg.c: New option --allow-multiple-messages and --no
 
728
        variant.
 
729
 
 
730
2007-02-13  David Shaw  <dshaw@jabberwocky.com>
 
731
 
 
732
        * parse-packet.c (parse_signature): It's hex.
 
733
 
 
734
        * getkey.c (merge_selfsigs_subkey): Avoid listing the contents of
 
735
        a backsig when list mode is on.  Noted by Timo Schulz.
 
736
 
 
737
2007-02-04  Werner Koch  <wk@g10code.com>
 
738
 
 
739
        * parse-packet.c (parse_signature): Limit bytes read for an
 
740
        unknown alogorithm.  Fixes Debian bug#402592.
 
741
 
 
742
2007-02-01  David Shaw  <dshaw@jabberwocky.com>
 
743
 
 
744
        * main.h, keygen.c (ask_expire_interval, parse_expire_string):
 
745
        Pass in the time to use to calculate the expiration offset, rather
 
746
        than querying it internally.  Change all callers.
 
747
 
 
748
2007-01-31  David Shaw  <dshaw@jabberwocky.com>
 
749
 
 
750
        * keygen.c (do_generate_keypair, proc_parameter_file)
 
751
        (generate_keypair, generate_subkeypair): Pass a timestamp through
 
752
        to all the gen_xxx functions.
 
753
 
 
754
        * keyedit.c (sign_uids): Another multiple to single timestamp
 
755
        operation.
 
756
 
 
757
        * sign.c (write_plaintext_packet): Take timestamp from outside.
 
758
        Change all callers.
 
759
        (sign_file, clearsign_file, sign_symencrypt_file): Calculate one
 
760
        timestamp for the whole transaction.  Different timestamps for
 
761
        each step can leak performance information.
 
762
 
 
763
        * main.h, keygen.c (ask_expiredate), keyedit.c (menu_expire):
 
764
        Remove the need for ask_expiredate().
 
765
 
 
766
2007-01-30  David Shaw  <dshaw@jabberwocky.com>
 
767
 
 
768
        * keygen.c (make_backsig, write_direct_sig, write_selfsigs)
 
769
        (write_keybinding): Have the various selfsigs created during key
 
770
        generation use the timestamp of their parent key.  This helps
 
771
        avoid leaking information about the performance of the machine
 
772
        where the keys were generated.  Noted by Christian Danner.
 
773
 
 
774
2007-01-15  Werner Koch  <wk@g10code.com>
 
775
 
 
776
        * parse-packet.c (read_protected_v3_mpi): Make sure to stop
 
777
        reading even for corrupted packets.
 
778
        * keygen.c (generate_user_id): Need to allocate one byte more.
 
779
        Reported by Felix von Leitner.
 
780
 
 
781
2006-12-14  David Shaw  <dshaw@jabberwocky.com>
 
782
 
 
783
        * options.skel: Tweak some examples to match reality and update
 
784
        the RFC for CERT now that it is out of draft.
 
785
 
 
786
2006-12-13  David Shaw  <dshaw@jabberwocky.com>
 
787
 
 
788
        * Makefile.am: Install options.skel via dist_pkgdata_DATA so that
 
789
        "make uninstall" works properly.
 
790
 
 
791
2006-12-13  Werner Koch  <wk@g10code.com>
 
792
 
 
793
        * gpgv.c, gpg.c: Do not include the now removed g10defs.h file.
 
794
 
 
795
2006-12-11  Werner Koch  <wk@g10code.com>
 
796
 
 
797
        * seskey.c (encode_session_key, do_encode_md): Use new
 
798
        mpi_nlimb_hint_from_nbytes function.
 
799
        * sign.c (do_sign): Ditto.
 
800
 
 
801
        * Makefile.am (AM_CPPFLAGS): Define GNUPG_LIBDIR.
 
802
        * gpgv.c (i18n_init): s/G10_LOCALEDIR/LOCALEDIR/.
 
803
        * gpg.c (i18n_init): Ditto.
 
804
 
 
805
2006-12-07  Werner Koch  <wk@g10code.com>
 
806
 
 
807
        * Makefile.am (AM_CPPFLAGS): Define GNUPG_DATADIR.
 
808
        * openfile.c (copy_options_file): Use log_info and not log_error
 
809
        to avoid error returns in case of a missing skeleton file.
 
810
 
 
811
2006-12-04  Werner Koch  <wk@g10code.com>
 
812
 
 
813
        * filter.h (armor_filter_context_t): New field REFCOUNT.
 
814
        * armor.c (new_armor_context, release_armor_context)
 
815
        (push_armor_filter): New.
 
816
        (armor_filter): Call releae_armor_context for IOBUFCTRL_FREE.
 
817
        * import.c (import): Use the new function here instead of the
 
818
        old hack using the iobuf_push_filter2.
 
819
        * keyserver.c (keyserver_spawn): Ditto.
 
820
 
 
821
2006-12-03  Werner Koch  <wk@g10code.com>
 
822
 
 
823
        * keyedit.c (menu_clean): Made strings translatable.
 
824
 
 
825
2006-12-03  David Shaw  <dshaw@jabberwocky.com>
 
826
 
 
827
        * keyedit.c (menu_clean): Show "already minimized" rather than
 
828
        "already clean" when a minimized key is minimized again.  From
 
829
        Dirk Traulsen.
 
830
 
 
831
2006-12-02  David Shaw  <dshaw@jabberwocky.com>
 
832
 
 
833
        * options.h, gpg.c (main), passphrase.c (passphrase_to_dek): Add
 
834
        --passphrase-repeat option to control how many times gpg will
 
835
        re-prompt for a passphrase to ensure the user has typed it
 
836
        correctly.  Defaults to 1.
 
837
 
 
838
2006-12-02  Werner Koch  <wk@g10code.com>
 
839
 
 
840
        * encr-data.c: Allocate DFX context on the heap and not on the
 
841
        stack.  Changes at several places.  Fixes CVE-2006-6235.
 
842
 
 
843
2006-11-27  Werner Koch  <wk@g10code.com>
 
844
 
 
845
        * openfile.c (ask_outfile_name): Fixed buffer overflow occurring
 
846
        if make_printable_string returns a longer string.  Fixes bug 728.
 
847
 
 
848
2006-10-23  Werner Koch  <wk@g10code.com>
 
849
 
 
850
        * gpg.c (main): New command --gpgconf-list.
 
851
 
 
852
2006-10-12  David Shaw  <dshaw@jabberwocky.com>
 
853
 
 
854
        * parse-packet.c (parse_symkeyenc): Show the unpacked as well as
 
855
        the packed s2k iteration count.
 
856
 
 
857
        * main.h, options.h, gpg.c (encode_s2k_iterations, main),
 
858
        passphrase.c (hash_passphrase): Add --s2k-count option to specify
 
859
        the number of s2k hash iterations.
 
860
 
 
861
2006-10-06  David Shaw  <dshaw@jabberwocky.com>
 
862
 
 
863
        * keyserver.c (keyserver_spawn): Write the 16-digit keyid rather
 
864
        than whatever key selector the user used on the command line.
 
865
 
 
866
2006-10-02  Werner Koch  <wk@g10code.com>
 
867
 
 
868
        * encr-data.c (decrypt_data, mdc_decode_filter): Check the MDC
 
869
        right here and don't let parse-packet handle the MDC.
 
870
 
 
871
2006-08-21  Werner Koch  <wk@g10code.com>
 
872
 
 
873
        * skclist.c (is_insecure): Also test for uppercase version of the
 
874
        insecure string.
 
875
 
 
876
2006-07-31  Werner Koch  <wk@g10code.com>
 
877
 
 
878
        * openfile.c (open_outfile) [USE_ONLY_8DOT3]: Search backwards for
 
879
        the dot.  Fixes bug 654.
 
880
 
 
881
        * passphrase.c (agent_open): Use log_info instead of log_error to
 
882
        allow a fallback without having gpg return an error code.  Fixes
 
883
        bug #655.
 
884
 
 
885
        * encode.c (encode_crypt_files): Invalidate the whole fd cache.
 
886
        This is a workaround for problems in iobuf's stupid fd cache.
 
887
        * decrypt.c (decrypt_messages): Ditto.
 
888
        * verify.c (verify_files): Ditto.
 
889
 
 
890
2006-07-26  Werner Koch  <wk@g10code.com>
 
891
 
 
892
        * keygen.c (gen_card_key_with_backup): Initialize sk_{un}protected.
 
893
 
 
894
        * import.c (import): Initialize KEYBLOCK.
 
895
 
 
896
        * pkclist.c (edit_ownertrust): Intialize trust to avoid gcc
 
897
        warning.
 
898
 
 
899
        * parse-packet.c (parse_comment): Cap comments at 65k.
 
900
        (parse_gpg_control): Skip too large control packets.
 
901
 
 
902
2006-06-28  David Shaw  <dshaw@jabberwocky.com>
 
903
 
 
904
        * keydb.h, pkclist.c (select_algo_from_prefs, algo_available):
 
905
        Pass a union for preference hints rather than doing void * games.
 
906
 
 
907
        * sign.c (sign_file): Use it here.
 
908
 
 
909
        * sign.c (sign_file): When signing with multiple DSA keys, one
 
910
        being DSA1 and one being DSA2 and encrypting at the same time, if
 
911
        the recipient preferences give a hash that can work with the DSA2
 
912
        key, then allow the DSA1 key to be promoted rather than giving up
 
913
        and using hash_for().
 
914
 
 
915
        * pkclist.c (algo_available): Automatically enable DSA2 mode when
 
916
        handling a key that clearly isn't DSA1 (i.e. q!=160).
 
917
 
 
918
2006-06-28  Werner Koch  <wk@g10code.com>
 
919
 
 
920
        * import.c (check_prefs_warning): Fix change for better
 
921
        translatability.
 
922
 
 
923
        * app-openpgp.c (do_writekey): Fixed computation of memmove
 
924
        length.  This led to garbled keys if E was larger than one byte.
 
925
        Thanks to Achim Pietig for hinting at the garbled E.
 
926
 
 
927
2006-06-27  Werner Koch  <wk@g10code.com>
 
928
 
 
929
        * gpg.c (reopen_std) [HAVE_W32_SYSTEM]: Do not use it.
 
930
 
 
931
2006-06-22  David Shaw  <dshaw@jabberwocky.com>
 
932
 
 
933
        * options.h, gpg.c (main), keygen.c (keygen_upd_std_prefs,
 
934
        keygen_add_std_prefs, proc_parameter_file): Add
 
935
        --default-keyserver-url to specify a keyserver URL at key
 
936
        generation time, and "Keyserver:" keyword for doing the same
 
937
        through a batch file.
 
938
 
 
939
        * sign.c (do_sign): Accept a truncated hash even for DSA1 keys (be
 
940
        liberal in what you accept, etc).
 
941
 
 
942
2006-06-12  David Shaw  <dshaw@jabberwocky.com>
 
943
 
 
944
        * import.c (import_one): Add a flag (from_sk) so we don't check
 
945
        prefs on an autoconverted public key.  The check should only
 
946
        happen on the sk side.  Noted by Dirk Traulsen.
 
947
 
 
948
2006-06-09  David Shaw  <dshaw@jabberwocky.com>
 
949
 
 
950
        * keygen.c (gen_card_key): Add optional argument to return a
 
951
        pointer (not a copy) of the stub secret key for the secret key we
 
952
        just generated on the card.
 
953
        (generate_card_subkeypair): Use it here so that the signing key on
 
954
        the card can use the card to generate the 0x19 backsig on the
 
955
        primary key.  Noted by Janko Heilgeist and Jonas Oberg.
 
956
 
 
957
        * parse-packet.c (parse_user_id): Cap the user ID size at 2048
 
958
        bytes.  This prevents a memory allocation attack with a very large
 
959
        user ID.  A very large packet length could even cause the
 
960
        allocation (a u32) to wrap around to a small number.  Noted by
 
961
        Evgeny Legerov on full-disclosure.
 
962
 
 
963
2006-05-25  David Shaw  <dshaw@jabberwocky.com>
 
964
 
 
965
        * keygen.c (gen_dsa): Allow generating DSA2 keys
 
966
        (allow specifying sizes > 1024 when --enable-dsa2 is set).  The
 
967
        size of q is set automatically based on the key size.
 
968
        (ask_keysize, generate_keypair): Ask for DSA size when
 
969
        --enable-dsa2 is set.
 
970
 
 
971
2006-05-24  David Shaw  <dshaw@jabberwocky.com>
 
972
 
 
973
        * exec.c (make_tempdir): Fix bug with a temporary directory on
 
974
        Win32 that is over 256 bytes long.  Noted by Israel G. Lugo.
 
975
 
 
976
2006-05-23  David Shaw  <dshaw@jabberwocky.com>
 
977
 
 
978
        * gpg.c (reopen_std): New function to reopen fd 0, 1, or 2 if we
 
979
        are called with them closed.  This is to protect our
 
980
        keyring/trustdb files from corruption if they get attached to one
 
981
        of the standard fds.  Print a warning if possible that this has
 
982
        happened, and fail completely if we cannot reopen (should never
 
983
        happen).
 
984
        (main): Call it here.
 
985
 
 
986
2006-05-22  David Shaw  <dshaw@jabberwocky.com>
 
987
 
 
988
        * parse-packet.c (dump_sig_subpkt, parse_signature),
 
989
        build-packet.c (build_sig_subpkt_from_sig), getkey.c
 
990
        (fixup_uidnode, merge_selfsigs_main, merge_selfsigs_subkey),
 
991
        keygen.c (keygen_add_key_expire): Fix meaning of key expiration
 
992
        and sig expiration subpackets - zero means "never expire"
 
993
        according to 2440, not "expire instantly".
 
994
 
 
995
        * getkey.c (get_pubkey_byname), import.c (import_one): Fix key
 
996
        selection problem when auto-key-locate returns a list of keys, not
 
997
        all of which are usable (revoked, expired, etc).  Noted by Simon
 
998
        Josefsson.
 
999
 
 
1000
2006-04-26  David Shaw  <dshaw@jabberwocky.com>
 
1001
 
 
1002
        * keyserver.c (direct_uri_map): New.
 
1003
        (keyserver_spawn): Used here to add "_uri" to certain gpgkeys_xxx
 
1004
        helpers when the meaning is different if a path is provided
 
1005
        (i.e. ldap).
 
1006
        (keyserver_import_cert): Show warning if there is a CERT
 
1007
        fingerprint, but no --keyserver set.
 
1008
 
 
1009
2006-04-22  David Shaw  <dshaw@jabberwocky.com>
 
1010
 
 
1011
        * keyserver.c: Fix build problem with platforms that stick libcurl
 
1012
        in a place not in the regular include search path.
 
1013
 
 
1014
2006-04-20  David Shaw  <dshaw@jabberwocky.com>
 
1015
 
 
1016
        * options.h, gpg.c (main): Add --enable-dsa2 and --disable-dsa2.
 
1017
        Defaults to disable.
 
1018
 
 
1019
        * pkclist.c (algo_available): If --enable-dsa2 is set, we're
 
1020
        allowed to truncate hashes to fit DSA keys.
 
1021
 
 
1022
        * sign.c (match_dsa_hash): New.  Return the best match hash for a
 
1023
        given q size.
 
1024
        (do_sign, hash_for, sign_file): When signing with a DSA key, if it
 
1025
        has q==160, assume it is an old DSA key and don't allow truncation
 
1026
        unless --enable-dsa2 is also set.  q!=160 always allows truncation
 
1027
        since they must be DSA2 keys.
 
1028
        (make_keysig_packet): If the user doesn't specify a
 
1029
        --cert-digest-algo, use match_dsa_hash to pick the best hash for
 
1030
        key signatures.
 
1031
 
 
1032
2006-04-19  David Shaw  <dshaw@jabberwocky.com>
 
1033
 
 
1034
        * gpg.c (print_mds), armor.c (armor_filter, parse_hash_header):
 
1035
        Add SHA-224.
 
1036
 
 
1037
        * sign.c (write_plaintext_packet), encode.c (encode_simple):
 
1038
        Factor common literal packet setup code from here, to...
 
1039
 
 
1040
        * main.h, plaintext.c (setup_plaintext_name): Here. New. Make sure
 
1041
        the literal packet filename field is UTF-8 encoded.
 
1042
 
 
1043
        * options.h, gpg.c (main): Make sure --set-filename is UTF-8
 
1044
        encoded and note when filenames are already UTF-8.
 
1045
 
 
1046
2006-04-18  David Shaw  <dshaw@jabberwocky.com>
 
1047
 
 
1048
        * keyedit.c (menu_backsign): Give some more verbose errors when we
 
1049
        have no need to backsign.
 
1050
 
 
1051
2006-04-11  David Shaw  <dshaw@jabberwocky.com>
 
1052
 
 
1053
        * options.skel, photoid.c (get_default_photo_command): Find an
 
1054
        image viewer at runtime.  Seems FC5 doesn't have xloadimage.
 
1055
 
 
1056
2006-04-08  David Shaw  <dshaw@jabberwocky.com>
 
1057
 
 
1058
        * getkey.c (parse_auto_key_locate): Fix dupe-removal code.
 
1059
 
 
1060
        * keyedit.c (menu_backsign): Allow backsigning even if the secret
 
1061
        subkey doesn't have a binding signature.
 
1062
 
 
1063
        * armor.c (radix64_read): Don't report EOF when reading only a pad
 
1064
        (=) character.  The EOF actually starts after the pad.
 
1065
 
 
1066
        * gpg.c (main): Make --export, --send-keys, --recv-keys,
 
1067
        --refresh-keys, and --fetch-keys follow their arguments from left
 
1068
        to right.  Suggested by Peter Palfrader.
 
1069
 
 
1070
2006-04-08  Werner Koch  <wk@g10code.com>
 
1071
 
 
1072
        * mainproc.c (list_node): Print ring trust value only if not empty
 
1073
        and --with-colons has been given.
 
1074
 
 
1075
2006-04-05  Werner Koch  <wk@g10code.com>
 
1076
 
 
1077
        * getkey.c (user_id_not_found_utf8): New.
 
1078
        (get_primary_uid, get_user_id): Use it.  Fixes Debian bug #205028
 
1079
        in the right way.
 
1080
 
 
1081
2006-04-03  Werner Koch  <wk@g10code.com>
 
1082
 
 
1083
        * import.c (check_prefs_warning): Merged strings for better
 
1084
        translation.
 
1085
 
 
1086
        * gpg.c (main) [__GLIBC__]: Default to libpcsclite.so.1.
 
1087
 
 
1088
        * status.h, status.c (STATUS_BEGIN_SIGNING): New.  Suggested by
 
1089
        Daiki Ueno.
 
1090
        * textfilter.c (copy_clearsig_text): Issue new status code.
 
1091
        * sign.c (sign_file, sign_symencrypt_file): Ditto.
 
1092
 
 
1093
2006-03-31  David Shaw  <dshaw@jabberwocky.com>
 
1094
 
 
1095
        * getkey.c (get_pubkey_byname): Fix missing auto_key_retrieve
 
1096
        unlock.  Fix strings to not start with a capital letter as per
 
1097
        convention.
 
1098
 
 
1099
2006-03-30  David Shaw  <dshaw@jabberwocky.com>
 
1100
 
 
1101
        * main.h, seskey.c (encode_md_value): Modify to allow a q size
 
1102
        greater than 160 bits as per DSA2.  This will allow us to verify
 
1103
        and issue DSA2 signatures for some backwards compatibility once we
 
1104
        start generating DSA2 keys.
 
1105
        * sign.c (do_sign), sig-check.c (do_check): Change all callers.
 
1106
 
 
1107
        * sign.c (do_sign): Enforce the 160-bit check for new signatures
 
1108
        here since encode_md_value can handle non-160-bit digests now.
 
1109
        This will need to come out once the standard for DSA2 is firmed
 
1110
        up.
 
1111
 
 
1112
2006-03-28  Werner Koch  <wk@g10code.com>
 
1113
 
 
1114
        * openfile.c (overwrite_filep): Fix small cpr issue.  Noted by
 
1115
        Daiki Ueno.
 
1116
 
 
1117
2006-03-22  David Shaw  <dshaw@jabberwocky.com>
 
1118
 
 
1119
        * getkey.c (parse_auto_key_locate): Silently strip out duplicates
 
1120
        rather than causing an error.
 
1121
 
 
1122
2006-03-22  Werner Koch  <wk@g10code.com>
 
1123
 
 
1124
        * sig-check.c (signature_check2): Changed warning URL to include faq.
 
1125
        * misc.c (idea_cipher_warn): Ditto.
 
1126
 
 
1127
2006-03-22  David Shaw  <dshaw@jabberwocky.com>
 
1128
 
 
1129
        * mainproc.c (get_pka_address): Fix bug introduced as part of
 
1130
        sig_to_notation conversion.  Noted by Peter Palfradrer.
 
1131
 
 
1132
2006-03-21  Werner Koch  <wk@g10code.com>
 
1133
 
 
1134
        * cardglue.c (agent_scd_pksign): Allow the use of ripemd-160 along
 
1135
        with scdaemon.
 
1136
 
 
1137
2006-03-16  David Shaw  <dshaw@jabberwocky.com>
 
1138
 
 
1139
        * keyserver.c (keyserver_import_cert): Handle the IPGP CERT type
 
1140
        for both the fingerprint alone, and fingerprint+URL cases.
 
1141
 
 
1142
        * getkey.c (get_pubkey_byname): Minor cleanup.
 
1143
 
 
1144
2006-03-13  David Shaw  <dshaw@jabberwocky.com>
 
1145
 
 
1146
        * keyserver-internal.h, keyserver.c (keyserver_import_pka): Use
 
1147
        the same API as the other auto-key-locate fetchers.
 
1148
 
 
1149
        * getkey.c (get_pubkey_byname): Use the fingerprint of the key
 
1150
        that we actually fetched.  This helps prevent problems where the
 
1151
        key that we fetched doesn't have the same name that we used to
 
1152
        fetch it.  In the case of CERT and PKA, this is an actual security
 
1153
        requirement as the URL might point to a key put in by an attacker.
 
1154
        By forcing the use of the fingerprint, we won't use the attacker's
 
1155
        key here.
 
1156
 
 
1157
        * keyserver-internal.h, keyserver.c (keyserver_spawn,
 
1158
        keyserver_work, keyserver_import_cert, keyserver_import_name,
 
1159
        keyserver_import_ldap): Pass fingerprint info through.
 
1160
 
 
1161
        * main.h, import.c (import_one): Optionally return the fingerprint
 
1162
        of the key being imported.
 
1163
        (import_keys_internal, import_keys_stream, import): Change all
 
1164
        callers.
 
1165
 
 
1166
2006-03-12  David Shaw  <dshaw@jabberwocky.com>
 
1167
 
 
1168
        * sig-check.c (signature_check2): Print the backsig warning when
 
1169
        there is no backsig present.  Give a URL for more information.
 
1170
 
 
1171
        * keyedit.c (menu_backsign): Small tweak to work properly with
 
1172
        keys originally generated with older GnuPGs that included comments
 
1173
        in the secret keys.
 
1174
 
 
1175
2006-03-10  Werner Koch  <wk@g10code.com>
 
1176
 
 
1177
        * card-util.c (get_manufacturer): Added Vendor 3
 
1178
 
 
1179
2006-03-09  David Shaw  <dshaw@jabberwocky.com>
 
1180
 
 
1181
        * build-packet.c (string_to_notation): Add ability to indicate a
 
1182
        notation to be deleted with a '-' prefix.
 
1183
 
 
1184
        * keyedit.c (menu_set_notation): Use it here to allow deleting a
 
1185
        notation marked with '-'.  This works with either "-notation" or
 
1186
        "-notation=value".
 
1187
 
 
1188
2006-03-08  David Shaw  <dshaw@jabberwocky.com>
 
1189
 
 
1190
        * keyedit.c (menu_set_notation): New function to set notations on
 
1191
        self-signatures.
 
1192
        (keyedit_menu): Call it here.
 
1193
        (tty_print_notations): Helper.
 
1194
        (show_prefs): Show notations in "showpref".
 
1195
 
 
1196
        * mainproc.c (get_pka_address)
 
1197
        * keylist.c (show_notation): Remove
 
1198
        duplicate code by using notation functions.
 
1199
 
 
1200
        * packet.h, build-packet.c (sig_to_notation)
 
1201
        * keygen.c (keygen_add_notations): Provide printable text for
 
1202
        non-human-readable notation values.
 
1203
 
 
1204
        * packet.h, build-packet.c (sig_to_notation)
 
1205
        * keygen.c (keygen_add_notations): Tweak to handle non-human-readable
 
1206
        notation values.
 
1207
 
 
1208
        * options.h, sign.c (mk_notation_policy_etc)
 
1209
        * gpg.c (add_notation_data): Use it here for the various notation
 
1210
        commands.
 
1211
 
 
1212
        * packet.h, main.h, keygen.c (keygen_add_notations)
 
1213
        * build-packet.c (string_to_notation, sig_to_notation)
 
1214
        (free_notation): New "one stop shopping" functions to handle
 
1215
        notations and start removing some code duplication.
 
1216
 
 
1217
2006-03-08  Werner Koch  <wk@g10code.com>
 
1218
 
 
1219
        * mainproc.c (do_check_sig): Use log_error for standalone revocations.
 
1220
 
 
1221
2006-03-07  David Shaw  <dshaw@jabberwocky.com>
 
1222
 
 
1223
        * options.h, mainproc.c (check_sig_and_print), gpg.c (main):
 
1224
        pka-lookups, not pka-lookup.
 
1225
 
 
1226
        * options.h, gpg.c (main), keyedit.c [cmds], sig-check.c
 
1227
        (signature_check2): Rename "backsign" to "cross-certify" as a more
 
1228
        accurate name.
 
1229
 
 
1230
        * options.h, gpg.c (main, parse_trust_model), pkclist.c
 
1231
        (check_signatures_trust), mainproc.c (check_sig_and_print,
 
1232
        pka_uri_from_sig), trustdb.c (init_trustdb): Some tweaks to PKA so
 
1233
        that it is a verify-option now.
 
1234
 
 
1235
2006-03-07  Werner Koch  <wk@g10code.com>
 
1236
 
 
1237
        * mainproc.c (proc_signature_packets): Return any_sig_seen to caller.
 
1238
        (check_sig_and_print): Option to partly allow the old behaviour.
 
1239
        * gpg.c: New option --allow-multisig-verification.
 
1240
 
 
1241
2006-03-06  David Shaw  <dshaw@jabberwocky.com>
 
1242
 
 
1243
        * sign.c (make_keysig_packet): Don't use MD5 for a RSA_S key as
 
1244
        that is not a PGP 2.x algorithm.
 
1245
 
 
1246
        * mainproc.c (proc_compressed): "Uncompressed" is not a valid
 
1247
        compression algorithm.
 
1248
 
 
1249
2006-03-06  Werner Koch  <wk@g10code.com>
 
1250
 
 
1251
        * mainproc.c (check_sig_and_print): Made the composition test more
 
1252
        tight.  This is due to another bug report by Tavis Ormandy.
 
1253
        (add_onepass_sig): Simplified.
 
1254
 
 
1255
2006-03-05  Werner Koch  <wk@g10code.com>
 
1256
 
 
1257
        * plaintext.c (handle_plaintext): Replace assert by explict error
 
1258
        conflict message.  Reported by Tavis Ormandy.
 
1259
 
 
1260
2006-03-02  Werner Koch  <wk@g10code.com>
 
1261
 
 
1262
        * cardglue.c (check_card_serialno): Don't ask in batch mode.
 
1263
 
 
1264
2006-03-01  David Shaw  <dshaw@jabberwocky.com>
 
1265
 
 
1266
        * getkey.c (parse_auto_key_locate): Error if the user selects
 
1267
        "cert" or "pka" when those features are disabled.
 
1268
 
 
1269
        * misc.c (has_invalid_email_chars): Fix some C syntax that broke
 
1270
        the compilers on SGI IRIX MIPS and Compaq/DEC OSF/1 Alpha.  Noted
 
1271
        by Nelson H. F. Beebe.
 
1272
 
 
1273
2006-02-27  David Shaw  <dshaw@jabberwocky.com>
 
1274
 
 
1275
        * options.skel: Document auto-key-locate and give a pointer to
 
1276
        Simon Josefsson's page for CERT.
 
1277
 
 
1278
2006-02-24  David Shaw  <dshaw@jabberwocky.com>
 
1279
 
 
1280
        * keydb.h, getkey.c (release_akl), gpg.c (main): Add
 
1281
        --no-auto-key-locate.
 
1282
 
 
1283
        * options.h, gpg.c (main): Keep track of each keyserver registered
 
1284
        so we can match on them later.
 
1285
 
 
1286
        * keyserver-internal.h, keyserver.c (cmp_keyserver_spec,
 
1287
        keyserver_match), gpgv.c: New.  Find a keyserver that matches ours
 
1288
        and return its spec.
 
1289
 
 
1290
        * getkey.c (get_pubkey_byname): Use it here to get the
 
1291
        per-keyserver options from an earlier keyserver.
 
1292
 
 
1293
2006-02-23  David Shaw  <dshaw@jabberwocky.com>
 
1294
 
 
1295
        * keyserver.c (parse_keyserver_options): Only change max_cert if
 
1296
        it is used.
 
1297
 
 
1298
        * options.c, gpg.c (main), keyserver.c (keyserver_spawn): No
 
1299
        special treatment of include-revoked, include-subkeys, and
 
1300
        try-dns-srv.  These are keyserver features, and GPG shouldn't get
 
1301
        involved here.
 
1302
 
 
1303
        * keyserver.c (parse_keyserver_uri, add_canonical_option): Always
 
1304
        append options to the list, as ordering may be significant to the
 
1305
        user.
 
1306
 
 
1307
        * gpg.c (add_notation_data): Fix reversed logic for isascii check
 
1308
        when adding notations.  Noted by Christian Biere.
 
1309
 
 
1310
        * options.h, keyserver.c (add_canonical_option): New.
 
1311
        (parse_keyserver_options): Moved from here.
 
1312
        (parse_keyserver_uri): Use it here so each keyserver can have some
 
1313
        private options in addition to the main keyserver-options
 
1314
        (e.g. per-keyserver auth).
 
1315
 
 
1316
2006-02-22  David Shaw  <dshaw@jabberwocky.com>
 
1317
 
 
1318
        * options.h, keyserver-internal.h, keyserver.c
 
1319
        (keyserver_import_name), getkey.c (free_akl,
 
1320
        parse_auto_key_locate, get_pubkey_byname): The obvious next step:
 
1321
        allow arbitrary keyservers in the auto-key-locate list.
 
1322
 
 
1323
        * options.h, keyserver.c (parse_keyserver_options): Remove
 
1324
        auto-cert-retrieve as it is no longer meaningful.  Add
 
1325
        max-cert-size to allow users to pick a max key size retrieved via
 
1326
        CERT.
 
1327
 
 
1328
        * options.h, gpg.c (main), mainproc.c (check_sig_and_print),
 
1329
        keyserver.c (keyserver_opts): Rename auto-pka-retrieve to
 
1330
        honor-pka-record to be consistent with honor-keyserver-url.
 
1331
 
 
1332
        * options.h, keydb.h, g10.c (main), getkey.c
 
1333
        (parse_auto_key_locate): Parse a list of key access methods.
 
1334
        (get_pubkey_byname): Walk the list here to try and retrieve keys
 
1335
        we don't have locally.
 
1336
 
 
1337
2006-02-21  David Shaw  <dshaw@jabberwocky.com>
 
1338
 
 
1339
        * getkey.c (get_pubkey_byname): Fix minor security problem with
 
1340
        PKA when importing at -r time.  The URL in the PKA record may
 
1341
        point to a key put in by an attacker.  Fix is to use the
 
1342
        fingerprint from the PKA record as the recipient.  This ensures
 
1343
        that the PKA record is followed.
 
1344
 
 
1345
        * keyserver-internal.h, keyserver.c (keyserver_import_pka): Return
 
1346
        the fingerprint we requested.
 
1347
 
 
1348
        * gpgv.c: Stub keyserver_import_ldap.
 
1349
 
 
1350
        * keyserver-internal.h, keyserver.c (keyserver_import_ldap):
 
1351
        Import using the PGP Universal trick of asking
 
1352
        ldap://keys.(maildomain) for the key.
 
1353
 
 
1354
2006-02-20  David Shaw  <dshaw@jabberwocky.com>
 
1355
 
 
1356
        * keyserver.c (parse_keyserver_uri): Include the scheme in the uri
 
1357
        even when we've assumed "hkp" when there was no scheme.
 
1358
 
 
1359
2006-02-20  Werner Koch  <wk@g10code.com>
 
1360
 
 
1361
        * apdu.c (open_pcsc_reader): As a precaution set LIST to NULL
 
1362
        after free.
 
1363
 
 
1364
2006-02-14  Werner Koch  <wk@gnupg.org>
 
1365
 
 
1366
        * verify.c (verify_signatures): Print warning also for NO_DATA.
 
1367
 
 
1368
        * mainproc.c (struct mainproc_context): New field any_sig_seen.
 
1369
        (add_signature): Set it.
 
1370
        (proc_signature_packets): Test and return NO_DATA.
 
1371
 
 
1372
2006-02-09  Werner Koch  <wk@g10code.com>
 
1373
 
 
1374
        * gpg.c (main) <oLockNever>: Disable random locking.
 
1375
 
 
1376
2006-02-06  Werner Koch  <wk@g10code.com>
 
1377
 
 
1378
        * ccid-driver.c, ccid-driver.h: Updated from GnuPG 1.9.  Changes:
 
1379
        * ccid-driver.h (CCID_DRIVER_ERR_NO_KEYPAD): New.
 
1380
        * ccid-driver.c (send_escape_cmd): New args RESULT, RESULTLEN and
 
1381
        RESULTMAX.  Changed all callers.
 
1382
        (ccid_transceive_escape): New.
 
1383
        * ccid-driver.c (special_transport): New
 
1384
        (ccid_open_reader, do_close_reader, ccid_shutdown_reader)
 
1385
        (bulk_out, bulk_in): Add support for CardMan 4040 reader.
 
1386
        * ccid-driver.c (scan_or_find_devices): Factored most code out to
 
1387
        (scan_or_find_usb_device): .. new.
 
1388
        (make_reader_id): Fixed vendor mask.
 
1389
 
 
1390
2006-01-24  David Shaw  <dshaw@jabberwocky.com>
 
1391
 
 
1392
        * keyserver.c (parse_keyserver_uri): If there is a path present,
 
1393
        set the direct_uri flag so the right keyserver helper is run.
 
1394
 
 
1395
2006-01-22  David Shaw  <dshaw@jabberwocky.com>
 
1396
 
 
1397
        * keyserver.c (keyserver_spawn): Include the EXEEXT so we can find
 
1398
        keyserver helpers on systems that use extensions.
 
1399
 
 
1400
        * misc.c (path_access) [HAVE_DRIVE_LETTERS]: Do the right thing
 
1401
        with drive letter systems.
 
1402
 
 
1403
2006-01-17  David Shaw  <dshaw@jabberwocky.com>
 
1404
 
 
1405
        * keydb.h, passphrase.c (next_to_last_passphrase): New.  "Touch" a
 
1406
        passphrase as if it was used (move from next_pw to last_pw).
 
1407
 
 
1408
        * pubkey-enc.c (get_session_key): Use it here to handle the case
 
1409
        where a passphrase happens to be correct for a secret key, but yet
 
1410
        that key isn't the anonymous recipient (i.e. the secret key could
 
1411
        be decrypted, but not the session key).  This also handles the
 
1412
        case where a secret key is located on a card and a secret key with
 
1413
        no passphrase.  Note this does not fix bug 594 (anonymous
 
1414
        recipients on smartcard do not work) - it just prevents the
 
1415
        anonymous search from stopping when the card is encountered.
 
1416
 
 
1417
2006-01-07  David Shaw  <dshaw@jabberwocky.com>
 
1418
 
 
1419
        * keyserver.c (keyserver_refresh): Fix problem when more than one
 
1420
        key in a refresh batch has a preferred keyserver set.  Noted by
 
1421
        Nicolas Rachinsky.
 
1422
 
 
1423
2006-01-01  David Shaw  <dshaw@jabberwocky.com>
 
1424
 
 
1425
        * mainproc.c (check_sig_and_print), keyserver.c
 
1426
        (keyserver_import_pka), card-util.c (fetch_url): Always require a
 
1427
        scheme:// for keyserver URLs except when used as part of the
 
1428
        --keyserver command for backwards compatibility.
 
1429
 
 
1430
        * sign.c (write_signature_packets): Lost a digest_algo line.
 
1431
 
 
1432
        * sign.c (hash_for): Add code to detect if the sk lives on a smart
 
1433
        card.  If it does, only allow 160-bit hashes, a la DSA.  This
 
1434
        involves passing the *sk in, so change all callers.  This is
 
1435
        correct for today, given the current 160-bit q in DSA, and the
 
1436
        current SHA-1/RIPEMD160 support in the openpgp card.  It will
 
1437
        almost certainly need changing down the road.
 
1438
 
 
1439
        * app-openpgp.c (do_sign): Give user error if hash algorithm is
 
1440
        not supported by the card.
 
1441
 
 
1442
2005-12-23  David Shaw  <dshaw@jabberwocky.com>
 
1443
 
 
1444
        * keyserver.c (keyserver_import_pka): New.  Moved from
 
1445
        getkey.c:get_pubkey_byname which was getting crowded.
 
1446
 
 
1447
        * keyserver.c (keyserver_import_cert): Import a key found in DNS
 
1448
        via CERT records.  Can handle both the PGP (actual key) and IPGP
 
1449
        (URL) CERT types.
 
1450
 
 
1451
        * getkey.c (get_pubkey_byname): Call them both here.
 
1452
 
 
1453
        * options.h, keyserver.c (parse_keyserver_options): Add
 
1454
        "auto-cert-retrieve" option with optional max size argument.
 
1455
 
 
1456
        * gpgv.c: Stubs.
 
1457
 
 
1458
        * keyserver-internal.h, keyserver.c (keyserver_spawn,
 
1459
        keyserver_work, keygerver_getname): New keyserver_getname function
 
1460
        to fetch keys by name.
 
1461
 
 
1462
        * getkey.c (get_pubkey_byname): Call it here to enable locating
 
1463
        keys by full mailbox from a keyserver a la PKA.  Try PKA first,
 
1464
        though, as it is likely to be faster.
 
1465
 
 
1466
2005-12-20  Werner Koch  <wk@g10code.com>
 
1467
 
 
1468
        * gpg.c: New option --allow-pka-lookup.
 
1469
        (parse_trust_model): Add "+pka" variants.
 
1470
        (main): Make KEYSERVER_AUTO_PKA_RETRIEVE teh default.
 
1471
        * options.h (opt): New fields PKA_TRUST_INCREASE and
 
1472
        ALLOW_PKA_LOOKUP.
 
1473
        * status.h (STATUS_PKA_TRUST_BAD, STATUS_PKA_TRUST_GOOD): New.
 
1474
        * pkclist.c (check_signatures_trust): Increase trust due to valid
 
1475
        PKA only if that new option has been set.  Issue new status lines.
 
1476
        * trustdb.c (init_trustdb): Print info if this option is active.
 
1477
        * getkey.c (get_pubkey_byname): Honor allow-pka-lookup.
 
1478
        * mainproc.c (pka_uri_from_sig): Ditto.
 
1479
 
 
1480
        * trustdb.c (validate_keys): Print no "ultimately trusted keys
 
1481
        found" only in non-quiet mode.
 
1482
 
 
1483
2005-12-19  David Shaw  <dshaw@jabberwocky.com>
 
1484
 
 
1485
        * getkey.c (merge_selfsigs_main): All primary keys can certify.
 
1486
 
 
1487
2005-12-18  David Shaw  <dshaw@jabberwocky.com>
 
1488
 
 
1489
        * gpg.c (main): Restore convert-sk-to-pk as programs rely on it.
 
1490
 
 
1491
        * keyid.c (usagestr_from_pk): Remove special PUBKEY_USAGE_CERT
 
1492
        flag.  It's no longer needed.
 
1493
 
 
1494
2005-12-14  David Shaw  <dshaw@jabberwocky.com>
 
1495
 
 
1496
        * gpg.c (main): Don't default to import-options convert-sk-to-pk.
 
1497
        It causes confusing warning messages when importing a PGP-exported
 
1498
        key that contains a secret key without selfsigs followed by the
 
1499
        public key.
 
1500
 
 
1501
2005-12-08  David Shaw  <dshaw@jabberwocky.com>
 
1502
 
 
1503
        * keyserver.c (keyserver_fetch): Switch on fast-import before we
 
1504
        --fetch-keys so we don't rebuild the trustdb after each fetch.
 
1505
 
 
1506
2005-12-08  Werner Koch  <wk@g10code.com>
 
1507
 
 
1508
        * gpg.c (main): Check for DBCS lead byte when converting the
 
1509
        homedir.  By Kazuyoshi Kakihara. Fixes PR561.
 
1510
 
 
1511
        * keyserver.c (keyserver_fetch): Made strings translatable.
 
1512
 
 
1513
2005-12-08  David Shaw  <dshaw@jabberwocky.com>
 
1514
 
 
1515
        * options.h, keyserver.c (curl_cant_handle, keyserver_spawn)
 
1516
        (keyserver_fetch): Set a flag to indicate that we're doing a direct
 
1517
        URI fetch so we can differentiate between a keyserver operation
 
1518
        and a URI fetch for protocols like LDAP that can do either.
 
1519
 
 
1520
2005-12-07  David Shaw  <dshaw@jabberwocky.com>
 
1521
 
 
1522
        * keyserver.c (keyserver_spawn): Don't print "searching for key
 
1523
        00000000" when fetching a URI.
 
1524
 
 
1525
        * keyserver-internal.h, keyserver.c (keyserver_fetch): New.  Fetch
 
1526
        an arbitrary URI using the keyserver helpers.
 
1527
 
 
1528
        * gpg.c (main): Call it from here for --fetch-keys.
 
1529
 
 
1530
2005-12-07  Werner Koch  <wk@g10code.com>
 
1531
 
 
1532
        * pkclist.c (do_we_trust): Add NOTREACHED comment.
 
1533
 
 
1534
2005-11-20  David Shaw  <dshaw@jabberwocky.com>
 
1535
 
 
1536
        * main.h, keylist.c (print_revokers): New.  Print the "rvk"
 
1537
        designated revoker record.  Moved from
 
1538
        keyedit.c:show_key_with_all_names_colon.
 
1539
 
 
1540
        * keylist.c (list_keyblock_colon): Use it here ...
 
1541
 
 
1542
        * keyedit.c (show_key_with_all_names_colon): ... and here.
 
1543
 
 
1544
2005-11-19  David Shaw  <dshaw@jabberwocky.com>
 
1545
 
 
1546
        * free-packet.c (copy_secret_key): Copy secret key into secure
 
1547
        memory since we may unprotect it.
 
1548
 
 
1549
        * main.h, g10.c (main), revoke.c (gen_desig_revoke): Add local
 
1550
        user support so users can use -u with --desig-revoke.  This
 
1551
        bypasses the interactive walk over the revocation keys.
 
1552
 
 
1553
2005-11-17  David Shaw  <dshaw@jabberwocky.com>
 
1554
 
 
1555
        * keyedit.c (keyedit_menu, menu_clean): Simplify clean options to
 
1556
        just "clean", and add "minimize".
 
1557
 
 
1558
        * import.c (parse_import_options): Make help text match the export
 
1559
        versions of the options.
 
1560
 
 
1561
        * options.h, export.c (parse_export_options, do_export_stream):
 
1562
        Reduce clean options to two: clean and minimize.
 
1563
 
 
1564
        * trustdb.h, trustdb.c (clean_one_uid): New function that joins
 
1565
        uid and sig cleaning into one for a simple API outside trustdb.
 
1566
 
 
1567
2005-11-13  David Shaw  <dshaw@jabberwocky.com>
 
1568
 
 
1569
        * armor.c (parse_header_line): A fussy bit of 2440: header lines
 
1570
        are delimited with a colon-space pair.  Therefore a line such as
 
1571
        "Comment: " (with a trailing space) is actually legal, albeit not
 
1572
        particularly useful.
 
1573
 
 
1574
2005-11-11  David Shaw  <dshaw@jabberwocky.com>
 
1575
 
 
1576
        * trustdb.h, trustdb.c (clean_key): New function to handle key
 
1577
        cleaning from one convenient place.
 
1578
 
 
1579
        * options.h, import.c (parse_import_options,
 
1580
        clean_sigs_from_all_uids, import_one): Reduce clean options to
 
1581
        two: clean and minimize.
 
1582
 
 
1583
        * parse-packet.c (setup_user_id): Remove.
 
1584
        (parse_user_id, parse_attribute): Just use xmalloc_clear instead.
 
1585
 
 
1586
        * trustdb.c (clean_uid_from_key, clean_uids_from_key):
 
1587
        Significantly simpler implementation.
 
1588
 
 
1589
2005-11-10  David Shaw  <dshaw@jabberwocky.com>
 
1590
 
 
1591
        * keyedit.c (keyedit_menu, menu_clean_sigs_from_uids): Add
 
1592
        "minimize" command.
 
1593
 
 
1594
        * packet.h, keyedit.c (menu_clean_uids_from_key), trustdb.c
 
1595
        (clean_uids_from_key): Fix display bug where sigs cleaned for
 
1596
        other reasons caused a uid to appear as if it had been compacted.
 
1597
 
 
1598
        * packet.h: Move some flags to a bitfield.  Change all callers.
 
1599
 
 
1600
        * options.h, import.c (parse_import_options,
 
1601
        clean_sigs_from_all_uids, import_one): Add import-minimal option.
 
1602
        Similar to export-minimal, except it works on the way in.
 
1603
 
 
1604
        * trustdb.h, trustdb.c (clean_sigs_from_uid): Add flag to remove
 
1605
        all non-selfsigs from key during cleaning.  Change all callers.
 
1606
 
 
1607
        * export.c (do_export_stream): Use it here for export-minimal so
 
1608
        we don't need additional minimize code in the export path.
 
1609
 
 
1610
2005-11-06  David Shaw  <dshaw@jabberwocky.com>
 
1611
 
 
1612
        * options.skel: Add a section for --encrypt-to.  This is Debian
 
1613
        bug 336211 by Javier Fernández-Sanguino Peña.
 
1614
 
 
1615
2005-11-05  David Shaw  <dshaw@jabberwocky.com>
 
1616
 
 
1617
        * Makefile.am: Include @LIBUSB_CPPFLAGS@ in our CPPFLAGS.
 
1618
        Strictly speaking this should be only in gpg_CPPFLAGS, but then we
 
1619
        have to compile everything twice for gpg and gpgv.
 
1620
 
 
1621
        * apdu.c (open_pcsc_reader): Fix double free.
 
1622
 
 
1623
        * gpg.c (main) [__APPLE__]: Default the PCSC driver to the OS X
 
1624
        location.  Suggested by Patty A. Hardy.
 
1625
 
 
1626
2005-11-02  David Shaw  <dshaw@jabberwocky.com>
 
1627
 
 
1628
        * trustdb.c (clean_sigs_from_uid): Include sigs from unavailable
 
1629
        keys in the sigs that are cleaned.  Suggested by Dirk Traulsen and
 
1630
        many others.
 
1631
 
 
1632
2005-11-01  David Shaw  <dshaw@jabberwocky.com>
 
1633
 
 
1634
        * import.c (import_one): Do collapse_uids() before we do any
 
1635
        cleaning so keyserver mangled keys with doubled user IDs can be
 
1636
        properly cleaned - possibly sigs on the different user IDs cancel
 
1637
        each other out.
 
1638
 
 
1639
        * import.c (parse_import_options), export.c
 
1640
        (parse_export_options): List "xxx-clean" before the longer options
 
1641
        so we don't end up with a partial match on the longer options.
 
1642
 
 
1643
        * trustdb.c (clean_uids_from_key): Return proper number of cleaned
 
1644
        user IDs.  Don't count user IDs as cleaned unless we actually
 
1645
        delete something.
 
1646
 
 
1647
2005-10-27  David Shaw  <dshaw@jabberwocky.com>
 
1648
 
 
1649
        * keyedit.c (menu_addrevoker), getkey.c (finish_lookup): Fix
 
1650
        problem with adding a cert-only designated revoker.  Code was
 
1651
        looking for a key with sign ability, and not cert ability.  Noted
 
1652
        by Timo Schulz.
 
1653
 
 
1654
2005-10-27  Werner Koch  <wk@g10code.com>
 
1655
 
 
1656
        * gpg.c [__CYGWIN__]: Set default driver to winscard.dll.
 
1657
 
 
1658
        * apdu.c, apdu.h: Updated from gnupg 1.9.  Changes are:
 
1659
        * apdu.c [__CYGWIN__]: Make cygwin environment similar to _WIN32.
 
1660
        Suggested by John P. Clizbe.
 
1661
        * apdu.h (SW_HOST_NO_KEYPAD): New.
 
1662
        * apdu.c (host_sw_string): Support new code.
 
1663
        (reader_table_s): New field CHECK_KEYPAD.
 
1664
        (new_reader_slot, open_ct_reader, open_pcsc_reader)
 
1665
        (open_ccid_reader, open_rapdu_reader): Initialize it.
 
1666
        (check_ccid_keypad): New.
 
1667
        (apdu_check_keypad): New.
 
1668
        (apdu_send_le): Factored all code out to ...
 
1669
        (send_le): .. new.  Takes an additional arg; changed all callers
 
1670
        of the orginal function to use this one with a NULL for the new
 
1671
        arg.
 
1672
        (apdu_send_simple_kp): New.
 
1673
        (ct_send_apdu, pcsc_send_apdu, my_rapdu_send_apdu)
 
1674
        (send_apdu_ccid): New arg PININFO.
 
1675
        (send_apdu_ccid): Use the new arg.
 
1676
 
 
1677
2005-10-26  David Shaw  <dshaw@jabberwocky.com>
 
1678
 
 
1679
        * keygen.c (proc_parameter_file): Default key and subkey usage
 
1680
        flags to algo capabilities if parameter file doesn't specify them.
 
1681
        Noted by Timo Schulz.
 
1682
 
 
1683
2005-10-18  Werner Koch  <wk@g10code.com>
 
1684
 
 
1685
        * cardglue.c (pin_cb): Fixed prompt for repeated PIN.  Return
 
1686
        G10ERR_CANCELED and not just -1.
 
1687
        (status_sc_op_failure): New.  Use it where we issue that status.
 
1688
        (pin_cb): Append serial number to the need-pin status message.
 
1689
        (agent_scd_change_pin): Add arg SERIALNO.  Changed all callers.
 
1690
        (agent_scd_writekey): Ditto.
 
1691
        (agent_scd_setattr): Ditto.
 
1692
        (agent_scd_genkey): Ditto.
 
1693
        (agent_scd_checkpin): Pass serialno to the pin_cb.
 
1694
 
 
1695
        * keygen.c (parse_expire_string): Allow setting the expire
 
1696
        interval using a "seconds=<n>" syntax.  This is useful for
 
1697
        debugging.
 
1698
 
 
1699
2005-10-17  Werner Koch  <wk@g10code.com>
 
1700
 
 
1701
        * export.c (do_export_stream): Factored some code out to ...
 
1702
        (skip_subkey_p): .. new.
 
1703
        (subkey_in_list_p, release_subkey_list): New.
 
1704
        (new_subkey_list_item): New.
 
1705
        (do_export_stream): Export exactly specified subkeys into one
 
1706
        keyblock.
 
1707
 
 
1708
2005-10-13  David Shaw  <dshaw@jabberwocky.com>
 
1709
 
 
1710
        * keyedit.c (keyedit_menu, menu_backsign): New "backsign" command
 
1711
        to add 0x19 backsigs to old keys that don't have them.
 
1712
 
 
1713
        * misc.c (parse_options): Fix build warning.
 
1714
 
 
1715
        * main.h, keygen.c (make_backsig): Make public.
 
1716
 
 
1717
2005-10-12  David Shaw  <dshaw@jabberwocky.com>
 
1718
 
 
1719
        * options.h, getkey.c (merge_selfsigs_subkey), gpg.c (main),
 
1720
        sig-check.c (signature_check2): Add --require-backsigs and
 
1721
        --no-require-backsigs.  Currently defaults to
 
1722
        --no-require-backsigs.
 
1723
 
 
1724
2005-10-11  David Shaw  <dshaw@jabberwocky.com>
 
1725
 
 
1726
        * getkey.c (merge_selfsigs_subkey), sig-check.c
 
1727
        (signature_check2), keygen.c (make_backsig): Did some backsig
 
1728
        interop testing with the PGP folks.  All is well, so I'm turning
 
1729
        generation of backsigs on for new keys.  Checking for backsigs on
 
1730
        verification is still off.
 
1731
 
 
1732
2005-10-05  Werner Koch  <wk@g10code.com>
 
1733
 
 
1734
        * g10.c: Renamed to ..
 
1735
        * gpg.c: ..this.
 
1736
        * Makefile.am: Adjusted accordingly.
 
1737
 
 
1738
2005-09-22  Werner Koch  <wk@g10code.com>
 
1739
 
 
1740
        * sign.c (write_plaintext_packet): Don't print an empty file
 
1741
        warning if the file is actually too large.
 
1742
        * encode.c (encode_simple,encode_crypt): Ditto.
 
1743
        * progress.c (handle_progress): Adjusted for iobuf_get_filelength
 
1744
        change.
 
1745
        * photoid.c (generate_photo_id): Ditto.
 
1746
 
 
1747
2005-09-20  Werner Koch  <wk@g10code.com>
 
1748
 
 
1749
        * mainproc.c (proc_symkey_enc): Take care of a canceled passphrase
 
1750
        prompt.
 
1751
 
 
1752
2005-09-19  David Shaw  <dshaw@jabberwocky.com>
 
1753
 
 
1754
        * keylist.c (reorder_keyblock, do_reorder_keyblock): Reorder
 
1755
        attribute IDs as well as regular text IDs.
 
1756
 
 
1757
        * plaintext.c (ask_for_detached_datafile): Use make_filename() on
 
1758
        filename so tilde expansion works.
 
1759
 
 
1760
2005-09-14  David Shaw  <dshaw@jabberwocky.com>
 
1761
 
 
1762
        * main.h, misc.c (parse_options): Add the ability to have help
 
1763
        strings in xxx-options commands.
 
1764
 
 
1765
        * keyserver.c (keyserver_opts), import.c (parse_import_options),
 
1766
        export.c (parse_export_options), g10.c (parse_list_options, main):
 
1767
        Add help strings to xxx-options.
 
1768
 
 
1769
2005-09-10  David Shaw  <dshaw@jabberwocky.com>
 
1770
 
 
1771
        * keyedit.c (show_names): Moved name display code out from
 
1772
        show_key_with_all_names.
 
1773
        (keyedit_menu): Call it here for pref and showpref so they can
 
1774
        show only the selected user ID.  Suggested by Timo Schulz.
 
1775
 
 
1776
2005-09-07  Werner Koch  <wk@g10code.com>
 
1777
 
 
1778
        * cardglue.h (GPG_ERR_TOO_LARGE): New.
 
1779
 
 
1780
        * apdu.c, apdu.h, iso7816.c, iso7816.h
 
1781
        * ccid-driver.c, ccid-driver.h: Updated from GnuPG 1.9 source.
 
1782
        Changes are:
 
1783
        * iso7816.c (iso7816_select_path): New.
 
1784
        * iso7816.c (iso7816_read_binary): Use Le=0 when reading all
 
1785
        data.  Handle 6C00 error and take 6B00 as indication for EOF.
 
1786
        * apdu.h (SW_EXACT_LENGTH_P): New.
 
1787
        * apdu.c (new_reader_slot, reset_pcsc_reader, pcsc_get_status)
 
1788
        (open_pcsc_reader): Set new reader state IS_T0.
 
1789
        (apdu_send_le): When doing T=0 make sure not to send Lc and Le.
 
1790
        Problem reported by Carl Meijer.
 
1791
        (apdu_send_direct): Initialize RESULTLEN.
 
1792
 
 
1793
        * misc.c (parse_options): Allow meta option "help" to list all
 
1794
        options and to exit the program.
 
1795
 
 
1796
2005-09-02  David Shaw  <dshaw@jabberwocky.com>
 
1797
 
 
1798
        * parse-packet.c (enum_sig_subpkt, parse_signature,
 
1799
        parse_attribute_subpkts): Make a number of warnings verbose items.
 
1800
        These fire on many slightly mangled keys in the field, so the
 
1801
        warning is becoming burdensome.
 
1802
 
 
1803
2005-09-01  David Shaw  <dshaw@jabberwocky.com>
 
1804
 
 
1805
        * photoid.h, photoid.c (generate_photo_id): Allow passing in a
 
1806
        suggested filename.
 
1807
 
 
1808
        * keyedit.c (keyedit_menu, menu_adduid): Call it here so "addphoto
 
1809
        filename" works.
 
1810
 
 
1811
2005-08-31  David Shaw  <dshaw@jabberwocky.com>
 
1812
 
 
1813
        * photoid.c (generate_photo_id): Enable readline completion and
 
1814
        tilde expansion for the JPEG prompt.
 
1815
 
 
1816
2005-08-30  Werner Koch  <wk@g10code.com>
 
1817
 
 
1818
        * passphrase.c (agent_open): Print a warning and not an error in
 
1819
        case of a missing agent.  Should fix Debian bug #325578.
 
1820
 
 
1821
2005-08-26  David Shaw  <dshaw@jabberwocky.com>
 
1822
 
 
1823
        * misc.c (openpgp_pk_algo_usage): Default to allowing CERT for
 
1824
        signing algorithms.
 
1825
 
 
1826
        * keyedit.c (sign_uids): Don't request a signing key to make a
 
1827
        certification.
 
1828
 
 
1829
        * keygen.c (do_add_key_flags): Force the certify flag on for all
 
1830
        primary keys, as the spec requires primary keys must be able to
 
1831
        certify (if nothing else, which key is going to issue the user ID
 
1832
        signature?)
 
1833
        (print_key_flags): Show certify flag.
 
1834
        (ask_key_flags, ask_algo): Don't allow setting the C flag for
 
1835
        subkeys.
 
1836
 
 
1837
        * keyid.c (usagestr_from_pk), getkey.c (parse_key_usage):
 
1838
        Distinguish between a sign/certify key and a certify-only key.
 
1839
 
 
1840
        * keyedit.c (ask_revoke_sig): Add a revsig --with-colons mode.
 
1841
        Suggested by Michael Schierl.
 
1842
 
 
1843
2005-08-21  David Shaw  <dshaw@jabberwocky.com>
 
1844
 
 
1845
        * Makefile.am: No need to link with curl any longer.
 
1846
 
 
1847
        * main.h, misc.c (path_access): New.  Same as access() but does a
 
1848
        PATH search like execlp.
 
1849
 
 
1850
        * keyserver.c (curl_can_handle): Removed.  Replaced by...
 
1851
        (curl_cant_handle): We are now relying on curl as the handler of
 
1852
        last resort.  This is necessary because PGP LDAP and curl LDAP are
 
1853
        apples and oranges.
 
1854
        (keyserver_typemap): Only test for ldap and ldaps.
 
1855
        (keyserver_spawn): If a given handler is unusable (as determined
 
1856
        by path_access()) then try gpgkeys_curl.
 
1857
 
 
1858
        * exec.h, exec.c (make_tempdir, expand_args, exec_write,
 
1859
        exec_read): Minor cleanup to use bitfield flags instead of a bunch
 
1860
        of integers.
 
1861
 
 
1862
2005-08-20  David Shaw  <dshaw@jabberwocky.com>
 
1863
 
 
1864
        * g10.c (main): Add aliases sign-with->local-user and
 
1865
        user->recipient to make switching from PGP command line to GPG
 
1866
        easier.
 
1867
 
 
1868
2005-08-19  David Shaw  <dshaw@jabberwocky.com>
 
1869
 
 
1870
        * options.skel: Remove the surfnet LDAP keyserver from the list of
 
1871
        samples since it is being shut down.
 
1872
 
 
1873
        * getkey.c (classify_user_id): Disable the '.' and '+' search
 
1874
        modes since they aren't supported yet.
 
1875
 
 
1876
2005-08-05  David Shaw  <dshaw@jabberwocky.com>
 
1877
 
 
1878
        * g10.c (main), passphrase.c (set_passphrase_from_string): New
 
1879
        --passphrase command line option.  Only useful in very special
 
1880
        circumstances.
 
1881
 
 
1882
2005-08-05  Werner Koch  <wk@g10code.com>
 
1883
 
 
1884
        * gpgv.c (keyserver_import_fprint): New stub.
 
1885
 
 
1886
        * keygen.c (ask_user_id): Moved email checking code out to ..
 
1887
        * misc.c (is_valid_mailbox): .. new.
 
1888
        * mainproc.c (get_pka_address): Use it here.
 
1889
        * getkey.c (get_pubkey_byname): Add falback to auto-retrieve a key
 
1890
        via the PKA mechanism.
 
1891
 
 
1892
        * options.h (KEYSERVER_AUTO_PKA_RETRIEVE): New.
 
1893
        * keyserver.c (keyserver_opts): Ditto.
 
1894
        * mainproc.c (check_sig_and_print): Use it here to retrieve keys
 
1895
        from a PKA DNS record.
 
1896
 
 
1897
        * pkclist.c (build_pk_list): Add comments to this function;
 
1898
        re-indented it.
 
1899
 
 
1900
2005-08-04  David Shaw  <dshaw@jabberwocky.com>
 
1901
 
 
1902
        * keygen.c (proc_parameter_file): Sanity check items in keygen
 
1903
        batch file.  Noted by Michael Schierl.
 
1904
 
 
1905
        * pkclist.c (do_edit_ownertrust): Don't allow ownertrust level 0.
 
1906
        Noted by Michael Schierl.
 
1907
 
 
1908
        * keygen.c (write_keyblock): Don't try and build deleted kbnodes
 
1909
        since we start our tree with one.
 
1910
 
 
1911
2005-08-04  Werner Koch  <wk@g10code.com>
 
1912
 
 
1913
        * export.c (do_export_stream): Skip on-card keys when only subkeys
 
1914
        are to be exported.  It does not make sense to replace the on-card
 
1915
        key stub by a no-key stub.
 
1916
 
 
1917
        * revoke.c (gen_revoke): Check for non-online keys.
 
1918
 
 
1919
        * seckey-cert.c (is_secret_key_protected): Return -3 for
 
1920
        non-online key stubs.  The old code assumes that a protection
 
1921
        algorithm is still set but in some cases this one is 0 and thus it
 
1922
        won't be possible to decide whether it is unprotected or
 
1923
        protected.
 
1924
 
 
1925
2005-07-28  Werner Koch  <wk@g10code.com>
 
1926
 
 
1927
        * Makefile.am (other_libs): Add SRVLIBS.
 
1928
 
 
1929
        * parse-packet.c (can_handle_critical_notation): We know about
 
1930
        pka-address@gnupg.org.
 
1931
        * packet.h (PKT_signature): New fields PKA_INFO and PKA_TRIED.
 
1932
        (pka_info_t): New.
 
1933
        * free-packet.c (cp_pka_info): New.
 
1934
        (free_seckey_enc, copy_signature): Support new fields.
 
1935
        * mainproc.c (get_pka_address, pka_uri_from_sig): New.
 
1936
        (check_sig_and_print): Try to get the keyserver from the PKA
 
1937
        record.
 
1938
        * pkclist.c (check_signatures_trust): Adjust the trust based on
 
1939
        the PKA.
 
1940
        * gpgv.c (parse_keyserver_uri): New stub.
 
1941
 
 
1942
        * keygen.c (has_invalid_email_chars): Moved to ..
 
1943
        * misc.c (has_invalid_email_chars): .. here and made global.
 
1944
 
 
1945
2005-07-27  Werner Koch  <wk@g10code.com>
 
1946
 
 
1947
        * export.c (do_export_stream): Make two strings translatable.
 
1948
 
 
1949
2005-07-26  David Shaw  <dshaw@jabberwocky.com>
 
1950
 
 
1951
        * keyserver.c (keyserver_typemap): Special-case LDAP since curl
 
1952
        will report that it can handle it, and we don't want it to.
 
1953
 
 
1954
2005-07-26  Werner Koch  <wk@g10code.com>
 
1955
 
 
1956
        * passphrase.c (agent_get_passphrase): Make sure to release the
 
1957
        saved codeset.
 
1958
        (agent_open): Add arg ORIG_CODESET and switch back to it in case
 
1959
        of error.  Changed all callers.
 
1960
 
 
1961
2005-07-22  David Shaw  <dshaw@jabberwocky.com>
 
1962
 
 
1963
        * keyedit.c (sign_uids): Don't prompt for setting signature expiry
 
1964
        to match key expiry unless --ask-cert-expire is set.  Suggested by
 
1965
        Peter Palfrader.
 
1966
 
 
1967
2005-07-22  Werner Koch  <wk@g10code.com>
 
1968
 
 
1969
        * g10.c, options.h: New option --exit-on-status-write-error.
 
1970
        * status.c (write_status_text): Make use of this option.
 
1971
 
 
1972
2005-07-22  David Shaw  <dshaw@jabberwocky.com>
 
1973
 
 
1974
        * options.h, g10.c (main): Removed option --no-interactive-selection.
 
1975
        * keyedit.c (keyedit_menu): Use --interactive to enable the uid
 
1976
        walking when signing a key with no uids specified to sign.
 
1977
 
 
1978
        * keylist.c (list_keyblock_print): Fix silly typo.  Noted by Greg
 
1979
        Sabino Mullane.
 
1980
 
 
1981
2005-07-20  Werner Koch  <wk@g10code.com>
 
1982
 
 
1983
        * openfile.c (open_outfile): Disable FD caching for created files.
 
1984
        * encode.c (encode_simple, encode_crypt): Disable FD caching for
 
1985
        input files.
 
1986
        * verify.c (verify_one_file): Ditto.
 
1987
        * decrypt.c (decrypt_messages): Ditto. This is bug #479.
 
1988
 
 
1989
        * misc.c (get_libexecdir) [W32]: Changed to return the value of
 
1990
        program used to create the process.
 
1991
        * keyserver.c (keyserver_spawn) [DISABLE_KEYSERVER_PATH]: Don't
 
1992
        change the exec-path at all.
 
1993
 
 
1994
2005-07-20  David Shaw  <dshaw@jabberwocky.com>
 
1995
 
 
1996
        * keyserver.c (curl_can_handle): New.  Do a runtime check against
 
1997
        libcurl to see if it can handle a particular protocol.
 
1998
        (keyserver_typemap): Call it here.
 
1999
 
 
2000
        * Makefile.am: Pull in libcurl for curl_version_info() if used.
 
2001
 
 
2002
2005-07-19  Werner Koch  <wk@g10code.com>
 
2003
 
 
2004
        * g10.c, options.h: New option --limit-card-insert-tries.
 
2005
        * cardglue.c (open_card): Use it.
 
2006
 
 
2007
        * export.c (parse_export_options): New option
 
2008
        export-reset-subkey-passwd.
 
2009
        (do_export_stream): Implement it.
 
2010
 
 
2011
        * misc.c (get_libexecdir): New.
 
2012
        * keyserver.c (keyserver_spawn): Use it
 
2013
 
 
2014
2005-07-18  Werner Koch  <wk@g10code.com>
 
2015
 
 
2016
        * tdbio.c (open_db): Check for EROFS.  Suggested by Bryce Nichols.
 
2017
 
 
2018
2005-07-08  David Shaw  <dshaw@jabberwocky.com>
 
2019
 
 
2020
        * trustdb.c (clean_uids_from_key): Don't keep a valid selfsig
 
2021
        around when compacting a uid.  There is no reason to make an
 
2022
        attacker's job easier - this way they only have a revocation which
 
2023
        is useless in bringing the uid back.
 
2024
 
 
2025
        * keydb.h, kbnode.c (undelete_kbnode): Removed.  No longer needed.
 
2026
 
 
2027
        * import.c (chk_self_sigs): Allow a uid revocation to be enough to
 
2028
        allow importing a particular uid (no self sig needed).  This
 
2029
        allows importing compacted uids.
 
2030
 
 
2031
2005-06-20  David Shaw  <dshaw@jabberwocky.com>
 
2032
 
 
2033
        * keygen.c (save_unprotected_key_to_card): Better fix for gcc4
 
2034
        warning.
 
2035
 
 
2036
2005-06-20  Werner Koch  <wk@g10code.com>
 
2037
 
 
2038
        * g10.c, options.h: New option --no-interactive-selection.
 
2039
        * keyedit.c (keyedit_menu): Use it.
 
2040
 
 
2041
2005-06-18  Werner Koch  <wk@g10code.com>
 
2042
 
 
2043
        * parse-packet.c (parse_signature): Use log_info for messages
 
2044
        about missing timestamp or keyid.  In case we don't use that key
 
2045
        there won't be no further error and thus gpg does not need to
 
2046
        return with an error.
 
2047
 
 
2048
2005-06-13  David Shaw  <dshaw@jabberwocky.com>
 
2049
 
 
2050
        * keygen.c (save_unprotected_key_to_card): Fix gcc4 warning.
 
2051
 
 
2052
        * options.h, import.c (parse_import_options, import_one): Add
 
2053
        import-clean-uids option to automatically compact unusable uids
 
2054
        when importing.  Like import-clean-sigs, this may nodify the local
 
2055
        keyring.
 
2056
 
 
2057
        * trustdb.c (clean_uids_from_key): Only allow selfsigs to be a
 
2058
        candidate for re-inclusion.
 
2059
 
 
2060
2005-06-12  David Shaw  <dshaw@jabberwocky.com>
 
2061
 
 
2062
        * options.h, import.c (parse_import_options,
 
2063
        clean_sigs_from_all_uids, import_one): Add import-clean-sigs
 
2064
        option to automatically clean a key when importing.  Note that
 
2065
        when importing a key that is already on the local keyring, the
 
2066
        clean applies to the merged key - i.e. existing superceded or
 
2067
        invalid signatures are removed.
 
2068
 
 
2069
        * getkey.c (merge_selfsigs_main, merge_selfsigs_subkey): Make sure
 
2070
        that even after keys may be merged together, we only have one
 
2071
        chosen selfsig.
 
2072
 
 
2073
2005-06-09  David Shaw  <dshaw@jabberwocky.com>
 
2074
 
 
2075
        * options.h, import.c (parse_import_options, delete_inv_parts):
 
2076
        import-unusable-sigs is now a noop.
 
2077
 
 
2078
        * options.h, export.c (do_export_stream), keyedit.c (keyedit_menu,
 
2079
        menu_clean_subkeys_from_key), trustdb.h, trustdb.c
 
2080
        (clean_subkeys_from_key): Remove subkey cleaning function.  It is
 
2081
        of very limited usefulness since it cannot be used on any subkey
 
2082
        that can sign, and can only affect multiple selfsigs on
 
2083
        encryption-only subkeys.
 
2084
 
 
2085
        * keydb.h, kbnode.c (undelete_kbnode): New function to undelete a
 
2086
        kbnode.
 
2087
 
 
2088
        * trustdb.c (clean_uids_from_key): Further tweak the algorithm so
 
2089
        that the last good selfsig is kept when the chosen selfsig is a
 
2090
        revocation.
 
2091
 
 
2092
2005-06-08  David Shaw  <dshaw@jabberwocky.com>
 
2093
 
 
2094
        * trustdb.c (clean_uids_from_key), keyedit.c
 
2095
        (menu_clean_uids_from_key): Tweak algorithm to preserve the last
 
2096
        selfsig which helps prevent uid resurrections.
 
2097
 
 
2098
        * getkey.c (fixup_uidnode, merge_selfsigs_main): Handle both
 
2099
        expired and revoked uids in fixup_uidnode().  No need to special
 
2100
        case in merge_selfsigs_main().  This also means that an expired
 
2101
        uid will have its selfsig tagged with chosen_selfsig.
 
2102
 
 
2103
2005-06-07  David Shaw  <dshaw@jabberwocky.com>
 
2104
 
 
2105
        * options.h, g10.c (main), export.c (parse_export_options,
 
2106
        do_export_stream): Add export-options export-clean-sigs,
 
2107
        export-clean-uids, export-clean-subkeys, and export-clean which is
 
2108
        all of the above.  Export-minimal is the same except it also
 
2109
        removes all non-selfsigs.  export-unusable-sigs is now a noop.
 
2110
 
 
2111
2005-06-06  Werner Koch  <wk@g10code.com>
 
2112
 
 
2113
        * cardglue.c (open_card): Emit new CARDCTRL status 5 for no reader
 
2114
        available.
 
2115
 
 
2116
2005-06-02  Werner Koch  <wk@g10code.com>
 
2117
 
 
2118
        * app-openpgp.c (do_writekey): Typo fix.
 
2119
 
 
2120
        * status.c, status.h: Removed STATUS_BAD_PASSPHRASE_PIN.
 
2121
 
 
2122
2005-06-01  David Shaw  <dshaw@jabberwocky.com>
 
2123
 
 
2124
        * signal.c [HAVE_DOSISH_SYSTEM]: Fix unused function warnings on
 
2125
        mingw32.  Noted by Joe Vender.
 
2126
 
 
2127
        * passphrase.c [_WIN32]: Remove unused variables.
 
2128
 
 
2129
2005-05-31  David Shaw  <dshaw@jabberwocky.com>
 
2130
 
 
2131
        * keyedit.c (menu_clean_uids_from_key,
 
2132
        menu_clean_subkeys_from_key), trustdb.c (clean_uids_from_key,
 
2133
        clean_subkeys_from_key): Fix mingw32 build warnings.  Noted by Joe
 
2134
        Vender.
 
2135
 
 
2136
2005-05-31  Werner Koch  <wk@g10code.com>
 
2137
 
 
2138
        * keydb.h [!ENABLE_AGENT_SUPPORT]: Define dummy types.
 
2139
 
 
2140
        * cardglue.c (assuan_strerror, assuan_transact): Dummy functions
 
2141
        if not build with agent support.
 
2142
 
 
2143
        * armor.c (check_input): Don't bail out on invalid header lines
 
2144
        unless in struict rfc2440 mode.  Suggested by Richard Patterson.
 
2145
 
 
2146
2005-05-30  Werner Koch  <wk@g10code.com>
 
2147
 
 
2148
        * tlv.c: Add hack to compile without gpg-error.h.
 
2149
 
 
2150
2005-05-30  David Shaw  <dshaw@jabberwocky.com>
 
2151
 
 
2152
        * trustdb.h, trustdb.c (clean_subkeys_from_key): New.  Walk
 
2153
        through the subkeys on a key, and mark any that aren't usable for
 
2154
        deletion.  Note that a signing subkey is never marked for deletion
 
2155
        since these keys are still useful after expiration or revocation.
 
2156
 
 
2157
        * keyedit.c (menu_clean_subkeys_from_key): New function to call
 
2158
        clean_subkeys_from_key() on a key.  Note that the strings here are
 
2159
        not marked for translation yet.  The UI is still in flux, and
 
2160
        there is no point in annoying the translators twice.
 
2161
        (keyedit_menu): Call it here as part of the "clean" command.
 
2162
 
 
2163
2005-05-29  David Shaw  <dshaw@jabberwocky.com>
 
2164
 
 
2165
        * trustdb.h, trustdb.c (clean_uids_from_key): New.  Walk through
 
2166
        the user IDs on a key, and mark any that aren't valid for
 
2167
        deletion.
 
2168
 
 
2169
        * keyedit.c (menu_clean_uids_from_key): New function to call
 
2170
        clean_uids_from_key() on a key.
 
2171
        (keyedit_menu): Call it from here as part of the "clean" command.
 
2172
 
 
2173
2005-05-26  David Shaw  <dshaw@jabberwocky.com>
 
2174
 
 
2175
        * g10.c (main): Default {export|import}-unusable-sigs to off until
 
2176
        the "clean" UI can be finished.
 
2177
 
 
2178
2005-05-24  Werner Koch  <wk@g10code.com>
 
2179
 
 
2180
        * passphrase.c (ask_passphrase): Unescape the description string.
 
2181
        * cardglue.c (unescape_status_string): Removed.  Changed all
 
2182
        caller to use ...
 
2183
        * misc.c (unescape_percent_string): New.
 
2184
 
 
2185
        * g10.c (add_notation_data): Check number of at-signs.
 
2186
 
 
2187
2005-05-23  Werner Koch  <wk@g10code.com>
 
2188
 
 
2189
        * app-openpgp.c, app-common.h: Again updated from gnupg 1.9 CVS.
 
2190
 
 
2191
        * cardglue.c (open_card): Check USE_AGENT.
 
2192
        (agent_scd_checkpin): Implemented Assuan part.
 
2193
        (agent_scd_change_pin): Ditto.
 
2194
 
 
2195
        * g10.c (main): Option --debug-ccid-driver may now be given
 
2196
        several times increase the debug level.
 
2197
 
 
2198
        * ccid-driver.c (parse_ccid_descriptor): Mark SCR335 FW version
 
2199
        5.14 as good.
 
2200
        (do_close_reader): Never do a reset. The caller should instead
 
2201
        make sure that the reader has been closed properly.  The new retry
 
2202
        code in ccid_slot_status will make sure that the readersatrts up
 
2203
        fine even if the last process didn't closed the USB connection
 
2204
        properly.
 
2205
        (ccid_get_atr): For certain readers try switching to ISO mode.
 
2206
        Thanks to Ludovic Rousseau for this hint and the magic numbers.
 
2207
        (print_command_failed): New.
 
2208
        (bulk_in): Use it here. Add new arg NO_DEBUG.
 
2209
        (ccid_slot_status): Disabled debugging.
 
2210
 
 
2211
2005-05-21  Werner Koch  <wk@g10code.com>
 
2212
 
 
2213
        * cardglue.c (send_status_info): Make CTRL optional.
 
2214
        (agent_scd_writekey, inq_writekey_parms): New.
 
2215
        (agent_openpgp_storekey): Removed.
 
2216
        * cardglue.h: Add a few more error code mappings.
 
2217
        * keygen.c (copy_mpi): Removed.
 
2218
        (save_unprotected_key_to_card): Changed to use agent_scd_writekey.
 
2219
        * app-common.h, app-openpgp.c, tlv.c, tlv.h: Updated from newer
 
2220
        version in gnupg 1.9 CVS.
 
2221
 
 
2222
2005-05-20  Werner Koch  <wk@g10code.com>
 
2223
 
 
2224
        * ccid-driver.c (ccid_transceive): Arghhh.  The seqno is another
 
2225
        bit in the R-block than in the I block, this was wrong at one
 
2226
        place. Fixes bug #419 and hopefully several others.
 
2227
 
 
2228
2005-05-19  Werner Koch  <wk@g10code.com>
 
2229
 
 
2230
        * app-common.h, app-openpgp.c, tlv.c, tlv.h: Updated from newer
 
2231
        version in gnupg 1.9 CVS.
 
2232
 
 
2233
2005-05-18  Werner Koch  <wk@g10code.com>
 
2234
 
 
2235
        * passphrase.c (agent_open): Made global and add arg TRY.
 
2236
        (agent_close): Made global.
 
2237
 
 
2238
        * app-common.h (app_t): Add a field to store the Assuan context.
 
2239
 
 
2240
2005-05-13  David Shaw  <dshaw@jabberwocky.com>
 
2241
 
 
2242
        * build-packet.c (do_comment): Removed.
 
2243
        (build_packet): Ignore comment packets.
 
2244
 
 
2245
        * export.c (do_export_stream): Don't export comment packets any
 
2246
        longer.
 
2247
 
 
2248
        * options.h, g10.c (main): Remove --sk-comments and
 
2249
        --no-sk-comments options, and replace with no-op.
 
2250
 
 
2251
2005-05-11  David Shaw  <dshaw@jabberwocky.com>
 
2252
 
 
2253
        * keygen.c (write_selfsigs): Rename from write_selfsig.  Write the
 
2254
        same selfsig into both the pk and sk, so that someone importing
 
2255
        their sk (which will get an autoconvert to the pk) won't end up
 
2256
        with two selfsigs.
 
2257
        (do_generate_keypair): Call it from here.
 
2258
 
 
2259
        * parse-packet.c (can_handle_critical_notation): New.  Check for
 
2260
        particular notation tags that we will accept when critical.
 
2261
        Currently, that's only preferred-email-encoding@pgp.com, since we
 
2262
        know how to handle it (pass it through to a mail program).
 
2263
        (can_handle_critical): Call it from here.
 
2264
        (parse_one_sig_subpkt): Sanity check that notations are
 
2265
        well-formed in that the internal lengths add up to the size of the
 
2266
        subpacket.
 
2267
 
 
2268
2005-05-07  Werner Koch  <wk@g10code.com>
 
2269
 
 
2270
        * ccid-driver.c (do_close_reader): Don't do a reset before close.
 
2271
        Some folks reported that it makes the SCR335 hang less often.
 
2272
        Look at the source on how to re-enable it.
 
2273
 
 
2274
2005-05-06  David Shaw  <dshaw@jabberwocky.com>
 
2275
 
 
2276
        * main.h, keygen.c (parse_expire_string, ask_expire_interval),
 
2277
        sign.c (sign_file, clearsign_file, sign_symencrypt_file), g10.c
 
2278
        (main), keyedit.c (sign_uids): Use seconds rather than days
 
2279
        internally to calculate expiration.  We no longer need the
 
2280
        day-based code as we don't generate v3 keys.
 
2281
 
 
2282
        * sign.c (sign_file, clearsign_file, sign_symencrypt_file): Use
 
2283
        the default sig expire value when signing in batchmode.
 
2284
 
 
2285
2005-05-05  David Shaw  <dshaw@jabberwocky.com>
 
2286
 
 
2287
        * Makefile.am, packet.h, main.h, comment.c: Remove comment.c.  We
 
2288
        don't use any of these functions any longer.
 
2289
 
 
2290
        * keygen.c (start_tree): New function to "prime" a KBNODE list.
 
2291
        (do_generate_keypair): Use it here rather than creating and
 
2292
        deleting a comment packet.
 
2293
 
 
2294
        * keygen.c (gen_elg, gen_dsa): Do not put public factors in secret
 
2295
        key as a comment.
 
2296
 
 
2297
        * options.h, encode.c (encode_simple, encode_crypt), keygen.c
 
2298
        (do_create): Remove disabled comment packet code.
 
2299
 
 
2300
        * keygen.c (keygen_set_std_prefs): Add SHA256 and BZip2 to default
 
2301
        preferences.
 
2302
 
 
2303
        * options.h, g10.c (main): Add new --default-sig-expire and
 
2304
        --default-cert-expire options.  Suggested by Florian Weimer.
 
2305
 
 
2306
        * main.h, keygen.c (parse_expire_string, ask_expire_interval): Use
 
2307
        defaults passed in, or "0" to control what default expiration is.
 
2308
 
 
2309
        * keyedit.c (sign_uids), sign.c (sign_file, clearsign_file,
 
2310
        sign_symencrypt_file): Call them here, so that default expiration
 
2311
        is used when --ask-xxxxx-expire is off.
 
2312
 
 
2313
2005-05-03  Werner Koch  <wk@g10code.com>
 
2314
 
 
2315
        * passphrase.c (agent_get_passphrase): Add new arg CACHEID.
 
2316
        Changed all callers.
 
2317
        (ask_passphrase): Add new arg CACHEID and use it in agent mode.
 
2318
        Changed all callers.
 
2319
        (passphrase_clear_cache): New arg CACHEID.  Changed all callers.
 
2320
        * cardglue.c (format_cacheid): New.
 
2321
        (pin_cb): Compute a cache ID.
 
2322
        (agent_scd_pksign, agent_scd_pkdecrypt): Use it.
 
2323
        (agent_clear_pin_cache): New.
 
2324
        * card-util.c (change_pin): Clear the PIN cache.
 
2325
        (check_pin_for_key_operation): Ditto.
 
2326
 
 
2327
2005-04-24  David Shaw  <dshaw@jabberwocky.com>
 
2328
 
 
2329
        * trustdb.h, trustdb.c (mark_usable_uid_certs): Add flags for the
 
2330
        no-pubkey and chosen revocation cases.
 
2331
        (clean_uid): New function to clean a user ID of unusable (as
 
2332
        defined by mark_usable_uid_certs) certs.
 
2333
 
 
2334
        * keyedit.c (keyedit_menu, menu_clean_uids): Call it here for new
 
2335
        "clean" command that removes unusable sigs from a key.
 
2336
 
 
2337
        * trustdb.h, keyedit.c (keyedit_menu, menu_select_uid_namehash):
 
2338
        Allow specifying user ID via the namehash from --with-colons
 
2339
        --fixed-list-mode --list-keys.  Suggested by Peter Palfrader.
 
2340
 
 
2341
2005-04-21  David Shaw  <dshaw@jabberwocky.com>
 
2342
 
 
2343
        * keyedit.c (sign_uids, keyedit_menu): When the user requests to
 
2344
        sign a key without specifying which user IDs to sign, and declines
 
2345
        to sign all user IDs, walk through the set of user IDs and prompt
 
2346
        for which to sign.
 
2347
 
 
2348
        * mainproc.c (symkey_decrypt_seskey): There is no need to have an
 
2349
        extra check for a bad passphrase and/or unknown cipher algorithm
 
2350
        here.  We'll fail quite happily later, and usually with a better
 
2351
        error message to boot.
 
2352
 
 
2353
2005-04-20  Werner Koch  <wk@g10code.com>
 
2354
 
 
2355
        * sign.c (sign_file, sign_symencrypt_file): Allow for hash
 
2356
        debugging.
 
2357
 
 
2358
2005-04-16  David Shaw  <dshaw@jabberwocky.com>
 
2359
 
 
2360
        * keyserver.c (keyserver_spawn): Free some memory.
 
2361
 
 
2362
        * sign.c (hash_for): Comments.
 
2363
 
 
2364
2005-04-11  Werner Koch  <wk@g10code.com>
 
2365
 
 
2366
        * g10.c (main, add_notation_data, add_policy_url)
 
2367
        (add_keyserver_url): Use isascii() to protect the isfoo macros and
 
2368
        to replace direct tests.  Possible problems noted by Christian
 
2369
        Biere.
 
2370
        * keyserver.c (parse_keyserver_uri): Ditto.
 
2371
 
 
2372
2005-04-07  Werner Koch  <wk@g10code.com>
 
2373
 
 
2374
        * g10.c (main): Declare --pipemode deprecated.
 
2375
        * misc.c (deprecated_command): New.
 
2376
 
 
2377
        * ccid-driver.c (ccid_slot_status): Fixed debug messages.
 
2378
 
 
2379
        * card-util.c (card_edit): Add command "verify".  Enhanced admin
 
2380
        command to allow optional arguments "on", "off" and "verify".
 
2381
        (card_status): Print private DOs in colon mode.
 
2382
        * app-openpgp.c (do_check_pin): Add hack to allow verification of
 
2383
        CHV3.
 
2384
 
 
2385
2005-04-01  Werner Koch  <wk@g10code.com>
 
2386
 
 
2387
        * keygen.c (keygen_set_std_prefs): Explain the chosen order of
 
2388
        AES key sizes.
 
2389
 
 
2390
2005-04-01  David Shaw  <dshaw@jabberwocky.com>
 
2391
 
 
2392
        * mainproc.c (proc_plaintext): Properly handle SIG+LITERAL
 
2393
        (old-style PGP) signatures that use hashes other than SHA-1,
 
2394
        RIPEMD160, or MD5.
 
2395
 
 
2396
2005-03-31  David Shaw  <dshaw@jabberwocky.com>
 
2397
 
 
2398
        * exec.h, exec.c (set_exec_path): Remove some dead code and change
 
2399
        all callers.  We no longer need to append to $PATH.
 
2400
 
 
2401
2005-03-31  Werner Koch  <wk@g10code.com>
 
2402
 
 
2403
        * passphrase.c (agent_open): Dropped support for W32 - is was
 
2404
        never actually used.  Removed support for the old non-assuan
 
2405
        protocol; there has never been a matured implementation and
 
2406
        gpg-agent is now arround for quite some time.  Rewritten to make
 
2407
        use of the Assuan code from ../util.
 
2408
        (gpga_protocol_codes): Removed.
 
2409
        (readn): Removed.
 
2410
        (agent_close): Simplified for use with Assuan.
 
2411
        (agent_get_passphrase, passphrase_clear_cache): Removed support
 
2412
        for old protocol.  Use only with ENABLE_CARD_SUPPORT defined.
 
2413
        (agent_send_all_options): Take assuan context instead of a file
 
2414
        descriptor.
 
2415
        (agent_send_option): Likewise. Use assuan_transact.
 
2416
        * passphrase.c (writen, readaline): Removed.
 
2417
 
 
2418
        * g10.c (main): Print a warning if --use-agent has been used but
 
2419
        it has not been build with support for it.
 
2420
 
 
2421
        * keydb.c (keydb_add_resource): Clarify meaning of flags.  Add new
 
2422
        flag 4.  Use log_info for errors registering the default secret key.
 
2423
        * g10.c (main): Flag the default keyrings.
 
2424
 
 
2425
2005-03-30  David Shaw  <dshaw@jabberwocky.com>
 
2426
 
 
2427
        * keyserver.c (keyserver_spawn): Don't mess about with the $PATH.
 
2428
        Rather, call keyserver helpers with the full path.  This fixes
 
2429
        some PATH-inspired DLL problems on W32.  Noted by Carlo Luciano
 
2430
        Bianco.
 
2431
 
 
2432
2005-03-30  Werner Koch  <wk@g10code.com>
 
2433
 
 
2434
        * cardglue.c (pin_cb): Print a warning if the info string hack is
 
2435
        not there.  This may happen due to typos in the translation.
 
2436
 
 
2437
2005-03-22  Werner Koch  <wk@g10code.com>
 
2438
 
 
2439
        * misc.c (w32_shgetfolderpath) [W32]: Changed declaration of
 
2440
        function ptr.  Noted by Tim Costello.
 
2441
        * apdu.c [W32]: Changed declaration of dlopened function pointers.
 
2442
 
 
2443
2005-03-21  David Shaw  <dshaw@jabberwocky.com>
 
2444
 
 
2445
        * gpgv.c: Stubs for tty_enable_completion() &
 
2446
        tty_disable_completion().
 
2447
 
 
2448
        * openfile.c (ask_outfile_name): Enable readline completion when
 
2449
        prompting for an output filename.
 
2450
 
 
2451
        * plaintext.c (ask_for_detached_datafile): Enable readline
 
2452
        completion when prompting for a detached sig datafile.
 
2453
 
 
2454
2005-03-21  Werner Koch  <wk@g10code.com>
 
2455
 
 
2456
        * keyedit.c (command_generator, keyedit_completion): Changed
 
2457
        indentation.
 
2458
        * card-util.c (command_generator, card_edit_completion): Ditto.
 
2459
 
 
2460
2005-03-19  David Shaw  <dshaw@jabberwocky.com>
 
2461
 
 
2462
        * card-util.c (command_generator, card_edit_completion)
 
2463
        [GNUPG_MAJOR_VERSION==1 && HAVE_LIBREADLINE]: New functions to
 
2464
        enable command completion in the --card-edit menu.
 
2465
        (card_edit): Call them here.
 
2466
 
 
2467
2005-03-18  David Shaw  <dshaw@jabberwocky.com>
 
2468
 
 
2469
        * keyedit.c (command_generator, keyedit_completion)
 
2470
        [HAVE_LIBREADLINE]: New functions to enable command completion in
 
2471
        the --edit-key menu.
 
2472
        (keyedit_menu): Call them here.
 
2473
 
 
2474
2005-03-17  David Shaw  <dshaw@jabberwocky.com>
 
2475
 
 
2476
        * getkey.c (get_seckey_byname2): If no explicit default key is
 
2477
        set, don't pick a disabled default.  Noted by David Crick.
 
2478
 
 
2479
        * Makefile.am: Calculate GNUPG_LIBEXECDIR directly.  Do not
 
2480
        redefine $libexecdir.
 
2481
 
 
2482
        * options.h, keyserver.c (parse_keyserver_options)
 
2483
        (keyserver_spawn): Don't treat 'verbose' and 'include-disabled' as
 
2484
        special.  Just pass them through silently to the keyserver helper.
 
2485
 
 
2486
2005-03-16  Werner Koch  <wk@g10code.com>
 
2487
 
 
2488
        * ccid-driver.c (parse_ccid_descriptor): Make SCM workaround
 
2489
        reader type specific.
 
2490
        (scan_or_find_devices): Do not check the interface subclass in the
 
2491
        SPR532 kludge, as this depends on the firmware version.
 
2492
        (ccid_get_atr): Get the Slot status first.  This solves the
 
2493
        problem with readers hanging on recent Linux 2.6.x.
 
2494
        (bulk_in): Add argument TIMEOUT and changed all callers to pass an
 
2495
        appropriate one.  Change the standard timeout from 10 to 5 seconds.
 
2496
        (ccid_slot_status): Add a retry code with an initial short timeout.
 
2497
        (do_close_reader): Do an usb_reset before closing the reader.
 
2498
 
 
2499
2005-03-14  Werner Koch  <wk@g10code.com>
 
2500
 
 
2501
        * card-util.c (card_status): Use isotimestamp and not the
 
2502
        localized asctimestamp to match the timezone used in the key
 
2503
        information.
 
2504
 
 
2505
        * cardglue.c (pin_cb): Disable debug output.
 
2506
 
 
2507
2005-03-11  Werner Koch  <wk@g10code.com>
 
2508
 
 
2509
        * keygen.c (gen_card_key_with_backup): Write status line with the
 
2510
        backup filename.
 
2511
 
 
2512
        * status.h, status.h (STATUS_BACKUP_KEY_CREATED): New.
 
2513
 
 
2514
2005-03-10  David Shaw  <dshaw@jabberwocky.com>
 
2515
 
 
2516
        * keyserver.c (parse_keyserver_options): Accept honor-http-proxy
 
2517
        as an alias for http-proxy.
 
2518
 
 
2519
        * delkey.c (do_delete_key, delete_keys): Fix problem with --expert
 
2520
        preventing --delete-secret-and-public-keys from deleting secret
 
2521
        keys.
 
2522
 
 
2523
2005-03-10  Werner Koch  <wk@g10code.com>
 
2524
 
 
2525
        * keyedit.c (keyedit_menu) [W32]: Run the trustdb stale check
 
2526
        earlier.
 
2527
 
 
2528
2005-03-07  Werner Koch  <wk@g10code.com>
 
2529
 
 
2530
        * cardglue.c (agent_scd_pkdecrypt, agent_scd_pksign)
 
2531
        (agent_scd_genkey, agent_scd_setattr, agent_scd_change_pin)
 
2532
        (agent_scd_checkpin, agent_openpgp_storekey): Make sure to send a
 
2533
        SC_OP_FAILURE after card operations which might change data.
 
2534
        * card-util.c (change_pin): Send a SC_OP_SUCCESS after a PIN has
 
2535
        been changed.
 
2536
        (change_name): Removed a debug output.
 
2537
        * status.h, status.c: New codes BAD_PASSPHRASE_PIN, SC_OP_FAILURE
 
2538
        and SC_OP_SUCCESS.
 
2539
 
 
2540
2005-02-24  David Shaw  <dshaw@jabberwocky.com>
 
2541
 
 
2542
        * keyedit.c (keyedit_menu): Only print the key signing hint when
 
2543
        signing from a place where it is useful (i.e. --edit-key and not
 
2544
        --sign-key).
 
2545
 
 
2546
2005-02-16  Werner Koch  <wk@g10code.com>
 
2547
 
 
2548
        * card-util.c (fetch_url): Fetch the key from the default
 
2549
        keyserver if no URL is available.
 
2550
 
 
2551
2005-02-15  Werner Koch  <wk@g10code.com>
 
2552
 
 
2553
        * passphrase.c (agent_get_passphrase): Don't call free_public_key
 
2554
        if PK is NULL.
 
2555
        (passphrase_clear_cache): Ditto. Removed debug output.
 
2556
        (passphrase_to_dek): Ditto.
 
2557
 
 
2558
2005-02-13  Werner Koch  <wk@g10code.com>
 
2559
 
 
2560
        * keyedit.c (cmds): Limit code to 80 columns. Add command
 
2561
        BKUPTOCARD.
 
2562
 
 
2563
2005-02-09  David Shaw  <dshaw@jabberwocky.com>
 
2564
 
 
2565
        * encr-data.c (decrypt_data): Use it here to turn off the "quick
 
2566
        check" bytes for PK decryptions.  This is in regards to the Mister
 
2567
        and Zuccherato attack on OpenPGP CFB mode.
 
2568
 
 
2569
        * mainproc.c (proc_symkey_enc): Set a flag to indicate that a
 
2570
        particular session key came from a passphrase and not a PK.
 
2571
 
 
2572
2005-02-08  Werner Koch  <wk@g10code.com>
 
2573
 
 
2574
        * misc.c (w32_shgetfolderpath): New.
 
2575
        (default_homedir): Use it to avoid problems under Windows95.
 
2576
 
 
2577
2005-02-06  David Shaw  <dshaw@jabberwocky.com>
 
2578
 
 
2579
        * trustdb.h, trustdb.c (trustdb_check_or_update): New.  If the
 
2580
        trustdb is dirty and --interactive is set, do an --update-trustdb.
 
2581
        If not interactive, do a --check_trustdb unless
 
2582
        --no-auto-check-trustdb is set.
 
2583
 
 
2584
        * import.c (import_keys_internal): Moved from here.
 
2585
 
 
2586
        * keyserver.c (keyserver_refresh): Call it here after all
 
2587
        refreshing has happened so that we don't rebuild after each
 
2588
        preferred keyserver set of imports, but do one big rebuild at the
 
2589
        end.  This is Debian bug #293816, noted by Kurt Roeckx.
 
2590
 
 
2591
2005-02-04  David Shaw  <dshaw@jabberwocky.com>
 
2592
 
 
2593
        * getkey.c (merge_selfsigs_subkey): Merged away definition from
 
2594
        the backsigs code.
 
2595
 
 
2596
2005-01-31  David Shaw  <dshaw@jabberwocky.com>
 
2597
 
 
2598
        * keygen.c (do_generate_keypair): Write the auth key to the card
 
2599
        before the encryption key.  This is a partial workaround for a PGP
 
2600
        bug (as of this writing, all versions including 8.1), that causes
 
2601
        it to try and encrypt to the most recent subkey regardless of
 
2602
        whether that subkey is actually an encryption type.  In this case,
 
2603
        the auth key is an RSA key so it succeeds.
 
2604
 
 
2605
2005-01-27  David Shaw  <dshaw@jabberwocky.com>
 
2606
 
 
2607
        * keyid.c (keyid_from_sk, keyid_from_pk): Use 0xFFFFFFFFFFFFFFFF
 
2608
        instead of 0x0000000000000000 for the invalid key ID since
 
2609
        all-zeroes is reserved for the anonymous recipient.
 
2610
 
 
2611
        * keyedit.c (change_passphrase), keygen.c (generate_subkeypair):
 
2612
        Fix a string ;)
 
2613
 
 
2614
2005-01-27  Werner Koch  <wk@g10code.com>
 
2615
 
 
2616
        * parse-packet.c (listfp): New.
 
2617
        (set_packet_list_mode): Intialize it to stdout or stderr depending
 
2618
        on a global option.  Made all printing in list mode use LISTFP.
 
2619
 
 
2620
        * keygen.c (generate_subkeypair): Detect primary key on-card and
 
2621
        ask for the passphrase.  Return an error if the primary key is a
 
2622
        plain stub.
 
2623
 
 
2624
        * keyedit.c (change_passphrase): Don't ever change any stub key.
 
2625
        Print a note if a key consists of only stub keys.  Reported by
 
2626
        Dany Nativel.  These are bugs #401 and #402.
 
2627
 
 
2628
2005-01-26  Werner Koch  <wk@g10code.com>
 
2629
 
 
2630
        * ccid-driver.c (parse_ccid_descriptor): Need the CSM workaround
 
2631
        also for newer firmware versions.  Need to get a list of fixed
 
2632
        firmware versions and use that.
 
2633
 
 
2634
2005-01-26  David Shaw  <dshaw@jabberwocky.com>
 
2635
 
 
2636
        * keyserver.c (parse_keyserver_uri): Allow RFC-2732 IPv6 [literal
 
2637
        address] syntax in keyserver URLs.
 
2638
        (keyserver_typemap): Map ftps if we are supporting it.
 
2639
 
 
2640
2005-01-25  Werner Koch  <wk@g10code.com>
 
2641
 
 
2642
        * keygen.c (do_generate_keypair): Don't continue after an error;
 
2643
        fixed at two places. Why at all didn't I used a goto to cleanup,
 
2644
        tsss?
 
2645
 
 
2646
        * app-openpgp.c (get_cached_data): New arg GET_IMMEDIATE to bypass
 
2647
        the cache.  Changed all callers.
 
2648
        (get_one_do): Bypass the cache if the value would have been read
 
2649
        directly for v1.1 cards.  It makes things a bit slower but only for
 
2650
        1.0 cards and there are not that many cards out in the wild.  This
 
2651
        is required to fix a caching bug when generating new keys; as a
 
2652
        side effect of the retrieval of the the C4 DO from the 6E DO the
 
2653
        chaced fingerprint will get updated to the old value and later
 
2654
        when signing the generated key the checking of the fingerprint
 
2655
        fails becuase it won't match the new one.  Thanks to Moritz for
 
2656
        analyzing this problem.
 
2657
        (verify_chv3): Removed the CHV status reread logic because we
 
2658
        won't cache the C4 DO anymore.
 
2659
 
 
2660
2005-01-21  David Shaw  <dshaw@jabberwocky.com>
 
2661
 
 
2662
        * keyserver.c (free_keyserver_spec): Fix small leak.
 
2663
        (keyserver_typemap): Map https if we are supporting it.
 
2664
 
 
2665
2005-01-20  Werner Koch  <wk@g10code.com>
 
2666
 
 
2667
        * cardglue.c (open_card): Issue new CARDCTRL(4) status.
 
2668
 
 
2669
        * gpgv.c (tty_fprintf): New stub.
 
2670
 
 
2671
        * card-util.c (card_status): Create a secret key stub on the fly
 
2672
        and print more information about a card key.
 
2673
        * import.c (pub_to_sec_keyblock, auto_create_card_key_stub): New.
 
2674
        * getkey.c (get_seckeyblock_byfprint): New.
 
2675
        * keylist.c (print_card_key_info): New.
 
2676
 
 
2677
        * g10.c (i18n_init) [W32]: Pass registry key to gettext
 
2678
        initialization.
 
2679
        * gpgv.c (i18n_init) [W32]: Ditto.
 
2680
 
 
2681
2005-01-18  Werner Koch  <wk@g10code.com>
 
2682
 
 
2683
        * misc.c (default_homedir): New.  Taken from gnupg 1.9.15.
 
2684
        * g10.c (main): Use it.
 
2685
        * gpgv.c (main): Ditto.
 
2686
 
 
2687
        * keylist.c (public_key_list): Do a trustdb staleness check before
 
2688
        opening the keyring.
 
2689
        (secret_key_list): Ditto.
 
2690
 
 
2691
2005-01-10  David Shaw  <dshaw@jabberwocky.com>
 
2692
 
 
2693
        * keyedit.c (keyedit_menu): Move command strings outside the
 
2694
        function to get ready for the readline completion code.
 
2695
 
 
2696
        * passphrase.c (readline, agent_send_option, agent_open,
 
2697
        agent_get_passphrase, passphrase_clear_cache): Rename readline()
 
2698
        to readaline() to keep readline library namespace clear.
 
2699
 
 
2700
2005-01-06  David Shaw  <dshaw@jabberwocky.com>
 
2701
 
 
2702
        * filter.h, armor.c (armor_filter): Use the eol string from the
 
2703
        armor filter context instead of hardcoding '\n' or '\r\n'.  If no
 
2704
        eol string is provided, default to '\n' or '\r\n' as appropriate.
 
2705
        (is_armor_header): Trim tabs in armor header lines as well.
 
2706
 
 
2707
        * keyserver.c (keyserver_spawn): Use it here to force '\n' line
 
2708
        endings since the keyserver output file gets a LF->CRLF expansion
 
2709
        on win32.
 
2710
 
 
2711
2005-01-05  David Shaw  <dshaw@jabberwocky.com>
 
2712
 
 
2713
        * g10.c (main): Typo.
 
2714
 
 
2715
        * armor.c (is_armor_header): Allow CR and LF (not just actual
 
2716
        spaces) in an armor header line (-----BEGIN etc).  This is needed
 
2717
        due to CRLF issues on win32.  As before, --openpgp makes it
 
2718
        strict.
 
2719
 
 
2720
2005-01-03  David Shaw  <dshaw@jabberwocky.com>
 
2721
 
 
2722
        * Makefile.am: Use @LIBUSB@ instead of @LIBUSB_LIBS@
 
2723
 
 
2724
        * import.c (delete_inv_parts): Comments on import-unusable-sigs.
 
2725
 
 
2726
2005-01-01  David Shaw  <dshaw@jabberwocky.com>
 
2727
 
 
2728
        * options.h, import.c (parse_import_options, delete_inv_parts):
 
2729
        Add import-unusable-sigs flag to enable importing unusable
 
2730
        (currently: expired) sigs.
 
2731
 
 
2732
        * options.h, export.c (parse_export_options, do_export_stream):
 
2733
        Add export-unusable-sigs flag to enable exporting unusable
 
2734
        (currently: expired) sigs.
 
2735
 
 
2736
2004-12-29  David Shaw  <dshaw@jabberwocky.com>
 
2737
 
 
2738
        * packet.h, getkey.c (merge_selfsigs_main, sig_to_revoke_info),
 
2739
        keyid.c (revokestr_from_pk), keyedit.c (show_key_with_all_names):
 
2740
        Show who revoked a key (either the same key or a designated
 
2741
        revoker) and when.
 
2742
 
 
2743
2004-12-28  Werner Koch  <wk@g10code.com>
 
2744
 
 
2745
        * ccid-driver.c (find_endpoint): New.
 
2746
        (scan_or_find_devices): Add new args to return endpoint info and
 
2747
        interface number.
 
2748
        (ccid_open_reader, ccid_shutdown_reader): Take care of these new
 
2749
        args.
 
2750
        (bulk_in, bulk_out): Use the correct endpoints.
 
2751
        (ccid_transceive_apdu_level): New.
 
2752
        (ccid_transceive): Divert to above.
 
2753
        (parse_ccid_descriptor): Allow APDU level exchange mode.
 
2754
        (do_close_reader): Pass the interface number to usb_release_interface.
 
2755
 
 
2756
2004-12-24  David Shaw  <dshaw@jabberwocky.com>
 
2757
 
 
2758
        * keyserver.c (keyserver_typemap): Only map HTTP and FTP if
 
2759
        libcurl has specifically been selected to handle them.
 
2760
 
 
2761
2004-12-22  David Shaw  <dshaw@jabberwocky.com>
 
2762
 
 
2763
        * options.h, keyserver.c (parse_keyserver_uri): Properly parse
 
2764
        auth data from URLs and pass to keyserver helpers.
 
2765
 
 
2766
        * keyserver.c (keyserver_typemap): New.  Map certain keyserver
 
2767
        types to a common type (e.g. ldaps -> ldap).  If we are building
 
2768
        with curl, map both http and ftp to curl.
 
2769
 
 
2770
        * build-packet.c (build_sig_subpkt): Only allow one preferred
 
2771
        keyserver subpacket at a time.
 
2772
 
 
2773
2004-12-21  David Shaw  <dshaw@jabberwocky.com>
 
2774
 
 
2775
        * keyedit.c (menu_set_keyserver_url): Make sure we only operate on
 
2776
        the chosen selfsig so we don't accidentally promote an older
 
2777
        selfsig to chosen.  Discovered by Simon Josefsson and 'Todd'.
 
2778
 
 
2779
        * keygen.c (ask_expire_interval): Fix typo.
 
2780
 
 
2781
2004-12-20  David Shaw  <dshaw@jabberwocky.com>
 
2782
 
 
2783
        * keylist.c (list_keyblock_print): Secret key listings should
 
2784
        always show everything (expired UIDs, revoked subkeys, etc, etc).
 
2785
 
 
2786
        * keyedit.c (keyedit_menu): Add additional help for the "sign"
 
2787
        flags.
 
2788
 
 
2789
2004-12-20  Werner Koch  <wk@g10code.com>
 
2790
 
 
2791
        * keygen.c (ask_expire_interval): For better translations chnage 2
 
2792
        strings.
 
2793
 
 
2794
        * seckey-cert.c (do_check): Handle case when checksum was okay but
 
2795
        passphrase still wrong.  Roman Pavlik found such a case.
 
2796
 
 
2797
2004-12-20  David Shaw  <dshaw@jabberwocky.com>
 
2798
 
 
2799
        * keyedit.c (keyedit_menu): Invisible alias "passwd" as
 
2800
        "password".
 
2801
 
 
2802
        * passphrase.c: Don't check for __CYGWIN__, so it is treated as a
 
2803
        unix-like system.
 
2804
 
 
2805
        * options.h, g10.c (main), textfilter.c (standard): Use new option
 
2806
        --rfc2440-text to determine whether to filter "<space>\t\r\n" or
 
2807
        just "\r\n" before canonicalizing text line endings.  Default to
 
2808
        "<space>\t\r\n".
 
2809
 
 
2810
2004-12-19  David Shaw  <dshaw@jabberwocky.com>
 
2811
 
 
2812
        * keygen.c (keygen_get_std_prefs): Set reference count when
 
2813
        creating the temporary user ID.
 
2814
 
 
2815
        * keyedit.c (keyedit_menu): Merge updpref and setpref.  Keep
 
2816
        updpref as an invisible alias.  Add invisible alias for revphoto.
 
2817
        Fix small memory leak when using "setpref" (not all of the uid was
 
2818
        freed).
 
2819
        (menu_revkey): Trigger a trust rebuild after revoking a key.
 
2820
        Don't allow revoking an already-revoked whole key.
 
2821
        (menu_revsubkey): Don't allow revoking an already-revoked subkey.
 
2822
 
 
2823
2004-12-18  David Shaw  <dshaw@jabberwocky.com>
 
2824
 
 
2825
        * keyedit.c (menu_revkey): Rename to menu_revsubkey.
 
2826
        (menu_revkey): New.  Revoke a whole key.
 
2827
        (keyedit_menu): Call it here for when 'revkey' is used without any
 
2828
        subkeys selected.  This is to be consistent with the other
 
2829
        functions which are "selected part if selected, whole key if not".
 
2830
 
 
2831
        * signal.c: Use only HAVE_LIBREADLINE to detect readline
 
2832
        availability.
 
2833
 
 
2834
        * Makefile.am: Link with readline where necessary.
 
2835
 
 
2836
2004-12-17  Werner Koch  <wk@g10code.com>
 
2837
 
 
2838
        * passphrase.c (agent_get_passphrase): Define NREAD locally as
 
2839
        size_t or int.
 
2840
 
 
2841
        * keylist.c (list_keyblock_print): Make field width an int.
 
2842
        * keyedit.c (show_key_with_all_names): Ditto.
 
2843
 
 
2844
2004-12-16  David Shaw  <dshaw@jabberwocky.com>
 
2845
 
 
2846
        * g10.c (main): Add --require-secmem/--no-require-secmem to cause
 
2847
        gpg to exit if it cannot lock memory.  Also remove --nrsign-key
 
2848
        and --nrlsign-key since this can better be done via --edit-key.
 
2849
 
 
2850
2004-12-15  David Shaw  <dshaw@jabberwocky.com>
 
2851
 
 
2852
        * apdu.c (apdu_send_le, apdu_send_direct), keylist.c
 
2853
        (status_one_subpacket, print_one_subpacket): Fix some compiler
 
2854
        warnings.
 
2855
 
 
2856
        * g10.c (main): Fix --compression-algo to take a string argument
 
2857
        like --compress-algo.
 
2858
 
 
2859
        * trustdb.c (uid_trust_string_fixed): For safety, check for a pk.
 
2860
 
 
2861
2004-12-14  David Shaw  <dshaw@jabberwocky.com>
 
2862
 
 
2863
        * keyedit.c (keyedit_menu): Re-remove the N_() markers.
 
2864
 
 
2865
        * trustdb.c (uid_trust_string_fixed): Show uids as revoked if the
 
2866
        key is revoked.
 
2867
 
 
2868
        * keyedit.c (show_key_with_all_names): Don't show validity for
 
2869
        secret key UIDs.
 
2870
 
 
2871
        * keyedit.c (parse_sign_type): New.  Figure out the flags (local,
 
2872
        nonrevoke, trust) for a signature.
 
2873
        (keyedit_menu): Call it here so we can mix and match flags, and
 
2874
        don't need "nrltsign", "ltsign", "tnrsign", etc, etc, etc.
 
2875
 
 
2876
2004-12-14  Werner Koch  <wk@g10code.com>
 
2877
 
 
2878
        * passphrase.c (agent_get_passphrase): Removed debug output
 
2879
 
 
2880
        * keyserver.c (keyserver_work, keyserver_spawn): Map ldaps to ldap.
 
2881
 
 
2882
        * keyedit.c (keyedit_menu): Removed the N_() markers from the
 
2883
        command names.
 
2884
        * card-util.c (card_edit): Ditto.
 
2885
 
 
2886
2004-12-13  Werner Koch  <wk@g10code.com>
 
2887
 
 
2888
        * passphrase.c (read_passphrase_from_fd): Fixed memory leak.
 
2889
        Noted by Andrei Darashenka.
 
2890
 
 
2891
2004-12-11  David Shaw  <dshaw@jabberwocky.com>
 
2892
 
 
2893
        * keyserver.c (parse_preferred_keyserver): Force preferred
 
2894
        keyserver subpackets to have a URI scheme specified.
 
2895
 
 
2896
2004-12-10  David Shaw  <dshaw@jabberwocky.com>
 
2897
 
 
2898
        * options.h, g10.c (main), textfilter.c (standard): Use --rfc2440
 
2899
        or --openpgp directly to determine the end of line hashing rule.
 
2900
 
 
2901
        * trustdb.c (uid_trust_string_fixed): Show uids as expired if the
 
2902
        key is expired.
 
2903
 
 
2904
2004-12-10  Werner Koch  <wk@g10code.com>
 
2905
 
 
2906
        * app-openpgp.c (send_fprtime_if_not_null): New.
 
2907
        (do_getattr): Add KEY_TIME.
 
2908
        (do_learn_status): Print KEY_TIME.
 
2909
        * cardglue.c (learn_status_cb): Parse KEY-TIME.
 
2910
        * card-util.c (card_status): Print creation time if available.
 
2911
 
 
2912
2004-12-09  David Shaw  <dshaw@jabberwocky.com>
 
2913
 
 
2914
        * options.h, g10.c (main), textfilter.c (len_without_trailing_ws):
 
2915
        Removed (not used).
 
2916
        (standard): 2440 says that textmode hashes should canonicalize
 
2917
        line endings to CRLF and remove spaces and tabs.  2440bis-12 says
 
2918
        to just canonicalize to CRLF.  So, we default to the 2440bis-12
 
2919
        behavior, but revert to the strict 2440 behavior if the user
 
2920
        specifies --rfc2440.  In practical terms this makes no difference
 
2921
        to any signatures in the real world except for a textmode detached
 
2922
        signature.
 
2923
 
 
2924
2004-12-09  Werner Koch  <wk@g10code.com>
 
2925
 
 
2926
        * passphrase.c (agent_get_passphrase): New args CUSTOM_PROMPT and
 
2927
        CUSTOM_DESCRIPTION.     Changed all callers.
 
2928
 
 
2929
        * app-openpgp.c (do_getattr, do_learn_status, do_setattr): Support
 
2930
        the new private DOs.
 
2931
        (do_change_pin): Add a "N" prefix to the strings so that the
 
2932
        callback can act accordingly for a new PIN.  Unfortunately this
 
2933
        breaks existing translations but I see no wother way to overvome
 
2934
        this.
 
2935
 
 
2936
        * cardglue.c (learn_status_cb): Ditto.
 
2937
        (agent_release_card_info): Ditto.
 
2938
        (struct pin_cb_info_s): Removed and changed all users.
 
2939
        (pin_cb): Reworked.
 
2940
 
 
2941
        * card-util.c (card_status): Print them
 
2942
        (card_edit): New command PRIVATEDO.
 
2943
        (change_private_do): New.
 
2944
 
 
2945
2004-12-09  David Shaw  <dshaw@jabberwocky.com>
 
2946
 
 
2947
        * keygen.c (ask_algo): Add a choose-your-own-capabilities option
 
2948
        for DSA.
 
2949
 
 
2950
2004-12-07  David Shaw  <dshaw@jabberwocky.com>
 
2951
 
 
2952
        * keygen.c (ask_keysize): Change strings to always use %u instead
 
2953
        of hardcoding key sizes.  Bump default to 2048.  Bump minimum down
 
2954
        to 512, where possible, but require --expert to get there.  DSA is
 
2955
        always 1024 unless --expert is given.
 
2956
 
 
2957
2004-11-29  David Shaw  <dshaw@jabberwocky.com>
 
2958
 
 
2959
        * getkey.c (parse_key_usage): New function to parse out key usage
 
2960
        flags.  Set PUBKEY_USAGE_UNKNOWN to handle flags that we don't
 
2961
        understand.
 
2962
        (fixup_uidnode, merge_selfsigs_main, merge_selfsigs_subkey): Call
 
2963
        it from here to remove duplicate code.
 
2964
 
 
2965
2004-11-26  David Shaw  <dshaw@jabberwocky.com>
 
2966
 
 
2967
        * export.c (do_export_stream): Allow export-minimal to work with
 
2968
        secret keys, even though a non-selfsig secret key signature is
 
2969
        rare.
 
2970
 
 
2971
        * options.h, export.c (parse_export_options, do_export_stream),
 
2972
        import.c (parse_import_options, import_keys_internal): Make the
 
2973
        import-options and export-options distinct since they can be mixed
 
2974
        together as part of keyserver-options.
 
2975
 
 
2976
2004-11-24  David Shaw  <dshaw@jabberwocky.com>
 
2977
 
 
2978
        * options.h, export.c (parse_export_options, do_export_stream):
 
2979
        Add "export-minimal" option to disregard any sigs except selfsigs.
 
2980
 
 
2981
        * trustdb.c (uid_trust_string_fixed): Use a string that can be
 
2982
        atoi-ed, but also has a comment for the translator.
 
2983
 
 
2984
        * trustdb.h, trustdb.c (uid_trust_string_fixed): New.  Return a
 
2985
        fixed-size translatable string similar to trust_value_to_string.
 
2986
        This allows for easier lining up of displays.
 
2987
 
 
2988
        * keyedit.c (show_key_with_all_names), keylist.c
 
2989
        (list_keyblock_print): Use it here to print validity strings.
 
2990
 
 
2991
        * gpgv.c: Stub.
 
2992
 
 
2993
2004-11-18  Werner Koch  <wk@g10code.com>
 
2994
 
 
2995
        * g10.c (S_IRGRP) [HAVE_DOSISH_SYSTEM]: Define to 0.
 
2996
 
 
2997
2004-11-17  Werner Koch  <wk@g10code.com>
 
2998
 
 
2999
        * g10.c (open_info_file): New.
 
3000
        (main): Unconditionally implement --status-file, --logger-file,
 
3001
        --attribute-file, --passphrase-file, --command-file.  This is not
 
3002
        generally useful but easy to support and might make scripting
 
3003
        under Windows easier.
 
3004
 
 
3005
2004-11-11  Werner Koch  <wk@g10code.com>
 
3006
 
 
3007
        * passphrase.c (readn): Fixed test against EINTR.
 
3008
 
 
3009
2004-11-05  Werner Koch  <wk@g10code.com>
 
3010
 
 
3011
        * app-openpgp.c: Made more strings translatable.
 
3012
        (verify_chv3, do_change_pin): Add a special prefix to the prompt
 
3013
        of the Admin PIN prompts.
 
3014
        * passphrase.c (ask_passphrase): Add arg TRYAGAIN_TEXT.  Changed
 
3015
        call callers.
 
3016
        * cardglue.c (pin_cb): Make use of the OPAQUE arg to pass
 
3017
        arguments to the PIN callback.  Use this to implement a way to
 
3018
        check for correct PIN repetition.  Changed all callers to pass an
 
3019
        opaque argument. Improved detection of Admin PIN prompts.
 
3020
 
 
3021
2004-11-04  David Shaw  <dshaw@jabberwocky.com>
 
3022
 
 
3023
        * plaintext.c (handle_plaintext): Don't try and create a
 
3024
        zero-length filename when using --use-embedded-filename with input
 
3025
        that has no filename (clearsigned or message generated from a
 
3026
        pipe).
 
3027
 
 
3028
        * encode.c (encode_simple, encode_crypt), progress.c
 
3029
        (handle_progress), sign.c (write_plaintext_packet): Fix a few
 
3030
        inconsistent calls (NULL filename means a pipe here, so don't
 
3031
        bother to check it twice).
 
3032
 
 
3033
2004-11-03  David Shaw  <dshaw@jabberwocky.com>
 
3034
 
 
3035
        * misc.c (print_digest_algo_note): The latest 2440bis drafts
 
3036
        deprecates MD5, so give a warning.
 
3037
        (print_pubkey_algo_note, print_cipher_algo_note,
 
3038
        print_digest_algo_note): Give the algorithm name in the
 
3039
        experimental algo warning.
 
3040
 
 
3041
2004-11-03  Timo Schulz  <twoaday@g10code.com>
 
3042
 
 
3043
        * passphrase.c (readn, writen): Use w32_strerror instead
 
3044
        of just showing the error number.
 
3045
        * misc.c [_WIN32]: Fix warning about missing prototypes.
 
3046
 
 
3047
2004-10-28  David Shaw  <dshaw@jabberwocky.com>
 
3048
 
 
3049
        * skclist.c (build_sk_list): Don't need to warn about
 
3050
        PGP-generated Elgamal signing keys since we no longer support any
 
3051
        Elgamal signing keys.
 
3052
 
 
3053
        * sign.c (sign_file, clearsign_file): Use "writing to" instead of
 
3054
        "writing to file" to match other strings.
 
3055
 
 
3056
        * pkclist.c (check_signatures_trust): Fix typo.  Noted by Moray
 
3057
        Allan.  This is Debian bug #278708.
 
3058
 
 
3059
        * passphrase.c (ask_passphrase, passphrase_to_dek): "password" ->
 
3060
        "passphrase".
 
3061
 
 
3062
        * keyedit.c (show_key_with_all_names): Show designated revoker as
 
3063
        part of translatable string.
 
3064
 
 
3065
2004-10-28  Werner Koch  <wk@g10code.com>
 
3066
 
 
3067
        * Makefile.am (other_libs): New.  Also include LIBICONV.  Noted by
 
3068
        Tim Mooney.
 
3069
 
 
3070
2004-10-28  Werner Koch  <wk@g10code.com>
 
3071
 
 
3072
        * apdu.c (open_pcsc_reader): Removed bad free in error handler.
 
3073
 
 
3074
2004-10-27  David Shaw  <dshaw@jabberwocky.com>
 
3075
 
 
3076
        * card-util.c, delkey.c, keygen.c, plaintext.c, keyedit.c,
 
3077
        passphrase.c, revoke.c: Collapse the two different "can't do that
 
3078
        in batch mode" strings into one.
 
3079
 
 
3080
        * keylist.c (status_one_subpacket): New.  Send the subpacket data
 
3081
        to the --status interface.
 
3082
 
 
3083
        * card-util.c (card_edit): Show when admin is enabled or not.
 
3084
 
 
3085
        * status.h, status.c: New STATUS_SIG_SUBPACKET type.
 
3086
 
 
3087
        * build-packet.c (build_sig_subpkt): Multiple keyserver URLs are
 
3088
        allowed.
 
3089
 
 
3090
        * keyring.c: Make some strings translatable.
 
3091
 
 
3092
        * exec.c, sign.c: Change "can't open file" to "can't open" and
 
3093
        "can't create file" to "can't create" to be consistent with other
 
3094
        strings so we don't have to translate both.
 
3095
 
 
3096
        * delkey.c, export.c, keyedit.c, pkclist.c, revoke.c, skclist.c:
 
3097
        Fix a few missed possible \"username\" quotes.
 
3098
 
 
3099
2004-10-26  Werner Koch  <wk@g10code.com>
 
3100
 
 
3101
        * app-openpgp.c (verify_chv3): The minimum length for CHV3 is
 
3102
        8. Changed string to match the other ones.
 
3103
 
 
3104
        * passphrase.c (agent_send_all_options): Try to deduce the ttyname
 
3105
        from stdin.
 
3106
 
 
3107
2004-10-22  Werner Koch  <wk@g10code.com>
 
3108
 
 
3109
        * card-util.c (fetch_url): Disable for gnupg 1.9
 
3110
        (card_generate_subkey): Ditto.
 
3111
        (card_store_subkey): Ditto.
 
3112
 
 
3113
2004-10-21  David Shaw  <dshaw@jabberwocky.com>
 
3114
 
 
3115
        * options.h, g10.c (main), mainproc.c (check_sig_and_print):
 
3116
        Rename verify-option show-validity to show-uid-validity to match
 
3117
        the similar list-option.
 
3118
 
 
3119
        * app-openpgp.c (verify_chv3): Fix typo.
 
3120
 
 
3121
2004-10-21  Werner Koch  <wk@g10code.com>
 
3122
 
 
3123
        * app-common.h (app_openpgp_storekey): Add prototype.
 
3124
 
 
3125
        * app-openpgp.c (do_sign): Replace asprintf by direct allocation.
 
3126
        This avoids problems with missing vasprintf implementations.
 
3127
 
 
3128
        * card-util.c (generate_card_keys): Add a #warning for gnupg 1.9
 
3129
        and use the same string there.
 
3130
 
 
3131
2004-10-20  David Shaw  <dshaw@jabberwocky.com>
 
3132
 
 
3133
        * g10.c (parse_list_options): Fix non-constant initializer so we
 
3134
        can build with C89.
 
3135
 
 
3136
2004-10-17  David Shaw  <dshaw@jabberwocky.com>
 
3137
 
 
3138
        * keylist.c (print_one_subpacket): The flags field should be hex.
 
3139
 
 
3140
2004-10-17  Werner Koch  <wk@g10code.com>
 
3141
 
 
3142
        * passphrase.c (agent_get_passphrase): Cast UIDLEN to int.  Noted
 
3143
        by Christian Cornelssen.
 
3144
 
 
3145
2004-10-16  David Shaw  <dshaw@jabberwocky.com>
 
3146
 
 
3147
        * parse-packet.c (parse_one_sig_subpkt, enum_sig_subpkt): Don't
 
3148
        BUG() on unknown subpackets.  Rather, just return them silently.
 
3149
 
 
3150
2004-10-15  Werner Koch  <wk@g10code.com>
 
3151
 
 
3152
        * status.h (STATUS_NEED_PASSPHRASE_PIN): New.
 
3153
        * status.c (get_status_string): Added.
 
3154
        * passphrase.c (ask_passphrase): Moved status printing to ..
 
3155
        * cardglue.c (pin_cb): .. here and issue new status message.
 
3156
 
 
3157
        * keyedit.c (sign_uids): Don't include the leading LF in the
 
3158
        translatable string but print them separately.
 
3159
 
 
3160
        * apdu.c (apdu_open_remote_reader) [_WIN32]: We don't have ENOSYS.
 
3161
 
 
3162
        * app-openpgp.c (parse_login_data): New.
 
3163
        (app_select_openpgp): Call it.
 
3164
        (do_setattr): Reparse it after change.
 
3165
 
 
3166
        * pkclist.c (do_edit_ownertrust): Add a note to translators.
 
3167
        * keygen.c (ask_user_id): Ditto.
 
3168
 
 
3169
        * helptext.c: Typo fix.
 
3170
 
 
3171
2004-10-14  David Shaw  <dshaw@jabberwocky.com>
 
3172
 
 
3173
        * keylist.c (list_keyblock_print): Show the fingerprint after the
 
3174
        key, not after the first user ID.
 
3175
 
 
3176
        * keyedit.c (show_key_with_all_names): Don't show validity if
 
3177
        we're just printing user IDs for signing.
 
3178
 
 
3179
        * armor.c (fake_packet): Properly handle the case where the line
 
3180
        is dash-space (i.e. a blank line that was quoted).  Give a warning
 
3181
        for bad dash escaping.
 
3182
 
 
3183
2004-10-14  Werner Koch  <wk@g10code.com>
 
3184
 
 
3185
        * export.c (do_export_stream) [ENABLE_SELINUX_HACKS]: Don't allow
 
3186
        secret key export.
 
3187
        * import.c (import_secret_one) [ENABLE_SELINUX_HACKS]: Likewise
 
3188
 
 
3189
        * misc.c (is_secured_filename): New.
 
3190
        * keydb.c (maybe_create_keyring)
 
3191
        * tdbio.c (tdbio_set_dbname)
 
3192
        * plaintext.c (handle_plaintext)
 
3193
        * openfile.c (copy_options_file, open_outfile)
 
3194
        * exec.c (exec_write)
 
3195
        * keygen.c (do_generate_keypair, gen_card_key_with_backup)
 
3196
 
 
3197
        * sign.c (sign_file, clearsign_file)
 
3198
        * keyring.c (create_tmp_file, do_copy): Check for secured files
 
3199
        before creating them.
 
3200
 
 
3201
        * keygen.c (print_status_key_created, read_parameter_file):
 
3202
        s/unsigned char/byte/ due to a strange typedef for RISC OS.  Noted
 
3203
        by Stefan.
 
3204
 
 
3205
2004-10-13  David Shaw  <dshaw@jabberwocky.com>
 
3206
 
 
3207
        * armor.c (fake_packet): Allow arbitrary dash-escaped lines as per
 
3208
        2440bis-10.  This is bug #158.
 
3209
 
 
3210
        * keyserver.c (keyserver_work): Handle keyserver timeouts.
 
3211
 
 
3212
        * pkclist.c (do_edit_ownertrust): Different prompt when we're
 
3213
        using direct trust since the meaning is different.
 
3214
 
 
3215
        * keyedit.c (trustsig_prompt): Change the strings to match the
 
3216
        ones in pkclist.c:do_edit_ownertrust to make translation easier.
 
3217
 
 
3218
        * trustdb.c (trust_model_string, get_validity): Add direct trust
 
3219
        model which applies to the key as a whole and not per-uid.
 
3220
 
 
3221
        * options.h, g10.c (parse_trust_model): New.
 
3222
        (main): Call it from here to do string-to-trust-model.
 
3223
 
 
3224
2004-10-13  Werner Koch  <wk@g10code.com>
 
3225
 
 
3226
        * tdbdump.c (import_ownertrust): Removed all log_error_f and
 
3227
        reworded the messages.
 
3228
 
 
3229
        * dermor.c: Include i18n.h.  Made 2 strings translatable.
 
3230
 
 
3231
        * misc.c (register_secured_file, is_secured_file)
 
3232
        (unregister_secured_file): New.
 
3233
        * keyring.c (do_copy, rename_tmp_file): Implement the SELinux hacks.
 
3234
        (keyring_register_filename): Ditto.
 
3235
        * tdbio.c (open_db): Ditto.
 
3236
        * openfile.c (copy_options_file, open_sigfile): Ditto.
 
3237
        * verify.c (verify_signatures, verify_one_file): Ditto.
 
3238
        * photoid.c (generate_photo_id): Ditto.
 
3239
        * keygen.c (read_parameter_file): Ditto.
 
3240
        * import.c (import_keys_internal): Ditto.
 
3241
        * decrypt.c (decrypt_message, decrypt_messages): Ditto.
 
3242
        * dearmor.c (dearmor_file, enarmor_file): Ditto.
 
3243
        * g10.c (main, print_mds): Ditto.
 
3244
        * exec.c (exec_write, exec_read): Ditto.
 
3245
        * card-util.c (change_login): Ditto.
 
3246
        * encode.c (encode_simple, encode_crypt): Ditto.
 
3247
 
 
3248
        * openfile.c (overwrite_filep, make_outfile_name, open_outfile)
 
3249
        (open_sigfile): Use iobuf_is_pipe_filename to check for pipes so
 
3250
        that special filesnames are taken into account. This is bug 327.
 
3251
 
 
3252
        * tdbdump.c (import_ownertrust): Ditto.
 
3253
 
 
3254
        * sign.c (write_plaintext_packet): Ditto.
 
3255
        (sign_file, clearsign_file, sign_symencrypt_file):
 
3256
 
 
3257
        * progress.c (handle_progress): Ditto.
 
3258
        * plaintext.c (handle_plaintext): Ditto.
 
3259
        (ask_for_detached_datafile, hash_datafiles):
 
3260
 
 
3261
        * encode.c (encode_simple, encode_crypt): Ditto.
 
3262
 
 
3263
2004-10-12  Werner Koch  <wk@g10code.com>
 
3264
 
 
3265
        * keygen.c (read_parameter_file): Changed to use iobuf based file
 
3266
        reading to allow the special file name feature to work.
 
3267
 
 
3268
        * keygen.c (read_parameter_file): New keyword "Handle".  This is
 
3269
        bug 287.
 
3270
        (print_status_key_not_created): New.
 
3271
        (print_status_key_created): Add new arg HANDLE.
 
3272
        (do_generate_keypair): Print not created status.
 
3273
        * status.c, tatus.h (STATUS_KEY_NOT_CREATED): New.
 
3274
 
 
3275
2004-10-11  David Shaw  <dshaw@jabberwocky.com>
 
3276
 
 
3277
        * pkclist.c (do_edit_ownertrust): Use the same translated string
 
3278
        for showing the user ID as mainproc.c:print_pkenc_list.
 
3279
 
 
3280
        * mainproc.c (print_pkenc_list): Allow translating the quotes
 
3281
        around the user ID.
 
3282
 
 
3283
        * card-util.c, g10.c, photoid.c, trustdb.c: The last of the \"%s\"
 
3284
        -> `%s' quoting for things that aren't user IDs.
 
3285
 
 
3286
        * keyserver.c (keyserver_spawn): If there is no keyserver host,
 
3287
        print the whole URI since it is self-contained.
 
3288
 
 
3289
2004-10-11  Werner Koch  <wk@g10code.com>
 
3290
 
 
3291
        * keyserver.c (keyserver_spawn): Print an empty string in log_info
 
3292
        if the host is not set (e.g. finger).
 
3293
 
 
3294
2004-10-10  David Shaw  <dshaw@jabberwocky.com>
 
3295
 
 
3296
        * card-util.c, keyedit.c, openfile.c, pkclist.c, delkey.c,
 
3297
        keygen.c, photoid.c, revoke.c: Some yes-or-no prompts end in
 
3298
        "(y/n)".  Some don't.  Consistently use y/n everywhere.
 
3299
 
 
3300
        * keygen.c (ask_key_flags): New.
 
3301
        (ask_algo): Call it here in --expert mode so we don't need to
 
3302
        specify each possible variation of RSA capabilities.
 
3303
 
 
3304
        * keygen.c (do_add_key_flags): The spec says that all primary keys
 
3305
        MUST be able to certify.  Force the certify flag on for primaries
 
3306
        (and off for subkeys).
 
3307
 
 
3308
        * keygen.c (generate_keypair): Fix generating keys with the auth
 
3309
        flag.
 
3310
 
 
3311
2004-10-08  David Shaw  <dshaw@jabberwocky.com>
 
3312
 
 
3313
        * encr-data.c (decrypt_data): Give a warning with a weak key, but
 
3314
        still allow to decrypt the message.
 
3315
 
 
3316
2004-10-07  David Shaw  <dshaw@jabberwocky.com>
 
3317
 
 
3318
        * pkclist.c (build_pk_list): Keystrify.
 
3319
 
 
3320
        * mainproc.c (check_sig_and_print), pkclist.c
 
3321
        (do_edit_ownertrust): Improve translatability of user ID prompts.
 
3322
 
 
3323
2004-10-06  David Shaw  <dshaw@jabberwocky.com>
 
3324
 
 
3325
        * helptext.c, pkclist.c (do_we_trust): It is not possible to get
 
3326
        here with a revoked or expired key, so BUG() that case.  Remove
 
3327
        question about overriding revoked/expired.  Also
 
3328
        --keyid-format-ify.
 
3329
        (do_we_trust_pre): Use print_pubkey_info() instead of printing the
 
3330
        info ourselves.
 
3331
 
 
3332
        * passphrase.c (passphrase_to_dek): Improve translatability of
 
3333
        user ID prompts.
 
3334
 
 
3335
        * keylist.c (print_pubkey_info): Use the user ID the pk was
 
3336
        selected by, if any.
 
3337
 
 
3338
        * keyedit.c (sign_uids, ask_revoke_sig): Improve translatability
 
3339
        of user ID prompts.
 
3340
        (ask_revoke_sig, menu_revsig): Try and use common strings for
 
3341
        these two functions so they don't need to be translated twice.
 
3342
 
 
3343
        * keyedit.c, keylist.c, keyserver.c, mainproc.c: The
 
3344
        revoked/expired/expires string change of 2004-09-29 was too
 
3345
        simple.  Use two styles for each tag.
 
3346
 
 
3347
2004-10-06  Werner Koch  <wk@g10code.com>
 
3348
 
 
3349
        * ccid-driver.c (ccid_open_reader): Store the vendor ID.
 
3350
        (ccid_transceive_secure): New.
 
3351
        (parse_ccid_descriptor): Workaround for an SCM reader problem.
 
3352
        (send_escape_cmd): New.
 
3353
 
 
3354
2004-10-05  David Shaw  <dshaw@jabberwocky.com>
 
3355
 
 
3356
        * passphrase.c (agent_get_passphrase): Use keystrs for agent
 
3357
        strings, and fix sprintf warnings.
 
3358
 
 
3359
        * keyserver.c (keyserver_spawn): Fix BUG() with certain sets of
 
3360
        mixed regular and preferred keyserver refreshes.  Noted by
 
3361
        Sebastian Wiesinger.
 
3362
 
 
3363
        * keyedit.c (show_key_with_all_names): Show uid validity in menu.
 
3364
 
 
3365
2004-10-03  Timo Schulz  <twoaday@g10code.de>
 
3366
 
 
3367
        * apdu.c (apdu_open_remote_reader) [_WIN32]: Do not set ENOSYS.
 
3368
 
 
3369
2004-10-03  David Shaw  <dshaw@jabberwocky.com>
 
3370
 
 
3371
        * keyedit.c (print_and_check_one_sig_colon): Fix bad keyids in
 
3372
        colon delsig output.  Noted by Peter Palfrader.
 
3373
        (show_prefs): Do not reference missing selfsig.  Noted by Alex
 
3374
        Moroz.
 
3375
 
 
3376
2004-10-01  Werner Koch  <wk@g10code.com>
 
3377
 
 
3378
        * gpgv.c (i18n_init): Always use LC_ALL.
 
3379
 
 
3380
2004-09-30  Werner Koch  <wk@g10code.com>
 
3381
 
 
3382
        * app-openpgp.c (verify_chv3) [GNUPG_MAJOR_VERSION!=1]: Typo fix.
 
3383
 
 
3384
2004-09-30  David Shaw  <dshaw@jabberwocky.com>
 
3385
 
 
3386
        * gpgv.c, keydb.c (keydb_add_resource): Factored keyring creation
 
3387
        out to ..
 
3388
        (maybe_create_keyring): .. new.  Make sure that we do the checks
 
3389
        in a locked state.  Problem reported by Stefan Haller.  Try to
 
3390
        create the home directory before acquiring a lock for the keyring.
 
3391
        From Werner on stable branch.
 
3392
 
 
3393
        * g10.c (main): Blow up if we didn't lose setuid.  From Werner on
 
3394
        stable branch.
 
3395
 
 
3396
2004-09-29  David Shaw  <dshaw@jabberwocky.com>
 
3397
 
 
3398
        * keyedit.c, keylist.c, keyserver.c, mainproc.c: Reduce the many
 
3399
        variations of "revoked" ("revoked", "[revoked]", " [revoked]",
 
3400
        "[revoked] ") "and" expired down to two to simplify translation.
 
3401
 
 
3402
2004-09-28  David Shaw  <dshaw@jabberwocky.com>
 
3403
 
 
3404
        * keyedit.c (print_and_check_one_sig): Account for the extra space
 
3405
        that show-sig-expire takes up so we do not wrap lines.
 
3406
        (show_key_with_all_names): No need to show subkey revocations as a
 
3407
        seperate line since we now show revocation date in the main subkey
 
3408
        line.
 
3409
 
 
3410
        * signal.c (got_fatal_signal): HAVE_DECL_SYS_SIGLIST is defined,
 
3411
        but zero if not found.  Noted by John Clizbe.
 
3412
 
 
3413
        * keyserver.c (parse_keyrec): Fix problem with non-expiring keys
 
3414
        appearing expired in --search-keys results.
 
3415
 
 
3416
2004-09-27  Werner Koch  <wk@g10code.com>
 
3417
 
 
3418
        * card-util.c (card_edit): Take admin only status from the table.
 
3419
 
 
3420
        * app-openpgp.c: Made all strings translatable.
 
3421
        (verify_chv3) [GNUPG_MAJOR_VERSION]: Make opt.allow_admin
 
3422
        available for use in gnupg 2.
 
3423
        (verify_chv3): Reimplemented countdown showing to use only
 
3424
        functions from this module.  Flush the CVH status cache on a
 
3425
        successful read.
 
3426
        (get_one_do): Hack to bypass the cache for cards versions > 1.0.
 
3427
        (store_fpr): Store the creation date for card version > 1.0.
 
3428
 
 
3429
2004-09-25  David Shaw  <dshaw@jabberwocky.com>
 
3430
 
 
3431
        * main.h, g10.c (main), card-util.c (change_pin): If "admin" has
 
3432
        not been issued, skip right to the CHV1/CHV2 PIN change.  No need
 
3433
        to show the unblock or admin PIN change option.
 
3434
        (card_edit): Add "admin" command to add admin commands to the
 
3435
        menu.  Do not allow admin commands until "admin" is given.
 
3436
 
 
3437
        * app-openpgp.c (verify_chv3): Show a countdown of how many wrong
 
3438
        admin PINs can be entered before the card is locked.
 
3439
 
 
3440
        * options.h, g10.c (main), app-openpgp.c (verify_chv3): Remove
 
3441
        --allow-admin.
 
3442
 
 
3443
2004-09-24  David Shaw  <dshaw@jabberwocky.com>
 
3444
 
 
3445
        * main.h: Create S2K_DIGEST_ALGO macro so we do not need to always
 
3446
        set opt.s2k_digest_algo.  This helps fix a problem with PGP 2.x
 
3447
        encrypted symmetric messages.  Change all callers (encode.c,
 
3448
        g10.c, keyedit.c, keygen.c, passphrase.c, sign.c).
 
3449
 
 
3450
        * armor.c, cardglue.c, getkey.c, import.c, keygen.c: Be consistent
 
3451
        in some more quoted strings.  Always use 'user ID', not 'user id',
 
3452
        "quotes" for user IDs, etc.
 
3453
 
 
3454
        * keyedit.c (keyedit_menu), gpgv.c (agent_scd_getattr (stub)),
 
3455
        keygen.c (copy_mpi, generate_raw_key): Fix a compile problem and a
 
3456
        few warnings when building without card support.
 
3457
 
 
3458
2004-09-23  Werner Koch  <wk@g10code.com>
 
3459
 
 
3460
        * card_util.c (generate_card_keys): ask whether backup should be
 
3461
        created.
 
3462
        (card_store_subkey): Factored some code out to ..
 
3463
        * keygen.c (save_unprotected_key_to_card): .. new function.
 
3464
        (gen_card_key_with_backup): New.
 
3465
        (generate_raw_key): New.
 
3466
        (generate_keypair): New arg BACKUP_ENCRYPTION_DIR.  Changed all
 
3467
        callers.
 
3468
        (do_generate_keypair): Divert to gen_card_key_with_backup when
 
3469
        desired.
 
3470
 
 
3471
        * apdu.c (open_pcsc_reader): Do not print empty reader string.
 
3472
 
 
3473
        * keygen.c (ask_algo): Allow creation of AUTH keys.
 
3474
 
 
3475
        * keyid.c (usagestr_from_pk): New.
 
3476
 
 
3477
        * app-openpgp.c (app_openpgp_storekey): Call flush_cache.
 
3478
        (get_cached_data): Move local data initialization to ..
 
3479
        (app_select_openpgp): .. here. Read some flags for later use.
 
3480
        (do_getattr): New read-only attribute EXTCAP.
 
3481
 
 
3482
        * keyedit.c (keyedit_menu): New command "keytocard"
 
3483
        (keyedit_menu): Bad hack for the not_with_sk element.
 
3484
        (show_key_with_all_names): Print the usage.
 
3485
        (find_pk_from_sknode): New.
 
3486
 
 
3487
        * card-util.c (card_store_subkey): New.
 
3488
        (copy_mpi): New.
 
3489
 
 
3490
        * cardglue.c (agent_openpgp_storekey): New.
 
3491
 
 
3492
2004-09-22  Werner Koch  <wk@g10code.com>
 
3493
 
 
3494
        * card-util.c (card_generate_subkey, generate_card_keys): Factored
 
3495
        common code out to ...
 
3496
        (get_info_for_key_operation, check_pin_for_key_operation)
 
3497
        (restore_forced_chv1, replace_existing_key_p)
 
3498
        (show_card_key_info): ... new functions.
 
3499
 
 
3500
2004-09-21  David Shaw  <dshaw@jabberwocky.com>
 
3501
 
 
3502
        * mainproc.c (check_sig_and_print), keyedit.c (show_prefs,
 
3503
        menu_set_keyserver_url): Make sure that keyserver URLs with
 
3504
        control characters inside are printed properly.  In fact, handle
 
3505
        them as UTF8.
 
3506
 
 
3507
        * keyedit.c (keyedit_menu): Don't show "addcardkey" in the menu if
 
3508
        we do not have card support.
 
3509
 
 
3510
        * keydb.h, keyserver.c (print_keyrec, keyserver_spawn): fpr is an
 
3511
        array of unsigned bytes.
 
3512
 
 
3513
2004-09-20  Werner Koch  <wk@g10code.com>
 
3514
 
 
3515
        * g10.c: Make -K an alias for --list-secret-keys.
 
3516
 
 
3517
        * keylist.c (print_card_serialno): New. Taken from gnupg 1.9.11.
 
3518
        (list_keyblock_print): Make use of it.
 
3519
        * keyedit.c (show_key_with_all_names): Print the card S/N.
 
3520
 
 
3521
        * keyedit.c (keyedit_menu): New command ADDCARDKEY.
 
3522
        * card-util.c (card_generate_subkey): New.
 
3523
        * keygen.c (generate_card_subkeypair): New.
 
3524
        (gen_card_key): New arg IS_PRIMARY; changed all callers.
 
3525
 
 
3526
        * cardglue.c (open_card): Use shutdown code if possible.
 
3527
        (check_card_serialno): Ditto.
 
3528
 
 
3529
        * ccid-driver.c (do_close_reader): Factored some code out from ...
 
3530
        (ccid_close_reader): ..here.
 
3531
        (ccid_shutdown_reader): New.
 
3532
 
 
3533
        * apdu.c (apdu_shutdown_reader): New.
 
3534
        (shutdown_ccid_reader): New.
 
3535
 
 
3536
2004-09-17  Werner Koch  <wk@g10code.com>
 
3537
 
 
3538
        * g10.c (list_config): New config option ccid-reader-id.
 
3539
        (gpgconf_list): Add "reader-port".
 
3540
 
 
3541
        * apdu.c (open_ccid_reader): New arg PORTSTR.  Pass it to
 
3542
        ccid_open_reader.
 
3543
        (apdu_open_reader): Pass portstr to open_ccid_reader.
 
3544
        (apdu_open_reader): No fallback if a full CCID reader id has been
 
3545
        given.
 
3546
 
 
3547
        * ccid-driver.c (ccid_get_reader_list): New.
 
3548
        (ccid_open_reader): Changed API to take a string for the reader.
 
3549
        Removed al the cruft for the libusb development vesion which seems
 
3550
        not to be maintained anymore and there are no packages anyway.
 
3551
        The stable library works just fine.
 
3552
        (struct ccid_reader_id_s): Deleted and replaced everywhere by a
 
3553
        simple string.
 
3554
        (usb_get_string_simple): Removed.
 
3555
        (bulk_in): Do valgrind hack here and not just everywhere.
 
3556
 
 
3557
2004-09-16  David Shaw  <dshaw@jabberwocky.com>
 
3558
 
 
3559
        * keyedit.c (show_key_with_all_names, show_prefs): Show preferred
 
3560
        keyserver(s) in "showpref" output.
 
3561
 
 
3562
        * keygen.c (keygen_add_keyserver_url), keyedit.c
 
3563
        (menu_set_keyserver_url): Allow setting a keyserver URL of "none"
 
3564
        to remove an existing keyserver URL.
 
3565
 
 
3566
        * keyedit.c (menu_set_keyserver_url): Confirm replacement of a
 
3567
        keyserver URL before overwriting the old one.
 
3568
 
 
3569
2004-09-15  David Shaw  <dshaw@jabberwocky.com>
 
3570
 
 
3571
        * gpgv.c (agent_scd_getattr): Stub.
 
3572
 
 
3573
        * misc.c (get_signature_count): New.  Get the signature count from
 
3574
        a smartcard.
 
3575
        (pct_expando): Call it here so the %c expando becomes the number
 
3576
        of signatures issued.  This allows for notations or the like with
 
3577
        an automatic signature count.
 
3578
 
 
3579
        * ccid-driver.c (usb_get_string_simple): Replacement function to
 
3580
        work with older libusb.
 
3581
 
 
3582
2004-09-15  Werner Koch  <wk@g10code.com>
 
3583
 
 
3584
        * g10.c [HAVE_LIBUSB]: New option --debug-ccid-driver.
 
3585
 
 
3586
        * ccid-driver.c (read_device_info): Removed.
 
3587
        (make_reader_id, scan_or_find_devices): New.
 
3588
        (ccid_open_reader): Simplified by make use of the new functions.
 
3589
        (ccid_set_debug_level): New.  Changed the macros to make use of
 
3590
        it.  It has turned out that it is often useful to enable debugging
 
3591
        at runtime so I added this option.
 
3592
 
 
3593
2004-09-13  David Shaw  <dshaw@jabberwocky.com>
 
3594
 
 
3595
        * getkey.c (premerge_public_with_secret): Fix subkey<->binding sig
 
3596
        mismatch when some secret subkeys are missing.  Discovered by
 
3597
        Michael Roth.
 
3598
 
 
3599
        * main.h, keylist.c (print_subpackets_colon): Make a public
 
3600
        function.
 
3601
 
 
3602
        * keyedit.c (print_and_check_one_sig_colon): New.  Print a
 
3603
        with-colons version of the sig record.
 
3604
        (menu_delsig): Call it here for a with-colons delsig.
 
3605
 
 
3606
2004-09-12  David Shaw  <dshaw@jabberwocky.com>
 
3607
 
 
3608
        * options.h, keylist.c (print_one_subpacket,
 
3609
        print_subpackets_colon): Print a spk record for each request
 
3610
        subpacket.
 
3611
        (list_keyblock_colon): Call them here.
 
3612
 
 
3613
        * g10.c (parse_subpacket_list, parse_list_options): New.  Make the
 
3614
        list of subpackets we are going to print.
 
3615
        (main): Call them here.
 
3616
 
 
3617
2004-09-11  David Shaw  <dshaw@jabberwocky.com>
 
3618
 
 
3619
        * card-util.c (fetch_url, card_edit): Use the pubkey URL stored on
 
3620
        the card to fetch an updated copy.  Works with either straight
 
3621
        URLs or HKP or LDAP keyservers.
 
3622
 
 
3623
        * keyserver-internal.h, keyserver.c (keyserver_import_fprint),
 
3624
        import.c (revocation_present): Use a keyserver_spec so the caller
 
3625
        can pass in whatever keyserver they like.
 
3626
 
 
3627
2004-09-10  David Shaw  <dshaw@jabberwocky.com>
 
3628
 
 
3629
        * app-openpgp.c (get_cached_data): Avoid mallocing zero since it
 
3630
        breaks us when using --enable-m-guard.
 
3631
 
 
3632
        * ccid-driver.c (read_device_info): Fix segfault when usb device
 
3633
        is not accessible.
 
3634
        (ccid_open_reader): Allow working with an even older version of
 
3635
        libusb (usb_busses global instead of usb_get_busses()).
 
3636
 
 
3637
2004-09-09  Werner Koch  <wk@g10code.com>
 
3638
 
 
3639
        * cardglue.h: Add members for CA fingerprints.
 
3640
        * cardglue.c (agent_release_card_info): Invalid them.
 
3641
        (learn_status_cb): Store them.
 
3642
 
 
3643
        * app-common.h, app-openpgp.c, iso7816.c, iso7816.h
 
3644
        * apdu.c, apdu.h, ccid-driver.c, ccid-driver.h
 
3645
        * card-util.c: Updated from current gnupg-1.9.
 
3646
 
 
3647
        Changes are:
 
3648
 
 
3649
        * ccid-driver.h (CCID_DRIVER_ERR_ABORTED): New.
 
3650
        * ccid-driver.c (ccid_open_reader): Support the stable 0.1 version
 
3651
        of libusb.
 
3652
        (ccid_get_atr): Handle short messages.
 
3653
        * apdu.c (my_rapdu_get_status): Implemented.
 
3654
        * apdu.c: Include <signal.h>.
 
3655
        * apdu.c (reader_table_s):  Add function pointers for the backends.
 
3656
        (apdu_close_reader, apdu_get_status, apdu_activate)
 
3657
        (send_apdu): Make use of them.
 
3658
        (new_reader_slot): Intialize them to NULL.
 
3659
        (dump_ccid_reader_status, ct_dump_reader_status): New.
 
3660
        (dump_pcsc_reader_status): New.
 
3661
        (open_ct_reader, open_pcsc_reader, open_ccid_reader)
 
3662
        (open_osc_reader, open_rapdu_reader): Intialize function pointers.
 
3663
        (ct_activate_card, ct_send_apdu, pcsc_send_apdu, osc_send_apdu)
 
3664
        (error_string): Removed.  Replaced by apdu_strerror.
 
3665
        (get_ccid_error_string): Removed.
 
3666
        (ct_activate_card): Remove the unused loop.
 
3667
        (reset_ct_reader): Implemented.
 
3668
        (ct_send_apdu): Activate the card if not yet done.
 
3669
        (pcsc_send_apdu): Ditto.
 
3670
        * ccid-driver.h: Add error codes.
 
3671
        * ccid-driver.c: Implement more or less proper error codes all
 
3672
        over the place.
 
3673
        * apdu.c (apdu_send_direct): New.
 
3674
        (get_ccid_error_string): Add some error code mappings.
 
3675
        (send_apdu): Pass error codes along for drivers already supporting
 
3676
        them.
 
3677
        (host_sw_string): New.
 
3678
        (get_ccid_error_string): Use above.
 
3679
        (send_apdu_ccid): Reset the reader if it has not yet been done.
 
3680
        (open_ccid_reader): Don't care if the ATR can't be read.
 
3681
        (apdu_activate_card): New.
 
3682
        (apdu_strerror): New.
 
3683
        (dump_reader_status): Only enable it with opt.VERBOSE.
 
3684
        * iso7816.c (map_sw): Add mappings for the new error codes.
 
3685
        * apdu.c (open_ct_reader, open_pcsc_reader, open_ccid_reader)
 
3686
        (reset_ccid_reader, open_osc_reader): Call dump_reader_status only
 
3687
        in verbose mode.
 
3688
        * app-openpgp.c (do_getattr): Fix for sending CA-FPR.
 
3689
        * app-openpgp.c (app_openpgp_readkey): Fixed check for valid
 
3690
        exponent.
 
3691
        * app-openpgp.c (do_setattr): Sync FORCE_CHV1.
 
3692
        * card-util.c (change_login): Kludge to allow reading data from a
 
3693
        file.
 
3694
        (card_edit): Pass ARG_STRING to change_login.
 
3695
        (card_status): Print CA fingerprints.
 
3696
        (change_cafpr): New.
 
3697
        (card_edit): New command CAFPR.
 
3698
 
 
3699
2004-04-30  Werner Koch  <wk@gnupg.org>
 
3700
 
 
3701
        * g10.c (main) <gpgconf>: Use gpg.conf and not /dev/null as
 
3702
        default filename.
 
3703
 
 
3704
2004-04-28  Werner Koch  <wk@gnupg.org>
 
3705
 
 
3706
        * card-util.c (card_edit): Remove PIN verification.
 
3707
        (generate_card_keys): New arg SERIALNO.  Do PIN verification here
 
3708
        after resetting forced_chv1.
 
3709
 
 
3710
 
 
3711
2004-09-09  Werner Koch  <wk@g10code.com>
 
3712
 
 
3713
        * signal.c (got_fatal_signal): Do readline cleanup.  Print signal
 
3714
        number if we can't print the name. Use new autoconf macro
 
3715
        HAVE_DECL_SYS_SIGLIST.
 
3716
        (get_signal_name): Removed.
 
3717
 
 
3718
        * photoid.c: Include ttyio.h.
 
3719
 
 
3720
        * parse-packet.c (skip_rest): Removed.  Changed all callers to use
 
3721
        the new iobuf_skip_reset.  Orginal patch by Florian Weimer.
 
3722
 
 
3723
2004-09-07  Werner Koch  <wk@g10code.de>
 
3724
 
 
3725
        * photoid.c (generate_photo_id): Use tty_printf and not just
 
3726
        printf.  Put _() around one string.
 
3727
 
 
3728
2004-09-03  David Shaw  <dshaw@jabberwocky.com>
 
3729
 
 
3730
        * keyserver.c (parse_keyrec): Force the 'e'xpired flag on as soon
 
3731
        as we know the key is definitely expired.  Some translatable
 
3732
        string cleanup.
 
3733
 
 
3734
2004-08-27  David Shaw  <dshaw@jabberwocky.com>
 
3735
 
 
3736
        * encode.c, exec.c, g10.c, sign.c: Some translatable string
 
3737
        cleanup.  Change some "this" to `this'.
 
3738
 
 
3739
2004-08-23  David Shaw  <dshaw@jabberwocky.com>
 
3740
 
 
3741
        * keyserver.c (keyserver_spawn): Show log line for what keyserver
 
3742
        action we are taking.
 
3743
 
 
3744
        * keyid.c (keystr): If printing a keyid that lacks the high 4
 
3745
        bytes, print the low 4 alone.
 
3746
        (keystr_from_desc): Handle short keyids and warn on v3
 
3747
        fingerprints.
 
3748
 
 
3749
        * keydb.h, getkey.c (get_user_id_printable,
 
3750
        get_user_id_string_printable): Rename to get_user_id_native and
 
3751
        get_user_id_string_native and remove the printable stuff since
 
3752
        we're print-ifying valid utf8 characters.  Change all callers in
 
3753
        import.c, sign.c, keylist.c, and encode.c.
 
3754
 
 
3755
        * keyserver.c (keyserver_search_prompt): Make sure the search
 
3756
        string is converted from UTF-8 before display.
 
3757
 
 
3758
2004-08-19  Werner Koch  <wk@g10code.de>
 
3759
 
 
3760
        * seskey.c (encode_session_key): Changed the zero random byte
 
3761
        substituting code to actually do clever things.  Thanks to
 
3762
        Matthias Urlichs for noting the implementation problem.
 
3763
 
 
3764
2004-08-18  Marcus Brinkmann  <marcus@g10code.de>
 
3765
 
 
3766
        * passphrase.c (agent_get_passphrase): Fix detection of gpg-agent
 
3767
        cancellation.
 
3768
 
 
3769
2004-08-08  David Shaw  <dshaw@jabberwocky.com>
 
3770
 
 
3771
        * plaintext.c (handle_plaintext): Bigger buffer for extra safety.
 
3772
 
 
3773
        * g10.c (main): New alias --throw-keyid for --throw-keyids, so
 
3774
        that it continues to work in old configuration files.  Noted by
 
3775
        Jens Adam.
 
3776
 
 
3777
        * pkclist.c (algo_available): --pgp8 now allows blowfish, zlib,
 
3778
        and bzip2.
 
3779
 
 
3780
        * status.c (do_get_from_fd): Flush stdout if status isn't flushing
 
3781
        it for us.  This guarantees that any menus that were displayed
 
3782
        before the prompt don't get stuck in a buffer.  Noted by Peter
 
3783
        Palfrader.  This is Debian bug #254072.
 
3784
 
 
3785
        * sign.c (update_keysig_packet): Revert change of 2004-05-18.  It
 
3786
        is not appropriate to strip policy and notations when remaking a
 
3787
        sig.  That should only happen when specifically requested by the
 
3788
        user.
 
3789
 
 
3790
2004-08-05  David Shaw  <dshaw@jabberwocky.com>
 
3791
 
 
3792
        * armor.c (radix64_read): No armor CRC is legal according to the
 
3793
        spec (the CRC is a MAY).
 
3794
 
 
3795
2004-07-28  David Shaw  <dshaw@jabberwocky.com>
 
3796
 
 
3797
        * misc.c (argsplit): Properly split quoted args from the keyword
 
3798
        and trim whitespace afterwards.
 
3799
 
 
3800
2004-07-27  David Shaw  <dshaw@jabberwocky.com>
 
3801
 
 
3802
        * misc.c (optsep): Add the ability to understand keyword="quoted
 
3803
        arg with spaces" type options.
 
3804
 
 
3805
2004-07-16  David Shaw  <dshaw@jabberwocky.com>
 
3806
 
 
3807
        * keylist.c (list_keyblock_print): Always use the new listing
 
3808
        format where uids are always on a line for themselves.  Mark
 
3809
        expired secret keys as expired.
 
3810
 
 
3811
        * options.h, g10.c (main): Rename list show-validity to
 
3812
        show-uid-validity as it only shows for uids.
 
3813
 
 
3814
        * armor.c (armor_filter): Do not use padding to get us to 8 bytes
 
3815
        of header.  Rather, use 2+4 as two different chunks.  This avoids
 
3816
        a fake filename of "is".
 
3817
 
 
3818
2004-07-15  David Shaw  <dshaw@jabberwocky.com>
 
3819
 
 
3820
        * keyedit.c (sign_uids): Properly handle remaking a self-sig on
 
3821
        revoked or expired user IDs.  Also, once we've established that a
 
3822
        given uid cannot or will not be signed, don't continue to ask
 
3823
        about each sig.
 
3824
 
 
3825
        * mainproc.c (proc_symkey_enc), seckey-cert.c (do_check): Check
 
3826
        the S2K hash algorithm before we try to generate a passphrase
 
3827
        using it.  This prevents hitting BUG() when generating a
 
3828
        passphrase using a hash that we don't have.
 
3829
 
 
3830
        * sign.c (sign_symencrypt_file): Allow using --force-mdc in --sign
 
3831
        --symmetric messages.
 
3832
 
 
3833
        * g10.c (main): Alias --charset as --display-charset to help avoid
 
3834
        the continuing confusion and make room for possible changes in
 
3835
        devel.
 
3836
 
 
3837
        * parse-packet.c (parse_plaintext): Show the hex value for the
 
3838
        literal packet mode since it may not be printable.
 
3839
 
 
3840
        * keygen.c (make_backsig): Make sure that the backsig was built
 
3841
        successfully before we try and use it.
 
3842
 
 
3843
        * status.h, status.c (get_status_string), plaintext.c
 
3844
        (handle_plaintext): New status tags PLAINTEXT and
 
3845
        PLAINTEXT_LENGTH.
 
3846
 
 
3847
2004-06-16  Werner Koch  <wk@gnupg.org>
 
3848
 
 
3849
        * free-packet.c (copy_secret_key): Get last fix right.
 
3850
 
 
3851
2004-06-16  Werner Koch  <wk@gnupg.org>
 
3852
 
 
3853
        * free-packet.c (copy_secret_key): Fixed memory leak when D is not
 
3854
        NULL.
 
3855
 
 
3856
        * passphrase.c (passphrase_to_dek): Added a few comments to the
 
3857
        code.
 
3858
 
 
3859
2004-05-26  David Shaw  <dshaw@jabberwocky.com>
 
3860
 
 
3861
        * keyserver.c (keyserver_refresh): Keep track of keys already
 
3862
        fetched so we don't do a regular keyserver fetch if the preferred
 
3863
        keyserver fetch has exhausted the list.
 
3864
 
 
3865
2004-05-23  David Shaw  <dshaw@jabberwocky.com>
 
3866
 
 
3867
        * verify.c (verify_signatures): Verify multiple files in the same
 
3868
        order in which we hashed them when issuing the signature.  Noted
 
3869
        by Nicholas Cole.
 
3870
 
 
3871
        * pkclist.c (do_edit_ownertrust): Fix a kbnode leak and do another
 
3872
        keyid-format conversion.
 
3873
 
 
3874
2004-05-22  Werner Koch  <wk@gnupg.org>
 
3875
 
 
3876
        * trustdb.c (check_regexp): s/EXP/EXPR/.
 
3877
 
 
3878
        * keyedit.c (trustsig_prompt): Remoev useless range check.
 
3879
 
 
3880
        * options.h: Renamed ctrl to glo_ctrl.  Changed all users.
 
3881
 
 
3882
        * ccid-driver.c (ccid_open_reader): Print a warning when CCID
 
3883
        can't be used.
 
3884
 
 
3885
2004-05-21  David Shaw  <dshaw@jabberwocky.com>
 
3886
 
 
3887
        * mainproc.c (check_sig_and_print): If we're honoring preferred
 
3888
        keyservers, and auto-key-retrieve is set, try and get a missing
 
3889
        key from the preferred keyserver subpacket when we verify the sig.
 
3890
 
 
3891
        * gpgv.c (parse_preferred_keyserver, free_keyserver_spec): Stubs.
 
3892
 
 
3893
        * keyserver.c (keyidlist): Use new parse_preferred_keyserver
 
3894
        function.
 
3895
        (keyserver_work): Use the passed-in keyserver spec rather than the
 
3896
        options global one.
 
3897
 
 
3898
        * keyserver-internal.h, keyserver.c (parse_preferred_keyserver):
 
3899
        New function to take a sig and return a split out keyserver_spec.
 
3900
        (keyserver_import_keyid): Now takes a keyserver_spec.
 
3901
 
 
3902
        * keyserver.c (keyidlist): Go back to the old fast keyid lister.
 
3903
        Only merge selfsigs if we have to for honor-keyserver-url.
 
3904
        (keyserver_refresh): Keyserver URL handler moved here.
 
3905
        (calculate_keyid_fpr): Removed.
 
3906
 
 
3907
        * keydb.h, keyid.c (keystr_from_desc): Calculate a key string from
 
3908
        a KEYDB_SEARCH_DESC.
 
3909
 
 
3910
        * keyserver.c (keyserver_spawn): Fix keyserver options on tempfile
 
3911
        only platforms.  Noted by Roger Sondermann.
 
3912
 
 
3913
2004-05-20  David Shaw  <dshaw@jabberwocky.com>
 
3914
 
 
3915
        * keyserver.c (keyserver_work): Allow --refresh-keys with a
 
3916
        preferred keyserver to happen even if there is no global keyserver
 
3917
        set.
 
3918
 
 
3919
        * sig-check.c (do_check_messages): No need to check for Elgamal
 
3920
        signatures any longer.
 
3921
        (do_check_messages, do_check, check_key_signature2):
 
3922
        --keyid-format conversion.
 
3923
 
 
3924
        * pkclist.c (show_paths, edit_ownertrust): Remove some unused
 
3925
        code.
 
3926
 
 
3927
        * options.h (ctrl): New for member IN_AUTO_KEY_RETRIEVE.
 
3928
 
 
3929
        * mainproc.c (check_sig_and_print): track whether we are
 
3930
        retrieving a key.
 
3931
 
 
3932
        * status.c (status_currently_allowed): New.
 
3933
        (write_status_text, write_status_text_and_buffer): Use it here.
 
3934
 
 
3935
        * g10.c: New command --gpgconf-list.
 
3936
        (gpgconf_list): New.  From Werner on stable branch.
 
3937
 
 
3938
2004-05-19  David Shaw  <dshaw@jabberwocky.com>
 
3939
 
 
3940
        * pubkey-enc.c (get_session_key, get_it), keyedit.c
 
3941
        (show_key_with_all_names, show_basic_key_info): --keyid-format
 
3942
        conversion.
 
3943
 
 
3944
2004-05-18  David Shaw  <dshaw@jabberwocky.com>
 
3945
 
 
3946
        * sign.c (update_keysig_packet): Policies and notations should be
 
3947
        stripped out when remaking a self-signature.  Noted by Atom
 
3948
        Smasher.
 
3949
 
 
3950
        * keyserver.c (parse_keyserver_uri): Fix compiler warnings.
 
3951
 
 
3952
2004-05-11  David Shaw  <dshaw@jabberwocky.com>
 
3953
 
 
3954
        * options.h, keyserver-internal.h, keyserver.c
 
3955
        (parse_keyserver_uri): Improved URI parser that keeps track of the
 
3956
        path information and doesn't modify the input string.
 
3957
        (keyserver_spawn): Tell keyserver plugins about the path.
 
3958
 
 
3959
2004-05-11  Werner Koch  <wk@gnupg.org>
 
3960
 
 
3961
        * keylist.c (show_policy_url, show_keyserver_url, show_notation)
 
3962
        (list_one): Use const char* for i18n string helpers.
 
3963
 
 
3964
        * keygen.c (do_generate_keypair, read_parameter_file): Really
 
3965
        close the files.
 
3966
        (do_generate_keypair): Create the secret key file using safe
 
3967
        permissions.  Noted by Atom Smasher.
 
3968
 
 
3969
2004-05-10  David Shaw  <dshaw@jabberwocky.com>
 
3970
 
 
3971
        * options.h, mainproc.c (symkey_decrypt_seskey), keyserver.c
 
3972
        (struct keyrec, parse_keyrec, keyserver_search_prompt), keyedit.c
 
3973
        (keyedit_menu), g10.c (add_keyserver_url, add_policy_url): Fix
 
3974
        some compiler warnings.
 
3975
 
 
3976
2004-05-08  David Shaw  <dshaw@jabberwocky.com>
 
3977
 
 
3978
        * keyedit.c (keyedit_menu, menu_set_keyserver_url): Allow passing
 
3979
        preferred keyserver on "keyserver" command line.  Sanity check
 
3980
        keyserver URL before accepting it.
 
3981
 
 
3982
        * keyserver-internal.h, g10.c (main), keyserver.c
 
3983
        (parse_keyserver_uri): Add an option to require the scheme:// and
 
3984
        change all callers.
 
3985
        (free_keyserver_spec): Make public.
 
3986
 
 
3987
2004-05-07  Werner Koch  <wk@gnupg.org>
 
3988
 
 
3989
        * sign.c (write_plaintext_packet): Fixed the detection of too
 
3990
        large files in the same way as in encode.c.
 
3991
 
 
3992
2004-05-04  David Shaw  <dshaw@jabberwocky.com>
 
3993
 
 
3994
        * keylist.c (show_notation): Use bits to select which sort of
 
3995
        notation to show.  Don't allow a not-shown notation to prevent us
 
3996
        from issuing the proper --status-fd message.
 
3997
 
 
3998
        * options.h, g10.c (main): Add show-std/standard-notations and
 
3999
        show-user-notations.  show-notations is both.  Default is to show
 
4000
        standard notations only during verify.  Change all callers.
 
4001
 
 
4002
2004-04-28  David Shaw  <dshaw@jabberwocky.com>
 
4003
 
 
4004
        * main.h, keylist.c (show_notation): Add argument to show only
 
4005
        user notations, only standard notations, or both.  Change all
 
4006
        callers.
 
4007
 
 
4008
        * keyserver.c (keyserver_spawn): We still need EXEC_TEMPFILE_ONLY.
 
4009
 
 
4010
2004-04-28  Werner Koch  <wk@gnupg.org>
 
4011
 
 
4012
        * card-util.c (card_edit): Require PIN only for generate.
 
4013
 
 
4014
        * app-openpgp.c (do_setattr): Sync FORCE_CHV1.
 
4015
 
 
4016
2004-04-27  Werner Koch  <wk@gnupg.org>
 
4017
 
 
4018
        * keyserver.c (keyserver_spawn) [EXEC_TEMPFILE_ONLY]: Removed
 
4019
        setting use_temp_file because this option has been removed.
 
4020
 
 
4021
        * g10.c: New commands --allow-admin and --deny-admin.
 
4022
        * options.h (opt): Add member ALLOW_ADMIN.
 
4023
 
 
4024
        * tlv.h, tlv.c: New.  Copied from gnupg-1.9.
 
4025
        * cardglue.c (open_card): The serialno is now set internally by
 
4026
        app_select_openpgp; changed invocation.
 
4027
        * cardglue.h (app_t, ctrl_t): New.
 
4028
        (GPG_ERR_EBUSY, GPG_ERR_ENOENT, GPG_ERR_NOT_FOUND, GPG_ERR_BUG)
 
4029
        (GPG_ERR_NOT_IMPLEMENTED, GPG_ERR_EACCESS): New.
 
4030
        (gpg_err_code_from_errno): New.
 
4031
 
 
4032
        * app-common.h, app-openpgp.c, iso7816.c, iso7816.h
 
4033
        * apdu.c, apdu.h, ccid-driver.c, ccid-driver.h
 
4034
        * card-util.c: Updated from current gnupg-1.9.
 
4035
 
 
4036
        Changes are:
 
4037
 
 
4038
        * app-common.h: New members FNC.DEINIT and APP_LOCAL.
 
4039
        * app-openpgp.c (do_deinit): New.
 
4040
        (get_cached_data, flush_cache_item, flush_cache_after_error)
 
4041
        (flush_cache): New.
 
4042
        (get_one_do): Replaced arg SLOT by APP.  Make used of cached data.
 
4043
        (verify_chv2, verify_chv3): Flush some cache item after error.
 
4044
        (do_change_pin): Ditto.
 
4045
        (do_sign): Ditto.
 
4046
        (do_setattr): Flush cache item.
 
4047
        (do_genkey): Flush the entire cache.
 
4048
        (compare_fingerprint): Use cached data.
 
4049
 
 
4050
        * apdu.c (apdu_send_le): Reinitialize RESULTLEN.  Handle
 
4051
        SW_EOF_REACHED like SW_SUCCESS.
 
4052
 
 
4053
        * ccid-driver.c (parse_ccid_descriptor): Store some of the reader
 
4054
        features away.  New arg HANDLE
 
4055
        (read_device_info): New arg HANDLE. Changed caller.
 
4056
        (bulk_in): Handle time extension requests.
 
4057
        (ccid_get_atr): Setup parameters and the IFSD.
 
4058
        (compute_edc): New. Factored out code.
 
4059
        (ccid_transceive): Use default NADs when required.
 
4060
 
 
4061
        * apdu.h: New pseudo stati SW_HOST_NOT_SUPPORTED,
 
4062
        SW_HOST_LOCKING_FAILED and SW_HOST_BUSY.
 
4063
        * iso7816.c (map_sw): Map it.
 
4064
 
 
4065
        * ccid-driver.c (ccid_slot_status): Add arg STATUSBITS.
 
4066
        * apdu.c (apdu_get_status): New.
 
4067
        (ct_get_status, pcsc_get_status, ocsc_get_status): New stubs.
 
4068
        (get_status_ccid): New.
 
4069
        (apdu_reset): New.
 
4070
        (reset_ct_reader, reset_pcsc_reader, reset_osc_reader): New stubs.
 
4071
        (reset_ccid_reader): New.
 
4072
        (apdu_enum_reader): New.
 
4073
 
 
4074
        * apdu.c (lock_slot, trylock_slot, unlock_slot): New helpers.
 
4075
        (new_reader_slot) [USE_GNU_PTH]: Init mutex.
 
4076
        (apdu_reset, apdu_get_status, apdu_send_le): Run functions
 
4077
        in locked mode.
 
4078
 
 
4079
2004-04-25  David Shaw  <dshaw@jabberwocky.com>
 
4080
 
 
4081
        * getkey.c (get_seckey_byname2): Significantly simplify this
 
4082
        function by using key_byname to do the heavy lifting.  Note that
 
4083
        this also fixes an old problem when the first key on the secret
 
4084
        keyring has an unusable stub primary, but is still chosen.
 
4085
 
 
4086
        * getkey.c (key_byname): If namelist is NULL, return the first key
 
4087
        in the keyring.
 
4088
 
 
4089
2004-04-22  David Shaw  <dshaw@jabberwocky.com>
 
4090
 
 
4091
        * keygen.c (make_backsig): If DO_BACKSIGS is not defined, do not
 
4092
        create backsigs.
 
4093
 
 
4094
        * getkey.c (merge_selfsigs_subkey): Find 0x19 backsigs on subkey
 
4095
        selfsigs and verify they are valid.  If DO_BACKSIGS is not
 
4096
        defined, fake this as always valid.
 
4097
 
 
4098
        * packet.h, parse-packet.c (parse_signature): Make parse_signature
 
4099
        non-static so we can parse 0x19s in self-sigs.
 
4100
 
 
4101
        * main.h, sig-check.c (check_backsig): Check a 0x19 signature.
 
4102
        (signature_check2): Give a backsig warning if there is no or a bad
 
4103
        0x19 with signatures from a subkey.
 
4104
 
 
4105
2004-04-21  David Shaw  <dshaw@jabberwocky.com>
 
4106
 
 
4107
        * parse-packet.c (dump_sig_subpkt, parse_one_sig_subpkt,
 
4108
        can_handle_critical): Parse and display 0x19 signatures.
 
4109
 
 
4110
2004-04-20  David Shaw  <dshaw@jabberwocky.com>
 
4111
 
 
4112
        * keyserver.c (parse_keyserver_uri): Do not accept "http" as an
 
4113
        alias for "hkp".  They are not the same thing.
 
4114
 
 
4115
2004-04-19  David Shaw  <dshaw@jabberwocky.com>
 
4116
 
 
4117
        * options.h, g10.c (main): Add keyserver-option
 
4118
        honor-keyserver-url.  parse_keyserver_options now returns a
 
4119
        success code.
 
4120
 
 
4121
        * keyserver.c (parse_keyserver_options): Return error on failure
 
4122
        to parse.  Currently there is no way to fail as any unrecognized
 
4123
        options get saved to be sent to the keyserver plugins later.
 
4124
        Check length of keyserver option tokens since with =arguments we
 
4125
        must only match the prefix.
 
4126
        (free_keyserver_spec): Moved code from parse_keyserver_url.
 
4127
        (keyserver_work, keyserver_spawn): Pass in a struct keyserver_spec
 
4128
        rather than using the global keyserver option.
 
4129
        (calculate_keyid_fpr): New.  Fills in a KEYDB_SEARCH_DESC for a
 
4130
        key.
 
4131
        (keyidlist): New implementation using get_pubkey_bynames rather
 
4132
        than searching the keydb directly.  If honor-keyserver-url is set,
 
4133
        make up a keyserver_spec and try and fetch that key directly.  Do
 
4134
        not include it in the returned keyidlist in that case.
 
4135
 
 
4136
2004-04-16  David Shaw  <dshaw@jabberwocky.com>
 
4137
 
 
4138
        * plaintext.c (handle_plaintext): Accept 'u' as a plaintext mode
 
4139
        that requires end of line conversion.  This is being considered
 
4140
        for a UTF8 text packet.  If this doesn't take place, no major harm
 
4141
        done.  If it does take place, we'll get a jump on starting the
 
4142
        changeover.
 
4143
 
 
4144
        * g10.c (main): --no-use-embedded-filename.
 
4145
 
 
4146
        * build-packet.c (calc_plaintext, do_plaintext): Do not create
 
4147
        illegal (packet header indicates a size larger than the actual
 
4148
        packet) encrypted data packets when not compressing and using a
 
4149
        filename longer than 255 characters.
 
4150
 
 
4151
        * keyedit.c (no_primary_warning): Cleanup. (menu_expire): Don't
 
4152
        give primary warning for subkey expiration changes.  These cannot
 
4153
        reorder primaries.
 
4154
 
 
4155
        * keygen.c (gen_elg, gen_dsa, gen_rsa, do_create,
 
4156
        do_generate_keypair, generate_subkeypair): New is_subkey argument
 
4157
        to set whether a generated key is a subkey.  Do not overload the
 
4158
        ret_sk.  This is some early cleanup to do backsigs for signing
 
4159
        subkeys.
 
4160
 
 
4161
        * keygen.c (write_keybinding, do_generate_keypair,
 
4162
        generate_subkeypair): Keep track of the unprotected subkey secret
 
4163
        key so we can make a backsig with it.
 
4164
 
 
4165
        * keygen.c (make_backsig): New function to add a backsig to a
 
4166
        binding sig of signing subkeys.  Currently disabled.
 
4167
        (write_keybinding): Call it here, for signing subkeys only.
 
4168
 
 
4169
        * sign.c (make_keysig_packet): Allow generating 0x19 signatures
 
4170
        (same as 0x18 or 0x28, but used for backsigs).
 
4171
 
 
4172
        * packet.h, build-packet.c (build_sig_subpkt): Add new
 
4173
        SIGSUBPKT_SIGNATURE type for embedded signatures.
 
4174
 
 
4175
        * main.h, misc.c (optsep, argsplit, optlen, parse_options):
 
4176
        Simplify code and properly handle a partial match against an
 
4177
        option with an argument.
 
4178
 
 
4179
        * keyserver-internal.h, keyserver.c (parse_keyserver_options): Use
 
4180
        new optsep and argsplit functions.
 
4181
 
 
4182
2004-04-15  David Shaw  <dshaw@jabberwocky.com>
 
4183
 
 
4184
        * main.h, misc.c (argsplit): Refactor argsep into argsplit and
 
4185
        argsep so they can be called separately.
 
4186
 
 
4187
        * options.h, keyserver.c (parse_keyserver_options): Remove
 
4188
        duplicate code from parse_keyserver_options by calling the generic
 
4189
        parse_options.
 
4190
 
 
4191
        * keyserver.c (keyserver_spawn, keyserver_refresh), g10.c (main),
 
4192
        gpgv.c (main), mainproc.c (check_sig_and_print), import.c
 
4193
        (revocation_present): Change all callers.
 
4194
 
 
4195
2004-04-14  David Shaw  <dshaw@jabberwocky.com>
 
4196
 
 
4197
        * packet.h, getkey.c (fixup_uidnode, merge_selfsigs_subkey): Keep
 
4198
        track of which self-sig we actually chose.
 
4199
 
 
4200
        * keyedit.c (menu_expire, menu_set_primary_uid,
 
4201
        menu_set_preferences): Use it here to avoid updating non-used
 
4202
        self-sigs and possibly promoting an old self-sig into
 
4203
        consideration again.
 
4204
 
 
4205
        * options.h, import.c, keyserver-internal.h, g10.c, mainproc.c,
 
4206
        keyserver.c (parse_keyserver_uri): Parse keyserver URI into a
 
4207
        structure.  Cleanup for new "guess my keyserver" functionality, as
 
4208
        well as refreshing via a preferred keyserver subpacket.
 
4209
 
 
4210
        * options.h: Encapsulate keyserver details.  Change all callers.
 
4211
 
 
4212
2004-04-05  Werner Koch  <wk@gnupg.org>
 
4213
 
 
4214
        * status.h (STATUS_NEWSIG): New.
 
4215
        * status.c (get_status_string): Add it.
 
4216
 
 
4217
2004-03-27  David Shaw  <dshaw@jabberwocky.com>
 
4218
 
 
4219
        * keyedit.c (keyedit_menu): Request a trustdb update when adding a
 
4220
        new user ID so the new ID gets validity set.  Reported by Owen
 
4221
        Taylor.
 
4222
 
 
4223
2004-03-25  David Shaw  <dshaw@jabberwocky.com>
 
4224
 
 
4225
        * options.h, g10.c (main), compress-bz2.c (init_uncompress):
 
4226
        Rename --bzip2-compress-lowmem to --bzip2-decompress-lowmem since
 
4227
        it applies to decompression, not compression.
 
4228
 
 
4229
2004-03-24  David Shaw  <dshaw@jabberwocky.com>
 
4230
 
 
4231
        * keyedit.c (sign_uids, show_key_and_fingerprint, ask_revoke_sig,
 
4232
        menu_revsig, menu_showphoto): --keyid-format conversion.
 
4233
        (menu_addrevoker): Use print_pubkey_info() rather than duplicating
 
4234
        code.
 
4235
 
 
4236
2004-03-19  David Shaw  <dshaw@jabberwocky.com>
 
4237
 
 
4238
        * trustdb.c (update_min_ownertrust, validate_keys): Do not use
 
4239
        keystr functions in log_debug.
 
4240
 
 
4241
        * import.c (import_one): Try and collapse user IDs when importing
 
4242
        a key for the first time.
 
4243
 
 
4244
        * keyedit.c (menu_addrevoker): Allow appointing a subkey as a
 
4245
        designated revoker if the user forces it via keyid!, so long as
 
4246
        the subkey can certify.  Also use the proper date string when
 
4247
        prompting for confirmation.
 
4248
 
 
4249
        * g10.c (main): Maintain ordering of multiple Comment lines.
 
4250
        Requested by Peter Hyman.
 
4251
 
 
4252
2004-03-17  David Shaw  <dshaw@jabberwocky.com>
 
4253
 
 
4254
        * mainproc.c (proc_pubkey_enc, print_pkenc_list, list_node):
 
4255
        --keyid-format conversion.
 
4256
 
 
4257
2004-03-16  David Shaw  <dshaw@jabberwocky.com>
 
4258
 
 
4259
        * getkey.c (skip_unusable, merge_selfsigs_main,
 
4260
        premerge_public_with_secret, lookup, get_user_id_string):
 
4261
        --keyid-format conversion.
 
4262
 
 
4263
2004-03-15  David Shaw  <dshaw@jabberwocky.com>
 
4264
 
 
4265
        * trustdb.c (add_utk, verify_own_keys, update_min_ownertrust,
 
4266
        get_validity, ask_ownertrust, validate_keys): --keyid-format
 
4267
        conversion.
 
4268
 
 
4269
        * import.c (check_prefs_warning, check_prefs): --keyid-format
 
4270
        conversion and a little better text.
 
4271
        (import_one, import_secret_one, import_revoke_cert, chk_self_sigs,
 
4272
        delete_inv_parts, merge_blocks): Still more --keyid-format
 
4273
        conversions.
 
4274
 
 
4275
2004-03-06  David Shaw  <dshaw@jabberwocky.com>
 
4276
 
 
4277
        * keylist.c (print_seckey_info, print_pubkey_info): --keyid-format
 
4278
        conversion.
 
4279
        (list_keyblock_print): 0xshort should not push us into the new
 
4280
        list format since it is not much longer than regular 8-character
 
4281
        short keyids.
 
4282
 
 
4283
        * keydb.h, keyid.c (keystr_from_pk, keystr_from_sk): New functions
 
4284
        to pull a key string from a key in one step.  This isn't faster
 
4285
        than before, but makes for neater code.
 
4286
 
 
4287
        * keylist.c (list_keyblock_print): Use keystr_from_xx here.
 
4288
        (print_key_data): No need to pass a keyid in.
 
4289
 
 
4290
2004-03-05  David Shaw  <dshaw@jabberwocky.com>
 
4291
 
 
4292
        * keyid.c (keyid_from_sk): Minor performance boost by caching
 
4293
        secret key keyids so we don't have to calculate them each time.
 
4294
 
 
4295
        * getkey.c (merge_selfsigs_subkey): Do not mark subkeys valid if
 
4296
        we do not support their pk algorithm.  This allows for early
 
4297
        (during get_*) rejection of a subkey, and selection of another.
 
4298
 
 
4299
        * passphrase.c (passphrase_to_dek): Give a little more information
 
4300
        when we have room to do so.
 
4301
 
 
4302
2004-03-04  David Shaw  <dshaw@jabberwocky.com>
 
4303
 
 
4304
        * revoke.c (export_minimal_pk), export.c (do_export_stream),
 
4305
        passphrase.c (passphrase_to_dek), keyserver.c (print_keyrec): A
 
4306
        few more places to use --keyid-format.
 
4307
 
 
4308
        * options.h, g10.c (main), export.c (parse_export_options,
 
4309
        do_export_stream): Remove --export-all and the "include-non-rfc"
 
4310
        export-option as they are no longer meaningful with the removal of
 
4311
        v3 Elgamal keys.
 
4312
 
 
4313
        * armor.c (fake_packet, armor_filter): Use the 2440 partial length
 
4314
        encoding for the faked plaintext packet.
 
4315
 
 
4316
2004-03-03  David Shaw  <dshaw@jabberwocky.com>
 
4317
 
 
4318
        * options.h, g10.c (main), mainproc.c (check_sig_and_print):
 
4319
        Remove verify-option show-long-keyids and replace with
 
4320
        the more general keyid-format.
 
4321
 
 
4322
        * build-packet.c (write_header2): Remove call to start old gpg
 
4323
        partial length mode and change all callers.
 
4324
        (do_plaintext): Turn off partial length encoding now that we're
 
4325
        done writing the packet.
 
4326
        (do_comment, do_user_id): Try for a headerlen of 2 since that's
 
4327
        the smallest and most likely encoding for these packets.
 
4328
 
 
4329
        * parse-packet.c (parse): Remove call to start old gpg partial
 
4330
        length mode.
 
4331
 
 
4332
2004-03-02  David Shaw  <dshaw@jabberwocky.com>
 
4333
 
 
4334
        * options.h, g10.c (main): Add a more flexible --keyid-format
 
4335
        option to replace the list-option (and eventually verify-option)
 
4336
        show-long-keyids.  The format can be short, long, 0xshort, and
 
4337
        0xlong.
 
4338
 
 
4339
        * keydb.h, keyid.c (keystr, keystrlen): New functions to generate
 
4340
        a printable keyid.
 
4341
 
 
4342
        * keyedit.c (print_and_check_one_sig, show_key_with_all_names),
 
4343
        keylist.c (list_keyblock_print): Use new keystr() function here to
 
4344
        print keyids.
 
4345
 
 
4346
        * packet.h, free-packet.c (free_encrypted, free_plaintext),
 
4347
        parse-packet.c (copy_packet, skip_packet, skip_rest, read_rest,
 
4348
        parse_plaintext, parse_encrypted, parse_gpg_control): Use a flag
 
4349
        to indicate partial or indeterminate encoding.  This is the first
 
4350
        step in some minor surgery to remove the old gpg partial length
 
4351
        encoding.
 
4352
 
 
4353
2004-03-01  David Shaw  <dshaw@jabberwocky.com>
 
4354
 
 
4355
        * parse-packet.c (parse): Only data-type packets are allowed to
 
4356
        use OpenPGP partial length encoding.
 
4357
 
 
4358
2004-02-25  David Shaw  <dshaw@jabberwocky.com>
 
4359
 
 
4360
        * delkey.c (do_delete_key): Allow deleting a public key with a
 
4361
        secret present if --expert is set.
 
4362
 
 
4363
        * plaintext.c (handle_plaintext): Make bytecount static so it
 
4364
        works with multiple literal packets inside a message.
 
4365
 
 
4366
        * encode.c, helptext.c (keygen.algo, keygen.algo.elg_se), keygen.c
 
4367
        (ask_algo), sig-check.c (do_check_messages), skclist.c
 
4368
        (build_sk_list): Rename "ElGamal" to "Elgamal" as that is the
 
4369
        proper spelling nowadays.  Suggested by Jon Callas.
 
4370
 
 
4371
2004-02-24  David Shaw  <dshaw@jabberwocky.com>
 
4372
 
 
4373
        * plaintext.c: Copyright.
 
4374
 
 
4375
        * encode.c (encode_simple): Show cipher with --verbose.
 
4376
 
 
4377
        * options.h, g10.c (main), keyedit.c (sign_keys): Add
 
4378
        --ask-cert-level option to enable cert level prompts during
 
4379
        sigs. Defaults to on.  Simplify --default-cert-check-level to
 
4380
        --default-cert-level.  If ask-cert-level is off, or batch is on,
 
4381
        use the default-cert-level as the cert level.
 
4382
 
 
4383
        * options.h, g10.c (main), trustdb.c (mark_usable_uid_certs):
 
4384
        Simplify --min-cert-check-level to --min-cert-level.
 
4385
 
 
4386
2004-02-22  David Shaw  <dshaw@jabberwocky.com>
 
4387
 
 
4388
        * options.h, g10.c (main), trustdb.c (mark_usable_uid_certs): Add
 
4389
        --min-cert-check-level option to specify minimum cert check level.
 
4390
        Defaults to 2 (so 0x11 sigs are ignored).  0x10 sigs cannot be
 
4391
        ignored.
 
4392
 
 
4393
2004-02-21  David Shaw  <dshaw@jabberwocky.com>
 
4394
 
 
4395
        * plaintext.c (handle_plaintext): Properly handle a --max-output
 
4396
        of zero (do not limit output at all).
 
4397
 
 
4398
        * keyserver.c (keyserver_spawn): Use the full 64-bit keyid in the
 
4399
        INFO header lines, and include "sig:" records for the benefit of
 
4400
        people who store their keys in LDAP servers.  It makes it easy to
 
4401
        do queries for things like "all keys signed by Isabella".
 
4402
 
 
4403
        * main.h, misc.c (hextobyte): Removed.  It's in libutil.a now.
 
4404
 
 
4405
2004-02-20  David Shaw  <dshaw@jabberwocky.com>
 
4406
 
 
4407
        * keyserver.c (keyserver_export): Disallow user strings that
 
4408
        aren't key IDs.
 
4409
        (keyserver_import): Clarify error message.
 
4410
        (keyserver_spawn): Properly handle 8 bit characters in user IDs in
 
4411
        the info lines during SEND.
 
4412
 
 
4413
        * mkdtemp.c: Removed.
 
4414
 
 
4415
        * Makefile.am: We get mkdtemp.c from libutil.a now, so don't link
 
4416
        with @LIBOBJS@.
 
4417
 
 
4418
        * keyserver.c (keyserver_spawn): Pass the scheme to the keyserver
 
4419
        helper.
 
4420
 
 
4421
2004-02-18  David Shaw  <dshaw@jabberwocky.com>
 
4422
 
 
4423
        * options.h, g10.c (main), plaintext.c (handle_plaintext): Add
 
4424
        --max-output option to help people deal with decompression bombs.
 
4425
 
 
4426
2004-02-15  David Shaw  <dshaw@jabberwocky.com>
 
4427
 
 
4428
        * build-packet.c (do_user_id): Do not force a header for attribute
 
4429
        packets as they require a new CTB, and we don't support forced
 
4430
        headers for new CTBs yet.
 
4431
 
 
4432
2004-02-14  David Shaw  <dshaw@jabberwocky.com>
 
4433
 
 
4434
        * build-packet.c (write_header2): If a suggested header length is
 
4435
        provided along with a zero length, interpret this as an actual
 
4436
        zero length packet and not as an indeterminate length packet.
 
4437
        (do_comment, do_user_id): Use it here as these packets might be
 
4438
        naturally zero length.
 
4439
 
 
4440
        * parse-packet.c (parse): Show packet type when failing due to an
 
4441
        indeterminate length packet.
 
4442
 
 
4443
        * misc.c (parse_options): Only provide args for the true (i.e. not
 
4444
        "no-xxx") form of options.
 
4445
 
 
4446
2004-02-13  David Shaw  <dshaw@jabberwocky.com>
 
4447
 
 
4448
        * keyserver.c (argsep): Move to misc.c.
 
4449
 
 
4450
        * main.h, misc.c (parse_options), export.c (parse_export_options),
 
4451
        import.c (parse_import_options), g10.c (main): Use it here to
 
4452
        allow for options with optional arguments.  Change all callers.
 
4453
 
 
4454
        * import.c (check_prefs): Some language fixes.
 
4455
        (sec_to_pub_keyblock, import_secret_one): Without knowing the
 
4456
        number of MPIs there are, we cannot try and sk-to-pk-ize a key.
 
4457
 
 
4458
2004-02-12  David Shaw  <dshaw@jabberwocky.com>
 
4459
 
 
4460
        * import.c (check_prefs): New function to check preferences on a
 
4461
        public key to ensure that it does not advertise any that we cannot
 
4462
        fulfill.  Use the keyedit command list function to optionally
 
4463
        rewrite the prefs.
 
4464
        (import_one, import_secret_one): Use it here when importing a
 
4465
        public key that we have the secret half of, or when importing a
 
4466
        secret key that we have the public half of.
 
4467
 
 
4468
        * main.h, keyedit.c (keyedit_menu): Remove sign_mode and enhance
 
4469
        the more general command list functionality to replace it.
 
4470
 
 
4471
        * g10.c (main): Use the general command functionality to implement
 
4472
        --sign-key, --lsign-key, --nrsign-key, and --nrlsign-key.
 
4473
 
 
4474
        * import.c (import_one): Do the revocation check even in the case
 
4475
        when a key, a revocation key set in a direct key signature, and a
 
4476
        revocation from that revocation key, all arrive piecemeal.
 
4477
        Needless to say, this is pretty obscure.
 
4478
 
 
4479
2004-02-11  David Shaw  <dshaw@jabberwocky.com>
 
4480
 
 
4481
        * options.h, g10.c (main), keylist.c (list_keyblock_print): Add
 
4482
        "show-unusable-subkeys" list-option to show revoked and/or expired
 
4483
        subkeys.
 
4484
 
 
4485
2004-02-10  David Shaw  <dshaw@jabberwocky.com>
 
4486
 
 
4487
        * keyedit.c (keyedit_menu): Prompt for subkey removal for both
 
4488
        secret and public subkeys.
 
4489
 
 
4490
        * keylist.c (list_keyblock_print), keyedit.c
 
4491
        (show_key_with_all_names): Show the revocation date of a
 
4492
        key/subkey, and general formatting work.
 
4493
 
 
4494
        * packet.h, getkey.c (merge_selfsigs_main, merge_selfsigs_subkey,
 
4495
        merge_selfsigs): Keep track of the revocation date of a key.
 
4496
 
 
4497
        * keydb.h, keyid.c (revokestr_from_pk): New function to print the
 
4498
        revocation date of a key.
 
4499
 
 
4500
        * keygen.c (keygen_set_std_prefs): Build the default preferences
 
4501
        list at runtime as it properly handles algorithms disabled at
 
4502
        build or run time.
 
4503
 
 
4504
        * getkey.c (merge_selfsigs_main): Properly handle expired user IDs
 
4505
        when the expired self-sig is not the only self-sig.
 
4506
 
 
4507
        * misc.c (compress_algo_to_string): Return NULL on failure like
 
4508
        all of the other xxxx_algo_to_string() functions.
 
4509
 
 
4510
        * mainproc.c (list_node): Minor spacing tweak to match --list-keys
 
4511
        output.
 
4512
 
 
4513
        * keylist.c (list_keyblock_print), mainproc.c (list_node): Mark
 
4514
        revoked subkeys as revoked.  Requested by Matthew Wilcox.  Revoked
 
4515
        overrides expiration when both apply.
 
4516
 
 
4517
        * keyedit.c (show_prefs): Use compress algo constants.
 
4518
        (show_basic_key_info): Make revoked and expired tags translatable.
 
4519
 
 
4520
        * g10.c (rm_group): Properly ungroup from a list of groups.
 
4521
 
 
4522
2004-01-30  David Shaw  <dshaw@jabberwocky.com>
 
4523
 
 
4524
        * g10.c (main, rm_group): Add --ungroup command to remove a
 
4525
        particular group.
 
4526
        (add_group): When adding a group with the same name as an already
 
4527
        existing group, merge the two groups.
 
4528
        (list_config): Show an error message when listing a config item
 
4529
        that doesn't exist.
 
4530
        (main): Replace -z0 trick for no compression.
 
4531
 
 
4532
        * packet.h, keyedit.c (show_key_with_all_names_colon), keylist.c
 
4533
        (list_keyblock_colon), mainproc.c (list_node, proc_tree): Minor
 
4534
        cleanup to remove local_id, which is no longer used.
 
4535
 
 
4536
2004-01-27  David Shaw  <dshaw@jabberwocky.com>
 
4537
 
 
4538
        * getkey.c: Set MAX_PK_CACHE_ENTRIES and MAX_UID_CACHE_ENTRIES to
 
4539
        PK_UID_CACHE_SIZE (set in ./configure).
 
4540
 
 
4541
        * getkey.c (get_pubkey): When reading key data into the cache,
 
4542
        properly handle keys that are partially (pk, no UIDs) cached
 
4543
        already.  This is Debian bug #176425 and #229549.
 
4544
 
 
4545
        * compress.c (init_compress, push_compress_filter2): Do the right
 
4546
        thing (i.e. nothing) with compress algo 0.
 
4547
 
 
4548
        * main.h, decrypt.c (decrypt_messages): Accept filenames to
 
4549
        decrypt on stdin.  This is bug #253.
 
4550
 
 
4551
2004-01-23  David Shaw  <dshaw@jabberwocky.com>
 
4552
 
 
4553
        * mainproc.c (list_node): Show sigs with --verbose.
 
4554
 
 
4555
        * options.h, g10.c (set_screen_dimensions): New function to look
 
4556
        at COLUMNS and LINES.
 
4557
 
 
4558
        * keyserver.c (parse_keyrec, keyserver_search_prompt), keyedit.c
 
4559
        (print_and_check_one_sig): Use new screen dimension variables.
 
4560
 
 
4561
2004-01-21  David Shaw  <dshaw@jabberwocky.com>
 
4562
 
 
4563
        * g10.c (list_config): New function to dump config options to
 
4564
        stdout.  Currently requires --with-colons.
 
4565
        (collapse_args): New function to turn argc/argv into a single
 
4566
        string.
 
4567
        (main): Use it here to pass list_config() more than one argument
 
4568
        as a single string.
 
4569
        (print_algo_numbers): Helper to print algorithm number for
 
4570
        --list-config "pubkey", "cipher", "hash"/"digest", and "compress"
 
4571
        config options.
 
4572
 
 
4573
        * packet.h, getkey.c (merge_selfsigs, merge_selfsigs_main),
 
4574
        pkclist.c (check_signatures_trust): Indicate who has revoked a key
 
4575
        (the owner or a designated revoker).  If a key was revoked by
 
4576
        both, prefer the owner.  If a subkey is already revoked by the
 
4577
        owner, don't allow a designated revokation of the whole key to
 
4578
        override this.  We're still revoked either way, of course.
 
4579
 
 
4580
        * keyedit.c (print_and_check_one_sig, keyedit_menu): Use the
 
4581
        COLUMNS environment variable (if any) to hint how wide the
 
4582
        terminal is.  Disabled on _WIN32.  Suggested by Janusz
 
4583
        A. Urbanowicz.
 
4584
 
 
4585
2004-01-20  David Shaw  <dshaw@jabberwocky.com>
 
4586
 
 
4587
        * keylist.c (set_attrib_fd): Open attribute fd in binary
 
4588
        mode. This isn't meaningful on POSIX systems, but the Mingw builds
 
4589
        aren't exactly POSIX.
 
4590
 
 
4591
        * trustdb.c (reset_trust_records): New, faster, implementation
 
4592
        that doesn't involve a keyring scan.
 
4593
        (clear_validity): Removed.
 
4594
 
 
4595
        * g10.c (main), keydb.h, keydb.c (keydb_rebuild_caches),
 
4596
        keyring.h, keyring.c (keyring_rebuild_cache): Add "noisy" flag so
 
4597
        cache rebuilds can remain noisy when called for itself, and quiet
 
4598
        when called as part of the trustdb rebuild.
 
4599
 
 
4600
        * trustdb.c (validate_keys): Rebuild the sig caches before
 
4601
        building the trustdb.  Note that this is going to require some
 
4602
        architectual re-thinking, as it is agonizingly slow.
 
4603
 
 
4604
2004-01-19  David Shaw  <dshaw@jabberwocky.com>
 
4605
 
 
4606
        * sig-check.c (check_key_signature2): Comments.
 
4607
 
 
4608
        * keyring.c (keyring_rebuild_cache): Clear sig cache for any
 
4609
        signatures that we can no longer process (say, if the user removed
 
4610
        support for a necessary pubkey or digest algorithm).
 
4611
 
 
4612
2004-01-16  David Shaw  <dshaw@jabberwocky.com>
 
4613
 
 
4614
        * misc.c (print_cipher_algo_note): May as well call Rijndael AES
 
4615
        at this point.
 
4616
 
 
4617
        * keygen.c (do_create), misc.c (openpgp_pk_algo_usage): Remove the
 
4618
        last bits of Elgamal type 20 support.
 
4619
 
 
4620
2004-01-03  Stefan Bellon  <sbellon@sbellon.de>
 
4621
 
 
4622
        * compress.c [__riscos__]: Only use RISC OS' own ZLib module if
 
4623
        configured to use it.
 
4624
 
 
4625
2003-12-30  David Shaw  <dshaw@jabberwocky.com>
 
4626
 
 
4627
        * options.h, g10.c (main), import.c (parse_import_options,
 
4628
        import_one, import_secret_one), keyserver.c (keyserver_refresh):
 
4629
        Change --merge-only to --import-option merge-only.  Deprecate
 
4630
        --merge-only.
 
4631
 
 
4632
2003-12-29  David Shaw  <dshaw@jabberwocky.com>
 
4633
 
 
4634
        * misc.c (pull_in_libs): Dead code.  Removed.
 
4635
 
 
4636
        * sig-check.c (check_revocation_keys): Comments.
 
4637
 
 
4638
        * getkey.c (merge_selfsigs_main): Don't bother to check designated
 
4639
        revoker sigs if the key is already revoked.
 
4640
 
 
4641
        * packet.h, getkey.c (merge_selfsigs_main): New "maybe_revoked"
 
4642
        flag on PKs.  It is set when there is a revocation signature from
 
4643
        a valid revocation key, but the revocation key is not present to
 
4644
        verify the signature.
 
4645
 
 
4646
        * pkclist.c (check_signatures_trust): Use it here to give a
 
4647
        warning when showing key trust.
 
4648
 
 
4649
        * compress-bz2.c: Include stdio.h.  Solaris 9 has a very old bzip2
 
4650
        library and we can at least guarantee that it won't fail because
 
4651
        of the lack of stdio.h.
 
4652
 
 
4653
        * tdbio.c: Fixed format string bugs related to the use of DB_NAME.
 
4654
        Reported by Florian Weimer.
 
4655
 
 
4656
2003-12-28  David Shaw  <dshaw@jabberwocky.com>
 
4657
 
 
4658
        * options.h, g10.c (main), keyserver.c (keyserver_opts,
 
4659
        parse_keyserver_uri): honor-http-proxy is no longer an option
 
4660
        since we can do the same thing with http-proxy with no arguments.
 
4661
        Also remove broken-http-proxy since it can be better handled in
 
4662
        the HTTP helper.
 
4663
 
 
4664
        * keyserver.c (argsep): New variation on strsep that knows about
 
4665
        optional arguments.
 
4666
        (parse_keyserver_options): Use it here for optional arguments.
 
4667
 
 
4668
2003-12-28  Stefan Bellon  <sbellon@sbellon.de>
 
4669
 
 
4670
        * plaintext.c (handle_plaintext) [__riscos__]: Don't mangle
 
4671
        filename if the user specified it.
 
4672
 
 
4673
        * g10.c, gpgv.c [__riscos__]: Removal of unnecessary #ifdef
 
4674
        __riscos__ sections.
 
4675
 
 
4676
2003-12-27  David Shaw  <dshaw@jabberwocky.com>
 
4677
 
 
4678
        * keyserver.c (strip_leading_space, get_arg): New.
 
4679
        (parse_keyserver_options): Use them here to allow arguments to
 
4680
        keyserver-options.  Since none of our options need arguments yet,
 
4681
        just pass them through whole to the keyserver helper.
 
4682
 
 
4683
        * main.h, misc.c (parse_options): Add a "noisy" flag to enable and
 
4684
        disable the messages about which option didn't match or matched
 
4685
        ambiguously.  Change all callers (g10.c, keyserver.c).
 
4686
 
 
4687
        * main.h, import.c (import_options), export.c (export_options):
 
4688
        Pass the noisy flag through.
 
4689
 
 
4690
2003-12-17  David Shaw  <dshaw@jabberwocky.com>
 
4691
 
 
4692
        * build-packet.c (write_fake_data, do_secret_key), seckey-cert.c
 
4693
        (do_check): Use an unsigned length for mpi_get_opaque.
 
4694
 
 
4695
        * options.h: It's impolite to assign -1 to an unsigned
 
4696
        opt.force_ownertrust.
 
4697
 
 
4698
        * sig-check.c (cmp_help, do_check), sign.c (do_sign): Remove old
 
4699
        unused code.
 
4700
 
 
4701
        * keyid.c (keyid_from_sk): Make sure lowbits is initialized.
 
4702
 
 
4703
2003-12-12  David Shaw  <dshaw@jabberwocky.com>
 
4704
 
 
4705
        * sig-check.c (do_check): Move the signing algo and hash checks
 
4706
        from here...
 
4707
        (signature_check2): ... to here.
 
4708
        (check_key_signature2): ... and here.  This is a minor
 
4709
        optimization to avoid fetching a key (which can be expensive,
 
4710
        especially if it is not self-signed, and there are many key
 
4711
        signatures on it which need to be checked for ultimate trust) if
 
4712
        the signature would have failed anyway because of algorithm or
 
4713
        hash problems.
 
4714
 
 
4715
2003-12-10  David Shaw  <dshaw@jabberwocky.com>
 
4716
 
 
4717
        * packet.h, build-packet.c (hash_public_key): Remove function ...
 
4718
 
 
4719
        * keydb.h, keyid.c (hash_public_key, do_fingerprint_md): ... and
 
4720
        make a new one here that shares code with the fingerprint
 
4721
        calculations.  This removes some duplicated functionality, and is
 
4722
        also around 14% faster.  (Every bit helps).
 
4723
 
 
4724
        * import.c (import_one): No longer need the Elgamal import
 
4725
        warning.
 
4726
 
 
4727
        * getkey.c (get_pubkey_fast): This one is sort of obscure.
 
4728
        get_pubkey_fast returns the primary key when requesting a subkey,
 
4729
        so if a user has a key signed by a subkey (we don't do this, but
 
4730
        used to), AND that key is not self-signed, AND the algorithm of
 
4731
        the subkey in question is not present in GnuPG, AND the algorithm
 
4732
        of the primary key that owns the subkey in question is present in
 
4733
        GnuPG, then we will try and verify the subkey signature using the
 
4734
        primary key algorithm and hit a BUG().  The fix is to not return a
 
4735
        hit if the keyid is not the primary.  All other users of
 
4736
        get_pubkey_fast already expect a primary only.
 
4737
 
 
4738
2003-12-09  David Shaw  <dshaw@jabberwocky.com>
 
4739
 
 
4740
        * keyid.c (do_fingerprint_md): Remove the rules to hash the old v3
 
4741
        Elgamal keys.  They are no longer needed.
 
4742
 
 
4743
        * keyid.c (keyid_from_sk, keyid_from_pk, fingerprint_from_pk,
 
4744
        fingerprint_from_sk): Enforce the v3-is-only-RSA rule.  Anything
 
4745
        that isn't RSA gets a zero keyid and fingerprint.
 
4746
 
 
4747
        * keyid.c (do_fingerprint_md): Properly handle hashing of keys
 
4748
        that we don't know the structure of by using the opaque MPI.
 
4749
        (do_fingerprint_md_sk): We cannot calculate the fingerprint from a
 
4750
        secret key unless we know the structure (since we can't leave off
 
4751
        the secret key parts), so fail early.....
 
4752
        (keyid_from_sk, fingerprint_from_sk): .... and return all zeroes.
 
4753
 
 
4754
2003-12-03  David Shaw  <dshaw@jabberwocky.com>
 
4755
 
 
4756
        * g10.c (strusage, main): Show development version warning in
 
4757
        --version output.
 
4758
        (main): Set --bzip2-compress-level to the default value at
 
4759
        startup.  Remove --emulate-checksum-bug noop.
 
4760
 
 
4761
        * options.h, g10.c (main), main.h, seskey.c (do_encode_md,
 
4762
        encode_md_value), sig-check.c (do_check), sign.c (do_sign): Remove
 
4763
        --emulate-md-encode-bug as it only applied to Elgamal signatures,
 
4764
        which are going away.
 
4765
 
 
4766
2003-11-30  David Shaw  <dshaw@jabberwocky.com>
 
4767
 
 
4768
        * mainproc.c (proc_symkey_enc, proc_encrypted): Add ability to use
 
4769
        --override-session-key on --symmetric messages (new-style or
 
4770
        old-style).
 
4771
        (proc_pubkey_enc): Move code to show session key from here to
 
4772
        proc_encrypted() so it can work with any type of message.
 
4773
        Suggested by Michael Young.
 
4774
 
 
4775
2003-11-29  David Shaw  <dshaw@jabberwocky.com>
 
4776
 
 
4777
        * trustdb.c (validate_keys): Reset the trustdb before checking if
 
4778
        we have any ultimately trusted keys.  This ensures that if we lose
 
4779
        all our ultimately trusted keys, we don't leave behind the old
 
4780
        validity calculations.  Noted by Peter Palfrader.
 
4781
 
 
4782
        * revoke.c (gen_desig_revoke): Specify in the comment when a
 
4783
        designated revocation is generated.
 
4784
 
 
4785
        * getkey.c (merge_selfsigs_main, merge_selfsigs_subkey,
 
4786
        get_seckey_byname2): Remove Elgamal check since we are removing
 
4787
        type 20 keys altogether.
 
4788
 
 
4789
2003-11-27  David Shaw  <dshaw@jabberwocky.com>
 
4790
 
 
4791
        * pkclist.c (build_pk_list): Do not allow an empty PK list in
 
4792
        interactive mode.
 
4793
 
 
4794
        * keygen.c (ask_algo): Remove ability to generate Elgamal
 
4795
        sign+encrypt keys.
 
4796
 
 
4797
        * getkey.c (merge_selfsigs_main, merge_selfsigs_subkey,
 
4798
        get_seckey_byname2): Disallow use of sign+encrypt Elgamal keys.
 
4799
 
 
4800
2003-11-20  David Shaw  <dshaw@jabberwocky.com>
 
4801
 
 
4802
        * seskey.c (do_encode_md): Comment about earlier (pre-PGP 2.3)
 
4803
        encodings.
 
4804
 
 
4805
        * misc.c (compress_algo_to_string): Translate "Uncompressed".
 
4806
        Requested by Tommi Vainikainen.
 
4807
        (string_to_compress_algo): Include multi-string for
 
4808
        "uncompressed|none".
 
4809
 
 
4810
2003-11-17  David Shaw  <dshaw@jabberwocky.com>
 
4811
 
 
4812
        * options.h, g10.c (main), compress-bz2.c (init_uncompress): Add
 
4813
        --bz2-compress-lowmem to set bzlib "small" flag for low memory
 
4814
        (but slow) decompression.
 
4815
 
 
4816
2003-11-15  David Shaw  <dshaw@jabberwocky.com>
 
4817
 
 
4818
        * compress.c (init_compress): Remove compress level 10 trick,
 
4819
        since it is no longer needed.
 
4820
 
 
4821
        * g10.c: Fix typoed option name.
 
4822
 
 
4823
        * compress-bz2.c (init_compress): Compression level 0 is not
 
4824
        meaningful for bzip2.
 
4825
 
 
4826
        * options.h, g10.c (main), compress.c (init_compress),
 
4827
        compress-bz2.c (init_compress): Add --compress-level and
 
4828
        --bzip2-compress-level.  -z sets them both.  Change various
 
4829
        callers.
 
4830
 
 
4831
        * encode.c (encode_simple), sign.c (sign_symencrypt_file):
 
4832
        Properly use default_compress_algo (--compress-algo, followed by
 
4833
        the highest --personal-compress-preference, followed by ZIP) to
 
4834
        get the algorithm.
 
4835
 
 
4836
2003-11-14  David Shaw  <dshaw@jabberwocky.com>
 
4837
 
 
4838
        * options.h, trustdb.c (trust_model_string, init_trustdb): Add
 
4839
        support for "external" trust model, where the user can provide a
 
4840
        pregenerated trustdb.
 
4841
 
 
4842
        * keyedit.c (keyedit_menu): Do not allow editing ownertrust with
 
4843
        an external trust model trustdb.
 
4844
 
 
4845
2003-11-13  David Shaw  <dshaw@jabberwocky.com>
 
4846
 
 
4847
        * options.h, g10.c, keyedit.c, keylist.c, mainproc.c: Clarify the
 
4848
        plurarility (or not) of various list and verify options.
 
4849
 
 
4850
2003-11-12  David Shaw  <dshaw@jabberwocky.com>
 
4851
 
 
4852
        * g10.c (main): Add --symmetric --sign --encrypt.
 
4853
 
 
4854
        * main.h, encode.c (setup_symkey): New.  Prompt for a passphrase
 
4855
        and create a DEK for symmetric encryption.
 
4856
        (write_symkey_enc): New.  Write out symmetrically encrypted
 
4857
        session keys.
 
4858
        (encode_crypt, encrypt_filter): Use them here here when creating a
 
4859
        message that can be decrypted with a passphrase or a pk.
 
4860
 
 
4861
        * sign.c (sign_file): Call setup_symkey if we are doing a
 
4862
        --symmetric --sign --encrypt.
 
4863
 
 
4864
2003-11-09  David Shaw  <dshaw@jabberwocky.com>
 
4865
 
 
4866
        * mainproc.c (proc_symkey_enc): Don't show algorithm information
 
4867
        when --quiet is set.  Suggested by Duncan Harris.  Also don't fail
 
4868
        with BUG() when processing a --symmetric message with a cipher we
 
4869
        don't have.
 
4870
 
 
4871
        * g10.c: Alias --personal-xxx-prefs to --personal-xxx-preferences.
 
4872
 
 
4873
        * pkclist.c (build_pk_list): When adding recipients interactively,
 
4874
        allow the user to stop at any point.
 
4875
 
 
4876
2003-10-31  David Shaw  <dshaw@jabberwocky.com>
 
4877
 
 
4878
        * trustdb.h, trustdb.c (register_trusted_keyid): New.  Adds a
 
4879
        keyid to the list of ultimately trusted keys.
 
4880
 
 
4881
        * keygen.c (do_generate_keypair): Use it here so that the ultimate
 
4882
        ownertrust happens before the trustdb (might be) rebuilt.  Also
 
4883
        fix an error where the newly generated pk is thought to be a
 
4884
        subkey by the trustdb.
 
4885
 
 
4886
        * g10.c (main): Fix --export-all do actually do something
 
4887
        different than --export.
 
4888
 
 
4889
        * pkclist.c (build_pk_list): Show all recipients rather than
 
4890
        showing each recipient as they are added.
 
4891
 
 
4892
        * mainproc.c (proc_symkey_enc, proc_encrypted): Keep a count of
 
4893
        the number of passphrases that can decrypt a symmetric or mixed
 
4894
        symmetric/pk message and include it in the list of keys shown to
 
4895
        the user.
 
4896
 
 
4897
2003-10-30  David Shaw  <dshaw@jabberwocky.com>
 
4898
 
 
4899
        * misc.c (compress_algo_to_string, string_to_compress_algo,
 
4900
        check_compress_algo): Add bzip2.
 
4901
 
 
4902
        * compress.c (compress_filter): Make static to help force the use
 
4903
        of push_compress_filter.  Remove default algorithm setting since
 
4904
        that is done in push_compress_filter now.
 
4905
 
 
4906
        * main.h: Use named algorithm.
 
4907
 
 
4908
        * filter.h, compress.c (push_compress_filter,
 
4909
        push_compress_filter2): New.  Figure out which is the appropriate
 
4910
        compression filter to use, and push it into place.
 
4911
 
 
4912
        * compress.c (handle_compressed), encode.c (encode_simple,
 
4913
        encode_crypt), sign.c (sign_file, sign_symencrypt_file), import.c
 
4914
        (read_block), export.c (do_export): Use push_compress_filter
 
4915
        instead of pushing the compression filter ourselves.
 
4916
 
 
4917
        * compress-bz2.c: New.  Bzlib versions of the compression filter
 
4918
        routines.
 
4919
 
 
4920
        * Makefile.am: Include compress-bz2.c if bz2lib is available.
 
4921
 
 
4922
2003-10-30  Werner Koch  <wk@gnupg.org>
 
4923
 
 
4924
        * apdu.c (close_ct_reader, close_pcsc_reader): Implemented.
 
4925
        (get_ccid_error_string): New.  Not very useful messages, though.
 
4926
 
 
4927
2003-10-29  Werner Koch  <wk@gnupg.org>
 
4928
 
 
4929
        * cardglue.c (open_card): Ask for card insertion.
 
4930
        (check_card_serialno): New.
 
4931
        (agent_scd_pksign, agent_scd_pkdecrypt): Use it here.
 
4932
        * cardglue.c (open_card): Issue insertion status message.
 
4933
        * status.h, status.c (STATUS_CARDCTRL): New.
 
4934
 
 
4935
        * status.c (cpr_get_answer_okay_cancel): New.
 
4936
 
 
4937
2003-10-28  Werner Koch  <wk@gnupg.org>
 
4938
 
 
4939
        * keylist.c (list_keyblock_print): Denote secrets keys stored on a
 
4940
        card with an '>'. Print the '#' also for subkeys.
 
4941
        (list_keyblock_colon): Introduce new field 15 for sec/ssb to print
 
4942
        the serial number.
 
4943
 
 
4944
2003-10-26  David Shaw  <dshaw@jabberwocky.com>
 
4945
 
 
4946
        * g10.c (main): Enhance the version-specific config file code to
 
4947
        try for more specific matches before giving up (e.g. 1.3.3-cvs,
 
4948
        1.3.3, 1.3, 1).
 
4949
 
 
4950
2003-10-25  David Shaw  <dshaw@jabberwocky.com>
 
4951
 
 
4952
        * g10.c (main): Add --symmetric --encrypt command.  This generates
 
4953
        a message that can be decrypted via a passphrase or public key
 
4954
        system.
 
4955
 
 
4956
        * main.h, encode.c (encode_seskey): Allow passing in an
 
4957
        already-created session key dek.
 
4958
        (encode_simple): Use the actual symmetric cipher when encrypting a
 
4959
        session key for a symmetric message.
 
4960
        (encode_crypt): Add a flag to trigger a hybrid mode that can be
 
4961
        decrypted via a passphrase or a pk.  Change all callers.
 
4962
 
 
4963
        * mainproc.c (symkey_decrypt_sesskey): There is no way to tell the
 
4964
        difference here between a bad passphrase and a cipher algorithm
 
4965
        that we don't have, so use a error message that makes that clear.
 
4966
        Use the actual list of ciphers when checking whether a cipher is
 
4967
        invalid.  Return error if the decrypted cipher algorithm is
 
4968
        invalid.
 
4969
        (proc_symkey_enc): In a mixed passphrase/pk message, if a valid
 
4970
        dek already exists from decrypting via pk, do not try to process
 
4971
        the passphrase.
 
4972
        (proc_symkey_enc): Indicate when we're decrypting a session key as
 
4973
        opposed to decrypting data.  If a passphrase is invalid, discard
 
4974
        the dek so we'll keep trying.
 
4975
 
 
4976
2003-10-25  Werner Koch  <wk@gnupg.org>
 
4977
 
 
4978
        * ccid-driver.c (ccid_open_reader): Return an error if no USB
 
4979
        devices are found.
 
4980
 
 
4981
        * Makefile.am: Replaced INTLLIBS by LIBINTL.
 
4982
 
 
4983
        * g10.c (main) [ENABLE_CARD_SUPPORT]: Add a default for
 
4984
        --pcsc-driver.
 
4985
 
 
4986
        * cardglue.c (learn_status_cb): Fixed faulty use of !space.
 
4987
 
 
4988
2003-10-24  Werner Koch  <wk@gnupg.org>
 
4989
 
 
4990
        * apdu.c (apdu_open_reader): Hacks for PC/SC under Windows.
 
4991
 
 
4992
2003-10-21  Werner Koch  <wk@gnupg.org>
 
4993
 
 
4994
        * passphrase.c (ask_passphrase): Add optional promptid arg.
 
4995
        Changed all callers.
 
4996
        * cardglue.c (pin_cb): Use it here, so the machine interface can
 
4997
        tell whether the Admin PIN is requested.
 
4998
 
 
4999
        * cardglue.c (agent_scd_checkpin): New.
 
5000
 
 
5001
        * misc.c (openpgp_pk_algo_usage): Added AUTH usage.
 
5002
 
 
5003
        * app-openpgp.c (check_against_given_fingerprint): New. Factored
 
5004
        out that code elsewhere.
 
5005
        (do_check_pin): New.
 
5006
        * card-util.c (card_edit): New command "passwd".  Add logic to
 
5007
        check the PIN in advance.
 
5008
        (card_status): Add new args to return the serial number.  Changed
 
5009
        all callers.
 
5010
 
 
5011
2003-10-14  David Shaw  <dshaw@jabberwocky.com>
 
5012
 
 
5013
        * import.c (import_one): Show the keyid when giving the Elgamal
 
5014
        slow import warning.
 
5015
 
 
5016
        * g10.c (main): Older versions used --comment "" to indicate no
 
5017
        comment.  Don't add an empty comment.
 
5018
 
 
5019
2003-10-13  David Shaw  <dshaw@jabberwocky.com>
 
5020
 
 
5021
        * keyedit.c (show_key_with_all_names): Ownertrust is only
 
5022
        meaningful for the PGP or classic trust models.  Both validity and
 
5023
        ownertrust are not meaningful for the always trust model.
 
5024
 
 
5025
2003-10-11  Werner Koch  <wk@gnupg.org>
 
5026
 
 
5027
        * keygen.c: Always enable the gen_card_key prototype.
 
5028
 
 
5029
2003-10-10  Werner Koch  <wk@gnupg.org>
 
5030
 
 
5031
        * cardglue.c (card_close): New.
 
5032
        (agent_scd_change_pin): Implemented.
 
5033
 
 
5034
        * ccid-driver.c (ccid_close_reader): New.
 
5035
        * apdu.c (close_ccid_reader, close_ct_reader, close_csc_reader)
 
5036
        (close_osc_reader, apdu_close_reader): New.  Not all are properly
 
5037
        implemented yet.
 
5038
        * g10.c (g10_exit): Use close_card.
 
5039
 
 
5040
2003-10-09  David Shaw  <dshaw@jabberwocky.com>
 
5041
 
 
5042
        * g10.c (main): Give a deprecated option warning for
 
5043
        --show-keyring, --show-photos, --show-policy-url, --show-notation,
 
5044
        and their respective no- forms.
 
5045
 
 
5046
        * options.skel: Remove show-photos and replace with
 
5047
        list/verify-options show-photos.  Remove no-mangle-dos-filenames.
 
5048
 
 
5049
        * misc.c (parse_options): Allow for incomplete (but unambiguous)
 
5050
        options.
 
5051
 
 
5052
2003-10-09  Werner Koch  <wk@gnupg.org>
 
5053
 
 
5054
        * ccid-driver.c (ccid_transceive): Add T=1 chaining for sending.
 
5055
 
 
5056
        * sign.c (do_sign) [!ENABLE_CARD_SUPPORT]: Return an error for
 
5057
        card keys.
 
5058
 
 
5059
        * cardglue.c (agent_scd_pkdecrypt): Implemented.
 
5060
        * pubkey-enc.c (get_it) [ENABLE_CARD_SUPPORT]: Divert decryption
 
5061
        to card
 
5062
 
 
5063
2003-10-08  Werner Koch  <wk@gnupg.org>
 
5064
 
 
5065
        * cardglue.c (pin_cb): Detect whether an admin or regular PIN is
 
5066
        requested.
 
5067
        (genkey_status_cb): New.
 
5068
        (agent_scd_genkey): Implemented.
 
5069
 
 
5070
        * keygen.c (generate_keypair): New arg CARD_SERIALNO and prepare
 
5071
        parameters for on card key generation. Changed all callers.
 
5072
        (do_generate_keypair): Add new arg card and merged casrd specific
 
5073
        changes from 1.9.
 
5074
        (proc_parameter_file): New arg card, apss it down to
 
5075
        do_generate_keypair and changed all callers.
 
5076
        (gen_card_key): New.
 
5077
 
 
5078
        * g10.c: Include cardclue.h.
 
5079
        (main): s/app_set_default_reader_port/card_set_reader_port/.
 
5080
        * cardglue.c (card_set_reader_port): New to address include file
 
5081
        issues.
 
5082
 
 
5083
2003-10-02  Werner Koch  <wk@gnupg.org>
 
5084
 
 
5085
        * cardglue.c (learn_status_cb): Release values before assignment
 
5086
        so that it can be used by getattr to update the structure.
 
5087
        (agent_scd_getattr): New.
 
5088
 
 
5089
        * keylist.c (print_pubkey_info): Add FP arg for optional printing
 
5090
        to a stream.  Changed all callers.
 
5091
 
 
5092
2003-10-01  Werner Koch  <wk@gnupg.org>
 
5093
 
 
5094
        * app-common.h, app-openpgp.c, iso7816.c, iso7816.h, apdu.c
 
5095
        * apdu.h, ccid-driver.c, ccid-driver.h, card-util.c: Updated
 
5096
        from current GnuPG 1.9. Changes over there are:
 
5097
        * card-util.c: Tweaked to use this source also under 1.3.
 
5098
        (card_edit): New command "forcesig".
 
5099
        * card-util.c (print_name, print_isoname): Use 0 and not LF fro
 
5100
        the max_n arg of tty_print_utf8_string2.
 
5101
        * card-util.c (change_pin): Simplified.  We now have only a PIN
 
5102
        and an Admin PIN.
 
5103
        * ccid-driver.c: Detect GnuPG 1.3 and include appropriate files.
 
5104
        * apdu.c: Ditto.
 
5105
        * app-openpgp.c: Ditto.
 
5106
        * iso7816.c: Ditto.
 
5107
        (generate_keypair): Renamed to ..
 
5108
        (do_generate_keypair): .. this.
 
5109
        * app-common.h [GNUPG_MAJOR_VERSION]: New.
 
5110
        * iso7816.h [GNUPG_MAJOR_VERSION]: Include cardglue.h
 
5111
        * app-openpgp.c (do_change_pin): Make sure CVH1 and CHV2 are
 
5112
        always synced.
 
5113
        (verify_chv2, verify_chv3): New. Factored out common code.
 
5114
        (do_setattr, do_sign, do_auth, do_decipher): Change the names of
 
5115
        the prompts to match that we have only 2 different PINs.
 
5116
        (app_select_openpgp): Check whether the card enforced CHV1.
 
5117
        (convert_sig_counter_value): New. Factor out code from
 
5118
        get_sig_counter.
 
5119
 
 
5120
        * Makefile.am (card_support_source): Depend on new AM conditional
 
5121
        to get the ifdef ENABLE_CARD_SUPPORT off the way from source
 
5122
        copied files.
 
5123
        (update-source-from-gnupg-2): Maintainer helper.
 
5124
 
 
5125
2003-10-01  David Shaw  <dshaw@jabberwocky.com>
 
5126
 
 
5127
        * g10.c (main): Add --no-groups to zero --group list.
 
5128
 
 
5129
        * encode.c (encode_simple): Allow for 32 bytes (256 bits) of
 
5130
        symmetrically encrypted session key.  Use --s2k-cipher-algo to
 
5131
        choose cipher, rather than the default cipher.
 
5132
 
 
5133
        * parse-packet.c (parse_subkeyenc): Give a warning if an
 
5134
        symmetrically encrypted session key is seen without salt.  Show in
 
5135
        --list-packets if a symetrically encrypted session key is present.
 
5136
 
 
5137
        * pubkey-enc.c (get_it): Always show cipher-not-in-prefs warning
 
5138
        unless --quiet is set.  Use text name of cipher in warning.
 
5139
 
 
5140
2003-09-30  David Shaw  <dshaw@jabberwocky.com>
 
5141
 
 
5142
        * options.h, g10.c (main), mainproc.c (check_sig_and_print): Add
 
5143
        --verify-option show-unusable-uids.
 
5144
 
 
5145
        * gpgv.c (check_trustdb_stale): Stub.
 
5146
 
 
5147
        * trustdb.c (get_validity): Move the up-to-date check to
 
5148
        check_trustdb_stale (new), so that it can be called before
 
5149
        validity is checked.
 
5150
 
 
5151
        * keylist.c (list_keyblock_print): Disable the overall key
 
5152
        validity display until it can be thought about more.  Use
 
5153
        check_trustdb_stale here to avoid putting the check warning in the
 
5154
        middle of a listed key.
 
5155
 
 
5156
        * trustdb.c (init_trustdb): Only verify_own_keys() for those trust
 
5157
        models that it applies to (i.e. classic and OpenPGP).
 
5158
 
 
5159
2003-09-29  Werner Koch  <wk@gnupg.org>
 
5160
 
 
5161
        * keygen.c (do_add_key_flags, parse_parameter_usage): Add support
 
5162
        the proposed AUTH key flag.
 
5163
        * getkey.c (fixup_uidnode, merge_selfsigs_main)
 
5164
        (merge_selfsigs_subkey, premerge_public_with_secret): Ditto.
 
5165
        * keylist.c (print_capabilities): Ditto.
 
5166
 
 
5167
        * parse-packet.c (parse_key): Allow to parse the divert-to-card
 
5168
        S2K mode.
 
5169
        * build-packet.c (do_secret_key): Handle divert-to-card S2K
 
5170
        * seckey-cert.c (is_secret_key_protected): Ditto.
 
5171
        (check_secret_key): Ditto.
 
5172
 
 
5173
        * keygen.c (do_ask_passphrase): Renamed from ask_passphrase.
 
5174
        * passphrase.c (ask_passphrase): New.
 
5175
 
 
5176
2003-09-28  Werner Koch  <wk@gnupg.org>
 
5177
 
 
5178
        * g10.c (main): New commands --card-edit, --card-status and
 
5179
        --change-pin.  New options --ctapi-driver, --pcsc-driver and
 
5180
        --disable-ccid
 
5181
        * options.h (DBG_CARD_IO): New.
 
5182
        * cardglue.c, cardclue.h: Enhanced.
 
5183
        * card-util.c: New. Taken from current the gnupg 1.9 branch.
 
5184
        * app-common.h, app-openpgp.c, iso7816.c, iso7816.h, apdu.c
 
5185
        * apdu.h, ccid-driver.c, ccid-driver.h: New.  Takem from the current
 
5186
        gnupg 1.9 branch withy minor changes to include directives.
 
5187
        * Makefile.am: Added these files.
 
5188
 
 
5189
2003-09-27  Werner Koch  <wk@gnupg.org>
 
5190
 
 
5191
        * sign.c (do_sign) [ENABLE_CARD_SUPPORT]: Divert to card.
 
5192
        * cardglue.c, cardglue.h: New.
 
5193
        * Makefile.am (gpg_LDADD): Added.
 
5194
        (card_support_sources): New.
 
5195
 
 
5196
2003-09-25  David Shaw  <dshaw@jabberwocky.com>
 
5197
 
 
5198
        * options.h, g10.c (main), keylist.c (list_keyblock_print): Add
 
5199
        "show-unusable-uids" list-option to show revoked and/or expired
 
5200
        user IDs.
 
5201
 
 
5202
2003-09-24  David Shaw  <dshaw@jabberwocky.com>
 
5203
 
 
5204
        * keyedit.c (show_key_with_all_names): Show names a little neater
 
5205
        by putting the [revoked] or [expired] in the space used for the
 
5206
        [validity].  There is also no point in showing "[unknown]
 
5207
        [revoked]".
 
5208
 
 
5209
2003-09-23  David Shaw  <dshaw@jabberwocky.com>
 
5210
 
 
5211
        * sign.c (mk_notation_policy_etc): Capitalize "URL".
 
5212
 
 
5213
        * trustdb.c (validate_keys): Give a little more information while
 
5214
        rebuilding trustdb.
 
5215
 
 
5216
        * pkclist.c (do_edit_ownertrust): Clarify "don't know".
 
5217
 
 
5218
        * g10.c (main): Default to --no-mangle-dos-filenames.
 
5219
 
 
5220
        * keydb.h, keyring.c (keyring_search), trustdb.c (search_skipfnc):
 
5221
        Expand the skipfnc to include a pointer to the user ID that
 
5222
        matched.
 
5223
 
 
5224
        * getkey.c (skip_disabled): Rename to skip_unusable, and add
 
5225
        checks for expired or revoked user IDs.
 
5226
 
 
5227
2003-09-22  David Shaw  <dshaw@jabberwocky.com>
 
5228
 
 
5229
        * g10.c (main): Deprecate --default-comment in favor of
 
5230
        --no-comments.
 
5231
 
 
5232
        * options.h, g10.c (main), armor.c (armor_filter): Allow using
 
5233
        --comment multiple times to get multiple Comment: header lines.
 
5234
        --no-comments resets list.
 
5235
 
 
5236
2003-09-11  David Shaw  <dshaw@jabberwocky.com>
 
5237
 
 
5238
        * g10.c (main): Trim --help to commonly used options.  Remove -f.
 
5239
 
 
5240
2003-09-08  David Shaw  <dshaw@jabberwocky.com>
 
5241
 
 
5242
        * g10.c (main): Error out if --multifile is used with the commands
 
5243
        that don't support it yet (--sign, --clearsign, --detach-sign,
 
5244
        --symmetric, and --store).
 
5245
 
 
5246
        * g10.c (main): Add --multifile as an alias to turn --encrypt into
 
5247
        --encrypt-files (plus --verify-files, --decrypt-files).
 
5248
 
 
5249
        * encode.c (use_mdc), g10.c (main): Use RFC1991 and RFC2440
 
5250
        directly to check for MDC usability.  Do not set the force_mdc or
 
5251
        disable_mdc flags since there is no point any longer.
 
5252
 
 
5253
2003-09-04  David Shaw  <dshaw@jabberwocky.com>
 
5254
 
 
5255
        * armor.c (parse_hash_header, armor_filter), g10.c (print_hex,
 
5256
        print_mds), pkclist.c (algo_available): Drop TIGER/192 support.
 
5257
 
 
5258
2003-09-03  David Shaw  <dshaw@jabberwocky.com>
 
5259
 
 
5260
        * keyedit.c (show_key_with_all_names): Fix assertion failure when
 
5261
        using toggle to see a secret key.  Reported by Maxim Britov.
 
5262
 
 
5263
2003-08-31  David Shaw  <dshaw@jabberwocky.com>
 
5264
 
 
5265
        * g10.c (add_keyserver_url), keyedit.c (keyedit_menu), sign.c
 
5266
        (mk_notation_policy_etc): Clarify a few strings.  It's a
 
5267
        "preferred keyserver URL".
 
5268
 
 
5269
        * g10.c (main): Use "keyserver-url" instead of
 
5270
        "preferred-keyserver" for the sake of short and simple commands.
 
5271
 
 
5272
2003-08-30  David Shaw  <dshaw@jabberwocky.com>
 
5273
 
 
5274
        * main.h, keygen.c (keygen_add_keyserver_url): Signature callback
 
5275
        for adding a keyserver URL.
 
5276
 
 
5277
        * keyedit.c (keyedit_menu, menu_set_keyserver_url): New command to
 
5278
        set preferred keyserver to specified (or all) user IDs.
 
5279
 
 
5280
        * build-packet.c (build_sig_subpkt): Set preferred keyserver flag
 
5281
        while building a preferred keyserver subpacket.
 
5282
 
 
5283
        * keylist.c (show_policy_url, show_keyserver_url): URLs might be
 
5284
        UTF8.
 
5285
 
 
5286
        * keyedit.c (menu_addrevoker): Fix leaking a few bytes.
 
5287
 
 
5288
2003-08-29  David Shaw  <dshaw@jabberwocky.com>
 
5289
 
 
5290
        * keyedit.c (show_key_with_all_names): Use list-option
 
5291
        show-long-keyid in main --edit-key display.
 
5292
 
 
5293
        * keyedit.c (print_and_check_one_sig): Use list-option
 
5294
        show-long-keyid in --edit-key "check" function.
 
5295
 
 
5296
2003-08-28  David Shaw  <dshaw@jabberwocky.com>
 
5297
 
 
5298
        * passphrase.c (agent_send_all_options): Make use of $GPG_TTY.
 
5299
 
 
5300
        * g10.c (main): Disable use-agent if passphrase-fd is given
 
5301
        later. Suggested by Kurt Garloff.
 
5302
 
 
5303
        * exec.c, g10.c, gpgv.c, passphrase.c, photoid.c:
 
5304
        s/__MINGW32__/_WIN32/ to help building on native Windows
 
5305
        compilers.  Requested by Brian Gladman.  From Werner on stable
 
5306
        branch.
 
5307
 
 
5308
2003-08-25  David Shaw  <dshaw@jabberwocky.com>
 
5309
 
 
5310
        * options.h, g10.c (main): Add list-option
 
5311
        list-preferred-keyserver.
 
5312
 
 
5313
        * keyedit.c (change_passphrase): When responding 'no' to the blank
 
5314
        passphrase question, re-prompt for a new passphrase.  This is bug
 
5315
        #202.
 
5316
 
 
5317
        * mainproc.c (check_sig_and_print): Use two different preferred
 
5318
        keyserver displays - one if the key is not present (to tell the
 
5319
        user where to get the key), the other if it is present (to tell
 
5320
        the user where the key can be refreshed).
 
5321
 
 
5322
        * packet.h, parse-packet.c (parse_signature): Set flag if a
 
5323
        preferred keyserver is present.
 
5324
 
 
5325
        * keylist.c (list_keyblock_print): Show keyserver url in listings
 
5326
        with list-option show-keyserver-url.
 
5327
 
 
5328
2003-08-24  David Shaw  <dshaw@jabberwocky.com>
 
5329
 
 
5330
        * Makefile.am: Use NETLIBS instead of EGDLIBS.
 
5331
 
 
5332
        * mainproc.c (check_sig_and_print): Get the uid validity before
 
5333
        printing any sig results to avoid munging the output with trustdb
 
5334
        warnings.
 
5335
 
 
5336
        * g10.c (main): Don't include --show-keyring in --help as it is
 
5337
        deprecated.
 
5338
 
 
5339
2003-08-21  David Shaw  <dshaw@jabberwocky.com>
 
5340
 
 
5341
        * gpgv.c: Remove extra semicolon (typo).
 
5342
 
 
5343
        * options.skel: Note that keyserver.pgp.com isn't synchronized,
 
5344
        and explain the roundrobin a bit better.
 
5345
 
 
5346
        * sig-check.c (check_key_signature2), import.c (import_one,
 
5347
        import_revoke_cert, chk_self_sigs, delete_inv_parts,
 
5348
        collapse_uids, merge_blocks): Make much quieter during import of
 
5349
        slightly munged, but recoverable, keys. Use log_error for
 
5350
        unrecoverable import failures.
 
5351
 
 
5352
        * keyring.c (keyring_rebuild_cache): Comment.
 
5353
 
 
5354
        * sign.c (mk_notation_and_policy): Making a v3 signature with
 
5355
        notations or policy urls is an error, not an info (i.e. increment
 
5356
        the errorcount). Don't print the notation or policy url to stdout
 
5357
        since it can be mixed into the output stream when piping and munge
 
5358
        the stream.
 
5359
 
 
5360
2003-08-12  David Shaw  <dshaw@jabberwocky.com>
 
5361
 
 
5362
        * packet.h, sig-check.c (signature_check2, do_check,
 
5363
        do_check_messages): Provide a signing-key-is-revoked flag.  Change
 
5364
        all callers.
 
5365
 
 
5366
        * status.h, status.c (get_status_string): New REVKEYSIG status tag
 
5367
        for a good signature from a revoked key.
 
5368
 
 
5369
        * mainproc.c (do_check_sig, check_sig_and_print): Use it here.
 
5370
 
 
5371
        * import.c (import_revoke_cert, merge_blocks, merge_sigs): Compare
 
5372
        actual signatures on import rather than using keyid or class
 
5373
        matching.  This does not change actual behavior with a key, but
 
5374
        does mean that all sigs are imported whether they will be used or
 
5375
        not.
 
5376
 
 
5377
        * parse-packet.c (parse_signature): Don't give "signature packet
 
5378
        without xxxx" warnings for experimental pk algorithms.  An
 
5379
        experimental algorithm may not have a notion of (for example) a
 
5380
        keyid (i.e. PGP's x.509 stuff).
 
5381
 
 
5382
2003-08-02  David Shaw  <dshaw@jabberwocky.com>
 
5383
 
 
5384
        * options.h, g10.c (main), keylist.c (list_keyblock_print),
 
5385
        keyedit.c (print_and_check_one_sig): New "show-sig-expire"
 
5386
        list-option to show signature expiration dates (if any).
 
5387
 
 
5388
2003-07-24  David Shaw  <dshaw@jabberwocky.com>
 
5389
 
 
5390
        * options.h, g10.c (main, add_keyserver_url): Add
 
5391
        --sig-preferred-keyserver to implant a "where to get my key"
 
5392
        subpacket into a signature.
 
5393
 
 
5394
        * sign.c (mk_notation_and_policy): Rename to
 
5395
        mk_notation_policy_etc and add preferred keyserver support for
 
5396
        signatures.
 
5397
 
 
5398
2003-07-21  David Shaw  <dshaw@jabberwocky.com>
 
5399
 
 
5400
        * keygen.c (do_add_key_flags): Don't set the certify flag for
 
5401
        subkeys.
 
5402
        (ask_algo): Provide key flags for DSA, Elgamal_e, and Elgamal
 
5403
        subkeys.
 
5404
        (generate_keypair): Provide key flags for the default DSA/Elgamal
 
5405
        keys.
 
5406
 
 
5407
        * sig-check.c (signature_check, signature_check2,
 
5408
        check_key_signature, check_key_signature2): Allow passing NULLs
 
5409
        for unused parameters in the x2 form of each function to avoid the
 
5410
        need for dummy variables. getkey.c, mainproc.c: Change all
 
5411
        callers.
 
5412
 
 
5413
        * trustdb.h, trustdb.c (read_trust_options): New.  Returns items
 
5414
        from the trustdb version record.
 
5415
 
 
5416
        * keylist.c (public_key_list): Use it here for the new "tru"
 
5417
        record.
 
5418
 
 
5419
        * gpgv.c (read_trust_options): Stub.
 
5420
 
 
5421
2003-07-20  David Shaw  <dshaw@jabberwocky.com>
 
5422
 
 
5423
        * keyedit.c (show_key_with_all_names): Use list-option
 
5424
        show-validity in --edit-key interface as well.
 
5425
 
 
5426
2003-07-19  David Shaw  <dshaw@jabberwocky.com>
 
5427
 
 
5428
        * options.h, g10.c (main), mainproc.c (check_sig_and_print): Add
 
5429
        verify-options "show-validity" and "show-long-keyid" to show
 
5430
        trustdb validity and long keyids during (file) signature
 
5431
        verification.
 
5432
 
 
5433
        * packet.h, main.h, sig-check.c (signature_check2,
 
5434
        check_key_signature2, do_check): If ret_pk is set, fill in the pk
 
5435
        used to verify the signature.  Change all callers in getkey.c,
 
5436
        mainproc.c, and sig-check.c.
 
5437
 
 
5438
        * keylist.c (list_keyblock_colon): Use the ret_pk from above to
 
5439
        put the fingerprint of the signing key in "sig" records during a
 
5440
        --with-colons --check-sigs.  This requires --no-sig-cache as well
 
5441
        since we don't cache fingerprints.
 
5442
 
 
5443
2003-07-10  David Shaw  <dshaw@jabberwocky.com>
 
5444
 
 
5445
        * parse-packet.c (parse_signature): No need to reserve 8 bytes for
 
5446
        the unhashed signature cache any longer.
 
5447
 
 
5448
        * misc.c (pct_expando): Add two new expandos - signer's
 
5449
        fingerprint (%g), and signer's primary fingerprint (%p).
 
5450
 
 
5451
        * Makefile.am: Include W32LIBS where appropriate.
 
5452
 
 
5453
        * g10.c (main): Add --rfc2440 alias for --openpgp since in a few
 
5454
        months, they won't be the same thing.
 
5455
 
 
5456
        * keyserver.c (parse_keyserver_uri): Accept "http" as an alias for
 
5457
        "hkp", since it is occasionally written that way.
 
5458
        (keyserver_spawn): Use ascii_isspace to avoid locale issues.
 
5459
 
 
5460
        * keygen.c (ask_user_id): Make --allow-freeform-uid apply to the
 
5461
        email field as well as the name field, and allow mixing fields
 
5462
        when it is set.
 
5463
 
 
5464
        * options.skel: Use subkeys.pgp.net as the default keyserver.
 
5465
 
 
5466
        * trustdb.c (validate_one_keyblock): Certifications on revoked or
 
5467
        expired uids do not count in the web of trust.
 
5468
 
 
5469
        * signal.c (init_one_signal, pause_on_sigusr, do_block): Only use
 
5470
        sigprocmask() if we have sigset_t, and only use sigaction() if we
 
5471
        have struct sigaction.  This is for Forte c89 on Solaris which
 
5472
        seems to define only the function call half of the two pairs by
 
5473
        default.
 
5474
        (pause_on_sigusr): Typo.
 
5475
        (do_block): If we can't use sigprocmask() and sigset_t, try to get
 
5476
        the number of signals from NSIG as well as MAXSIG, and if we
 
5477
        can't, fail with an explanation.
 
5478
 
 
5479
        * signal.c, tdbio.c: Comment out the transaction code.  It was not
 
5480
        used in this version, and was causing some build problems on
 
5481
        quasi-posix platforms (Solaris and Forte c89).
 
5482
 
 
5483
        * keylist.c (list_keyblock_colon): Don't include validity values
 
5484
        when listing secret keys since they can be incorrect and/or
 
5485
        misleading.  This is a temporary kludge, and will be handled
 
5486
        properly in 1.9/2.0.
 
5487
 
 
5488
        * mainproc.c (check_sig_and_print): Only show the "key available
 
5489
        from" preferred keyserver line if the key is not currently
 
5490
        present.
 
5491
 
 
5492
        * keyedit.c (sign_uids): Do not sign expired uids without --expert
 
5493
        (same behavior as revoked uids).  Do not allow signing a user ID
 
5494
        without a self-signature.  --expert overrides.  Add additional
 
5495
        prompt to the signature level question.
 
5496
        (menu_expire): When changing expiration dates, don't replace
 
5497
        selfsigs on revoked uids since this would effectively unrevoke
 
5498
        them. There is also no point in replacing expired selfsigs.  This
 
5499
        is bug #181
 
5500
 
 
5501
2003-07-10  David Shaw  <dshaw@jabberwocky.com> (from Werner on stable branch)
 
5502
 
 
5503
        * g10.c (add_notation_data): Make sure that only ascii is passed
 
5504
        to iscntrl.  Noted by Christian Biere.
 
5505
        * getkey.c (classify_user_id2): Replaced isspace by spacep
 
5506
        * keygen.c (ask_user_id): Ditto.
 
5507
        (get_parameter_algo): Ditto.
 
5508
        * keyedit.c (keyedit_menu): Ditto.
 
5509
        * tdbdump.c (import_ownertrust): Ditto.  s/isxdigit/hexdigitp/.
 
5510
        * revoke.c (ask_revocation_reason):
 
5511
        * keyserver.c (keyserver_spawn): Dito.
 
5512
 
 
5513
2003-06-10  Werner Koch  <wk@gnupg.org>
 
5514
 
 
5515
        * parse-packet.c (parse): Disallow old style partial length for
 
5516
        all key material packets to avoid possible corruption of keyrings.
 
5517
 
 
5518
2003-06-08  Werner Koch  <wk@gnupg.org>
 
5519
 
 
5520
        * import.c (import_keys_internal): Invalidate the cache so that
 
5521
        the file descriptor gets closed.  Fixes bug reported by Juan
 
5522
        F. Codagnone.
 
5523
 
 
5524
2003-06-04  David Shaw  <dshaw@jabberwocky.com>
 
5525
 
 
5526
        * options.skel: Use new hkp://subkeys.pgp.net as sample keyserver
 
5527
        since they at least handle subkeys correctly.
 
5528
 
 
5529
        * options.h, g10.c (main), main.h, keylist.c (show_keyserver_url),
 
5530
        mainproc.c (check_sig_and_print), parse-packet.c (dump_sig_subpkt,
 
5531
        parse_one_sig_subpkt, can_handle_critical): Add read-only support
 
5532
        for preferred keyserver subpackets.  They're basically policy URLs
 
5533
        with a different name.  Add a verify-option
 
5534
        "show-preferred-keyserver" to turn them on and off (on by default,
 
5535
        as per stable branch).
 
5536
 
 
5537
        * g10.c (main): Add "--set-notation" as alias to "--notation-data"
 
5538
        this is to make things consistent with --set-policy-url meaning
 
5539
        both sigs and certs.
 
5540
 
 
5541
2003-06-03  David Shaw  <dshaw@jabberwocky.com>
 
5542
 
 
5543
        * options.h, g10.c (main), keylist.c (list_keyblock_print): Add
 
5544
        "show-validity" and "show-long-keyid" list-options.
 
5545
 
 
5546
        * gpgv.c (get_validity, trust_value_to_string): Stubs.
 
5547
 
 
5548
        * g10.c (main): Use SAFE_VERSION instead of VERSION in the
 
5549
        version-specific gpg.conf file so it can be overridden on RISCOS.
 
5550
 
 
5551
2003-06-01  David Shaw  <dshaw@jabberwocky.com>
 
5552
 
 
5553
        * g10.c (main), keylist.c (show_policy_url, show_notation),
 
5554
        mainproc.c (check_sig_and_print): Emulate the old policy and
 
5555
        notation behavior (display by default).  Send to status-fd whether
 
5556
        it is displayed on the screen or not.
 
5557
 
 
5558
        * g10.c (main): Since we now have some options in devel that won't
 
5559
        work in a stable branch gpg.conf file, try for a version-specific
 
5560
        gpg.conf-VERSION file before falling back to gpg.conf.
 
5561
 
 
5562
        * main.h, options.h: Move various option flags to options.h.
 
5563
 
 
5564
2003-05-31  David Shaw  <dshaw@jabberwocky.com>
 
5565
 
 
5566
        * mainproc.c (check_sig_and_print), main.h, keylist.c
 
5567
        (show_policy, show_notation): Collapse the old print_notation_data
 
5568
        into show_policy() and show_notation() so there is only one
 
5569
        function to print notations and policy URLs.
 
5570
 
 
5571
        * options.h, main.h, g10.c (main), keyedit.c
 
5572
        (print_and_check_one_sig), keylist.c (list_one,
 
5573
        list_keyblock_print), pkclist.c (do_edit_ownertrust), sign.c
 
5574
        (mk_notation_and_policy): New "list-options" and "verify-options"
 
5575
        commands.  These replace the existing
 
5576
        --show-photos/--no-show-photos,
 
5577
        --show-notation/--no-show-notation,
 
5578
        --show-policy-url/--no-show-policy-url, and --show-keyring
 
5579
        options.  The new method is more flexible since a user can specify
 
5580
        (for example) showing photos during sig verification, but not in
 
5581
        key listings.  The old options are emulated.
 
5582
 
 
5583
        * main.h, misc.c (parse_options): New general option line
 
5584
        parser. Fix the bug in the old version that did not handle report
 
5585
        syntax errors after a valid entry.
 
5586
 
 
5587
        * import.c (parse_import_options), export.c
 
5588
        (parse_export_options): Call it here instead of duplicating the
 
5589
        code.
 
5590
 
 
5591
2003-05-30  David Shaw  <dshaw@jabberwocky.com>
 
5592
 
 
5593
        * keylist.c (list_one): Don't show the keyring filename when in
 
5594
        --with-colons mode.  Actually translate "Keyring" string.
 
5595
 
 
5596
        * mainproc.c (proc_tree): We can't currently handle multiple
 
5597
        signatures of different classes or digests (we'd pretty much have
 
5598
        to run a different hash context for each), but if they are all the
 
5599
        same, make an exception.  This is Debian bug #194292.
 
5600
 
 
5601
        * sig-check.c (check_key_signature2): Make string translatable.
 
5602
 
 
5603
        * packet.h, getkey.c (fixup_uidnode): Mark real primary uids
 
5604
        differently than assumed primaries.
 
5605
 
 
5606
        * keyedit.c (no_primary_warning): Use the differently marked
 
5607
        primaries here in a new function to warn when an --edit-key
 
5608
        command might rearrange the self-sig dates enough to change which
 
5609
        uid is primary.
 
5610
        (menu_expire, menu_set_preferences): Use no_primary_warning()
 
5611
        here.
 
5612
 
 
5613
        * Makefile.am: Use @DLLIBS@ for -ldl.
 
5614
 
 
5615
2003-05-26  David Shaw  <dshaw@jabberwocky.com>
 
5616
 
 
5617
        * getkey.c (premerge_public_with_secret): Made "no secret subkey
 
5618
        for" warning a verbose item and translatable. (From wk on stable
 
5619
        branch)
 
5620
 
 
5621
        * sig-check.c (check_key_signature2): Made "no subkey for subkey
 
5622
        binding packet" a verbose item instead of a !quiet one.  There are
 
5623
        too many garbled keys out in the wild. (From wk on stable branch)
 
5624
 
 
5625
        * filter.h: Remove const from WHAT. (From wk on stable branch)
 
5626
 
 
5627
        * progress.c (handle_progress): Store a copy of
 
5628
        NAME. (progress_filter): Release WHAT, make sure not to print a
 
5629
        NULL WHAT. (From wk on stable branch)
 
5630
 
 
5631
        * openfile.c (open_sigfile): Adjust free for new progress
 
5632
        semantics. (From wk on stable branch)
 
5633
 
 
5634
        * plaintext.c (ask_for_detached_datafile): Don't dealloc
 
5635
        pfx->WHAT. (From wk on stable branch)
 
5636
 
 
5637
        * seckey-cert.c (do_check): Issue the RSA_OR_IDEA status when the
 
5638
        cipher algo is IDEA to make it easier to track down the
 
5639
        problem. (From twoaday on stable branch)
 
5640
 
 
5641
2003-05-24  David Shaw  <dshaw@jabberwocky.com>
 
5642
 
 
5643
        * armor.c, g10.c, kbnode.c, misc.c, pkclist.c, sign.c,
 
5644
        build-packet.c, getkey.c, keydb.c, openfile.c, plaintext.c,
 
5645
        status.c, gpgv.c, keygen.c, options.h, sig-check.c, tdbio.h,
 
5646
        encode.c, mainproc.c, parse-packet.c, signal.c, textfilter.c: Edit
 
5647
        all preprocessor instructions to remove whitespace before the '#'.
 
5648
        This is not required by C89, but there are some compilers out
 
5649
        there that don't like it.
 
5650
 
 
5651
2003-05-21  David Shaw  <dshaw@jabberwocky.com>
 
5652
 
 
5653
        * trustdb.h, trustdb.c (is_disabled), gpgv.c (is_disabled): Rename
 
5654
        is_disabled to cache_disabled_value, which now takes a pk and not
 
5655
        just the keyid. This is for speed since there is no need to
 
5656
        re-fetch a key when we already have that key handy.  Cache the
 
5657
        result of the check so we don't need to hit the trustdb more than
 
5658
        once.
 
5659
 
 
5660
        * getkey.c (skip_disabled): New function to get a pk and call
 
5661
        is_disabled on it. (key_byname): Use it here.
 
5662
 
 
5663
        * packet.h, getkey.c (skip_disabled), keylist.c
 
5664
        (print_capabilities): New "pk_is_disabled" macro to retrieve the
 
5665
        cached disabled value if available, and fill it in via
 
5666
        cache_disabled_value if not available.
 
5667
 
 
5668
        * trustdb.c (get_validity): Cache the disabled value since we have
 
5669
        it handy and it might be useful later.
 
5670
 
 
5671
        * parse-packet.c (parse_key): Clear disabled flag when parsing a
 
5672
        new key.  Just in case someone forgets to clear the whole key.
 
5673
 
 
5674
        * getkey.c (merge_selfsigs_main): Add an "if all else fails" path
 
5675
        for setting a single user ID primary when there are multiple set
 
5676
        primaries all at the same second, or no primaries set and the most
 
5677
        recent user IDs are at the same second, or no signed user IDs at
 
5678
        all. This is arbitrary, but deterministic.
 
5679
 
 
5680
        * exec.h, photoid.h: Add copyright message.
 
5681
 
 
5682
        * keylist.c (list_keyblock_print): Don't dump attribs for
 
5683
        revoked/expired/etc uids for non-colon key listings.  This is for
 
5684
        consistency with --show-photos.
 
5685
 
 
5686
        * main.h, keylist.c (dump_attribs), mainproc.c
 
5687
        (check_sig_and_print): Dump attribs if --attrib-fd is set when
 
5688
        verifying signatures.
 
5689
 
 
5690
        * g10.c (main): New --gnupg option to disable the various
 
5691
        --openpgp, --pgpX, etc. options.  This is the same as --no-XXXX
 
5692
        for those options.
 
5693
 
 
5694
        * revoke.c (ask_revocation_reason): Clear old reason if user
 
5695
        elects to repeat question.  This is bug 153.
 
5696
 
 
5697
        * keyedit.c (sign_uids): Show keyid of the key making the
 
5698
        signature.
 
5699
 
 
5700
2003-05-21  Werner Koch  <wk@gnupg.org>
 
5701
 
 
5702
        * progress.c (handle_progress)
 
5703
        * sign.c (write_plaintext_packet)
 
5704
        * encode.c (encode_simple,encode_crypt): Make sure that a filename
 
5705
        of "-" is considered to be stdin so that iobuf_get_filelength
 
5706
        won't get called.  This fixes bug 156 reported by Gregery Barton.
 
5707
 
 
5708
2003-05-02  David Shaw  <dshaw@jabberwocky.com>
 
5709
 
 
5710
        * packet.h, build-packet.c (build_sig_subpkt), export.c
 
5711
        (do_export_stream), import.c (remove_bad_stuff, import),
 
5712
        parse-packet.c (dump_sig_subpkt, parse_one_sig_subpkt): Remove
 
5713
        vestigal code for the old sig cache subpacket.  This wasn't
 
5714
        completely harmless as it caused subpacket 101 to disappear on
 
5715
        import and export.
 
5716
 
 
5717
        * options.h, armor.c, cipher.c, g10.c, keyedit.c, pkclist.c,
 
5718
        sign.c, encode.c, getkey.c, revoke.c: The current flags for
 
5719
        different levels of PGP-ness are massively complex.  This is step
 
5720
        one in simplifying them. No functional change yet, just use a
 
5721
        macro to check for compliance level.
 
5722
 
 
5723
        * sign.c (sign_file): Fix bug that causes spurious compression
 
5724
        preference warning.
 
5725
 
 
5726
        * sign.c (clearsign_file): Fix bug that prevents proper warning
 
5727
        message from appearing when clearsigning in --pgp2 mode with a
 
5728
        non-v3 RSA key.
 
5729
 
 
5730
        * main.h, misc.c (compliance_option_string, compliance_string,
 
5731
        compliance_failure), pkclist.c (build_pk_list), sign.c (sign_file,
 
5732
        clearsign_file), encode.c (encode_crypt,
 
5733
        write_pubkey_enc_from_list): New functions to put the "this
 
5734
        message may not be usable...." warning in one place.
 
5735
 
 
5736
        * options.h, g10.c (main): Part two of the simplification.  Use a
 
5737
        single enum to indicate what we are compliant to (1991, 2440,
 
5738
        PGPx, etc.)
 
5739
 
 
5740
        * g10.c (main): Show errors for failure in export, send-keys,
 
5741
        recv-keys, and refresh-keys.
 
5742
 
 
5743
        * options.h, g10.c (main): Give algorithm warnings for algorithms
 
5744
        chosen against the --pgpX and --openpgp rules.
 
5745
 
 
5746
        * keydb.h, pkclist.c (algo_available): Make TIGER192 invalid in
 
5747
        --openpgp mode.
 
5748
 
 
5749
        * sign.c (sign_file), pkclist.c (algo_available): Allow passing a
 
5750
        hint of 0.
 
5751
 
 
5752
2003-05-01  David Shaw  <dshaw@jabberwocky.com>
 
5753
 
 
5754
        * tdbio.c (create_version_record): Only create new trustdbs with
 
5755
        TM_CLASSIC or TM_PGP.
 
5756
 
 
5757
        * trustdb.h, trustdb.c (trust_string, get_ownertrust_string,
 
5758
        get_validity_string, ask_ownertrust, validate_keys), pkclist.c
 
5759
        (do_edit_ownertrust): Rename trust_string to trust_value_to_string
 
5760
        for naming consistency.
 
5761
 
 
5762
        * trustdb.h, trustdb.c (string_to_trust_value): New function to
 
5763
        translate a string to a trust value.
 
5764
 
 
5765
        * g10.c (main): Use string_to_trust_value here for
 
5766
        --force-ownertrust.
 
5767
 
 
5768
        * options.h, g10.c (main), trustdb.c (trust_model_string,
 
5769
        init_trustdb, check_trustdb, update_trustdb, get_validity,
 
5770
        validate_one_keyblock): An "OpenPGP" trust model is misleading
 
5771
        since there is no official OpenPGP trust model.  Use "PGP"
 
5772
        instead.
 
5773
 
 
5774
2003-04-30  David Shaw  <dshaw@jabberwocky.com>
 
5775
 
 
5776
        * build-packet.c (build_sig_subpkt): Comments.
 
5777
 
 
5778
        * exec.c (exec_write): Cast NULL to void* to properly terminate
 
5779
        varargs list.
 
5780
 
 
5781
        * keyedit.c (show_key_with_all_names): Just for safety, catch an
 
5782
        invalid pk algorithm.
 
5783
 
 
5784
        * sign.c (make_keysig_packet): Crucial that the call to mksubpkt
 
5785
        comes LAST before the calls to finalize the sig as that makes it
 
5786
        possible for the mksubpkt function to get a reliable pointer to
 
5787
        the subpacket area.
 
5788
 
 
5789
        * pkclist.c (do_we_trust_pre): If an untrusted key was chosen by a
 
5790
        particular user ID, use that ID as the one to ask about when
 
5791
        prompting whether to use the key anyway.
 
5792
        (build_pk_list): Similar change here when adding keys to the
 
5793
        recipient list.
 
5794
 
 
5795
        * trustdb.c (update_validity): Fix bug that prevented more than
 
5796
        one validity record per trust record.
 
5797
        (get_validity): When retrieving validity for a (user) supplied
 
5798
        user ID, return the validity for that user ID only, and do not
 
5799
        fall back to the general key validity.
 
5800
        (validate_one_keyblock): Some commentary on whether
 
5801
        non-self-signed user IDs belong in the web of trust (arguably,
 
5802
        they do).
 
5803
 
 
5804
2003-04-27  David Shaw  <dshaw@jabberwocky.com>
 
5805
 
 
5806
        * g10.c (main): Add --no-textmode.
 
5807
 
 
5808
        * export.c (do_export_stream), keyedit.c (show_key_with_all_names,
 
5809
        menu_addrevoker), mainproc.c (check_sig_and_print), photoid.c
 
5810
        (show_photos), sign.c (mk_notation_and_policy), trustdb.c
 
5811
        (get_validity, reset_trust_records, validate_keys): Make some
 
5812
        strings translatable.
 
5813
 
 
5814
        * mainproc.c (check_sig_and_print): Show digest algorithm and sig
 
5815
        class when verifying a sig with --verbose on, and add version, pk
 
5816
        and hash algorithms and sig class to VALIDSIG.
 
5817
 
 
5818
        * parse-packet.c (enum_sig_subpkt): Make a warning message a
 
5819
        --verbose warning message since we don't need to warn every time
 
5820
        we see an unknown critical (we only need to invalidate the
 
5821
        signature).
 
5822
 
 
5823
        * trustdb.c (init_trustdb): Check the trustdb options even with
 
5824
        TM_AUTO since the auto may become TM_CLASSIC or TM_OPENPGP.
 
5825
 
 
5826
2003-04-26  David Shaw  <dshaw@jabberwocky.com>
 
5827
 
 
5828
        * sign.c (do_sign): Show the hash used when making a signature in
 
5829
        verbose mode.
 
5830
 
 
5831
        * tdbio.h, tdbio.c (tdbio_read_model): New function to return the
 
5832
        trust model used in a given trustdb.
 
5833
 
 
5834
        * options.h, g10.c (main), trustdb.c (init_trustdb, check_trustdb,
 
5835
        update_trustdb): Use tdbio_read_model to implement an "auto" trust
 
5836
        model which is set via the trustdb.
 
5837
 
 
5838
2003-04-23  David Shaw  <dshaw@jabberwocky.com>
 
5839
 
 
5840
        * import.c (import_revoke_cert): Remove ultimate trust when
 
5841
        revoking an ultimately trusted key.
 
5842
 
 
5843
        * keyedit.c (sign_uids): Allow replacing expired signatures.
 
5844
        Allow duplicate signatures with --expert.
 
5845
 
 
5846
        * pkclist.c (check_signatures_trust): Don't display a null
 
5847
        fingerprint when checking a signature with --always-trust enabled.
 
5848
 
 
5849
        * filter.h (progress_filter_context_t), progress.c
 
5850
        (handle_progress), plaintext.c (ask_for_detached_datafile,
 
5851
        hash_datafiles): Fix compiler warnings.  Make "what" constant.
 
5852
 
 
5853
        * build-packet.c (do_plaintext): Do not create invalid literal
 
5854
        packets with >255-byte names.
 
5855
 
 
5856
2003-04-15  Werner Koch  <wk@gnupg.org>
 
5857
 
 
5858
        * Makefile.am (AM_CFLAGS): Make use of AM_CFLAGS and AM_LDFLAGS.
 
5859
 
 
5860
        * g10.c, options.h: New option --enable-progress-filter.
 
5861
        * progress.c (handle_progress): Make use of it.
 
5862
 
 
5863
2003-04-15  Marcus Brinkmann  <marcus@g10code.de>
 
5864
 
 
5865
        * progress.c: New file.
 
5866
        * Makefile.am (common_source): Add progress.c.
 
5867
        * filter.h (progress_filter_context_t): New type.
 
5868
        (progress_filter, handle_progress): New prototypes.
 
5869
        * main.h (open_sigfile): New argument for prototype.
 
5870
        * openfile.c (open_sigfile): New argument to install progress
 
5871
        filter.
 
5872
        * encode.c (encode_simple): New variable PFX.  Register
 
5873
        progress filter.  Install text_filter after that.
 
5874
        (encode_crypt): Likewise.
 
5875
        * sign.c (sign_file): Likewise.
 
5876
        (clearsign_file): Likewise.
 
5877
        * decrypt.c (decrypt_message): Likewise.
 
5878
        (decrypt_messages): Likewise.
 
5879
        * verify.c (verify_signatures): Likewise.
 
5880
        (verify_one_file): Likewise.
 
5881
        * plaintext.c (hash_datafiles): Likewise.
 
5882
        (ask_for_detached_datafile): Likewise.
 
5883
 
 
5884
2003-04-10  Werner Koch  <wk@gnupg.org>
 
5885
 
 
5886
        * passphrase.c (read_passphrase_from_fd): Do a dummy read if the
 
5887
        agent is to be used.  Noted by Ingo Klöcker.
 
5888
        (agent_get_passphrase): Inhibit caching when we have no
 
5889
        fingerprint.  This is required for key generation as well as for
 
5890
        symmetric only encryption.
 
5891
 
 
5892
        * passphrase .c (agent_get_passphrase): New arg CANCELED.
 
5893
        (passphrase_to_dek): Ditto.  Passed to above.  Changed all
 
5894
        callers to pass NULL.
 
5895
        * seckey-cert.c (do_check): New arg CANCELED.
 
5896
        (check_secret_key): Terminate loop when canceled.
 
5897
 
 
5898
        * keyedit.c (change_passphrase): Pass ERRTEXT untranslated to
 
5899
        passphrase_to_dek and translate where appropriate.
 
5900
        * seckey-cert.c (check_secret_key): Ditto.
 
5901
        * keygen.c (ask_passphrase): Ditto.
 
5902
        * passphrase.c (agent_get_passphrase): Translate the TRYAGAIN_TEXT.
 
5903
        Switch the codeset to utf-8.
 
5904
 
 
5905
2003-04-09  Werner Koch  <wk@gnupg.org>
 
5906
 
 
5907
        * decrypt.c (decrypt_messages): Fixed error handling; the function
 
5908
        used to re-loop with same file after an error.  Reported by Joseph
 
5909
        Walton.
 
5910
 
 
5911
2003-04-08  David Shaw  <dshaw@jabberwocky.com>
 
5912
 
 
5913
        * main.h, g10.c (main), import.c (parse_import_options,
 
5914
        fix_pks_corruption): It's really PKS corruption, not HKP
 
5915
        corruption.  Keep the old repair-hkp-subkey-bug command as an
 
5916
        alias.
 
5917
 
 
5918
        * g10.c (main): Rename --no-version to --no-emit-version for
 
5919
        consistency.  Keep --no-version as an alias.
 
5920
 
 
5921
2003-04-04  David Shaw  <dshaw@jabberwocky.com>
 
5922
 
 
5923
        * pkclist.c (algo_available): PGP 8 can use the SHA-256 hash.
 
5924
 
 
5925
        * sign.c (sign_file, clearsign_file, sign_symencrypt_file): Remove
 
5926
        unused code.
 
5927
 
 
5928
2003-04-01  Werner Koch  <wk@gnupg.org>
 
5929
 
 
5930
        * mainproc.c (check_sig_and_print): Add primary key fpr to VALIDSIG
 
5931
        status.
 
5932
 
 
5933
2003-03-24  David Shaw  <dshaw@jabberwocky.com>
 
5934
 
 
5935
        * keydb.h: Err on the side of making an unknown signature a SIG
 
5936
        rather than a CERT.
 
5937
 
 
5938
        * import.c (delete_inv_parts): Discard any key signatures that
 
5939
        aren't key types (i.e. 0x00, 0x01, etc.)
 
5940
 
 
5941
        * g10.c (main): Add deprecated option warning for
 
5942
        --list-ownertrust.  Add --compression-algo alias for
 
5943
        --compress-algo.  Change --version output strings to match
 
5944
        "showpref" strings, and make translatable.
 
5945
 
 
5946
        * status.c (do_get_from_fd): Accept 'y' as well as 'Y' for
 
5947
        --command-fd boolean input.
 
5948
 
 
5949
        * trustdb.c: Fix typo (DISABLE_REGEXP -> DISABLE_REGEX)
 
5950
 
 
5951
        * keyedit.c (show_key_with_all_names_colon): Show no-ks-modify
 
5952
        flag.
 
5953
 
 
5954
2003-03-11  David Shaw  <dshaw@jabberwocky.com>
 
5955
 
 
5956
        * options.h, g10.c (main), keyserver.c (kopts): Add "try-dns-srv"
 
5957
        keyserver option.  Defaults to on.
 
5958
 
 
5959
        * passphrase.c (agent_get_passphrase): Fix memory leak with
 
5960
        symmetric messages.  Fix segfault with symmetric messages.  Fix
 
5961
        incorrect prompt with symmetric messages.
 
5962
 
 
5963
2003-03-10  Werner Koch  <wk@gnupg.org>
 
5964
 
 
5965
        * compress.c (init_uncompress): Use a 15 bit window size so that
 
5966
        the output of implementations which don't run for PGP 2
 
5967
        compatibility won't get garbled.
 
5968
 
 
5969
2003-03-04  David Shaw  <dshaw@jabberwocky.com>
 
5970
 
 
5971
        * trustdb.c (validate_keys): Mask the ownertrust when building the
 
5972
        list of fully valid keys so that disabled keys are still counted
 
5973
        in the web of trust.
 
5974
        (get_ownertrust_with_min): Do the same for the minimum ownertrust
 
5975
        calculation.
 
5976
 
 
5977
        * parse-packet.c (dump_sig_subpkt): Show the notation names for
 
5978
        not-human-readable notations.  Fix cosmetic off-by-one length
 
5979
        counter.
 
5980
 
 
5981
        * options.skel: Add explantion and commented-out
 
5982
        "no-mangle-dos-filenames".
 
5983
 
 
5984
        * mainproc.c (proc_encrypted): Make string translatable.
 
5985
 
 
5986
        * keyserver.c (keyserver_spawn): Quote ':', '%', and any 8-bit
 
5987
        characters in the uid strings sent to the keyserver helper.
 
5988
 
 
5989
        * keyring.c (keyring_rebuild_cache): Lock the keyring while
 
5990
        rebuilding the signature caches to prevent another gpg from
 
5991
        tampering with the temporary copy.
 
5992
 
 
5993
        * keygen.c (keygen_set_std_prefs): Include AES192 and AES256 in
 
5994
        default prefs.
 
5995
 
 
5996
        * keyedit.c (show_prefs): Make strings translatable.
 
5997
 
 
5998
        * keydb.c: Double the maximum number of keyrings to 40.
 
5999
 
 
6000
        * gpgv.c (main): Fix bug #113 - gpgv should accept the
 
6001
        --ignore-time-conflict option.
 
6002
 
 
6003
        * g10.c (main): --openpgp disables --pgpX.  Double the amount of
 
6004
        secure memory to 32k (keys are getting bigger these days).
 
6005
 
 
6006
        * Makefile.am: Makefile.am: Use @CAPLIBS@ to link in -lcap if we
 
6007
        are using capabilities.
 
6008
 
 
6009
2003-02-26  David Shaw  <dshaw@jabberwocky.com>
 
6010
 
 
6011
        * keyserver.c (keyserver_spawn): Include various pieces of
 
6012
        information about the key in the data sent to the keyserver
 
6013
        helper.  This allows the helper to use it in instructing a remote
 
6014
        server which may not have any actual OpenPGP smarts in parsing
 
6015
        keys.
 
6016
 
 
6017
        * main.h, export.c (export_pubkeys_stream, do_export_stream): Add
 
6018
        ability to return only the first match in an exported keyblock for
 
6019
        keyserver usage.  This should be replaced at some point with a
 
6020
        more flexible solution where each key can be armored seperately.
 
6021
 
 
6022
2003-02-22  David Shaw  <dshaw@jabberwocky.com>
 
6023
 
 
6024
        * sign.c (sign_file): Do not push textmode filter onto an unopened
 
6025
        IOBUF (segfault).  Noted by Marcus Brinkmann.  Push and
 
6026
        reinitialize textmode filter for each file in a multiple file
 
6027
        list.
 
6028
 
 
6029
        * packet.h, getkey.c (fixup_uidnode), keyedit.c (show_prefs): Set
 
6030
        and show the keyserver no-modify flag.
 
6031
 
 
6032
        * keygen.c (add_keyserver_modify): New.
 
6033
        (keygen_upd_std_prefs): Call it here.
 
6034
        (keygen_set_std_prefs): Accept "ks-modify" and "no-ks-modify" as
 
6035
        prefs to set and unset keyserver modify flag.
 
6036
 
 
6037
        * g10.c (main): Accept "s1" in addition to "idea" to match the
 
6038
        other ciphers.
 
6039
 
 
6040
        * main.h, misc.c (idea_cipher_warn): We don't need this if IDEA
 
6041
        has been disabled.
 
6042
 
 
6043
2003-02-21  David Shaw  <dshaw@jabberwocky.com>
 
6044
 
 
6045
        * keygen.c (keygen_set_std_prefs): Don't put AES or CAST5 in
 
6046
        default prefs if they are disabled.
 
6047
 
 
6048
        * g10.c (main): Use 3DES instead of CAST5 if we don't have CAST5
 
6049
        support.  Use 3DES for the s2k cipher in --openpgp mode.
 
6050
        (print_mds): #ifdef all of the optional digest algorithms.
 
6051
 
 
6052
2003-02-12  David Shaw  <dshaw@jabberwocky.com>
 
6053
 
 
6054
        * keydb.h, getkey.c (classify_user_id, classify_user_id2): Make
 
6055
        'exact' a per-desc item.  Merge into one function since
 
6056
        'force_exact' is no longer needed.
 
6057
        (key_byname): Use new classify_user_id function, and new exact
 
6058
        flag in KEYDB_SEARCH_DESC.
 
6059
 
 
6060
        * keyring.h, keyring.c (keyring_search): Return an optional index
 
6061
        to show which KEYDB_SEARCH_DESC was the matching one.
 
6062
 
 
6063
        * keydb.h, keydb.c (keydb_search): Rename to keydb_search2, and
 
6064
        pass the optional index to keyring_search.  Add a macro version of
 
6065
        keydb_search that calls this new function.
 
6066
 
 
6067
        * export.c (do_export_stream): If the keyid! syntax is used,
 
6068
        export only that specified key.  If the key in question is a
 
6069
        subkey, export the primary plus that subkey only.
 
6070
 
 
6071
2003-02-11  David Shaw  <dshaw@jabberwocky.com>
 
6072
 
 
6073
        * exec.c (set_exec_path): Add debugging line.
 
6074
 
 
6075
        * g10.c (print_hex, print_mds): Print long hash strings a lot
 
6076
        neater.  This assumes at least an 80-character display, as there
 
6077
        are a few other similar assumptions here and there.  Users who
 
6078
        need unformatted hashes can still use with-colons.  Check that
 
6079
        SHA384 and 512 are available before using them as they are no
 
6080
        longer always available.
 
6081
 
 
6082
        * Makefile.am: Use a local copy of libexecdir along with @PACKAGE@
 
6083
        as GNUPG_LIBEXECDIR so it can be easily overridden at make time.
 
6084
 
 
6085
2003-02-04  David Shaw  <dshaw@jabberwocky.com>
 
6086
 
 
6087
        * armor.c (parse_hash_header, armor_filter): Accept the new SHAs
 
6088
        in the armor Hash: header.
 
6089
 
 
6090
        * g10.c (print_hex): Print long hash strings a little neater.
 
6091
        (print_mds): Add the new SHAs to the hash list.
 
6092
 
 
6093
2003-02-02  David Shaw  <dshaw@jabberwocky.com>
 
6094
 
 
6095
        * keyedit.c (menu_revuid): Properly handle a nonselfsigned uid on
 
6096
        a v4 key (treat as a v4 revocation).
 
6097
 
 
6098
        * import.c (print_import_check): Do not re-utf8 convert user IDs.
 
6099
 
 
6100
2003-01-27  David Shaw  <dshaw@jabberwocky.com>
 
6101
 
 
6102
        * mainproc.c (list_node): Show signature expiration date in
 
6103
        with-colons sig records.
 
6104
 
 
6105
        * keylist.c (list_keyblock_colon), mainproc.c (list_node): Show
 
6106
        trust sig information in with-colons sig records.
 
6107
 
 
6108
2003-01-16  David Shaw  <dshaw@jabberwocky.com>
 
6109
 
 
6110
        * g10.c (add_group): Trim whitespace after a group name so it does
 
6111
        not matter where the user puts the = sign.
 
6112
 
 
6113
        * options.skel: Comment out the first three lines in case someone
 
6114
        manually copies the skel file to their homedir.
 
6115
 
 
6116
        * sign.c (clearsign_file): Only use pgp2mode with v3 keys and
 
6117
        MD5. This matches what we do when decoding such messages and
 
6118
        prevents creating a message (v3+RIPEMD/160) that we can't verify.
 
6119
 
 
6120
        * sig-check.c (signature_check2): Use G10ERR_GENERAL as the error
 
6121
        for signature digest conflict.  BAD_SIGN implies that a signature
 
6122
        was checked and we may try and print out a user ID for a key that
 
6123
        doesn't exist.
 
6124
 
 
6125
2003-01-15  David Shaw  <dshaw@jabberwocky.com>
 
6126
 
 
6127
        * trustdb.c (init_trustdb, get_validity): Don't use a changed
 
6128
        trust model to indicate a dirty trustdb, and never auto-rebuild a
 
6129
        dirty trustdb with the "always" trust model.
 
6130
 
 
6131
        * g10.c (add_group): Last commit missed the \t ;)
 
6132
 
 
6133
2003-01-14  David Shaw  <dshaw@jabberwocky.com>
 
6134
 
 
6135
        * packet.h, parse-packet.c (setup_user_id), free-packet.c
 
6136
        (free_user_id), keydb.h, keyid.c (namehash_from_uid): New function
 
6137
        to rmd160-hash the contents of a user ID packet and cache it in
 
6138
        the uid object.
 
6139
 
 
6140
        * keylist.c (list_keyblock_colon): Use namehash in field 8 of
 
6141
        uids.  Show dates for creation (selfsig date), and expiration in
 
6142
        fields 6 and 7.
 
6143
 
 
6144
        * trustdb.c (get_validity, get_validity_counts, update_validity):
 
6145
        Use new namehash function rather than hashing it locally.
 
6146
 
 
6147
2003-01-14  Werner Koch  <wk@gnupg.org>
 
6148
 
 
6149
        * g10.c (add_group): Fixed group parsing to allow more than one
 
6150
        delimiter in a row and also allow tab as delimiter.
 
6151
 
 
6152
2003-01-12  David Shaw  <dshaw@jabberwocky.com>
 
6153
 
 
6154
        * tdbio.c (tdbio_set_dbname): Fix assertion failure with
 
6155
        non-fully-qualified trustdb names.
 
6156
 
 
6157
2003-01-11  David Shaw  <dshaw@jabberwocky.com>
 
6158
 
 
6159
        * trustdb.c (get_validity_info, get_ownertrust_info,
 
6160
        trust_letter): Simplify by returning a ? for error directly.
 
6161
 
 
6162
        * keyedit.c (show_key_with_all_names): Use get_validity_string and
 
6163
        get_ownertrust_string to show full word versions of trust
 
6164
        (i.e. "full" instead of 'f').
 
6165
 
 
6166
        * trustdb.h, trustdb.c (get_ownertrust_string,
 
6167
        get_validity_string): Same as get_ownertrust_info, and
 
6168
        get_validity_info, except returns a full string.
 
6169
 
 
6170
        * trustdb.c (get_ownertrust_with_min): New.  Same as
 
6171
        'get_ownertrust' but takes the min_ownertrust value into account.
 
6172
 
 
6173
2003-01-10  David Shaw  <dshaw@jabberwocky.com>
 
6174
 
 
6175
        * armor.c (armor_filter): Comment about PGP's end of line tab
 
6176
        problem.
 
6177
 
 
6178
        * trustdb.h, trustdb.c (trust_letter): Make
 
6179
        static. (get_ownertrust_info, get_validity_info): Don't mask the
 
6180
        trust level twice.
 
6181
 
 
6182
        * trustdb.h, gpgv.c, trustdb.c (get_validity, get_validity_info),
 
6183
        keylist.c (list_keyblock_colon), keyedit.c
 
6184
        (show_key_with_all_names_colon, menu_revuid): Pass a user ID in
 
6185
        rather than a namehash, so we only have to do the hashing in one
 
6186
        place.
 
6187
 
 
6188
        * packet.h, pkclist.c (build_pk_list), free-packet.c
 
6189
        (release_public_key_parts): Remove unused namehash element for
 
6190
        public keys.
 
6191
 
 
6192
2003-01-07  David Shaw  <dshaw@jabberwocky.com>
 
6193
 
 
6194
        * keygen.c (keygen_set_std_prefs): Warn when setting an IDEA
 
6195
        preference when IDEA is not available.
 
6196
 
 
6197
2003-01-06  David Shaw  <dshaw@jabberwocky.com>
 
6198
 
 
6199
        * trustdb.c (get_validity_info): 'd' for disabled is not a
 
6200
        validity value any more.
 
6201
 
 
6202
        * packet.h, tdbio.h, tdbio.c (tdbio_read_record,
 
6203
        tdbio_write_record), trustdb.c (update_validity): Store temporary
 
6204
        full & marginal counts in the trustdb.
 
6205
        (clear_validity, get_validity_counts): Return and clear temp
 
6206
        counts.
 
6207
        (store_validation_status): Keep track of which keyids have been
 
6208
        stored.
 
6209
        (validate_one_keyblock, validate_key_list): Use per-uid copies of
 
6210
        the full & marginal counts so they can be recalled for multiple
 
6211
        levels.
 
6212
        (validate_keys): Only use unused keys for each new round.
 
6213
        (reset_unconnected_keys): Rename to reset_trust_records, and only
 
6214
        skip specifically excluded records.
 
6215
 
 
6216
        * keylist.c (print_capabilities): Show 'D' for disabled keys in
 
6217
        capabilities section.
 
6218
 
 
6219
        * trustdb.c (is_disabled): Remove incorrect comment.
 
6220
 
 
6221
2003-01-03  David Shaw  <dshaw@jabberwocky.com>
 
6222
 
 
6223
        * import.c (import_one): Only do the work to create the status
 
6224
        display for interactive import if status is enabled.
 
6225
 
 
6226
        * keyring.c (keyring_search): skipfnc didn't work properly with
 
6227
        non-keyid searches.  Noted by Stefan Bellon.
 
6228
 
 
6229
        * getkey.c (merge_selfsigs_main): Remove some unused code and make
 
6230
        sure that the pk selfsigversion member accounts for 1F direct
 
6231
        sigs.
 
6232
 
 
6233
2003-01-02  Werner Koch  <wk@gnupg.org>
 
6234
 
 
6235
        * keydb.c (keydb_add_resource): Don't assume that try_make_homedir
 
6236
        terminates but check again for the existence of the directory and
 
6237
        continue then.
 
6238
        * openfile.c (copy_options_file): Print a warning if the skeleton
 
6239
        file has active options.
 
6240
 
 
6241
2002-12-29  David Shaw  <dshaw@jabberwocky.com>
 
6242
 
 
6243
        * getkey.c (merge_selfsigs_main), main.h, sig-check.c
 
6244
        (check_key_signature2): Pass the ultimately trusted pk directly to
 
6245
        check_key_signature2 to avoid going through the key selection
 
6246
        mechanism.  This prevents a deadly embrace when two keys without
 
6247
        selfsigs each sign the other.
 
6248
 
 
6249
2002-12-27  David Shaw  <dshaw@jabberwocky.com>
 
6250
 
 
6251
        * keyserver.c (keyserver_refresh): Don't print the "refreshing..."
 
6252
        line if there are no keys to refresh or if there is no keyserver
 
6253
        set.
 
6254
 
 
6255
        * getkey.c (merge_selfsigs_main): Any valid user ID should make a
 
6256
        key valid, not just the last one.  This also fixes Debian bug
 
6257
        #174276.
 
6258
 
 
6259
2002-12-27  Stefan Bellon  <sbellon@sbellon.de>
 
6260
 
 
6261
        * import.c (print_import_check): Changed int to size_t.
 
6262
 
 
6263
2002-12-27  David Shaw  <dshaw@jabberwocky.com>
 
6264
 
 
6265
        * keyedit.c (keyedit_menu, menu_revuid): Add "revuid" feature to
 
6266
        revoke a user ID.  This is the same as issuing a revocation for
 
6267
        the self-signature, but a much simpler interface to do it.
 
6268
 
 
6269
2002-12-26  David Shaw  <dshaw@jabberwocky.com>
 
6270
 
 
6271
        * keydb.h, getkey.c (key_byname): Flag to enable or disable
 
6272
        including disabled keys.  Keys specified via keyid (i.e. 0x...)
 
6273
        are always included.
 
6274
 
 
6275
        * getkey.c (get_pubkey_byname, get_seckey_byname2,
 
6276
        get_seckey_bynames), keyedit.c (keyedit_menu, menu_addrevoker):
 
6277
        Include disabled keys in these functions.
 
6278
 
 
6279
        * pkclist.c (build_pk_list): Do not include disabled keys for -r
 
6280
        or the key prompt.  Do include disabled keys for the default key
 
6281
        and --encrypt-to.
 
6282
 
 
6283
        * trustdb.h, trustdb.c (is_disabled): New skipfnc for skipping
 
6284
        disabled keys.
 
6285
 
 
6286
        * gpgv.c (is_disabled): Stub.
 
6287
 
 
6288
        * keygen.c (keygen_add_key_expire): Properly handle updating a key
 
6289
        expiration to a no-expiration value.
 
6290
 
 
6291
        * keyedit.c (enable_disable_key): Comment.
 
6292
 
 
6293
        * import.c (import_one): When in interactive mode and --verbose,
 
6294
        don't repeat some key information twice.
 
6295
 
 
6296
2002-12-22  Timo Schulz  <ts@winpt.org>
 
6297
 
 
6298
        * import.c (print_import_check): New.
 
6299
        (import_one): Use it here.
 
6300
        Use merge_keys_and_selfsig in the interactive mode to avoid
 
6301
        wrong key information.
 
6302
        * status.h: Add new status code.
 
6303
        * status.c: Ditto.
 
6304
 
 
6305
2002-12-13  David Shaw  <dshaw@jabberwocky.com>
 
6306
 
 
6307
        * pkclist.c (do_we_trust): Tweak language to refer to the "named
 
6308
        user" rather than "owner".  Noted by Stefan Bellon.
 
6309
 
 
6310
        * trustdb.h, trustdb.c (trustdb_pending_check): New function to
 
6311
        check if the trustdb needs a check.
 
6312
 
 
6313
        * import.c (import_keys_internal): Used here so we don't rebuild
 
6314
        the trustdb if it is still clean.
 
6315
        (import_one, chk_self_sigs): Only mark trustdb dirty if the key
 
6316
        that is being imported has any sigs other than self-sigs.
 
6317
        Suggested by Adrian von Bidder.
 
6318
 
 
6319
        * options.skel: Include the required '=' sign in the sample
 
6320
        'group' option.  Noted by Stefan Bellon.
 
6321
 
 
6322
        * import.c (chk_self_sigs): Don't try and check a subkey as if it
 
6323
        was a signature.
 
6324
 
 
6325
2002-12-11  David Shaw  <dshaw@jabberwocky.com>
 
6326
 
 
6327
        * tdbio.c (tdbio_read_record, tdbio_write_record): Compact the
 
6328
        RECTYPE_TRUST records a bit.
 
6329
 
 
6330
        * g10.c (main): Comment out --list-trust-path until it can be
 
6331
        implemented.
 
6332
 
 
6333
        * import.c (import_one): Warn when importing an Elgamal primary
 
6334
        that this may take some time (to verify self-sigs).
 
6335
        (chk_self_sigs): Try and cache all self-sigs so the keyblock is
 
6336
        written to the keyring with a good rich cache.
 
6337
 
 
6338
        * keygen.c (ask_algo): Make the Elgamal sign+encrypt warning
 
6339
        stronger, and remove the RSA sign+encrypt warning.
 
6340
 
 
6341
2002-12-06  Stefan Bellon  <sbellon@sbellon.de>
 
6342
 
 
6343
        * options.h: Fixed typo (mangle_dos_names instead of
 
6344
        mangle_dos_filenames).
 
6345
 
 
6346
2002-12-05  Werner Koch  <wk@gnupg.org>
 
6347
 
 
6348
        * g10.c: New options --[no-]mangle-dos-filenames.
 
6349
        * options.h (opt): Added mangle-dos-filenames.
 
6350
        * openfile.c (open_outfile) [USE_ONLY_8DOT3]: Truncate the
 
6351
        filename only when this option is set; this is the default.
 
6352
 
 
6353
2002-12-04  David Shaw  <dshaw@jabberwocky.com>
 
6354
 
 
6355
        * main.h, keyedit.c, keygen.c: Back out previous (2002-12-01)
 
6356
        change.  Minimal isn't always best.
 
6357
 
 
6358
        * sign.c (update_keysig_packet): Use the current time rather then
 
6359
        a modification of the original signature time.  Make sure that
 
6360
        this doesn't cause a time warp.
 
6361
 
 
6362
        * keygen.c (keygen_add_key_expire): Properly handle a key
 
6363
        expiration date in the past (use a duration of 0).
 
6364
 
 
6365
        * keyedit.c (menu_expire): Use update_keysig_packet so any sig
 
6366
        subpackets are maintained during the update.
 
6367
 
 
6368
        * build-packet.c (build_sig_subpkt): Mark sig expired or unexpired
 
6369
        when the sig expiration subpacket is added.
 
6370
        (build_sig_subpkt_from_sig): Handle making an expiration subpacket
 
6371
        from a sig that has already expired (use a duration of 0).
 
6372
 
 
6373
        * packet.h, sign.c (update_keysig_packet), keyedit.c
 
6374
        (menu_set_primary_uid, menu_set_preferences): Add ability to issue
 
6375
        0x18 subkey binding sigs to update_keysig_packet and change all
 
6376
        callers.
 
6377
 
 
6378
        * trustdb.c (validate_keys): Show trust parameters when building
 
6379
        the trustdb, and make sure that the version record update was
 
6380
        successful.
 
6381
        (init_trustdb): If the current parameters aren't what was used for
 
6382
        building the trustdb, the trustdb is invalid.
 
6383
 
 
6384
        * tbio.c (tdbio_db_matches_options): Update to work with new
 
6385
        trustdbs.
 
6386
 
 
6387
2002-12-03  David Shaw  <dshaw@jabberwocky.com>
 
6388
 
 
6389
        * tdbio.h, tdbio.c (tdbio_read_record, tdbio_write_record): Store
 
6390
        trust model in the trustdb version record.
 
6391
        (tdbio_update_version_record): New function to update version
 
6392
        record values during a trustdb check or update.
 
6393
        (tdbio_dump_record): Show trust model in dump.
 
6394
 
 
6395
        * trustdb.c (validate_keys): Call tdbio_update_version_record on
 
6396
        success so that the correct options are stored in the trustdb.
 
6397
 
 
6398
        * options.h: rearrange trust models so that CLASSIC is 0 and
 
6399
        OPENPGP is 1.
 
6400
 
 
6401
        * options.h, g10.c (main), encode.c (write_pubkey_enc_from_list),
 
6402
        pkclist.c (algo_available), revoke.c (gen_revoke): Add --pgp8
 
6403
        mode.  This is basically identical to --pgp7 in all ways except
 
6404
        that signing subkeys, v4 data sigs (including expiration), and SK
 
6405
        comments are allowed.
 
6406
 
 
6407
        * getkey.c (finish_lookup): Comment.
 
6408
 
 
6409
        * main.h, keylist.c (reorder_keyblock), keyedit.c (keyedit_menu):
 
6410
        Reorder user ID display in the --edit-key menu to match that of
 
6411
        the --list-keys display.
 
6412
 
 
6413
        * g10.c (add_notation_data): Fix initialization.
 
6414
 
 
6415
2002-12-01  David Shaw  <dshaw@jabberwocky.com>
 
6416
 
 
6417
        * keyedit.c (menu_expire): Don't lose key flags when changing the
 
6418
        expiration date of a subkey.  This is not the most optimal
 
6419
        solution, but it is minimal change on the stable branch.
 
6420
 
 
6421
        * main.h, keygen.c (do_copy_key_flags): New function to copy key
 
6422
        flags, if any, from one sig to another.
 
6423
        (do_add_key_expire): New function to add key expiration to a sig.
 
6424
        (keygen_copy_flags_add_expire): New version of
 
6425
        keygen_add_key_expire that also copies key flags.
 
6426
        (keygen_add_key_flags_and_expire): Use do_add_key_expire.
 
6427
 
 
6428
        * import.c (fix_hkp_corruption): Comment.
 
6429
 
 
6430
2002-11-25  Stefan Bellon  <sbellon@sbellon.de>
 
6431
 
 
6432
        * plaintext.c (handle_plaintext) [__riscos__]: If nooutput is set,
 
6433
        no filetype is needed obviously.
 
6434
 
 
6435
2002-11-24  David Shaw  <dshaw@jabberwocky.com>
 
6436
 
 
6437
        * main.h, misc.c (default_cipher_algo, default_compress_algo):
 
6438
        New.  Return the default algorithm by trying
 
6439
        --cipher-algo/--compress-algo, then the first item in the pref
 
6440
        list, then s2k-cipher-algo or ZIP.
 
6441
 
 
6442
        * sign.c (sign_file, sign_symencrypt_file), encode.c
 
6443
        (encode_simple, encode_crypt): Call default_cipher_algo and
 
6444
        default_compress_algo to get algorithms.
 
6445
 
 
6446
        * g10.c (main): Allow pref selection for compress algo with
 
6447
        --openpgp.
 
6448
 
 
6449
        * mainproc.c (proc_encrypted): Use --s2k-digest-algo for
 
6450
        passphrase mangling rather than --digest-algo.
 
6451
 
 
6452
        * sign.c (hash_for): If --digest-algo is not set, but
 
6453
        --personal-digest-preferences is, then use the first hash
 
6454
        algorithm in the personal list.  If the signing algorithm is DSA,
 
6455
        then use the first 160-bit hash algorithm in the personal list.
 
6456
        If --pgp2 is set and it's a v3 RSA key, use MD5.
 
6457
 
 
6458
        * g10.c (main), keydb.c (keydb_add_resource,
 
6459
        keydb_locate_writable): Rename --default-keyring as
 
6460
        --primary-keyring.  Stefan wins the naming contest.
 
6461
 
 
6462
2002-11-23  David Shaw  <dshaw@jabberwocky.com>
 
6463
 
 
6464
        * g10.c (add_notation_data): Disallow notation names that do not
 
6465
        contain a '@', unless --expert is set.  This is to help prevent
 
6466
        people from polluting the (as yet unused) IETF namespace.
 
6467
 
 
6468
        * main.h: Comments about default algorithms.
 
6469
 
 
6470
        * photoid.c (image_type_to_string): Comments about 3-letter file
 
6471
        extensions.
 
6472
 
 
6473
        * encode.c (encode_simple), passphrase.c (passphrase_to_dek),
 
6474
        sign.c (sign_symencrypt_file): Use --s2k-digest-algo for
 
6475
        passphrase mangling rather than --digest-algo.
 
6476
 
 
6477
2002-11-21  David Shaw  <dshaw@jabberwocky.com>
 
6478
 
 
6479
        * keygen.c (keygen_set_std_prefs): Properly handle an empty
 
6480
        preference string.
 
6481
 
 
6482
        * misc.c (string_to_compress_algo): "none" is a bad choice since
 
6483
        it conflicts with the "none" in setpref.
 
6484
 
 
6485
2002-11-14  David Shaw  <dshaw@jabberwocky.com>
 
6486
 
 
6487
        * g10.c (main): Allow compression algorithm names as the argument
 
6488
        to --compress-algo.  The old algorithm names still work for
 
6489
        backwards compatibility.
 
6490
 
 
6491
        * misc.c (string_to_compress_algo): Allow "none" as an alias for
 
6492
        "uncompressed".
 
6493
 
 
6494
2002-11-13  Stefan Bellon  <sbellon@sbellon.de>
 
6495
 
 
6496
        * getkey.c (get_pubkey_byfprint_fast): Fixed type incompatibility,
 
6497
        was unsigned char instead of byte.
 
6498
 
 
6499
2002-11-13  David Shaw  <dshaw@jabberwocky.com>
 
6500
 
 
6501
        * encode.c (encode_simple): Make sure that files larger than about
 
6502
        4G use partial length encoding.  This is required because OpenPGP
 
6503
        allows only for 32 bit length fields.  From Werner on stable
 
6504
        branch.
 
6505
 
 
6506
        * getkey.c (get_pubkey_direct): Renamed to...
 
6507
        (get_pubkey_fast): this and made extern.
 
6508
        (get_pubkey_byfprint_fast): New.  From Werner on stable branch.
 
6509
 
 
6510
        * keydb.h, import.c (import_one): Use get_pubkey_fast instead of
 
6511
        get_pubkey.  We don't need a merged key and actually this might
 
6512
        lead to recursions.
 
6513
        (revocation_present): Likewise for search by fingerprint.  From
 
6514
        Werner on stable branch.
 
6515
 
 
6516
        * g10.c (main): Try to create the trustdb even for non-colon-mode
 
6517
        list-key operations.  This is required because getkey needs to
 
6518
        know whether a a key is ultimately trusted.  From Werner on stable
 
6519
        branch.
 
6520
 
 
6521
        * exec.c [__CYGWIN32__]: Keep cygwin separate from Mingw32;
 
6522
        we don't need it here as it behaves more like a Posix system.
 
6523
        From Werner on stable branch.
 
6524
 
 
6525
        * passphrase.c (agent_get_passphrase): Ditto.  From Werner on
 
6526
        stable branch.
 
6527
 
 
6528
        * tdbio.c (MY_O_BINARY): Need binary mode with Cygwin.  From
 
6529
        Werner on stable branch.
 
6530
 
 
6531
        * g10.c, gpgv.c (main) [__CYGWIN32__]: Don't get the homedir from
 
6532
        the registry.  From Werner on stable branch.
 
6533
 
 
6534
        * keyedit.c (show_key_with_all_names_colon): Make --with-colons
 
6535
        --edit display match the validity and trust of --with-colons
 
6536
        --list-keys.
 
6537
 
 
6538
        * passphrase.c (agent_send_all_options): Fix compile warning.
 
6539
 
 
6540
        * keylist.c (list_keyblock_colon): Validity for subkeys should
 
6541
        match that of the primary key, and not that of the last user ID.
 
6542
 
 
6543
        * getkey.c (merge_selfsigs): Revoked/expired/invalid primary keys
 
6544
        carry these facts onto all their subkeys, but only after the
 
6545
        subkey has a chance to be marked valid.  This is to fix an
 
6546
        incorrect "invalid public key" error verifying a signature made by
 
6547
        a revoked signing subkey, with a valid unrevoked primary key.
 
6548
 
 
6549
2002-11-09  Werner Koch  <wk@gnupg.org>
 
6550
 
 
6551
        * passphrase.c (agent_send_all_options): Use tty_get_ttyname to
 
6552
        get the default ttyname.
 
6553
 
 
6554
2002-11-07  David Shaw  <dshaw@jabberwocky.com>
 
6555
 
 
6556
        * keyring.h, keyring.c (keyring_register_filename): Return the
 
6557
        pointer if a given keyring is registered twice.
 
6558
 
 
6559
        * keydb.h, keydb.c (keydb_add_resource): Use flags to indicate a
 
6560
        default keyring.
 
6561
        (keydb_locate_writable): Prefer the default keyring if possible.
 
6562
 
 
6563
        * g10.c (main): Add --default-keyring option.
 
6564
 
 
6565
2002-11-06  David Shaw  <dshaw@jabberwocky.com>
 
6566
 
 
6567
        * options.h, g10.c (main), trustdb.c (ask_ownertrust): Add
 
6568
        --force-ownertrust option for debugging purposes.  This allows
 
6569
        setting a whole keyring to a given trust during an
 
6570
        --update-trustdb.  Not for normal use - it's just easier than
 
6571
        hitting "4" all the time to test a large trustdb.
 
6572
 
 
6573
        * pubkey-enc.c (get_session_key): With hidden recipients or try a
 
6574
        given passphrase against all secret keys rather than trying all
 
6575
        secret keys in turn.  Don't if --try-all-secrets or --status-fd is
 
6576
        enabled.
 
6577
 
 
6578
        * passphrase.c (passphrase_to_dek): Mode 1 means do a regular
 
6579
        passphrase query, but don't prompt with the key info.
 
6580
 
 
6581
        * seckey-cert.c (do_check, check_secret_key): A negative ask count
 
6582
        means to enable passphrase mode 1.
 
6583
 
 
6584
        * keydb.h, getkey.c (enum_secret_keys): Add flag to include
 
6585
        secret-parts-missing keys (or not) in the list.
 
6586
 
 
6587
2002-11-05  David Shaw  <dshaw@jabberwocky.com>
 
6588
 
 
6589
        * keyserver.c (keyserver_search_prompt): When --with-colons is
 
6590
        enabled, don't try and fit the search output to the screen size -
 
6591
        just dump the whole list.
 
6592
 
 
6593
2002-11-04  David Shaw  <dshaw@jabberwocky.com>
 
6594
 
 
6595
        * keyserver.c (keyserver_search_prompt): When --with-colons is
 
6596
        enabled, just dump the raw keyserver protocol to stdout and don't
 
6597
        print the menu.
 
6598
 
 
6599
        * keyserver.c (show_prompt): Don't show a prompt when command-fd
 
6600
        is being used.
 
6601
 
 
6602
        * trustdb.c (trust_model_string, check_trustdb, update_trustdb,
 
6603
        validate_one_keyblock): It's not clear what a trustdb rebuild or
 
6604
        check means with a trust model other than "classic" or "openpgp",
 
6605
        so disallow this.
 
6606
 
 
6607
2002-11-03  David Shaw  <dshaw@jabberwocky.com>
 
6608
 
 
6609
        * options.h, g10.c (main): Add --trust-model option.  Current
 
6610
        models are "openpgp" which is classic+trustsigs, "classic" which
 
6611
        is classic only, and "always" which is the same as the current
 
6612
        option --always-trust (which still works).  Default is "openpgp".
 
6613
 
 
6614
        * trustdb.c (validate_one_keyblock): Use "openpgp" trust model to
 
6615
        enable trust sigs.
 
6616
 
 
6617
        * gpgv.c (main), mainproc.c (check_sig_and_print), pkclist.c
 
6618
        (do_we_trust, do_we_trust_pre, check_signatures_trust): Use new
 
6619
        --trust-model option in place of --always-trust.
 
6620
 
 
6621
        * keyedit.c (sign_mk_attrib, trustsig_prompt, sign_uids,
 
6622
        keyedit_menu): Prompt for and create a trust signature with
 
6623
        "tsign".  This is functional, but needs better UI text.
 
6624
 
 
6625
        * build-packet.c (build_sig_subpkt): Able to build trust and
 
6626
        regexp subpackets.
 
6627
 
 
6628
        * pkclist.c (do_edit_ownertrust): Comment.
 
6629
 
 
6630
2002-11-02  David Shaw  <dshaw@jabberwocky.com>
 
6631
 
 
6632
        * keygen.c (set_one_pref, keygen_set_std_prefs): Allow using the
 
6633
        full algorithm name (CAST5, SHA1) rather than the short form (S3,
 
6634
        H2).
 
6635
 
 
6636
        * main.h, keygen.c (keygen_get_std_prefs), keyedit.c
 
6637
        (keyedit_menu): Return and use a fake uid packet rather than a
 
6638
        string since we already have a nice parser/printer in
 
6639
        keyedit.c:show_prefs.
 
6640
 
 
6641
        * main.h, misc.c (string_to_compress_algo): New.
 
6642
 
 
6643
2002-11-01  David Shaw  <dshaw@jabberwocky.com>
 
6644
 
 
6645
        * g10.c (main): Add --no-throw-keyid.
 
6646
 
 
6647
        * keydb.h, encode.c (write_pubkey_enc_from_list), g10.c (main),
 
6648
        pkclist.c (build_pk_list): Add --hidden-recipient (-R) and
 
6649
        --hidden-encrypt-to, which do a single-user variation on
 
6650
        --throw-keyid.  The "hide this key" flag is carried in bit 0 of
 
6651
        the pk_list flags field.
 
6652
 
 
6653
        * keyserver.c (parse_keyrec): Fix shadowing warning.
 
6654
 
 
6655
2002-10-31  Stefan Bellon  <sbellon@sbellon.de>
 
6656
 
 
6657
        * compress.c (init_compress) [__riscos__]: Use
 
6658
        riscos_load_module() to load ZLib module.
 
6659
 
 
6660
        * g10.c (main) [__riscos__]: Renames due to changes in riscos.c
 
6661
        (e.g. prefixes all RISC OS specific functions with riscos_*).
 
6662
        * photoid.c (show_photos) [__riscos__]: Likewise.
 
6663
        * signal.c (got_fatal_signal) [__riscos__]: Likewise.
 
6664
 
 
6665
        * trustdb.c (check_regexp) [__riscos__]: Branch to RISC OS RegEx
 
6666
        handling.
 
6667
 
 
6668
2002-10-31  David Shaw  <dshaw@jabberwocky.com>
 
6669
 
 
6670
        * build-packet.c (do_plaintext), encode.c (encode_sesskey,
 
6671
        encode_simple, encode_crypt), sign.c (write_plaintext_packet): Use
 
6672
        wipememory() instead of memset() to wipe sensitive memory as the
 
6673
        memset() might be optimized away.
 
6674
 
 
6675
2002-10-30  David Shaw  <dshaw@jabberwocky.com>
 
6676
 
 
6677
        * trustdb.c (check_regexp): Modern regexps require REG_EXTENDED.
 
6678
 
 
6679
2002-10-29  David Shaw  <dshaw@jabberwocky.com>
 
6680
 
 
6681
        * packet.h, trustdb.h, trustdb.c (trust_string): New.  Return a
 
6682
        string like "fully trusted", "marginally trusted", etc.
 
6683
        (get_min_ownertrust): New.  Return minimum ownertrust.
 
6684
        (update_min_ownertrust): New.  Set minimum ownertrust.
 
6685
        (check_regexp): New.  Check a regular epression against a user ID.
 
6686
        (ask_ownertrust): Allow specifying a minimum value.
 
6687
        (get_ownertrust_info): Follow the minimum ownertrust when
 
6688
        returning a letter.
 
6689
        (clear_validity): Remove minimum ownertrust when a key becomes
 
6690
        invalid.
 
6691
        (release_key_items): Release regexp along with the rest of the
 
6692
        info.
 
6693
        (validate_one_keyblock, validate_keys): Build a trust sig chain
 
6694
        while validating.  Call check_regexp for regexps.  Use the minimum
 
6695
        ownertrust if the user does not specify a genuine ownertrust.
 
6696
 
 
6697
        * pkclist.c (do_edit_ownertrust): Only allow user to select a
 
6698
        trust level greater than the minimum value.
 
6699
 
 
6700
        * parse-packet.c (can_handle_critical): Can handle critical trust
 
6701
        and regexp subpackets.
 
6702
 
 
6703
        * trustdb.h, trustdb.c (clear_ownertrusts), delkey.c
 
6704
        (do_delete_key), import.c (import_one): Rename clear_ownertrust to
 
6705
        clear_ownertrusts and have it clear the min_ownertrust value as
 
6706
        well.
 
6707
 
 
6708
        * keylist.c (list_keyblock_print): Indent uid to match pub and
 
6709
        sig.
 
6710
 
 
6711
        * keyedit.c (print_and_check_one_sig, show_key_and_fingerprint,
 
6712
        menu_addrevoker), keylist.c (list_keyblock_print,
 
6713
        print_fingerprint): Show "T" or the trust depth for trust
 
6714
        signatures, and add spaces to some strings to make room for it.
 
6715
 
 
6716
        * packet.h, parse-packet.c (dump_sig_subpkt, parse_one_sig_subpkt,
 
6717
        parse_signature): Parse trust signature values.
 
6718
 
 
6719
        * tdbio.h, tdbio.c (tdbio_read_record, tdbio_write_record):
 
6720
        Reserve a byte for the minimum ownertrust value (for use with
 
6721
        trust signatures).
 
6722
 
 
6723
2002-10-29  Stefan Bellon  <sbellon@sbellon.de>
 
6724
 
 
6725
        * build-packet.c (calc_plaintext, do_plaintext): Removed RISC OS
 
6726
        specific filetype parts (it's now done in make_basename()).
 
6727
 
 
6728
        * plaintext.c (handle_plaintext): Tidied up RISC OS specific
 
6729
        filetype parts.
 
6730
 
 
6731
        * encode.c (encode_simple, encode_crypt): Added argument to
 
6732
        make_basename() call.
 
6733
 
 
6734
        * sign.c (write_plaintext_packet): Added argument to
 
6735
        make_basename() call.
 
6736
 
 
6737
2002-10-28  Stefan Bellon  <sbellon@sbellon.de>
 
6738
 
 
6739
        * build-packet.c (calc_plaintext, do_plaintext): Added filetype
 
6740
        handling for RISC OS' file types.
 
6741
 
 
6742
        * plaintext.c (handle_plaintext) [__riscos__]: Added filetype
 
6743
        handling for RISC OS' file types.
 
6744
 
 
6745
2002-10-23  David Shaw  <dshaw@jabberwocky.com>
 
6746
 
 
6747
        * main.h, import.c (sec_to_pub_keyblock, import_secret_one,
 
6748
        parse_import_options), g10.c (main): New import-option
 
6749
        "convert-sk-to-pk" to convert a secret key into a public key
 
6750
        during import.  It is on by default.
 
6751
 
 
6752
2002-10-23  Werner Koch  <wk@gnupg.org>
 
6753
 
 
6754
        * pubkey-enc.c (get_it): Fix segv, test for revoked only when PK
 
6755
        has been assigned.
 
6756
 
 
6757
2002-10-18  Timo Schulz  <ts@winpt.org>
 
6758
 
 
6759
        * keylist.c: (print_pubkey_info): New.
 
6760
        (print_seckey_info): New.
 
6761
        * main.h: Prototypes for the new functions.
 
6762
        * delkey.c (do_delete_key): Use it here.
 
6763
        * revoke.c (gen_desig_revoke): Ditto.
 
6764
 
 
6765
2002-10-17  Werner Koch  <wk@gnupg.org>
 
6766
 
 
6767
        * pkclist.c (do_edit_ownertrust): Show all user IDs.  This should
 
6768
        be enhanced to also show the current trust level.  Suggested by
 
6769
        Florian Weimer.
 
6770
 
 
6771
2002-10-17  David Shaw  <dshaw@jabberwocky.com>
 
6772
 
 
6773
        * g10.c (main): Handle --strict and --no-strict from the command
 
6774
        line before the options file is loaded.
 
6775
 
 
6776
2002-10-15  David Shaw  <dshaw@jabberwocky.com>
 
6777
 
 
6778
        * g10.c (main): Disable --textmode when encrypting (symmetric or
 
6779
        pk) in --pgp2 mode as PGP 2 can't handle the unknown length
 
6780
        literal packet.  Reported by Michael Richardson.
 
6781
 
 
6782
2002-10-14  David Shaw  <dshaw@jabberwocky.com>
 
6783
 
 
6784
        * keyserver-internal.h, keyserver.c (print_keyrec, parse_keyrec,
 
6785
        show_prompt, keyserver_search_prompt, keyserver_spawn): Go to
 
6786
        version 1 of the keyserver protocol.  This is a better design,
 
6787
        similar to --with-colons, that allows for keys with multiple user
 
6788
        IDs rather than using multiple keys.  It also matches the machine
 
6789
        readable pksd format.  Also use a prettier --search-keys listing
 
6790
        format that can fill different size windows (currently set at 24
 
6791
        lines).
 
6792
 
 
6793
2002-10-12  Werner Koch  <wk@gnupg.org>
 
6794
 
 
6795
        * keygen.c (print_status_key_created): New.
 
6796
        (do_generate_keypair): Use it to print the fingerprint.
 
6797
        (generate_subkeypair): Likewise.
 
6798
 
 
6799
2002-10-11  David Shaw  <dshaw@jabberwocky.com>
 
6800
 
 
6801
        * keyedit.c (menu_addrevoker): Properly back out if the signature
 
6802
        fails.  Also, do not allow appointing the same revoker twice, and
 
6803
        report ALREADY_SIGNED if the user tries it.
 
6804
 
 
6805
2002-10-07  David Shaw  <dshaw@jabberwocky.com>
 
6806
 
 
6807
        * import.c (import_keys_internal): Missed one s/inp/inp2/.
 
6808
 
 
6809
        * keylist.c (print_capabilities): Properly indicate per-key
 
6810
        capabilities of sign&encrypt primary keys that have
 
6811
        secret-parts-missing (i.e. no capabilities at all)
 
6812
 
 
6813
        * mainproc.c (symkey_decrypt_sesskey): Fix compiler warning.
 
6814
 
 
6815
2002-10-04  David Shaw  <dshaw@jabberwocky.com>
 
6816
 
 
6817
        * getkey.c (get_pubkey_direct): Don't cache keys retrieved via
 
6818
        this function as they may not have all their fields filled in.
 
6819
 
 
6820
        * sig-check.c (signature_check2): Use new is_primary flag to check
 
6821
        rather than comparing main_keyid with keyid as this still works in
 
6822
        the case of a not fully filled in pk.
 
6823
 
 
6824
2002-10-04  Werner Koch  <wk@gnupg.org>
 
6825
 
 
6826
        * import.c (import_keys_internal): s/inp/inp2/ to avoid shadowing
 
6827
        warning.
 
6828
 
 
6829
        * passphrase.c (agent_get_passphrase): Fixed signed/unsigned char
 
6830
        problem in %-escaping.  Noted by Ingo Klöcker.
 
6831
 
 
6832
2002-10-03  David Shaw  <dshaw@jabberwocky.com>
 
6833
 
 
6834
        * options.h, g10.c (main): Add --strict and --no-strict to switch
 
6835
        the log_warning severity level from info to error.
 
6836
 
 
6837
        * keylist.c (print_capabilities): Secret-parts-missing keys should
 
6838
        show that fact in the capabilities, and only primary signing keys
 
6839
        can certify other keys.
 
6840
 
 
6841
        * packet.h, parse_packet.c (parse_key): Add is_primary flag for
 
6842
        public keys (it already exists for secret keys).
 
6843
 
 
6844
2002-10-02  David Shaw  <dshaw@jabberwocky.com>
 
6845
 
 
6846
        * import.c (import_secret_one): Check for an illegal (>110)
 
6847
        protection cipher when importing a secret key.
 
6848
 
 
6849
        * keylist.c (list_keyblock_print): Show a '#' for a
 
6850
        secret-parts-missing key.
 
6851
 
 
6852
        * parse_packet.c (parse_key): Some comments.
 
6853
 
 
6854
        * revoke.c (gen_revoke): Remove some debugging code.
 
6855
 
 
6856
        * trustdb.c (verify_own_keys): Make trusted-key a non-deprecated
 
6857
        option again.
 
6858
 
 
6859
        * seckey-cert.c (do_check): Don't give the IDEA warning unless the
 
6860
        cipher in question is in fact IDEA.
 
6861
 
 
6862
2002-10-01  David Shaw  <dshaw@jabberwocky.com>
 
6863
 
 
6864
        * import.c (import_one): Make sure that a newly imported key
 
6865
        starts with a clean ownertrust.
 
6866
 
 
6867
2002-10-01  Werner Koch  <wk@gnupg.org>
 
6868
 
 
6869
        * getkey.c (get_pubkey_direct): New.
 
6870
        (merge_selfsigs_main): Use it here to look for an ultimately
 
6871
        trusted key.  Using the full get_pubkey might lead to an
 
6872
        infinitive recursion.
 
6873
 
 
6874
2002-09-29  David Shaw  <dshaw@jabberwocky.com>
 
6875
 
 
6876
        * keyserver.c (parse_keyserver_uri): Force the keyserver URI
 
6877
        scheme to lowercase to be case-insensitive.
 
6878
 
 
6879
2002-09-28  David Shaw  <dshaw@jabberwocky.com>
 
6880
 
 
6881
        * export.c (do_export_stream): Comment.
 
6882
 
 
6883
        * sig-check.c (check_key_signature2): Properly handle a
 
6884
        non-designated revocation import.
 
6885
 
 
6886
2002-09-26  Werner Koch  <wk@gnupg.org>
 
6887
 
 
6888
        * g10.c (set_homedir): New. Changed all direct assignments to use
 
6889
        this.
 
6890
        * gpgv.c (set_homedir): Ditto.
 
6891
 
 
6892
2002-09-25  David Shaw  <dshaw@jabberwocky.com>
 
6893
 
 
6894
        * Makefile.am: Link gpg with EGDLIBS (i.e. NETLIBS) as EGD uses
 
6895
        sockets.  Remove the old NETLIBS variable since the keyserver
 
6896
        stuff is no longer internal.
 
6897
 
 
6898
2002-09-24  David Shaw  <dshaw@jabberwocky.com>
 
6899
 
 
6900
        * import.c (import_keys_stream): Fix compiler type warning.
 
6901
 
 
6902
        * keyring.c (keyring_rebuild_cache), sig-check.c
 
6903
        (check_key_signature2), import.c (import, chk_self_sigs): Minor
 
6904
        language cleanups.
 
6905
 
 
6906
2002-09-23  Stefan Bellon  <sbellon@sbellon.de>
 
6907
 
 
6908
        * main.h: Introduced fast-import as import option. Removed
 
6909
        fast as separate option from prototypes.
 
6910
        * import.c (parse_import_options): Added fast-import option.
 
6911
        (import_*): Removed fast as separate option.
 
6912
        * g10.c (main): Added option fast-import, removed old fast
 
6913
        as separate argument.
 
6914
        * keyserver.c (keyserver_spawn): Removed old fast as separate
 
6915
        argument.
 
6916
 
 
6917
2002-09-22  Stefan Bellon  <sbellon@sbellon.de>
 
6918
 
 
6919
        * import.c (import_keys, import_keys_stream,
 
6920
        import_keys_internal): Added trustdb update/check to key import if
 
6921
        not fast-import and interactive set/no-auto-check-trustdb unset.
 
6922
        Avoided function clone by introducing import_keys_internal.
 
6923
 
 
6924
2002-09-19  David Shaw  <dshaw@jabberwocky.com>
 
6925
 
 
6926
        * keyserver.c (keyserver_spawn): Properly handle line truncation.
 
6927
        Don't leak memory (~10-20 bytes) on searches.
 
6928
        (keyserver_search_prompt): Cleanup.
 
6929
 
 
6930
        * keylist.c (list_keyblock_colon): Show 1F direct key signatures
 
6931
        in --with-colons listing.
 
6932
 
 
6933
2002-09-16  David Shaw  <dshaw@jabberwocky.com>
 
6934
 
 
6935
        * keyedit.c (menu_addrevoker): The direct key signature for
 
6936
        revocation keys must be at least v4 to carry the revocation key
 
6937
        subpacket.  Add a PGP 2.x warning for revocation keys.
 
6938
 
 
6939
2002-09-14  David Shaw  <dshaw@jabberwocky.com>
 
6940
 
 
6941
        * g10.c (check_permissions): Rearrange strings to make translating
 
6942
        easier (don't incorporate string parts).
 
6943
 
 
6944
        * keyedit.c (sign_uids): Make strings translatable.
 
6945
 
 
6946
        * sig-check.c (check_key_signature2): Make string translatable.
 
6947
 
 
6948
2002-09-13  David Shaw  <dshaw@jabberwocky.com>
 
6949
 
 
6950
        * getkey.c (check_revocation_keys): Move....
 
6951
        * main.h, sig-check.c (check_revocation_keys): to here.  Also
 
6952
        return the signature_check error code rather than 0/1 and cache
 
6953
        the sig result.
 
6954
 
 
6955
        * sig-check.c (check_key_signature2): Divert to
 
6956
        check_revocation_keys if a revocation sig is made by someone other
 
6957
        than the pk owner.
 
6958
 
 
6959
        * getkey.c (merge_selfsigs_main): Tidy.
 
6960
 
 
6961
2002-09-13  Werner Koch  <wk@gnupg.org>
 
6962
 
 
6963
        * g10.c (main) [__MINGW32__]: Activate oLoadExtension.
 
6964
 
 
6965
2002-09-12  David Shaw  <dshaw@jabberwocky.com>
 
6966
 
 
6967
        * Makefile.am, hkp.c, hkp.h, keyserver.c (keyserver_work): Remove
 
6968
        internal HKP support.
 
6969
 
 
6970
        * keyserver.c (keyserver_spawn): Remove whitespace after keyserver
 
6971
        commands.
 
6972
 
 
6973
2002-09-10  David Shaw  <dshaw@jabberwocky.com>
 
6974
 
 
6975
        * exec.c (expand_args): Remove loop left over from earlier
 
6976
        implementation.
 
6977
        (exec_write): Missed one tick.
 
6978
 
 
6979
2002-09-10  Werner Koch  <wk@gnupg.org>
 
6980
 
 
6981
        * g10.c, options.h: Removed option --emulate-checksum-bug.
 
6982
        * misc.c (checksum_u16_nobug): Removed.
 
6983
        (checksum_u16): Removed the bug emulation.
 
6984
        (checksum_mpi): Ditto.
 
6985
        (checksum_mpi_counted_nbits): Removed and replaced all calls
 
6986
        with checksum_mpi.
 
6987
 
 
6988
        * parse-packet.c (read_protected_v3_mpi): New.
 
6989
        (parse_key): Use it here to store it as an opaque MPI.
 
6990
        * seckey-cert.c (do_check): Changed the v3 unprotection to the new
 
6991
        why to store these keys.
 
6992
        (protect_secret_key): Likewise.
 
6993
        * build-packet.c (do_secret_key): And changed the writing.
 
6994
 
 
6995
        * tdbio.c (tdbio_set_dbname, open_db): Use new macro MY_O_BINARY
 
6996
        to avoid silly ifdefs.
 
6997
        (open_db): Fallback to RDONLY so that gpg may be used from a
 
6998
        RO-medium.
 
6999
 
 
7000
        * encode.c (encode_simple): Make sure we don't use an ESK packet
 
7001
        when we don't have a salt in the S2K.
 
7002
 
 
7003
        * misc.c (pct_expando) <case f>: Make sure that LEN is initialized.
 
7004
 
 
7005
        * exec.c (exec_finish): Use ticks to denote filenames in messages.
 
7006
        (make_tempdir, exec_write): Changed format of messages.
 
7007
 
 
7008
        * keyserver.c (print_keyinfo): Release USERID in on error.
 
7009
        (keyserver_work) [!DISABLE_KEYSERVER_HELPERS]: Exclude the unused
 
7010
        code.
 
7011
 
 
7012
2002-09-09  Werner Koch  <wk@gnupg.org>
 
7013
 
 
7014
        * parse-packet.c (make_attribute_uidname): Add new ar MAX_NAMELEN
 
7015
        for sanity checks.  Changed both callers. Limit the size of an %s.
 
7016
 
 
7017
        * options.skel: Comment lock-once out, so that this file does not
 
7018
        change anything when copied to a new home directory.
 
7019
        * openfile.c (try_make_homedir): Don't exit after copying the
 
7020
        option skeleton.
 
7021
 
 
7022
        * options.h: Don't use a comma when declaring variables over more
 
7023
        than one line.
 
7024
 
 
7025
        * mainproc.c (symkey_decrypt_sesskey): Check length of the session
 
7026
        key.
 
7027
 
 
7028
        * hkp.c (dehtmlize): Use ascii_tolower to protect against weird
 
7029
        locales.  Cast the argument for isspace for the sake of broken
 
7030
        HP/UXes.
 
7031
        (parse_hkp_index): s/ascii_memcasecmp/ascii_strncasecmp/.
 
7032
 
 
7033
        * g10.c: Removed option --emulate-3des-s2k-bug.
 
7034
 
 
7035
        * passphrase.c (hash_passphrase): Was used here.
 
7036
 
 
7037
        * export.c (parse_export_options)
 
7038
        * keyserver.c (parse_keyserver_options)
 
7039
        * import.c (parse_import_options)
 
7040
        * g10.c (check_permissions): s/ascii_memcasecmp/ascii_strncasecmp/.
 
7041
 
 
7042
2002-09-09  David Shaw  <dshaw@jabberwocky.com>
 
7043
 
 
7044
        * g10.c (add_group): Use '=' to separate group name from group
 
7045
        members.  Use a better error message for when no = is found.
 
7046
 
 
7047
        * hkp.c (hkp_export): Use CRLF in headers.
 
7048
 
 
7049
2002-09-03  David Shaw  <dshaw@jabberwocky.com>
 
7050
 
 
7051
        * mainproc.c (print_pkenc_list): Don't increment the error counter
 
7052
        when printing the list of keys a message was encrypted to.  This
 
7053
        would make gpg give a non-zero exit code even for completely valid
 
7054
        messages if the message was encrypted to more than one key that
 
7055
        the user owned.
 
7056
 
 
7057
2002-09-02  Werner Koch  <wk@gnupg.org>
 
7058
 
 
7059
        * g10.c (main): Try to set a default character set.  Print the
 
7060
        used one in verbosity level 3.
 
7061
        * gpgv.c (main): Try to set a default character set.
 
7062
 
 
7063
        * status.c, status.h (STATUS_IMPORT_OK): New.
 
7064
        * import.c (import_one,import_secret_one): Print new status.
 
7065
 
 
7066
2002-08-30  David Shaw  <dshaw@jabberwocky.com>
 
7067
 
 
7068
        * pkclist.c (build_pk_list): Add new status code to indicate an
 
7069
        untrusted user.  This (or a disabled key) fail with "unavailable
 
7070
        pubkey" (G10ERR_UNU_PUBKEY).
 
7071
 
 
7072
        * pkclist.c (build_pk_list): Fail if any recipient keys are
 
7073
        unusable.
 
7074
 
 
7075
        * options.skel: The PGP LDAP keyserver is back.  Use MIT keyserver
 
7076
        as a sample rather than cryptnet as cryptnet does not support
 
7077
        searching yet.
 
7078
 
 
7079
        * keyedit.c (show_key_with_all_names): Fix error message
 
7080
        (preferences are userid/selfsig and not key specific).
 
7081
 
 
7082
2002-08-30  Werner Koch  <wk@gnupg.org>
 
7083
 
 
7084
        * pkclist.c (do_we_trust_pre): Changed the wording of a warning.
 
7085
 
 
7086
        * encode.c (encode_simple,encode_crypt): Use new style CTB for
 
7087
        compressssed packets when using MDC.  We need to do this so that
 
7088
        concatenated messages are properly decrypted.  Old style
 
7089
        compression assumes that it is the last packet; given that we
 
7090
        can't determine the length in advance, the uncompressor does not
 
7091
        know where to start.  Actually we should use the new CTB always
 
7092
        but this would break PGP 2 compatibility.
 
7093
 
 
7094
        * parse-packet.c (parse): Special treatment for new style CTB
 
7095
        compressed packets.
 
7096
 
 
7097
        * build-packet.c (do_mdc): Removed. Was not used.
 
7098
        (do_encrypted_mdc): Count in the version number and the MDC packet.
 
7099
 
 
7100
2002-08-28  David Shaw  <dshaw@jabberwocky.com>
 
7101
 
 
7102
        * sig-check.c (do_check_messages, do_check): Show keyid in error
 
7103
        messages.
 
7104
 
 
7105
        * keyserver.c (print_keyinfo): More readable key listings for
 
7106
        --search-keys responses.
 
7107
 
 
7108
2002-08-26  David Shaw  <dshaw@jabberwocky.com>
 
7109
 
 
7110
        * hkp.c (parse_hkp_index, dehtmlize): Move HTML functionality into
 
7111
        new "dehtmlize" function.  Remove HTML before trying to parse each
 
7112
        line from the keyserver.  If the keyserver provides key type
 
7113
        information in the listing, use it.
 
7114
 
 
7115
2002-08-23  David Shaw  <dshaw@jabberwocky.com>
 
7116
 
 
7117
        * sig-check.c (do_check, do_check_messages): Emit the usual sig
 
7118
        warnings even for cached sigs.  This also serves to protect
 
7119
        against missing a sig expiring while cached.
 
7120
 
 
7121
        * getkey.c (merge_selfsigs_main): Don't check UID self-sigs twice.
 
7122
 
 
7123
2002-08-22  David Shaw  <dshaw@jabberwocky.com>
 
7124
 
 
7125
        * import.c (clean_subkeys, chk_self_sigs): Merge clean_subkeys
 
7126
        into chk_self_sigs.  This improves efficiency as the same
 
7127
        signatures are not checked multiple times.  Clarify when a subkey
 
7128
        is revoked (any revocation signature, even if it is dated before
 
7129
        the binding signature).
 
7130
 
 
7131
        * getkey.c (merge_selfsigs_subkey): Subkey revocation comments.
 
7132
 
 
7133
        * keylist.c (list_one): Stats are only for public key listings.
 
7134
 
 
7135
        * g10.c (main), options.skel: Default should be include-revoked
 
7136
        for keyserver operations.
 
7137
 
 
7138
2002-08-21  Werner Koch  <wk@gnupg.org>
 
7139
 
 
7140
        * import.c (import_print_stats): Print new non_imported counter
 
7141
        which is currently not used because we terminate on errors.
 
7142
 
 
7143
2002-08-20  David Shaw  <dshaw@jabberwocky.com>
 
7144
 
 
7145
        * options.skel: Document no-include-attributes for
 
7146
        keyserver-options.
 
7147
 
 
7148
        * keylist.c, keyedit.c, keyserver.c, sign.c: Some TODOs and
 
7149
        comments.
 
7150
 
 
7151
        * export.c (do_export_stream): Fix noop bug in exporting sensitive
 
7152
        revocation keys.
 
7153
 
 
7154
        * pkclist.c (do_edit_ownertrust): Comment out the option for
 
7155
        showing trust paths until it can be implemented.
 
7156
 
 
7157
2002-08-19  Werner Koch  <wk@gnupg.org>
 
7158
 
 
7159
        * getkey.c (get_user_id_native): Renamed to ..
 
7160
        (get_user_id_printable): this.  Filter out all dangerous
 
7161
        characters.  Checked all usages.
 
7162
        (get_user_id_string_native): Renamed to..
 
7163
        (get_user_id_string_printable): this.  Filter out all dangerous
 
7164
        characters.  Checked all usages.
 
7165
        * keyedit.c (show_basic_key_info): New.
 
7166
        * keylist.c (print_fingerprint): New mode 3.
 
7167
        * import.c (import_one): Use new function to display the user ID.
 
7168
 
 
7169
2002-08-16  Timo Schulz  <ts@winpt.org>
 
7170
 
 
7171
        * g10.c (main): Enable opt.interactive.
 
7172
 
 
7173
        * import.c (import_one): Ask the user if the key shall be
 
7174
        imported when the interactive mode is used. Useful to extract
 
7175
        selected keys from a file.
 
7176
 
 
7177
2002-08-16  Werner Koch  <wk@gnupg.org>
 
7178
 
 
7179
        * seckey-cert.c: Workaround to allow decryption of v3 keys created
 
7180
        with a bug in the mpi_get_secure_buffer.
 
7181
 
 
7182
2002-08-14  David Shaw  <dshaw@jabberwocky.com>
 
7183
 
 
7184
        * hkp.c (parse_hkp_index): Properly handle really large keys
 
7185
        (5 digit key length) in HKP searches.
 
7186
 
 
7187
2002-08-13  David Shaw  <dshaw@jabberwocky.com>
 
7188
 
 
7189
        * encode.c (encode_simple): Fix problem with using compression
 
7190
        algo 2 and symmetric compressed files.
 
7191
 
 
7192
        * encode.c (encode_simple, encode_crypt): If we are not using a
 
7193
        MDC, compress even if a file is already compressed.  This is to
 
7194
        help against the chosen ciphertext attack.
 
7195
 
 
7196
        * pkclist.c (select_algo_from_prefs): Fix requested algorithm bug
 
7197
        so the request succeeds even if the requested algorithm is not the
 
7198
        first found.
 
7199
 
 
7200
        * cipher.c (write_header), encode.c (use_mdc, encode_simple,
 
7201
        encode_crypt, encrypt_filter), g10.c (main): Be more eager to use
 
7202
        a MDC.  We use a MDC if the keys directly support it, if the keys
 
7203
        list AES (any) or TWOFISH anywhere in the prefs, or if the cipher
 
7204
        chosen does not have a 64 bit blocksize.
 
7205
 
 
7206
2002-08-08  David Shaw  <dshaw@jabberwocky.com>
 
7207
 
 
7208
        * options.skel: Some language tweaks, and remove the
 
7209
        load-extension section for random gatherers.
 
7210
 
 
7211
        * keyring.c (create_tmp_file, rename_tmp_file): Create tmp files
 
7212
        with user-only permissions, but restore the original permissions
 
7213
        if the user has something special set.
 
7214
 
 
7215
        * openfile.c (copy_options_file): Create new options file
 
7216
        (gpg.conf) with user-only permissions.
 
7217
 
 
7218
        * keydb.c (keydb_add_resource): Create new keyrings with user-only
 
7219
        permissions.
 
7220
 
 
7221
        * tdbio.c (tdbio_set_dbname): Create new trustdbs with user-only
 
7222
        permissions.
 
7223
 
 
7224
2002-08-07  David Shaw  <dshaw@jabberwocky.com>
 
7225
 
 
7226
        * sig-check.c (signature_check2): Sanity check that the md has a
 
7227
        context for the hash that the sig is expecting.  This can happen
 
7228
        if a onepass sig header does not match the actual sig, and also if
 
7229
        the clearsign "Hash:" header is missing or does not match the
 
7230
        actual sig.
 
7231
 
 
7232
        * keyedit.c (menu_revsig): Properly show a uid is revoked without
 
7233
        restarting gpg.  This is Debian bug 124219, though their supplied
 
7234
        patch will not do the right thing.
 
7235
 
 
7236
        * main.h, tdbio.c (tdbio_set_dbname), misc.c (removed
 
7237
        check_permissions), keydb.c (keydb_add_resource), g10.c (main,
 
7238
        check_permissions): Significant reworking of the permission check
 
7239
        mechanism.  The new behavior is to check everything in the homedir
 
7240
        by checking the homedir itself.  If the user wants to put
 
7241
        (possibly shared) keyrings outside the homedir, they are not
 
7242
        checked.  The options file and any extension files are checked
 
7243
        wherever they are, as well as their enclosing directories.  This
 
7244
        is Debian bug 147760.
 
7245
 
 
7246
2002-08-06  Stefan Bellon  <sbellon@sbellon.de>
 
7247
 
 
7248
        * g10.c (main): Use of EXTSEP_S in new gpg.conf string.
 
7249
        * openfile.c (copy_options_file): Ditto.
 
7250
 
 
7251
2002-08-06  David Shaw  <dshaw@jabberwocky.com>
 
7252
 
 
7253
        * options.h, g10.c (main), mainproc.c (proc_encrypted):
 
7254
        --ignore-mdc-error option to turn a MDC check error into a
 
7255
        warning.
 
7256
 
 
7257
        * encode.c (encode_crypt), g10.c (main), sign.c (sign_file,
 
7258
        clearsign_file): Use the same --pgpX warning string everywhere to
 
7259
        ease translations.
 
7260
 
 
7261
        * encode.c (write_pubkey_enc_from_list): Warn when using
 
7262
        --throw-keyid with --pgpX.  Noted by Vedaal Nistar.
 
7263
 
 
7264
        * revoke.c (export_minimal_pk, gen_desig_revoke, gen_revoke):
 
7265
        Export a minimal pk along with the revocation cert when in --pgpX
 
7266
        mode so that PGP can import it.
 
7267
 
 
7268
2002-08-06  Werner Koch  <wk@gnupg.org>
 
7269
 
 
7270
        * options.skel: Changed comments.
 
7271
 
 
7272
        * g10.c (main): Try to use "gpg.conf" as default option file.
 
7273
        * openfile.c (copy_options_file): Changed name of created file.
 
7274
 
 
7275
2002-08-02  Werner Koch  <wk@gnupg.org>
 
7276
 
 
7277
        * Makefile.am (LDFLAGS): Removed DYNLINK_LDFLAGS.
 
7278
 
 
7279
2002-07-30  David Shaw  <dshaw@jabberwocky.com>
 
7280
 
 
7281
        * options.h, g10.c (main), mainproc.c (proc_encrypted): Return a
 
7282
        decryption failed error if a MDC does not verify.  Warn if a MDC
 
7283
        is not present (can disable via --no-mdc-warning).
 
7284
 
 
7285
        * exec.c (exec_write), g10.c (main), keyserver.c
 
7286
        (keyserver_spawn): Use new DISABLE_KEYSERVER_PATH rather than
 
7287
        FIXED_EXEC_PATH.
 
7288
 
 
7289
2002-07-28  David Shaw  <dshaw@jabberwocky.com>
 
7290
 
 
7291
        * sig-check.c (do_check): Properly validate v4 sigs with no hashed
 
7292
        section at all.
 
7293
 
 
7294
2002-07-25  Werner Koch  <wk@gnupg.org>
 
7295
 
 
7296
        * delkey.c (do_delete_key): Always allow to delete a key in batch mode
 
7297
        when specified by fingerprint.  Suggested by Enzo Michelangeli.
 
7298
 
 
7299
2002-07-25  David Shaw  <dshaw@jabberwocky.com>
 
7300
 
 
7301
        * keyedit.c (menu_revsig): Change "revsig" to honor selected uids
 
7302
        so the user can revoke sigs from particular uids only.
 
7303
 
 
7304
        * keylist.c (list_keyblock_print): Don't display expired uids in
 
7305
        --list-keys unless -v and not --list-sigs (just like revoked
 
7306
        uids).
 
7307
 
 
7308
        * exec.c, export.c, import.c, keyedit.c, keyserver.c, misc.c:
 
7309
        "Warning" -> "WARNING"
 
7310
 
 
7311
2002-07-24  David Shaw  <dshaw@jabberwocky.com>
 
7312
 
 
7313
        * main.h, import.c (parse_import_options, fix_hkp_corruption,
 
7314
        import_one, delete_inv_parts), g10.c (main): New import-option
 
7315
        "repair-hkp-subkey-bug", which repairs as much as possible the HKP
 
7316
        mangling multiple subkeys bug.  It is on by default for keyserver
 
7317
        receives, and off by default for regular --import.
 
7318
 
 
7319
        * main.h, import.c (import, import_one, delete_inv_parts), hkp.c
 
7320
        (hkp_ask_import), keyserver.c (keyserver_spawn): Use keyserver
 
7321
        import options when doing keyserver receives.
 
7322
 
 
7323
        * options.h, exec.h, exec.c (set_exec_path, exec_write), g10.c
 
7324
        (main), keyserver.c (keyserver_spawn): If the user does not use
 
7325
        "exec-path", completely replace $PATH with GNUPG_LIBEXECDIR before
 
7326
        calling the keyserver helper.  If the user does use "exec-path",
 
7327
        append GNUPG_LIBEXECDIR after the specified path.
 
7328
 
 
7329
2002-07-23  David Shaw  <dshaw@jabberwocky.com>
 
7330
 
 
7331
        * import.c (parse_import_options), export.c
 
7332
        (parse_export_options): Fix offset problem with reversed ("no-")
 
7333
        meanings.
 
7334
 
 
7335
        * import.c (delete_inv_parts): Discard subkey signatures (0x18 and
 
7336
        0x28) if found in the userid section of the key.
 
7337
 
 
7338
        * sig-check.c (signature_check2): Signatures made by invalid
 
7339
        subkeys (bad/missing binding sig) are also invalid.
 
7340
 
 
7341
        * keylist.c (print_fingerprint): Show the primary as well as the
 
7342
        secondary key fingerprint in modes 1 & 2.
 
7343
 
 
7344
2002-07-22  David Shaw  <dshaw@jabberwocky.com>
 
7345
 
 
7346
        * options.h, main.h, g10.c (main), import.c
 
7347
        (parse_import_options, delete_inv_parts), keyserver.c
 
7348
        (parse_keyserver_options): add new --import-options option.  The
 
7349
        only current flag is "allow-local-sigs".
 
7350
 
 
7351
        * g10.c (main): Don't disable MDC in pgp7 mode.
 
7352
 
 
7353
        * options.h, g10.c (main), keyserver.c (parse_keyserver_options):
 
7354
        Remove old keyserver-option include-attributes now that there is
 
7355
        an export-option for the same thing.
 
7356
 
 
7357
        * options.h, main.h, export.c (parse_export_options,
 
7358
        do_export_stream), g10.c (main): add new --export-options option.
 
7359
        Current flags are "include-non-rfc", "include-local-sigs",
 
7360
        "include-attributes", and "include-sensitive-revkeys".
 
7361
 
 
7362
        * options.h, hkp.c (hkp_export), keyserver.c
 
7363
        (parse_keyserver_options, keyserver_spawn): try passing unknown
 
7364
        keyserver options to export options, and if successful, use them
 
7365
        when doing a keyserver --send-key.
 
7366
 
 
7367
        * build-packet.c (build_sig_subpkt): We do not generate
 
7368
        SIGSUBPKT_PRIV_VERIFY_CACHE anymore.
 
7369
 
 
7370
        * revoke.c (gen_desig_revoke): Lots more comments about including
 
7371
        sensitive revkeys along with the revocation sig itself.
 
7372
 
 
7373
        * keyserver.c (parse_keyserver_options): Simpler implementation
 
7374
        that can skip one pass over the options.
 
7375
 
 
7376
2002-07-18  David Shaw  <dshaw@jabberwocky.com>
 
7377
 
 
7378
        * keyedit.c (keyedit_menu, menu_addrevoker): Allow specifying
 
7379
        "sensitive" as an argument to an addrevoker command.  This sets
 
7380
        the 0x40 sensitive revoker flag.
 
7381
 
 
7382
        * revoke.c (gen_desig_revoke): When generating a designated
 
7383
        revocation, include the direct key sig that contains the
 
7384
        designated revoker subpacket.  This allows sensitive designated
 
7385
        revocation subpackets to be exported.  Also indicate which
 
7386
        revokers are sensitive in the first place.
 
7387
 
 
7388
2002-07-17  David Shaw  <dshaw@jabberwocky.com>
 
7389
 
 
7390
        * keyedit.c (show_key_with_all_names_colon): The 0x40 class bit in
 
7391
        a designated revoker means "sensitive", not "local".  It's
 
7392
        exportable under the right circumstances.
 
7393
 
 
7394
        * main.h, options.h, export.c (do_export_stream), g10.c (main),
 
7395
        hkp.c (hkp_export), keyserver.c (keyserver_spawn: Add a flag to
 
7396
        skip attribute packets and their signatures while exporting.  This
 
7397
        is to accomodate keyservers (pksd again) that choke on attributes.
 
7398
        Use keyserver-option "include-attributes" to control it.  This
 
7399
        defaults to ON (i.e. don't skip).
 
7400
 
 
7401
2002-07-09  David Shaw  <dshaw@jabberwocky.com>
 
7402
 
 
7403
        * options.h, keyserver.c (parse_keyserver_uri, keyserver_spawn,
 
7404
        keyserver_work), hkp.c (hkp_ask_import, hkp_export, hkp_search):
 
7405
        Use a much more strict reading of RFC-2396 for the keyserver URIs.
 
7406
        Specifically, don't try and be smart about checking the value of
 
7407
        ":port" so long as it is all digits, and properly handle opaque
 
7408
        data (those scheme specific parts that do not start with "//").
 
7409
 
 
7410
2002-07-04  David Shaw  <dshaw@jabberwocky.com>
 
7411
 
 
7412
        * photoid.c (get_default_photo_command, show_photos): Honor
 
7413
        FIXED_PHOTO_VIEWER and DISABLE_PHOTO_VIEWER.
 
7414
 
 
7415
        * mainproc.c (check_sig_and_print): Use --show-photos to show
 
7416
        photos when verifying a sig made by a key with a photo.
 
7417
 
 
7418
        * keyserver.c (parse_keyserver_uri): Properly parse a URI with no
 
7419
        :port section and an empty file path, but with a terminating '/'.
 
7420
        (keyserver_work): Honor DISABLE_KEYSERVER_HELPERS.
 
7421
 
 
7422
        * hkp.c (hkp_ask_import): Display keyserver URI as a URI, but only
 
7423
        if verbose.
 
7424
 
 
7425
        * exec.c, g10.c: USE_EXEC_PATH -> FIXED_EXEC_PATH
 
7426
 
 
7427
2002-07-03  David Shaw  <dshaw@jabberwocky.com>
 
7428
 
 
7429
        * exec.h, exec.c (set_exec_path, exec_write), g10.c (main): If
 
7430
        USE_EXEC_PATH is defined at compile time, use it to lock the
 
7431
        exec-path and not allow the user to change it.
 
7432
 
 
7433
2002-07-02  David Shaw  <dshaw@jabberwocky.com>
 
7434
 
 
7435
        * options.h, g10.c (main), keyserver.c (keyserver_refresh):
 
7436
        Maintain and use the original keyserver URI for cosmetics rather
 
7437
        than trying to recreate it when needed.
 
7438
 
 
7439
        * mainproc.c (check_sig_and_print): Properly disregard expired
 
7440
        uids.  Make sure that the first uid listed is a real uid and not
 
7441
        an attribute (attributes should only be listed in the "aka"
 
7442
        section).  When there are no valid textual userids, try for an
 
7443
        invalid textual userid before using any attribute uid.
 
7444
 
 
7445
2002-07-01  David Shaw  <dshaw@jabberwocky.com>
 
7446
 
 
7447
        * options.skel: Fix a few typos, clarify "group", and remove
 
7448
        sample photo viewers for Win32 since they are the defaults now.
 
7449
 
 
7450
        * parse-packet.c (make_attribute_uidname), keylist.c
 
7451
        (dump_attribs): Fix two typecast warnings.
 
7452
 
 
7453
        * packet.h, build-packet.c (build_attribute_subpkt), exec.c
 
7454
        (expand_args), mkdtemp.c (mkdtemp), photoid.c
 
7455
        (parse_image_header): Fix some signedness compiler warnings.
 
7456
 
 
7457
2002-07-01  Werner Koch  <wk@gnupg.org>
 
7458
 
 
7459
        * photoid.c (get_default_photo_command): Also use __MINGW32__
 
7460
        instead of HAVE_DOSISH_SYSTEM.
 
7461
 
 
7462
        * encode.c (encode_symmetric): Do not use the new encryption code.
 
7463
 
 
7464
2002-06-30  Werner Koch  <wk@gnupg.org>
 
7465
 
 
7466
        * photoid.c: Use __MINGW32__ to include windows because
 
7467
        HAVE_DOSISH_SYSTEM is also set for OS/2 and plain DOS.  Provide
 
7468
        constant missing in older mingw installations.
 
7469
 
 
7470
2002-06-21  Stefan Bellon  <sbellon@sbellon.de>
 
7471
 
 
7472
        * g10.c [__riscos__]: Moved RISC OS specific stuff to util/riscos.c
 
7473
        and include/util.h.
 
7474
 
 
7475
        * gpgv.c [__riscos__]: Likewise.
 
7476
 
 
7477
2002-06-20  David Shaw  <dshaw@jabberwocky.com>
 
7478
 
 
7479
        * keydb.h, pkclist.c (select_algo_from_prefs): Allow passing a
 
7480
        suggested algorithm which will be used if available.
 
7481
 
 
7482
        * encode.c (encode_crypt, encrypt_filter), sign.c (sign_file): Use
 
7483
        new select_algo_from_prefs feature to check if forcing an
 
7484
        algorithm would violate the recipient preferences.
 
7485
 
 
7486
        * photoid.c (get_default_photo_command, show_photos): Use
 
7487
        different default viewers on different platforms.  Currently we
 
7488
        have Win 9x, Win NT (2k, xp), Mac OSX, RISC OS, and "everybody
 
7489
        else".  These are #ifdefs as much as possible to avoid clutter.
 
7490
 
 
7491
        * g10.c (strusage, build_list), keyedit.c (show_prefs), main.h,
 
7492
        misc.c (compress_algo_to_string, check_compress_algo), pkclist.c
 
7493
        (algo_available), keygen.c (keygen_set_std_prefs): New
 
7494
        algo_to_string and check functions for compress algorithms.
 
7495
 
 
7496
2002-06-20  Werner Koch  <wk@gnupg.org>
 
7497
 
 
7498
        * misc.c (setsysinfo): Removed a #warning for Alpha's uniligedn
 
7499
        trap disabling - it is quite possible that this is a debug relict.
 
7500
 
 
7501
2002-06-20  Stefan Bellon  <sbellon@sbellon.de>
 
7502
 
 
7503
        * g10.c [__riscos__]: Added image file system feature.
 
7504
 
 
7505
        * gpgv.c [__riscos__]: Added image file system feature.
 
7506
 
 
7507
        * photoid.c (show_photos) [__riscos__]: Set RISC OS filetype of
 
7508
        photo id according to MIME type.
 
7509
 
 
7510
2002-06-19  David Shaw  <dshaw@jabberwocky.com>
 
7511
 
 
7512
        * hkp.c (parse_hkp_index): Don't leak memory when failing out of a
 
7513
        bad HKP keyserver.
 
7514
 
 
7515
        * g10.c (add_notation_data): Relax slightly the rules as to what
 
7516
        can go into a notation name - 2440 allows "@", for example.
 
7517
 
 
7518
2002-06-17  David Shaw  <dshaw@jabberwocky.com>
 
7519
 
 
7520
        * import.c (clean_subkeys, import_one): Only allow at most 1
 
7521
        binding sig and at most 1 revocation sig on a subkey, as per
 
7522
        2440:11.1.
 
7523
 
 
7524
        * hkp.c (parse_hkp_index, hkp_search): Error if the keyserver
 
7525
        returns an unparseable HKP response.
 
7526
 
 
7527
2002-06-15  David Shaw  <dshaw@jabberwocky.com>
 
7528
 
 
7529
        * keyedit.c (show_key_with_all_names), keylist.c
 
7530
        (list_keyblock_print): Show "[expired]" before expired uids.
 
7531
 
 
7532
        * keyedit.c (show_key_with_all_names_colon), mainproc.c
 
7533
        (list_node), keylist.c (list_keyblock_colon): Show flag 'e' for
 
7534
        expired user ids.  Use "uat" for user attribute packets instead of
 
7535
        "uid".  Also use '<count> <length>' rather than the fake user id
 
7536
        string on attributes.
 
7537
 
 
7538
        * keygen.c (keygen_add_revkey): Remove unused code.
 
7539
 
 
7540
        * misc.c (check_permissions): Check directory permissions
 
7541
        properly - they are not special files.
 
7542
 
 
7543
        * pkclist.c (expand_id, expand_group, build_pk_list): When
 
7544
        expanding groups before building a pk list, inherit flags from the
 
7545
        original pre-expanded string.
 
7546
 
 
7547
        * pubkey-enc.c (is_algo_in_prefs): Don't use prefs from expired
 
7548
        uids.
 
7549
 
 
7550
2002-06-14  David Shaw  <dshaw@jabberwocky.com>
 
7551
 
 
7552
        * free-packet.c (copy_signature): Properly copy a signature that
 
7553
        carries a revocation key on it.
 
7554
 
 
7555
        * pkclist.c (expand_id, expand_group, build_pk_list): Groups now
 
7556
        work properly when used in the "Enter the user ID" prompt.
 
7557
 
 
7558
2002-06-14  David Shaw  <dshaw@jabberwocky.com>
 
7559
 
 
7560
        * keyedit.c (show_key_with_all_names): Display warning if a user
 
7561
        tries to show prefs on a v3 key with a v3 selfsig.
 
7562
 
 
7563
        * kbnode.c (dump_kbnode): Show if a uid is expired.
 
7564
 
 
7565
        * import.c (merge_blocks, import_revoke_cert): Show user ID
 
7566
        receiving a revocation certificate.
 
7567
 
 
7568
        * free-packet.c (cmp_user_ids): Properly compare attribute ids.
 
7569
 
 
7570
        * pkclist.c (expand_groups): Maintain the strlist flags while
 
7571
        expanding.  Members of an expansion inherit their flags from the
 
7572
        expansion key.
 
7573
 
 
7574
        * options.h, cipher.c (write_header), g10.c (main), keygen.c
 
7575
        (keygen_set_std_prefs): remove the personal_mdc flag.  It no
 
7576
        longer serves a purpose now that the personal preference lists are
 
7577
        split into cipher/digest/zip.
 
7578
 
 
7579
2002-06-14  Timo Schulz  <ts@winpt.org>
 
7580
 
 
7581
        * skclist.c (is_insecure): Implemented.
 
7582
 
 
7583
2002-06-12  David Shaw  <dshaw@jabberwocky.com>
 
7584
 
 
7585
        * keyserver.c (keyserver_spawn): Properly handle PROGRAM responses
 
7586
        when they have a CRLF ending.  Noted by Keith Ray.
 
7587
 
 
7588
        * keyserver.c (keyserver_spawn): Handle CRLF endings from
 
7589
        keyserver helpers.  Also don't leak the last line worth of memory
 
7590
        from the keyserver response.
 
7591
 
 
7592
        * main.h, misc.c (deprecated_warning): New function to warn about
 
7593
        deprecated options and commands.
 
7594
 
 
7595
        * g10.c (main), keyserver-internal.h, keyserver.c
 
7596
        (parse_keyserver_uri): Use new deprecated function to warn about
 
7597
        honor-http-proxy, auto-key-retrieve, and x-broken-hkp.
 
7598
 
 
7599
2002-06-11  David Shaw  <dshaw@jabberwocky.com>
 
7600
 
 
7601
        * Makefile.am: link gpg with NETLIBS for the built-in HKP access.
 
7602
 
 
7603
2002-06-10  David Shaw  <dshaw@jabberwocky.com>
 
7604
 
 
7605
        * options.h, keyserver.c (keyserver_opts), g10.c (main): New
 
7606
        keyserver option "include-subkeys".  This feature already existed,
 
7607
        but now can be turned off.  It defaults to on.
 
7608
 
 
7609
        * options.h, keyserver.c (parse_keyserver_options,
 
7610
        keyserver_spawn): There are now enough options to justify making a
 
7611
        structure for the keyserver options rather than a page of
 
7612
        if-then-else-if-then-etc.
 
7613
 
 
7614
        * getkey.c (merge_keys_and_selfsig, merge_selfsigs_main): Fix bug
 
7615
        in calculating key expiration dates.
 
7616
 
 
7617
2002-06-09  David Shaw  <dshaw@jabberwocky.com>
 
7618
 
 
7619
        * keydb.h, getkey.c (get_user_id_native), import.c (import_one):
 
7620
        Display user ID while importing a key.  Note this applies to both
 
7621
        --import and keyserver --recv-keys.
 
7622
 
 
7623
        * exec.c (exec_finish): Log unnatural exit (core dump, killed
 
7624
        manually, etc) for fork/exec/pipe child processes.
 
7625
 
 
7626
2002-06-08  Timo Schulz  <ts@winpt.org>
 
7627
 
 
7628
        * encode.c (encode_symmetric): Disable the compat flag
 
7629
        when the expert mode is enabled.
 
7630
 
 
7631
2002-06-07  David Shaw  <dshaw@jabberwocky.com>
 
7632
 
 
7633
        * options.skel, options.h, main.h, keydb.h, pkclist.c
 
7634
        (build_pk_list, expand_groups), g10.c (main, add_group): Add new
 
7635
        "group" command to allow one name to expand into multiple keys.
 
7636
        For simplicity, and to avoid potential loops, we only expand once
 
7637
        - you can't make an alias that points to an alias.
 
7638
 
 
7639
        * main.h, g10.c (main), keygen.c (build_personal_digest_list):
 
7640
        Simplify the default digest list - there is really no need for the
 
7641
        other hashes since they will never be used after SHA-1 in the
 
7642
        list.
 
7643
 
 
7644
        * options.skel, options.h, g10.c (main), hkp.c (hkp_ask_import,
 
7645
        hkp_export, hkp_search), keyserver.c (parse_keyserver_options,
 
7646
        parse_keyserver_uri, keyserver_work, keyserver_refresh): Make the
 
7647
        "x-broken-hkp" keyserver scheme into keyserver-option
 
7648
        "broken-http-proxy".  Move honor_http_proxy into
 
7649
        keyserver_options.  Canonicalize the three variations of "hkp",
 
7650
        "x-hkp", and "x-broken-hkp" into "hkp".
 
7651
 
 
7652
2002-06-07  Stefan Bellon  <sbellon@sbellon.de>
 
7653
 
 
7654
        * g10.c [__riscos__]: Added --attribute-file to do the same as
 
7655
        --attribute-fd, but with a filename not a fd as argument.
 
7656
        Added magic symbol for RISC OS to use different memory management.
 
7657
 
 
7658
        * gpgv.c [__riscos__]: Added magic symbol for RISC OS to use
 
7659
        different memory management.
 
7660
 
 
7661
2002-06-06  David Shaw  <dshaw@jabberwocky.com>
 
7662
 
 
7663
        * main.h, g10.c (main), keygen.c (build_personal_digest_list): Put
 
7664
        in a default digest preference list consisting of SHA-1, followed
 
7665
        by every other installed digest except MD5.  Note this is the same
 
7666
        as having no digest preference at all except for SHA-1 being
 
7667
        favored.
 
7668
 
 
7669
        * options.h, g10.c (main), keygen.c (keygen_set_std_prefs),
 
7670
        pkclist.c (select_algo_from_prefs): Split
 
7671
        --personal-preference-list into three:
 
7672
        --personal-{cipher|digest|compress}-preferences.  This allows a
 
7673
        user to set one without affecting another (i.e. setting only a
 
7674
        digest pref doesn't imply an empty cipher pref).
 
7675
 
 
7676
        * exec.c (exec_read): This is a safer way of guessing the return
 
7677
        value of system().  Noted by Stefan Bellon.
 
7678
 
 
7679
2002-06-05  David Shaw  <dshaw@jabberwocky.com>
 
7680
 
 
7681
        * hkp.c (parse_hkp_index): Be more robust with keyservers
 
7682
        returning very unparseable responses.
 
7683
 
 
7684
        * exec.c (exec_read): Catch and display an error when the remote
 
7685
        process exits unnaturally (i.e. segfault) so the user knows what
 
7686
        happened.  Also fix exec_write stub which has a different number
 
7687
        of arguments now.
 
7688
 
 
7689
2002-06-05  Timo Schulz  <ts@winpt.org>
 
7690
 
 
7691
        * encode.c (encode_simple): Ignore the new mode for RFC1991.
 
7692
        * mainproc.c (symkey_decrypt_sesskey): Better check for weird
 
7693
        keysizes.
 
7694
 
 
7695
2002-06-05  Timo Schulz  <ts@winpt.org>
 
7696
 
 
7697
        * encode.c (encode_sesskey): New.
 
7698
        (encode_simple): Use it here. But by default we use the compat
 
7699
        mode which supress to generate encrypted session keys.
 
7700
 
 
7701
2002-06-05  Timo Schulz  <ts@winpt.org>
 
7702
 
 
7703
        * mainproc.c (symkey_decrypt_sesskey): New.
 
7704
        (proc_symkey_enc): Support for encrypted session keys.
 
7705
 
 
7706
2002-06-04  David Shaw  <dshaw@jabberwocky.com>
 
7707
 
 
7708
        * sign.c (hash_for, sign_file): When encrypting and signing at the
 
7709
        same time, consult the various hash prefs to pick a hash algorithm
 
7710
        to use.  Pass in a 160-bit hint if any of the signing keys are
 
7711
        DSA.
 
7712
 
 
7713
        * keydb.h, pkclist.c (select_algo_from_prefs, algo_available):
 
7714
        Pass a "hints" opaque pointer in to let the caller give hints as
 
7715
        to what algorithms would be acceptable.  The only current hint is
 
7716
        for PREFTYPE_HASH to require a 160-bit hash for DSA.  Change all
 
7717
        callers in encode.c (encode_crypt, encrypt_filter) and sign.c
 
7718
        (sign_file).  If we settle on MD5 as the best algorithm based
 
7719
        solely on recepient keys and SHA1 is also a possibility, use SHA1
 
7720
        unless the user intentionally chose MD5.  This is as per 2440:13.
 
7721
 
 
7722
        * exec.c (make_tempdir): Fix duplicated filename problem.
 
7723
 
 
7724
2002-06-03  David Shaw  <dshaw@jabberwocky.com>
 
7725
 
 
7726
        * packet.h, parse-packet.c (enum_sig_subpkt): Report back from
 
7727
        enum_sig_subpkt when a subpacket is critical and change all
 
7728
        callers in keylist.c (show_policy_url, show_notation), mainproc.c
 
7729
        (print_notation_data), and pkclist.c (do_show_revocation_reason).
 
7730
 
 
7731
        * keylist.c (show_policy_url, show_notation): Display if the
 
7732
        policy or notation is critical.
 
7733
 
 
7734
2002-06-03  David Shaw  <dshaw@jabberwocky.com>
 
7735
 
 
7736
        * main.h, g10.c (main), keylist.c (dump_attribs, set_attrib_fd,
 
7737
        list_keyblock_print, list_keyblock_colon), status.h, status.c
 
7738
        (get_status_string): New --attribute-fd feature to dump the
 
7739
        contents of attribute subpackets for frontends.  If --status-fd is
 
7740
        also used, then a new status tag ATTRIBUTE is provided for each
 
7741
        subpacket.
 
7742
 
 
7743
        * packet.h, getkey.c (fixup_uidnode, merge_selfsigs_main,
 
7744
        merge_selfsigs_subkey), parse-packet.c (setup_user_id): Keep track
 
7745
        of the expiration time of a user ID, and while we're at it, use
 
7746
        the expired flag from the selfsig rather than reparsing the
 
7747
        SIG_EXPIRE subpacket.
 
7748
 
 
7749
        * photoid.c (generate_photo_id): When adding a new photo ID,
 
7750
        showing the photo for confirmation is not safe when noninteractive
 
7751
        since the "user" may not be able to dismiss a viewer window.
 
7752
        Noted by Timo Schulz.
 
7753
 
 
7754
2002-06-03  David Shaw  <dshaw@jabberwocky.com>
 
7755
 
 
7756
        * options.skel: Sample photo viewers for Win32.
 
7757
 
 
7758
        * misc.c (pct_expando): Use the seckey for %k/%K if the pubkey is
 
7759
        not available.
 
7760
 
 
7761
        * photoid.h, photoid.c (show_photos): Include the seckey in case a
 
7762
        user tries to view a photo on a secret key, and change all callers
 
7763
        in keyedit.c (menu_showphoto), keylist.c (list_keyblock_print),
 
7764
        and photoid.c (generate_photo_id).
 
7765
 
 
7766
2002-06-02  David Shaw  <dshaw@jabberwocky.com>
 
7767
 
 
7768
        * photoid.c (show_photos): Work properly when not called with a
 
7769
        public key.
 
7770
 
 
7771
2002-05-31  David Shaw  <dshaw@jabberwocky.com>
 
7772
 
 
7773
        * sign.c (mk_notation_and_policy): Free unneeded buffer.
 
7774
 
 
7775
        * hkp.c (parse_hkp_index): Properly handle the '&' character
 
7776
        (i.e. "&amp;") in HKP responses.
 
7777
 
 
7778
        * getkey.c (merge_selfsigs_main): Fix reversed expiration time
 
7779
        check with self-sigs.
 
7780
 
 
7781
        * keyedit.c (sign_uids): When making a new self-sig on a v3 key,
 
7782
        make a v3 self-sig unless it is currently a v3 self-sig being
 
7783
        promoted to v4.
 
7784
 
 
7785
2002-05-31  Timo Schulz  <ts@winpt.org>
 
7786
 
 
7787
        * pkclist.c (do_show_revocation_reason): Don't use capital
 
7788
        letters for non-interactive output.
 
7789
        (show_revocation_reason): Now it is global.
 
7790
        * pubkey-enc.c (get_it): Show if the key has been revoked.
 
7791
 
 
7792
2002-05-30  David Shaw  <dshaw@jabberwocky.com>
 
7793
 
 
7794
        * sign.c (write_signature_packets, sign_file, clearsign_file,
 
7795
        sign_symencrypt_file): Make a v4 signature if a policy URL or
 
7796
        notation is set, unless v3 sigs are forced via rfc1991 or
 
7797
        force-v3-sigs.  Also remove some doubled code and clarify an error
 
7798
        message (we don't sign in PGP2 mode - just detach-sign).
 
7799
 
 
7800
        * parse-packet.c (parse_one_sig_subpkt): Add KS_FLAGS to the "any
 
7801
        size" section.
 
7802
 
 
7803
2002-05-29  David Shaw  <dshaw@jabberwocky.com>
 
7804
 
 
7805
        * keygen.c (keygen_set_std_prefs, add_feature_mdc): Use "mdc" and
 
7806
        "no-mdc" in the prefs string to allow switching on and off the MDC
 
7807
        feature.  This is needed to properly export a key from GnuPG for
 
7808
        use on PGP which does not support MDC - without this, MDC-capable
 
7809
        implementations will still try and generate MDCs which will break
 
7810
        PGP.
 
7811
 
 
7812
        * keygen.c (keygen_get_std_prefs): Show "[mdc]" in prefs string if
 
7813
        it is enabled.
 
7814
 
 
7815
        * options.h, g10.c (main), cipher.c (write_header), keygen.c
 
7816
        (keygen_set_std_prefs): For consistency, allow the user to specify
 
7817
        mdc/no-mdc in the --personal-preference-list.  If disabled, it
 
7818
        acts just like --disable-mdc.
 
7819
 
 
7820
2002-05-29  David Shaw  <dshaw@jabberwocky.com>
 
7821
 
 
7822
        * options.h, exec.c: Add some debugging info, using the 1024 debug
 
7823
        flag.
 
7824
 
 
7825
        * exec.c (win_system): New system()-like function for win32 that
 
7826
        does not return until the child process terminates.  Of course,
 
7827
        this doesn't help if the process itself exits before it is
 
7828
        finished.
 
7829
 
 
7830
2002-05-29  Werner Koch  <wk@gnupg.org>
 
7831
 
 
7832
        * encode.c (encode_simple): Intialize PKT when --no-literal is used.
 
7833
 
 
7834
        * keyedit.c (show_key_with_all_names_colon): Renamed the record
 
7835
        for revocation keys to "rvk".
 
7836
 
 
7837
2002-05-27  Werner Koch  <wk@gnupg.org>
 
7838
 
 
7839
        * keyedit.c (show_key_with_all_names_colon): New.
 
7840
        (show_key_with_all_names): Divert to new function when required.
 
7841
        Sanitize printing of revoker name.
 
7842
 
 
7843
2002-05-27  David Shaw  <dshaw@jabberwocky.com>
 
7844
 
 
7845
        * build-packet.c (build_sig_subpkt): Handle setting sig flags for
 
7846
        certain subpacket types (notation, policy url, exportable,
 
7847
        revocable).  keyedit.c (sign_mk_attrib): Flags no longer need to
 
7848
        be set here.
 
7849
 
 
7850
        * packet.h, parse-packet.c (parse_one_sig_subpkt), build-packet.c
 
7851
        (build_sig_subpkt): Call parse_one_sig_subpkt to sanity check
 
7852
        buffer lengths before building a sig subpacket.
 
7853
 
 
7854
2002-05-26  David Shaw  <dshaw@jabberwocky.com>
 
7855
 
 
7856
        * sign.c (mk_notation_and_policy): Include secret key to enable %s
 
7857
        expandos, and pass notations through pct_expando as well.
 
7858
 
 
7859
        * main.h, misc.c (pct_expando): Add %s and %S expandos for
 
7860
        signer's keyid.
 
7861
 
 
7862
2002-05-25  David Shaw  <dshaw@jabberwocky.com>
 
7863
 
 
7864
        * g10.c (strusage, build_list): Add compress algorithms to
 
7865
        --version list.  Show algorithm numbers when --verbose --version
 
7866
        is done.
 
7867
 
 
7868
2002-05-22  David Shaw  <dshaw@jabberwocky.com>
 
7869
 
 
7870
        * options.h, main.h, keygen.c (keygen_set_set_prefs,
 
7871
        keygen_get_std_prefs, keygen_upd_std_prefs), keyedit.c
 
7872
        (keyedit_menu), g10.c (main), pkclist.c (select_algo_from_prefs):
 
7873
        Add --personal-preference-list which allows the user to factor in
 
7874
        their own preferred algorithms when the preference lists are
 
7875
        consulted.  Obviously, this does not let the user violate a
 
7876
        recepient's preferences (and the RFC) - this only influences the
 
7877
        ranking of the agreed-on (and available) algorithms from the
 
7878
        recepients.  Suggested by David Hollenberg.
 
7879
 
 
7880
        * options.h, keygen.c (keygen_set_std_prefs), g10.c (main): Rename
 
7881
        --preference-list to --default-preference-list (as that is what it
 
7882
        really is), and make it a true default in that if the user selects
 
7883
        "default" they get this list and not the compiled-in list.
 
7884
 
 
7885
2002-05-22  Werner Koch  <wk@gnupg.org>
 
7886
 
 
7887
        * g10.c (main): Add missing LF in a info printout and made it
 
7888
        translatable.  Noted by Michael Tokarev.
 
7889
 
 
7890
2002-05-21  Werner Koch  <wk@gnupg.org>
 
7891
 
 
7892
        * g10.c (main): Removed the undef of USE_SHM_COPROCESSING which
 
7893
        was erroneously introduced on 2002-01-09.
 
7894
 
 
7895
        * signal.c (got_fatal_signal): Don't write the Nul to stderr.
 
7896
        Reported by David Hollenberg.
 
7897
 
 
7898
2002-05-18  David Shaw  <dshaw@jabberwocky.com>
 
7899
 
 
7900
        * main.h, g10.c (main), revoke.c (gen_desig_revoke): Generate a
 
7901
        designated revocation via --desig-revoke
 
7902
 
 
7903
        * keyedit.c (keyedit_menu, menu_addrevoker): New "addrevoker"
 
7904
        command to add a designated revoker to a key.
 
7905
 
 
7906
2002-05-17  David Shaw  <dshaw@jabberwocky.com>
 
7907
 
 
7908
        * gpgv.c: Add stub for get_ownertrust().
 
7909
 
 
7910
        * g10.c (main): --allow-freeform-uid should be implied by
 
7911
        OpenPGP.  Add --no-allow-freeform-uid.
 
7912
 
 
7913
        * keyedit.c (sign_uids): Issue a warning when signing a
 
7914
        non-selfsigned uid.
 
7915
 
 
7916
        * getkey.c (merge_selfsigs_main): If a key has no selfsigs, and
 
7917
        allow-non-selfsigned-uid is not set, still try and make the key
 
7918
        valid by checking all uids for a signature from an ultimately
 
7919
        trusted key.
 
7920
 
 
7921
2002-05-16  David Shaw  <dshaw@jabberwocky.com>
 
7922
 
 
7923
        * main.h, keygen.c (keygen_add_revkey): Add revocation key
 
7924
        subpackets to a signature (callable by
 
7925
        make_keysig_packet). (write_direct_sig): Write a 1F direct key
 
7926
        signature. (parse_revocation_key): Parse a string in
 
7927
        algo:fpr:sensitive format into a revocation
 
7928
        key. (get_parameter_revkey, do_generate_keypair): Call above
 
7929
        functions when prompted from a batch key generation file.
 
7930
 
 
7931
        * build-packet.c (build_sig_subpkt): Allow multiple revocation key
 
7932
        subpackets in a single sig.
 
7933
 
 
7934
        * keydb.h, getkey.c (get_seckey_byfprint): Same as
 
7935
        get_pubkey_byfprint, except for secret keys.  We only know the
 
7936
        fingerprint of a revocation key, so this is needed to retrieve the
 
7937
        secret key needed to issue a revokation.
 
7938
 
 
7939
        * packet.h, parse-packet.c (parse_signature, parse_revkeys): Split
 
7940
        revkey parsing off into a new function that can be used to reparse
 
7941
        after manipulating the revkey list.
 
7942
 
 
7943
        * sign.c (make_keysig_packet): Ability to make 1F direct key
 
7944
        signatures.
 
7945
 
 
7946
2002-05-15  David Shaw  <dshaw@jabberwocky.com>
 
7947
 
 
7948
        * options.skel: keyserver.pgp.com is gone, so list pgp.surfnet.nl
 
7949
        as a sample LDAP server instead.
 
7950
 
 
7951
        * getkey.c (merge_selfsigs_main): Properly handle multiple
 
7952
        revocation keys in a single packet.  Properly handle revocation
 
7953
        keys that are in out-of-order packets.  Remove duplicates in
 
7954
        revocation key list.
 
7955
 
 
7956
2002-05-14  Timo Schulz   <ts@winpt.org>
 
7957
 
 
7958
        * exec.c (make_tempdir) [MINGW32]: Added missing '\'.
 
7959
 
 
7960
2002-05-14  Stefan Bellon  <sbellon@sbellon.de>
 
7961
 
 
7962
        * exec.c (make_tempdir): Make use of EXTSEP_S instead of hardcoded
 
7963
        dot as extension separator.
 
7964
 
 
7965
2002-05-13  David Shaw  <dshaw@jabberwocky.com>
 
7966
 
 
7967
        * photoid.c (show_photos): Use the long keyid as the filename for
 
7968
        the photo.  Use the short keyid as the filename on 8.3 systems.
 
7969
 
 
7970
        * exec.h, exec.c (make_tempdir, exec_write, exec_finish): Allow
 
7971
        caller to specify filename.  This should make things easier on
 
7972
        windows and macs where the file extension is required, but a whole
 
7973
        filename is even better.
 
7974
 
 
7975
        * keyedit.c (show_key_with_all_names, show_prefs): Show proper
 
7976
        prefs for a v4 key uid with no selfsig at all.
 
7977
 
 
7978
        * misc.c (check_permissions): Don't check permissions on
 
7979
        non-normal files (pipes, character devices, etc.)
 
7980
 
 
7981
2002-05-11  Werner Koch  <wk@gnupg.org>
 
7982
 
 
7983
        * mainproc.c (proc_symkey_enc): Avoid segv in case the parser
 
7984
        encountered an invalid packet.
 
7985
 
 
7986
        * keyserver.c (keyserver_export): Get confirmation before sending
 
7987
        all keys.
 
7988
 
 
7989
2002-05-10  Stefan Bellon  <sbellon@sbellon.de>
 
7990
 
 
7991
        * g10.c, hkp.c, keyedit.c, keyserver.c: Replaced all occurrances
 
7992
        of strcasecmp with ascii_strcasecmp and all occurrances of
 
7993
        strncasecmp with ascii_memcasecmp.
 
7994
 
 
7995
2002-05-10  David Shaw  <dshaw@jabberwocky.com>
 
7996
 
 
7997
        * packet.h, getkey.c (fixup_uidnode), keyedit.c (show_prefs): Show
 
7998
        assumed prefs for hash and compression as well as the cipher pref.
 
7999
        Show assumed prefs if there are no prefs at all on a v4
 
8000
        self-signed key.
 
8001
 
 
8002
        * options.h, g10.c (main), sign.c (make_keysig_packet): New
 
8003
        --cert-digest-algo function to override the default key signing
 
8004
        hash algorithm.
 
8005
 
 
8006
2002-05-09  David Shaw  <dshaw@jabberwocky.com>
 
8007
 
 
8008
        * getkey.c (merge_selfsigs_main): Make sure the revocation key
 
8009
        list starts clean as this function may be called more than once
 
8010
        (e.g. from functions in --edit).
 
8011
 
 
8012
        * g10.c, encode.c (encode_crypt), sign.c (sign_file,
 
8013
        sign_symencrypt_file): Make --compress-algo work like the
 
8014
        documentation says.  It should be like --cipher-algo and
 
8015
        --digest-algo in that it can override the preferences calculation
 
8016
        and impose the setting the user wants.  No --compress-algo setting
 
8017
        allows the usual preferences calculation to take place.
 
8018
 
 
8019
        * main.h, compress.c (compress_filter): use new
 
8020
        DEFAULT_COMPRESS_ALGO define, and add a sanity check for compress
 
8021
        algo value.
 
8022
 
 
8023
2002-05-08  David Shaw  <dshaw@jabberwocky.com>
 
8024
 
 
8025
        * pkclist.c (select_algo_from_prefs): There is an assumed
 
8026
        compression preference for uncompressed data.
 
8027
 
 
8028
2002-05-07  David Shaw  <dshaw@jabberwocky.com>
 
8029
 
 
8030
        * options.h, g10.c (main), getkey.c (finish_lookup), pkclist.c
 
8031
        (algo_available): --pgp7, identical to --pgp6 except that it
 
8032
        permits a few algorithms that PGP 7 added: AES128, AES192, AES256,
 
8033
        and TWOFISH.  Any more of these --pgpX flags, and it'll be time to
 
8034
        start looking at a generic --emulate-pgp X option.
 
8035
 
 
8036
        * export.c (do_export_stream): Warn the user when exporting a
 
8037
        secret key if it or any of its secret subkeys are protected with
 
8038
        SHA1 while simple_sk_checksum is set.
 
8039
 
 
8040
        * parse-packet.c (parse_key): Show when the SHA1 protection is
 
8041
        used in --list-packets.
 
8042
 
 
8043
        * options.h, build-packet.c (do_comment), g10.c (main): Rename
 
8044
        --no-comment as --sk-comments/--no-sk-comments (--no-comment still
 
8045
        works) and make the default be --no-sk-comments.
 
8046
 
 
8047
2002-05-07  Werner Koch  <wk@gnupg.org>
 
8048
 
 
8049
        * keygen.c (get_parameter_algo): Never allow generation of the
 
8050
        deprecated RSA-E or RSA-S flavors of PGP RSA.
 
8051
        (ask_algo): Allow generation of RSA sign and encrypt in expert
 
8052
        mode.  Don't allow ElGamal S+E unless in expert mode.
 
8053
        * helptext.c: Added entry keygen.algo.rsa_se.
 
8054
 
 
8055
2002-05-07  David Shaw  <dshaw@jabberwocky.com>
 
8056
 
 
8057
        * keyedit.c (sign_uids): If --expert is set, allow re-signing a
 
8058
        uid to promote a v3 self-sig to a v4 one.  This essentially
 
8059
        deletes the old v3 self-sig and replaces it with a v4 one.
 
8060
 
 
8061
        * packet.h, parse-packet.c (parse_key), getkey.c
 
8062
        (merge_keys_and_selfsig, merge_selfsigs_main): a v3 key with a v4
 
8063
        self-sig must never let the v4 self-sig express a key expiration
 
8064
        time that extends beyond the original v3 expiration time.
 
8065
 
 
8066
2002-05-06  David Shaw  <dshaw@jabberwocky.com>
 
8067
 
 
8068
        * keyedit.c (sign_uids): When making a self-signature via "sign"
 
8069
        don't ask about sig level or expiration, and include the usual
 
8070
        preferences and such for v4 self-sigs.  (menu_set_preferences):
 
8071
        Convert uids from UTF8 to native before printing.
 
8072
 
 
8073
        * keyedit.c (sign_uids): Convert uids from UTF8 to native before
 
8074
        printing.  (menu_set_primary_uid): Show error if the user tries to
 
8075
        make a uid with a v3 self-sig primary.
 
8076
 
 
8077
2002-05-05  David Shaw  <dshaw@jabberwocky.com>
 
8078
 
 
8079
        * import.c (import_one): When merging with a key we already have,
 
8080
        don't let a key conflict (same keyid but different key) stop the
 
8081
        import: just skip the bad key and continue.
 
8082
 
 
8083
        * exec.c (make_tempdir): Under Win32, don't try environment
 
8084
        variables for temp directories - GetTempDir tries environment
 
8085
        variables internally, and it's better not to second-guess it in
 
8086
        case MS adds some sort of temp dir handling to Windows at some
 
8087
        point.
 
8088
 
 
8089
2002-05-05  Timo Schulz  <ts@winpt.org>
 
8090
 
 
8091
        * mainproc.c (proc_symkey_enc): Don't ask for a passphrase
 
8092
        in the list only mode.
 
8093
 
 
8094
2002-05-05  David Shaw  <dshaw@jabberwocky.com>
 
8095
 
 
8096
        * keyserver.c (keyserver_refresh): --refresh-keys implies
 
8097
        --merge-only so as not to import keys with keyids that match the
 
8098
        ones being refreshed.  Noted by Florian Weimer.
 
8099
 
 
8100
2002-05-04  Stefan Bellon  <sbellon@sbellon.de>
 
8101
 
 
8102
        * free-packet.c (copy_public_key): Don't call m_alloc(0), therefore
 
8103
        added consistency check for revkey and numrefkeys.
 
8104
 
 
8105
        * getkey.c (check_revocation_keys): Added consistency check for
 
8106
        revkey and numrefkeys.
 
8107
 
 
8108
        * keyedit.c (show_key_with_all_names): Likewise.
 
8109
 
 
8110
2002-05-03  David Shaw  <dshaw@jabberwocky.com>
 
8111
 
 
8112
        * photoid.c: Provide default image viewer for Win32.
 
8113
 
 
8114
        * misc.c (pct_expando): %t means extension, not name ("jpg", not
 
8115
        "jpeg").
 
8116
 
 
8117
        * keyserver.c (keyserver_spawn), photoid.c (show_photos), exec.h,
 
8118
        exec.c: Allow the caller to determine the temp file extension when
 
8119
        starting an exec_write and change all callers.
 
8120
 
 
8121
        * keyedit.c (sign_uids): Nonrevocable key signatures cause an
 
8122
        automatic promotion to v4.
 
8123
 
 
8124
        * exec.c: Provide stubs for exec_ functions when NO_EXEC is
 
8125
        defined.
 
8126
 
 
8127
2002-05-02  David Shaw  <dshaw@jabberwocky.com>
 
8128
 
 
8129
        * photoid.h, photoid.c (parse_image_header, image_type_to_string):
 
8130
        Useful functions to return data about an image.
 
8131
 
 
8132
        * packet.h, parse-packet.c (make_attribute_uidname,
 
8133
        parse_attribute_subpkts, parse_attribute), photoid.h, photoid.c
 
8134
        (show_photos): Handle multiple images in a single attribute
 
8135
        packet.
 
8136
 
 
8137
        * main.h, misc.c (pct_expando), sign.c (mk_notation_and_policy),
 
8138
        photoid.c (show_photos): Simpler expando code that does not
 
8139
        require using compile-time string sizes.  Call
 
8140
        image_type_to_string to get image strings (i.e. "jpg",
 
8141
        "image/jpeg").  Change all callers.
 
8142
 
 
8143
        * keyedit.c (menu_showphoto), keylist.c (list_keyblock_print):
 
8144
        Allow viewing multiple images within a single attribute packet.
 
8145
 
 
8146
        * gpgv.c: Various stubs for link happiness.
 
8147
 
 
8148
2002-05-02  David Shaw  <dshaw@jabberwocky.com>
 
8149
 
 
8150
        * build-packet.c (build_sig_subpkt), keyedit.c (sign_uids),
 
8151
        options.h, sign.c (mk_notation_and_policy), g10.c (main,
 
8152
        add_notation_data, add_policy_url (new), check_policy_url
 
8153
        (removed)): Allow multiple policy URLs on a given signature.
 
8154
        Split "--notation-data" into "--cert-notation" and
 
8155
        "--sig-notation" so the user can set different policies for key
 
8156
        and data signing.  For backwards compatibility, "--notation-data"
 
8157
        sets both, as before.
 
8158
 
 
8159
2002-05-02  Werner Koch  <wk@gnupg.org>
 
8160
 
 
8161
        * options.skel: Removed the comment on trusted-keys because this
 
8162
        option is now deprecated.
 
8163
 
 
8164
2002-05-01  David Shaw  <dshaw@jabberwocky.com>
 
8165
 
 
8166
        * keyedit.c (menu_adduid): 2440bis04 says that multiple attribute
 
8167
        packets on a given key are legal.
 
8168
 
 
8169
        * keyserver.c (keyserver_refresh): the fake v3 keyid hack applies
 
8170
        to "mailto" URLs as well since they are also served by pksd.
 
8171
 
 
8172
2002-04-29  Werner Koch  <wk@gnupg.org>
 
8173
 
 
8174
        Added a copyright year for files changed this year.
 
8175
 
 
8176
2002-04-25  Werner Koch  <wk@gnupg.org>
 
8177
 
 
8178
        * g10.c, options.h: New options --display, --ttyname, --ttytype,
 
8179
        --lc-ctype, --lc-messages to be used with future versions of the
 
8180
        gpg-agent.
 
8181
        * passphrase.c (agent_send_option,agent_send_all_options): New.
 
8182
        (agent_open): Send options to the agent.
 
8183
 
 
8184
        * trustdb.c (update_ownertrust, clear_ownertrust): Do an explicit
 
8185
        do_sync because revalidation_mark does it only if when the
 
8186
        timestamp actually changes.
 
8187
 
 
8188
2002-04-23  David Shaw  <dshaw@jabberwocky.com>
 
8189
 
 
8190
        * main.h, keygen.c (do_generate_keypair), keylist.c
 
8191
        (print_signature_stats, list_all, list_one, list_keyblock,
 
8192
        list_keyblock_print, list_keyblock_colon): After generating a new
 
8193
        key, show the key information (name, keyid, fingerprint, etc.)
 
8194
        Also do not print uncheckable signatures (missing key..) in
 
8195
        --check-sigs.  Print statistics (N missing keys, etc.) after
 
8196
        --check-sigs.
 
8197
 
 
8198
        * keyedit.c (sign_uids): When signing a key with an expiration
 
8199
        date on it, the "Do you want your signature to expire at the same
 
8200
        time?" question should default to YES.
 
8201
 
 
8202
2002-04-22  David Shaw  <dshaw@jabberwocky.com>
 
8203
 
 
8204
        * parse-packet.c (parse_plaintext), packet.h, plaintext.c
 
8205
        (handle_plaintext): Fix bug in handling literal packets with
 
8206
        zero-length data (no data was being confused with partial body
 
8207
        length).
 
8208
 
 
8209
        * misc.c (pct_expando), options.skel: %t means extension ("jpg").
 
8210
        %T means MIME type ("image/jpeg").
 
8211
 
 
8212
        * import.c (import_one): Only trigger trust update if the keyring
 
8213
        is actually changed.
 
8214
 
 
8215
        * export.c (do_export_stream): Missing a m_free.
 
8216
 
 
8217
2002-04-22  Stefan Bellon  <sbellon@sbellon.de>
 
8218
 
 
8219
        * keyid.c (expirestr_from_sk, expirestr_from_sig): Added _() to
 
8220
        string constant.
 
8221
 
 
8222
        * exec.c (make_tempdir) [__riscos__]: Better placement of
 
8223
        temporary file.
 
8224
 
 
8225
2002-04-20  David Shaw  <dshaw@jabberwocky.com>
 
8226
 
 
8227
        * keygen.c (generate_subkeypair): 2440bis04 adds that creating
 
8228
        subkeys on v3 keys is a MUST NOT.
 
8229
 
 
8230
        * getkey.c (finish_lookup): The --pgp6 "use the primary key"
 
8231
        behavior should only apply while data signing and not encryption.
 
8232
        Noted by Roger Sondermann.
 
8233
 
 
8234
2002-04-19  Werner Koch  <wk@gnupg.org>
 
8235
 
 
8236
        * keygen.c (keygen_set_std_prefs): Put back 3DES because the RFC
 
8237
        says it is good form to do so.
 
8238
 
 
8239
2002-04-19  David Shaw  <dshaw@jabberwocky.com>
 
8240
 
 
8241
        * keyedit.c (menu_deluid): Only cause a trust update if we delete
 
8242
        a non-revoked user id.
 
8243
 
 
8244
        * hkp.c (hkp_ask_import), keyserver.c (parse_keyserver_options,
 
8245
        keyserver_spawn), options.h: Remove fast-import keyserver option
 
8246
        (no longer meaningful).
 
8247
 
 
8248
        * g10.c (main), keyedit.c (sign_uids), options.h: Change
 
8249
        --default-check-level to --default-cert-check-level as it makes
 
8250
        clear what it operates on.
 
8251
 
 
8252
        * g10.c (main): --pgp6 also implies --no-ask-sig-expire.
 
8253
 
 
8254
        * delkey.c (do_delete_key): Comment.
 
8255
 
 
8256
        * keyedit.c (sign_uids, keyedit_menu, menu_deluid, menu_delsig,
 
8257
        menu_expire, menu_revsig, menu_revkey): Only force a trustdb check
 
8258
        if we did something that changes it.
 
8259
 
 
8260
        * g10.c: add "--auto-check-trustdb" to override a
 
8261
        "--no-auto-check-trustdb"
 
8262
 
 
8263
2002-04-19  Werner Koch  <wk@gnupg.org>
 
8264
 
 
8265
        * tdbio.c (tdbio_write_nextcheck): Return a status whether the
 
8266
        stamp was actually changed.
 
8267
        * trustdb.c (revalidation_mark): Sync the changes.  Removed the
 
8268
        sync operation done by its callers.
 
8269
        (get_validity): Add logic for maintaining a pending_check flag.
 
8270
        (clear_ownertrust): New.
 
8271
 
 
8272
        * keyedit.c (sign_uids): Don't call revalidation_mark depending on
 
8273
        primary_pk.
 
8274
        (keyedit_menu): Call revalidation_mark after "trust".
 
8275
        (show_key_with_all_names): Print a warning on the wrong listed key
 
8276
        validity.
 
8277
 
 
8278
        * delkey.c (do_delete_key): Clear the owenertrust information when
 
8279
        deleting a public key.
 
8280
 
 
8281
2002-04-18  Werner Koch  <wk@gnupg.org>
 
8282
 
 
8283
        * seskey.c (encode_md_value): Print an error message if a wrong
 
8284
        digest algorithm is used with DSA.  Changed all callers to cope
 
8285
        with a NULL return.  Problem noted by Imad R. Faiad.
 
8286
 
 
8287
2002-04-18  David Shaw  <dshaw@jabberwocky.com>
 
8288
 
 
8289
        * trustdb.c (mark_usable_uid_certs): Properly handle nonrevocable
 
8290
        signatures that can expire.  In short, the only thing that can
 
8291
        override an unexpired nonrevocable signature is another unexpired
 
8292
        nonrevocable signature.
 
8293
 
 
8294
        * getkey.c (finish_lookup): Always use primary signing key for
 
8295
        signatures when --pgp6 is on since pgp6 and 7 do not understand
 
8296
        signatures made by signing subkeys.
 
8297
 
 
8298
2002-04-18  Werner Koch  <wk@gnupg.org>
 
8299
 
 
8300
        * trustdb.c (validate_keys): Never schedule a nextcheck into the
 
8301
        past.
 
8302
        (validate_key_list): New arg curtime use it to set next_expire.
 
8303
        (validate_one_keyblock): Take the current time from the caller.
 
8304
        (clear_validity, reset_unconnected_keys): New.
 
8305
        (validate_keys): Reset all unconnected keys.
 
8306
 
 
8307
        * getkey.c (premerge_public_with_secret): Fixed 0x12345678! syntax
 
8308
        for use with secret keys.
 
8309
        (lookup): Advance the searchmode after a search FIRST.
 
8310
 
 
8311
        * seckey-cert.c (do_check): Always calculate the old checksum for
 
8312
        use after unprotection.
 
8313
 
 
8314
        * g10.c, options.skel: New option --no-escape-from.  Made
 
8315
        --escape-from and --force-v3-sigs the default and removed them
 
8316
        from the options skeleton.
 
8317
 
 
8318
2002-04-16  Werner Koch  <wk@gnupg.org>
 
8319
 
 
8320
        * parse-packet.c (parse_key): Support a SHA1 checksum as per
 
8321
        draft-rfc2440-bis04.
 
8322
        * packet.h (PKT_secret_key): Add field sha1chk.
 
8323
        * seckey-cert.c (do_check): Check the SHA1 checksum
 
8324
        (protect_secret_key): And create it.
 
8325
        * build-packet.c (do_secret_key): Mark it as sha-1 protected.
 
8326
        * g10.c, options.h: New option --simple-sk-checksum.
 
8327
 
 
8328
2002-04-13  David Shaw  <dshaw@jabberwocky.com>
 
8329
 
 
8330
        * parse-packet.c (parse_signature): Minor fix - signatures should
 
8331
        expire at their expiration time and not one second later.
 
8332
 
 
8333
        * keygen.c (proc_parameter_file): Allow specifying preferences
 
8334
        string (i.e. "s5 s2 z1 z2", etc) in a batchmode key generation
 
8335
        file.
 
8336
 
 
8337
        * keyedit.c (keyedit_menu): Print standard error message when
 
8338
        signing a revoked key (no new translation).
 
8339
 
 
8340
        * getkey.c (merge_selfsigs): Get the default set of key prefs from
 
8341
        the real (not attribute) primary uid.
 
8342
 
 
8343
2002-04-12  David Shaw  <dshaw@jabberwocky.com>
 
8344
 
 
8345
        * pkclist.c (build_pk_list): Fix bug that allowed a key to be
 
8346
        selected twice in batch mode if one instance was the default
 
8347
        recipient and the other was an encrypt-to.  Noted by Stefan
 
8348
        Bellon.
 
8349
 
 
8350
        * parse-packet.c (dump_sig_subpkt): Show data in trust and regexp
 
8351
        sig subpackets.
 
8352
 
 
8353
        * keyedit.c (keyedit_menu): Use new function real_uids_left to
 
8354
        prevent deleting the last real (i.e. non-attribute) uid.  Again,
 
8355
        according to the attribute draft. (menu_showphoto): Make another
 
8356
        string translatable.
 
8357
 
 
8358
2002-04-11  David Shaw  <dshaw@jabberwocky.com>
 
8359
 
 
8360
        * build-packet.c (build_sig_subpkt): Delete subpackets from both
 
8361
        hashed and unhashed area on update.  (find_subpkt): No longer
 
8362
        needed.
 
8363
 
 
8364
        * keyedit.c (sign_uids): With --pgp2 on, refuse to sign a v3 key
 
8365
        with a v4 signature.  As usual, --expert overrides.  Try to tweak
 
8366
        some strings to a closer match so they can all be translated in
 
8367
        one place.  Use different helptext keys to allow different help
 
8368
        text for different questions.
 
8369
 
 
8370
        * keygen.c (keygen_upd_std_prefs): Remove preferences from both
 
8371
        hashed and unhashed areas if they are not going to be used.
 
8372
 
 
8373
2002-04-10  David Shaw  <dshaw@jabberwocky.com>
 
8374
 
 
8375
        * misc.c (pct_expando), options.skel: Use %t to indicate type of a
 
8376
        photo ID (in this version, it's always "jpeg").  Also tweak string
 
8377
        expansion loop to minimize reallocs.
 
8378
 
 
8379
        * mainproc.c (do_check_sig): Variable type fix.
 
8380
 
 
8381
        * keyedit.c (menu_set_primary_uid): Differentiate between true
 
8382
        user IDs and attribute user IDs when making one of them primary.
 
8383
        That is, if we are making a user ID primary, we alter user IDs.
 
8384
        If we are making an attribute packet primary, we alter attribute
 
8385
        packets.  This matches the language in the latest attribute packet
 
8386
        draft.
 
8387
 
 
8388
        * keyedit.c (sign_uids): No need for the empty string hack.
 
8389
 
 
8390
        * getkey.c (fixup_uidnode): Only accept preferences from the
 
8391
        hashed segment of the self-sig.
 
8392
 
 
8393
2002-04-10  Werner Koch  <wk@gnupg.org>
 
8394
 
 
8395
        * tdbio.c (migrate_from_v2): Fixed the offset to read the old
 
8396
        ownertrust value and only add entries to the table if we really
 
8397
        have a value.
 
8398
 
 
8399
2002-04-08  David Shaw  <dshaw@jabberwocky.com>
 
8400
 
 
8401
        * status.h, status.c (get_status_string): Add KEYEXPIRED, EXPSIG,
 
8402
        and EXPKEYSIG.  Add "deprecated-use-keyexpired-instead" to
 
8403
        SIGEXPIRED.
 
8404
 
 
8405
        * sig-check.c (do_check): Start transition from SIGEXPIRED to
 
8406
        KEYEXPIRED, since the actual event is signature verification by an
 
8407
        expired key and not an expired signature. (do_signature_check,
 
8408
        packet.h): Rename as signature_check2, make public, and change all
 
8409
        callers.
 
8410
 
 
8411
        * mainproc.c (check_sig_and_print, do_check_sig): Use status
 
8412
        EXPSIG for an expired, but good, signature.  Add the expiration
 
8413
        time (or 0) to the VALIDSIG status line.  Use status KEYEXPSIG for
 
8414
        a good signature from an expired key.
 
8415
 
 
8416
        * g10.c (main): remove checks for no arguments now that argparse
 
8417
        does it.
 
8418
 
 
8419
2002-04-06  Werner Koch  <wk@gnupg.org>
 
8420
 
 
8421
        * keyring.c (keyring_get_keyblock): Disable the keylist mode here.
 
8422
 
 
8423
        * encode.c (encode_simple, encode_crypt): Only test on compressed
 
8424
        files if a compress level was not explicity set.
 
8425
 
 
8426
        * keygen.c (keygen_set_std_prefs): Removed Blowfish and Twofish
 
8427
        from the list of default preferences, swapped the preferences of
 
8428
        RMD160 and SHA1.  Don't include a preference to 3DES unless the
 
8429
        IDEA kludge gets used.
 
8430
 
 
8431
        * free-packet.c (free_packet): call free_encrypted also for
 
8432
        PKT_ENCRYPTED_MDC.
 
8433
 
 
8434
        * compress.c (release_context): New.
 
8435
        (handle_compressed): Allocate the context and setup a closure to
 
8436
        release the context.  This is required because there is no
 
8437
        guarabntee that the filter gets popped from the chain at the end
 
8438
        of the function.  Problem noted by Timo and probably also the
 
8439
        cause for a couple of other reports.
 
8440
        (compress_filter): Use the release function if set.
 
8441
 
 
8442
        * tdbio.c [__CYGWIN32__]: Don't rename ftruncate.  Noted by
 
8443
        Disastry.
 
8444
 
 
8445
        * parse-packet.c (parse_signature): Put parens around a bit test.
 
8446
 
 
8447
        * exec.c (make_tempdir): Double backslash for TMP directory
 
8448
        creation under Windows.  Better strlen the DIRSEP_S constants for
 
8449
        allocation measurements.
 
8450
 
 
8451
        * decrypt.c (decrypt_messages): Release the passphrase aquired
 
8452
        by get_last_passphrase.
 
8453
 
 
8454
2002-04-02  Werner Koch  <wk@gnupg.org>
 
8455
 
 
8456
        * Makefile.am (EXTRA_DIST): Removed OPTIONS an pubring.asc - they
 
8457
        are no longer of any use.
 
8458
 
 
8459
2002-04-03  David Shaw  <dshaw@jabberwocky.com>
 
8460
 
 
8461
        * keyserver.c (parse_keyserver_options): fix auto-key-retrieve to
 
8462
        actually work as a keyserver-option (noted by Roger Sondermann).
 
8463
 
 
8464
        * keylist.c (reorder_keyblock): do not reorder the primary
 
8465
        attribute packet - the first user ID must be a genuine one.
 
8466
 
 
8467
2002-03-31  David Shaw  <dshaw@jabberwocky.com>
 
8468
 
 
8469
        * keylist.c (list_keyblock_colon): Fix ownertrust display with
 
8470
        --with-colons.
 
8471
 
 
8472
        * keygen.c (generate_user_id), photoid.c (generate_photo_id):
 
8473
        Properly initialize the user ID refcount.  A few more "y/n" ->
 
8474
        "y/N" in photoid.c.
 
8475
 
 
8476
        * keyedit.c (ask_revoke_sig): Warn the user if they are about to
 
8477
        revoke an expired sig (not a problem, but they should know).  Also
 
8478
        tweak a few prompts to change "y/n" to "y/N", which is how most
 
8479
        other prompts are written.
 
8480
 
 
8481
        * keyserver.c (keyserver_search_prompt): Control-d escapes the
 
8482
        keyserver search prompt.
 
8483
 
 
8484
        * pkclist.c (show_revocation_reason & callers): If a subkey is
 
8485
        considered revoked solely because the parent key is revoked, print
 
8486
        the revocation reason from the parent key.
 
8487
 
 
8488
        * trustdb.c (get_validity): Allow revocation/expiration to apply
 
8489
        to a uid/key with no entry in the trustdb.
 
8490
 
 
8491
2002-03-29  David Shaw  <dshaw@jabberwocky.com>
 
8492
 
 
8493
        * keyserver.c (printunquoted): unquote backslashes from keyserver
 
8494
        searches
 
8495
 
 
8496
        * hkp.c (write_quoted): quote backslashes from keyserver searches
 
8497
 
 
8498
2002-03-26  Werner Koch  <wk@gnupg.org>
 
8499
 
 
8500
        * keygen.c (ask_keysize): Removed the warning for key sizes > 1536.
 
8501
 
 
8502
2002-03-25  Werner Koch  <wk@gnupg.org>
 
8503
 
 
8504
        * keyedit.c (sign_uids): Use 2 strings and not a %s so that
 
8505
        translations can be done the right way.
 
8506
        * helptext.c: Fixed small typo.
 
8507
 
 
8508
2002-03-23  David Shaw  <dshaw@jabberwocky.com>
 
8509
 
 
8510
        * import.c (append_uid, merge_sigs): it is okay to import
 
8511
        completely non-signed uids now (with --allow-non-selfsigned-uid).
 
8512
 
 
8513
        * getkey.c (get_primary_uid, merge_selfsigs_main): do not choose
 
8514
        an attribute packet (i.e. photo) as primary uid.  This prevents
 
8515
        oddities like "Good signature from [image of size 2671]".  This is
 
8516
        still not perfect (one can still select an attribute packet as
 
8517
        primary in --edit), but is closer to the way the draft is going.
 
8518
 
 
8519
        * g10.c (build_list): algorithms should include 110.
 
8520
 
 
8521
        * g10.c (main): --pgp2 implies --no-ask-sig-expire and
 
8522
        --no-ask-cert-expire as those would cause a v4 sig/cert.
 
8523
 
 
8524
        * armor.c (is_armor_header): be more lenient in what constitutes a
 
8525
        valid armor header (i.e. -----BEGIN blah blah-----) as some
 
8526
        Windows programs seem to add spaces at the end.  --openpgp makes
 
8527
        it strict again.
 
8528
 
 
8529
2002-03-18  David Shaw  <dshaw@jabberwocky.com>
 
8530
 
 
8531
        * keyserver.c (keyserver_search_prompt): Properly handle a "no
 
8532
        keys found" case from the internal HKP code (external HKP is ok).
 
8533
        Also, make a COUNT -1 (i.e. streamed) keyserver response a little
 
8534
        more efficient.
 
8535
 
 
8536
        * g10.c (main): Add --no-allow-non-selfsigned-uid
 
8537
 
 
8538
2002-03-17  David Shaw  <dshaw@jabberwocky.com>
 
8539
 
 
8540
        * g10.c (main): --openpgp implies --allow-non-selfsigned-uid.
 
8541
 
 
8542
        * getkey.c (merge_selfsigs_main): If none of the uids are primary
 
8543
        (because none are valid) then pick the first to be primary (but
 
8544
        still invalid).  This is for cosmetics in case some display needs
 
8545
        to print a user ID from a non-selfsigned key.  Also use
 
8546
        --allow-non-selfsigned-uid to make such a key valid and not
 
8547
        --always-trust.  The key is *not* automatically trusted via
 
8548
        --allow-non-selfsigned-uid.
 
8549
 
 
8550
        * mainproc.c (check_sig_and_print): Make sure non-selfsigned uids
 
8551
        print [uncertain] on verification even though one is primary now.
 
8552
 
 
8553
        * getkey.c (merge_selfsigs): If the main key is not valid, then
 
8554
        neither are the subkeys.
 
8555
 
 
8556
        * import.c (import_one): Allow --allow-non-selfsigned-uid to work
 
8557
        on completely unsigned keys.  Print the uids in UTF8.  Remove
 
8558
        mark_non_selfsigned_uids_valid().
 
8559
 
 
8560
        * keyedit.c (show_key_with_all_names): Show revocation key as
 
8561
        UTF8.
 
8562
 
 
8563
        * sign.c (clearsign_file): Allow --not-dash-escaped to work with
 
8564
        v3 keys.
 
8565
 
 
8566
2002-03-14  Werner Koch  <wk@gnupg.org>
 
8567
 
 
8568
        * main.h: Changed the default algorithms to CAST5 and SHA1.
 
8569
 
 
8570
2002-03-13  David Shaw  <dshaw@jabberwocky.com>
 
8571
 
 
8572
        * import.c (chk_self_sigs): Show which user ID a bad self-sig
 
8573
        (invald sig or unsupported public key algorithm) resides on.
 
8574
 
 
8575
        * import.c (chk_self_sigs): any valid self-sig should mark a user
 
8576
        ID or subkey as valid - otherwise, an attacker could DoS the user
 
8577
        by inventing a bogus invalid self-signature.
 
8578
 
 
8579
2002-03-07  David Shaw  <dshaw@jabberwocky.com>
 
8580
 
 
8581
        * g10.c (main): make a few more strings translatable.
 
8582
 
 
8583
        * options.h, options.skel, g10.c (main), gpgv.c, mainproc.c
 
8584
        (check_sig_and_print), keyserver.c (parse_keyserver_options):
 
8585
        --auto-key-retrieve should really be a keyserver-option variable.
 
8586
 
 
8587
        * import.c (revocation_present): new function to print a warning
 
8588
        if a key is imported that has been revoked by designated revoker,
 
8589
        but the designated revoker is not present to verify the
 
8590
        revocation.  If keyserver-options auto-key-retrieve is set, try
 
8591
        and fetch the designated revoker from the keyserver.
 
8592
 
 
8593
        * import.c (import_one): call revocation_present after importing a
 
8594
        new key.  Note that this applies to --import, --recv-keys, and
 
8595
        --search-keys.
 
8596
 
 
8597
        * keyserver-internal.h, keyserver.c (keyserver_import_fprint):
 
8598
        import via fingerprint (for revocation keys).
 
8599
 
 
8600
        * keyserver.c (keyserver_import_keyid): much simpler
 
8601
        implementation now that we're using KEYDB_SEARCH_DESC internally.
 
8602
 
 
8603
2002-03-04  David Shaw  <dshaw@jabberwocky.com>
 
8604
 
 
8605
        * revoke.c (gen_revoke): do not prompt for revocation reason for
 
8606
        v3 revocations (unless force-v4-certs is on) since they wouldn't
 
8607
        be used anyway.
 
8608
 
 
8609
        * keyedit.c (menu_revsig): show the status of the sigs
 
8610
        (exportable? revocable?) to the user before prompting for which
 
8611
        sig to revoke.  Also, make sure that local signatures get local
 
8612
        revocations.
 
8613
 
 
8614
        * keyedit.c (ask_revoke_sig): remind the user which sigs are
 
8615
        local.
 
8616
 
 
8617
        * g10.c (main): Add "exec-path" variable to override PATH for
 
8618
        execing programs.
 
8619
 
 
8620
        * export.c (do_export_stream): properly check return code from
 
8621
        classify_user_id to catch unclassifiable keys.
 
8622
 
 
8623
2002-03-03  David Shaw  <dshaw@jabberwocky.com>
 
8624
 
 
8625
        * parse-packet.c (parse_signature): variable type tweak for RISC
 
8626
        OS (from Stefan)
 
8627
 
 
8628
2002-02-28  David Shaw  <dshaw@jabberwocky.com>
 
8629
 
 
8630
        * getkey.c (check_revocation_keys): New function to check a
 
8631
        revocation against a list of potential revocation keys.  Note the
 
8632
        loop-breaking code here.  This is to prevent blowing up if A is
 
8633
        B's revocation key, while B is also A's.  Note also that this is
 
8634
        written so that a revoked revoker can still issue revocations:
 
8635
        i.e. If A revokes B, but A is revoked, B is still revoked.  I'm
 
8636
        not completely convinced this is the proper behavior, but it
 
8637
        matches how PGP does it.  It does at least have the advantage of
 
8638
        much simpler code - my first version of this had lots of loop
 
8639
        maintaining code so you could chain revokers many levels deep and
 
8640
        if D was revoked, C was not, which meant that B was, and so on.
 
8641
        It was sort of scary, actually.
 
8642
 
 
8643
        * getkey.c (merge_selfsigs_main): Add any revocation keys onto the
 
8644
        pk.  This is particularly interesting since we normally only get
 
8645
        data from the most recent 1F signature, but you need multiple 1F
 
8646
        sigs to properly handle revocation keys (PGP does it this way, and
 
8647
        a revocation key could be marked "sensitive" and hence in a
 
8648
        different signature).  Also, if a pk has a revocation key set,
 
8649
        check for revocation sigs that were not made by us - if made by a
 
8650
        valid revocation key, mark the pk revoked.
 
8651
 
 
8652
        * packet.h, getkey.c (cache_public_key): do not cache key if
 
8653
        "dont_cache" is set.  This allows the revocation key code to look
 
8654
        up a key and return information that may be inaccurate to prevent
 
8655
        loops without caching the fake data.
 
8656
 
 
8657
        * packet.h, sig-check.c (do_signature_check): Record if a
 
8658
        signature was made by a revoked pk.
 
8659
 
 
8660
        * packet.h, parse-packet.c (parse_one_sig_subpkt,
 
8661
        can_handle_critical, parse_signature): Get revocation key
 
8662
        information out of direct sigs.
 
8663
 
 
8664
        * keylist.c (list_keyblock_print): don't assume that the presence
 
8665
        of a 0x20 signature means the key is revoked.  With revocation
 
8666
        keys, this may not be true if the revocation key is not around to
 
8667
        verify it or if verification failed.  Also, 0x1F should get listed
 
8668
        as "sig", and not "unexpected signature class".
 
8669
 
 
8670
        * keyedit.c (show_key_with_all_names): Add a flag for printing
 
8671
        revoker information and change all callers.
 
8672
 
 
8673
        * import.c (merge_blocks): merge in any new direct key (0x1F)
 
8674
        sigs.
 
8675
 
 
8676
        * import.c (import_revoke_cert): don't keep processing after a
 
8677
        revocation is rejected.
 
8678
 
 
8679
        * import.c (delete_inv_parts): Allow importing a revocation
 
8680
        signature even if it was not issued by the key.  This allows a
 
8681
        revocation key to issue it.  Of course, the sig still needs to be
 
8682
        checked before we trust it.
 
8683
 
 
8684
        * free-packet.c (copy_public_key): Include a new copy of the
 
8685
        revocation keys when duping a pk.
 
8686
 
 
8687
        * free-packet.c (free_seckey_enc, release_public_key_parts): Free
 
8688
        any revocation keys that are attached to a sig or pk.
 
8689
 
 
8690
        * export.c (do_export_stream): Do not export signatures with
 
8691
        "sensitive" revocation keys in them.
 
8692
 
 
8693
2002-02-27  David Shaw  <dshaw@jabberwocky.com>
 
8694
 
 
8695
        * export.c (do_export_stream): Do not include v3 keys in a
 
8696
        --export-secret-subkeys export.
 
8697
 
 
8698
        * getkey.c (merge_selfsigs_main): If a key isn't valid (say,
 
8699
        because of no self-signature), allow --always-trust to force it
 
8700
        valid so it can be trusted.
 
8701
 
 
8702
2002-02-25  David Shaw  <dshaw@jabberwocky.com>
 
8703
 
 
8704
        * hkp.c (hkp_ask_import), hkp.h, keyserver.c (all): treat key
 
8705
        lists internally as fingerprints when possible.  All this is via
 
8706
        KEYDB_SEARCH_DESC - no point in reinventing the wheel. This allows
 
8707
        the helper program to search the keyserver by fingerprint if
 
8708
        desired (and the keyserver supports it).  Note that automatic
 
8709
        fingerprint promotion during refresh only applies to v4 keys as a
 
8710
        v4 fingerprint can be easily changed into a long or short key id,
 
8711
        and a v3 cannot.
 
8712
 
 
8713
        * pubkey-enc.c, getkey.c, misc.c, main.h: Take two copies of
 
8714
        hextobyte() from pubkey-enc.c and getkey.c and make them into one
 
8715
        copy in misc.c.
 
8716
 
 
8717
2002-02-22  David Shaw  <dshaw@jabberwocky.com>
 
8718
 
 
8719
        * keyserver.c (keyserver_search_prompt): Detect a "no keys found"
 
8720
        case even if the helper program does not explicitly say how many
 
8721
        keys were found.
 
8722
 
 
8723
        * hkp.c (parse_hkp_index): Bug fix - don't report non-revoked keys
 
8724
        as revoked in HKP key searches.
 
8725
 
 
8726
2002-02-19  Werner Koch  <wk@gnupg.org>
 
8727
 
 
8728
        * parse-packet.c (parse_trust): Made parsing more robust.
 
8729
 
 
8730
2002-02-19  David Shaw  <dshaw@jabberwocky.com>
 
8731
 
 
8732
        * hkp.c (parse_hkp_index): Catch corruption in HKP index lines
 
8733
        (can be caused by broken or malicious keyservers).
 
8734
 
 
8735
        * keyserver.c (keyserver_work): Add KEYSERVER_NOT_SUPPORTED for
 
8736
        unsupported actions (say, a keyserver that has no way to search,
 
8737
        or a readonly keyserver that has no way to add).  Also add a
 
8738
        USE_EXTERNAL_HKP define to disable the internal HKP keyserver
 
8739
        code.
 
8740
 
 
8741
2002-02-14  Werner Koch  <wk@gnupg.org>
 
8742
 
 
8743
        * g10.c: New option --no-use-agent.
 
8744
 
 
8745
        * pkclist.c (check_signatures_trust): Always print the warning for
 
8746
        unknown and undefined trust.  Removed the did_add cruft.  Reported
 
8747
        by Janusz A. Urbanowicz.
 
8748
 
 
8749
2002-02-11  David Shaw  <dshaw@jabberwocky.com>
 
8750
 
 
8751
        * hkp.c (parse_hkp_index): Bug fix - properly handle user IDs with
 
8752
        colons (":") in them while HKP searching.
 
8753
 
 
8754
2002-02-09  David Shaw  <dshaw@jabberwocky.com>
 
8755
 
 
8756
        * misc.c (pct_expando): More comments.
 
8757
 
 
8758
        * keydb.h, sign.c (mk_notation_and_policy): Clarify what is a sig
 
8759
        and what is a cert.  A sig has sigclass 0x00, 0x01, 0x02, or 0x40,
 
8760
        and everything else is a cert.
 
8761
 
 
8762
        * g10.c (main), keyedit.c (keyedit_menu): Add a "nrlsign" for
 
8763
        nonrevocable and local key signatures.
 
8764
 
 
8765
        * g10.c (main): Add a --no-force-mdc to undo --force-mdc.
 
8766
 
 
8767
        * options.h, g10.c (main), cipher.c (write_header): Add a knob to
 
8768
        --disable-mdc/--no-disable-mdc.  Off by default, of course, but is
 
8769
        used in --pgp2 and --pgp6 modes.
 
8770
 
 
8771
        * pkclist.c (build_pk_list): Allow specifying multiple users in
 
8772
        the "Enter the user ID" loop.  Enter a blank line to stop.  Show
 
8773
        each key+id as it is added.
 
8774
 
 
8775
        * keylist.c (show_policy_url), mainproc.c (print_notation_data):
 
8776
        It is not illegal (though possibly silly) to have multiple policy
 
8777
        URLs in a given signature, so print all that are present.
 
8778
 
 
8779
        * hkp.c (hkp_search): More efficient implementation of URL-ifying
 
8780
        code.
 
8781
 
 
8782
2002-02-04  David Shaw  <dshaw@jabberwocky.com>
 
8783
 
 
8784
        * main.h, misc.c (pct_expando): New function to generalize
 
8785
        %-expando processing in any arbitrary string.
 
8786
 
 
8787
        * photoid.c (show_photo): Call the new pct_expando function rather
 
8788
        than expand strings internally.
 
8789
 
 
8790
        * sign.c (mk_notation_and_policy): Show policy URLs and notations
 
8791
        when making a signature if show-policy/show-notation is on.
 
8792
        %-expand policy URLs during generation.  This lets the user have
 
8793
        policy URLs of the form "http://notary.jabberwocky.com/keysign/%K"
 
8794
        which will generate a per-signature policy URL.
 
8795
 
 
8796
        * main.h, keylist.c (show_policy_url, show_notation): Add amount
 
8797
        to indent so the same function can be used in key listings as well
 
8798
        as during sig generation.  Change all callers.
 
8799
 
 
8800
2002-02-04  David Shaw  <dshaw@jabberwocky.com>
 
8801
 
 
8802
        * keyserver.c, options.h (parse_keyserver_options, keyidlist):
 
8803
        Workaround for the pksd and OKS keyserver bug that calculates v4
 
8804
        RSA keyids as if they were v3.  The workaround/hack is to fetch
 
8805
        both the v4 (e.g. 99242560) and v3 (e.g. 68FDDBC7) keyids.  This
 
8806
        only happens for key refresh while using the HKP scheme and the
 
8807
        refresh-add-fake-v3-keyids keyserver option must be set.  This
 
8808
        should stay off by default.
 
8809
 
 
8810
2002-02-03  David Shaw  <dshaw@jabberwocky.com>
 
8811
 
 
8812
        * keyserver.c (keyserver_spawn): Bug fix - do not append keys to
 
8813
        each other when --sending more than one.
 
8814
 
 
8815
2002-02-02  David Shaw  <dshaw@jabberwocky.com>
 
8816
 
 
8817
        * options.h, g10.c (main), keyedit.c (sign_uids), sign.c
 
8818
        (mk_notation_and_policy): Split "--set-policy-url" into
 
8819
        "--cert-policy-url" and "--sig-policy-url" so the user can set
 
8820
        different policies for key and data signing.  For backwards
 
8821
        compatibility, "--set-policy-url" sets both, as before.
 
8822
 
 
8823
2002-01-30  Werner Koch  <wk@gnupg.org>
 
8824
 
 
8825
        * g10.c (main): --gen-random --armor does now output a base64
 
8826
        encoded string.
 
8827
 
 
8828
2002-01-28  David Shaw  <dshaw@jabberwocky.com>
 
8829
 
 
8830
        * g10.c (main), options.h, pkclist.c (algo_available): --pgp6
 
8831
        flag.  This is not nearly as involved as --pgp2.  In short, it
 
8832
        turns off force_mdc, turns on no_comment, escape_from, and
 
8833
        force_v3_sigs, and sets compression to 1.  It also restricts the
 
8834
        user to IDEA (if present), 3DES, CAST5, MD5, SHA1, and RIPEMD160.
 
8835
        See the comments above algo_available() for lots of discussion on
 
8836
        why you would want to do this.
 
8837
 
 
8838
2002-01-27  David Shaw  <dshaw@jabberwocky.com>
 
8839
 
 
8840
        * keygen.c (keygen_set_std_prefs): Comment
 
8841
 
 
8842
        * keyedit.c (sign_uids): Bug fix - when signing with multiple
 
8843
        secret keys at the same time, make sure each key gets the sigclass
 
8844
        prompt.
 
8845
 
 
8846
        * exec.c (exec_finish): Close the iobuf and FILE before trying to
 
8847
        waitpid, so the remote process will get a SIGPIPE and exit.  This
 
8848
        is only a factor when using a pipe to communicate.
 
8849
 
 
8850
        * exec.c (exec_write): Disable cache-on-close of the fd iobuf (is
 
8851
        this right?  Why is a fd iobuf cached at all?)
 
8852
 
 
8853
2002-01-26  Werner Koch  <wk@gnupg.org>
 
8854
 
 
8855
        * g10.c, options.h: New option --gpg-agent-info
 
8856
        * passphrase.c (agent_open): Let it override the environment info.
 
8857
        * seckey-cert.c (check_secret_key): Always try 3 times when the
 
8858
        agent is enabled.
 
8859
        * options.skel: Describe --use-agent.
 
8860
 
 
8861
2002-01-24  David Shaw  <dshaw@jabberwocky.com>
 
8862
 
 
8863
        * pubkey-enc.c (is_algo_in_prefs, get_it): Only check preferences
 
8864
        against keys with v4 self sigs - there is really little point in
 
8865
        warning for every single non-IDEA message encrypted to an old key.
 
8866
 
 
8867
        * pkclist.c (select_algo_from_prefs): Only put in the fake IDEA
 
8868
        preference if --pgp2 is on.
 
8869
 
 
8870
        * mainproc.c (check_sig_and_print): Print "Expired" for expired
 
8871
        but good signatures (this still prints "BAD" for expired but bad
 
8872
        signatures).
 
8873
 
 
8874
2002-01-23  David Shaw  <dshaw@jabberwocky.com>
 
8875
 
 
8876
        * keygen.c (ask_keysize): Cosmetic: don't present a RSA signing
 
8877
        key as a "keypair" which can be 768 bits long (as RSA minimum is
 
8878
        1024).
 
8879
 
 
8880
        * pubkey-enc.c (is_algo_in_prefs): Allow IDEA as a fake preference
 
8881
        for v3 keys with v3 selfsigs.
 
8882
 
 
8883
2002-01-22  David Shaw  <dshaw@jabberwocky.com>
 
8884
 
 
8885
        * packet.h, getkey.c (merge_selfsigs_main), pkclist.c
 
8886
        (select_algo_from_prefs): Implement the fake IDEA preference as
 
8887
        per RFC2440:12.1.  This doesn't mean that IDEA will be used (the
 
8888
        plugin may not be present), but it does mean that a v3 key with a
 
8889
        v3 selfsig has an implicit IDEA preference instead of 3DES.  v3
 
8890
        keys with v4 selfsigs use preferences as normal.
 
8891
 
 
8892
        * encode.c (encode_crypt): if select_algo_from_prefs fails, this
 
8893
        means that we could not find a cipher that both keys like.  Since
 
8894
        all v4 keys have an implicit 3DES preference, this means there is
 
8895
        a v3 key with a v3 selfsig in the list.  Use 3DES in this case as
 
8896
        it is the safest option (we know the v4 key can handle it, and
 
8897
        we'll just hope the v3 key is being used in an implementation that
 
8898
        can handle it).  If --pgp2 is on, warn the user what we're doing
 
8899
        since it'll probably break PGP2 compatibility.
 
8900
 
 
8901
        * g10.c (main): Do not force using IDEA for encrypted files in
 
8902
        --pgp2 mode - let the fake IDEA preference choose this for us for
 
8903
        better compatibility when encrypting to multiple keys, only some
 
8904
        of which are v3.
 
8905
 
 
8906
        * keygen.c (keygen_set_std_prefs): Put 3DES on the end of the
 
8907
        default cipher pref list (RFC2440: "...it is good form to place it
 
8908
        there explicitly.").  If the user has the IDEA plugin installed,
 
8909
        put a preference for IDEA *after* 3DES to effectively disable its
 
8910
        use for everything except encrypting along with v3 keys.
 
8911
 
 
8912
        * encode.c, g10.c, sign.c: Change the PGP2 warning line from
 
8913
        "... will not be usable ..." to "... may not be usable ..." as the
 
8914
        user could be using one of the enhanced PGP2 variations.
 
8915
 
 
8916
        * helptext.c: Revise the sign_uid.class help text as suggested by
 
8917
        Stefan.
 
8918
 
 
8919
2002-01-20  Werner Koch  <wk@gnupg.org>
 
8920
 
 
8921
        * passphrase.c (passphrase_to_dek): Add tryagain_text arg to be
 
8922
        used with the agent.  Changed all callers.
 
8923
        (agent_get_passphrase): Likewise and send it to the agent
 
8924
        * seckey-cert.c (do_check): New arg tryagain_text.
 
8925
        (check_secret_key): Pass the string to do_check.
 
8926
        * keygen.c (ask_passphrase): Set the error text is required.
 
8927
        * keyedit.c (change_passphrase): Ditto.
 
8928
 
 
8929
        * passphrase.c (agent_open): Disable opt.use_agent in case of a
 
8930
        problem with the agent.
 
8931
        (agent_get_passphrase): Ditto.
 
8932
        (passphrase_clear_cache): Ditto.
 
8933
 
 
8934
2002-01-19  Werner Koch  <wk@gnupg.org>
 
8935
 
 
8936
        * passphrase.c (agent_open): Add support for the new Assuan based
 
8937
        gpg-agent.  New arg to return the used protocol version.
 
8938
        (agent_get_passphrase): Implemented new protocol here.
 
8939
        (passphrase_clear_cache): Ditto.
 
8940
        (readline): New.
 
8941
 
 
8942
2002-01-15  Timo Schulz  <ts@winpt.org>
 
8943
 
 
8944
        * encode.c (encode_crypt_files): Fail if --output is used.
 
8945
 
 
8946
        * g10.c: New command --decrypt-files.
 
8947
 
 
8948
        * decrypt.c (decrypt_messages): New.
 
8949
 
 
8950
2002-01-09  David Shaw  <dshaw@jabberwocky.com>
 
8951
 
 
8952
        * g10.c, misc.c, gpgv.c: move idea_cipher_warn to misc.c so gpgv.c
 
8953
        doesn't need a stub for it any longer.
 
8954
 
 
8955
        * g10.c (get_temp_dir), main.h: no longer used (it's in exec.c now)
 
8956
 
 
8957
        * g10.c (main), delkey.c (delete_keys), main.h : Allow
 
8958
        --delete-key (now --delete-keys, though --delete-key still works,
 
8959
        of course) to delete multiple keys in one go.  This applies to
 
8960
        --delete-secret-key(s) and --delete-secret-and-public-key(s) as
 
8961
        well.
 
8962
 
 
8963
2002-01-09  Timo Schulz  <ts@winpt.org>
 
8964
 
 
8965
        * encode.c (encode_crypt_files): Now it behaves like verify_files.
 
8966
 
 
8967
        * g10.c (main): We don't need to check argc for encode_crypt_files
 
8968
        any longer.
 
8969
 
 
8970
2002-01-09  Timo Schulz  <ts@winpt.org>
 
8971
 
 
8972
        * exec.c: Include windows.h for dosish systems.
 
8973
 
 
8974
2002-01-08  Timo Schulz  <ts@winpt.org>
 
8975
 
 
8976
        * g10.c (main): New description for --encrypt-files.
 
8977
 
 
8978
2002-01-08  Werner Koch  <wk@gnupg.org>
 
8979
 
 
8980
        * g10.c (main): Must register the secring for encryption because
 
8981
        it is needed to figure out the default recipient.  Reported by
 
8982
        Roger Sondermann.
 
8983
 
 
8984
2002-01-05  David Shaw  <dshaw@jabberwocky.com>
 
8985
 
 
8986
        * keyedit.c (menu_adduid): Require --expert before adding a photo
 
8987
        ID to a v3 key, and before adding a second photo ID to any key.
 
8988
 
 
8989
        * keyedit.c (keyedit_menu): Don't allow adding photo IDs in
 
8990
        rfc1991 or pgp2 mode.
 
8991
 
 
8992
        * getkey.c (merge_selfsigs_subkey): Permit v3 subkeys.  Believe it
 
8993
        or not, this is allowed by rfc 2440, and both PGP 6 and PGP 7 work
 
8994
        fine with them.
 
8995
 
 
8996
        * g10.c, options.h, keyedit.c, sign.c: Move the "ask for
 
8997
        expiration" switch off of --expert, which was getting quite
 
8998
        overloaded, and onto ask-sig-expire and ask-cert-expire.  Both
 
8999
        default to off.
 
9000
 
 
9001
        * g10.c (main): Change the default compression algo to 1, to be
 
9002
        more OpenPGP compliant (PGP also uses this, so it'll help with
 
9003
        interoperability problems as well).
 
9004
 
 
9005
        * encode.c (encode_crypt): Handle compression algo 2, since the
 
9006
        default is now 1.
 
9007
 
 
9008
        * build-packet.c (build_attribute_subpkt): Fix off-by-one error.
 
9009
 
 
9010
2002-01-05  Werner Koch  <wk@gnupg.org>
 
9011
 
 
9012
        * g10.c (main): Do not register the secret keyrings for certain
 
9013
        commands.
 
9014
 
 
9015
        * keydb.c (keydb_add_resource): Use access to test for keyring
 
9016
        existence.  This avoids cached opened files which are bad under
 
9017
        RISC OS.
 
9018
 
 
9019
2002-01-04  David Shaw  <dshaw@jabberwocky.com>
 
9020
 
 
9021
        * sign.c (sign_file, sign_symencrypt_file): always use one-pass
 
9022
        packets unless rfc1991 is enabled.  This allows a signature made
 
9023
        with a v3 key to work in PGP 6 and 7.  Signatures made with v4
 
9024
        keys are unchanged.
 
9025
 
 
9026
        * g10.c (main): Disallow non-detached signatures in PGP2 mode.
 
9027
        Move the "you must use files and not pipes" PGP2 warning up so all
 
9028
        the PGP2 stuff is together.
 
9029
 
 
9030
        * encode.c (encode_simple): Use the actual filesize instead of
 
9031
        partial length packets in the internal literal packet from a
 
9032
        symmetric message.  This breaks PGP5(?), but fixes PGP2, 6, and 7.
 
9033
        It's a decent tradeoff.  Note there was only an issue with
 
9034
        old-style RFC1991 symmetric messages.  2440-style messages in 6
 
9035
        and 7 work with or without partial length packets.
 
9036
 
 
9037
2002-01-03  David Shaw  <dshaw@jabberwocky.com>
 
9038
 
 
9039
        * g10.c (main): Removed --no-default-check-level option, as it is
 
9040
        not consistent with other "default" options.  Plus, it is the same
 
9041
        as saying --default-check-level 0.
 
9042
 
 
9043
        * exec.c (exec_read): Disallow caching tempfile from child
 
9044
        process, as this keeps the file handle open and can cause unlink
 
9045
        problems on some platforms.
 
9046
 
 
9047
        * keyserver.c (keyserver_search_prompt): Minor tweak - don't
 
9048
        bother to transform keyids into textual form if they're just going
 
9049
        to be transformed back to numbers.
 
9050
 
 
9051
2002-01-03  Timo Schulz <ts@winpt.org>
 
9052
 
 
9053
        * g10.c: New command --encrypt-files.
 
9054
 
 
9055
        * verify.c (print_file_status): Removed the static because
 
9056
        encode_crypt_files also uses this function.
 
9057
 
 
9058
        * main.h (print_files_status): New.
 
9059
        (encode_crypt_files): New.
 
9060
 
 
9061
        * encode.c (encode_crypt_files): New.
 
9062
 
 
9063
2002-01-02  Stefan Bellon  <sbellon@sbellon.de>
 
9064
 
 
9065
        * keyserver.c: Moved util.h include down in order to avoid
 
9066
        redefinition problems on RISC OS.
 
9067
 
 
9068
        * keyring.c (keyring_lock): Only lock keyrings that are writable.
 
9069
 
 
9070
        * keyring.c (keyring_update_keyblock): Close unused iobuf.
 
9071
 
 
9072
        * hkp.c (parse_hkp_index, hkp_search) [__riscos__]: Changed
 
9073
        unsigned char* to char* because of compiler issues.
 
9074
 
 
9075
        * exec.c (exec_finish) [__riscos__]: Invalidate close cache so
 
9076
        that file can be unlinked.
 
9077
 
 
9078
2001-12-28  David Shaw  <dshaw@jabberwocky.com>
 
9079
 
 
9080
        * g10.c (main): Use a different strlist to check extensions since
 
9081
        they need to be handled seperately now.
 
9082
 
 
9083
        * misc.c,main.h (check_permissions): Properly handle permission
 
9084
        and ownership checks on files in the lib directory
 
9085
        (e.g. /usr/local/lib/gnupg), which are owned by root and are
 
9086
        world-readable, and change all callers to specify extension or
 
9087
        per-user file.
 
9088
 
 
9089
        * photoid.c (show_photo), keyserver.c (keyserver_spawn): Bug fix -
 
9090
        don't call exec_finish if exec_write fails.
 
9091
 
 
9092
        * keyserver.c (keyserver_spawn): Look for OPTIONS from the
 
9093
        keyserver helper - specifically, a "OUTOFBAND" option for the
 
9094
        email keyserver.
 
9095
 
 
9096
        * mainproc.c (list_node), keylist.c (list_keyblock_colon),
 
9097
        import.c (delete_inv_parts), export.c (do_export_stream): Use
 
9098
        signature flags for exportability check rather than re-parsing the
 
9099
        subpacket.
 
9100
 
 
9101
        * keyid.c, keydb.h (get_lsign_letter): No longer needed.
 
9102
 
 
9103
2001-12-27  David Shaw  <dshaw@jabberwocky.com>
 
9104
 
 
9105
        * exec.c (exec_finish): Show errors when temp files cannot be
 
9106
        deleted for whatever reason.
 
9107
 
 
9108
        * exec.c (exec_read): Don't rely on WEXITSTATUS being present.
 
9109
 
 
9110
        * exec.c (make_tempdir): Add temp file creator for win32.  Don't
 
9111
        create an incoming temp file if the exec is write-only.
 
9112
 
 
9113
        * keyserver.c (keyserver_spawn): Clean up error handling, for when
 
9114
        the spawn fails.
 
9115
 
 
9116
        * photoid.c (show_photo): Clean up error handling.
 
9117
 
 
9118
        * misc.c (check_permissions): Neaten.
 
9119
 
 
9120
2001-12-25  David Shaw  <dshaw@jabberwocky.com>
 
9121
 
 
9122
        * mkdtemp.c (mkdtemp): Add copyleft info and tweak the 'X' counter
 
9123
        to be a bit simpler.
 
9124
 
 
9125
        * keyserver.c, photoid.c: Remove unused headers left over from
 
9126
        when the exec functions lived there.
 
9127
 
 
9128
2001-12-23  Timo Schulz <ts@winpt.org>
 
9129
 
 
9130
        * misc.c (check_permissions): Do not use it for W32 systems.
 
9131
 
 
9132
        * tdbio.c (migrate_from_v2): Define ftruncate as chsize() for W32.
 
9133
 
 
9134
        * mkdtemp.c: W32 support.
 
9135
 
 
9136
        * photoid.c: Ditto.
 
9137
 
 
9138
        * exec.c: Ditto.
 
9139
 
 
9140
2001-12-22  David Shaw  <dshaw@jabberwocky.com>
 
9141
 
 
9142
        * exec.c (make_tempdir): avoid compiler warning with const
 
9143
 
 
9144
        * mkdtemp.c (mkdtemp): catch the empty ("") string case in case
 
9145
        someone repurposes mkdtemp at some point.
 
9146
 
 
9147
        * photoid.c (generate_photo_id, show_photo): some type changes
 
9148
        from Stefan Bellon.
 
9149
 
 
9150
        * exec.c (make_tempdir): handle Win32 systems, suggested by Timo
 
9151
        Schulz.
 
9152
 
 
9153
2001-12-22  Werner Koch  <wk@gnupg.org>
 
9154
 
 
9155
        * encode.c (encode_simple, encode_crypt): i18n 2 strings.
 
9156
 
 
9157
2001-12-22  Timo Schulz <ts@winpt.org>
 
9158
 
 
9159
        * encode.c (encode_simple, encode_crypt): Use is_file_compressed
 
9160
        to avoid to compress compressed files.
 
9161
 
 
9162
2001-12-22  Werner Koch  <wk@gnupg.org>
 
9163
 
 
9164
        * keyserver.c (keyserver_spawn): Removed some variables
 
9165
        declaration due to shadowing warnings.
 
9166
 
 
9167
        * build-packet.c (build_attribute_subpkt): s/index/idx/ to avoid
 
9168
        compiler warnig due to index(3).
 
9169
 
 
9170
        * getkey.c (get_ctx_handle): Use KEYDB_HANDLE as return value.
 
9171
        * keylist.c (list_one): Made resname const.
 
9172
 
 
9173
        * keyedit.c (keyedit_menu): Allow "addphoto" only when --openpgp is
 
9174
        not used.
 
9175
 
 
9176
        * options.skel: Changed one example photo viewer to qiv.
 
9177
 
 
9178
2001-12-21  David Shaw  <dshaw@jabberwocky.com>
 
9179
 
 
9180
        * Makefile.am: add exec.c, exec.h, photoid.c, and photoid.h
 
9181
 
 
9182
        * build-packet.c (build_attribute_subpkt): new function to build
 
9183
        the raw attribute subpacket.  Note that attribute subpackets have
 
9184
        the same format as signature subpackets.
 
9185
 
 
9186
        * exec.c: new file with generic exec-a-program functionality.
 
9187
        Used by both photo IDs and keyserver helpers.  This is pretty much
 
9188
        the same code that used to be keyserver specific, with some
 
9189
        changes to be usable generically.
 
9190
 
 
9191
        * free-packet.c (free_attributes (new)): function to free an
 
9192
        attribute packet.
 
9193
 
 
9194
        * gpgv.c: added stub show_photo
 
9195
 
 
9196
        * keyedit.c (keyedit_menu, menu_adduid, menu_showphoto): can add a
 
9197
        photo (calls generate_photo_id), or display a photo (calls
 
9198
        show_photo) from the --edit menu.  New commands are "addphoto",
 
9199
        and "delphoto" (same as "deluid").
 
9200
 
 
9201
        * keylist.c (list_keyblock_print): show photos during key list if
 
9202
        --show-photos enabled.
 
9203
 
 
9204
        * keyserver.c (keyserver_spawn): use the generic exec_xxx
 
9205
        functions to call keyserver helper.
 
9206
 
 
9207
        * g10.c, options.h: three new options - --{no-}show-photos, and
 
9208
        --photo-viewer to give the command line to display a picture.
 
9209
 
 
9210
        * options.skel: instructions for the photo viewer
 
9211
 
 
9212
        * parse-packet.c (parse_user_id, setup_user_id (new)): common code
 
9213
        for both user IDs and attribute IDs moved to setup_user_id.
 
9214
 
 
9215
        * parse-packet.c (make_attribute_uidname (new)): constructs a fake
 
9216
        "name" for attribute packets (e.g. "[image of size ...]")
 
9217
 
 
9218
        * parse-packet.c (parse_attribute (replaces parse_photo_id),
 
9219
        parse_attribute_subpkts): Builds an array of individual
 
9220
        attributes.  Currently only handles attribute image / type jpeg
 
9221
        subpackets.
 
9222
 
 
9223
        * sign.c (hash_uid): Fix bug in signing attribute (formerly
 
9224
        photo_id) packets.
 
9225
 
 
9226
        * packet.h, and callers: globally change "photo_id" to "attribute"
 
9227
        and add structures for attributes.  The packet format is generic
 
9228
        attributes, even though the only attribute type thus far defined
 
9229
        is jpeg.
 
9230
 
 
9231
2001-12-21  David Shaw  <dshaw@jabberwocky.com>
 
9232
 
 
9233
        * parse-packet.c (can_handle_critical): Can handle critical
 
9234
        revocation subpackets now.
 
9235
 
 
9236
        * trustdb.c (mark_usable_uid_certs): Disregard revocations for
 
9237
        nonrevocable sigs.  Note that this allows a newer revocable
 
9238
        signature to override an older nonrevocable signature.
 
9239
 
 
9240
        * sign.c (make_keysig_packet): add a duration field and change all
 
9241
        callers.  This makes make_keysig_packet closer to
 
9242
        write_signature_packets and removes some duplicated expiration
 
9243
        code.
 
9244
 
 
9245
        * keyedit.c (keyedit_menu, menu_revsig, sign_uids,
 
9246
        sign_mk_attrib): Add nrsign command, don't allow revoking a
 
9247
        nonrevocable signature,
 
9248
 
 
9249
        * g10.c (main): Add --nrsign option to nonrevocably sign a key
 
9250
        from the command line.
 
9251
 
 
9252
        * build-packet.c (build_sig_subpkt_from_sig): Comment to explain
 
9253
        the use of CRITICAL.
 
9254
 
 
9255
2001-12-21  Werner Koch  <wk@gnupg.org>
 
9256
 
 
9257
        * g10.c. options.h : New option --show-keyring
 
9258
        * getkey.c (get_ctx_handle): New.
 
9259
        * keylist.c (list_one): Implement option here.  By David Champion.
 
9260
 
 
9261
2001-12-20  David Shaw  <dshaw@jabberwocky.com>
 
9262
 
 
9263
        * keyserver.c (keyserver_spawn): Use mkdtemp() to make temp
 
9264
        directory.
 
9265
 
 
9266
        * mkdtemp.c: replacement function for those platforms that don't
 
9267
        have mkdtemp (make a temp directory securely).
 
9268
 
 
9269
2001-12-19  David Shaw  <dshaw@jabberwocky.com>
 
9270
 
 
9271
        * misc.c (check_permissions): New function to stat() and ensure
 
9272
        the permissions of GNUPGHOME and the files have safe permissions.
 
9273
 
 
9274
        * keydb.c (keydb_add_resource): Check keyring permissions.
 
9275
 
 
9276
        * tdbio.c (tdbio_set_dbname): Check permissions of trustdb.gpg
 
9277
 
 
9278
        * keyserver.c (keyserver_spawn): Disable keyserver schemes that
 
9279
        involve running external programs if the options file has unsafe
 
9280
        permissions or ownership.
 
9281
 
 
9282
        * g10.c, options.h: New option --no-permission-warning to disable
 
9283
        the permission warning message(s).  This also permits use of the
 
9284
        keyserver if it had been disabled (see above).  Also check the
 
9285
        permissions/ownership of random_seed.
 
9286
 
 
9287
        * keyserver.c (keyserver_spawn): The new glibc prints a warning
 
9288
        when using mktemp() (the code was already secure, but the warning
 
9289
        was bound to cause confusion).  Use a different implementation
 
9290
        based on get_random_bits() instead.  Also try a few times to get
 
9291
        the temp dir before giving up.
 
9292
 
 
9293
2001-12-19  Werner Koch  <wk@gnupg.org>
 
9294
 
 
9295
        * g10.c, passphrase.c [CYGWIN32]: Allow this as an alias for MINGW32.
 
9296
 
 
9297
2001-12-18  David Shaw  <dshaw@jabberwocky.com>
 
9298
 
 
9299
        * g10.c (idea_cipher_warn): Add a flag to show the warning always
 
9300
        or once per session and change all callers (show always except for
 
9301
        the secret key protection and unknown cipher from an encrypted
 
9302
        message errors).  Also make the strings translatable.
 
9303
 
 
9304
        * pubkey-enc.c (get_it): Add the IDEA cipher warning if the user
 
9305
        tries to decrypt an IDEA encrypted message without the IDEA
 
9306
        plugin.
 
9307
 
 
9308
        * keyserver.c (parse_keyserver_uri): More strict checking of the
 
9309
        keyserver URI.  Specifically, fail if the ":port" section is
 
9310
        anything except a number between 1 and 65535.
 
9311
 
 
9312
2001-12-17  David Shaw  <dshaw@jabberwocky.com>
 
9313
 
 
9314
        * keyserver.c (print_keyinfo): No need to check for
 
9315
        control/illegal characters, as utf8_to_native does this for us.
 
9316
 
 
9317
        * mainproc.c (proc_encrypted): Use generic IDEA warning.
 
9318
 
 
9319
        * gpgv.c: add stub for idea_cipher_warn
 
9320
 
 
9321
        * g10.c, hkp.c, keyserver.c: Fix capitalization and plural issues.
 
9322
 
 
9323
        * encode.c (encode_crypt), sign.c (sign_file, clearsign_file):
 
9324
        disable pgp2 mode after the message is no longer pgp2 compatible.
 
9325
 
 
9326
        * g10.c (main): Tweak the PGP2.x IDEA warning to use the generic
 
9327
        warning, and not merely fail if the IDEA plugin isn't there.
 
9328
 
 
9329
        * g10.c (main, idea_cipher_warn), keygen.c (set_one_pref),
 
9330
        seckey-cert.c (do_check): Add a generic IDEA warning for when the
 
9331
        IDEA plugin is not present.  This pops up when the user uses
 
9332
        "--cipher-algo idea", when setpref is used to set a "S1"
 
9333
        preference, and when a secret key protected with IDEA is used.
 
9334
 
 
9335
2001-12-15  Werner Koch  <wk@gnupg.org>
 
9336
 
 
9337
        * keyserver.c (keyserver_spawn): Assert that we have dropped privs.
 
9338
 
 
9339
2001-12-13  Werner Koch  <wk@gnupg.org>
 
9340
 
 
9341
        * pubkey-enc.c (get_session_key): Check that the public key
 
9342
        algorithm is indeed usable for en/decryption.  This avoid a
 
9343
        strange error message from pubkey_decrypt if for some reasons a
 
9344
        bad algorithm indentifier is passed.
 
9345
 
 
9346
2001-12-12  David Shaw  <dshaw@jabberwocky.com>
 
9347
 
 
9348
        * Fixed some types for portability.  Noted by Stefan Bellon.
 
9349
 
 
9350
2001-12-11  Werner Koch  <wk@gnupg.org>
 
9351
 
 
9352
        * hkp.c (hkp_export): Do not print possible control characters
 
9353
        from a keyserver response.
 
9354
        (parse_hkp_index): Made uid an unsigned char* because it is passed to
 
9355
        isspace().
 
9356
        (hkp_search): Ditto for the char* vars.
 
9357
 
 
9358
        * g10.c (main): Print the IDEA warning also for -c and -se.
 
9359
 
 
9360
        * g10.c (get_temp_dir): Assert that we have dropped privs
 
9361
 
 
9362
        * encode.c (encode_crypt): Include the first key into the --pgp2
 
9363
        check.
 
9364
 
 
9365
2001-12-07  David Shaw  <dshaw@jabberwocky.com>
 
9366
 
 
9367
        * g10.c, options.h: New option --pgp2.  This is identical to
 
9368
        "--rfc1991 --cipher-algo idea --compress-algo 1 --digest-algo md5
 
9369
        --force_v3_sigs" with the addition of an warning to advise the
 
9370
        user not to use a pipe (which would break pgp2 compatibility).
 
9371
 
 
9372
        * encode.c (encode_crypt): warn if the user tries to encrypt to
 
9373
        any key that is not RSA and <= 2048 bits when the --pgp2 option is
 
9374
        used.
 
9375
 
 
9376
        * sign.c (sign_file, clearsign_file): When using --pgp2, make a v3
 
9377
        sig, and warn if the signature is made with a non-v3 key.
 
9378
 
 
9379
2001-12-05  David Shaw  <dshaw@jabberwocky.com>
 
9380
 
 
9381
        * sign.c (sign_file, clearsign_file, sign_symencrypt_file): Prompt
 
9382
        for sig expiration if --expert is set and --force-v3-sigs is not
 
9383
        set (v3 sigs cannot expire).
 
9384
 
 
9385
        * mainproc.c (check_sig_and_print): After checking a sig, print
 
9386
        expiration status.  This causes a error return if the sig is
 
9387
        expired.
 
9388
 
 
9389
        * build-packet.c (build_sig_subpkt_from_sig): Include a critical
 
9390
        sig expiration subpacket if the sig is to expire.
 
9391
 
 
9392
        * keyedit.c (sign_uids): Do not sign an expired key unless
 
9393
        --expert is set, in which case prompt.  Also, offer to expire a
 
9394
        signature when the key the user is signing expires.
 
9395
 
 
9396
        * keygen.c (ask_expire_interval): Add a value to determine whether
 
9397
        to prompt for a key or sig expiration and change all callers.
 
9398
 
 
9399
        * keyid.c: New functions: expirestr_from_sig and
 
9400
        colon_expirestr_from_sig.
 
9401
 
 
9402
        * keylist.c (list_keyblock_colon): Show sig expiration date in the
 
9403
        --with-colons listing.
 
9404
 
 
9405
        * sign.c (make_keysig_packet, write_signature_packets): Pass in an
 
9406
        optional timestamp for the signature packet, and change all
 
9407
        callers.
 
9408
 
 
9409
        * keyedit.c (sign_mk_attrib): Include a critical expiration
 
9410
        subpacket in the signature if an expiration date is given.
 
9411
 
 
9412
2001-12-04  David Shaw  <dshaw@jabberwocky.com>
 
9413
 
 
9414
        * keyedit.c (sign_uids): If the user tries to sign a
 
9415
        locally-signed key, allow the cert to be promoted to a full
 
9416
        exportable signature.  This essentially deletes the old
 
9417
        non-exportable sig, and replaces it with a new exportable one.
 
9418
 
 
9419
2001-12-04  David Shaw  <dshaw@jabberwocky.com>
 
9420
 
 
9421
        * keyedit.c (keyedit_menu): Do not allow signing a revoked key
 
9422
        unless --expert is set, and ask even then.
 
9423
 
 
9424
        * keyedit.c (sign_uids): Do not allow signing a revoked UID unless
 
9425
        --expert is set, and ask even then.
 
9426
 
 
9427
        * g10.c, options.h : New option --expert
 
9428
 
 
9429
2001-11-16  David Shaw  <dshaw@jabberwocky.com>
 
9430
 
 
9431
        * Allow the user to select no compression via "--compress-algo 0"
 
9432
        on the command line.
 
9433
 
 
9434
        * keyedit.c (show_prefs): Show compression preferences in the
 
9435
        long-form "showpref" style.
 
9436
 
 
9437
        * keygen.c (set_one_pref): Permit setting a no-compression ("Z0")
 
9438
        preference.
 
9439
 
 
9440
        * getkey.c (fixup_uidnode): Fix compression preference corruption
 
9441
        bug.
 
9442
 
 
9443
2001-12-02  David Shaw  <dshaw@jabberwocky.com>
 
9444
 
 
9445
        * g10.c: Add advisory --for-your-eyes-only option as per section
 
9446
        5.9 of 2440.
 
9447
 
 
9448
2001-12-05  David Shaw  <dshaw@jabberwocky.com>
 
9449
 
 
9450
        * Force a V4 sig if the user has a notation or policy URL set.
 
9451
 
 
9452
2001-12-04  David Shaw  <dshaw@jabberwocky.com>
 
9453
 
 
9454
        * g10.c: Add options --keyserver-options, --temp-directory, and
 
9455
        auto-key-retrieve (the opposite of no-auto-key-retrieve).
 
9456
 
 
9457
        * hkp.c (hkp_search): New function to handle searching a HKP
 
9458
        keyserver for a key
 
9459
 
 
9460
        * hkp.c (hkp_ask_import, hkp_export): Pretty large changes to make
 
9461
        them communicate via the generic functions in keyserver.c
 
9462
 
 
9463
        * keyserver.c: new file with generic keyserver routines for
 
9464
        getting keys from a keyserver, sending keys to a keyserver, and
 
9465
        searching for keys on a keyserver.  Calls the internal HKP stuff
 
9466
        in hkp.c for HKP keyserver functions.  Other calls are handled by
 
9467
        an external program which is spawned and written to and read from
 
9468
        via pipes.  Platforms that don't have pipes use temp files.
 
9469
 
 
9470
2001-11-20  David Shaw  <dshaw@jabberwocky.com>
 
9471
 
 
9472
        * options.h, g10.c: New options show-notation, no-show-notation,
 
9473
        default-check-level, no-default-check-level, show-policy-url,
 
9474
        no-show-policy-url.
 
9475
 
 
9476
        * packet.h, sign.c (make_keysig_packet), parse-packet.c
 
9477
        (parse_signature), free-packet.c (free_seckey_enc): Fill in
 
9478
        structures for notation, policy, sig class, exportability, etc.
 
9479
 
 
9480
        * keyedit.c, keylist.c (print_and_check_one_sig,
 
9481
        list_keyblock_print): Show flags in signature display for cert
 
9482
        details (class, local, notation, policy, revocable).  If selected,
 
9483
        show the notation and policy url.
 
9484
 
 
9485
        * keyedit.c (sign_uids): Prompt for and use different key sig
 
9486
        classes.
 
9487
 
 
9488
        * helptext.c (helptexts): Add help text to explain different
 
9489
        key signature classes
 
9490
 
 
9491
2001-11-26  David Shaw  <dshaw@jabberwocky.com>
 
9492
 
 
9493
        * trustdb.c (mark_usable_uid_certs): Fix segfault from bad
 
9494
        initialization and fix reversed key signature expiration check.
 
9495
 
 
9496
2001-11-09  Werner Koch  <wk@gnupg.org>
 
9497
 
 
9498
        * export.c (do_export_stream): Put all given names into a search
 
9499
        description and change the loop so that all matching names are
 
9500
        returned.
 
9501
 
 
9502
2001-11-08  Werner Koch  <wk@gnupg.org>
 
9503
 
 
9504
        * pubkey-enc.c (get_it): To reduce the number of questions on the
 
9505
        MLs print the the name of cipher algorithm 1 with the error message.
 
9506
 
 
9507
        * mainproc.c: Changed the way old rfc1991 encryption cipher is
 
9508
        selected. Based on a patch by W Lewis.
 
9509
 
 
9510
        * pkclist.c (do_edit_ownertrust): Allow to skip over keys, the non
 
9511
        working "show info" is now assigned to "i"
 
9512
        * trustdb.c (ask_ownertrust, validate_keys): Implement a real quit
 
9513
        here.  Both are by David Shaw.
 
9514
 
 
9515
        * trustdb.c (validate_keys): Make sure next_exipire is initialized.
 
9516
 
 
9517
        * sign.c (make_keysig_packet): Use SHA-1 with v4 RSA keys.
 
9518
 
 
9519
        * g10.c, options.h : New option --[no-]froce-v4-certs.
 
9520
        * sign.c (make_keysig_packet): Create v4 sigs on v4 keys even with
 
9521
        a v3 key.  Use that new option.  By David Shaw
 
9522
 
 
9523
        * revoke.c (ask_revocation_reason): Allow to select "no reason".
 
9524
        By David Shaw.
 
9525
 
 
9526
        * keyid.c (fingerprint_from_sk): Calculation of an v3 fpr was
 
9527
        plain wrong - nearly the same code in fingerprint_from_pk is correct.
 
9528
 
 
9529
        * build-packet.c (do_secret_key): Added a few comments to the code.
 
9530
 
 
9531
2001-11-07  Werner Koch  <wk@gnupg.org>
 
9532
 
 
9533
        * g10.c (main): Print a warning when -r is used w/o encryption.
 
9534
        Suggested by Pascal Scheffers.
 
9535
 
 
9536
2001-10-23  Werner Koch  <wk@gnupg.org>
 
9537
 
 
9538
        * keyedit.c (keyedit_menu): Changed helptext for showpref
 
9539
        command.  Suggested by Reinhard Wobst.
 
9540
 
 
9541
        * keyring.c (keyring_search): When marking the offtbl ready, take
 
9542
        into account that we may have more than one keyring.
 
9543
 
 
9544
2001-10-22  Werner Koch  <wk@gnupg.org>
 
9545
 
 
9546
        * Makefile.am: Do not use OMIT_DEPENDENCIES
 
9547
 
 
9548
        * build-packet.c (build_sig_subpkt): Default is now to put all
 
9549
        types of subpackets into the hashed area and only list those which
 
9550
        should go into the unhashed area.
 
9551
 
 
9552
2001-10-18  Werner Koch  <wk@gnupg.org>
 
9553
 
 
9554
        * keydb.c (keydb_add_resource): Rearranged the way we keep track
 
9555
        of the resource. There will now be an entry for each keyring here
 
9556
        and not in keyring.c itself.  Store a token to allow creation of a
 
9557
        keyring handle.  Changed all functions to utilize this new design.
 
9558
        (keydb_locate_writable): Make a real implementation.
 
9559
        * keyring.c (next_kr): Removed and changed all callers to set the
 
9560
        resource directly from the one given with the handle.
 
9561
        (keyring_is_writable): New.
 
9562
        (keyring_rebuild_cache): Add an arg to pass the token from keydb.
 
9563
 
 
9564
2001-10-17  Werner Koch  <wk@gnupg.org>
 
9565
 
 
9566
        * keyring.c (keyring_search): Enabled word search mode but print a
 
9567
        warning that it is buggy.
 
9568
 
 
9569
2001-10-11  Werner Koch  <wk@gnupg.org>
 
9570
 
 
9571
        * hkp.c (hkp_ask_import): No more need to set the port number for
 
9572
        the x-hkp scheme.
 
9573
        (hkp_export): Ditto.
 
9574
 
 
9575
2001-10-06  Stefan Bellon  <sbellon@sbellon.de>
 
9576
 
 
9577
        * passphrase.c [__riscos__]: Disabled agent specific stuff.
 
9578
        * g10.c: New option --no-force-v3-sigs.
 
9579
 
 
9580
2001-10-04  Werner Koch  <wk@gnupg.org>
 
9581
 
 
9582
        * export.c (do_export_stream): Do not push the compress filter
 
9583
        here because the context would run out of scope due to the
 
9584
        iobuf_close done by the caller.
 
9585
        (do_export): Do it here instead.
 
9586
 
 
9587
2001-09-28  Werner Koch  <wk@gnupg.org>
 
9588
 
 
9589
        * keyedit.c (sign_uids): Always use the primary key to sign keys.
 
9590
        * getkey.c (finish_lookup): Hack to return only the primary key if
 
9591
        a certification key has been requested.
 
9592
 
 
9593
        * trustdb.c (cmp_kid_for_make_key_array): Renamed to
 
9594
        (validate_one_keyblock): this and changed arg for direct calling.
 
9595
        (make_key_array): Renamed to
 
9596
        (validate_one_keyblock): this and changed args for direct calling.
 
9597
        (mark_usable_uid_certs, validate_one_keyblock)
 
9598
        (validate_key_list): Add next_expire arg to keep track of
 
9599
        expiration times.
 
9600
        (validate_keys): Ditto for UTKs and write the stamp.
 
9601
 
 
9602
        * tdbio.c (migrate_from_v2): Check return code of tbdio_sync.
 
9603
 
 
9604
        * tdbdump.c (import_ownertrust): Do a tdbio_sync().
 
9605
 
 
9606
        * keyring.c: Made the offtbl an global object.
 
9607
 
 
9608
2001-09-27  Werner Koch  <wk@gnupg.org>
 
9609
 
 
9610
        * pkclist.c (do_edit_ownertrust): Allow settin of ultimate trust.
 
9611
 
 
9612
        * trustdb.c (mark_keyblock_seen): New.
 
9613
        (make_key_array): Use it to mark the subkeys too.
 
9614
        (validate_keys): Store validity for ultimatly trusted keys.
 
9615
 
 
9616
2001-09-26  Werner Koch  <wk@gnupg.org>
 
9617
 
 
9618
        * pkclist.c (check_signatures_trust, do_we_trust): Removed the
 
9619
        invocation of add_ownertrust. Minor changes to the wording.
 
9620
        (add_ownertrust, add_ownertrust_cb): Removed.
 
9621
 
 
9622
        * trustdb.c (get_validity): Allow to lookup the validity using a
 
9623
        subkey.
 
9624
 
 
9625
        * trustdb.c (new_key_hash_table): Increased the table size to 1024
 
9626
        and changed the masks accordingly.
 
9627
        (validate): Changed stats printing.
 
9628
        (mark_usable_uid_certs): New.
 
9629
        (cmp_kid_for_make_key_array): Does now check the signatures and
 
9630
        figures out a usable one.
 
9631
 
 
9632
2001-09-25  Werner Koch  <wk@gnupg.org>
 
9633
 
 
9634
        * keyring.c (new_offset_item,release_offset_items)
 
9635
        (new_offset_hash_table, lookup_offset_hash_table)
 
9636
        (update_offset_hash_table, update_offset_hash_table_from_kb): New.
 
9637
        (keyring_search): Use a offset table to optimize search for
 
9638
        unknown keys.
 
9639
        (keyring_update_keyblock, keyring_insert_keyblock): Insert new
 
9640
        offsets.
 
9641
        * getkey.c (MAX_UNK_CACHE_ENTRIES): Removed the unknown keys
 
9642
        caching code.
 
9643
 
 
9644
        * g10.c, options.h, import.c: Removed the entire
 
9645
        allow-secret-key-import stuff because the validity is now
 
9646
        controlled by other means.
 
9647
 
 
9648
        * g10.c: New command --rebuild-keydb-caches.
 
9649
        * keydb.c (keydb_rebuild_caches): New.
 
9650
        * keyring.c (do_copy): Moved some code to
 
9651
        (create_tmp_file, rename_tmp_file, write_keyblock): new functions.
 
9652
        (keyring_rebuild_cache): New.
 
9653
 
 
9654
        * packet.h (PKT_ring_trust): Add sigcache field.
 
9655
        * parse-packet.c (parse_trust): Parse sigcache.
 
9656
        * keyring.c (do_copy): Always insert a sigcache packet.
 
9657
        (keyring_get_keyblock): Copy the sigcache packet to the signature.
 
9658
        * sig-check.c (cache_sig_result): Renamed from
 
9659
        cache_selfsig_result. Changed implementation to use the flag bits
 
9660
        and changed all callers.
 
9661
        (mdc_kludge_check): Removed this unused code.
 
9662
        (do_check): Do not set the sig flags here.
 
9663
 
 
9664
        * import.c (read_block): Make sure that ring_trust packets are
 
9665
        never imported.
 
9666
        * export.c (do_export_stream): and never export them.
 
9667
 
 
9668
        * trustdb.c (make_key_array): Skip revoked and expired keys.
 
9669
 
 
9670
2001-09-24  Werner Koch  <wk@gnupg.org>
 
9671
 
 
9672
        * g10.c, options.h: New option --no-auto-check-trustdb.
 
9673
 
 
9674
        * keygen.c (do_generate_keypair): Set newly created keys to
 
9675
        ultimately trusted.
 
9676
 
 
9677
        * tdbio.h, tdbio.c: Removed all support for records DIR, KEY, UID,
 
9678
        PREF, SIG, SDIR and CACH. Changed migration function to work
 
9679
        direct on the file.
 
9680
        (tdbio_read_nextcheck): New.
 
9681
        (tdbio_write_nextcheck): New.
 
9682
 
 
9683
2001-09-21  Werner Koch  <wk@gnupg.org>
 
9684
 
 
9685
        Revamped the entire key validation system.
 
9686
        * trustdb.c: Complete rewrite. No more validation on demand,
 
9687
        removed some functions, adjusted to all callers to use the new
 
9688
        and much simpler interface. Does not use the LID anymore.
 
9689
        * tdbio.c, tdbio.h: Add new record types trust and valid. Wrote a
 
9690
        migration function to convert to the new trustdb layout.
 
9691
        * getkey.c (classify_user_id2): Do not allow the use of the "#"
 
9692
        prefix.
 
9693
        * keydb.h: Removed the TDBIDX mode add a skipfnc to the
 
9694
        descriptor.
 
9695
        * keyring.c (keyring_search): Implemented skipfnc.
 
9696
 
 
9697
        * passphrase.c (agent_open): Add missing bracket.  Include windows.h.
 
9698
 
 
9699
2001-09-19  Werner Koch  <wk@gnupg.org>
 
9700
 
 
9701
        * keylist.c (print_fingerprint): Renamed from fingerprint, made
 
9702
        global available. Added new arg to control the print style.
 
9703
        * mainproc.c (print_fingerprint): Removed.
 
9704
        * pkclist.c (print_fpr, fpr_info): Removed and changed callers to
 
9705
        use print_fingerprint.
 
9706
        * keyedit.c (show_fingerprint): Ditto.
 
9707
 
 
9708
        * passphrase.c (writen, readn)
 
9709
        (agent_open, agent_close)
 
9710
        (agent_get_passphrase)
 
9711
        (passphrase_clear_cache): Support for W32.  Contributed by Timo.
 
9712
 
 
9713
        * import.c (import_one): Release keydb handles at 2 more places.
 
9714
 
 
9715
        * keyring.c (keyring_release): Close the iobuf.
 
9716
        (keyring_get_keyblock): Init ret_kb to NULL and store error contidion.
 
9717
 
 
9718
        * import.c (import_new_stats_handle): New.
 
9719
        (import_release_stats_handle): New.
 
9720
        (import_print_stats): Renamed from static fnc print_stats.
 
9721
        (import_keys, import_keys_stream): Add an optional status handle
 
9722
        arg and changed all callers.
 
9723
        * hkp.c (hkp_ask_import): Add an stats_handle arg and changed all
 
9724
        callers.
 
9725
 
 
9726
        * mainproc.c (print_pkenc_list): Use print_utf8_string2().
 
9727
 
 
9728
2001-09-18  Werner Koch  <wk@gnupg.org>
 
9729
 
 
9730
        * g10.c: New command --refresh-keys.
 
9731
        * hkp.c (hkp_refresh_keys): New. Contributed by Timo Schulz.
 
9732
 
 
9733
        * parse-packet.c (parse): Stop on impossible packet lengths.
 
9734
 
 
9735
2001-09-17  Werner Koch  <wk@gnupg.org>
 
9736
 
 
9737
        * mainproc.c (print_notation_data): Wrap notation data status lines
 
9738
        after 50 chars.
 
9739
 
 
9740
        * mainproc.c (proc_pubkey_enc): Make option try-all-secrets work.
 
9741
        By disastry@saiknes.lv.
 
9742
 
 
9743
2001-09-14  Werner Koch  <wk@gnupg.org>
 
9744
 
 
9745
        * parse-packet.c (dump_sig_subpkt): List key server preferences
 
9746
        and show the revocable flag correctly. Contributed by David Shaw.
 
9747
 
 
9748
2001-09-09  Werner Koch  <wk@gnupg.org>
 
9749
 
 
9750
        * keyedit.c (keyedit_menu): No need to define another p.
 
9751
 
 
9752
        * keylist.c (print_capabilities): s/used/use/ so that it
 
9753
        does not shadow a global.
 
9754
        * sign.c (sign_file): Renamed arg encrypt to encryptflag
 
9755
        * keygen.c: Replaced all "usage" by "use".
 
9756
        * misc.c (openpgp_pk_algo_usage): Ditto.
 
9757
 
 
9758
        * pubkey-enc.c (get_it): Renamed arg k to enc so that the later
 
9759
        defined k does not shadow it.
 
9760
 
 
9761
        * parse-packet.c (parse_gpg_control): No need to define another i.
 
9762
 
 
9763
        * getkey.c (get_pubkey_byfprint): Must use the enum values and not
 
9764
        the fprint_len.
 
9765
        * keyring.c (keyring_search): Removed a non-sense break.  Both
 
9766
        bugs pointed out by Stefan.
 
9767
 
 
9768
2001-09-07  Werner Koch  <wk@gnupg.org>
 
9769
 
 
9770
        * status.c, status.h: Added NO_RECP and ALREADY_SIGNED.
 
9771
        * pkclist.c (build_pk_list): Issue NO_RECP.
 
9772
        * keyedit.c (sign_uids): Added experimental ALREADY_SIGNED
 
9773
 
 
9774
        * hkp.c (hkp_import): Use log_error. Bug reported by Neal H
 
9775
        Walfield.
 
9776
 
 
9777
        * getkey.c (classify_user_id2): Change args to take the desc union
 
9778
        direct.  It was a stupid idea to pass the individual fields of an
 
9779
        union to this function. Changed all callers.
 
9780
        (classify_user_id): Ditto and allow to pass NULL as the description.
 
9781
 
 
9782
2001-09-06  Werner Koch  <wk@gnupg.org>
 
9783
 
 
9784
        * getkey.c (fixup_uidnode): Features flag is now a bit vector.
 
9785
        * keygen.c (add_feature_mdc): Ditto.
 
9786
 
 
9787
        Revamped the entire key I/O code to be prepared for other ways of
 
9788
        key storages and to get rid of the existing shit.  GDBM support has
 
9789
        gone.
 
9790
        * keydb.c: New
 
9791
        * keyring.c, keyring.h: New.
 
9792
        * ringedit.c: Removed.  Moved some stuff to keyring.c
 
9793
        * getkey.c: Changed everything related to the key retrieving
 
9794
        functions which are now using the keydb_ functions.
 
9795
        (prepare_search, word_match_chars, word_match)
 
9796
        (prepare_word_match, compare_name): Moved to keyring.c
 
9797
        (get_pubkey_byname): Removed ctx arg and add ret_kdbhd
 
9798
        arg.  Changed all callers.
 
9799
        (key_byname): Use get_pubkey_end to release the context and take
 
9800
        new ret_kbdhd arg.  Changed all callers.
 
9801
        (classify_user_id2): Fill the 16 byte fingerprint up with 4 null
 
9802
        bytes not with zero bytes of value 4, tsss.
 
9803
        * import.c (import_one): Updated to use the new keydb interface.
 
9804
        (import_secret_one): Ditto.
 
9805
        (import_revoke_cert): Ditto.
 
9806
        * delkey.c (do_delete_key): Ditto.
 
9807
        * keyedit.c (keyedit_menu): Ditto.
 
9808
        (get_keyblock_byname): Removed.
 
9809
        * revoke.c (gen_revoke): Ditto.
 
9810
        * export.c (do_export_stream): Ditto.
 
9811
        * trustdb.c (update_trustdb): Ditto.
 
9812
        * g10.c, gpgv.c (main): Renamed add_keyblock_resource to
 
9813
        keydb_add_resource.
 
9814
        * Makefile.am:  Added and removed files.
 
9815
 
 
9816
        * keydb.h: Moved KBNODE typedef and MAX_FINGERPRINT_LEN to
 
9817
        * global.h: this new header.
 
9818
 
 
9819
2001-09-03  Werner Koch  <wk@gnupg.org>
 
9820
 
 
9821
        * passphrase.c (agent_get_passphrase): Changed nread to size_t.
 
9822
        (passphrase_clear_cache): Ditto.
 
9823
 
 
9824
        * keyid.c (mk_datestr): Avoid trigraphs.
 
9825
        (fingerprint_from_pk): Cache the keyid in the pk.
 
9826
 
 
9827
        * options.h: Add opt.with_fingerprint so that we know whether the
 
9828
        corresponding options was used.
 
9829
        * g10.c (main): Set it here.
 
9830
        * pkclist.c (check_signatures_trust): Always print fingerprint
 
9831
        when this option is used.  Mixed a minor memory leak.
 
9832
 
 
9833
        * status.c, status.h: New status INV_RECP.
 
9834
        * pkclist.c (build_pk_list): Issue this status.
 
9835
 
 
9836
2001-08-31  Werner Koch  <wk@gnupg.org>
 
9837
 
 
9838
        * parse-packet.c (parse_key,parse_pubkeyenc)
 
9839
        (parse_signature): Return error on reading bad MPIs.
 
9840
 
 
9841
        * mainproc.c (check_sig_and_print): Always print the user ID even
 
9842
        if it is not bound by a signature.  Use the primary UID in the
 
9843
        status messages and encode them in UTF-8
 
9844
        * status.c (write_status_text_and_buffer): New.
 
9845
 
 
9846
2001-08-30  Werner Koch  <wk@gnupg.org>
 
9847
 
 
9848
        * packet.h (sigsubpkttype_t): Add SIGSUBPKT_FEATURES.
 
9849
        (PKT_public_key, PKT_user_id): Add a flag for it.
 
9850
        * parse-packet.c, build-packet.c: Add support for them.
 
9851
        * getkey.c (fixup_uidnode, merge_selfsigs): Set the MDC flags.
 
9852
        * keygen.c (add_feature_mdc): New.
 
9853
        (keygen_upd_std_prefs): Always set the MDC feature.
 
9854
        * keyedit.c (show_prefs): List the MDC flag
 
9855
        * pkclist.c (select_mdc_from_pklist): New.
 
9856
        * encode.c (encode_crypt, encrypt_filter): Test whether MDC
 
9857
        should be used.
 
9858
        * cipher.c (write_header): Set MDC use depending on the above test.
 
9859
        Print more status info.
 
9860
 
 
9861
        * delkey.c (do_delete_key): Kludge to delete a secret key with no
 
9862
        public key available.
 
9863
 
 
9864
        * ringedit.c (find_secret_keyblock_direct): New.
 
9865
        * getkey.c (seckey_available): Simplified.
 
9866
 
 
9867
        * ringedit.c (cmp_seckey): Now compares the secret key against the
 
9868
        public key while ignoring all secret parts.
 
9869
        (keyring_search): Use a public key packet as arg.  Allow to search
 
9870
        for subnkeys
 
9871
        (search): Likewise. Changed all callers.
 
9872
        (find_secret_keyblock_bypk): New.
 
9873
        (find_secret_keyblock_byname): First locate the pubkey and then
 
9874
        find the correponding secret key.
 
9875
        * parse-packet.c (parse): Renamed pkttype arg to onlykeypkts and
 
9876
        changed code accordingly.  Changed all callers.
 
9877
        (search_packet): Removed pkttype arg.
 
9878
        * keyedit.c (keyedit_menu): First locate the public key and then
 
9879
        try to locate a secret key.
 
9880
 
 
9881
        * ringedit.c (locate_keyblock_by_fpr): Removed.
 
9882
        (locate_keyblock_by_keyid): Removed.
 
9883
        (find_keyblock_bysk): Removed.
 
9884
 
 
9885
        * sig-check.c (check_key_signature2): Print the keyid along with
 
9886
        the wrong sig class errors.
 
9887
 
 
9888
2001-08-24  Werner Koch  <wk@gnupg.org>
 
9889
 
 
9890
        * sign.c (sign_file): Stripped the disabled comment packet code.
 
9891
        (sign_file, sign_symencrypt_file): Moved common code to ..
 
9892
        (write_onepass_sig_packets): .. this new function.
 
9893
        (sign_file, clearsign_file, sign_symencrypt_file): Moved common
 
9894
        code to
 
9895
        (write_signature_packets): this new function.
 
9896
        (write_signature_packets, make_keysig_packet)
 
9897
        (update_keysig_packet): Moved common code to
 
9898
        (hash_uid, hash_sigclass_to_magic): these new functions
 
9899
        (sign_file, sign_symencrypt_file): Moved common code to
 
9900
        (write_plaintext_packet):  this new function.
 
9901
 
 
9902
2001-08-21  Stefan Bellon  <sbellon@sbellon.de>
 
9903
 
 
9904
        * trustdb.c (query_trust_info): Changed trustlevel to signed int.
 
9905
        * g10.c [__riscos__]: Fixed handling of --use-agent --lock-multiple.
 
9906
 
 
9907
2001-08-20  Werner Koch  <wk@gnupg.org>
 
9908
 
 
9909
        * encr-data.c (decrypt_data): Keep track on whether we already
 
9910
        printed information about the used algorithm.
 
9911
        * mainproc.c (proc_encrypted): Removed the non-working IDEA hack
 
9912
        and print a message about the assumed algorithm.
 
9913
        * passphrase.c (passphrase_to_dek): Use the same algorithm as above.
 
9914
        (proc_symkey_enc): Print the algorithm, so that the user knows it
 
9915
        before entering the passphrase.
 
9916
        (proc_pubkey_enc, proc_pubkey_enc): Zero the DEK out.
 
9917
        * encode.c (encode_crypt, encrypt_filter): Ditto.
 
9918
 
 
9919
        * g10.c: Allow for --sign --symmetric.
 
9920
        * sign.c (sign_and_symencrypt): New.
 
9921
 
 
9922
        Applied patches from Stefan Bellon <sbellon@sbellon.de> to support
 
9923
        RISC OS.  Nearly all of these patches are identified by the
 
9924
        __riscos__ macro.
 
9925
        * compress.c: Added a couple of casts.
 
9926
        * g10.c [__riscos__]: Some patches and new options foo-file similar
 
9927
        to all foo-fd options.
 
9928
        * gpgv.c, openfile.c, ringedit.c, tdbio.c: Minor fixes.  Mainly
 
9929
        replaced hardcoded path separators with EXTSEP_S like macros.
 
9930
        * passprase.c [__riscos__]: Disabled agent stuff
 
9931
        * trustdb.c (check_trust): Changed r_trustlevel to signed int to
 
9932
        avoid mismatch problems in pkclist.c
 
9933
        * pkclist.c (add_ownertrust): Ditto.
 
9934
        * plaintext.c (handle_plaintext) [__riscos__]: Print a note when
 
9935
        file can't be created.
 
9936
        * options.h [__riscos__]: Use an extern unless included from the
 
9937
        main module.
 
9938
        * signal.c (got_fatal_signal) [__riscos__]: Close all files.
 
9939
 
 
9940
2001-08-14  Werner Koch  <wk@gnupg.org>
 
9941
 
 
9942
        * keygen.c (ask_algo): New arg r_usage.  Allow for RSA keys.
 
9943
        (gen_rsa): Enabled the code.
 
9944
        (do_create): Enabled RSA branch.
 
9945
        (parse_parameter_usage): New.
 
9946
        (proc_parameter_file): Handle usage parameter.
 
9947
        (read_parameter_file): Ditto.
 
9948
        (generate_keypair): Ditto.
 
9949
        (generate_subkeypair): Ditto.
 
9950
        (do_generate_keypair): Ditto.
 
9951
        (do_add_key_flags): New.
 
9952
        (keygen_add_std_prefs): Use the new function.
 
9953
        (keygen_add_key_flags_and_expire): New.
 
9954
        (write_selfsig, write_keybinding): Handle new usage arg.
 
9955
        * build-packet.c (build_sig_subpkt): Make sure that key flags go
 
9956
        into the hashed area.
 
9957
 
 
9958
        * keygen.c (write_uid): Initialize the reference cunter.
 
9959
 
 
9960
        * keyedit.c (keyedit_menu): No more need to update the trustdb for
 
9961
        preferences.  Added calls to merge keblock.
 
9962
 
 
9963
        * kbnode.c (dump_kbnode): Print some more flags.
 
9964
 
 
9965
2001-08-10  Werner Koch  <wk@gnupg.org>
 
9966
 
 
9967
        Revamped the preference handling.
 
9968
 
 
9969
        * packet.h (prefitem_t, preftype_t): New.
 
9970
        (PKT_public_key): Added a uid field.
 
9971
        (PKT_user_id): Added field to store preferences and a reference
 
9972
        counter.
 
9973
        * parse-packet.c (parse_user_id,parse_photo_id): Initialize them
 
9974
        * free-packet.c (free_user_id): Free them.
 
9975
        (copy_user_id): Removed.
 
9976
        (scopy_user_id): New.
 
9977
        (cmp_user_ids): Optimized for identical pointers.
 
9978
        (release_public_key_parts): Release the uid.
 
9979
        (copy_public_key_with_new_namehash): Removed.
 
9980
        (copy_prefs): New.
 
9981
        * keyedit.c (menu_adduid): Use the new shallow copy user id.
 
9982
        (show_prefs): Adjusted implementation.
 
9983
        (keyedit_menu): No more need to update the trustdb after changing
 
9984
        preferences.
 
9985
        * getkey.c (fixup_uidnode): Store preferences.
 
9986
        (find_by_name): Return a user id packet and remove namehash stuff.
 
9987
        (lookup): Removed the unused namehash stuff.
 
9988
        (finish_lookup): Added foundu arg.
 
9989
        (pk_from_block): Removed the namehash arg and changed all callers.
 
9990
        (merge_selfsigs): Copy prefs to all keys.
 
9991
        * trustdb.c (get_pref_data): Removed.
 
9992
        (is_algo_in_prefs): Removed.
 
9993
        (make_pref_record): Deleted and removed all class.
 
9994
        * pkclist.c (select_algo_from_prefs): Adjusted for the new
 
9995
        preference implementation.
 
9996
        * pubkey-enc.c (is_algo_in_prefs): New.
 
9997
        (get_it): Use that new function.
 
9998
 
 
9999
2001-08-09  Werner Koch  <wk@gnupg.org>
 
10000
 
 
10001
        * build-packet.c (build_sig_subpkt): Fixed calculation of
 
10002
        newarea->size.
 
10003
 
 
10004
        * g10.c (main): New option "--preference-list"
 
10005
        * keyedit.c (keyedit_menu): New commands "setpref" and "updpref".
 
10006
        (menu_set_preferences): New.
 
10007
        * keygen.c (keygen_set_std_prefs): New.
 
10008
        (set_one_pref): New.
 
10009
        (check_zip_algo): New.
 
10010
        (keygen_get_std_prefs): New.
 
10011
        (keygen_upd_std_prefs): New
 
10012
        (keygen_add_std_prefs): Move the pref setting code into the above fnc.
 
10013
        * build-packet.c (build_sig_subpkt): Updated the list of allowed
 
10014
        to update subpackets.
 
10015
 
 
10016
2001-08-08  Werner Koch  <wk@gnupg.org>
 
10017
 
 
10018
        * packet.h (subpktarea_t): New.
 
10019
        (PKT_signature): Use that type for hashed_data and unhashed_data and
 
10020
        removed the _data prefix from those fields.  Changed all users.
 
10021
        * parse-packet.c (parse_signature): Changed allocation for that.
 
10022
        (parse_sig_subpkt): Changed declaration
 
10023
        (enum_sig_subpkt): Ditto and changed implementation accordingly.
 
10024
        * free-packet.c (cp_subpktarea): Renamed from cp_data_block and
 
10025
        adjusted implementation. Changed caller.
 
10026
        * sig-check.c (mdc_kludge_check): Adjusted the hashing.
 
10027
        (do_check): Ditto.
 
10028
        * sign.c (sign_file, clearsign_file, make_keysig_packet,
 
10029
        update_keysig_packet): Ditto.
 
10030
        * build-packet.c (build_sig_subpkt): Partial rewrite.
 
10031
        (find_subpkt): Adjusted and made static.
 
10032
        (delete_sig_subpkt): Adjusted.
 
10033
        (do_signature): Ditto.
 
10034
 
 
10035
        * keygen.c (ask_keysize): Do not print the notes about suggested
 
10036
        key sizes if just a DSA key is generated.
 
10037
 
 
10038
        * trustdb.c (add_ultimate_key): s/log_error/log_info/ for
 
10039
        duplicated inserted trusted keys.
 
10040
 
 
10041
2001-08-07  Werner Koch  <wk@gnupg.org>
 
10042
 
 
10043
        * sign.c (sleep): Redefine for W32.
 
10044
 
 
10045
        * g10.c, options.h: Set new flag opt.no_homedir_creation when
 
10046
        --no-options is given.
 
10047
        * openfile.c (try_make_homedir): Don't create the homedir in that case.
 
10048
 
 
10049
2001-08-03  Werner Koch  <wk@gnupg.org>
 
10050
 
 
10051
        * armor.c (armor_filter): Removed the default comment string
 
10052
        because it could get us in trouble due to translations using non
 
10053
        ascii characters.
 
10054
 
 
10055
2001-08-01  Werner Koch  <wk@gnupg.org>
 
10056
 
 
10057
        * keylist.c (list_keyblock_print): Do not list revoked UIDs unless
 
10058
        in verbose mode and we do no signature listing.
 
10059
 
 
10060
        * getkey.c (finish_lookup): Skip subkeys which are not yet valid.
 
10061
        * g10.c, options.h: New option --ignore-valid-from.
 
10062
 
 
10063
        * sign.c (make_keysig_packet): Added new sigversion argument to
 
10064
        allow the caller to force generation of required signature
 
10065
        version. Changed all callers. Suggested by Thomas Roessler.
 
10066
 
 
10067
        * keyedit.c (sign_uids): Force v4 signature generation for local
 
10068
        sigs.  Removed the check for local signature and pre-v4 keys.
 
10069
 
 
10070
2001-07-27  Werner Koch  <wk@gnupg.org>
 
10071
 
 
10072
        * keyedit.c (sign_uids): Check that we are not trying to to a
 
10073
        lsign with a pre-v4 key.  Bug noticed by Thomas Roessler.
 
10074
 
 
10075
2001-07-26  Werner Koch  <wk@gnupg.org>
 
10076
 
 
10077
        * parse-packet.c (parse_photo_id): Reset all variables.
 
10078
        * getkey.c (merge_selfsigs_main): Removed checks on PHOTO_ID
 
10079
        because this is handled identically to a user ID.
 
10080
 
 
10081
2001-07-06  Werner Koch  <wk@gnupg.org>
 
10082
 
 
10083
        * cipher.c (write_header): Don't use MDC with --rfc1991.  Suggested
 
10084
        by disastry@saiknes.lv.
 
10085
 
 
10086
2001-07-05  Werner Koch  <wk@gnupg.org>
 
10087
 
 
10088
        * g10.c, options.h: New option --preserve-permissions.
 
10089
        * ringedit.c (add_keyblock_resource): Use it here
 
10090
        (keyring_copy): and here.
 
10091
 
 
10092
        * trustdb.c (verify_own_keys): Be more silent on --quiet.
 
10093
        Suggested by Thomas Roessler.
 
10094
        * sig-check.c (check_key_signature2): Ditto.
 
10095
        * mainproc.c (proc_encrypted, proc_tree): Ditto
 
10096
        * getkey.c (lookup): Ditto.
 
10097
 
 
10098
2001-07-04  Werner Koch  <wk@gnupg.org>
 
10099
 
 
10100
        * ringedit.c (add_keyblock_resource): Restore filename in case of error.
 
10101
 
 
10102
2001-06-25  Werner Koch  <wk@gnupg.org>
 
10103
 
 
10104
        * kbnode.c (dump_kbnode): Print the signature timestamp.
 
10105
 
 
10106
        * keyedit.c (keyedit_menu): New menu point "primary".
 
10107
        (change_primary_uid_cb): New.
 
10108
        (menu_set_primary_uid): New.
 
10109
        * sign.c (update_keysig_packet): New.
 
10110
        * build-packet.c (build_sig_subpkt): Put the primary UID flag into
 
10111
        the hashed area. Allow update of some more packets.
 
10112
 
 
10113
2001-06-15  Werner Koch  <wk@gnupg.org>
 
10114
 
 
10115
        * getkey.c (merge_selfsigs): Exit gracefully when a secret key is
 
10116
        encountered.  May happen if a secret key is in public keyring.
 
10117
        Reported by Francesco Potorti.
 
10118
 
 
10119
2001-06-12  Werner Koch  <wk@gnupg.org>
 
10120
 
 
10121
        * getkey.c (compare_name): Use ascii_memistr(), ascii_memcasecmp()
 
10122
        * keyedit.c (keyedit_menu): Use ascii_strcasecmp().
 
10123
        * armor.c (radix64_read): Use ascii_toupper().
 
10124
        * ringedit.c (do_bm_search): Ditto.
 
10125
        * keygen.c (read_parameter_file): Ditto.
 
10126
        * openfile.c (CMP_FILENAME): Ditto.
 
10127
        * g10.c (i18n_init): We can now use just LC_ALL.
 
10128
 
 
10129
2001-05-29  Werner Koch  <wk@gnupg.org>
 
10130
 
 
10131
        * keygen.c (generate_subkeypair): Print a warning if a subkey is
 
10132
        created on a v3 key. Suggested by Brian M. Carlson.
 
10133
 
 
10134
2001-05-27  Werner Koch  <wk@gnupg.org>
 
10135
 
 
10136
        * keyid.c (get_lsign_letter): New.
 
10137
        * keylist.c (list_keyblock_colon): Use it here.
 
10138
        * mainproc.c (list_node): and here.
 
10139
 
 
10140
        * getkey.c, packet.h, free-packet.c: Removed that useless key
 
10141
        created field; I dunno why I introducded this at all - the
 
10142
        creation time is always bound to the key packet and subject to
 
10143
        fingerprint calculation etc.
 
10144
 
 
10145
        * getkey.c (fixup_uidnode): Add keycreated arg and use this
 
10146
        instead of the signature timestamp to calculate the
 
10147
        help_key_expire.  Bug reported by David R. Bergstein.
 
10148
        (merge_selfsigs_main): Correct key expiration time calculation.
 
10149
        (merge_selfsigs_subkey): Ditto.
 
10150
 
 
10151
2001-05-25  Werner Koch  <wk@gnupg.org>
 
10152
 
 
10153
        * revoke.c (gen_revoke): Add a cast to a tty_printf arg.
 
10154
        * delkey.c (do_delete_key): Ditto.
 
10155
        * keyedit.c (print_and_check_one_sig): Ditto.
 
10156
        (ask_revoke_sig): Ditto.
 
10157
        (menu_revsig): Ditto.
 
10158
        (check_all_keysigs): Removed unused arg.
 
10159
 
 
10160
2001-05-23  Werner Koch  <wk@gnupg.org>
 
10161
 
 
10162
        * g10.c (opts): Typo fix by Robert C. Ames.
 
10163
 
 
10164
2001-05-06  Werner Koch  <wk@gnupg.org>
 
10165
 
 
10166
        * revoke.c: Small typo fix
 
10167
 
 
10168
2001-05-04  Werner Koch  <wk@gnupg.org>
 
10169
 
 
10170
        * passphrase.c (passphrase_clear_cache): Shortcut if agent usage
 
10171
        is not enabled.
 
10172
 
 
10173
2001-05-01  Werner Koch  <wk@gnupg.org>
 
10174
 
 
10175
        * passphrase.c (writen): Replaced ssize_t by int.  Thanks to
 
10176
        to Robert Joop for reporting that SunOS 4.1.4 does not have it.
 
10177
 
 
10178
2001-04-28  Werner Koch  <wk@gnupg.org>
 
10179
 
 
10180
        * getkey.c (merge_public_with_secret): pkttype was not set to subkey.
 
10181
 
 
10182
2001-04-27  Werner Koch  <wk@gnupg.org>
 
10183
 
 
10184
        * skclist.c (build_sk_list): Changed one log_debug to log_info.
 
10185
 
 
10186
2001-04-25  Werner Koch  <wk@gnupg.org>
 
10187
 
 
10188
        * keyedit.c (show_prefs): Add a verbose mode.
 
10189
        (show_key_with_all_names): Pass verbose flag for special value of
 
10190
        with_pref.
 
10191
        (keyedit_menu): New command "showpref"
 
10192
        (show_key_with_all_names): Mark revoked uids and the primary key.
 
10193
 
 
10194
2001-04-24  Werner Koch  <wk@gnupg.org>
 
10195
 
 
10196
        * getkey.c (get_primary_uid): Return a different string in case of
 
10197
        error and made it translatable.
 
10198
 
 
10199
        * build-packet.c (do_secret_key): Ugly, we wrote a zero
 
10200
        instead of the computed ndays.  Thanks to M Taylor for complaining
 
10201
        about a secret key import problem.
 
10202
 
 
10203
2001-04-23  Werner Koch  <wk@gnupg.org>
 
10204
 
 
10205
        * hkp.c (hkp_ask_import): Allow to specify a port number for the
 
10206
        keyserver.  Add a kudge to set the no_shutdown flag.
 
10207
        (hkp_export): Ditto.
 
10208
        * options.skel: Document the changes
 
10209
 
 
10210
2001-04-20  Werner Koch  <wk@gnupg.org>
 
10211
 
 
10212
        * options.skel: Add some more comments.
 
10213
 
 
10214
2001-04-19  Werner Koch  <wk@gnupg.org>
 
10215
 
 
10216
        * keyid.c (mk_datestr): New.  Handles negative times.  We must do
 
10217
        this because Windoze segvs on negative times passed to gmtime().
 
10218
        Changed all datestr_from function to use this one.
 
10219
 
 
10220
        * keyid.c, keyid.h (colon_strtime): New. To implement the
 
10221
        fixed-list-mode.
 
10222
        (colon_datestr_from_pk): New.
 
10223
        (colon_datestr_from_sk): New.
 
10224
        (colon_datestr_from_sig): New.
 
10225
        * keylist.c (list_keyblock_colon): Use these functions here.
 
10226
        * mainproc.c (list_node): Ditto.
 
10227
 
 
10228
2001-04-18  Werner Koch  <wk@gnupg.org>
 
10229
 
 
10230
        * openfile.c (open_sigfile): Fixed the handling of ".sign".
 
10231
        * mainproc.c (proc_tree): Use iobuf_get_real_fname.
 
10232
        Both are by Vincent Broman.
 
10233
 
 
10234
2001-04-14  Werner Koch  <wk@gnupg.org>
 
10235
 
 
10236
        * getkey.c (fixup_uidnode): Removed check for !sig which is
 
10237
        pointless here.  Thanks to Jan Niehusmann.
 
10238
 
 
10239
2001-04-10  Werner Koch  <wk@gnupg.org>
 
10240
 
 
10241
        * sig-check.c (check_key_signature2): Use log_info instead of
 
10242
        log_error so that messed up keys do not let gpg return an error.
 
10243
        Suggested by Christian Kurz.
 
10244
 
 
10245
        * getkey.c (merge_selfsigs_main): Do a fixup_uidnode only if we
 
10246
        have both, uid and sig.  Thanks to M Taylor.
 
10247
 
 
10248
2001-04-05  Werner Koch  <wk@gnupg.org>
 
10249
 
 
10250
        * armor.c (unarmor_pump_new,unarmor_pump_release): New.
 
10251
        (unarmor_pump): New.
 
10252
        * pipemode.c (pipemode_filter): Use the unarmor_pump to handle
 
10253
        armored or non-armored detached signatures.  We can't use the
 
10254
        regular armor_filter becuase this does only chack for armored
 
10255
        signatures the very first time.  In pipemode we may have a mix of
 
10256
        armored and binary detached signatures.
 
10257
        * mainproc.c (proc_tree): Do not print the "old style" notice when
 
10258
        this is a pipemode processes detached signature.
 
10259
        (proc_plaintext): Special handling of pipemode detached sigs.
 
10260
 
 
10261
        * packet.h (CTRLPKT_PLAINTEXT_MARK): New.
 
10262
        * parse-packet.c (create_gpg_control): New.
 
10263
        * kbnode.c (dump_kbnode): Support it here.
 
10264
        * mainproc.c (check_sig_and_print): Fixed the check for bad
 
10265
        sequences of multiple signatures.
 
10266
        (proc_plaintext): Add the marker packet.
 
10267
        (proc_tree): We can now check multiple detached signatures.
 
10268
 
 
10269
2001-04-02  Werner Koch  <wk@gnupg.org>
 
10270
 
 
10271
        The length of encrypted packets for blocksizes != 8 was not
 
10272
        correct encoded.  I think this is a minor problem, because we
 
10273
        usually use partial length packets.  Kudos to Kahil D. Jallad for
 
10274
        pointing this out.
 
10275
        * packet.h: Add extralen to PKT_encrypted.
 
10276
        * cipher.c (write_header): Set extralen.
 
10277
        * build-packet.c (do_encrypted): Use extralen instead of const 10.
 
10278
        (do_encrypted_mdc): Ditto.
 
10279
        * parse-packet.c (parse_encrypted): Set extralen to 0 because we
 
10280
        don't know it here.
 
10281
 
 
10282
2001-03-30  Werner Koch  <wk@gnupg.org>
 
10283
 
 
10284
        * getkey.c (premerge_public_with_secret): Changed wording an add
 
10285
        the keyID to the info message.
 
10286
 
 
10287
2001-03-29  Werner Koch  <wk@gnupg.org>
 
10288
 
 
10289
        * getkey.c (premerge_public_with_secret): Use log_info instead of
 
10290
        log_error when no secret key was found for a public one.
 
10291
        Fix the usage if the secret parts of a key are not available.
 
10292
 
 
10293
        * openfile.c (ask_outfile_name): Trim spaces.
 
10294
        (open_outfile): Allow to enter an alternate filename.  Thanks to
 
10295
        Stefan Bellon.
 
10296
        * plaintext.c (handle_plaintext): Ditto.
 
10297
 
 
10298
2001-03-28  Werner Koch  <wk@gnupg.org>
 
10299
 
 
10300
        * mainproc.c (do_check_sig): Allow direct key and subkey
 
10301
        revocation signature.
 
10302
        * sig-check.c (check_key_signature2): Check direct key signatures.
 
10303
        Print the signature class along with an error.
 
10304
 
 
10305
2001-03-27  Werner Koch  <wk@gnupg.org>
 
10306
 
 
10307
        * packet.h: Add a missing typedef to an enum.  Thanks to Stefan Bellon.
 
10308
 
 
10309
        * g10.c: New option --no-sig-create-check.
 
10310
        * sign.c (do_sign): Implement it here.
 
10311
        * g10.c: New option --no-sig-cache.
 
10312
        * sig-check.c (check_key_signature2): Implement it here.
 
10313
        (cache_selfsig_result): and here.
 
10314
 
 
10315
        * keylist.c (list_keyblock): Removed debugging stuff.
 
10316
 
 
10317
        * getkey.c (cache_public_key): Made global.
 
10318
        * keygen.c (write_selfsig, write_keybinding): Cache the new key.
 
10319
 
 
10320
        * getkey.c (key_byname): Add new arg secmode and changed all
 
10321
        callers to request explicitly the mode.  Deriving this information
 
10322
        from the other supplied parameters does not work if neither pk nor
 
10323
        sk are supplied.
 
10324
 
 
10325
2001-03-25  Werner Koch  <wk@gnupg.org>
 
10326
 
 
10327
        * packet.h (ctrlpkttype_t): New.
 
10328
        * mainproc.c (add_gpg_control,proc_plaintext,proc_tree): Use the
 
10329
        new enum values.
 
10330
        * pipemode.c (make_control): Ditto.
 
10331
        * armor.c (armor_filter): Ditto.
 
10332
 
 
10333
2001-03-24  Werner Koch  <wk@gnupg.org>
 
10334
 
 
10335
        * sign.c (do_sign): Verify the signature right after creation.
 
10336
 
 
10337
2001-03-23  Werner Koch  <wk@gnupg.org>
 
10338
 
 
10339
        * status.c, status.h (STATUS_UNEXPECTED): New.
 
10340
        * mainproc.c (do_proc_packets): And emit it here.
 
10341
 
 
10342
2001-03-21  Werner Koch  <wk@gnupg.org>
 
10343
 
 
10344
        * status.c: Add sys/types.h so that it runs on Ultrix.  Reported
 
10345
        by Georg Schwarz.x
 
10346
 
 
10347
        * build-packet.c (build_sig_subpkt): Fixed generaton of packet
 
10348
        length header in case where 2 bytes headers are needed.  Thanks to
 
10349
        Piotr Krukowiecki.
 
10350
 
 
10351
2001-03-19  Werner Koch  <wk@gnupg.org>
 
10352
 
 
10353
        * g10.c (main): the default keyring is no always used unless
 
10354
        --no-default-keyring is given.
 
10355
 
 
10356
        * ringedit.c (add_keyblock_resource): invalidate cache after file
 
10357
        creation.
 
10358
 
 
10359
2001-03-15  Werner Koch  <wk@gnupg.org>
 
10360
 
 
10361
        * keygen.c (ask_algo): Changed the warning of the ElGamal S+E Algo.
 
10362
 
 
10363
        * keylist.c (print_capabilities): New.
 
10364
        (list_keyblock_colon): and use it here.
 
10365
 
 
10366
2001-03-13  Werner Koch  <wk@gnupg.org>
 
10367
 
 
10368
        * main.c, options.h: New option --fixed_list_mode.
 
10369
        * keylist.c (list_keyblock_colon): use it here.
 
10370
 
 
10371
        * getkey.c (merge_keys_and_selfsig): Divert merging of public keys
 
10372
        to the function used in key selection..
 
10373
        * keylist.c (is_uid_valid): Removed.
 
10374
        (list_keyblock): Splitted into ..
 
10375
        (list_keyblock_print, list_keyblock_colon): .. these.
 
10376
        functions.  Changed them to use the flags set in the key lookup code.
 
10377
        (reorder_keyblock): New, so that primary user IDs are listed first.
 
10378
 
 
10379
        * ringedit.c (keyring_copy): flush the new iobuf chaces before
 
10380
        rename or remove operations.  This is mainly needed for W32.
 
10381
 
 
10382
        * hkp.c [HAVE_DOSISH_SYSTEM]: Removed the disabled code because we
 
10383
        have now W32 socket support in ../util/http.c
 
10384
 
 
10385
        * skclist.c (key_present_in_sk_list): New.
 
10386
        (is_duplicated_entry): New.
 
10387
        (build_sk_list): Check for duplicates and do that before unlocking.
 
10388
 
 
10389
2001-03-12  Werner Koch  <wk@gnupg.org>
 
10390
 
 
10391
        * armor.c (parse_header_line): Removed double empty line check.
 
10392
        (parse_header_line): Replaced trim_trailing_ws with a counting
 
10393
        function so that we can adjust for the next read.
 
10394
 
 
10395
        * options.skel: Fixed 3 typos. By Thomas Klausner. Replaced the
 
10396
        keyserver example by a better working server.
 
10397
 
 
10398
        * parse-packet.c (parse_symkeyenc): Return Invalid_Packet on error.
 
10399
        (parse_pubkeyenc): Ditto.
 
10400
        (parse_onepass_sig): Ditto.
 
10401
        (parse_plaintext): Ditto.
 
10402
        (parse_encrypted): Ditto.
 
10403
        (parse_signature): Return error at other places too.
 
10404
        (parse_key): Ditto.
 
10405
        * g10.c (main): Set opt.list_packets to another value when invoked
 
10406
        with the --list-packets command.
 
10407
        * mainproc.c (do_proc_packets): Don's stop processing when running
 
10408
        under --list-packets command.
 
10409
 
 
10410
        * signal.c (do_sigaction): Removed.
 
10411
        (init_one_signal): New to replace the above.  Needed to support
 
10412
        systems without sigactions. Suggested by Dave Dykstra.
 
10413
        (got_fatal_signal,init_signals): Use the above here.
 
10414
        (do_block): Use sigset() if sigprocmask() is not available.
 
10415
 
 
10416
        * armor.c (parse_hash_header): Test on TIGER192, which is the
 
10417
        correct value as per rfc2440.  By Edwin Woudt.
 
10418
 
 
10419
2001-03-08  Werner Koch  <wk@gnupg.org>
 
10420
 
 
10421
        * misc.c: Include time.h. By James Troup.
 
10422
 
 
10423
        * getkey.c: Re-enabled the unknown user Id and PK caches and
 
10424
        increased their sizes.
 
10425
 
 
10426
        * getkey.c (merge_selfsigs_main): Set expire date and continue
 
10427
        processing even if we found a revoked key.
 
10428
        (merge_selfsigs_subkeys): Ditto.
 
10429
 
 
10430
        * packet.h: Add an is_revoked flag to the user_id packet.
 
10431
        * getkey.c (fixup_uidnode): Set that flag here.
 
10432
        (merge_selfsigs_main): Fix so that the latest signature is used to
 
10433
        find the self-signature for an UID.
 
10434
        * parse-packet.c (parse_user_id): Zero out all fields.
 
10435
        * mainproc.c (check_sig_and_print): Print the primary user ID
 
10436
        according the the node flag and then all other non-revoked user IDs.
 
10437
        (is_uid_revoked): Removed; it is now handled by the key selection code.
 
10438
 
 
10439
        Changed the year list of all copyright notices.
 
10440
 
 
10441
2001-03-07  Werner Koch  <wk@gnupg.org>
 
10442
 
 
10443
        * getkey.c (finish_lookup): Print an info message only in verbose mode.
 
10444
 
 
10445
2001-03-05  Werner Koch  <wk@gnupg.org>
 
10446
 
 
10447
        * packet.h: Replaced sigsubpkt_t value 101 by PRIV_VERIFY_CACHE.
 
10448
        We have never used the old value, so we can do this without any harm.
 
10449
        * parse-packet.c (dump_sig_subpkt): Ditto.
 
10450
        (parse_one_sig_subpkt): Parse that new sub packet.
 
10451
        * build-packet.c (build_sig_subpkt): Removed the old one from the
 
10452
        hashed area.
 
10453
        (delete_sig_subpkt): New.
 
10454
        (build_sig_subpkt): Allow an update of that new subpkt.
 
10455
        * sig-check.c (check_key_signature2): Add verification caching
 
10456
        (cache_selfsig_result): New.
 
10457
        * export.c (do_export_stream): Delete that sig subpkt before exporting.
 
10458
        * import.c (remove_bad_stuff): New.
 
10459
        (import): Apply that function to all imported data
 
10460
 
 
10461
2001-03-03  Werner Koch  <wk@gnupg.org>
 
10462
 
 
10463
        * getkey.c: Introduced a new lookup context flag "exact" and used
 
10464
        it in all place where we once used primary.
 
10465
        (classify_user_id2): Replaced the old function and add an extra
 
10466
        argument to return whether an exact keyID has been requested.
 
10467
        (key_byname): Removed the unused ctx.primary flag
 
10468
        (get_seckey_byname2): Ditto.
 
10469
        (finish_lookup): Changed debugging output.
 
10470
 
 
10471
2001-03-02  Werner Koch  <wk@gnupg.org>
 
10472
 
 
10473
        * keylist.c (list_one): Remove the merge key calls.
 
10474
 
 
10475
2001-03-01  Werner Koch  <wk@gnupg.org>
 
10476
 
 
10477
        * getkey.c (finish_lookup): Don't use it if we no specific usage
 
10478
        has been requested.
 
10479
        (merge_selfsigs_main): fix UID only if we have an signature.
 
10480
        (lookup): Return UNU_PUBKEY etc. instead of NO_PUBKEY if we found
 
10481
        a key but the requested usage does not allow this key.
 
10482
        * import.c (import_one): Take UNU_PUBKEY into account.
 
10483
        * mainproc.c (list_node): Ditto.
 
10484
        * keylist.c (list_keyblock): Ditto.
 
10485
        * keyedit.c (print_and_check_one_sig): Ditto.
 
10486
 
 
10487
2001-02-09  Werner Koch  <wk@gnupg.org>
 
10488
 
 
10489
        * delkey.c (delete_key): Removed that silly assert which rendered
 
10490
        the whole new stuff meaningless.
 
10491
 
 
10492
2001-02-08  Werner Koch  <wk@gnupg.org>
 
10493
 
 
10494
        * getkey.c (key_byname): It can happen that we have both, sk and pk
 
10495
        NULL, fix for that.
 
10496
 
 
10497
        * parse-packet.c (parse_one_sig_subpkt): Add support for
 
10498
        primary_uid and key_flags.
 
10499
        (can_handle_critical): Ditto
 
10500
 
 
10501
        * parse-packet.c (parse_encrypted): Fixed listing of pktlen for
 
10502
        MDC packets.
 
10503
 
 
10504
        * getkey.c: Backported the version of this file from gpg 1.1. this
 
10505
        involved some changes in other files too.
 
10506
        * parse-packet.c (parse_key): Clear req_usage.
 
10507
        * skclist.c (build_sk_list): Use req_usage to pass the usage
 
10508
        information to the lookup function.
 
10509
        * pkclist.c (build_pk_list): Ditto.
 
10510
        * free-packet.c (copy_public_parts_to_secret_key): New.
 
10511
        * keydb.h: Add IS_* macros to check the sig_class.
 
10512
        * misc.c (openpgp_cipher_test_algo): New.
 
10513
        (openpgp_pk_test_algo): New.
 
10514
        (openpgp_pk_algo_usage): New.
 
10515
        (openpgp_md_test_algo): New.
 
10516
        * packet.h: Add a few fields to PKT_{public,secret}_key and
 
10517
        PKT_user_id.
 
10518
        * seckey-cert.c (do_check): Use the new main_keyid field.
 
10519
 
 
10520
2001-02-04  Werner Koch  <wk@gnupg.org>
 
10521
 
 
10522
        * encr-data.c (decrypt_data): Catch error when we had problems to
 
10523
        parse the encrypted packet. By Timo.
 
10524
 
 
10525
2001-01-29  Werner Koch  <wk@gnupg.org>
 
10526
 
 
10527
        * g10.c (main): --batch does now set nogreeting.
 
10528
 
 
10529
        * delkey.c (do_delete_key): Fixed delete-both functionality.
 
10530
 
 
10531
2001-01-22  Werner Koch  <wk@gnupg.org>
 
10532
 
 
10533
        * g10.c: New command --delete-secret-and-public-key.
 
10534
        * delkey.c (delete_key): Add new arg allow_both.
 
10535
        (do_delete_key): Move most stuff from above to this new function.
 
10536
 
 
10537
2001-01-12  Werner Koch  <wk@gnupg.org>
 
10538
 
 
10539
        * passphrase.c (passphrase_to_dek): Use MD5 when IDEA is installed
 
10540
        and we have no S2K.
 
10541
        * mainproc.c (proc_encrypted): Likewise
 
10542
 
 
10543
2001-01-11  Werner Koch  <wk@gnupg.org>
 
10544
 
 
10545
        * sig-check.c (do_check): Print the signature key expire message
 
10546
        only in verbose mode and added the keyID.
 
10547
 
 
10548
2001-01-09  Werner Koch  <wk@gnupg.org>
 
10549
 
 
10550
        * status.c, status.h: New status USERID_HINT.
 
10551
        (write_status_text): Replace LF and CR int text by C-escape sequence.
 
10552
 
 
10553
        * passphrase.c (passphrase_to_dek): Fixed the NEED_PASSPHRASE
 
10554
        output.  It does now always print 2 keyIDs.  Emit the new
 
10555
        USERID_HINT.
 
10556
 
 
10557
2001-01-08  Werner Koch  <wk@gnupg.org>
 
10558
 
 
10559
        * g10.c, options.h: New option --no-expensive-trust-checks.
 
10560
        * keylist.c (list_keyblock): Act on this option.
 
10561
 
 
10562
2001-01-04  Werner Koch  <wk@gnupg.org>
 
10563
 
 
10564
        * g10.c (main): Set homedir only in the pre-parsing phase and
 
10565
        replace backslashes in the W32 version.
 
10566
 
 
10567
2001-01-03  Werner Koch  <wk@gnupg.org>
 
10568
 
 
10569
        * status.c, status.h : New status KEY_CREATED
 
10570
        * keygen.c (do_generate_keypair,generate_subkeypair): Emit it.
 
10571
 
 
10572
2000-12-28  Werner Koch  <wk@gnupg.org>
 
10573
 
 
10574
        * signal.c (got_fatal_signal): Remove lockfiles here because the
 
10575
        atexit stuff does not work due to the use of raise. Suggested by
 
10576
        Peter Fales.
 
10577
        * gpgv.c (remove_lockfiles): New stub.
 
10578
 
 
10579
2000-12-19  Werner Koch  <wk@gnupg.org>
 
10580
 
 
10581
        * status.c, status.h (cpr_get_no_help): New.
 
10582
        * keyedit.c (keyedit_menu): Use it here because we have our own
 
10583
        help list here.
 
10584
 
 
10585
2000-12-18  Werner Koch  <wk@gnupg.org>
 
10586
 
 
10587
        * mainproc.c (print_failed_pkenc): Don't print the sometimes
 
10588
        confusing message about unavailabe secret key.  Renamed ...
 
10589
        (print_pkenc_list): ... to this and introduced failed arg.
 
10590
        (proc_encrypted): Print the failed encryption keys and then
 
10591
        the one to be used.
 
10592
        (proc_pubkey_enc): Store also the key we are going to use.
 
10593
 
 
10594
        * mainproc.c (check_sig_and_print): Don't list revoked user IDs.
 
10595
        (is_uid_revoked): New.
 
10596
 
 
10597
2000-12-08  Werner Koch  <wk@gnupg.org>
 
10598
 
 
10599
        * pipemode.c: Made the command work.  Currently only for
 
10600
        non-armored detached signatures.
 
10601
        * mainproc.c (release_list): Reset the new pipemode vars.
 
10602
        (add_gpg_control): Handle the control packets for pipemode
 
10603
        * status.c, status.h: New stati {BEGIN,END}_STREAM.
 
10604
 
 
10605
2000-12-07  Werner Koch  <wk@gnupg.org>
 
10606
 
 
10607
        * g10.c: New option --allow-secret-key-import.
 
10608
        * import.c (import_keys,import_keys_stream): Honor this option.
 
10609
        (import): New arg allow_secret and pass that arg down to ...
 
10610
        (import_secret_one): to this and print a warning if secret key
 
10611
        importing is not allowed.
 
10612
 
 
10613
2000-12-05  Werner Koch  <wk@gnupg.org>
 
10614
 
 
10615
        * cipher.c (cipher_filter): Moved the end_encryption status ...
 
10616
        * encode.c (encode_simple,encode_crypt): to here
 
10617
        * sign.c (sign_file): and here.
 
10618
 
 
10619
        * status.c (mywrite): Removed.
 
10620
        (get_status_string): Removed the LFs from the strings.
 
10621
        (set_status_fd,is_status_enabed,write_status_text,
 
10622
        write_status_buffer): Replaced all mywrite by stdio calls and use
 
10623
        fdopen to create a strem.  This is needed to make things smoother
 
10624
        in the W32 version.
 
10625
 
 
10626
2000-12-04  Werner Koch  <wk@gnupg.org>
 
10627
 
 
10628
        * import.c (merge_blocks): Increment n_sigs for revocations.
 
10629
 
 
10630
2000-11-30  Werner Koch  <wk@gnupg.org>
 
10631
 
 
10632
        * g10.c (main): Use iobuf_translate_file_handle for all options
 
10633
        with filehandles as arguments.  This is function does some magic
 
10634
        for the W32 API.
 
10635
 
 
10636
        * verify.c (verify_signatures): Add a comment rant about the
 
10637
        detached signature problem.
 
10638
        * mainproc.c (proc_tree): Issue an error if a detached signature
 
10639
        is assumed but a standard one was found.
 
10640
        * plaintext.c (hash_datafiles): Don't fall back to read signature
 
10641
        from stdin.
 
10642
        * openfile.c (open_sigfile): Print verbose message only if the
 
10643
        file could be accessed.
 
10644
 
 
10645
2000-11-24  Werner Koch  <wk@gnupg.org>
 
10646
 
 
10647
        * passphrase.c [HAVE_DOSISH_SYSTEM]: Disabled all the agent stuff.
 
10648
 
 
10649
2000-11-16  Werner Koch  <wk@gnupg.org>
 
10650
 
 
10651
        * g10.c: New option --use-agent
 
10652
        * passphrase.c (agent_open,agent_close): New.
 
10653
        (agent_get_passphrase,agent_clear_passphrase): New.
 
10654
        (passphrase_clear_cache): New.
 
10655
        (passphrase_to_dek): Use the agent here.
 
10656
        * seckey-cert.c (do_check): Clear cached passphrases.
 
10657
 
 
10658
2000-11-15  Werner Koch  <wk@gnupg.org>
 
10659
 
 
10660
        * status.c (write_status_text): Moved the big switch to ...
 
10661
        (get_status_string): ... new function.
 
10662
        (write_status_buffer): New.
 
10663
 
 
10664
        * status.c (mywrite): New and replaced all write() by this.
 
10665
 
 
10666
        * status.c, status.h: Add 3 status lcodes for notaions and policy.
 
10667
        * mainproc.c (print_notation_data): Do status output of notations.
 
10668
 
 
10669
2000-11-13  Werner Koch  <wk@gnupg.org>
 
10670
 
 
10671
        * sign.c (clearsign_file): Use LF macro to print linefeed.
 
10672
 
 
10673
2000-11-11  Paul Eggert  <eggert@twinsun.com>
 
10674
 
 
10675
        Clean up the places in the code that incorrectly use "long" or
 
10676
        "unsigned long" for file offsets.  The correct type to use is
 
10677
        "off_t".  The difference is important on large-file hosts,
 
10678
        where "off_t" is longer than "long".
 
10679
 
 
10680
        * keydb.h (struct keyblock_pos_struct.offset):
 
10681
        Use off_t, not ulong, for file offsets.
 
10682
        * packet.h (dbg_search_packet, dbg_copy_some_packets,
 
10683
        search_packet, copy_some_packets): Likewise.
 
10684
        * parse-packet.c (parse, dbg_search_packet, search_packet,
 
10685
        dbg_copy_some_packets, copy_some_packets): Likewise.
 
10686
        * ringedit.c (keyring_search): Likewise.
 
10687
 
 
10688
        * parse-packet.c (parse): Do not use %lu to report file
 
10689
        offsets in error diagnostics; it's not portable.
 
10690
        * ringedit.c (keyring_search): Likewise.
 
10691
 
 
10692
2000-11-09  Werner Koch  <wk@gnupg.org>
 
10693
 
 
10694
        * g10.c (main): New option --enable-special-filenames.
 
10695
 
 
10696
2000-11-07  Werner Koch  <wk@gnupg.org>
 
10697
 
 
10698
        * g10.c (main): New command --pipemode.
 
10699
        * pipemode.c: New.
 
10700
 
 
10701
2000-10-23  Werner Koch  <wk@gnupg.org>
 
10702
 
 
10703
        * armor.c (armor_filter): Changed output of hdrlines, so that a CR
 
10704
        is emitted for DOS systems.
 
10705
 
 
10706
        * keygen.c (read_parameter_file): Add a cast for isspace().
 
10707
 
 
10708
        * status.c (myread): Use SIGINT instead of SIGHUP for DOS.
 
10709
 
 
10710
2000-10-19  Werner Koch  <wk@gnupg.org>
 
10711
 
 
10712
        * g10.c: New option --ignore-crc-error
 
10713
        * armor.c (invalid_crc): New.
 
10714
        (radix64_read): Act on new option.
 
10715
 
 
10716
        * openfile.c (try_make_homedir): Klaus Singvogel fixed a stupid
 
10717
        error introduced on Sep 6th.
 
10718
 
 
10719
2000-10-18  Werner Koch  <wk@gnupg.org>
 
10720
 
 
10721
        * misc.c (print_cipher_algo_note): Don't print the note for AES.
 
10722
        Changed wording.
 
10723
 
 
10724
2000-10-16  Werner Koch  <wk@gnupg.org>
 
10725
 
 
10726
        * mainproc.c (do_proc_packets): Hack to fix the problem that
 
10727
        signatures are not detected when there is a MDC packet but no
 
10728
        compression packet.
 
10729
 
 
10730
        * g10.c (print_hashline): New.
 
10731
        (print_mds): Use above func with --with-colons.
 
10732
 
 
10733
        * mainproc.c (check_sig_and_print): Detect multiple signatures
 
10734
        and don't verify them.
 
10735
 
 
10736
2000-10-14  Werner Koch  <wk@gnupg.org>
 
10737
 
 
10738
        * mainproc.c (add_onepass_sig): There is an easier solution to the
 
10739
        error fixed yesterday; just check that we only have onepass
 
10740
        packets.  However, the other solution provides an cleaner
 
10741
        interface and opens the path to get access to other information
 
10742
        from the armore headers.
 
10743
        (release_list): Reset some more variables.
 
10744
 
 
10745
2000-10-13  Werner Koch  <wk@gnupg.org>
 
10746
 
 
10747
        * mainproc.c (add_gpg_control): New.
 
10748
        (do_proc_packets): use it.
 
10749
        (proc_plaintext): Changed logic to detect clearsigns.
 
10750
        (proc_tree): Check the cleartext sig with some new code.
 
10751
 
 
10752
        * packet.h: New packet PKT_GPG_CONTROL.
 
10753
        * parse-packet.c (parse_gpg_control): New.
 
10754
        * misc.c (get_session_marker): New.
 
10755
        * armor.c (armor_filter): Replaced the faked 1-pass packet by the
 
10756
        new control packet.
 
10757
 
 
10758
        * keyedit.c (keyedit_menu): Allow batchmode with a command_fd.
 
10759
        * status.c (my_read): New.
 
10760
        (do_get_from_fd): use it.
 
10761
 
 
10762
2000-10-12  Werner Koch  <wk@gnupg.org>
 
10763
 
 
10764
        * keygen.c (keygen_add_std_prefs): Add Rijndael to the prefs.
 
10765
 
 
10766
2000-10-07  Werner Koch  <wk@gnupg.org>
 
10767
 
 
10768
        * gpgv.c: Add more stubs for ununsed code to make the binary smaller.
 
10769
 
 
10770
Wed Oct  4 15:50:18 CEST 2000  Werner Koch  <wk@openit.de>
 
10771
 
 
10772
        * sign.c (hash_for): New arg to take packet version in account, changed
 
10773
        call callers.
 
10774
 
 
10775
        * gpgv.c: New.
 
10776
        * Makefile.am: Rearranged source files so that gpgv can be build with
 
10777
        at least files as possible.
 
10778
 
 
10779
Mon Sep 18 12:13:52 CEST 2000  Werner Koch  <wk@openit.de>
 
10780
 
 
10781
        * hkp.c (not_implemented): Print a notice for W32
 
10782
 
 
10783
Fri Sep 15 18:40:36 CEST 2000  Werner Koch  <wk@openit.de>
 
10784
 
 
10785
        * keygen.c (keygen_add_std_prefs): Changed order of preferences to
 
10786
        twofish, cast5, blowfish.
 
10787
 
 
10788
        * pkclist.c (algo_available): Removed hack to disable Twofish.
 
10789
 
 
10790
Thu Sep 14 17:45:11 CEST 2000  Werner Koch  <wk@openit.de>
 
10791
 
 
10792
        * parse-packet.c (dump_sig_subpkt): Dump key flags. Print special
 
10793
        warning in case of faked ARRs.
 
10794
 
 
10795
        * getkey.c (finsih_lookup): Hack so that for v4 RSA keys the subkey
 
10796
        is used for encryption.
 
10797
 
 
10798
Thu Sep 14 14:20:38 CEST 2000  Werner Koch  <wk@openit.de>
 
10799
 
 
10800
        * g10.c (main): Default S2K algorithms are now SHA1 and CAST5 - this
 
10801
        should solve a lot of compatibility problems with other OpenPGP
 
10802
        apps because those algorithms are SHOULD and not optional.  The old
 
10803
        way to force it was by using the --openpgp option whith the drawback
 
10804
        that this would disable a couple of workarounds for PGP.
 
10805
 
 
10806
        * g10.c (main): Don't set --quite along with --no-tty.  By Frank Tobin.
 
10807
 
 
10808
        * misc.c (disable_core_dump): Don't display a warning here but a return
 
10809
        a status value and ...
 
10810
        * g10.c (main): ...print warnining here. Suggested by Sam Roberts.
 
10811
 
 
10812
Wed Sep 13 18:12:34 CEST 2000  Werner Koch  <wk@openit.de>
 
10813
 
 
10814
        * keyedit.c (keyedit_menu): Allow to use "debug" on the secret key.
 
10815
 
 
10816
        * ringedit.c (cmp_seckey): Fix for v4 RSA keys.
 
10817
        * seckey-cert.c (do_check): Workaround for PGP 7 bug.
 
10818
 
 
10819
Wed Sep  6 17:55:47 CEST 2000  Werner Koch  <wk@openit.de>
 
10820
 
 
10821
        * misc.c (print_pubkey_algo_note): Do not print the RSA notice.
 
10822
        * sig-check.c (do_signature_check): Do not emit the RSA status message.
 
10823
        * pubkey-enc.c (get_session_key): Ditto.
 
10824
 
 
10825
        * encode.c (encode_simple, encode_crypt): Fix for large files.
 
10826
        * sign.c (sign_file): Ditto.
 
10827
 
 
10828
Wed Sep  6 14:59:09 CEST 2000  Werner Koch  <wk@openit.de>
 
10829
 
 
10830
        * passphrase.c (hash_passphrase): Removed funny assert.  Reported by
 
10831
        David Mathog.
 
10832
 
 
10833
        * openfile.c (try_make_homedir): Changes for non-Posix systems.
 
10834
        * g10.c (main): Take the default homedir from macro.
 
10835
 
 
10836
        * g10.c: The --trusted-key option is back.
 
10837
        * trustdb.c (verify_own_key): Handle this option.
 
10838
        (add_ultimate_key): Moved stuff from verify_own_key to this new func.
 
10839
        (register_trusted_key): New.
 
10840
 
 
10841
Fri Aug 25 16:05:38 CEST 2000  Werner Koch  <wk@openit.de>
 
10842
 
 
10843
        * parse-packet.c (dump_sig_subpkt): Print info about the ARR.
 
10844
 
 
10845
        * openfile.c (overwrite_filep): Always return okay if the file is
 
10846
        called /dev/null.
 
10847
        (make_outfile_name): Add ".sign" to the list of know extensions.
 
10848
        (open_sigfile): Ditto.
 
10849
 
 
10850
Wed Aug 23 19:52:51 CEST 2000  Werner Koch  <wk@openit.de>
 
10851
 
 
10852
        * g10.c: New option --allow-freeform-uid. By Jeroen C. van Gelderen.
 
10853
        * keygen.c (ask_user_id): Implemented here.
 
10854
 
 
10855
Fri Aug  4 14:23:05 CEST 2000  Werner Koch  <wk@openit.de>
 
10856
 
 
10857
  * status.c (do_get_from_fd): Ooops, we used fd instead of opt.command_fd.
 
10858
  Thanks to Michael Tokarev.
 
10859
 
 
10860
Tue Aug  1 20:06:23 CEST 2000  Werner Koch  <wk@openit.de>
 
10861
 
 
10862
  * g10.c: New opttion --try-all-secrets on suggestion from Matthias Urlichs.
 
10863
  * pubkey-enc.c (get_session_key): Quite easy to implement here.
 
10864
 
 
10865
Thu Jul 27 17:33:04 CEST 2000  Werner Koch  <wk@openit.de>
 
10866
 
 
10867
  * g10.c: New option --merge-only.  Suggested by Brendan O'Dea.
 
10868
  * import.c (import_one): Implemented it here
 
10869
  (import_secret_one): Ditto.
 
10870
  (print_stats): and give some stats.
 
10871
 
 
10872
Thu Jul 27 12:01:00 CEST 2000  Werner Koch  <wk@openit.de>
 
10873
 
 
10874
  * g10.c: New options --show-session-key and --override-session-key
 
10875
  * pubkey-enc.c (hextobyte): New.
 
10876
  (get_override_session_key): New.
 
10877
  * mainproc.c (proc_pubkey_enc): Add session-key stuff.
 
10878
  * status.h, status.c (STATUS_SESSION_KEY): New.
 
10879
 
 
10880
Thu Jul 27 10:02:38 CEST 2000  Werner Koch  <wk@openit.de>
 
10881
 
 
10882
  * g10.c (main): Use setmode(O_BINARY) for MSDOS while generating random bytes
 
10883
  (print_mds): Likewise for stdin.
 
10884
  * plaintext.c (handle_plaintext): Likewise for stdout.
 
10885
 
 
10886
Mon Jul 24 10:30:17 CEST 2000  Werner Koch  <wk@openit.de>
 
10887
 
 
10888
  * keyedit.c (menu_expire): expire date for primary key can be set again.
 
10889
 
 
10890
Wed Jul 19 11:26:43 CEST 2000  Werner Koch  <wk@openit.de>
 
10891
 
 
10892
  * keylist.c (is_uid_valid): New.
 
10893
  (list_keyblock): Print validity information for all user IDs.  Note, this
 
10894
  has to be done at other places too; for now we have only minimal support.
 
10895
 
 
10896
Wed Jul 12 13:32:06 CEST 2000  Werner Koch  <wk@openit.de>
 
10897
 
 
10898
  * helptext.c, pkclist.c: s/superseeded/superseded/
 
10899
 
 
10900
Mon Jul 10 16:08:57 CEST 2000  Werner Koch  <wk@openit.de>
 
10901
 
 
10902
  * parse-packet.c (enum_sig_subpkt): Fixed testing on crtitical bit in case
 
10903
  of a NULL buffer.  Reported by Peter Marschall.
 
10904
 
 
10905
Wed Jul  5 13:28:45 CEST 2000  Werner Koch  <wk@openit.de>
 
10906
 
 
10907
  * keyedit.c, keyid.c: Add some _()
 
10908
 
 
10909
  * argparse.c:  Changed the flag to suppress --version handling to also
 
10910
  suppress --help.
 
10911
 
 
10912
Wed Jun 28 11:54:44 CEST 2000  Werner Koch  <wk@openit.de>
 
10913
 
 
10914
  * armor.c (armor_filter): Set sigclass to 0 in case of non-dash-escaped
 
10915
  clearsig.  This makes this mode work again.
 
10916
 
 
10917
  * mainproc.c (proc_tree): Fixed handling of one-pass-sig packets in textmode.
 
10918
  Disabled the ugly workaround for PGP 5 - let's see whether thi breaks less
 
10919
  cases. Found by Ted Cabeen.
 
10920
 
 
10921
  * options.h (DBG_HASHING): New.  All commented md_start_debug are now
 
10922
  controlled by this debug option.
 
10923
 
 
10924
  * sign.c (print_status_sig_created): New and called from 2 places.
 
10925
 
 
10926
  * keygen.c (gen_rsa): New, but commented.
 
10927
  (ask_algo): Commented support for RSA.
 
10928
 
 
10929
  * seckey-cert.c (protect_secret_key): Started to fix the code for v4 RSA
 
10930
  keys - it is not solved yet. However, we have time until, Sep 20th ;)
 
10931
 
 
10932
Wed Jun 14 12:27:09 CEST 2000  Werner Koch  <wk@openit.de>
 
10933
 
 
10934
  * status.c (init_shm_coprocessing): Changed the sequence of the get,attach
 
10935
  to cope with the changes in newer Linux kernels.  This bug has been found
 
10936
  by <dmitri@advantrix.com> who also proposed this solution.  Hopefully
 
10937
  this does not break gpg on to many systems.
 
10938
 
 
10939
  * cipher.c (write_header): Protect the IV with the MDC too.
 
10940
  * encr-data.c (decrypt_data): Likewise.
 
10941
 
 
10942
Fri Jun  9 10:09:52 CEST 2000  Werner Koch  <wk@openit.de>
 
10943
 
 
10944
  * g10.c: New options --no-auto-key-retrieve
 
10945
  * options.h (auto_key_retrieve): New.
 
10946
  * mainproc.c (check_sig_and_print): Implemented that.
 
10947
 
 
10948
Wed Jun  7 19:19:09 CEST 2000  Werner Koch  <wk@openit.de>
 
10949
 
 
10950
  * sig-check.c (do_check): Use EMULATE_MDENCODE also on v4 packets.
 
10951
 
 
10952
Wed Jun  7 17:25:38 CEST 2000  Werner Koch  <wk@openit.de>
 
10953
 
 
10954
  * cipher.c (write_header): Use plain CFB mode for MDC encrypted packets.
 
10955
  * encr-data.c (decrypt_data): Ditto.
 
10956
 
 
10957
Mon Jun  5 23:41:54 CEST 2000  Werner Koch  <wk@openit.de>
 
10958
 
 
10959
  * seskey.c (do_encode_md, encode_md_value): Add new arg v3compathack to work
 
10960
  around a bug in old versions.
 
10961
  * sig-check.c (do_check): use the aboved workaround when enabled.
 
10962
  * g10.c: New option --emulate-md-decode-bug
 
10963
 
 
10964
Mon Jun  5 12:37:43 CEST 2000  Werner Koch  <wk@openit.de>
 
10965
 
 
10966
  * build-packet.c (do_mdc): New.
 
10967
  (do_encrypted_mdc): Changed for the new proposal.
 
10968
  * parse-packet.c (parse_mdc): New.
 
10969
  (parse_encrypted): Fixed for the new proposal.
 
10970
  * packet.h (PKT_MDC): New.
 
10971
  * cipher.c (cipher_filter): Build the MDC packet here.
 
10972
  * g10.c (main): Enable --force-mdc.
 
10973
  * encr-data.c (mdc_decode_filter): Fixed for new MDC method
 
10974
 
 
10975
  * options.h(rfc2440): New.
 
10976
  * g10.c (main): Changed the selected values for --openpgp to not include
 
10977
  optional algorithms.
 
10978
 
 
10979
Thu May 18 11:38:54 CEST 2000  Werner Koch  <wk@openit.de>
 
10980
 
 
10981
        * keyedit.c (keyedit_menu): Add a keyword arg to the prompt.
 
10982
 
 
10983
        * status.c, status.h: Added 3 new status tokens.
 
10984
        * status.c (do_get_from_fd): New.
 
10985
        (cpr_enabled,cpr_get,cpr_get_hidden,cpr_kill_prompt,
 
10986
         cpr_get_answer_is_yes,cpr_get_answer_yes_no_quit): Modified to work
 
10987
         with the new function.
 
10988
        * g10.c: Add new option --command-fd.
 
10989
 
 
10990
        * status.c (progress_cb): New.
 
10991
        (set_status_fd): Register progress functions
 
10992
 
 
10993
Fri May 12 14:01:20 CEST 2000  Werner Koch  <wk@openit.de>
 
10994
 
 
10995
        * delkey.c (delete_key): Add 2 new status messages
 
10996
        * status.c, status.h (STATUS_DELETE_PROBLEM): New.
 
10997
 
 
10998
        Fixed years of copyright in all source files.
 
10999
 
 
11000
Mon May  1 17:08:14 CEST 2000  Werner Koch  <wk@openit.de>
 
11001
 
 
11002
        * trustdb.c (propagate_validity): Fixed the bug that only one uid
 
11003
        gets fully trusted even when all are signed by an ultimate key.
 
11004
 
 
11005
Mon May  1 15:38:04 CEST 2000  Werner Koch  <wk@openit.de>
 
11006
 
 
11007
        * getkey.c (key_byname): Always returned a defined context.  Fixed
 
11008
        a segv for invalid user id specifications. Reported by Walter Koch.
 
11009
 
 
11010
        * getkey.c (get_user_id): I18ned "no user id" string. By Walter.
 
11011
 
 
11012
        * pkclist.c (do_show_revocation_reason): Typo fixes.
 
11013
        * helptext.c: Ditto.
 
11014
 
 
11015
        * armor.c (armor_filter): Fixed some CRLF issues.  By Mike McEwan.
 
11016
 
 
11017
Fri Apr 14 19:37:08 CEST 2000  Werner Koch  <wk@openit.de>
 
11018
 
 
11019
        * pkclist.c (do_show_revocation_reason): New.
 
11020
        (show_revocation_reason): New and called at various places.
 
11021
 
 
11022
        * g10.c (main): Fixed small typo.
 
11023
 
 
11024
        * pkclist.c (do_we_trust): Act on always_trust but not for revoked
 
11025
        keys. Suggested by Chip Salzenberg.
 
11026
 
 
11027
        * g10.c: New option --lock-never.
 
11028
 
 
11029
        * ringedit.c (get_writable_keyblock_file): New.
 
11030
        * keygen.c (do_generate_keypair): Use this instead of the hardwired one.
 
11031
 
 
11032
        * keygen.c (ask_user_id): Check that the email address is in the
 
11033
        correct field.  Suggested by Christian Kurz.
 
11034
 
 
11035
Mon Apr 10 13:34:19 CEST 2000  Werner Koch  <wk@openit.de>
 
11036
 
 
11037
        * keyedit.c (show_key_with_all_names): s/sbb/ssb/
 
11038
 
 
11039
Tue Mar 28 14:26:58 CEST 2000  Werner Koch  <wk@openit.de>
 
11040
 
 
11041
        * trustdb.c (verify_own_keys): Do not print warning about unprotected
 
11042
        key when in quiet mode.
 
11043
 
 
11044
Wed Mar 22 13:50:24 CET 2000  Werner Koch  <wk@openit.de>
 
11045
 
 
11046
        * mainproc.c (print_userid): Do UTF8 conversion before printing.
 
11047
        * import.c (import_one): Ditto.
 
11048
        (import_secret_one): Ditto.
 
11049
        (delete_inv_parts): Ditto.
 
11050
 
 
11051
Thu Mar 16 16:20:23 CET 2000  Werner Koch  <wk@openit.de>
 
11052
 
 
11053
        * keylist.c (print_key_data): Handle a NULL pk gracefully.
 
11054
 
 
11055
        * getkey.c (merge_one_pk_and_selfsig): Fixed silly code for
 
11056
        getting the primary keys keyID but kept using the one from the
 
11057
        subkey.
 
11058
        * pubkey-enc.c (get_it): Print a note for expired subkeys.
 
11059
 
 
11060
        * getkey.c (has_expired): New.
 
11061
        (subkeys_expiretime): New.
 
11062
        (finish_lookup): Check for expired subkeys needed for encryption.
 
11063
        (merge_keys_and_selfsig): Fixed expiration date merging for subkeys.
 
11064
 
 
11065
        * keylist.c (list_keyblock): Print expiration time for "sub".
 
11066
        (list_one): Add missing merging for public keys.
 
11067
        * mainproc.c (list_node): Ditto.
 
11068
 
 
11069
2000-03-14 13:49:38  Werner Koch  (wk@habibti.openit.de)
 
11070
 
 
11071
        * keygen.c (keyedit_menu): Do not allow to use certain commands
 
11072
        while the secret key is selected.
 
11073
 
 
11074
2000-03-09 12:53:09  Werner Koch  (wk@habibti.openit.de)
 
11075
 
 
11076
        * keygen.c (ask_expire_interval): Movede parsig to ...
 
11077
        (parse_expire_string): ... this new function. And some new control
 
11078
        commands.
 
11079
        (proc_parameter_file): Add expire date parsing.
 
11080
        (do_generate_keypair): Allow the use of specified output files.
 
11081
 
 
11082
2000-03-08 10:38:38  Werner Koch  (wk@habibti.openit.de)
 
11083
 
 
11084
        * keygen.c (ask_algo): Removed is_v4 return value and the commented
 
11085
        code to create Elg keys in a v3 packet. Removed the rounding
 
11086
        of key sizes here.
 
11087
        (do_create): Likewise removed arg v4_packet.
 
11088
        (gen_elg): Likewise removed arg version. Now rounding keysizes here.
 
11089
        (gen_dsa): Rounding keysize now here.
 
11090
        (release_parameter_list): New
 
11091
        (get_parameter*): New.
 
11092
        (proc_parameter_file): New.
 
11093
        (read_parameter_file): New.
 
11094
        (generate_keypair): Splitted. Now uses read_parameter_file when in
 
11095
        batch mode.  Additional argument to specify a parameter file.
 
11096
        (do_generate_keypair): Main bulk of above fucntion and uses the
 
11097
        parameter list.
 
11098
        (do_create): Don't print long notice in batch mode.
 
11099
        * g10.c (main): Allow batched key generation.
 
11100
 
 
11101
Thu Mar  2 15:37:46 CET 2000  Werner Koch  <wk@gnupg.de>
 
11102
 
 
11103
        * pubkey-enc.c (get_it): Print a note about unknown cipher algos.
 
11104
 
 
11105
        * g10.c (opts): Add a note to the help listing about the man page
 
11106
        and removed some options from the help listing.
 
11107
 
 
11108
        * keyedit.c (print_and_check_one_sig): Use a new function to truncate
 
11109
        the output of the user ID.  Suggested by Jan-Benedict Glaw.
 
11110
 
 
11111
Wed Feb 23 10:07:57 CET 2000  Werner Koch  <wk@gnupg.de>
 
11112
 
 
11113
        * helptext.c: typo fix.
 
11114
 
 
11115
Thu Feb 17 13:39:32 CET 2000  Werner Koch  <wk@gnupg.de>
 
11116
 
 
11117
        * revoke.c: Removed a bunch of commented code.
 
11118
 
 
11119
        * packet.h (SIGSUBPKT_REVOC_REASON): New.
 
11120
        * build-packet.c (build_sig_subpkt): Support new sub packet.
 
11121
        * parse-packet.c (parse_one_sig_subpkt): Ditto.
 
11122
        (dump_sig_subpkt): Ditto.
 
11123
        * revoke.c (ask_revocation_reason): New.
 
11124
        (release_revocation_reason_info): New.
 
11125
        (revocation_reason_build_cb): New.
 
11126
        (gen_revoke): Ask for reason.
 
11127
        * main.h (struct revocation_reason_info): Add declaration.
 
11128
        * keyedit.c (menu_revsig): Add support for revocation reason.
 
11129
        (menu_revkey): Ditto.
 
11130
        (sign_uid_mk_attrib): Renamed to ...
 
11131
        (sign_mk_attrib): ... this, made static and add support for reasons.
 
11132
 
 
11133
Tue Feb 15 08:48:13 CET 2000  Werner Koch  <wk@gnupg.de>
 
11134
 
 
11135
        * build-packet.c (build_packet): Fixed fixing of old comment packets.
 
11136
 
 
11137
        * import.c (import_keys): Fixed importing from stdin when called with
 
11138
        nnames set to zero as it normally happens.
 
11139
 
 
11140
Mon Feb 14 14:30:20 CET 2000  Werner Koch  <wk@gnupg.de>
 
11141
 
 
11142
        * sig-check.c (check_key_signature2): Add new arg r_expired.
 
11143
        (do_signature_check): New arg to pass it down to ...
 
11144
        (do_check): New arg r-expire which is set when the signature
 
11145
        has expired.
 
11146
        * trustdb.c (check_sig_record): Set SIGF_EXPIRED flag and set
 
11147
        the expiretime to zero so that thi signature will not be checked
 
11148
        anymore.
 
11149
 
 
11150
Fri Feb 11 17:44:40 CET 2000  Werner Koch  <wk@gnupg.de>
 
11151
 
 
11152
        * g10.c (g10_exit): Update the random seed_file.
 
11153
        (main): Set the random seed file.  New option --no-random-seed-file.
 
11154
 
 
11155
Thu Feb 10 17:39:44 CET 2000  Werner Koch  <wk@gnupg.de>
 
11156
 
 
11157
        * keyedit.c (menu_expire): Fixed segv due to unitialized sub_pk.
 
11158
        By Rémi.
 
11159
 
 
11160
Thu Feb 10 11:39:41 CET 2000  Werner Koch  <wk@gnupg.de>
 
11161
 
 
11162
        * keylist.c (list_keyblock): Don't print warnings in the middle of
 
11163
        regulat output lines.  By Rémi.
 
11164
 
 
11165
        * sig-check.c: Include options.h
 
11166
 
 
11167
Wed Feb  9 15:33:44 CET 2000  Werner Koch  <wk@gnupg.de>
 
11168
 
 
11169
        * gpg.c: New option --ignore-time-conflict
 
11170
        * sig-check.c (do_check): Implemented this option.
 
11171
        * trustdb.c (check_trust): Ditto.
 
11172
        * sign.c (do_sign): Ditto.
 
11173
        * keygen.c (generate_subkeypair): Ditto.
 
11174
 
 
11175
        * encode.c (encode_simple): use iobuf_cancel after open failure.
 
11176
        Reported by Huy Le.
 
11177
 
 
11178
Fri Jan 14 18:32:01 CET 2000  Werner Koch  <wk@gnupg.de>
 
11179
 
 
11180
        * packet.h (STRING2KEY): Changed mode from byte to int.
 
11181
        * parse-packet.c (parse_key): Add the special GNU protection stuff
 
11182
        * build-packet.c (so_secret_key): Ditto.
 
11183
        * seckey-cert.c (do_check): Ditto.
 
11184
        * keyedit.c (change_passphrase): Ditto.
 
11185
        * export.c (export_secsubkeys): New.
 
11186
        (do_export_stream): Hack to export the primary key using mode 1001.
 
11187
        * g10.c: New command --export-secret-subkeys
 
11188
 
 
11189
Thu Jan 13 19:31:58 CET 2000  Werner Koch  <wk@gnupg.de>
 
11190
 
 
11191
        * armor.c (is_armored): Check for 1-pass-sig packets. Reported by
 
11192
        David Hallinan <hallinan@rtd.com>.
 
11193
        (armor_filter): Replaced one LF by the LF macro.  Reported by
 
11194
        Wolfgang Redtenbacher.
 
11195
 
 
11196
Wed Jan  5 11:51:17 CET 2000  Werner Koch  <wk@gnupg.de>
 
11197
 
 
11198
        * g10.c (main): Reset new global flag opt.pgp2_workarounds
 
11199
        when --openpgp is used.
 
11200
        * mainproc.c (proc_plaintext): Do the PGP2,5 workarounds only
 
11201
        when the global flag is set.
 
11202
        (proc_tree): Ditto.
 
11203
        * textfilter.c (copy_clearsig_text): Ditto.
 
11204
        * armor.c (armor_filter): Ditto.
 
11205
 
 
11206
        * g10.c: New option --list-only
 
11207
        * mainproc.c (proc_tree): Don't do it if opt.list_only is active.
 
11208
        (proc_pubkey_enc): Implement option.
 
11209
 
 
11210
        * status.h, status.c ({BEGIN,END}_{EN,DE}CRYPTION): New.
 
11211
        * cipher.c (cipher_filter): New status outputs.
 
11212
        * mainproc.c (proc_encrypted): New status outputs.
 
11213
 
 
11214
Fri Dec 31 14:08:15 CET 1999  Werner Koch  <wk@gnupg.de>
 
11215
 
 
11216
        * armor.c (armor_filter): Made the "Comment:" header translatable.
 
11217
 
 
11218
        * hkp.c (hkp_import): Make sure that the program does not return
 
11219
        success when there is a connection problem.  Reported by Phillip Jones.
 
11220
 
 
11221
Sun Dec 19 15:22:26 CET 1999  Werner Koch  <wk@gnupg.de>
 
11222
 
 
11223
        * armor.c (LF): Use this new macro at all places where a line LF
 
11224
        is needed.  This way DOSish textfiles should be created when the
 
11225
        input data is also in dos mode.
 
11226
        * sign.c (LF): Ditto.
 
11227
        * textfilter.c (LF): Ditto.
 
11228
        (copy_clearsig_text): Disabled the forcing of CR,LF sequences
 
11229
        for DOS systems.
 
11230
 
 
11231
        * plaintext.c (handle_plaintext): Fixes for line endings on DOS.
 
11232
        and react on a LF in cleartext.
 
11233
        * armor.c (fake_packet): Restore the original line ending after
 
11234
        removing trailing spaces.
 
11235
 
 
11236
        * signal.c (got_fatal_signal): DOS fix.
 
11237
 
 
11238
Thu Dec 16 10:07:58 CET 1999  Werner Koch  <wk@gnupg.de>
 
11239
 
 
11240
        * mainproc.c (print_failed_pkenc): Fix for unknown algorithm.
 
11241
        Found by fygrave@epr0.org.
 
11242
 
 
11243
Thu Dec  9 10:31:05 CET 1999  Werner Koch  <wk@gnupg.de>
 
11244
 
 
11245
        * hkp.c: i18n the strings.
 
11246
 
 
11247
Sat Dec  4 15:32:20 CET 1999  Werner Koch  <wk@gnupg.de>
 
11248
 
 
11249
        * trustdb.c (verify_key): Shortcut for ultimately trusted keys.
 
11250
 
 
11251
Sat Dec  4 12:30:28 CET 1999  Werner Koch  <wk@gnupg.de>
 
11252
 
 
11253
        * pkclist.c (build_pk_list): Validate the trust using the namehash
 
11254
        if this one has been set by the key lookup.
 
11255
 
 
11256
        * g10.c: Add --delete-secret-key to the help page.
 
11257
 
 
11258
        * openfile.c (copy_options_file): Made static.
 
11259
        (try_make_homedir): New.
 
11260
        * ringedit.c (add_keyblock_resource): Use the try_make_hoemdir logic.
 
11261
        * tdbio.c (tdbio_set_dbname): Likewise.
 
11262
 
 
11263
        * keygen.c (generate_user_id): Use m_alloc_clear() here. We should
 
11264
        better use an allocation function specific to the user_id packet.
 
11265
 
 
11266
        * keygen.c (keygen_add_std_prefs): Changed symmetric preferences
 
11267
        to include Blowfish again.  This is due to it's better speed compared
 
11268
        to CAST5.
 
11269
 
 
11270
        * g10.c (strusage): Print the home directory.
 
11271
 
 
11272
        * armor.c (armor_filter): Take action on the cancel control msg.
 
11273
        * filter.h (armor_filter_context_t): Add cancel flag.
 
11274
 
 
11275
Mon Nov 29 21:52:11 CET 1999  Werner Koch  <wk@gnupg.de>
 
11276
 
 
11277
        * g10.c: New option --fast-list-mode ..
 
11278
        * keylist.c (list_keyblock): .. and implemented.
 
11279
        * mainproc.c (list_node): Ditto.
 
11280
 
 
11281
        * import.c (mark_non_selfsigned_uids_valid): Fixed the case that there
 
11282
        is a uid without any packet following.
 
11283
 
 
11284
Mon Nov 22 11:14:53 CET 1999  Werner Koch  <wk@gnupg.de>
 
11285
 
 
11286
        * mainproc.c (proc_plaintext): Never enable the hash processing
 
11287
        when skip_verify is active.
 
11288
 
 
11289
        * armor.c (parse_header_line): Stop parsing on a WS line too.
 
11290
        Suggested by Aric Cyr.
 
11291
 
 
11292
        * tdbdump.c (HEXTOBIN): Changed the name of the argument, so that
 
11293
        traditional cpp don't mess up the macros. Suggested by Jos Backus.
 
11294
 
 
11295
        * mainproc.c (list_node): Print the PK algo in the --with-colon mode.
 
11296
        * keylist.c (list_keyblock): Ditto.
 
11297
 
 
11298
        * signal.c (got_fatal_signal): Found the reason why exit(8) did not
 
11299
        work - it is better to set the disposition back to default before
 
11300
        raising the signal.  Print the notice on stderr always.
 
11301
 
 
11302
Fri Nov 12 20:33:19 CET 1999  Werner Koch  <wk@gnupg.de>
 
11303
 
 
11304
        * g10.c (make_username): Swapped the logic.
 
11305
        * keylist.c (public_key_list): Now takes a STRLIST as arg and moved
 
11306
        the creation ot this list to the caller, so that he can copy with
 
11307
        UTF-conversion of user IDs.  Changed all callers.
 
11308
        (secret_key_list): Likewise.
 
11309
 
 
11310
        * getkey.c (get_user_id_string_native): New and ...
 
11311
        * encode.c (write_pubkey_enc_from_list): ... use it here.
 
11312
 
 
11313
        * pubring.asc: Updated.
 
11314
 
 
11315
        * packet.h (PKT_PHOTO_ID): New.
 
11316
        * parse-packet.c (parse_photo_id): New.
 
11317
        * build-packet.c (do_user_id: Handle photo IDs.
 
11318
        (build_packet): Change CTB for photo IDs
 
11319
        * free-packet.c (free_user_id): Release memory used for photo IDs
 
11320
        * sig-check.c (hash_uid_node): Handle photo IDs too.
 
11321
        * trustdb.c (print_uid_from_keyblock): Hash photo ID.
 
11322
        (make_uid_records): Ditto.
 
11323
        * getkey.c (find_by_name): Ditto.
 
11324
        * keyedit.c (show_prefs): Ditto.
 
11325
        * keylist.c (list_keyblock): Ditto.
 
11326
 
 
11327
Thu Oct 28 16:08:20 CEST 1999  Werner Koch  <wk@gnupg.de>
 
11328
 
 
11329
        * keygen.c (ask_expire_interval): Print a warning for systems
 
11330
        with a signed 32 time_t if the exiration time is beyoind 2038.
 
11331
 
 
11332
Fri Oct  8 20:40:50 CEST 1999  Werner Koch  <wk@gnupg.de>
 
11333
 
 
11334
        * ringedit.c (enum_keyblocks): The last fix way really stupid;
 
11335
        reverted and set rt to Unknown.
 
11336
 
 
11337
Fri Oct  8 20:32:01 CEST 1999  Werner Koch  <wk@gnupg.de>
 
11338
 
 
11339
        * ringedit.c (enum_keyblocks): Zero the entire kbpos out on open.
 
11340
 
 
11341
        * g10.c (oEntropyDLL): Removed option.
 
11342
        (main): Made the warning on development versions more verbose.
 
11343
 
 
11344
        * g10.c (oHonorHttpProxy): New option.
 
11345
        * hkp.c (hkp_ask_import,hkp_export): Implement this option.
 
11346
        * options.skel: Enable this option for new installations
 
11347
 
 
11348
Mon Oct  4 21:23:04 CEST 1999  Werner Koch  <wk@gnupg.de>
 
11349
 
 
11350
        * import.c (import_keys): Changed calling interface, adjusted caller.
 
11351
        (import): Moved printing of stats out ...
 
11352
        (print_stats): New. ... to here.
 
11353
        (import_keys_stream): Call stats print here.
 
11354
        (import_keys): Print stats as totals for all files.
 
11355
 
 
11356
        * tdbio.h (DIRF_NEWKEYS): New
 
11357
        * tdbio.c (tdbio_dump_record): Print the new flag.
 
11358
        * trustdb.c (check_trust_record): New arg sigs_only.  Adapted all
 
11359
        callers.
 
11360
        (do_update_trust_record): Removed recheck arg and add a new sigs_only
 
11361
        do we can later improve on the performance.  Changed all callers too.
 
11362
        (check_trustdb): Evalutate the new flag and add a status output.
 
11363
        Do a check when the dir record has not been checked.
 
11364
        (build_cert_tree): Evaluate the new flag.
 
11365
        (check_trust): Ditto.  Do a trust_record check, when the dir record
 
11366
        is not marked as checked.
 
11367
        (mark_fresh_keys): New.
 
11368
        (clear_lid_table): New.
 
11369
        (sync_trustdb): New.
 
11370
        * import.c (import_keys): Call sync_trustdb() after processing.
 
11371
        (import_keys_stream): Ditto.
 
11372
        * tdbdump.c (import_ownertrust): Ditto.
 
11373
 
 
11374
        * import.c (import_revoke_cert): Notify the trust DB.
 
11375
        (do_update_trust_record): Use |= to set the REVOKED bit and not &=;
 
11376
        shame on me for this bad copy+paste introduced bug.
 
11377
        (do_we_trust): Add trustmask to allow revoked key override to work.
 
11378
        Chnaged are to allow return of a mofified trustlevel. Adapted the
 
11379
        one caller.
 
11380
 
 
11381
        * g10.c: New options --emulate-3des-s2k-bug
 
11382
        * passphrase.c (hash_passphrase): Implemented above.
 
11383
 
 
11384
        * mainproc.c (proc_tree): Check for standalone signatures.
 
11385
        (do_check_sig): Print a notice for a standalone revocation
 
11386
        (check_sig_and_print): Do not print an error for unchecked standalone
 
11387
        revocations.
 
11388
 
 
11389
Tue Sep 28 20:54:37 CEST 1999  Werner Koch  <wk@gnupg.de>
 
11390
 
 
11391
        * encode.c (encode_simple): Use new CTB when we don't have the
 
11392
        length of the file.  This is somewhat strange as the comment above
 
11393
        indicates that this part is actually fixed for PGP 5 - maybe I simply
 
11394
        lost the source line, tsss.
 
11395
 
 
11396
        * armor.c (armor_filter): Set a flag if no OpenPGP data has been found.
 
11397
        * verify.c (verify_signatures): Add an error helptext.
 
11398
 
 
11399
Thu Sep 23 19:24:30 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11400
 
 
11401
        * openfile.c (open_outfile): Fixed the 8dot3 handling.
 
11402
 
 
11403
        * passphrase.c (passphrase_to_dek): Print uid using utf8 func.
 
11404
        * delkey.c (delete_key): Ditto.
 
11405
        * pkclist.c (show_paths,do_edit_ownertrust,do_we_trust): Ditto
 
11406
        (do_we_trust_pre): Ditto.
 
11407
        * trustdb.c (print_user_id,check_uidsigs): Ditto.
 
11408
        * revoke.c (gen_revoke,ask_revoke_sig): Ditto.
 
11409
 
 
11410
Thu Sep 23 09:52:58 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11411
 
 
11412
        * verify.c (print_file_status): New.
 
11413
        (verify_one_file): Moved status print to th new fnc. Add error status.
 
11414
        * status.c, status.h (STATUS_FILE_ERROR): New
 
11415
 
 
11416
Wed Sep 22 10:14:17 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11417
 
 
11418
        * openfile.c (make_outfile_name): Use case-insenstive compare for
 
11419
        DOS systems.  Add ".pgp" to the list of know extensions.
 
11420
        (open_outfile): For DOS systems try to replace the suffiy instead of
 
11421
        appending it.
 
11422
 
 
11423
        * status.c, status.h: Add STATUS_FILE_{START,DONE}.
 
11424
        * verify.c (verify_one_file): Emit these new stati.
 
11425
 
 
11426
        * sign.c (clearsign_file): Avoid duplicated Entries in the "Hash:"
 
11427
        line.  Those headers are now only _not_ printed when there are
 
11428
        only old-style keys _and_ all hashs are MD5.
 
11429
 
 
11430
Mon Sep 20 12:24:41 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11431
 
 
11432
 
 
11433
        * verify.c (verify_files, ferify_one_file): New.
 
11434
        * g10.c:  New command --verify-files
 
11435
 
 
11436
Fri Sep 17 12:56:42 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11437
 
 
11438
        * g10.c: Add UK spelling as alias for armor options ;-)
 
11439
 
 
11440
        * import.c (append_uid): Fixed a SEGV when there is no selfsig and
 
11441
        no subkey.
 
11442
        (merge_sigs): Ditto.  Removed the assertion.
 
11443
 
 
11444
Wed Sep 15 16:22:17 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11445
 
 
11446
        * g10.c: New option --entropy-dll-name
 
11447
 
 
11448
Mon Sep 13 10:51:29 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11449
 
 
11450
        * signal.c (got_fatal_signal): Print message using write(2) and
 
11451
        only for development versions.
 
11452
 
 
11453
Mon Sep  6 19:59:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11454
 
 
11455
        * tdbio.c (tdbio_set_dbname): Use mkdir macro
 
11456
        * ringedit.c (add_keyblock_resource): Ditto.
 
11457
 
 
11458
Fri Sep  3 10:04:45 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11459
 
 
11460
        * pkclist.c (build_pk_list): Skip keys set with --encrypt-to also
 
11461
        when asking for a key.
 
11462
 
 
11463
        * plaintext.c (handle_plaintext): Make sure that we don't read a
 
11464
        second EOF in the read loop for partial length packets.
 
11465
 
 
11466
        * mainproc.c (check_sig_and_print): print user ID as utf-8.
 
11467
 
 
11468
Thu Sep  2 16:40:55 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11469
 
 
11470
        * import.c (merge_blocks): First add new subkeys, then merge subkey
 
11471
        certificates.
 
11472
        (merge_sigs): Don't merge subkey signatures here.
 
11473
 
 
11474
Wed Sep  1 15:30:44 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11475
 
 
11476
        * keygen.c (ask_expire_interval): Fixed bug related to cpr_xx (tnx
 
11477
        Francis J. Lacoste).
 
11478
 
 
11479
Tue Aug 31 17:20:44 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11480
 
 
11481
        * plaintext.c (do_hash): Hash CR,LF for a single CR.
 
11482
        (ask_for_detached_datafile): Changed arguments to be closer to
 
11483
        those of hash_datafiles and cleanup the code a bit.
 
11484
        * mainproc.c (proc_tree): Workaround for pgp5 textmode detached
 
11485
        signatures.  Changed behavior of asking for data file to be the same
 
11486
        as with provided data files.
 
11487
 
 
11488
        * keylist.c (list_keyblock): Use UTF8 print functions.
 
11489
 
 
11490
Mon Aug 30 20:38:33 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11491
 
 
11492
        * import.c (chk_self_sigs): some s/log_error/log_info/ so that gpg
 
11493
        does not return an error if a key has some invalid packets.
 
11494
 
 
11495
        * helptext.c: Fixed some typos and changed the way the
 
11496
        translation works.  The english text is now the keyword for gettext
 
11497
        and not anymore the keyword supplied to the function.  Done after
 
11498
        some discussion with Walter who thinks this is much easier for the
 
11499
        translators.
 
11500
 
 
11501
        * misc.c (disable_core_dumps): Don't do it for DOSish systems.
 
11502
 
 
11503
        * signal.c (signal_name): Bounds check on signum.
 
11504
 
 
11505
Wed Aug  4 10:34:18 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11506
 
 
11507
        * pubring.asc: Updated.
 
11508
 
 
11509
        * pkclist.c (do_we_trust_pre,check_signatures_trust): Do not print
 
11510
        the warning about --always_trust when --quiet is used.
 
11511
 
 
11512
        * pkclist.c (fpr_info): New and called at several places.
 
11513
 
 
11514
        * parse-packet.c (dump_sig_subpkt): List revocation key contents.
 
11515
 
 
11516
Mon Jul 26 09:34:46 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11517
 
 
11518
        * pkclist.c (build_pk_list): Fixed typo in format string.
 
11519
 
 
11520
        * trustdb.c (create_shadow_dir): Don't translate the error string.
 
11521
 
 
11522
        * g10.c (main): Fixed spelling of user-id.
 
11523
        * getkey.c (find_by_name_pk,find_by_name_sk,
 
11524
        find_by_keyid,find_by_keyid_sk): Ditto and translate it.
 
11525
        * import.c (mark_non_selfsigned_uids_valid,delete_inv_parts): Ditto.
 
11526
 
 
11527
 
 
11528
Mon Jul 26 01:01:39 CEST 1999  Michael Roth <mroth@nessie.de>
 
11529
 
 
11530
        * g10.c, options.h: New options --no-literal and --set-filesize
 
11531
 
 
11532
        * encode.c (encode_simple, encode_crypt): Support for the options
 
11533
        --no-literal and --set-filesize.
 
11534
 
 
11535
        * sign.c (sign_file): ditto.
 
11536
 
 
11537
Fri Jul 23 13:53:03 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11538
 
 
11539
 
 
11540
        * ringedit.c (enum_keyblocks): Removed annoying error message in cases
 
11541
        when we have no keyring at all to enum.
 
11542
 
 
11543
        * getkey.c (classify_user_id): Rewrote to relax the recognition of
 
11544
        keyIDs and fingerprints (Michael).
 
11545
 
 
11546
        * mainproc.c (check_sig_and_print): Print status NO_PUBKEY.
 
11547
        (print_failed_pkenc): Print status NO_SECKEY.
 
11548
 
 
11549
        * import.c (mark_non_selfsigned_uids_valid): New.
 
11550
        * g10.c: New option --allow-non-selfsigned-uid.
 
11551
 
 
11552
        * pkclist.c (print_fpr): New.
 
11553
        (do_we_trust_pre): Print the fpr before asking whether to use the key
 
11554
        anyway.
 
11555
        (do_edit_ownertrust): Likewise.
 
11556
 
 
11557
Thu Jul 22 20:03:03 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11558
 
 
11559
 
 
11560
        * ringedit.c (enum_keyblocks): Removed annoying error message in cases
 
11561
        when we have no keyring at all to enum.
 
11562
 
 
11563
        * getkey.c (classify_user_id): Rewrote to relax the recognition of
 
11564
        keyIDs and fingerprints (Michael).
 
11565
 
 
11566
        * mainproc.c (check_sig_and_print): Print status NO_PUBKEY.
 
11567
        (print_failed_pkenc): Print status NO_SECKEY.
 
11568
 
 
11569
        * import.c (mark_non_selfsigned_uids_valid): New.
 
11570
        * g10.c: New option --allow-non-selfsigned-uid.
 
11571
 
 
11572
Thu Jul 15 10:15:35 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11573
 
 
11574
        * g10.c: New options --disable-{cipher,pubkey}-algo.
 
11575
 
 
11576
Wed Jul 14 19:42:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11577
 
 
11578
        * status.h (STATUS_IMPORTED): New.
 
11579
        * import.c (import): Print some status information (Holger Schurig).
 
11580
 
 
11581
        * g10.c (main): Make --no-greeting work again. Add a warning when
 
11582
        --force-mds is used.
 
11583
 
 
11584
Tue Jul 13 17:39:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11585
 
 
11586
        * pkclist.c (do_edit_ownertrust): Changed the way help works.
 
11587
        (build_pk_list): Implemented default recipient stuff.
 
11588
        * g10.c: New options --default-recipient[-self]
 
11589
        (main): Suppress greeting in most cases, entering a passphrase or
 
11590
        a missing value is not considered to be interactive use.
 
11591
        Merged --print-md and --print-mds; the latter is now obsolete.
 
11592
        Changed the way --gen-random works and documented it.
 
11593
        Changed the way --gen-prime works and add a man entry.
 
11594
        * g10.c (MAINTAINER_OPTIONS): Removed.
 
11595
 
 
11596
Mon Jul 12 18:45:57 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11597
 
 
11598
        * keyedit.c (keyedit_menu): Add arg sign_mode and changed callers
 
11599
        * g10.c (main): New command --lsign-key.
 
11600
 
 
11601
Mon Jul 12 14:55:34 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11602
 
 
11603
        * mainproc.c (kidlist_item): New.
 
11604
        (release_list): Release failed pk-enc-list.
 
11605
        (print_failed_pkenc): New
 
11606
        (proc_encrypted): Print info about failed PK enc.
 
11607
 
 
11608
        * openfile.c (make_outfile_name): s/error/info/
 
11609
 
 
11610
        * passphrase.c (passphrase_to_dek): Return an empty passphrase when
 
11611
        in batch mode and don't make the warning message fatal
 
11612
        * seckey-cert.c (check_secret_key): Try only once when in batch mode.
 
11613
 
 
11614
        * g10.c (make_username): New.
 
11615
 
 
11616
Thu Jul  8 16:21:27 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11617
 
 
11618
 
 
11619
        * packet.h (PKT_ring_trust): New
 
11620
        * parse-packet.c (parse_trust): Store trust value
 
11621
        * build-packet (build_packet): Ignore ring trust packets.
 
11622
        * mainproc.c (add_ring_trust): New.
 
11623
        (list_node): Print "rtv" records.
 
11624
        * g10.c: New option --with-fingerprint.
 
11625
 
 
11626
        * trustdb.c (verify_own_keys): Don't insert if we are dry running
 
11627
        (check_trust): Ditto.
 
11628
 
 
11629
Wed Jul  7 13:08:40 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11630
 
 
11631
        * Makefile.am: Support for libtool.
 
11632
 
 
11633
        * keygen.c (ask_expire_interval): Hack to allow for an expire date.
 
11634
 
 
11635
        * trustdb.c (do_update_trust_record,update_trust_record): Splitted.
 
11636
        (check_trust_record): New.
 
11637
        (check_trust,build_cert_tree): Check the dir record as needed.
 
11638
        (upd_pref_record): Removed.
 
11639
        (make_pref_record): New.
 
11640
        (propagate_validity): Stop as soon as we have enough validity.
 
11641
 
 
11642
        * tbdio.c (MAX_CACHE_ENTRIES_HARD): Increased the limit.
 
11643
 
 
11644
 
 
11645
Fri Jul  2 11:45:54 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11646
 
 
11647
        * g10.c (g10_exit): Dump random stats.
 
11648
 
 
11649
        * sig-check.c (check_key_signature,check_key_signature2): Enhanced
 
11650
        version and wrapper for old function.
 
11651
        (do_signature_check,signature_check): Ditto.
 
11652
 
 
11653
Thu Jul  1 12:47:31 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11654
 
 
11655
 
 
11656
        * keyedit.c (show_key_with_all_names): Print a notice for disabled keys.
 
11657
        (enable_disable_keys): Add functionality
 
11658
        * pkclist.c (edit_ownertrust): preserve disabled state.
 
11659
        (build_pk_list): Skip disabled keys.
 
11660
        * trustdb.c (upd_one_ownertrust): Ditto.
 
11661
        (build_cert_tree): Mask the ownertrust.
 
11662
        (trust_letter): Mask the value.
 
11663
        (do_check): Take disabled flag into account.
 
11664
 
 
11665
        * passphrase.c (passphrase_to_dek): Add a pubkey_algo arg and changed
 
11666
        all callers.
 
11667
 
 
11668
        * g10.c (utf8_strings): 2 new options.
 
11669
 
 
11670
        * trustdb.c (insert_trust_record_by_pk): New, replaces the next one.
 
11671
        (insert_trust_record): Now takes a keyblock as arg.  Changed all
 
11672
        callers to use the appropritae function.
 
11673
 
 
11674
        * openfile.c (ask_outfile_name): New.
 
11675
        * plaintext.c (handle_plaintext): Ask for filename if there is
 
11676
        no valid syntax. Don't use fname varbatim but filter it.
 
11677
 
 
11678
Tue Jun 29 21:44:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11679
 
 
11680
 
 
11681
        * trustdb.h (TRUST_FLAG_DISABLED): New.
 
11682
 
 
11683
        * status.c (USE_CAPABILITIES): Capabilities support (Remi).
 
11684
 
 
11685
        * tdbio.c : Added new fields to the DIR record.
 
11686
        (tdbio_write_record): Fixed the update of the hash tables.
 
11687
        (tdbio_delete_record): Drop the record from the hash tables.
 
11688
        (drop_from_hashtbl): New.
 
11689
 
 
11690
        * status.c (cpr_get): Special online help mode.
 
11691
        * helptext.c ("keyedit.cmd"): Removed.
 
11692
        * keyedit.c (keyedit_menu): Use only help system.
 
11693
        (enable_disable_key): New bit doies not yet work.
 
11694
 
 
11695
Sat Jun 26 12:15:59 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11696
 
 
11697
 
 
11698
        * dearmor.c (enarmor_file): Fixed comment string.
 
11699
        * tdbdump.c (export_ownertrust): Text fix.
 
11700
        * tbio.c (tdbio_invalid): Ditto.
 
11701
 
 
11702
        * parse-packet.c (parse_key): Made temp buffer larger.
 
11703
 
 
11704
        * Makefile.am (install-data-local): Add missing backslashes
 
11705
 
 
11706
Tue Jun 15 12:21:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11707
 
 
11708
        * g10.c (main): Made iterated+salted the default S2K method.
 
11709
 
 
11710
        * Makefile.am (install-data-local): Use DESTDIR.
 
11711
 
 
11712
        * passphrase.c (passphrase_to_dek): Emit missing-passphrase while in
 
11713
        batchmode.
 
11714
 
 
11715
        * parse-packet.c (parse_pubkeyenc): Fixed a SEGV.
 
11716
 
 
11717
Mon Jun 14 21:18:54 CEST 1999 Michael Roth <mroth@nessie.de>
 
11718
 
 
11719
        * g10.c: New options --openpgp, --no-tty, --emit-version,
 
11720
          --default-comment and --lock-multiple
 
11721
 
 
11722
Thu Jun 10 14:18:23 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11723
 
 
11724
        * free-packet.c (free_encrypted): Fixed EOF case (Remi).
 
11725
        (free_plaintext): Ditto.
 
11726
 
 
11727
        * helptext.c (keyedit.delsig.unknown): New (Remi).
 
11728
        * keyedit.c (print_and_check_one_sig): Add arg print_without_key and
 
11729
        changed all callers to make use of it (Remi):
 
11730
 
 
11731
Tue Jun  8 13:36:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11732
 
 
11733
        * keylist.c (print_key_data): New and called elsewhere.
 
11734
        * g10.c: New option --with-key-data
 
11735
 
 
11736
Wed Jun  2 14:17:19 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11737
 
 
11738
        * mainproc.c (proc_tree): Yet another bad hack to cope with
 
11739
        broken pgp2 created detached messages in textmode.
 
11740
 
 
11741
Tue Jun  1 16:01:46 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11742
 
 
11743
        * openfile.c (make_outfile_name): New.
 
11744
        * plaintext.c (handle_plaintext): Outputfile is now the inputfile
 
11745
        without the suffix.
 
11746
        * g10.c: New option --use-embedded-filename
 
11747
 
 
11748
Mon May 31 19:41:10 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11749
 
 
11750
        * g10.c (main): Fix for SHM init (Michael).
 
11751
 
 
11752
        * compress.c, encr-data.c, mdfilter.c,
 
11753
          plaintext.c, free-packet.c: Speed patches (Rémi).
 
11754
 
 
11755
Thu May 27 09:40:55 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11756
 
 
11757
        * status.c (cpr_get_answer_yes_no_quit): New.
 
11758
        * keyedit.c (menu_delsig): New.
 
11759
        (check_all_keysigs): Splitted.
 
11760
        (print_and_check_one_sig): New.
 
11761
 
 
11762
Wed May 26 14:36:29 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11763
 
 
11764
        * build-packet.c (build_sig_subpkt): Support large packets.
 
11765
        * parse-packet.c (enum_sig_subpkt): Replaces parse_sig_subpkt.
 
11766
        * mainproc.c (print_notation_data): Print all notation packets.
 
11767
        * g10.c (add_notation_data): Add a way to specify the critical flag.
 
11768
        (main): Add option --set-policy-url.
 
11769
        (check_policy_url): Basic checks.
 
11770
        * sign.c (mk_notation_and_policy): Replaces mk_notation.
 
11771
 
 
11772
        * parse-packet.c (can_handle_critical): Moved decision whether we can
 
11773
        handle critical subpacket to an extra function.
 
11774
 
 
11775
Tue May 25 19:50:32 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11776
 
 
11777
        * sign.c (sign_file): Always use compression algo 1 for signed
 
11778
        onyl file becuase we can´ be sure the the verifier supports other
 
11779
        algorithms.
 
11780
 
 
11781
        * build-packet.c (build_sig_subpkt): Support for notation data.
 
11782
        * sign.c (sign_file,clearsign_file,make_keysig_packet): Ditto.
 
11783
        (mk_notation): New.
 
11784
        * g10.c (add_notation_data): New and add option -N
 
11785
        * mainproc.c (print_notation_data): New.
 
11786
        (check_sig_and_print): Print any notation data of the signed text.
 
11787
 
 
11788
Sun May 23 14:20:22 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11789
 
 
11790
        * pkclist.c (check_signatures_trust): Print a warning and return
 
11791
        immediateley if opt.always_trust is true.
 
11792
 
 
11793
        * g10.c (main): Corrected handling of no-default-keyring
 
11794
 
 
11795
        * pkclist.c (algo_available): Disable Twofish until we have settled
 
11796
        how to do the MDC.
 
11797
 
 
11798
        * hkp.c: Disable everything for mingw32
 
11799
 
 
11800
Sat May 22 22:47:26 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11801
 
 
11802
        * mainproc.c (check_sig_and_print): Add sig creation time to the
 
11803
        VALIDSIG status output. Add more info to the ERRSIG output.
 
11804
        * sig-check.c (signature_check): Add sig time after epoch to SIG_ID.
 
11805
 
 
11806
        * import.c (import_one): Merge duplicate user IDs.
 
11807
        (collapse_uids): New.
 
11808
        * kbnode.c (move_kbnode): New.
 
11809
        (remove_kbnode): New.
 
11810
        * keyedit.c (keyedit_menu): Call collapse_uids.
 
11811
 
 
11812
        * g10.c: new option --logger-fd.
 
11813
 
 
11814
        * import.c: s/log_*_f/log_*/
 
11815
 
 
11816
Thu May 20 14:04:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11817
 
 
11818
        * misc.c (pull_in_libs): do the volatile only for gcc
 
11819
 
 
11820
        * sig-check (signature_check): Emit SIG_iD only for classes 0 and 1.
 
11821
 
 
11822
        * armor.c (armor_filter): Add detection of PGP2 created clearsigs.
 
11823
        (fake_packet): A tab is not a WS for pgp2 - handle this.
 
11824
        * textfilter.c (len_without_trailing_chars): New.
 
11825
        (copy_clearsig_text): Add pgp2mode arg.
 
11826
        * sign.c (clearsign_file): pass old_style to the above fnc.
 
11827
 
 
11828
 
 
11829
Wed May 19 16:04:30 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11830
 
 
11831
        * g10.c: New option --interactive.
 
11832
 
 
11833
        * mainproc.c (proc_plaintext): Add workaround for pgp2 bug
 
11834
        (do_check_sig): Ditto.
 
11835
        (proc_tree): Ditto.
 
11836
        * plaintext.c (do_hash): Ditto.
 
11837
        (hash_datafiles): Ditto, add an arg, changed all callers.
 
11838
        * mdfilter.c (md_filter): Add support for the alternate hash context.
 
11839
 
 
11840
Mon May 17 21:54:43 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11841
 
 
11842
        * parse-packet.c (parse_encrypted): Support for PKT_ENCRYPTED_MDC.
 
11843
        * build-packet.c (do_encrypted_mdc): Ditto.
 
11844
        * cipher.c (write_header): Add mdc hashing.
 
11845
        (cipher_filter): write out the hash.
 
11846
        * mainproc.c (do_proc_packets): Add PKT_ENCRYPTED_MDC.
 
11847
        * encr-data.c (decrypt_data): Add mdc hashing.
 
11848
        (mdc_decode_filter): New.
 
11849
 
 
11850
        * parse-packet.c (parse_sig_subpkt): Fixed stupid bug for subpkt
 
11851
        length calculation
 
11852
        (parse_signature): Fixed even more stupid bug.
 
11853
 
 
11854
Sat May  8 19:28:08 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11855
 
 
11856
        * build-packet.c (do_signature): Removed MDC hack.
 
11857
        * encode.c (encode_crypt_mdc): Removed.
 
11858
        * mainproc.c (do_check_sig): Removed MDC hack.
 
11859
        (check_sig_and_print): Ditto.
 
11860
        * parse-packet.c (parse_signature): Ditto.
 
11861
        * sig-check.c (mdc_kludge_check): Ditto.
 
11862
        * free-packte.c (copy_signature, free_seckey_enc): Ditto.
 
11863
 
 
11864
        * parse-packet.c (parse_signature,parse_key): Store data of
 
11865
        unknown algorithms with mpi_set_opaque inseatd of the old
 
11866
        faked data stuff.
 
11867
        (read_rest): Removed.
 
11868
        (read_rest2): Renamed to read_rest
 
11869
        * build-packet.c (write_fake_data): Use mpi_get_opaque.
 
11870
        * free-packet.c (cp_fake_data): Removed and cahnged all callers
 
11871
        to use mpi_copy.
 
11872
        (free_pubkey_enc,free_seckey_enc,release_public_key_parts,
 
11873
         release_secret_key_parts): Use mpi_free for opaque data.
 
11874
 
 
11875
Thu May  6 14:18:17 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11876
 
 
11877
        * trustdb.c (check_trust): Check for revoked subkeys.
 
11878
        * pkclist.c (do_we_trust): Handled revoked subkeys.
 
11879
        (do_we_trust_pre): Ditto.
 
11880
        (check_signatures_trust): Ditto.
 
11881
 
 
11882
        * build-packet.c (hash_public_key): Fix for ancient g10 keys.
 
11883
 
 
11884
        * mainproc.c (do_proc_packets): Return EOF if no data has been read.
 
11885
        * g10.c (main): Catch errors for default operation.
 
11886
 
 
11887
Thu Apr 29 12:29:22 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11888
 
 
11889
        * sign.c (sign_file): Fixed hashing in case of no subpackets.
 
11890
        (clearsign_file): Ditto.
 
11891
        (make_keysig_packet): Ditto.
 
11892
 
 
11893
Wed Apr 28 13:03:03 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11894
 
 
11895
        * keyedit.c (keyedit_menu): Add new command revkey.
 
11896
        * (menu_revkey): New.
 
11897
 
 
11898
 
 
11899
Mon Apr 26 17:48:15 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11900
 
 
11901
        * parse-packet.c (parse_signature): Add the MDC hack.
 
11902
        * build-packet.c (do_signature): Ditto.
 
11903
        * free-packet.c (free_seckey_enc,copy_signature,cmp_signatures): Ditto.
 
11904
        * mainproc.c (do_check_sig): Ditto.
 
11905
        * sig-check.c (mdc_kludge_check): New.
 
11906
        * encode.c (encrypt_mdc_file): New.
 
11907
 
 
11908
        * keyedit.c (check_all_keysigs): List revocations.
 
11909
        * (menu_revsig): New.
 
11910
        * sign (make_keysig_packet): Support for class 0x30.
 
11911
 
 
11912
Sun Apr 18 20:48:15 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11913
 
 
11914
        * pkclist.c (select_algo_from_prefs): Fixed the case that one key
 
11915
        has no preferences (Remi Guyomarch).
 
11916
 
 
11917
        keylist.c (list_keyblock): ulti_hack to propagate trust to all uids.
 
11918
 
 
11919
Sun Apr 18 10:11:28 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11920
 
 
11921
        * seckey-cert.c (do_check): Use real IV instead of a 0 one, so that
 
11922
        it works even if the length of the IV doesn't match the blocksize.
 
11923
        Removed the save_iv stuff.
 
11924
        (protect_secret_key): Likewise.  Create the IV here.
 
11925
        * packet.h (PKT_secret_key): Increased size of IV field and add a
 
11926
        ivlen field.
 
11927
        * parse-packet.c (parse_key): Use the len protect.ivlen.
 
11928
        * build-packet.c (do_secret_key). Ditto.
 
11929
 
 
11930
        * getkey.c (key_byname): Close keyblocks.
 
11931
 
 
11932
        * Makefile.am (gpgm): Removed this
 
11933
        * g10.c: Merged gpg and gpgm
 
11934
 
 
11935
        * import.c (import): Utilize option quiet.
 
11936
        * tdbio.c (tdbio_set_dbname): Ditto.
 
11937
        * ringedit.c (add_keyblock_resource,keyring_copy): Ditto.
 
11938
 
 
11939
        * keyedit.c (sign_uids): Add some batch support.
 
11940
 
 
11941
        * g10.c (main): add call to tty_batchmode.
 
11942
 
 
11943
Fri Apr  9 12:26:25 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11944
 
 
11945
        * status.c (write_status_text): Some more status codes.
 
11946
        * passphrase_to_dek (passphrase_to_dek): add a status code.
 
11947
        * seckey_cert.c (check_secret_key): Likewise.
 
11948
 
 
11949
        * encr-data.c (decrypt_data): Reverse the last changes
 
11950
        * cipher.c (write_header): Ditto.
 
11951
 
 
11952
        * parse-packet.c (parse_key): Dropped kludge for ancient blowfish mode.
 
11953
 
 
11954
Thu Apr  8 09:35:53 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11955
 
 
11956
        * mainproc.c (proc_encrypted): Add a new status output
 
11957
        * passphrase.c (passphrase_to_dek): Ditto.
 
11958
        * status.h status.c: Add new status tokens.
 
11959
 
 
11960
Wed Apr  7 20:51:39 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11961
 
 
11962
        * encr-data.c (decrypt_data): Fixes for 128 bit blocksize
 
11963
        * cipher.c (write_header): Ditto.
 
11964
        * seckey-cert.c (do_check): Ditto.
 
11965
        (protect_secret_key). Ditto.
 
11966
        * misc.c (print_cipher_algo_note): Twofish is now a standard algo.
 
11967
 
 
11968
        * keygen.c (do_create): Fixed spelling (Gaël Quéri)
 
11969
        (ask_keysize): Only allow keysizes up to 4096
 
11970
 
 
11971
        * ringedit.c (add_keyblock_resource): chmod newly created secrings.
 
11972
 
 
11973
        * import.c (delete_inv_parts): Fixed accidently deleted subkeys.
 
11974
 
 
11975
Tue Apr  6 19:58:12 CEST 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11976
 
 
11977
        * armor.c: Removed duped include (John Bley)
 
11978
        * mainproc.c: Ditto.
 
11979
 
 
11980
        * build-packet.c (hash_public_key): Fixed hashing of the header.
 
11981
 
 
11982
        * import.c (delete_inv_parts): Allow import of own non-exportable sigs.
 
11983
 
 
11984
Sat Mar 20 13:59:47 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11985
 
 
11986
        * armor.c (fake_packet): Fix for not not-dash-escaped
 
11987
 
 
11988
Sat Mar 20 11:44:21 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11989
 
 
11990
        * g10.c (main): Added command --recv-keys
 
11991
        * hkp.c (hkp_import): New.
 
11992
 
 
11993
Wed Mar 17 13:09:03 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
11994
 
 
11995
        * trustdb.c (check_trust): add new arg add_fnc and changed all callers.
 
11996
        (do_check): Ditto.
 
11997
        (verify_key): Ditto.
 
11998
        (propagate_validity): Use the new add_fnc arg.
 
11999
        (print_user_id): Add the FILE arg.
 
12000
        (propagate_ownertrust): New.
 
12001
        * pkclist.c (add_ownertrust_cb): New and changed the add_ownertrust
 
12002
        logic.
 
12003
 
 
12004
        * getkey.c (get_keyblock_bylid): New.
 
12005
        * trustdb.c (print_uid_from_keyblock): New.
 
12006
        (dump_tn_tree_with_colons): New.
 
12007
        (list_trust_path): Add colon print mode.
 
12008
 
 
12009
        * trustdb.c (insert_trust_record): Always use the primary key.
 
12010
 
 
12011
        * encode.c (encode_simple): Added text_mode filter (Rémi Guyomarch)
 
12012
        (encode_crypt): Ditto.
 
12013
 
 
12014
        * mainproc.c (proc_pubkey_enc): Added status ENC_TO.
 
12015
        * armor.c (armor_filter): Added status NODATA.
 
12016
        * passphrase.c (passphrase_to_dek): Always print NEED_PASSPHRASE
 
12017
        * seckey_cert.c (check_secret_key): Added BAD_PASS status.
 
12018
 
 
12019
        * g10.c (main): Set g10_opt_homedir.
 
12020
 
 
12021
Sun Mar 14 19:34:36 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12022
 
 
12023
        * keygen.c (do_create): Changed wording of the note (Hugh Daniel)
 
12024
 
 
12025
Thu Mar 11 16:39:46 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12026
 
 
12027
        * tdbdump.c: New
 
12028
 
 
12029
        * trustdb.c (walk_sigrecs,do_list_sigs,list_sigs,
 
12030
        list_records,list_trustdb,export_ownertrust,import_ownertrust): Moved
 
12031
        to tdbdump.c
 
12032
        (init_trustdb): renamed to setup_trustdb.  Changed all callers.
 
12033
        (do_init_trustdb): renamed to init_trustdb().
 
12034
        * trustdb.c (die_invalid_db): replaced by tdbio_invalid.
 
12035
        * tdbio.c (tdbio_invalid): New.
 
12036
 
 
12037
        * import.c (delete_inv_parts): Skip non exportable signatures.
 
12038
        * keyedit.c (sign_uid_mk_attrib): New.
 
12039
        (sign_uids): Add the local argument.
 
12040
        (keyedit_menu): New "lsign" command.
 
12041
        * trustdb.c (register_trusted_key): Removed this and all related stuff.
 
12042
        * g10.c (oTrustedKey): Removed option.
 
12043
 
 
12044
        * tdbio.h (dir.valcheck): New trustdb field.
 
12045
        * tdbio.c: Add support for this field
 
12046
        (tdbio_read_modify_stamp): New.
 
12047
        (tdbio_write_modify_stamp): New.
 
12048
        * trustdb.c (do_check): Check against this field. Removed cache update.
 
12049
        (verify_key): Add cache update.
 
12050
        (upd_uid_record): Some functional changes.
 
12051
        (upd_cert_record): Ditto
 
12052
 
 
12053
Wed Mar 10 11:26:18 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12054
 
 
12055
        * keylist.c (list_keyblock): Fixed segv in uid. Print 'u' as
 
12056
        validity of sks.
 
12057
 
 
12058
Mon Mar  8 20:47:17 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12059
 
 
12060
        * getkey.c (classify_user_id): Add new mode 12 (#<lid>).
 
12061
 
 
12062
        * seckey-cert.c (check_secret_key): replaced error by info.
 
12063
 
 
12064
        * trustdb.c (query_trust_info): Add another arg, changed all callers.
 
12065
        (check_trust): Ditto.
 
12066
        (do_check): Ditto.
 
12067
        (verify_key): Handle namehash.
 
12068
        * keylist.c (list_keyblock): print trust info for user ids.
 
12069
 
 
12070
        * sig-check.c (signature_check): Add sig-created to status output.
 
12071
 
 
12072
Tue Mar  2 16:44:57 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12073
 
 
12074
        * textfilter.c (copy_clearsig_text): New.
 
12075
        (clearsign): Removed.
 
12076
        * sign.c (clearsign_file): does not use textfiler anymore.
 
12077
 
 
12078
        * keygen.c (ask_user_id): print a note about the used charset.
 
12079
 
 
12080
Tue Mar  2 10:38:42 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12081
 
 
12082
        * sig-check.c (signature_check): sig-id now works for all algos.
 
12083
 
 
12084
        * armor.c (armor_filter): Fixed armor bypassing.
 
12085
 
 
12086
Sun Feb 28 19:11:00 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12087
 
 
12088
        * keygen.c (ask_user_id): Don't change the case of email addresses.
 
12089
        (has_invalid_email_chars): Adjusted.
 
12090
 
 
12091
        * keylist.c (list_one): Really list serect keys (Remi Guyomarch)
 
12092
 
 
12093
        * keyedit.c (menu_select_uid): Add some braces to make egcs happy.
 
12094
        (menu_select_key): Ditto.
 
12095
 
 
12096
        * mainproc.c (do_proc_packets): List sym-enc packets (Remi Guyomarch)
 
12097
 
 
12098
Fri Feb 26 17:55:41 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12099
 
 
12100
        * pkclist.c (build_pk_list): Return error if there are no recipients.
 
12101
 
 
12102
        * sig-check.c (signature_check): New signature id feature.
 
12103
        * armor.c (make_radic64_string): New.
 
12104
 
 
12105
        * mainproc.c (proc_pubkey_enc): early check for seckey availability.
 
12106
 
 
12107
        * pkclist.c (do_we_trust_pre): print user id before asking.
 
12108
 
 
12109
        * ringedit.c (add_keyblock_resource,get_keyblock_handle): Cleaner
 
12110
        handling of default resource.
 
12111
 
 
12112
 
 
12113
Thu Feb 25 18:47:39 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12114
 
 
12115
        * pkclist.c (algo_available): New.
 
12116
        (select_algo_from_prefs): Check whether algo is available.
 
12117
 
 
12118
        * ringedit.c (keyring_copy): Take care of opt.dry_run.
 
12119
        (do_gdbm_store): Ditto.
 
12120
        * openfile.c (open_outfile). Ditto.
 
12121
        (copy_options_file): Ditto.
 
12122
        * trustdb.c (update_trustdb): Ditto.
 
12123
        (clear_trust_checked_flag): Ditto.
 
12124
        (update_trust_record): Ditto.
 
12125
        (insert_trust_record): Ditto.
 
12126
 
 
12127
Wed Feb 24 11:07:27 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12128
 
 
12129
        * keylist.c (secret_key_list): Now really list the secret key.
 
12130
 
 
12131
        * trustdb.c (do_init_trustdb): New. Init is now deferred.
 
12132
 
 
12133
Mon Feb 22 20:04:00 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12134
 
 
12135
        * getkey.c (lookup_sk): Return G10ERR_NO_SECKEY and not x_PUBKEY.
 
12136
 
 
12137
Fri Feb 19 15:49:15 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12138
 
 
12139
        * pkclist.c (select_algo_from_prefs): retrieve LID if not there.
 
12140
 
 
12141
        * armor.c (fake_packet): Replaced ugly lineending handling.
 
12142
 
 
12143
        * g10.c (oNoEncryptTo): New.
 
12144
        * pkclist.c (build_pk_list): Implemented this option.
 
12145
 
 
12146
        * g10.c (main): Greeting is now printed to stderr and not to tty.
 
12147
        Use add_to_strlist() instead of direct coding.
 
12148
 
 
12149
        * import.c (import): Use iobuf_push_filter2.
 
12150
 
 
12151
        * mainproc.c (check_sig_and_print): Print all user ids
 
12152
        for good signatures.
 
12153
        * getkey.c (get_pubkeyblock): New.
 
12154
 
 
12155
        * import.c (chk_self_sigs): Fixed SEGV for unbounded class 0x18 keys.
 
12156
        (delete_inv_parts): Delete special marked packets.
 
12157
 
 
12158
Tue Feb 16 14:10:02 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12159
 
 
12160
        * g10.c (main): New option --encrypt-to
 
12161
 
 
12162
        * pkclist.c (build_pk_list): Implemented encrypt-to.
 
12163
 
 
12164
        * parse-packet.c (parse_user_id): Removed the hack to work with
 
12165
        utf-8 strings.
 
12166
 
 
12167
        * g10.c (main): Install lockfile cleanup handler.
 
12168
        * tdbio.c (cleanup): Removed: this is now handled by dotlock.
 
12169
 
 
12170
Sat Feb 13 14:13:04 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12171
 
 
12172
        * tdbio.c (tdbio_set_dbname): Init lockhandle for a new trustdb
 
12173
 
 
12174
Wed Feb 10 17:15:39 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12175
 
 
12176
        * g10.c (main): check for development version now in configure
 
12177
 
 
12178
        * tdbio.c (tdbio_write_record): Add uid.validity
 
12179
        (tdbio_read_record) : Ditto.
 
12180
        (tdbio_dump_record) : Ditto.
 
12181
 
 
12182
        * keygen.c (keygen_add_std_prefs): Replaced Blowfish by Twofish,
 
12183
        removed MD5 and Tiger.
 
12184
        * pubkey-enc.c (get_it): Suppress warning about missing Blowfish
 
12185
        in preferences in certain cases.
 
12186
 
 
12187
        * ringedit.c (lock_rentry,unlock_rentry): New.
 
12188
 
 
12189
        * getkey.c (key_byname): Pass ret_kb down to lookup_xx.
 
12190
 
 
12191
        * armor.c (armor_filter): No output of of empty comment lines.
 
12192
        Add option --no-version to suppress the output of the version string.
 
12193
 
 
12194
        * getkey.c: Release the getkey context for auto context variables.
 
12195
 
 
12196
Sun Jan 24 18:16:26 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12197
 
 
12198
        * getkey.c: Changed the internal design to allow simultaneous
 
12199
        lookup of multible user ids
 
12200
        (get_pubkey_bynames): New.
 
12201
        (get_seckey_bynames): New.
 
12202
        (get_seckey_next): New.
 
12203
        (get_seckey_end): New.
 
12204
        * keylist.c (list_one): Use the new functions.
 
12205
 
 
12206
        * keylist.c (list_keyblock): add a newline for normal listings.
 
12207
 
 
12208
        * g10.c (--recipient): New option name to replace --remote-user
 
12209
 
 
12210
 
 
12211
Wed Jan 20 18:59:49 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12212
 
 
12213
        * textfilter.c: Mostly rewritten
 
12214
        * plaintext.c (handle_plaintext): Use now text_filter semantics.
 
12215
 
 
12216
Tue Jan 19 19:34:58 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12217
 
 
12218
        * export.c (export_pubkeys_stream): New.
 
12219
        (do_export_stream): New.
 
12220
        * g10.c (aSendKeys): New command.
 
12221
        * hkp.c (hkp_export): New.
 
12222
 
 
12223
        * compress.c (do_uncompress): Hack for algo 1 and 1.1.3
 
12224
 
 
12225
Sun Jan 17 11:04:33 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12226
 
 
12227
        * textfilter.c (text_filter): Now uses iobuf_read_line().
 
12228
        (read_line): Removed.
 
12229
 
 
12230
        * armor.c (trim_trailing_spaces): Removed and replaced
 
12231
        by trim_trailing_ws from libutil
 
12232
 
 
12233
Sat Jan 16 12:03:27 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12234
 
 
12235
        * hkp.c (hkp_ask_import): Use only the short keyid
 
12236
 
 
12237
Sat Jan 16 09:27:30 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12238
 
 
12239
        * import.c (import_key_stream): New
 
12240
        (import): New, moved most of import_keys here.
 
12241
        * g10.c: New option --keyserver
 
12242
        * mainproc.c (check_sig_and_print): Hook to import a pubkey.
 
12243
 
 
12244
        * pref.c pref.h : Removed
 
12245
 
 
12246
        * hkp.c hkp.h: New
 
12247
 
 
12248
Wed Jan 13 14:10:15 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12249
 
 
12250
        * armor.c (radix64_read): Print an error if a bad armor was detected.
 
12251
 
 
12252
Wed Jan 13 12:49:36 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12253
 
 
12254
        * armor.c (radix64_read): Now handles malformed armors produced
 
12255
        by some buggy MUAs.
 
12256
 
 
12257
Tue Jan 12 11:17:18 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12258
 
 
12259
        * ringedit.c (find_keyblock_bysk): New.
 
12260
 
 
12261
        * skc_list.c (is_insecure): New.
 
12262
        (build_sk_list): usage check for insecure keys.
 
12263
 
 
12264
        * import.c (chk_self_sigs): Add handling for subkeys.
 
12265
        (delete_inv_parts): Skip unsigned subkeys
 
12266
 
 
12267
        * sig-check.c (do_check): Print info if the signature is older
 
12268
        than the key.
 
12269
        * keygen.c (generate_subkeypair): Fail on time warp.
 
12270
        * sign.c (do_sign): Ditto.
 
12271
 
 
12272
Sun Jan 10 15:10:02 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12273
 
 
12274
        * armor.c (fake_packet): Fixed not-dash-escaped bug.
 
12275
 
 
12276
Sat Jan  9 16:02:23 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12277
 
 
12278
        * sig-check.c (do_check): Output time diff on error
 
12279
 
 
12280
        * status.c (STATUS_VALIDSIG): New.
 
12281
        (is_status_enabled): New.
 
12282
        * mainproc.c (check_sig_and_print): Issue that status message.
 
12283
 
 
12284
        * plaintext.c (special_md_putc): Removed
 
12285
 
 
12286
        * armor.c (armor_filter): print error for truncated lines.
 
12287
 
 
12288
        * free-packet.c (free_encrypted): Revomed call to set_block_mode.
 
12289
        (free_plaintext): Ditto.
 
12290
 
 
12291
Thu Jan  7 18:00:58 CET 1999  Werner Koch  <wk@isil.d.shuttle.de>
 
12292
 
 
12293
        * pkclist.c (add_ownertrust): Fixed return value.
 
12294
 
 
12295
        * encr-data.c (decrypt_data): Disabled iobuf_set_limit and
 
12296
        iobuf_pop_filter stuff.
 
12297
        * compress.c (handle_compressed): Disabled iobuf_pop_filter.
 
12298
 
 
12299
        * packet.h (PKT_secret_key): Add is_primary flag.
 
12300
        * parse-packet.c (parse_key): Set this flag.
 
12301
        * passphrase.c (passphrase_to_dek): Kludge to print the primary
 
12302
        keyid - changed the API: keyid must now hold 2 keyids.
 
12303
        * getkey.c (get_primary_seckey): New.
 
12304
        * seckey-cert.c (do_check): pass primary keyid to passphrase query
 
12305
 
 
12306
        * tbdio.c (open_db): removed the atexit
 
12307
        (tdbio_set_dbname): and moved it to here.
 
12308
 
 
12309
        * armor.c: Rewrote large parts.
 
12310
 
 
12311
Tue Dec 29 19:55:38 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
 
12312
 
 
12313
        * revoke.c (gen_revoke): Removed compression.
 
12314
 
 
12315
        * pkclist.c (do_we_trust_pre): special check for revoked keys
 
12316
 
 
12317
        * trustdb.c (update_trust_record): Fixed revoke flag.
 
12318
 
 
12319
Tue Dec 29 14:41:47 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
 
12320
 
 
12321
        * misc.c (disable_core_dumps): Check for EINVAL (Atari)
 
12322
 
 
12323
        * getkey (merge_one_pk_and_selfsig): Fixed search of expiredate.
 
12324
        (merge_keys_and_selfsig): Ditto.
 
12325
 
 
12326
        * free-packet.c (cmp_public_keys): cmp expire only for v3 packets
 
12327
        (cmp_secret_keys): Ditto.
 
12328
        (cmp_public_secret_key): Ditto.
 
12329
 
 
12330
Wed Dec 23 17:12:24 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
 
12331
 
 
12332
        * armor.c (find_header): Reset not_dashed at every header
 
12333
 
 
12334
Wed Dec 23 13:18:14 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
 
12335
 
 
12336
        * pkclist.c (add_ownertrust): Refresh validity values.
 
12337
 
 
12338
        * trustdb.c (enum_cert_paths_print): New arg refresh.
 
12339
 
 
12340
        * ringedit.c: Fixed problems fix keyrings
 
12341
        * parse-packet.c (dbg_parse_packet): New debug functions.
 
12342
 
 
12343
        * getkey.c (getkey_disable_caches): New.
 
12344
        * import.c (import_keys): Disable caches.
 
12345
 
 
12346
Thu Dec 17 18:31:15 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
 
12347
 
 
12348
        * misc.c (trap_unaligned): Only for glibc 1
 
12349
 
 
12350
        * sign.c (write_dash_escaped): Now escapes "From " lines
 
12351
        * g10.c: New option --escape-from-lines
 
12352
 
 
12353
        * trustdb.c (sort_tsl_list): New
 
12354
        (list_trust_path): Now prints sorted list.
 
12355
        (enum_cert_paths): Likewise.
 
12356
        (enum_cert_paths_print): New.
 
12357
        (print_paths): New printing format.
 
12358
        * pkclist.c (add_ownertrust): New arg quit.
 
12359
        (edit_ownertrust): New quit selection and does not query
 
12360
        the recipients ownertrust anymore.
 
12361
        (add_ownertrust): Print the ceritficate path.
 
12362
 
 
12363
 
 
12364
Mon Dec 14 21:18:49 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
 
12365
 
 
12366
        * parse-packet.c (parse_signature): Now checks for critical bit
 
12367
        (parse_sig_subpkt): Splitted.
 
12368
        (parse_one_sig_subpkt): New.
 
12369
        * sig-check.c (do_check): handle critical bit.
 
12370
 
 
12371
Sun Dec 13 14:10:56 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
 
12372
 
 
12373
        * pcklist.c (select_algo_from_prefs): Preferences should
 
12374
        now work (lost the != ? )
 
12375
 
 
12376
Thu Dec 10 20:15:36 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
 
12377
 
 
12378
        * ringedit.c (gdbm_store): Fix for inserts
 
12379
 
 
12380
        * g10.c (main): New option --export-all
 
12381
        * export.c (export_pubkeys): New arg.
 
12382
        (do_export): Now may skip old keys.
 
12383
 
 
12384
        * status.c: Minor patches for Sun's cc
 
12385
 
 
12386
        * keygen.c (ask_algo): Disabled v3 ElGamal choice, rearranged
 
12387
         the numbers.  Add a warning question when a sign+encrypt key
 
12388
         is selected.
 
12389
 
 
12390
        * g10.c (do_not_use_RSA): Removed.
 
12391
        * misc.c (print_pubkey_algo_note): New as replacement for the
 
12392
        do_not_use_RSA() and chnaged all callers.
 
12393
        (print_cipher_algo_note): New.
 
12394
        (print_hash_algo_note): New.
 
12395
 
 
12396
        * cipher.c (write_header): Add a call to print_cipher_algo_note.
 
12397
        * seckey-cert.c (protect_secret_key): Ditto
 
12398
        * sign.c (do_sign): Add a call to print_digest_algo_note.
 
12399
 
 
12400
        * getkey.c (get_long_user_id_string): New.
 
12401
        * mainproc.c (check_sig_and_print): Changed the format of the
 
12402
        status output.
 
12403
 
 
12404
        * encrypt.c (write_pubkey_enc_from_list): print used symmetric cipher.
 
12405
 
 
12406
        * pkclist.c (do_we_trust): Changed a message.
 
12407
 
 
12408
Wed Dec  9 13:41:06 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
 
12409
 
 
12410
        * misc.c (trap_unaligned) [ALPHA]: Only if UAC_SIGBUS is defined.
 
12411
 
 
12412
        * sign.c (write_dash_escaped): Add the forgotten patch by Brian Moore.
 
12413
 
 
12414
        * compress.c (do_uncompress): Fixed the inflating bug.
 
12415
 
 
12416
 
 
12417
Tue Dec  8 13:15:16 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
 
12418
 
 
12419
        * trustdb.c (upd_uid_record): Now uses the newest self-signature
 
12420
        (insert_trust_record): Now calls update with recheck set to true.
 
12421
        (register_trusted_key): New.
 
12422
        (verify_own_keys): Enhanced by list of trusted keys.
 
12423
 
 
12424
        * g10.c (main): Print a warning when a devel version is used.
 
12425
        (main): New option --trusted-key
 
12426
 
 
12427
        * import.c (merge_blocks): Fixed merging of new user ids and
 
12428
        added merging of subkeys.
 
12429
        (append_uid): Ditto.
 
12430
        (merge_keysig): New.
 
12431
        (append_key): New.
 
12432
        * getkey.c (merge_one_pk_and_selfsig): Get the expiration time
 
12433
        from the newest self-signature.
 
12434
        (merge_keys_and_selfsig): Ditto.
 
12435
 
 
12436
        * free-packet.c (cmp_secret_key): New.
 
12437
 
 
12438
 
 
12439
Fri Nov 27 21:37:41 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
 
12440
 
 
12441
        * g10.c: New option --lock-once
 
12442
        * tdbio.c (open_db): Add an atexit
 
12443
        (cleanup): New.
 
12444
        (tdbio_sync): Add locking.
 
12445
        (tdbio_end_transaction): Ditto.
 
12446
        (put_record_into_cache): Ditto.
 
12447
        * ringedit.c (keyring_copy): Ditto.
 
12448
        (cleanup): New.
 
12449
        (add_keyblock_resource): Add an atexit.
 
12450
 
 
12451
Fri Nov 27 15:30:24 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
 
12452
 
 
12453
         * armor.c (find_header): Another fix for clearsigs.
 
12454
 
 
12455
Fri Nov 27 12:39:29 CET 1998  Werner Koch  <wk@isil.d.shuttle.de>
 
12456
 
 
12457
 
 
12458
        * status.c (display_help): Removed.
 
12459
        * helptext.c: New and removed the N_() from all cpr_gets.
 
12460
 
 
12461
 
 
12462
Fri Nov 20 16:54:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12463
 
 
12464
        * g10.c (main): New option --not-dash-escaped
 
12465
        * sign.c (write_dashed_escaped): Ditto.
 
12466
        * armor.c (find_header): Support for NotDashEscaped header.
 
12467
 
 
12468
        * getkey.c: print "disabled cache.." only if verbose is used.
 
12469
 
 
12470
Thu Nov 19 07:17:31 1998  Werner Koch  <werner.koch@guug.de>
 
12471
 
 
12472
        * parse-packet.c (dump_sig_subpkt): Fixed expire listing
 
12473
        * getkey.c (merge_keys_and_selfsig): Fixed expire calculation.
 
12474
        (merge_one_pk_and_selfsig): Ditto.
 
12475
        * keyedit.c (menu_expire). Ditto.
 
12476
        * keygen.c (keygen_add_key_expire): Ditto.
 
12477
        (ask_expire_interval): New and changed all local function to use
 
12478
        this instead.
 
12479
        (keygen_add_key_expire): Opaque should now be a public key;
 
12480
        changed all callers.
 
12481
 
 
12482
        * parse.packet.c (parse): use skip_rest to skip packets.
 
12483
 
 
12484
        * keyedit.c (keyedit_menu): New arg for cmdline cmds.
 
12485
 
 
12486
Wed Nov 18 20:33:50 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12487
 
 
12488
        * trustdb.c (check_trustdb): Now rechecks all gived userids.
 
12489
        (collect_paths): Some fixes.
 
12490
        (upd_pref_records): Skips empty items, evaluate all items.
 
12491
 
 
12492
        * parse-packet.c (dump_sig_subpkt): Better listing of prefs.
 
12493
        (skip_packet): Now knows about marker packet
 
12494
 
 
12495
        * g10.c: removed cmd "--edit-sig".
 
12496
 
 
12497
        * pubring.asc: Updated.
 
12498
 
 
12499
Sat Nov 14 14:01:29 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12500
 
 
12501
        * g10.c (main): Changed syntax of --list-trust-path
 
12502
        * trustdb.c (list_trust_path): Replaced max_depth by
 
12503
        opt.max_cert_depth
 
12504
 
 
12505
Fri Nov 13 07:39:58 1998  Werner Koch  <werner.koch@guug.de>
 
12506
 
 
12507
        * trustdb.c (collect_paths): Removed a warning message.
 
12508
        (enum_trust_web): Removed.
 
12509
        (enum_cert_paths): New.
 
12510
        * pkclist.c (add_ownertrust): Changed to use enum_cert_paths.
 
12511
        (edit_ownertrust): Now list ceritficates on request.
 
12512
        (show_paths): New.
 
12513
 
 
12514
Wed Nov 11 18:05:44 1998  Werner Koch  <werner.koch@guug.de>
 
12515
 
 
12516
        * g10.c (main): New option --max-cert-depth
 
12517
        * tdbio.h: add new fields to ver and dir record.
 
12518
        * tdbio.c: read/write/dump of these fields.
 
12519
        (tdbio_db_matches_options): New.
 
12520
        * trustdb.c: replaced MAC_CERT_DEPTH by opt.max_cert_depth.
 
12521
        (do_check): cache validity and changed other functions
 
12522
        to reset the cached value.
 
12523
 
 
12524
        * keylist.c (list_one): Now lists the ownertrust.
 
12525
        * mainproc.c (list_node): Ditto.
 
12526
 
 
12527
Tue Nov 10 10:08:59 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12528
 
 
12529
        * g10.c (g10_exit): Now looks at the new g10_errors_seen.
 
12530
        * mainproc.c (check_sig_and_print): Sets g10_errors_seen.
 
12531
 
 
12532
        * *.c : i18n many more strings.
 
12533
 
 
12534
        * ringedit.c (locate_keyblock_by_keyid): Add HAVE_LIBGDBM
 
12535
        (locate_keyblock_by_fpr): Ditto.
 
12536
 
 
12537
        * g10.c (main): removed unsused "int errors".
 
12538
        (main): Add new option --charset.
 
12539
 
 
12540
        * g10.c (main): special message for the unix newbie.
 
12541
 
 
12542
Mon Nov  9 07:17:42 1998  Werner Koch  <werner.koch@guug.de>
 
12543
 
 
12544
        * getkey.c (finish_lookup): Kludge to prefere algo 16.
 
12545
 
 
12546
        * trustdb.c (new_lid_table): Clear cached item.
 
12547
 
 
12548
        * status.c (cpr_get_utf8): New.
 
12549
        * pkclist.c (build_pk_list): Uses this.
 
12550
 
 
12551
Sun Nov  8 17:20:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12552
 
 
12553
        * mainproc.c (check_sig_and_print): Why did I use strlen()-1
 
12554
        in the printf? - This truncated the TZ.
 
12555
 
 
12556
Sat Nov  7 15:57:28 1998  me,,,  (wk@tobold)
 
12557
 
 
12558
        * getkey.c (lookup): Changes to support a read_next.
 
12559
        (get_pubkey): Fixed a memory leak.
 
12560
 
 
12561
        * keylist.c (list_one): Now lists all matching user IDs.
 
12562
 
 
12563
Tue Nov  3 16:19:21 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12564
 
 
12565
        * keygen.c (ask_user_id): Now converted to UTF-8
 
12566
 
 
12567
        * g10.c (main): Kludge for pgp clearsigs and textmode.
 
12568
 
 
12569
Fri Oct 30 16:40:39 1998  me,,,  (wk@tobold)
 
12570
 
 
12571
        * signal.c (block_all_signals): New.
 
12572
        (unblock_all_signals): New
 
12573
        * tdbio.c (tdbio_end_transaction): Now blocks all signals.
 
12574
 
 
12575
        * trustdb.c (new_lid_table): Changed the representation of the
 
12576
        former local_lid_info stuff.
 
12577
 
 
12578
        * trustdb.c (update_trust_record): Reorganized the whole thing.
 
12579
        * sig-check.c (check_key_signature): Now handles class 0x28
 
12580
 
 
12581
 
 
12582
Wed Oct 28 18:56:33 1998  me,,,  (wk@tobold)
 
12583
 
 
12584
        * export.c (do_export): Takes care of the exportable sig flag.
 
12585
 
 
12586
Tue Oct 27 14:53:04 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12587
 
 
12588
        * trustdb.c (update_trust_record): New "fast" parameter.
 
12589
 
 
12590
Sun Oct 25 19:32:05 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12591
 
 
12592
        * openfile.c (copy_options_File): New.
 
12593
        * ringedit.c (add_keyblock_resource): Creates options file
 
12594
        * tdbio.c (tdbio_set_dbname): Ditto.
 
12595
 
 
12596
Sat Oct 24 14:10:53 1998  brian moore <bem@cmc.net>
 
12597
 
 
12598
        * mainproc.c (proc_pubkey_enc): Don't release the DEK
 
12599
        (do_proc_packets): Ditto.
 
12600
 
 
12601
Fri Oct 23 06:49:38 1998  me,,,  (wk@tobold)
 
12602
 
 
12603
        * keyedit.c (keyedit_menu): Comments are now allowed
 
12604
 
 
12605
        * trustdb.c: Rewrote large parts.
 
12606
 
 
12607
 
 
12608
Thu Oct 22 15:56:45 1998  Michael Roth  (mroth@nessie.de)
 
12609
 
 
12610
        * encode.c: (encode_simple): Only the plain filename without
 
12611
        a given directory is stored in generated packets.
 
12612
        (encode_crypt): Ditto.
 
12613
 
 
12614
        * sign.c: (sign_file) Ditto.
 
12615
 
 
12616
 
 
12617
Thu Oct 22 10:53:41 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12618
 
 
12619
        * trustdb.c (update_trust_record): Add new optional arg.
 
12620
 
 
12621
        * import.c (import_keys): Add statistics output
 
12622
        * trustdb.c (update_trustdb): Ditto.
 
12623
        (insert_trustdb): Ditto.
 
12624
 
 
12625
        * tdbio.c (tdbio_begin_transaction): New.
 
12626
        (tdbio_end_transaction): New.
 
12627
        (tdbio_cancel_transaction): New.
 
12628
 
 
12629
        * g10.c (main): New option --quit.
 
12630
 
 
12631
        * trustdb.c (check_hint_sig): No tests for user-id w/o sig.
 
12632
        This caused an assert while checking the sigs.
 
12633
 
 
12634
        * trustdb.c (upd_sig_record): Splitted into several functions.
 
12635
 
 
12636
        * import.c (import_keys): New arg "fast".
 
12637
        * g10.c (main): New command --fast-import.
 
12638
 
 
12639
Wed Oct 21 18:19:36 1998  Michael Roth <mroth@nessie.de>
 
12640
 
 
12641
        * ringedit.c (add_keyblock_resource): Directory is now created.
 
12642
        * tdbio.c (tdbio_set_dbname): New info message.
 
12643
 
 
12644
Wed Oct 21 11:52:04 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12645
 
 
12646
        * trustdb.c (update_trustdb): released keyblock in loop.
 
12647
 
 
12648
        * keylist.c (list_block): New.
 
12649
        (list_all): Changed to use list_block.
 
12650
 
 
12651
        * trustdb.c: Completed support for GDBM
 
12652
 
 
12653
        * sign.c (only_old_style): Changed the way force_v3 is handled
 
12654
        (sign_file): Ditto.
 
12655
        (clearsign_file): Ditto.
 
12656
 
 
12657
        * keygen.c (has_invalid_email_chars): Splitted into mailbox and
 
12658
        host part.
 
12659
 
 
12660
        * keylist.c (list_one): Add a merge_keys_and_selfsig.
 
12661
        * mainproc.c (proc_tree): Ditto.
 
12662
 
 
12663
Sun Oct 18 11:49:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12664
 
 
12665
        * sign.c (only_old_style): Add option force_v3_sigs
 
12666
        (sign_file): Fixed a bug in sig->version
 
12667
        (clearsign_file): Ditto.
 
12668
 
 
12669
        * parse-packet.c (dump_sig_subpkt): New
 
12670
 
 
12671
        * keyedit.c (menu_expire): New.
 
12672
        * free-packet.c (cmp_signatures): New
 
12673
 
 
12674
 
 
12675
Sat Oct 17 10:22:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12676
 
 
12677
        * armor.c: changed output line length from 72 to 64.
 
12678
 
 
12679
        * keyedit.c (fix_keyblock): New.
 
12680
 
 
12681
Fri Oct 16 10:24:47 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12682
 
 
12683
        * trustdb.c: Rewrote most.
 
12684
        * tdbio.c: Add cache and generalized hash tables.
 
12685
 
 
12686
        * options.h (ENABLE_COMMENT_PACKETS): New but undef'ed.
 
12687
        * encode.c, sign.c, keygen.c: Disabled comment packets.
 
12688
        * export.c (do_export): Comment packets are never exported,
 
12689
        except for those in the secret keyring.
 
12690
 
 
12691
        * g10.c (main): Removed option do-no-export-rsa; should be
 
12692
        be replaced by a secpial tool.
 
12693
        * export.c (do_export): Removed the code for the above option.
 
12694
 
 
12695
        * armor.c (find_header): Support for new only_keyblocks.
 
12696
        * import.c (import_keys): Only looks for keyblock armors.
 
12697
 
 
12698
        * packet.h: replaced valid_days by expiredate and changed all users.
 
12699
        * build-packet.c (do_public_key): calculates valid-days
 
12700
        (do_secret_key): Ditto.
 
12701
        * parse-packet.c (parse_key): expiredate is calucated from the
 
12702
        valid_period in v3 packets.
 
12703
        * keyid.c (do_fingerprint_md): calculates valid_dates.
 
12704
 
 
12705
        * keygen.c (add_key_expire): fixed key expiration time for v4 packets.
 
12706
 
 
12707
        * armor.c (find_header): A LF in the first 28 bytes
 
12708
        was skipped for non-armored data.
 
12709
 
 
12710
Thu Oct  8 11:35:51 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12711
 
 
12712
        * armor.c (is_armored): Add test on old comment packets.
 
12713
 
 
12714
        * tdbio.c (tdbio_search_dir_bypk): fixed memory leak.
 
12715
 
 
12716
        * getkey.c: Changed the caching algorithms.
 
12717
 
 
12718
Wed Oct  7 19:33:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12719
 
 
12720
        * kbnodes.c (unused_nodes): New.
 
12721
 
 
12722
Wed Oct  7 11:15:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12723
 
 
12724
        * keyedit.c (sign_uids): Fixed a problem with SK which could caused
 
12725
        a save of an unprotected key.
 
12726
        (menu_adduid): Ditto.
 
12727
 
 
12728
        * keyedit.c (keyedit_menu): Prefs are now correctly listed for
 
12729
        new user ids.
 
12730
 
 
12731
        * trustdb.c (update_trust_record): New.
 
12732
        (insert_trust_record): Now makes use of update_trust_record.
 
12733
 
 
12734
Tue Oct  6 16:18:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12735
 
 
12736
        * trustdb.c (read_record): replaces most of the tdbio_read_records.
 
12737
        (write_record): Ditto.
 
12738
 
 
12739
Sat Oct  3 11:01:21 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12740
 
 
12741
        * keygen.c (ask_alogo): enable ElGamal enc-only only for addmode.
 
12742
 
 
12743
Wed Sep 30 10:15:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12744
 
 
12745
        * import.c (import_one): Fixed update of wrong keyblock.
 
12746
 
 
12747
Tue Sep 29 08:32:08 1998  me,,,  (wk@tobold)
 
12748
 
 
12749
        * mainproc.c (proc_plaintext): Display note for special filename.
 
12750
        * plaintext.c (handle_plaintext): Suppress output of special file.
 
12751
 
 
12752
Mon Sep 28 12:57:12 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12753
 
 
12754
        * g10.c (verify_own_keys): Add warning if a key is not protected.
 
12755
 
 
12756
        * passphrase (hash_passphrase): Fixed iterated+salted mode and
 
12757
        setup for keysizes > hashsize.
 
12758
 
 
12759
        * g10.c (main): New options: --s2k-{cipher,digest,mode}.
 
12760
 
 
12761
Fri Sep 25 09:34:23 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12762
 
 
12763
        * g10.c: Chnaged some help texts.
 
12764
 
 
12765
Tue Sep 22 19:34:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12766
 
 
12767
        * passphrase.c (read_passphrase_from_fd): fixed bug for long
 
12768
        passphrases.
 
12769
 
 
12770
Mon Sep 21 11:28:05 1998  Werner Koch  (wk@(none))
 
12771
 
 
12772
        * getkey.c (lookup): Add code to use the sub key if the primary one
 
12773
        does not match the usage.
 
12774
 
 
12775
        * armor.c (armor_filter): New error message: no valid data found.
 
12776
        (radix64_read): Changes to support multiple messages.
 
12777
        (i18n.h): New.
 
12778
        * mainproc.c (add_onepass_sig): bug fix.
 
12779
 
 
12780
Mon Sep 21 08:03:16 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12781
 
 
12782
        * pkclist.c (do_we_trust): Add keyid to most messages.
 
12783
 
 
12784
        * passphrase.c (read_passphrase_from_fd): New.
 
12785
        (have_static_passphrase): New
 
12786
        (get_passphrase_fd): Removed.
 
12787
        (set_passphrase_fd): Removed.
 
12788
        * g10.c (main): passphrase is now read here.
 
12789
 
 
12790
        * keyedit.c (keyedit_menu): "help" texts should now translate fine.
 
12791
 
 
12792
Mon Sep 21 06:40:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12793
 
 
12794
        * encode.c (encode_simple): Now disables compression
 
12795
        when --rfc1991 is used.
 
12796
        (encode_crypt): Ditto.
 
12797
 
 
12798
Fri Sep 18 16:50:32 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12799
 
 
12800
        * getkey.c (merge_key_and_selfsig): New.
 
12801
 
 
12802
Fri Sep 18 10:20:11 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12803
 
 
12804
        * pkclist.c (select_algo_from_prefs): Removed 3DES kludge.
 
12805
 
 
12806
        * seskey.c (make_session_key): Fixed SERIOUS bug introduced
 
12807
        by adding the weak key detection code.
 
12808
 
 
12809
        * sign.c (sign_file): Changed aremor header in certain cases.
 
12810
 
 
12811
Tue Sep 15 17:52:55 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12812
 
 
12813
        * mainproc.c (check_sig_and_print): Replaced ascime by asctimestamp.
 
12814
 
 
12815
Mon Sep 14 11:40:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12816
 
 
12817
        * seskey.c (make_session_key): Now detects weak keys.
 
12818
 
 
12819
        * trustdb (clear_trust_checked_flag): New.
 
12820
 
 
12821
        * plaintext.c (handle_plaintext): Does no anymore suppress CR from
 
12822
        cleartext signed messages.
 
12823
 
 
12824
Sun Sep 13 12:54:29 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12825
 
 
12826
        * trustdb.c (insert_trust_record): Fixed a stupid bug in the free
 
12827
        liunked list loops.
 
12828
 
 
12829
Sat Sep 12 15:49:16 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12830
 
 
12831
        * status.c (remove_shmid): New.
 
12832
        (init_shm_comprocess): Now sets permission to the real uid.
 
12833
 
 
12834
Wed Sep  9 11:15:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12835
 
 
12836
        * packet.h (PKT_pubkey_enc): New flah throw_keyid, and add logic to
 
12837
        implement it.
 
12838
        * g10.c (main): New Option --throw-keyid
 
12839
 
 
12840
        * getkey.c (enum_secret_keys): Add new ar and changed all callers.
 
12841
 
 
12842
Tue Sep  8 20:04:09 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12843
 
 
12844
        * delkey.c (delete_key): Moved from keyedit.c.
 
12845
 
 
12846
Mon Sep  7 16:37:52 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12847
 
 
12848
        * build-packet.c (calc_length_header): New arg new_ctb to correctly
 
12849
        calculate the length of new style packets.
 
12850
 
 
12851
        * armor.c (is_armored): Checks for symkey_enc packets.
 
12852
 
 
12853
        * pkclist.c (select_algo_from_prefs): 3DEs substitute is now CAST5.
 
12854
 
 
12855
Tue Aug 11 17:54:50 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12856
 
 
12857
        * build-packet.c (do_secret_key): Fixed handling of old keys.
 
12858
 
 
12859
        * getkey.c (compare_name): Fixed exact and email matching
 
12860
 
 
12861
        * openfile.c (open_outfile): Changed arguments and all callers.
 
12862
 
 
12863
Tue Aug 11 09:14:35 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12864
 
 
12865
        * encode.c (encode_simple): Applied option set-filename and comment.
 
12866
        (encode_crypt): Ditto.
 
12867
        * sign.c (sign_file): Ditto.
 
12868
        * armor.c (armor_filter): Applied option comment.
 
12869
 
 
12870
        * encode.c (encode_crypt): Moved init_packet to the begin.
 
12871
        (encode_simple): add an init_packet().
 
12872
 
 
12873
        * comment (write_comment): Now enforces a hash sign as the 1st byte.
 
12874
 
 
12875
        * import.c (import_one): Add explanation for "no user ids".
 
12876
 
 
12877
        * compress.c (do_uncompress): Applied Brian Warner's patch to support
 
12878
        zlib 1.1.3 etc.
 
12879
 
 
12880
        * trustdb.c (check_trust): Fixed a problem after inserting new keys.
 
12881
 
 
12882
        * getkey (lookup): do not return the primary key if usage is given
 
12883
        (lookup_sk): Ditto and take usage into account.
 
12884
 
 
12885
        * status.c (cpr_get_answer_is_yes): add display_help.
 
12886
 
 
12887
Mon Aug 10 10:11:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12888
 
 
12889
        * getkey.c (lookup_sk): Now always returns the primary if arg
 
12890
        primary is true.
 
12891
        (lookup): Likewise.
 
12892
        (get_pubkey_byname): Now returns the primary key
 
12893
        (get_seckey_byname): Ditto.
 
12894
 
 
12895
 
 
12896
Mon Aug 10 08:34:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12897
 
 
12898
        * keyid.c (pubkey_letter): ELG_E is now a small g.
 
12899
 
 
12900
Sat Aug  8 17:26:12 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12901
 
 
12902
        * openfile (overwrite_filep): Changed semantics and all callers.
 
12903
 
 
12904
Sat Aug  8 12:17:07 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12905
 
 
12906
        * status.c (display_help): New.
 
12907
 
 
12908
Thu Aug  6 16:30:41 1998  Werner Koch,mobil,,,  (wk@tobold)
 
12909
 
 
12910
        * seskey.c (encode_session_key): Now uses get_random_bits().
 
12911
 
 
12912
Thu Aug  6 07:34:56 1998  Werner Koch,mobil,,,  (wk@tobold)
 
12913
 
 
12914
        * ringedit.c (keyring_copy): No more backupfiles for
 
12915
        secret keyrings and add additional warning in case of
 
12916
        a failed secret keyring operation.
 
12917
 
 
12918
Wed Aug  5 11:54:37 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12919
 
 
12920
        * g10.c (check_opts): Moved to main.  Changed def_cipher_algo
 
12921
        semantics and chnaged all users.
 
12922
 
 
12923
        * pubkey-enc.c (get_sssion_key): New informational output
 
12924
        about preferences.
 
12925
 
 
12926
        * parse-packet.c (parse_symkeyenc): Fixed salted+iterated S2K
 
12927
        (parse_key): Ditto.
 
12928
        * build-packet.c (do_secret_key): Ditto.
 
12929
        (do_symkey_enc): Ditto.
 
12930
 
 
12931
Tue Aug  4 08:59:10 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12932
 
 
12933
        * getkey.c (enum_secret_keys): Now returns only primary keys.
 
12934
 
 
12935
        * getkey (lookup): Now sets the new namehash field.
 
12936
 
 
12937
        * parse-packet.c (parse_sig_subpkt2): New.
 
12938
 
 
12939
        * sign.c (sign_file): one-pass sigs are now emiited reverse.
 
12940
        Preference data is considered when selecting the compress algo.
 
12941
 
 
12942
Wed Jul 29 12:53:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12943
 
 
12944
        * free-packet.c (copy_signature): New.
 
12945
 
 
12946
        * keygen.c (generate_subkeypair): rewritten
 
12947
        * g10.c (aKeyadd): Removed option --add-key
 
12948
 
 
12949
Mon Jul 27 10:37:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12950
 
 
12951
        * seckey-cert.c (do_check): Additional check on cipher blocksize.
 
12952
        (protect_secret_key): Ditto.
 
12953
        * encr-data.c: Support for other blocksizes.
 
12954
        * cipher.c (write_header): Ditto.
 
12955
 
 
12956
Fri Jul 24 16:47:59 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12957
 
 
12958
        * kbnode.c (insert_kbnode): Changed semantics and all callers.
 
12959
        * keyedit.c : More or less a complete rewrite
 
12960
 
 
12961
Wed Jul 22 17:10:04 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12962
 
 
12963
        * build-packet.c (write_sign_packet_header): New.
 
12964
 
 
12965
Tue Jul 21 14:37:09 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12966
 
 
12967
        * import.c (import_one): Now creates a trustdb record.
 
12968
 
 
12969
        * g10.c (main): New command --check-trustdb
 
12970
 
 
12971
Mon Jul 20 11:15:07 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12972
 
 
12973
        * genkey.c (generate_keypair): Default key is now DSA with
 
12974
        encryption only ElGamal subkey.
 
12975
 
 
12976
Thu Jul 16 10:58:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12977
 
 
12978
        * keyid.c (keyid_from_fingerprint): New.
 
12979
        * getkey.c (get_pubkey_byfprint): New.
 
12980
 
 
12981
Tue Jul 14 18:09:51 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12982
 
 
12983
        * keyid.c (fingerprint_from_pk): Add argument and changed all callers.
 
12984
        (fingerprint_from_sk): Ditto.
 
12985
 
 
12986
Tue Jul 14 10:10:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
12987
 
 
12988
        * plaintext.c (handle_plaintext): Now returns create error if
 
12989
        the file could not be created or the user responded not to overwrite
 
12990
        the file.
 
12991
        * mainproc.c (proc_plaintext): Tries again if the file could not
 
12992
        be created to check the signature without output.
 
12993
 
 
12994
        * misc.c (disable_core_dumps): New.
 
12995
        * g10.c (main): disable coredumps for gpg
 
12996
 
 
12997
        * g10.c (MAINTAINER_OPTIONS): New to disable some options
 
12998
 
 
12999
Mon Jul 13 16:47:54 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13000
 
 
13001
        * plaintext.c (hash_datafiles): New arg for better support of
 
13002
        detached sigs. Changed all callers.
 
13003
        * mainproc.c (proc_signature_packets): Ditto.
 
13004
 
 
13005
        * g10.c (main): New option "compress-sigs"
 
13006
        * sig.c (sign_file): detached signatures are not anymore compressed
 
13007
        unless the option --compress-sigs is used.
 
13008
 
 
13009
Thu Jul  9 19:54:54 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13010
 
 
13011
        * armor.c: Fixes to allow zero length cleartext signatures
 
13012
 
 
13013
Thu Jul  9 14:52:47 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13014
 
 
13015
        * g10.c (build_list): Now drops setuid.
 
13016
        (main): Changed the way keyrings  and algorithms are registered .
 
13017
 
 
13018
Wed Jul  8 14:17:30 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13019
 
 
13020
        * packet.h (PKT_public_key): Add field keyid.
 
13021
        * parse-packet.c (parse_key): Reset the above field.
 
13022
        * keyid.c (keyid_from_pk): Use above field as cache.
 
13023
 
 
13024
        * tdbio.c, tdbio.h: New
 
13025
        * trustdb.c: Moved some functions to tdbio.c.
 
13026
        (print_keyid): New.
 
13027
 
 
13028
        * pkclist.c (check_signatures_trust): New.
 
13029
 
 
13030
Wed Jul  8 10:45:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13031
 
 
13032
        * plaintext.c (special_md_putc): New.
 
13033
        (handle_plaintext): add clearsig argument
 
13034
        * mainproc.c (proc_plaintext): detection of clearsig
 
13035
        * sign.c (write_dased_escaped): Changed clearsig format
 
13036
 
 
13037
Tue Jul  7 18:56:19 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13038
 
 
13039
        * armor.c (find_header): Now makes sure that there is only one
 
13040
        empty line for clearsigs, as this is what OP now says.
 
13041
 
 
13042
Mon Jul  6 13:09:07 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13043
 
 
13044
        * g10.c (main): New option default-secret-key
 
13045
        * getkey.c (get_seckey_byname): support for this option.
 
13046
 
 
13047
Mon Jul  6 09:03:49 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13048
 
 
13049
        * getkey.c (add_keyring): Keyrings are now added to end of the
 
13050
        list of keyrings.  The first added keyringwill be created.
 
13051
        (add_secret_keyring): Likewise.
 
13052
 
 
13053
        * ringedit.c (add_keyblock_resource): Files are created here.
 
13054
 
 
13055
        * g10.c (aNOP): Removed
 
13056
 
 
13057
        * getkey.c (lookup): Add checking of usage for name lookups
 
13058
        * packet.h (pubkey_usage): Add a field which may be used to store
 
13059
        usage capabilities.
 
13060
        * pkclist.c (build_pk_list): getkey now called with usage arg.
 
13061
        * skclist.c (build_sk_list): Ditto.
 
13062
 
 
13063
        * sign.c (clearsign_file): Fixed "Hash:" headers
 
13064
 
 
13065
Sat Jul  4 13:33:31 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13066
 
 
13067
        * trustdb.c (list_ownertrust): New.
 
13068
        * g10.c (aListOwnerTrust): New.
 
13069
 
 
13070
        * g10.c (def_pubkey_algo): Removed.
 
13071
 
 
13072
        * trustdb.c (verify_private_data): Removed and also the call to it.
 
13073
        (sign_private_data): Removed.
 
13074
 
 
13075
Fri Jul  3 13:26:10 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13076
 
 
13077
        * g10.c (aEditKey): was aEditSig. Changed usage msg.
 
13078
 
 
13079
        * keyedit.c: Done some i18n stuff.
 
13080
 
 
13081
        * g10.c (do_not_use_RSA): New.
 
13082
        * sign.c (do_sign): Add call to above function.
 
13083
        * encode.c (write_pubkey_enc_from_list): Ditto.
 
13084
 
 
13085
Thu Jul  2 21:01:25 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13086
 
 
13087
        * parse-packet.c: Now is able sto store data of unknown
 
13088
        algorithms.
 
13089
        * free-packet.c: Support for this.
 
13090
        * build-packet.c: Can write data of packet with unknown algos.
 
13091
 
 
13092
Thu Jul  2 11:46:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13093
 
 
13094
        * parse-packet.c (parse): fixed 4 byte length header
 
13095
 
 
13096
Wed Jul  1 12:36:55 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13097
 
 
13098
        * packet.h (new_ctb): New field for some packets
 
13099
        * build-packet.c (build_packet): Support for new_ctb
 
13100
        * parse-packet.c (parse): Ditto.
 
13101
 
 
13102
Mon Jun 29 12:54:45 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13103
 
 
13104
        * packet.h: changed all "_cert" to "_key", "subcert" to "subkey".
 
13105
 
 
13106
        * free-packet.c (free_packet): Removed memory leak for subkeys.
 
13107
 
 
13108
Sun Jun 28 18:32:27 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13109
 
 
13110
        * import.c (import_keys): Renamed from import_pubkeys.
 
13111
        (import_secret_one): New.
 
13112
 
 
13113
        * g10.c (aExportSecret): New.
 
13114
 
 
13115
        * export.c (export_seckeys): New.
 
13116
 
 
13117
        * parse-packet.c (parse_certificate): Cleaned up.
 
13118
        (parse_packet): Trust packets are now considered as unknown.
 
13119
        (parse_pubkey_warning): New.
 
13120
 
 
13121
Fri Jun 26 10:37:35 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13122
 
 
13123
        * keygen.c (has_invalid_email_chars): New.
 
13124
 
 
13125
Wed Jun 24 16:40:22 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13126
 
 
13127
        * armor.c (armor_filter): Now creates valid onepass_sig packets
 
13128
        with all detected hash algorithms.
 
13129
        * mainproc.c (proc_plaintext): Now uses the hash algos as specified
 
13130
        in the onepass_sig packets (if there are any)
 
13131
 
 
13132
Mon Jun 22 11:54:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13133
 
 
13134
        * plaintext.c (handle_plaintext): add arg to disable outout
 
13135
        * mainproc.c (proc_plaintext): disable output when in sigs_only mode.
 
13136
 
 
13137
Thu Jun 18 13:17:27 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13138
 
 
13139
        * keygen.c: Removed all rsa packet stuff, chnaged defaults
 
13140
        for key generation.
 
13141
 
 
13142
Sun Jun 14 21:28:31 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13143
 
 
13144
        * misc.c (checksum_u16): Fixed a stupid bug which caused a
 
13145
        wrong checksum calculation for the secret key protection and
 
13146
        add a backward compatibility option.
 
13147
        * g10.c (main): Add option --emulate-checksum-bug.
 
13148
 
 
13149
Thu Jun 11 13:26:44 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13150
 
 
13151
        * packet.h: Major changes to the structure of public key material
 
13152
        which is now stored in an array and not anaymore in a union of
 
13153
        algorithm specific structures.  These is needed to make the system
 
13154
        more extendable and makes a lot of stuff much simpler. Changed
 
13155
        all over the system.
 
13156
 
 
13157
        * dsa.c, rsa.c, elg.c: Removed.
 
13158
 
 
13159
Wed Jun 10 07:22:02 1998  Werner Koch,mobil,,,  (wk@tobold)
 
13160
 
 
13161
        * g10.c ("load-extension"): New option.
 
13162
 
 
13163
Mon Jun  8 22:23:37 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13164
 
 
13165
        * seckey-cert.c (do_check): Removed cipher constants
 
13166
        (protect_secret_key): Ditto.
 
13167
 
 
13168
Fri May 29 10:00:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13169
 
 
13170
        * trustdb.c (query_trust_info): New.
 
13171
        * keylist.c (list_one): Add output of trust info
 
13172
        * mainproc (list_node): ditto.
 
13173
        * g10.c (main): full trustdb init if -with-colons and any of the
 
13174
        key list modes.
 
13175
 
 
13176
Thu May 28 10:34:42 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13177
 
 
13178
        * status.c (STATUS_RSA_OR_IDEA): New.
 
13179
        * sig-check.c (check_signature): Output special status message.
 
13180
        * pubkey-enc.c (get_session_key): Ditto.
 
13181
 
 
13182
        * mainproc.c (check_sig_and_print): Changed format of output.
 
13183
        * passpharse.c (passphrase_to_dek): Likewise.
 
13184
 
 
13185
Wed May 27 13:46:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13186
 
 
13187
        * g10.c (aListSecretKeys): New option --list-secret-keys
 
13188
        * keylist.c (std_key_list): Renamed to public_key_list.
 
13189
        (secret_key_list): New
 
13190
        (list_one, list_all): Add support for secret keys.
 
13191
        * getkey.c (get_secret_keyring): New.
 
13192
        * mainproc.c (list_node): Add option --with-colons for secret keys
 
13193
 
 
13194
        * sig-check.c (check_key_signature): detection of selfsigs
 
13195
        * mainproc.c (list_node): fixed listing.
 
13196
 
 
13197
        * g10.c (aListSecretKeys): New option --always-trust
 
13198
        * pkclist.c (do_we_trust): Override per option added
 
13199
 
 
13200
        * status.c (write_status_text): Add a prefix to every output line.
 
13201
 
 
13202
Wed May 27 07:49:21 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13203
 
 
13204
        * g10 (--compress-keys): New.
 
13205
        * options.h (compress_keys): New.
 
13206
        * export.c (export_pubkeys): Only compresses with the new option.
 
13207
 
 
13208
Tue May 26 11:24:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13209
 
 
13210
        * passphrase.c (get_last_passphrase): New
 
13211
        (set_next_passphrase): New.
 
13212
        (passphrase_to_dek): add support for the above functions.
 
13213
        * keyedit.c (make_keysig_packet): Add sigclass 0x18,
 
13214
        changed all callers due to a new argument.
 
13215
        * keygen.c (write_keybinding): New
 
13216
        (generate_subkeypair): Add functionality
 
13217
        (ask_algo, ask_keysize, ask_valid_days): Broke out of generate_keypair
 
13218
        (ask_user_id, ask_passphrase): Ditto.
 
13219
 
 
13220
Thu May 21 11:26:13 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13221
 
 
13222
        * g10.c,gpgd.c (main): Does now return an int, so that egcs does
 
13223
        not complain.
 
13224
 
 
13225
        * armor.c (fake_packet): Removed erro message and add a noticed
 
13226
        that this part should be fixed.
 
13227
 
 
13228
        * sign.c (sign_file): Compression now comes in front of encryption.
 
13229
        * encode.c (encode_simple): Ditto.
 
13230
        (encode_crypt): Ditto.
 
13231
 
 
13232
Tue May 19 16:18:19 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13233
 
 
13234
        * armor.c (fake_packet): Changed assertion to log_error
 
13235
 
 
13236
Sat May 16 16:02:06 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13237
 
 
13238
        * build-packet.c (build_packet): Add SUBKEY packets.
 
13239
 
 
13240
Fri May 15 17:57:23 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13241
 
 
13242
        * sign.c (hash_for): New and used in all places here.
 
13243
        * main.h (DEFAULT_): new macros.
 
13244
        * g10.c  (opt.def_digest_algo): Now set to 0
 
13245
 
 
13246
        * compress.c (init_compress): Add support for algo 1
 
13247
        * options.h (def_compress_algo): New
 
13248
        * g10.c (main): New option --compress-algo
 
13249
 
 
13250
Fri May 15 13:23:59 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13251
 
 
13252
        * g10.c (print_mds): New feature to print only one hash,
 
13253
        chnaged formatting.
 
13254
 
 
13255
Thu May 14 15:36:24 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13256
 
 
13257
        * misc.c (trap_unaligned) [__alpha__]: New
 
13258
        * g10.c (trap_unaligned): Add call to this to track down SIGBUS
 
13259
        on Alphas (to avoid the slow emulation code).
 
13260
 
 
13261
Wed May 13 11:48:27 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13262
 
 
13263
        * build-packet.c (do_signature): Support for v4 pakets.
 
13264
        * keyedit.c (make_keysig_packet): Ditto.
 
13265
        * build-packet.c (build_sig_subpkt_from_sig): New.
 
13266
        (build_sig_subpkt): New.
 
13267
 
 
13268
        * elg.c (g10_elg_sign): removed keyid_from_skc.
 
13269
        * dsa.c (g10_dsa_sign): Ditto.
 
13270
        * rsa.c (g10_rsa_sign): Ditto.
 
13271
        * keyedit.c (make_keysig_packet): Add call to keyid_from_skc
 
13272
 
 
13273
        * sign.c (clearsign_file): Support for v4 signatures.
 
13274
        (sign_file): Ditto.
 
13275
 
 
13276
Wed May  6 09:31:24 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13277
 
 
13278
        * parse-packet.c (do_parse): add support for 5 byte length leader.
 
13279
        (parse_subpkt): Ditto.
 
13280
        * build-packet.c (write_new_header): Ditto.
 
13281
 
 
13282
        * packet.h (SIGSUBPKT_): New constants.
 
13283
        * parse-packet.c (parse_sig_subpkt): Changed name, made global,
 
13284
        and arg to return packet length, chnaged all callers
 
13285
 
 
13286
 
 
13287
Tue May  5 22:11:59 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13288
 
 
13289
        * keygen.c (gen_dsa): New.
 
13290
        * build_packet.c (do_secret_cert): Support for DSA
 
13291
 
 
13292
Mon May  4 19:01:25 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13293
 
 
13294
        * compress.c: doubled buffer sizes
 
13295
        * parse-packet.c (do_plaintext): now uses iobuf_read/write.
 
13296
 
 
13297
Mon May  4 09:35:53 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13298
 
 
13299
        * seskey.c (encode_md_value): Add optional argument hash_algo,
 
13300
        changed all callers.
 
13301
 
 
13302
        * passphrase.c (make_dek_from_passphrase): Removed
 
13303
        * (get_passhrase_hash): Changed name to passphrase_to_dek, add arg,
 
13304
        changed all callers.
 
13305
 
 
13306
        * all: Introduced the new ELG identifier and added support for the
 
13307
        encryption only one (which is okay to use by GNUPG for signatures).
 
13308
 
 
13309
Sun May  3 17:50:26 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13310
 
 
13311
        * packet.h (PKT_OLD_COMMENT): New name for type 16.
 
13312
        * parse-packet.c (parse_comment): Now uses type 61
 
13313
 
 
13314
Fri May  1 12:44:39 1998  Werner Koch,mobil,,,  (wk@tobold)
 
13315
 
 
13316
        * packet.h (count): Chnaged s2k count from byte to u32.
 
13317
        * seckey-cert.c (do_check): Changed s2k algo 3 to 4, changed
 
13318
        reading of count.
 
13319
        * build-packet.c (do_secret_cert): ditto.
 
13320
        * parse-packet.c (parse_certificate): ditto.
 
13321
 
 
13322
        * parse-packet.c (parse_symkeyenc): New.
 
13323
        * build-packet.c (do_symkey_enc): New.
 
13324
 
 
13325
Thu Apr 30 16:33:34 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13326
 
 
13327
        * sign.c (clearsign_file): Fixed "Hash: " armor line.
 
13328
 
 
13329
Tue Apr 28 14:27:42 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13330
 
 
13331
        * parse-packet.c (parse_subpkt): Some new types.
 
13332
 
 
13333
Mon Apr 27 12:53:59 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13334
 
 
13335
        * g10.c (main): Add option --skip-verify.
 
13336
        * mainproc.c (check_sig_and_print): Ditto.
 
13337
 
 
13338
        * g10.c (print_mds): Add output for Tiger.
 
13339
 
 
13340
        * sign.c (sign_file): Now uses partial length headers if used
 
13341
        in canonical textmode (kludge to fix a bug).
 
13342
 
 
13343
        * parse-packet.c (parse_certificate): Changed BLOWFISH id.
 
13344
        * pubkey-enc.c (get_session_key): Ditto.
 
13345
        * seskey.c (make_session_key): Ditto.
 
13346
        * seckey-cert.c (protect_secret_key,do_check): Add BLOWFISH160.
 
13347
 
 
13348
Fri Apr 24 17:38:48 1998  Werner Koch,mobil,,,  (wk@tobold)
 
13349
 
 
13350
        * sig-check.c (check_key_signature): Add sig-class 0x14..0x17
 
13351
        * keyedit.c (sign-key): Some changes to start with support of
 
13352
        the above new sig-classes.
 
13353
 
 
13354
Wed Apr 22 09:01:57 1998  Werner Koch,mobil,,,  (wk@tobold)
 
13355
 
 
13356
        * getkey.c (compare_name): add email matching
 
13357
 
 
13358
Tue Apr 21 16:17:12 1998  Werner Koch,mobil,,,  (wk@tobold)
 
13359
 
 
13360
        * armor.c (armor_filter): fixed missing last LF before CSUM.
 
13361
 
 
13362
Thu Apr  9 11:35:22 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13363
 
 
13364
        * seckey-cert.c (do_check): New; combines all the check functions
 
13365
        into one.
 
13366
 
 
13367
        * sign.c: removed all key management functions
 
13368
        * keyedit.c: New.
 
13369
 
 
13370
Thu Apr  9 09:49:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13371
 
 
13372
        * import.c (chk_self_sigs): Changed an error message.
 
13373
 
 
13374
Wed Apr  8 16:19:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13375
 
 
13376
        * packet.h: packet structs now uses structs from the pubkey,
 
13377
        removed all copy operations from packet to pubkey structs.
 
13378
 
 
13379
Wed Apr  8 13:40:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13380
 
 
13381
        * trustdb.c (verify_own_certs): Fixed "public key not found".
 
13382
 
 
13383
        * getkey.c (key_byname): New, combines public and secret key search.
 
13384
 
 
13385
        * pkclist.c (build_pkc_list): Add new arg usage, changed all callers.
 
13386
        * skclist.c (build_skc_list): Likewise.
 
13387
 
 
13388
        * ringedit.c (find_keyblock, keyring_search2): Removed.
 
13389
 
 
13390
Wed Apr  8 09:47:21 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13391
 
 
13392
        * sig-check.c (do_check): Applied small fix from Ulf Möller.
 
13393
 
 
13394
Tue Apr  7 19:28:07 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13395
 
 
13396
        * cipher.c, encr-data.c, seckey-cert.c: Now uses cipher_xxxx
 
13397
        functions instead of blowfish_xxx or cast_xxx
 
13398
 
 
13399
Tue Apr  7 11:04:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13400
 
 
13401
        * Makefile.am (g10maint.o): Changed the way it is created.
 
13402
 
 
13403
Mon Apr  6 11:17:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13404
 
 
13405
        * misc.c: New.
 
13406
        * keygen.c (checksum,checksum_u16,checksum_mpi): Moved to misc.c
 
13407
        * seckey-cert.c: Kludge for wrong ELG checksum implementation.
 
13408
 
 
13409
Sat Apr  4 20:07:01 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13410
 
 
13411
        * cipher.c (cipher_filter): Support for CAST5
 
13412
        * encr-data.c (decode_filter): Ditto.
 
13413
        (decrypt_data): Ditto.
 
13414
        * seskey.c (make_session_key): Ditto.
 
13415
        * seckey-cert.c (check_elg, check_dsa): Ditto,
 
13416
        (protect_secret_key): Ditto.
 
13417
        * pubkey-enc.c (get_session_key): Ditto.
 
13418
        * passphrase.c (hash_passphrase): Ditto.
 
13419
 
 
13420
Thu Apr  2 20:22:35 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13421
 
 
13422
        * gpgd.c: New
 
13423
 
 
13424
Thu Apr  2 10:38:16 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13425
 
 
13426
        * keygen.c (generate_keypair): Add valid_days stuff.
 
13427
        * trustdb.c (check_trust): Add check for valid_days.
 
13428
 
 
13429
Wed Apr  1 16:15:58 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13430
 
 
13431
        * keygen.c (generate_keypair): Addional question whether the
 
13432
        selected large keysize is really needed.
 
13433
 
 
13434
Wed Apr  1 15:56:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13435
 
 
13436
        * seckey-cert.c (protect_secret_key): merged protect_xxx to here.
 
13437
 
 
13438
Wed Apr  1 10:34:46 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13439
 
 
13440
        * Makefile.am (g10maint.c): Changed creation rule, so that it works
 
13441
        on FreeBSD (missing CFLAGS).
 
13442
 
 
13443
        * parse-packet.c (parse_subkey): Removed.
 
13444
 
 
13445
Thu Mar 19 15:22:36 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13446
 
 
13447
        * ringedit.c (keyring_enum): Fixed problem with reading too
 
13448
        many packets. Add support to read secret keyrings.
 
13449
 
 
13450
        * getkey.c (scan_keyring): Removed
 
13451
        (lookup): New to replace scan_keyring.
 
13452
        (scan_secret_keyring): Removed.
 
13453
        (lookup_skc): New.
 
13454
 
 
13455
Wed Mar 18 11:47:34 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13456
 
 
13457
        * ringedit.c (enum_keyblocks): New read mode 11.
 
13458
 
 
13459
        * keyid.c (elg_fingerprint_md): New and changed all other functions
 
13460
        to call this if the packet version is 4 or above.
 
13461
 
 
13462
Tue Mar 17 20:46:16 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13463
 
 
13464
        * parse-packet.c (parse_certificate): Add listing support for subkeys.
 
13465
 
 
13466
Tue Mar 17 20:32:22 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13467
 
 
13468
        * armor.c (is_armored): Allow marker packet.
 
13469
 
 
13470
Thu Mar 12 13:36:49 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13471
 
 
13472
        * trustdb.c (check_trust): Checks timestamp of pubkey.
 
13473
        * sig-check. (do_check): Compares timestamps.
 
13474
 
 
13475
Tue Mar 10 17:01:56 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13476
 
 
13477
        * g10.c (main): Add call to init_signals.
 
13478
        * signal.c: New.
 
13479
 
 
13480
Mon Mar  9 12:43:42 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13481
 
 
13482
        * dsa.c: New
 
13483
        * packet.h, free-packet.c, parse-packet.c : Add support for DSA
 
13484
        * sig-check.c, getkey.c, keyid.c, ringedit.c: Ditto.
 
13485
        * seckey-cert.c: Ditto.
 
13486
 
 
13487
        * packet.h : Moved .digest_algo of signature packets to outer
 
13488
        structure. Changed all references
 
13489
 
 
13490
Sun Mar  8 13:06:42 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13491
 
 
13492
        * openfile.c : Support for stdout filename "-".
 
13493
 
 
13494
        * mainproc.c (check_sig_and_print): Enhanced status output:
 
13495
        * status.c (write_status_text): New.
 
13496
 
 
13497
Fri Mar  6 16:10:54 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13498
 
 
13499
        * kbnode.c (clone_kbnode): Fixed private_flag.
 
13500
 
 
13501
        * mainproc.c (list_node): Output of string "Revoked" as user-id.
 
13502
 
 
13503
Fri Mar  6 14:26:39 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13504
 
 
13505
        * g10.c (main): Add userids to "-kv" and cleaned up this stuff.
 
13506
 
 
13507
Fri Mar  6 12:45:58 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13508
 
 
13509
        * g10.c (main): Changed semantics of the list-... commands
 
13510
        and added a new one. Removed option "-d"
 
13511
 
 
13512
        * decrypt.c: New.
 
13513
 
 
13514
        * trustdb.c (init_trustdb): Autocreate directory only if it ends
 
13515
        in "/.gnupg".
 
13516
 
 
13517
Thu Mar  5 12:12:11 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13518
 
 
13519
        * mainproc.c (do_proc_packets): New. Common part of proc_packet.
 
13520
        (proc_signature_packets): special version to handle signature data.
 
13521
        * verify.c: New.
 
13522
        * g10.c (aVerify): New.
 
13523
        * plaintext.c (hash_datafiles): New.
 
13524
        * compress.c (handle_compressed): Add callback arg, changed caller.
 
13525
 
 
13526
Thu Mar  5 10:20:06 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13527
 
 
13528
        * g10.c: Is nom the common source for gpg and gpgm
 
13529
        * g10maint.c: Removed
 
13530
        * Makefile.am: Add rule to build g10maint.c
 
13531
 
 
13532
Thu Mar  5 08:43:59 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13533
 
 
13534
        * g10.c (main): Changed the way clear text sigs are faked.
 
13535
 
 
13536
Wed Mar  4 19:47:37 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13537
 
 
13538
        * g10maint.c (aMuttKeyList): New
 
13539
        * keylist.c: New.
 
13540
 
 
13541
Wed Mar  4 17:20:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13542
 
 
13543
        * getkey.c (get_pubkey_byname): Kludge to allow 0x prefix.
 
13544
 
 
13545
Tue Mar  3 13:46:55 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13546
 
 
13547
        * g10maint.c (main): New option --gen-random.
 
13548
 
 
13549
Tue Mar  3 09:50:08 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13550
 
 
13551
        * g10.c (aDeleteSecretKey): New.
 
13552
        (aEditSig): Add option "--edit-key" as synonym for "--edit-sig".
 
13553
        (aDeleteSecretKey): New.
 
13554
        * getkey.c (seckey_available): New.
 
13555
        * sign.c (delete_key): Enhanced to delete secret keys, changed all
 
13556
        callers.
 
13557
 
 
13558
Mon Mar  2 21:23:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13559
 
 
13560
        * pkc_list.c (build_pkc_list): Add interactive input of user ID.
 
13561
 
 
13562
Mon Mar  2 20:54:05 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13563
 
 
13564
        * pkclist.c (do_we_trust_pre): New.
 
13565
        (add_ownertrust): Add message.
 
13566
        * trustdb.c (enum_trust_web): Quick fix.
 
13567
 
 
13568
Mon Mar  2 13:50:53 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13569
 
 
13570
        * g10.c (main): New action aDeleteKey
 
13571
        * sign.c (delete_key): New.
 
13572
 
 
13573
Sun Mar  1 16:38:58 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13574
 
 
13575
        * trustdb.c (do_check): No returns TRUST_UNDEFINED instead of
 
13576
        eof error.
 
13577
 
 
13578
Fri Feb 27 18:14:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13579
 
 
13580
        * armor.c (find_header): Removed trailing CR on headers.
 
13581
 
 
13582
Fri Feb 27 18:02:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13583
 
 
13584
        * ringedit.c (keyring_search) [MINGW32]: Open and close file here
 
13585
        because rename does not work on open files. Chnaged callers.
 
13586
 
 
13587
Fri Feb 27 16:43:11 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13588
 
 
13589
        * sig-check.c (do_check): Add an md_enable.
 
13590
        * mainproc.c (do_check_sig): Use md_open in case of detached sig
 
13591
        (proc_tree): Take detached sigs into account.
 
13592
 
 
13593
Fri Feb 27 15:22:46 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13594
 
 
13595
        * g10.c (main): Make use of GNUPGHOME envvar.
 
13596
        * g10main.c (main): Ditto.
 
13597
 
 
13598
Wed Feb 25 11:40:04 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13599
 
 
13600
        * plaintext.c (ask_for_detached_datafile): add opt.verbose to
 
13601
        info output.
 
13602
 
 
13603
        * openfile.c (open_sigfile): Try also name ending in ".asc"
 
13604
 
 
13605
Wed Feb 25 08:41:00 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13606
 
 
13607
        * keygen.c (generate_keypair): Fixed memory overflow.
 
13608
 
 
13609
Tue Feb 24 15:51:55 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13610
 
 
13611
        * parse-packet.c (parse_certificate): Support for S2K.
 
13612
        * build-packet.c (do_secret_cert): Ditto.
 
13613
        * keygen.c (gen_elg): Ditto.
 
13614
        * seckey-cert.c (check_elg): Ditto
 
13615
        (protect_elg): Ditto.
 
13616
        * sign.c (chnage_passphrase): Ditto.
 
13617
        * passphrase.c (get_passphrase_hash): Support for a salt and
 
13618
        changed all callers.
 
13619
        (make_dek_from_passphrase): Ditto.
 
13620
 
 
13621
Tue Feb 24 12:30:56 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13622
 
 
13623
        * build-packet.c (hash_public_cert): Disabled debug output.
 
13624
 
 
13625
Fri Feb 20 17:22:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13626
 
 
13627
        * trustdb.c (init_trustdb) [MINGW32]: Removed 2nd mkdir arg.
 
13628
        (keyring_copy) [MINGW32]: Add a remove prior to the renames.
 
13629
 
 
13630
Wed Feb 18 18:39:02 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13631
 
 
13632
        * Makefile.am (OMIT_DEPENDENCIES): New.
 
13633
 
 
13634
        * rsa.c: Replaced log_bug by BUG.
 
13635
 
 
13636
Wed Feb 18 13:35:58 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13637
 
 
13638
        * mainproc.c (do_check_sig): Now uses hash_public_cert.
 
13639
        * parse-packet.c (parse_certificate): Removed hashing.
 
13640
        * packet.h (public_cert): Removed hash variable.
 
13641
        * free-packet.c (copy_public_cert, free_public_cert): Likewise.
 
13642
 
 
13643
        * sig-check.c (check_key_signatures): Changed semantics.
 
13644
 
 
13645
Wed Feb 18 12:11:28 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13646
 
 
13647
        * trustdb.c (do_check): Add handling for revocation certificates.
 
13648
        (build_sigrecs): Ditto.
 
13649
        (check_sigs): Ditto.
 
13650
 
 
13651
Wed Feb 18 09:31:04 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13652
 
 
13653
        * armor.c (armor_filter): Add afx->hdrlines.
 
13654
        * revoke.c (gen_revoke): Add comment line.
 
13655
        * dearmor.c (enarmor_file): Ditto.
 
13656
 
 
13657
        * sig-check.c (check_key_signature): Add handling for class 0x20.
 
13658
        * mainproc.c : Ditto.
 
13659
 
 
13660
Tue Feb 17 21:24:17 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13661
 
 
13662
        * armor.c : Add header lines "...ARMORED FILE .."
 
13663
        * dearmor.c (enarmor_file): New.
 
13664
        * g10maint.c (main): New option "--enarmor"
 
13665
 
 
13666
Tue Feb 17 19:03:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13667
 
 
13668
        * mainproc.c : Changed a lot, because the packets are now stored
 
13669
        a simple linlked list and not anymore in a complicatd tree structure.
 
13670
 
 
13671
Tue Feb 17 10:14:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13672
 
 
13673
        * free_packet.c (cmp_public_certs): New.
 
13674
        (cmp_user_ids): New.
 
13675
 
 
13676
        * kbnode.c (clone_kbnode): New.
 
13677
        (release_kbnode): Add clone support.
 
13678
 
 
13679
        * ringedit.c (find_keyblock_bypkc): New.
 
13680
 
 
13681
        * sign.c (remove_keysigs): Self signatures are now skipped,
 
13682
        changed arguments and all callers.
 
13683
 
 
13684
        * import.c : Add functionality.
 
13685
 
 
13686
Tue Feb 17 09:31:40 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13687
 
 
13688
        * options.h (homedir): New option.
 
13689
        * g10.c, g10maint.c, getkey.c, keygen.c, trustdb.c (opt.homedir): New.
 
13690
 
 
13691
        * trustdb.c (init_trustdb): mkdir for hoem directory
 
13692
        (sign_private_data): Renamed "sig" to "g10.sig"
 
13693
 
 
13694
Mon Feb 16 20:02:03 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13695
 
 
13696
        * kbnode.c (commit_kbnode): New.
 
13697
        (delete_kbnode): removed unused first arg. Changed all Callers.
 
13698
 
 
13699
        * ringedit.c (keyblock_resource_name): New.
 
13700
        (get_keyblock_handle): NULL for filename returns default resource.
 
13701
 
 
13702
Mon Feb 16 19:38:48 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13703
 
 
13704
        * sig-check.s (check_key_signature): Now uses the supplied
 
13705
        public key to check the signature and not any more the one
 
13706
        from the getkey.c
 
13707
        (do_check): New.
 
13708
        (check_signature): Most work moved to do_check.
 
13709
 
 
13710
Mon Feb 16 14:48:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13711
 
 
13712
        * armor.c (find_header): Fixed another bug.
 
13713
 
 
13714
Mon Feb 16 12:18:34 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13715
 
 
13716
        * getkey.c (scan_keyring): Add handling of compressed keyrings.
 
13717
 
 
13718
Mon Feb 16 10:44:51 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13719
 
 
13720
        * g10.c, g10maint.c (strusage): Rewrote.
 
13721
        (build_list): New
 
13722
 
 
13723
Mon Feb 16 08:58:41 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13724
 
 
13725
        * armor.c (use_armor): New.
 
13726
 
 
13727
Sat Feb 14 14:30:57 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13728
 
 
13729
        * mainproc.c (proc_tree): Sigclass fix.
 
13730
 
 
13731
Sat Feb 14 14:16:33 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13732
 
 
13733
        * armor.c (armor_filter): Changed version and comment string.
 
13734
        * encode.c, sign.c, keygen.c: Changed all comment packet strings.
 
13735
 
 
13736
Sat Feb 14 12:39:24 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13737
 
 
13738
        * g10.c (aGenRevoke): New command.
 
13739
        * revoke.c: New.
 
13740
        * sign.c (make_keysig_packet): Add support for sigclass 0x20.
 
13741
 
 
13742
Fri Feb 13 20:18:14 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13743
 
 
13744
        * ringedit.c (enum_keyblocks, keyring_enum): New.
 
13745
 
 
13746
Fri Feb 13 19:33:40 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13747
 
 
13748
        * export.c: Add functionality.
 
13749
 
 
13750
        * keygen.c (generate_keypair): Moved the leading comment behind the
 
13751
        key packet.
 
13752
        * kbnode.c (walk_kbnode): Fixed.
 
13753
 
 
13754
        * g10.c (main): listing armored keys now work.
 
13755
 
 
13756
Fri Feb 13 16:17:43 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13757
 
 
13758
        * parse-packet.c (parse_publickey, parse_signature): Fixed calls
 
13759
        to mpi_read used for ELG b.
 
13760
 
 
13761
Fri Feb 13 15:13:23 1998  Werner Koch  (wk@isil.d.shuttle.de)
 
13762
 
 
13763
        * g10.c (main): changed formatting of help output.
 
13764
 
 
13765
Thu Feb 12 22:24:42 1998  Werner Koch  (wk@frodo)
 
13766
 
 
13767
        * pubkey-enc.c (get_session_key): rewritten
 
13768
 
 
13769
 
 
13770
 Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
 
13771
           2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 
13772
 
 
13773
 This file is free software; as a special exception the author gives
 
13774
 unlimited permission to copy and/or distribute it, with or without
 
13775
 modifications, as long as this notice is preserved.
 
13776
 
 
13777
 This file is distributed in the hope that it will be useful, but
 
13778
 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
 
13779
 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.