From 3870dbe675124cea8970e86a595827ed50c9acb4 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Fri, 27 Apr 2012 13:26:04 -0500 Subject: Check for tsak presence on lock engage Fix tsak not exiting on request Clean up build warnings (cherry picked from commit 22d0a673d7d6049d388847b476df1e5b6f3d6b70) --- kdmlib/kdmtsak.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'kdmlib/kdmtsak.cpp') diff --git a/kdmlib/kdmtsak.cpp b/kdmlib/kdmtsak.cpp index 22f8a0b9a..c0be1106b 100644 --- a/kdmlib/kdmtsak.cpp +++ b/kdmlib/kdmtsak.cpp @@ -121,10 +121,14 @@ int main (int argc, char *argv[]) int verifier_result = tde_sak_verify_calling_process(); bool isdm = false; + bool checkonly = false; if (argc == 2) { if (strcmp(argv[1], "dm") == 0) { isdm = true; } + if (strcmp(argv[1], "check") == 0) { + checkonly = true; + } } if (!isdm) { @@ -139,6 +143,14 @@ int main (int argc, char *argv[]) // OK, the calling process is authorized to retrieve SAK data // First, flush the buffer mPipe_fd = open(FIFO_FILE, O_RDONLY | O_NONBLOCK); + if (checkonly) { + if (mPipe_fd < 0) { + return 6; // SAK not available + } + else { + return 0; + } + } numread = 1; while (numread > 0) { numread = read(mPipe_fd, readbuf, 6); @@ -177,4 +189,4 @@ int main (int argc, char *argv[]) else { return verifier_result; } -} \ No newline at end of file +} -- cgit v1.2.1