diff --git a/persistence/0113_2.13.0_certificates.sql b/persistence/0113_2.13.0_certificates.sql index 923ede79..fefdb3dd 100644 --- a/persistence/0113_2.13.0_certificates.sql +++ b/persistence/0113_2.13.0_certificates.sql @@ -62,7 +62,7 @@ CREATE TABLE IF NOT EXISTS client_certificates ( valid_from DATETIME, valid_to DATETIME, serial_number TEXT, - fingerprint TEXT UNIQUE, + fingerprint TEXT, certificate_data BLOB NOT NULL, is_ca INTEGER DEFAULT 0, trust_status INTEGER DEFAULT 0, @@ -75,6 +75,7 @@ CREATE TABLE IF NOT EXISTS client_certificates ( CREATE INDEX IF NOT EXISTS idx_client_certificates_app_name ON client_certificates(app_name); CREATE INDEX IF NOT EXISTS idx_client_certificates_common_name ON client_certificates(common_name); CREATE INDEX IF NOT EXISTS idx_client_certificates_fingerprint ON client_certificates(fingerprint); +CREATE UNIQUE INDEX IF NOT EXISTS idx_client_certificates_app_name_fingerprint ON client_certificates(app_name, fingerprint); -- Create security policies table for northbound app security management CREATE TABLE IF NOT EXISTS security_policies ( diff --git a/src/adapter/driver/driver.c b/src/adapter/driver/driver.c index 2c3b25c2..751e2da4 100644 --- a/src/adapter/driver/driver.c +++ b/src/adapter/driver/driver.c @@ -2690,6 +2690,7 @@ static void read_group(int64_t timestamp, int64_t timeout, neu_driver_cache_value_t value = { 0 }; strcpy(tag_value.tag, tag->name); + tag_value.datatag = *tag; tag_value.datatag.bias = tag->bias;