ssb: Allow encrypting/decrypting with the server identity as an admin.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 16m45s
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 16m45s
This commit is contained in:
11
src/ssb.db.c
11
src/ssb.db.c
@ -2007,12 +2007,12 @@ bool tf_ssb_db_verify(tf_ssb_t* ssb, const char* id)
|
||||
return verified;
|
||||
}
|
||||
|
||||
bool tf_ssb_db_user_has_permission(tf_ssb_t* ssb, const char* id, const char* permission)
|
||||
bool tf_ssb_db_user_has_permission(tf_ssb_t* ssb, sqlite3* db, const char* id, const char* permission)
|
||||
{
|
||||
bool has_permission = false;
|
||||
sqlite3* db = tf_ssb_acquire_db_reader(ssb);
|
||||
sqlite3* reader = db ? db : tf_ssb_acquire_db_reader(ssb);
|
||||
sqlite3_stmt* statement = NULL;
|
||||
if (sqlite3_prepare(db,
|
||||
if (sqlite3_prepare(reader,
|
||||
"SELECT COUNT(*) FROM properties, json_each(properties.value -> 'permissions' -> ?) AS permission WHERE properties.id = 'core' AND properties.key = 'settings' AND "
|
||||
"permission.value = ?",
|
||||
-1, &statement, NULL) == SQLITE_OK)
|
||||
@ -2024,6 +2024,9 @@ bool tf_ssb_db_user_has_permission(tf_ssb_t* ssb, const char* id, const char* pe
|
||||
}
|
||||
sqlite3_finalize(statement);
|
||||
}
|
||||
tf_ssb_release_db_reader(ssb, db);
|
||||
if (reader != db)
|
||||
{
|
||||
tf_ssb_release_db_reader(ssb, reader);
|
||||
}
|
||||
return has_permission;
|
||||
}
|
||||
|
Reference in New Issue
Block a user