tpm_manager: add ignore_cache option in client
BUG=b:178332041
TEST=tpm_manager_client --nonsensitive
TEST=tpm_manager_client
TEST=tpm_manager_client --nonsensitive --ignore_cache
TEST=tpm_manager_client --ignore_cache
Change-Id: I669c6e9d22ac5115986c3eedad7000fbe07ecfce
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2671687
Tested-by: Yi Chou <yich@google.com>
Commit-Queue: Yi Chou <yich@google.com>
Reviewed-by: Leo Lai <cylai@google.com>
diff --git a/tpm_manager/client/main.cc b/tpm_manager/client/main.cc
index 31bd4e4..14fc19e 100644
--- a/tpm_manager/client/main.cc
+++ b/tpm_manager/client/main.cc
@@ -56,6 +56,7 @@
constexpr char kFileSwitch[] = "file";
constexpr char kUseOwnerSwitch[] = "use_owner_authorization";
constexpr char kNonsensitiveSwitch[] = "nonsensitive";
+constexpr char kIgnoreCacheSwitch[] = "ignore_cache";
constexpr char kLockRead[] = "lock_read";
constexpr char kLockWrite[] = "lock_write";
@@ -221,10 +222,12 @@
if (command == kGetTpmStatusCommand) {
if (!command_line->HasSwitch(kNonsensitiveSwitch)) {
task = base::Bind(&ClientLoop::HandleGetTpmStatus,
- weak_factory_.GetWeakPtr());
+ weak_factory_.GetWeakPtr(),
+ command_line->HasSwitch(kIgnoreCacheSwitch));
} else {
task = base::Bind(&ClientLoop::HandleGetTpmNonsensitiveStatus,
- weak_factory_.GetWeakPtr());
+ weak_factory_.GetWeakPtr(),
+ command_line->HasSwitch(kIgnoreCacheSwitch));
}
} else if (command == kGetVersionInfoCommand) {
@@ -331,8 +334,9 @@
Quit();
}
- void HandleGetTpmStatus() {
+ void HandleGetTpmStatus(bool ignore_cache) {
GetTpmStatusRequest request;
+ request.set_ignore_cache(ignore_cache);
tpm_ownership_->GetTpmStatusAsync(
request,
base::Bind(&ClientLoop::PrintReplyAndQuit<GetTpmStatusReply>,
@@ -341,8 +345,9 @@
kDefaultTimeout.InMilliseconds());
}
- void HandleGetTpmNonsensitiveStatus() {
+ void HandleGetTpmNonsensitiveStatus(bool ignore_cache) {
GetTpmNonsensitiveStatusRequest request;
+ request.set_ignore_cache(ignore_cache);
tpm_ownership_->GetTpmNonsensitiveStatusAsync(
request,
base::Bind(