keys: Add capability-checking keyctl function
Add a keyctl function that requests a set of capability bits to find out what features are supported. Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
@@ -68,6 +68,7 @@
|
||||
#define KEYCTL_PKEY_VERIFY 28 /* Verify a public key signature */
|
||||
#define KEYCTL_RESTRICT_KEYRING 29 /* Restrict keys allowed to link to a keyring */
|
||||
#define KEYCTL_MOVE 30 /* Move keys between keyrings */
|
||||
#define KEYCTL_CAPABILITIES 31 /* Find capabilities of keyrings subsystem */
|
||||
|
||||
/* keyctl structures */
|
||||
struct keyctl_dh_params {
|
||||
@@ -115,4 +116,17 @@ struct keyctl_pkey_params {
|
||||
|
||||
#define KEYCTL_MOVE_EXCL 0x00000001 /* Do not displace from the to-keyring */
|
||||
|
||||
/*
|
||||
* Capabilities flags. The capabilities list is an array of 8-bit integers;
|
||||
* each integer can carry up to 8 flags.
|
||||
*/
|
||||
#define KEYCTL_CAPS0_CAPABILITIES 0x01 /* KEYCTL_CAPABILITIES supported */
|
||||
#define KEYCTL_CAPS0_PERSISTENT_KEYRINGS 0x02 /* Persistent keyrings enabled */
|
||||
#define KEYCTL_CAPS0_DIFFIE_HELLMAN 0x04 /* Diffie-Hellman computation enabled */
|
||||
#define KEYCTL_CAPS0_PUBLIC_KEY 0x08 /* Public key ops enabled */
|
||||
#define KEYCTL_CAPS0_BIG_KEY 0x10 /* big_key-type enabled */
|
||||
#define KEYCTL_CAPS0_INVALIDATE 0x20 /* KEYCTL_INVALIDATE supported */
|
||||
#define KEYCTL_CAPS0_RESTRICT_KEYRING 0x40 /* KEYCTL_RESTRICT_KEYRING supported */
|
||||
#define KEYCTL_CAPS0_MOVE 0x80 /* KEYCTL_MOVE supported */
|
||||
|
||||
#endif /* _LINUX_KEYCTL_H */
|
||||
|
Reference in New Issue
Block a user