diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2017-07-08 23:20:32 +0200 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2017-07-08 23:20:32 +0200 |
commit | 803ac56626fcbc9864eea962640c8a295adc6db2 (patch) | |
tree | aeb1c702d11ba36c51e207806c0705fc2f03db40 /src/libimcv/imv/imv_policy_manager.c | |
parent | 88b941939f4b008fbe79e0a1ffdd71cb636a0d97 (diff) | |
parent | 23e0d6dca32573d2d2dfeb42ee52c42ea21781c3 (diff) | |
download | strongswan-803ac56626fcbc9864eea962640c8a295adc6db2.tar.bz2 strongswan-803ac56626fcbc9864eea962640c8a295adc6db2.tar.xz |
Merge branch 'swima'
Diffstat (limited to 'src/libimcv/imv/imv_policy_manager.c')
-rw-r--r-- | src/libimcv/imv/imv_policy_manager.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/libimcv/imv/imv_policy_manager.c b/src/libimcv/imv/imv_policy_manager.c index b730f8c41..1988873e9 100644 --- a/src/libimcv/imv/imv_policy_manager.c +++ b/src/libimcv/imv/imv_policy_manager.c @@ -130,6 +130,31 @@ static bool iterate_enforcements(database_t *db, int device_id, int session_id, case IMV_WORKITEM_DIR_META: arg_int = dir; break; + case IMV_WORKITEM_SWID_TAGS: + /* software [identifier] inventory by default */ + arg_int = 0; + + /* software identifiers only? */ + if (device_id && strchr(argument, 'R')) + { + /* get last EID in order to set earliest EID */ + e2 = db->query(db, + "SELECT eid FROM swid_events where device == ? " + "ORDER BY eid DESC", DB_UINT, device_id, DB_INT); + if (e2) + { + if (e2->enumerate(e2, &arg_int)) + { + arg_int++; + } + else + { + arg_int = 1; + } + e2->destroy(e2); + } + } + break; default: arg_int = 0; } |