mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
gpg: Add new usage option for drop-subkey filters.
* g10/import.c (impex_filter_getval): Add new "usage" property for drop-subkey filter. -- For example, this permits extraction of only encryption-capable subkeys like so: gpg --export-filter 'drop-subkey=usage !~ e' --export $FPR GnuPG-Bug-id: 4019 Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
This commit is contained in:
parent
dc96fd8835
commit
e037657eda
@ -2418,6 +2418,11 @@ The available properties are:
|
|||||||
Boolean indicating whether a key or subkey is a secret one.
|
Boolean indicating whether a key or subkey is a secret one.
|
||||||
(drop-subkey)
|
(drop-subkey)
|
||||||
|
|
||||||
|
@item usage
|
||||||
|
A string indicating the usage flags for the subkey, from the
|
||||||
|
sequence ``ecsa?''. For example, a subkey capable of just signing
|
||||||
|
and authentication would be an exact match for ``sa''. (drop-subkey)
|
||||||
|
|
||||||
@item sig_created
|
@item sig_created
|
||||||
@itemx sig_created_d
|
@itemx sig_created_d
|
||||||
The first is the timestamp a signature packet was created. The
|
The first is the timestamp a signature packet was created. The
|
||||||
|
10
g10/import.c
10
g10/import.c
@ -1296,6 +1296,16 @@ impex_filter_getval (void *cookie, const char *propname)
|
|||||||
{
|
{
|
||||||
result = pk_is_disabled (pk)? "1":"0";
|
result = pk_is_disabled (pk)? "1":"0";
|
||||||
}
|
}
|
||||||
|
else if (!strcmp (propname, "usage"))
|
||||||
|
{
|
||||||
|
snprintf (numbuf, sizeof numbuf, "%s%s%s%s%s",
|
||||||
|
(pk->pubkey_usage & PUBKEY_USAGE_ENC)?"e":"",
|
||||||
|
(pk->pubkey_usage & PUBKEY_USAGE_SIG)?"s":"",
|
||||||
|
(pk->pubkey_usage & PUBKEY_USAGE_CERT)?"c":"",
|
||||||
|
(pk->pubkey_usage & PUBKEY_USAGE_AUTH)?"a":"",
|
||||||
|
(pk->pubkey_usage & PUBKEY_USAGE_UNKNOWN)?"?":"");
|
||||||
|
result = numbuf;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
result = NULL;
|
result = NULL;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user