Add access revokation to the keystore command line util.
This commit is contained in:
committed by
Ryan Leavengood
parent
ac9b28f058
commit
f17ed51165
+34
-2
@@ -145,6 +145,21 @@ show_status(const char* keyring)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
revoke_access(const char* keyring)
|
||||||
|
{
|
||||||
|
BKeyStore keyStore;
|
||||||
|
status_t result = keyStore.RevokeAccess(keyring);
|
||||||
|
if (result != B_OK) {
|
||||||
|
printf("failed to revoke access to keyring \"%s\": %s\n", keyring,
|
||||||
|
strerror(result));
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
print_usage(const char* name)
|
print_usage(const char* name)
|
||||||
{
|
{
|
||||||
@@ -185,15 +200,21 @@ print_usage(const char* name)
|
|||||||
int
|
int
|
||||||
main(int argc, char* argv[])
|
main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
if (argc < 3)
|
if (argc < 2)
|
||||||
return print_usage(argv[0]);
|
return print_usage(argv[0]);
|
||||||
|
|
||||||
if (strcmp(argv[1], "list") == 0) {
|
if (strcmp(argv[1], "list") == 0) {
|
||||||
|
if (argc < 3)
|
||||||
|
return print_usage(argv[0]);
|
||||||
|
|
||||||
if (strcmp(argv[2], "passwords") == 0)
|
if (strcmp(argv[2], "passwords") == 0)
|
||||||
return list_passwords(argc > 3 ? argv[3] : NULL);
|
return list_passwords(argc > 3 ? argv[3] : NULL);
|
||||||
if (strcmp(argv[2], "keyrings") == 0)
|
if (strcmp(argv[2], "keyrings") == 0)
|
||||||
return list_keyrings();
|
return list_keyrings();
|
||||||
} else if (strcmp(argv[1], "add") == 0) {
|
} else if (strcmp(argv[1], "add") == 0) {
|
||||||
|
if (argc < 3)
|
||||||
|
return print_usage(argv[0]);
|
||||||
|
|
||||||
if (strcmp(argv[2], "password") == 0) {
|
if (strcmp(argv[2], "password") == 0) {
|
||||||
if (argc < 5)
|
if (argc < 5)
|
||||||
return print_usage(argv[0]);
|
return print_usage(argv[0]);
|
||||||
@@ -232,6 +253,9 @@ main(int argc, char* argv[])
|
|||||||
return add_keyring(argv[3], argv[4]);
|
return add_keyring(argv[3], argv[4]);
|
||||||
}
|
}
|
||||||
} else if (strcmp(argv[1], "remove") == 0) {
|
} else if (strcmp(argv[1], "remove") == 0) {
|
||||||
|
if (argc < 3)
|
||||||
|
return print_usage(argv[0]);
|
||||||
|
|
||||||
if (strcmp(argv[2], "password") == 0) {
|
if (strcmp(argv[2], "password") == 0) {
|
||||||
if (argc < 4)
|
if (argc < 4)
|
||||||
return print_usage(argv[0]);
|
return print_usage(argv[0]);
|
||||||
@@ -259,7 +283,15 @@ main(int argc, char* argv[])
|
|||||||
return remove_keyring(argv[3]);
|
return remove_keyring(argv[3]);
|
||||||
}
|
}
|
||||||
} else if (strcmp(argv[1], "status") == 0) {
|
} else if (strcmp(argv[1], "status") == 0) {
|
||||||
return show_status(argv[2]);
|
if (argc != 2 && argc != 3)
|
||||||
|
return print_usage(argv[0]);
|
||||||
|
|
||||||
|
return show_status(argc == 3 ? argv[2] : "");
|
||||||
|
} else if (strcmp(argv[1], "revoke") == 0) {
|
||||||
|
if (argc != 2 && argc != 3)
|
||||||
|
return print_usage(argv[0]);
|
||||||
|
|
||||||
|
return revoke_access(argc == 3 ? argv[2] : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
return print_usage(argv[0]);
|
return print_usage(argv[0]);
|
||||||
|
|||||||
Reference in New Issue
Block a user