attest displays dates either in local time or UTC

This commit is contained in:
Andreas Steffen
2012-11-30 09:55:38 +01:00
parent 2b61f7baa3
commit 81ee269d1f
4 changed files with 36 additions and 15 deletions
@@ -145,6 +145,7 @@ static void do_args(int argc, char *argv[])
{ "rel", no_argument, NULL, 'R' }, { "rel", no_argument, NULL, 'R' },
{ "sequence", required_argument, NULL, 'S' }, { "sequence", required_argument, NULL, 'S' },
{ "seq", required_argument, NULL, 'S' }, { "seq", required_argument, NULL, 'S' },
{ "utc", no_argument, NULL, 'U' },
{ "version", required_argument, NULL, 'V' }, { "version", required_argument, NULL, 'V' },
{ "security", no_argument, NULL, 'Y' }, { "security", no_argument, NULL, 'Y' },
{ "sha1", no_argument, NULL, '1' }, { "sha1", no_argument, NULL, '1' },
@@ -290,6 +291,9 @@ static void do_args(int argc, char *argv[])
case 'S': case 'S':
attest->set_sequence(attest, atoi(optarg)); attest->set_sequence(attest, atoi(optarg));
continue; continue;
case 'U':
attest->set_utc(attest);
continue;
case 'V': case 'V':
if (!attest->set_version(attest, optarg)) if (!attest->set_version(attest, optarg))
{ {
+14 -2
View File
@@ -142,6 +142,11 @@ struct private_attest_db_t {
*/ */
bool relative; bool relative;
/**
* TRUE if dates are to be displayed in UTC
*/
bool utc;
/** /**
* Package security state * Package security state
*/ */
@@ -740,6 +745,12 @@ METHOD(attest_db_t, set_owner, void,
this->owner = strdup(owner); this->owner = strdup(owner);
} }
METHOD(attest_db_t, set_utc, void,
private_attest_db_t *this)
{
this->utc = TRUE;
}
METHOD(attest_db_t, list_components, void, METHOD(attest_db_t, list_components, void,
private_attest_db_t *this) private_attest_db_t *this)
{ {
@@ -821,7 +832,7 @@ METHOD(attest_db_t, list_devices, void,
last_id = id; last_id = id;
} }
timestamp = tstamp; timestamp = tstamp;
printf(" %T, %4d, %3d, %3d, %1u, '%s'\n", &timestamp, TRUE, printf(" %T, %4d, %3d, %3d, %1u, '%s'\n", &timestamp, this->utc,
count, count_update, count_blacklist, flags, product); count, count_update, count_blacklist, flags, product);
} }
e->destroy(e); e->destroy(e);
@@ -965,7 +976,7 @@ METHOD(attest_db_t, list_packages, void,
printf(" "); printf(" ");
} }
} }
printf(" %T (%s)%N\n", &t, TRUE, version, printf(" %T (%s)%N\n", &t, this->utc, version,
os_package_state_names, security); os_package_state_names, security);
count++; count++;
} }
@@ -1718,6 +1729,7 @@ attest_db_t *attest_db_create(char *uri)
.set_security = _set_security, .set_security = _set_security,
.set_sequence = _set_sequence, .set_sequence = _set_sequence,
.set_owner = _set_owner, .set_owner = _set_owner,
.set_utc = _set_utc,
.list_packages = _list_packages, .list_packages = _list_packages,
.list_products = _list_products, .list_products = _list_products,
.list_files = _list_files, .list_files = _list_files,
@@ -178,6 +178,11 @@ struct attest_db_t {
*/ */
void (*set_owner)(attest_db_t *this, char *owner); void (*set_owner)(attest_db_t *this, char *owner);
/**
* Display all dates in UTC
*/
void (*set_utc)(attest_db_t *this);
/** /**
* List all packages stored in the database * List all packages stored in the database
*/ */
@@ -24,18 +24,21 @@ void usage(void)
{ {
printf("\ printf("\
Usage:\n\ Usage:\n\
ipsec attest --files|--products|--keys|--hashes [options]\n\ ipsec attest --components|--devices|--files|--hashes|--keys [options]\n\
\n\ \n\
ipsec attest --components|-keys|--measurements|--add|--del [options]\n\ ipsec attest --measurements|--packages|--products|--add|--del [options]\n\
\n\
ipsec attest --components [--key <digest>|--kid <id>]\n\
Show a list of components with an AIK digest or\n\
its primary key as an optional selector.\n\
\n\
ipsec attest --devices [--utc]\n\
Show a list of registered devices and associated collected information\n\
\n\ \n\
ipsec attest --files [--product <name>|--pid <id>]\n\ ipsec attest --files [--product <name>|--pid <id>]\n\
Show a list of files with a software product name or\n\ Show a list of files with a software product name or\n\
its primary key as an optional selector.\n\ its primary key as an optional selector.\n\
\n\ \n\
ipsec attest --products [--file <path>|--fid <id>]\n\
Show a list of supported software products with a file path or\n\
its primary key as an optional selector.\n\
\n\
ipsec attest --hashes [--sha1|--sha256|--sha384] [--product <name>|--pid <id>]\n\ ipsec attest --hashes [--sha1|--sha256|--sha384] [--product <name>|--pid <id>]\n\
Show a list of measurement hashes for a given software product or\n\ Show a list of measurement hashes for a given software product or\n\
its primary key as an optional selector.\n\ its primary key as an optional selector.\n\
@@ -44,10 +47,6 @@ Usage:\n\
Show a list of measurement hashes for a given file or\n\ Show a list of measurement hashes for a given file or\n\
its primary key as an optional selector.\n\ its primary key as an optional selector.\n\
\n\ \n\
ipsec attest --components [--key <digest>|--kid <id>]\n\
Show a list of components with an AIK digest or\n\
its primary key as an optional selector.\n\
\n\
ipsec attest --keys [--components <cfn>|--cid <id>]\n\ ipsec attest --keys [--components <cfn>|--cid <id>]\n\
Show a list of AIK key digests with a component or\n\ Show a list of AIK key digests with a component or\n\
its primary key as an optional selector.\n\ its primary key as an optional selector.\n\
@@ -60,12 +59,13 @@ Usage:\n\
Show a list of component measurements for a given AIK or\n\ Show a list of component measurements for a given AIK or\n\
its primary key as an optional selector.\n\ its primary key as an optional selector.\n\
\n\ \n\
ipsec attest --packages [--product <name>|--pid <id>]\n\ ipsec attest --packages [--product <name>|--pid <id>] [--utc]\n\
Show a list of software packages for a given product or\n\ Show a list of software packages for a given product or\n\
its primary key as an optional selector.\n\ its primary key as an optional selector.\n\
\n\ \n\
ipsec attest --devices\n\ ipsec attest --products [--file <path>|--fid <id>]\n\
Show a list of registered devices and associated collected information\n\ Show a list of supported software products with a file path or\n\
its primary key as an optional selector.\n\
\n\ \n\
ipsec attest --add --file <path>|--dir <path>|--product <name>|--component <cfn>\n\ ipsec attest --add --file <path>|--dir <path>|--product <name>|--component <cfn>\n\
Add a file, directory, product or component entry\n\ Add a file, directory, product or component entry\n\