Add commands for remote session credentials (#3161)

* Add remote host commands

* Make startRemoteHost async

* Add tests

* Trim randomStorePath to 16 chars

* Add chat command tests

* add view, use view output in test

* enable all tests

* Fix discovery listener host

Must use any, not broadcast on macos.

* Fix missing do

* address, names

* Fix session host flow

* fix test

---------

Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
This commit is contained in:
Alexander Bondarenko
2023-10-04 18:36:10 +03:00
committed by GitHub
parent bf7917bd67
commit 0bcf5c9c66
13 changed files with 515 additions and 197 deletions
+10 -8
View File
@@ -518,17 +518,19 @@ CREATE TABLE IF NOT EXISTS "received_probes"(
);
CREATE TABLE remote_hosts(
-- hosts known to a controlling app
remote_host_id INTEGER PRIMARY KEY,
display_name TEXT NOT NULL,
store_path TEXT NOT NULL,
ca_cert BLOB NOT NULL,
ca_key BLOB NOT NULL
remote_host_id INTEGER PRIMARY KEY AUTOINCREMENT,
store_path TEXT NOT NULL, -- file path relative to app store(must not contain "/")
display_name TEXT NOT NULL, -- user-provided name for a remote host
ca_key BLOB NOT NULL, -- private key for signing session certificates
ca_cert BLOB NOT NULL, -- root certificate, whose fingerprint is pinned on a remote
contacted INTEGER NOT NULL DEFAULT 0 -- 0(first time), 1(connected before)
);
CREATE TABLE remote_controllers(
-- controllers known to a hosting app
remote_controller_id INTEGER PRIMARY KEY,
display_name TEXT NOT NULL,
fingerprint BLOB NOT NULL
remote_controller_id INTEGER PRIMARY KEY AUTOINCREMENT,
display_name TEXT NOT NULL, -- user-provided name for a remote controller
fingerprint BLOB NOT NULL, -- remote controller CA fingerprint
accepted INTEGER -- NULL(unknown), 0(rejected), 1(confirmed)
);
CREATE INDEX contact_profiles_index ON contact_profiles(
display_name,