2004-09-17 Marcus Brinkmann <marcus@g10code.de>
[gpgme.git] / TODO
diff --git a/TODO b/TODO
index ff60120..ad90704 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,11 +1,17 @@
 Hey Emacs, this is -*- outline -*- mode!
 
 * Before release:
-** set_locale for thread safe and env independent locale selection.
+** Some gpg tests fail with gpg 1.3.4-cvs (gpg/t-keylist-sig)
+   The test is currently disabled there and in gpg/t-import.
+** Add notation data to key signatures.
 
 * ABI's to break:
 ** I/O and User Data could be made extensible.  But this can be done
    without breaking the ABI hopefully.
+** gpgme_keylist_mode_t should not be an enum.  Maybe some other values
+   should also not be an enum.  All enums that should be enums need to
+   have a maximum value to ensure a certain minimum width for
+   extensibility.
 ** Compatibility interfaces that can be removed in future versions:
 *** ath compatibility modules.
 *** gpgme_data_new_from_filepart
@@ -26,12 +32,14 @@ Hey Emacs, this is -*- outline -*- mode!
 
 * Thread support:
 ** When GNU Pth supports sendmsg/recvmsg, wrap them properly.
+** Without timegm (3) support our ISO time parser is not thread safe.
+   There is a configure time warning, though.
 
 * New features:
 ** notification system
    We need a simple notification system, probably a simple callback
    with a string and some optional arguments.  This is for example
-   required to notify an application of a changed smartcard,  The
+   required to notify an application of a changed smartcard, The
    application can then do whatever is required.  There are other
    usages too.  This notfication system should be independent of any
    contextes of course.
@@ -56,7 +64,14 @@ Hey Emacs, this is -*- outline -*- mode!
     worked around in a different way
 *** Selecting the symmetric cipher.
 *** Exchanging keys with key servers.
+** Allow selection of subkeys
+** Allow to return time stamps in ISO format
+  This allows us to handle years later than 2037 properly.  With the
+  time_t interface they are all mapped to 2037-12-31
 
+* Support
+** gpgme.m4 should check --api-version of gpgme-config.
 * Documentation
 ** Document validity and trust issues.
 
@@ -68,7 +83,8 @@ Hey Emacs, this is -*- outline -*- mode!
    about where to guarantee what (ie, what happens if start fails, are
    the fds unregistered immediately - i think so?)
 ** Optimize the case where a data object has an underlying fd we can pass
-   directly to the engine.
+   directly to the engine.  This will be automatic with socket I/O and
+   descriptor passing.
 ** Move code common to all engines up from gpg to engine.
 ** engine operations can return General Error on unknown protocol
    (it's an internal error, as select_protocol checks already).
@@ -79,8 +95,6 @@ Hey Emacs, this is -*- outline -*- mode!
 ** If an operation failed, make sure that the result functions don't return
    corrupt partial information. !!!
    NOTE: The EOF status handler is not called in this case !!!
-** If no passphrase cb is installed, status handler is not run even if
-   password is required by crypto engine. !!
 ** Verify must not fail on NODATA premature if auto-key-retrieval failed.
    It should not fail silently if it knows there is an error. !!!
 ** All operations: Better error reporting. !!
@@ -128,6 +142,9 @@ Hey Emacs, this is -*- outline -*- mode!
 ** t-data
 *** Test gpgme_data_release_and_get_mem.
 *** Test gpgme_data_seek for invalid types.
+** t-keylist
+   Write a test for ext_keylist.
+
 
 * Debug
 ** Handle malloc and vasprintf errors.  But decide first if they should be
@@ -135,4 +152,9 @@ Hey Emacs, this is -*- outline -*- mode!
 
 * Build suite
 ** Make sure everything is cleaned correctly (esp. test area).
-** Cofnigure test for gpg and gpgsm version (as a warning).
+** Configure test for gpg and gpgsm version (as a warning).
+
+
+* Error checking 
+** engine-gpgsm, with-validation
+  Add error checking some time after releasing a new gpgsm.