+Noteworthy changes in version 0.9.0 (unreleased)
+------------------------------------------------
+
+ * The type gpgme_key_t has now a new field keylist_mode that contains
+ the keylist mode that was active at the time the key was retrieved.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+gpgme_key_t EXTENDED: New field keylist_mode.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
Noteworthy changes in version 0.4.7 (2004-04-29)
------------------------------------------------
* 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
+2004-05-21 Marcus Brinkmann <marcus@g10code.de>
+
+ * gpgme.texi (Key Management): Add note about new field
+ keylist_mode of gpgme_key_t.
+
2004-04-29 Marcus Brinkmann <marcus@g10code.de>
* gpgme.texi (Verify): Correct type of member wrong_key_usage.
following members:
@table @code
+@item unsigned int keylist_mode
+The keylist mode that was active when the key was retrieved.
+
@item unsigned int revoked : 1
This is true if the key is revoked.
+2004-05-21 Marcus Brinkmann <marcus@g10code.de>
+
+ * gpgme.h (struct _gpgme_key): New member keylist_mode.
+ * keylist.c (keylist_colon_handler): Set the keylist_mode of KEY.
+
2004-04-29 Marcus Brinkmann <marcus@g10code.de>
* gpgme.h (struct _gpgme_signature): Change member WRONG_KEY_USAGE
}
gpgme_protocol_t;
+\f
+/* The available keylist mode flags. */
+typedef enum
+ {
+ GPGME_KEYLIST_MODE_LOCAL = 1,
+ GPGME_KEYLIST_MODE_EXTERN = 2,
+ GPGME_KEYLIST_MODE_SIGS = 4,
+ GPGME_KEYLIST_MODE_VALIDATE = 256
+ }
+gpgme_keylist_mode_t;
+
\f
/* The possible stati for the edit operation. */
typedef enum
/* Internal to GPGME, do not use. */
gpgme_user_id_t _last_uid;
+
+ /* The keylist mode that was active when listing the key. */
+ /* Implementation note: We are using unsigned int here, and not
+ gpgme_keylist_mode_t, as the latter is currently an enum of
+ unknown size. */
+ unsigned int keylist_mode;
};
typedef struct _gpgme_key *gpgme_key_t;
/* Return the number of certs to include in an S/MIME message. */
int gpgme_get_include_certs (gpgme_ctx_t ctx);
-/* The available keylist mode flags. */
-typedef enum
- {
- GPGME_KEYLIST_MODE_LOCAL = 1,
- GPGME_KEYLIST_MODE_EXTERN = 2,
- GPGME_KEYLIST_MODE_SIGS = 4,
- GPGME_KEYLIST_MODE_VALIDATE = 256
- }
-gpgme_keylist_mode_t;
-
/* Set keylist mode in CTX to MODE. */
gpgme_error_t gpgme_set_keylist_mode (gpgme_ctx_t ctx,
gpgme_keylist_mode_t mode);
err = _gpgme_key_new (&key);
if (err)
return err;
+ key->keylist_mode = ctx->keylist_mode;
err = _gpgme_key_add_subkey (key, &subkey);
if (err)
{