KeySync: added persistance of 'own' flags to sequence value table so that UUID keeps marked as own, even after UUID change, otherwise leading to recapture of own messages

doc_update_sequoia
Edouard Tisserant 6 years ago
parent 086fef0c38
commit cc0248ff0c

@ -160,14 +160,16 @@ static const char *sql_set_own_key =
static const char *sql_sequence_value1 =
"insert or replace into sequences (name, value, own) "
"values (?1, "
"(select coalesce((select value + 1 from sequences "
"where name = ?1), 1 )), ?2) ; ";
" (select coalesce((select value + 1 from sequences "
" where name = ?1), 1 )), "
" (select coalesce((select own or ?2 from sequences "
" where name = ?1), ?2))) ; ";
static const char *sql_sequence_value2 =
"select value, own from sequences where name = ?1 ;";
static const char *sql_sequence_value3 =
"update sequences set value = ?2, own = ?3 where name = ?1 ;";
"update sequences set value = ?2, own = (select own or ?3 from sequences where name = ?1) where name = ?1 ;";
// Revocation tracking
static const char *sql_set_revoked =

@ -39,7 +39,7 @@ int main() {
// free(name1);
cout << "testing sequence violation\n";
int32_t value3 = value2 - 1;
int32_t value3 = value2;
PEP_STATUS status4 = sequence_value(session, name1, &value3);
assert(status4 == PEP_SEQUENCE_VIOLATED);

Loading…
Cancel
Save