* keylist.c (set_ownertrust): New.
(keylist_colon_handler): Get the ownertrust value
* key.c (gpgme_key_get_string_attr,gpgme_key_get_ulong_attr):
Return that value.
+2002-05-10 Werner Koch <wk@gnupg.org>
+
+ * key.h (gpgme_key_s): Add OTRUST.
+ * keylist.c (set_ownertrust): New.
+ (keylist_colon_handler): Get the ownertrust value
+ * key.c (gpgme_key_get_string_attr,gpgme_key_get_ulong_attr):
+ Return that value.
+
2002-05-08 Marcus Brinkmann <marcus@g10code.de>
* w32-util.c: New static variable GET_PATH_LOCK.
case GPGME_ATTR_EXPIRE:
/* Use another get function. */
break;
- case GPGME_ATTR_OTRUST:
- val = "[fixme]";
+ case GPGME_ATTR_OTRUST:
+ switch (key->otrust)
+ {
+ case GPGME_VALIDITY_NEVER: val = "n"; break;
+ case GPGME_VALIDITY_MARGINAL: val = "m"; break;
+ case GPGME_VALIDITY_FULL: val = "f"; break;
+ case GPGME_VALIDITY_ULTIMATE: val = "u"; break;
+ default: val = "?"; break;
+ }
break;
case GPGME_ATTR_USERID:
for (u = key->uids; u && idx; u = u->next, idx--)
if (u)
val = u->validity;
break;
+ case GPGME_ATTR_OTRUST:
+ val = key->otrust;
+ break;
case GPGME_ATTR_IS_SECRET:
val = !!key->secret;
break;
char *issuer_serial; /* malloced string used only with X.509 */
char *issuer_name; /* ditto */
char *chain_id; /* ditto */
+ GpgmeValidity otrust; /* only used with OpenPGP */
struct subkey_s keys;
struct user_id_s *uids;
};
}
}
+static void
+set_ownertrust (GpgmeKey key, const char *s)
+{
+ /* Look at letters and stop at the first digit. */
+ for (; *s && !my_isdigit (*s); s++)
+ {
+ switch (*s)
+ {
+ case 'n': key->otrust = GPGME_VALIDITY_NEVER; break;
+ case 'm': key->otrust = GPGME_VALIDITY_MARGINAL; break;
+ case 'f': key->otrust = GPGME_VALIDITY_FULL; break;
+ case 'u': key->otrust = GPGME_VALIDITY_ULTIMATE; break;
+ default : key->otrust = GPGME_VALIDITY_UNKNOWN; break;
+ }
+ }
+}
+
/* Note: We are allowed to modify LINE. */
static void
}
break;
case 9: /* ownertrust */
+ set_ownertrust (key, p);
break;
case 10: /* not used for gpg due to --fixed-list-mode option
but gpgsm stores the issuer name */