summaryrefslogtreecommitdiffstats
path: root/gnupgparse.c
diff options
context:
space:
mode:
authorDavid Shaw <dshaw@jabberwocky.com>2003-01-09 17:24:41 +0000
committerDavid Shaw <dshaw@jabberwocky.com>2003-01-09 17:24:41 +0000
commit845de726e9900876ddf0a5aec165342b09b41c59 (patch)
tree1da648432f55770b6dd38e27ce27d1b8b5c7047d /gnupgparse.c
parent5633b29964a88794f6ec982b1e7b5334c732d9d1 (diff)
The latest GnuPG has new abilities to work with disabled keys. Part
of this change will eventually involve moving the 'd' that indicates a disabled key to a different part of the key listing. To smooth this transition, as of version 1.2.2, GnuPG will start giving the 'd' in both places (and will do this for a good long time). Here is a patch so mutt will accept either the old or new syntax.
Diffstat (limited to 'gnupgparse.c')
-rw-r--r--gnupgparse.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/gnupgparse.c b/gnupgparse.c
index cec23991..d566fe3a 100644
--- a/gnupgparse.c
+++ b/gnupgparse.c
@@ -281,7 +281,23 @@ static pgp_key_t *parse_pub_line (char *buf, int *is_subkey, pgp_key_t *k)
case 11: /* signature class */
break;
case 12: /* key capabilities */
- break;
+ dprint (2, (debugfile, "capabilities info: %s\n", p));
+
+ while(*p)
+ {
+ if(*p=='D')
+ {
+ flags |= KEYFLAG_DISABLED;
+ break;
+ }
+
+ p++;
+ }
+
+ if (!is_uid && !(*is_subkey && option (OPTPGPIGNORESUB)))
+ k->flags |= flags;
+
+ break;
default:
break;
}