mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-02 16:38:41 +00:00
Replace auth.txt with SQLite auth database (#7279)
* Replace auth.txt with SQLite auth database
This commit is contained in:
parent
1836882495
commit
153fb211ac
19 changed files with 1153 additions and 82 deletions
|
@ -85,6 +85,16 @@ protected:
|
|||
return (u32) sqlite3_column_int(s, iCol);
|
||||
}
|
||||
|
||||
inline s64 sqlite_to_int64(sqlite3_stmt *s, int iCol)
|
||||
{
|
||||
return (s64) sqlite3_column_int64(s, iCol);
|
||||
}
|
||||
|
||||
inline u64 sqlite_to_uint64(sqlite3_stmt *s, int iCol)
|
||||
{
|
||||
return (u64) sqlite3_column_int64(s, iCol);
|
||||
}
|
||||
|
||||
inline float sqlite_to_float(sqlite3_stmt *s, int iCol)
|
||||
{
|
||||
return (float) sqlite3_column_double(s, iCol);
|
||||
|
@ -191,3 +201,34 @@ private:
|
|||
sqlite3_stmt *m_stmt_player_metadata_remove = nullptr;
|
||||
sqlite3_stmt *m_stmt_player_metadata_add = nullptr;
|
||||
};
|
||||
|
||||
class AuthDatabaseSQLite3 : private Database_SQLite3, public AuthDatabase
|
||||
{
|
||||
public:
|
||||
AuthDatabaseSQLite3(const std::string &savedir);
|
||||
virtual ~AuthDatabaseSQLite3();
|
||||
|
||||
virtual bool getAuth(const std::string &name, AuthEntry &res);
|
||||
virtual bool saveAuth(const AuthEntry &authEntry);
|
||||
virtual bool createAuth(AuthEntry &authEntry);
|
||||
virtual bool deleteAuth(const std::string &name);
|
||||
virtual void listNames(std::vector<std::string> &res);
|
||||
virtual void reload();
|
||||
|
||||
protected:
|
||||
virtual void createDatabase();
|
||||
virtual void initStatements();
|
||||
|
||||
private:
|
||||
virtual void writePrivileges(const AuthEntry &authEntry);
|
||||
|
||||
sqlite3_stmt *m_stmt_read = nullptr;
|
||||
sqlite3_stmt *m_stmt_write = nullptr;
|
||||
sqlite3_stmt *m_stmt_create = nullptr;
|
||||
sqlite3_stmt *m_stmt_delete = nullptr;
|
||||
sqlite3_stmt *m_stmt_list_names = nullptr;
|
||||
sqlite3_stmt *m_stmt_read_privs = nullptr;
|
||||
sqlite3_stmt *m_stmt_write_privs = nullptr;
|
||||
sqlite3_stmt *m_stmt_delete_privs = nullptr;
|
||||
sqlite3_stmt *m_stmt_last_insert_rowid = nullptr;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue