Key generation and signing using the OpenPGP card does rudimentary work.
[gnupg.git] / NEWS
diff --git a/NEWS b/NEWS
index 75fa0aa..794ad11 100644 (file)
--- a/NEWS
+++ b/NEWS
-Noteworthy changes in version 0.9.2
------------------------------------
+Noteworthy changes in version 1.9.0 (unreleased)
+------------------------------------------------
 
   * add some additional time warp checks.
* gpg does now also use libgcrypt, libgpg-error is required.
 
   * Option --keyserver and command --send-keys to utilize HKP servers.
* New gpgsm commands --call-dirmngr and --call-protect-tool.
 
-    * Upgraded to zlib 1.1.3 and fixed an inflate bug
+ * Changing a passphrase is now possible using "gpgsm --passwd"
 
   * More cleanup on the cleartext signatures.
* The content-type attribute is now recognized and created.
 
+ * The agent does now reread certain options on receiving a HUP.
 
-Noteworthy changes in version 0.9.1
------------------------------------
+ * The pinentry is now forked for each request so that clients with
+   different environments are supported.  When running in daemon mode
+   and --keep-display is not used the DISPLAY variable is ignored.
 
-    * Polish language support.
+ * Merged stuff from the newpg branch and started this new
+   development branch.
 
-    * When querying the passphrase, the key ID of the primary key is
-      displayed along with the one of the used secondary key.
 
-    * Fixed a bug occurring when decrypting pgp 5 encrypted messages,
-      fixed an infinite loop bug in the 3DES code and in the code
-      which looks for trusted signatures.
+ Copyright 2002, 2003 Free Software Foundation, Inc.
 
-    * Fixed a bug in the mpi library which caused signatures not to
-      compare okay.
-
-    * Rewrote the handling of cleartext signatures; the code is now
-      better maintainable (I hope so).
-
-    * New status output VALIDSIG only for valid signatures together
-      with the fingerprint of the signer's key.
-
-
-Noteworthy changes in version 0.9.0
------------------------------------
-
-    * --export does now only exports rfc2440 compatible keys; the
-      old behaviour is available with --export-all.
-      Generation of v3 ElGamal (sign and encrypt) keys is not longer
-      supported.
-
-    * Fixed the uncompress bug.
-
-    * Rewrote the rndunix module. There are two environment variables
-      used for debugging now: GNUPG_RNDUNIX_DBG give the file to write
-      debugging information (use "-" for stdout) and if GNUPG_RNDUNIX_DBGALL
-      is set, all programs which are only tried are also printed.
-
-    * New option --escape-from-lines to "dash-escape" "From " lines to
-      prevent mailers to change them to ">From ".  This is not enabled by
-      default because it is not in compliance with rfc2440 - however, you
-      should turn it on.
-
-
-Noteworthy changes in version 0.4.5
------------------------------------
-
-    * The keyrings and the trustdb is now locked, so that
-      other GnuPG processes won't damage these files.  You
-      may want to put the option --lock-once into your options file.
-
-    * The latest self-signatures are now used; this enables --import
-      to see updated preferences etc.
-
-    * Import of subkeys should now work.
-
-    * Random gathering modules may now be loaded as extensions. Add
-      such a module for most Unices but it is very experimental!
-
-    * Brazilian language support.
-
-
-Noteworthy changes in version 0.4.4
------------------------------------
-
-    * Fixed the way the key expiration time is stored. If you have
-      an expiration time on your key you should fix it with --edit-key
-      and the command "expire".  I apologize for this inconvenience.
-
-    * Add option --charset to support "koi8-r" encoding of user ids.
-      (Not yet tested).
-
-    * Preferences should now work again. You should run
-      "gpgm --check-trustdb \*" to rebuild all preferences.
-
-    * Checking of certificates should now work but this needs a lot
-      of testing.  Key validation values are now cached in the
-      trustdb; they should be recalculated as needed, but you may
-      use --check-trustdb or --update-trustdb to do this.
-
-    * Spanish translation by Urko Lusa.
-
-    * Patch files are from now on signed.  See the man page
-      for the new option --not-dash-escaped.
-
-    * New syntax: --edit-key <userID> [<commands>]
-      If you run it without --batch the commands are executed and then
-      you are put into normal mode unless you use "quit" or "save" as
-      one of the commands.  When in batch mode, the program quits after
-      the last command, so you have to use "save" if you did some changes.
-      It does not yet work completely, but may be used to list so the
-      keys etc.
-
-
-Noteworthy changes in version 0.4.3
------------------------------------
-
-    * Fixed the gettext configure bug.
-
-    * Kludge for RSA keys: keyid and length of a RSA key are
-      correctly reported, but you get an error if you try to use
-      this key (If you do not have the non-US version).
-
-    * Experimental support for keyrings stored in a GDBM database.
-      This is *much* faster than a standard keyring.  You will notice
-      that the import gets slower with time; the reason is that all
-      new keys are used to verify signatures of previous inserted
-      keys.  Use "--keyring gnupg-gdbm:<name-of-gdbm-file>".  This is
-      not (yet) supported for secret keys.
-
-    * A Russian language file in the distribution (alternatives are in
-      the contrib directory of the FTP servers)
-
-    * commandline option processing now works as expected for GNU programs
-      with the exception that you can't mix options and normal arguments.
-
-    * Now --list-key lists all matching keys.  This is needed in some
-      other places too.
-
-
-Noteworthy changes in version 0.4.2
------------------------------------
-
-    * This is only a snapshot: There are still a few bugs.
-
-    * Fixed this huge memory leak.
-
-    * Redesigned the trust database:  You should run "gpgm --check-trustdb".
-      New command --update-trustdb, which adds new key from the public
-      keyring into your trustdb
-
-    * Fixed a bug in the armor code, leading to invalid packet errors.
-      (a workaround for this was to use --no-armor).  The shorten line
-      length (64 instead of 72) fixes a problem with pgp5 and keyservers.
-
-    * comment packets are not anymore generated. "--export" filters
-      them out.  One Exception:  The comment packets in a secret keyring
-      are still used because they carry the factorization of the public
-      prime product.
-
-    * --import now only looks for KEYBLOCK headers, so you can now simply
-      remove the "- " in front of such a header if someone accidently signed
-      such a message or the keyblock is part of a cleartext signed message.
-
-    * --with-colons now lists the key expiration time and not anymore
-      the valid period.
-
-    * Some keyblocks created with old releases have a wrong sequence
-      of packets, so that the keyservers don't accept these keys.
-      Simply using "--edit-key" fixes the problem.
-
-    * New option --force-v3-sigs to generate signed messages which are
-      compatible to PGP 5.
-
-    * Add some code to support DLD (for non ELF systems) - but this is
-      not tested because my BSD box is currently broken.
-
-    * New command "expire" in the edit-key menu.
-
-
-
-Noteworthy changes in version 0.4.1
------------------------------------
-    * A secondary key is used when the primary key is specified but cannot
-      be used for the operation (if it is a sign-only key).
-
-    * GNUPG can now handle concatenated armored messages:  There is still a
-      bug if different kinds of messages are mixed.
-
-    * Iterated+Salted passphrases now work.  If want to be sure that PGP5
-      is able to handle them you may want to use the options
-       "--s2k-mode 3 --s2k-cipher-algo cast5 --s2k-digest-algo sha1"
-      when changing a passphrase.
-
-    * doc/OpenPGP talks about OpenPGP compliance, doc/HACKING gives
-      a few hints about the internal structure.
-
-    * Checked gnupg against the August 1998 draft (07) and I believe
-      it is in compliance with this document (except for one point).
-
-    * Fixed some bugs in the import merging code and rewrote some
-      code for the trustdb.
-
-
-Noteworthy changes in version 0.4.0
------------------------------------
-    * Triple DES is now supported.  Michael Roth did this piece of
-      needed work.  We have now all the coded needed to be OpenPGP
-      compliant.
-
-    * Added a simple rpm spec file (see INSTALL).
-
-    * detached and armored signatures are now using "PGP SIGNATURE",
-      except when --rfc1991 is used.
-
-    * All times which are not in the yyy-mm-dd format are now printed
-      in local time.
-
-
-Noteworthy changes in version 0.3.5
------------------------------------
-    * New option --throw-keyid to create anonymous enciphered messages.
-      If gpg detects such a message it tires all available secret keys
-      in turn so decode it.  This is a gnupg extension and not in OpenPGP
-      but it has been discussed there and afaik some products use this
-      scheme too (Suggested by Nimrod Zimmerman).
-
-    * Fixed a bug with 5 byte length headers.
-
-    * --delete-[secret-]key is now also available in gpgm.
-
-    * cleartext signatures are not anymore converted to LF only.
-
-    * Fixed a trustdb problem. Run "gpgm --check-trustdb" to fix old
-      trust dbs.
-
-    * Building in another directory should now work.
-
-    * Weak key detection mechanism (Niklas Hernaeus).
-
-
-Noteworthy changes in version 0.3.4
------------------------------------
-    * New options --comment and --set-filename; see g10/OPTIONS
-
-    * yes/no, y/n localized.
-
-    * Fixed some bugs.
-
-Noteworthy changes in version 0.3.3
------------------------------------
-    * IMPORTANT: I found yet another bug in the way the secret keys
-      are encrypted - I did it the way pgp 2.x did it, but OpenPGP
-      and pgp 5.x specify another (in some aspects simpler) method.
-      To convert your secret keys you have to do this:
-       1. Build the new release but don't install it and keep
-          a copy of the old program.
-       2. Disable the network, make sure that you are the only
-          user, be sure that there are no Trojan horses etc ....
-       3. Use your old gpg (version 0.3.[12]) and set the
-          passphrases of ALL your secret keys to empty!
-          (gpg --change-passphrase your-user-id).
-       4. Save your ownertrusts (see the next point)
-       5. rm ~/.gnupg/trustdb.gpg
-       6. install the new version of gpg (0.3.3)
-       7. For every secret key call "gpg --edit-key your-user-id",
-          enter "passwd" at the prompt, follow the instructions and
-          change your password back, enter "save" to store it.
-       8. Restore the ownertrust (see next point).
-
-    * The format of the trust database has changed; you must delete
-      the old one, so gnupg can create a new one.
-      IMPORTANT: Use version 0.3.[12] to save your assigned ownertrusts
-      ("gpgm --list-ownertrust >saved-trust"); then build this new version
-      and restore the ownertrust with this new version
-      ("gpgm --import-ownertrust saved-trust").  Please note that
-      --list-ownertrust has been renamed to --export-ownertrust in this
-      release and it does now only export defined ownertrusts.
-
-    * The command --edit-key now provides a commandline driven menu
-      which can be used for various tasks.  --sign-key is only an
-      an alias to --edit-key and maybe removed in future: use the
-      command "sign" of this new menu - you can select which user ids
-      you want to sign.
-
-    * Alternate user ids can now be created an signed.
-
-    * Owner trust values can now be changed with --edit-key (trust)
-
-    * GNUPG can now run as a coprocess; this enables sophisticated
-      frontends.  tools/shmtest.c is a simple sample implementation.
-      This needs some more work: all tty_xxx() are to be replaced
-      by cpr_xxx() and some changes in the display logics is needed.
-
-    * Removed options --gen-prime and --gen-random.
-
-    * Removed option --add-key; use --edit-key instead.
-
-    * Removed option --change-passphrase; use --edit-key instead.
-
-    * Signatures are now checked even if the output file could not
-      be created. Command "--verify" tries to find the detached data.
-
-    * gpg now disables core dumps.
-
-    * compress and symmetric cipher preferences are now used.
-      Because there is no 3DES yet, this is replaced by Blowfish.
-
-    * We have added the Twofish as an experimental cipher algorithm.
-      Many thanks to Matthew Skala for doing this work.
-      Twofish is the AES submission from Schneier et al.; see
-      "www.counterpane.com/twofish.html" for more information.
-
-    * Started with a help system: If you enter a question mark at some
-      prompt; you should get a specific help for this prompt.
-
-    * There is no more backup copy of the secret keyring.
-
-    * A lot of new bugs. I think this release is not as stable as
-      the previous one.
-
-
-Noteworthy changes in version 0.3.2
------------------------------------
-    * Fixed some bugs when using --textmode (-seat)
-
-    * Now displays the trust status of a positive verified message.
-
-    * Keyrings are now scanned in the sequence they are added with
-      --[secret-]keyring.  Note that the default keyring is implicitly
-      added as the very first one unless --no-default-keyring is used.
-
-    * Fixed setuid and dlopen bug.
-
-Noteworthy changes in version 0.3.1
------------------------------------
-    * Partial headers are now written in the OpenPGP format if
-      a key in a v4 packet is used.
-
-    * Removed some unused options, removed the gnupg.sig stuff.
-
-    * Key lookup by name now returns a key which can be used for
-      the desired action.
-
-    * New options --list-ownertrust (gpgm) to make a backup copy
-      of the ownertrust values you assigned.
-
-    * clear signature headers are now in compliance with OpenPGP.
-
-Noteworthy changes in version 0.3.0
------------------------------------
-
-    * New option --emulate-checksum-bug.  If your passphrase does not
-      work anymore, use this option and --change-passphrase to rewrite
-      your passphrase.
-
-    * More complete v4 key support: Preferences and expiration time
-      is set into the self signature.
-
-    * Key generation defaults to DSA/ElGamal keys, so that new keys are
-      interoperable with pgp5
-
-    * DSA key generation is faster and key generation does not anymore
-      remove entropy from the random generator (the primes are public
-      parameters, so there is really no need for a cryptographic secure
-      prime number generator which we had used).
-
-    * A complete new structure for representing the key parameters.
-
-    * Removed most public key knowledge into the cipher library.
-
-    * Support for dynamic loading of new algorithms.
-
-    * Moved tiger to an extension module.
-
-
-Noteworthy changes in version 0.2.19
-------------------------------------
-
-    * Replaced /dev/urandom in checks with new tool mk-tdata.
-
-    * Some assembler file cleanups; some more functions for the Alpha.
-
-    * Tiger has now the OpenPGP assigned number 6.  Because the OID has
-      changed, old signatures using this algorithm can't be verified.
-
-    * gnupg now encrypts the compressed packed and not any longer in the
-      reverse order; anyway it can decrypt both versions. Thanks to Tom
-      for telling me this (not security related) bug.
-
-    * --add-key works and you are now able to generate subkeys.
-
-    * It is now possible to generate ElGamal keys in v4 packets to create
-      valid OpenPGP keys.
-
-    * Some new features for better integration into MUAs.
-
-
-Noteworthy changes in version 0.2.18
-------------------------------------
-
-    * Splitted cipher/random.c, add new option "--disable-dev-random"
-      to configure to support the development of a random source for
-      other systems. Prepared sourcefiles rand-unix.c, rand-w32.c
-      and rand-dummy.c (which is used to allow compilation on systems
-      without a random source).
-
-    * Fixed a small bug in the key generation (it was possible that 48 bits
-      of a key were not taken from the random pool)
-
-    * Add key generation for DSA and v4 signatures.
-
-    * Add a function trap_unaligned(), so that a SIGBUS is issued on
-      Alphas and not the slow emulation code is used. And success: rmd160
-      raised a SIGBUS.
-
-    * Enhanced the formatting facility of argparse and changed the use of
-      \r,\v to @ because gettext does not like it.
-
-    * New option "--compress-algo 1" to allow the creation of compressed
-      messages which are readable by PGP and "--print-md" (gpgm) to make
-      speed measurement easier.
-
-
-Noteworthy changes in version 0.2.17
-------------------------------------
-
-    * Comment packets are now of private type 61.
-
-    * Passphrase code still used a 160 bit blowfish key, added a
-      silly workaround. Please change your passphrase again - sorry.
-
-    * Conventional encryption now uses a type 3 packet to describe the
-      used algorithms.
-
-    * The new algorithm number for Blowfish is 20, 16 is still used for
-      encryption only; for signing it is only used when it is in a v3 packet,
-      so that GNUPG keys are still valid.
-
-
-Noteworthy changes in version 0.2.16
-------------------------------------
-
-    * Add experimental support for the TIGER/192 message digest algorithm.
-      (But there is only a dummy ASN OID).
-
-    * Standard cipher is now Blowfish with 128 bit key in OpenPGP's CFB
-      mode. I renamed the old cipher to Blowfish160. Because the OpenPGP
-      group refused to assign me a number for Blowfish160, I have to
-      drop support for this in the future. You should use
-      "--change-passphrase" to recode your current passphrase with 128
-      bit Blowfish.
-
-
-Noteworthy changes in version 0.2.15
-------------------------------------
-
-    * Fixed a bug with the old checksum calculation for secret keys.
-      If you run the program without --batch, a warning does inform
-      you if your secret key needs to be converted; simply use
-      --change-passphrase to recalculate the checksum. Please do this
-      soon, as the compatible mode will be removed sometime in the future.
-
-    * CAST5 works (using the PGP's special CFB mode).
-
-    * Again somewhat more PGP 5 compatible.
-
-    * Some new test cases
-
-Noteworthy changes in version 0.2.14
-------------------------------------
-
-    * Changed the internal handling of keyrings.
-
-    * Add support to list PGP 5 keyrings with subkeys
-
-    * Timestamps of signatures are now verified.
-
-    * A expiration time can now be specified during key generation.
-
-    * Some speedups for Blowfish and SHA-1, rewrote SHA-1 transform.
-      Reduced the amount of random bytes needed for key generation in
-      some cases.
-
-
-Noteworthy changes in version 0.2.13
-------------------------------------
-
-    * Verify of DSA signatures works.
-
-    * Re-implemented the slower random number generator.
-
-
-Noteworthy changes in version 0.2.12
-------------------------------------
-
-    * --delete-key checks that there is no secret key. The new
-      option --delete-secret-key maybe used to delete a secret key.
-
-    * "-kv" now works as expected. Options "--list-{keys,sigs]"
-      and "--check-sigs" are now working.
-
-    * New options "--verify" and "--decrypt" to better support integration
-      into MUAs (partly done for Mutt).
-
-    * New option "--with-colons" to make parsing of key lists easier.
-
-Noteworthy changes in version 0.2.11
-------------------------------------
-
-    * GPG now asks for a recipient's name if option "-r" is not used.
-
-    * If there is no good trust path, the program asks whether to use
-      the public keys anyway.
-
-    * "--delete-key" works for public keys. What semantics shall I use
-      when there is a secret key too? Delete the secret key or leave him
-      and auto-regenerate the public key, next time the secret key is used?
-
-Noteworthy changes in version 0.2.10
-------------------------------------
-
-    * Code for the alpha is much faster (about 20 times); the data
-      was misaligned and the kernel traps this, so nearly all time
-      was used by system to trap the misalignments and to write
-      syslog messages. Shame on me and thanks to Ralph for
-      pointing me at this while drinking some beer yesterday.
-
-    * Changed some configure options and add an option
-      --disable-m-guard to remove the memory checking code
-      and to compile everything with optimization on.
-
-    * New environment variable GNUPGHOME, which can be used to set
-      another homedir than ~/.gnupg.  Changed default homedir for
-      Windoze version to c:/gnupg.
-
-    * Fixed detached signatures; detached PGP signatures caused a SEGV.
-
-    * The Windoze version works (as usual w/o a strong RNG).
-
-
-Noteworthy changes in version 0.2.9
------------------------------------
-
-    * Fixed FreeBSD bug.
-
-    * Added a simple man page.
-
-    * Switched to automake1.2f and a newer gettext.
-
-Noteworthy changes in version 0.2.8
------------------------------------
-
-    * Changed the name to GNUPG, the binaries are called gpg and gpgm.
-      You must rename rename the directory "~/.g10" to ~/.gnupg/, rename
-      {pub,sec}ring.g10 to {pub,sec}ring.gpg, trustdb.g10 to trustdb.gpg
-      and g10.sig to gnupg.sig.
-
-    * New or changed passphrases are now salted.
-
-
-Noteworthy changes in version 0.2.7
------------------------------------
-
-    * New command "gen-revoke" to create a key revocation certificate.
-
-    * New option "homedir" to set the homedir (which defaults to "~/.g10").
-      This directory is created if it does not exists (only the last
-      part of the name and not the complete hierarchy)
-
-    * Command "import" works. (Try: "finger gcrypt@ftp.guug.de|g10 --import")
-
-    * New commands "dearmor/enarmor" for g10maint.  These are mainly
-      used for internal test purposes.
-
-    * Option --version now conforming to the GNU standards and lists
-      the available ciphers, message digests and public key algorithms.
-
-    * Assembler code for m68k (not tested).
-
-    * "make check" works.
-
-Noteworthy changes in version 0.2.6
------------------------------------
-
-    * Option "--export" works.
-
-
-Noteworthy changes in version 0.2.5
------------------------------------
-
-    * Added zlib for systems which don't have it.
-      Use "./configure --with-zlib" to link with the static version.
-
-    * Generalized some more functions and rewrote the encoding of
-      message digests into MPIs.
-
-    * Enhanced the checkit script
-
-
-Noteworthy changes in version 0.2.4
------------------------------------
-
-    * nearly doubled the speed of the ElGamal signature verification.
-
-    * backup copies of keyrings are created.
-
-    * assembler stuff for Pentium; gives about 15% better performance.
-
-    * fixed a lot of bugs.
-
-
-Noteworthy changes in version 0.2.3
------------------------------------
-
-    * Found a bug in the calculation of ELG fingerprints. This is now
-      fixed, but all existing fingerprints and keyids for ELG keys
-      are not any more valid.
-
-    * armor should now work; including clear signed text.
-
-    * moved some options to the new program g10maint
-
-    * It's now 64 bit clean and runs fine on an alpha--linux.
-
-    * Key generation is much faster now.  I fixed this by using not
-      so strong random number for the primes (this was a bug because the
-      ElGamal primes are public parameters and it does not make sense
-      to generate them from strong random).  The real secret is the x value
-      which is still generated from strong (okay: /dev/random) random bits.
-
-    * added option "--status-fd": see g10/OPTIONS
-
-    * We have secure memory on systems which support mlock().
-      It is not complete yet, because we do not have signal handler
-      which does a cleanup in very case.
-      We should also check the ulimit for the user in the case
-      that the admin does not have set a limit on locked pages.
-
-    * started with internationalization support.
-
-    * The logic to handle the web of trust is now implemented. It is
-      has some bugs; but I'm going to change the algorithm anyway.
-      It works by calculating the trustlevel on the fly.  It may ask
-      you to provide trust parameters if the calculated trust probability
-      is too low.  I will write a paper which discusses this new approach.
-
-    * a couple of changes to the configure script.
-
-    * New option "--quick-random" which uses a much quicker random
-      number generator.  Keys generated while this option is in effect
-      are flags with "INSECURE!" in the user-id.  This is a development
-      only option.
-
-    * Read support for new version packets (OpenPGP).
-
-    * Comment packets are now of correct OpenPGP type 16. Old comment
-      packets written by G10 are detected because they always start with
-      a hash which is an invalid version byte.
-
-    * The string "(INSECURE!)" is appended to a new user-id if this
-      is generated on a system without a good random number generator.
+ This file is free software; as a special exception the author gives
+ unlimited permission to copy and/or distribute it, with or without
+ modifications, as long as this notice is preserved.
 
+ This file is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.