From 22d0a673d7d6049d388847b476df1e5b6f3d6b70 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 --- tdmlib/tdmtsak.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'tdmlib/tdmtsak.cpp') diff --git a/tdmlib/tdmtsak.cpp b/tdmlib/tdmtsak.cpp index a7cc802f9..b3ff08cc1 100644 --- a/tdmlib/tdmtsak.cpp +++ b/tdmlib/tdmtsak.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.3