* gpgkeys_hkp.c (curl_mrindex_writer): Print a warning if we see HTML
[gnupg.git] / TODO
diff --git a/TODO b/TODO
index 30b8513..f68cb82 100644 (file)
--- a/TODO
+++ b/TODO
-  * From: Nicolas Sierro 
-    Date: Thu, 17 Jun 2004 12:31:24 +0200
-    
-    I understand your concern regarding the GNU coding standards. In
-    zlib-1.2.1, apart from several bug fixes, the inflate code is about
-    20% faster and the crc32 code about 50% faster. Some memory leaks were
-    also fixed according to the ChangeLog.
-    
-  * Reword the "Not enough entropy" messages.
-
-  * Do we need a configure test for putenv?
-
-  * Replace "user id not found" in getkey.c by "no valid user ID found"?
-  * Describe some pitfalls when using EGD.  Check that ~/.gnupg/entropy
-    really is the default.  What about needed permission?  
-
-  * Using an expired key for signing should give an error message
-    "expired key" and not "unusable key'.  Furthermore the error should
-    also be thrown when the default key has expired.  Reported by
-    Eric.VanBuggenhaut add AdValvas.be.
-
-  * pause scrolling help in --edit-key and elsewhere.
-
-  * getkey does not return revoked/expired keys - therefore it is not
-    possible to override it.
-
-  * Selection using +wordlist does not work.
-    What about adding a feature -word to the +wordlist search mode.
-
-  * Check the changes to the gpg random gatherer on all W32 platforms.
-
-  * Show more info does not work from edit->trust. We should give more
-    information on the user ID under question while running
-    --update-trustdb.
-
-  * Check that no secret temporary results are stored in the result parameter
-    of the mpi functions.  We have already done this for mpi-mul.c 
-
-  * We need another special packet at the end of a clearsign message to mark
-    it's end and allow for multiple signature for one message.  And
-    add a real grammar to the code in mainproc.c
-
-  * If there is no secure memory, allocate more memory for the secure
-    memory block or do it in all cases.
-
-  * add some minor things vor VMS.
-
-  * Use DSA keys with the test suite (partly done)
-
-  * Fix the bug in the mips assembler code
-
-  * Add a way to show the fingerprint of an key signator's keys
-
-  * Add an is_valid flag to each user ID.
-
-  * Replace the printing of the user name by [self-signature] when
-    appropriate so that a key listing does not get clobbered.
-
-  * Concatenated encryption messages don't work corectly - only the
-    first one is processed.
-
-  * Add option to put the list of recipients (from the encryption
-    layer) into the signatures notation data.
-
-  * --disable-asm should still assemble _udiv_qrnnd when needed
-
-  * Get new assembler stuff from gmp 3.1
-
-  * add test cases for invalid data (scrambled armor or other random data)
-
-  * add checking of armor trailers.  Try to detect garbled header
-    lines.  Often one dash is missing due to sloppy cut+paste; so add
-    a warning note like the one for QP.
-
-  * the pubkey encrypt functions should do some sanity checks.
-
-  * "gpg filename.tar.gz.asc" should work like --verify (-sab).
-
-  * for messages created with "-t", it might make sense to append the
-    verification status of the message to the output (i.e. write something to
-    the --output file and not only to stderr.  However the problem is
-    that we consider the message transpatrent and don't have any
-    indication of the used character set.  To implement this feature
-    we need to make sure that all output is plain 7 bit ascii but
-    given that we need to print a user name, this does not make sense
-    at all.  The only way this can be implemented is by assuming that
-    the message is encoded in utf8 and hope tht everyone starts to use
-    utf8 instead of latin-1 or whatever RSN.  Hmmm, I myself should
-    start with this.
-
-  * keyflags don't distinguish between {certify,signature}-only.
-
-  * Instead of issuing a "signature packet without keyid" gpg should
-    try to get the keyID from a corresponding one-pass signature
-    packet (See bug report 817).  This is not easy to do as we don't
-    store the one-pass packets.
-
-  * cat foo | gpg --sign | gpg --list-packets
-    Does not list the signature packet.
-
-  * When presenting the result of a verification show the user ID with
-    the highest trust level first instead of the primary one.
-
-  * allow the use of option in gpg.conf. 
-
-  * Add the NEWSIG status.
-
-  * When generating a key on the card we should try to also set the
-    display name or provide the display name as a default in the key
-    generation.  The problem however is that the display name must be
-    given with an indication of the surname and the usable characters
-    are also restricted.
-
-
-Things we won't do
-------------------
-
-  * New option --file-remove path-to-wipe-program ? 
-
+                                                              -*- outline -*-
+
+* src/base64
+** Make parsing more robust
+Currently we don't cope with overlong lines in the best way.
+** Check that we really release the ksba reader/writer objects.
+
+* sm/call-agent.c
+** Some code should go into import.c
+** When we allow concurrent service request in gpgsm, we
+might want to have an agent context for each service request
+(i.e. Assuan context).
+
+* sm/certchain.c
+** When a certificate chain was sucessfully verified, make ephemeral certs used  in this chain permanent.
+** Try to keep certificate references somewhere
+  This will help with some of our caching code.  We also need to test
+  that caching; in particular "regtp_ca_chainlen".
+
+* sm/decrypt.c
+** replace leading zero in integer hack by a cleaner solution
+
+* sm/gpgsm.c
+** mark all unimplemented commands and options.
+** Implement --default-key
+** support the anyPolicy semantic
+** Check that we are really following the verification procedures in rfc3280.
+** Implement a --card-status command.
+   This is useful to check whether a card is supported at all.
+
+
+* sm/keydb.c
+** Check file permissions
+** Check that all error code mapping is done.
+** Remove the inter-module dependencies between gpgsm and keybox
+** Add an source_of_key field
+
+* agent/command.c
+** Make sure that secure memory is used where appropriate
+
+* agent/pkdecrypt.c, agent/pksign.c
+** Don't use stdio to return results.
+** Support DSA
+
+* Move pkcs-1 encoding into libgcrypt.
+
+* Use a MAC to protect sensitive files.
+  The problem here is that we need yet another key and it is unlikely
+  that users are willing to remember that key too.  It is possible to
+  do this with a smartcard, though.
+
+* sm/export.c
+** Return an error code or a status info per user ID.
+
+* scd/tlv.c
+  The parse_sexp fucntion should not go into this file.  Check whether
+  we can change all S-expression handling code to make use of this
+  function.
+
+* scd
+** Application context vs. reader slot
+  We have 2 concurrent method of tracking whether a read is in use:
+  Using the session_list in command.c and the lock_table in app.c.  IT
+  would be better to do this just at one place. First we need to see
+  how we can support cards with multiple applications.
+** Detecting a removed card works only after the ticker detected it.
+ We should check the card status in open-card to make this smoother.
+ Needs to be integrated with the status file update, though.  It is
+ not a real problem because application will get a card removed status
+ and should the send a reset to try solving the problem.
+** app-p15.c:do_auth
+  We assume SHA1 here.  However we should also allow for TLS-MD5SHA1.
+  To properly inplement this we need to extend the inetrnal API.  A
+  simple workaround by looking at the digest size if possible.
+
+** Add a test to check the extkeyusage.
+
+* Windows port
+** gpgsm's LISTKEYS does not yet work
+    Fix is to change everything to libestream
+** Signals are not support 
+    This means we can't reread a configuration
+** No card status notifications.
+
+* sm/
+** check that we issue NO_SECKEY xxx if a -u key was not found
+   We don't. The messages returned are also wrong (recipient vs. signer).
+
+* jnlib/
+** provide jnlib_malloc and try to remove all jnlib_xmalloc.
+
+* g10/
+** issue a NO_SECKEY xxxx if a -u key was not found.
+
+
+* When requiring libksba 1.0.1
+** Remove the extra GPG_ERR_NO_VALUE tests 
+   They have need added on 2006-10-18 to fix a libksba problem.
+
+* When switching to libgcrypt 1.3
+** scd#encode_md_for_card, g10#encode_md_value, sm@do_encode_md
+   Remove the extra test for a valid algorithm as libgcrypt will do it
+   then in gcry_md_algo_info.
+** skclist.c
+   Remove the hard coded constant in random_is_faked.
+** g10/ Replace DIGEST_ALGO_SHA224
+   We can't do that right now because it is only defined by newer
+   versions of libgcrypt. 
+** GCRY_MD_USER
+   Remove these definitions.
+
+* Extend selinux support to other modules
+
+* Remove -sat PGP2 compatibility hack