summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorJanusz Kozerski <j.kozerski@samsung.com>2015-06-26 11:58:59 +0200
committerJanusz Kozerski <j.kozerski@samsung.com>2015-07-10 11:06:57 +0200
commit1bf0726b3028ddfaae0cdd70e46b416335da39a0 (patch)
tree3c4fff7b35b783a219f763315d4da94ef88137ad /src/include
parentaa31c0517333688b611ba453b08138960b53244e (diff)
downloadcert-checker-1bf0726b3028ddfaae0cdd70e46b416335da39a0.tar.gz
cert-checker-1bf0726b3028ddfaae0cdd70e46b416335da39a0.tar.bz2
cert-checker-1bf0726b3028ddfaae0cdd70e46b416335da39a0.zip
Refactor DB and app_t structure - preparation for OCSP checking.
New version of DB is needed to keep separately certificates from each signatrue. Because application can be signed by more than one signature we need to keep all certificates from all signatures in separate lists to make building certificates' chains easier. * Add operators (==, !=, <) for app_t structre * Add operators (==, !=) for event_t structure * Add tests for operators * Remove check_id from app_t structure Change-Id: I966dd81420618325d1afa55bcbc656291ccb4238
Diffstat (limited to 'src/include')
-rw-r--r--src/include/cchecker/app.h18
-rw-r--r--src/include/cchecker/sql_query.h1
2 files changed, 11 insertions, 8 deletions
diff --git a/src/include/cchecker/app.h b/src/include/cchecker/app.h
index 3217bdb..46fd9b6 100644
--- a/src/include/cchecker/app.h
+++ b/src/include/cchecker/app.h
@@ -23,7 +23,6 @@
#define CCHECKER_APP_H
#include <string>
-#include <vector>
#include <list>
#include <sys/types.h>
@@ -33,6 +32,9 @@ namespace CCHECKER {
// Currently in signals from pkgmgr only information about pkg_id is included
const char *const TEMP_APP_ID = "temp#app_id";
+typedef std::list<std::string> chain_t;
+typedef std::list<chain_t> signatures_t;
+
struct app_t {
enum class verified_t : int32_t {
NO = 0,
@@ -40,19 +42,19 @@ struct app_t {
UNKNOWN = 2
};
- int32_t check_id;
- std::string app_id;
- std::string pkg_id;
- uid_t uid;
- std::vector<std::string> certificates; //TODO: add typedef
- verified_t verified;
+ std::string app_id;
+ std::string pkg_id;
+ uid_t uid;
+ signatures_t signatures;
+ verified_t verified;
app_t(void);
app_t(const std::string &app_id,
const std::string &pkg_id,
uid_t uid,
- const std::vector<std::string> &certificates);
+ const signatures_t &signatures);
std::string str(void) const;
+ std::string str_certs(void) const;
};
struct url_t {
diff --git a/src/include/cchecker/sql_query.h b/src/include/cchecker/sql_query.h
index 5a22740..e4cc582 100644
--- a/src/include/cchecker/sql_query.h
+++ b/src/include/cchecker/sql_query.h
@@ -69,6 +69,7 @@ class SqlQuery {
void get_apps(std::list<app_t> &apps_buffer);
bool check_if_app_exists(const app_t &app);
bool get_check_id(const app_t &app, int32_t &check_id);
+ bool add_chain_id(const int32_t check_id, int32_t &chain_id);
int verified_enum_to_int(const app_t::verified_t &verified);
app_t::verified_t verified_int_to_enum(const int &verified);
};