The Linux app segfaulted when opening the encrypted DB. Root cause: on Linux we overrode package:sqlite3 to the SYSTEM libsqlcipher.so, but sqlcipher_flutter_libs statically links its own SQLCipher into libsqlcipher_flutter_libs_plugin.so and exports the sqlite3_* symbols globally. Two SQLite/SQLCipher builds loaded in one process → symbol clash → segfault at sqlite3_open (before PRAGMA key). Fix: _openLinuxCipher() now prefers the ABI-matched bundled plugin .so (libsqlcipher_flutter_libs_plugin.so), falling back to the system lib only if the plugin isn't present (e.g. host test/CI layouts). Android is unaffected (uses the bundled Android lib as before). Verified: Linux desktop build runs without crashing; full suite 37/37, and the "no plaintext at rest" test now runs (not skipped) on the dev host with system libsqlcipher, confirming real encryption. |
||
|---|---|---|
| .. | ||
| android | ||
| assets/catalog | ||
| drift_schemas | ||
| integration_test | ||
| ios | ||
| lib | ||
| linux | ||
| test | ||
| .gitignore | ||
| .metadata | ||
| analysis_options.yaml | ||
| pubspec.yaml | ||
| README.md | ||
| slang.yaml | ||
tane
A new Flutter project.
Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.