- * Reword the "Not enough entropy" messages.
-
- * Do we need a configure test for putenv?
-
- * Check for consistent spelling of user ID, key ID etc.
- 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
-
- * 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
-
- * use DEL and ^H for erasing the previous character (util/ttyio.c).
- or better readline.
-
- * add test cases for invalid data (scrambled armor or other random data)
-
- * add checking of armor trailers. Try to detect garbled header lines.
-
- * 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.
-
-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.
+
+* sm/call-agent.c
+** The protocol uses an incomplete S-expression
+We should always use valid S-Exp and not just parts.
+** 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/certreqgen.c
+** Improve error reporting
+** Do some basic checks on the supplied DNs
+
+* sm/certchain.c
+** When a certificate chain was sucessfully verified, make ephemeral certs used in this chain permanent.
+
+
+* sm/decrypt.c
+** replace leading zero in integer hack by a cleaner solution
+
+* sm/gpgsm.c
+** Support --output for all commands
+** mark all unimplemented commands and options.
+** Print a hint when MD2 is the cause for a problem.
+** 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.
+
+* tests
+** Makefile.am
+ We use printf(1) to setup the library path, this is not portable.
+ Furthermore LD_LIBRARY_PATH is not used on all systems. It doesn't
+ matter for now, because we use some GNU/*BSDish features anyway.
+
+** Add a test to check the extkeyusage.
+
+* doc/
+** Explain how to setup a root CA key as trusted
+** Explain how trustlist.txt might be managed.
+** Write a script to generate man pages from texi.
+ In progress (yatm)
+
+
+* 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/
+** --include-certs is as of now still a dummy command line option