See ChangeLog: Thu Jan 7 18:00:58 CET 1999 Werner Koch
[gnupg.git] / TODO
diff --git a/TODO b/TODO
index 41065cf..f125491 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,37 +1,60 @@
+Bugs
+----
+    * clearsig: keep lineendings as they are. Remember that trailings
+      blanks are not hashed.  Funny: pgp263in works fine even with
+      a source file with CR,LF but GnuPG and pgp263in has problems
+      if the clearsign has been created by pgp263ia.
+      Needs more investigation - anyone?
 
-    * add assembler support for more CPUs. (work, but easy)
-    * improve iobuf by reading more than one byte at once,
-      this shoud espceially done for the buffer in the chain.
-    * add a way to difference between errors and eof in the underflow/flush
-      function of iobuf.
-    * check that all output is filtered when displayed.
-    * add trust stuff
+Important
+----------
+    * Check revocation and expire stuff.  PLEASE: THIS MUST BE TESTED!
+
+    * Check calculation of key validity. PLEASE: IT IS IMPORTED THAT
+      THIS GET TESTED.
+
+    * It has been reported that lockfiles are not removed in all cases.
+      cleanup is done with atexit() and all signals trigger exit() -
+      anything wrong with this?  - ah yes: a signal while still in
+      dotlock_make
+
+    * See why we always get this "Hmmm public key lost"
+
+    * print a warning when a revoked/expired secret key is used.
+
+    * Allow the use of a the faked RNG onyl for keys which are
+      flagged as INSECURE.
+
+
+Needed
+------
+    * remove more "Fixmes"
+
+    * Replace Blowfish by Twofish and add the new encrypted packet typ
+      which has a MACing option (append SHA1 hash to the plaintext and
+      encrypt this all) - We need an identifier for Twofish to put this
+      one into the cipher preferences.
+
+    * The -export-dynamic flag to ld works only for FreeBSD 3.0.  It does
+      not exist on FreeBSD's 2.2.x version of ld.
+      Also, on my FreeBSD 2.2-stable box, i simply removed the
+      -Wl,-export-dynamic flag from my Makefile and it linked and seems to
+      be working OK so far.
+
+Minor Bugs
+----------
+
+Nice to have
+------------
+    * preferences of hash algorithms are not yet used.
+    * new menu to delete signatures and list signature in menu
+    * Replace the SIGUSR1 stuff by semaphores to avoid loss of a signal.
+      or use POSIX.4 realtime signals.
+    * add test cases for invalid data (scrambled armor or other random data)
     * add checking of armor trailers
-    * add real secure memory
-    * look for a way to reuse RSA signatures
-    * remove all "Fixmes"
-    * speed up the RIPE-MD-160
-    * add signal handling
-    * enable a SIGSEGV handler while using zlib functions
-
-    * PGP writes the signature and then the file, this is not
-      a good idea, we can't write such files if we take input from stdin.
-      So the solution will: accept such packet, but write
-      signature the corret way: first the data and then the signature[s]
-      this is much easier to check, also we must read the entire data
-      before we can check wether we have the pubkey or not.  The one-pass
-      signature packets should be implemented to avoid this.
-
-    * complete cipher/cast.c
-    * complete cipher/dsa.c
-
-    * define a standard way to specify keyid/userid and other stuff
-      to identify a user.  We could look at the first character and
-      say: If it's a digit, a keyid follows (need to add a zero in
-      case the keyid starts with A..F); if it is a left angle bracket,
-      this is a email address and should be used, all others are substrings
-      of the userid.
-      [can be handles in get_pubkey_by_name()]
-
-    * armor has now some problems.
+    * Burn the buffers used by fopen(), or use read(2). Does this
+      really make sense?
+    * change the fake_data stuff to mpi_set_opaque
+    * rewrite the ugly armor code.
+