diff options
| author | salmonik <salmonik@tuta.io> | 2026-10-29 22:22:27 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-10-29 22:22:27 +0100 |
| commit | f30b1a519771ac49e2b03640e742fdb0a246bd81 (patch) | |
| tree | b9a78039ba55a364e73df5dc174320dc8222f5c3 /docs | |
| parent | formatting (diff) | |
| download | zagan-bet-f30b1a519771ac49e2b03640e742fdb0a246bd81.tar.gz zagan-bet-f30b1a519771ac49e2b03640e742fdb0a246bd81.zip | |
v2.4.0: key stored credentials by certificate fingerprint
Diffstat (limited to '')
| -rw-r--r-- | docs/SERVER_SETUP.md | 10 | ||||
| -rw-r--r-- | docs/TESTING.md | 14 |
2 files changed, 23 insertions, 1 deletions
diff --git a/docs/SERVER_SETUP.md b/docs/SERVER_SETUP.md index 62d1a9c..37d55b1 100644 --- a/docs/SERVER_SETUP.md +++ b/docs/SERVER_SETUP.md | |||
| @@ -69,11 +69,19 @@ On first contact the client prints the SPKI fingerprint and pins it. If you | |||
| 69 | regenerate the server identity, the client will reject the new key; run | 69 | regenerate the server identity, the client will reject the new key; run |
| 70 | `forget-host` in the client if the change is intentional. | 70 | `forget-host` in the client if the change is intentional. |
| 71 | 71 | ||
| 72 | Credentials are stored against the pinned fingerprint, not the address. Log in | ||
| 73 | once through `127.0.0.1:11525` and connecting through the machine's LAN address | ||
| 74 | will authenticate automatically, because both addresses present the same key. | ||
| 75 | `forget-host` removes one address; the stored login is only dropped when the | ||
| 76 | last address for that key is forgotten. | ||
| 77 | |||
| 72 | ## Database | 78 | ## Database |
| 73 | 79 | ||
| 74 | The server creates `server.db` in the current directory on first use. It holds | 80 | The server creates `server.db` in the current directory on first use. It holds |
| 75 | users, balances, and the per-game `plays` audit. The client keeps its own | 81 | users, balances, and the per-game `plays` audit. The client keeps its own |
| 76 | `client.db` for host fingerprints and stored credentials. | 82 | `client.db` for host fingerprints and stored credentials. Databases from before |
| 83 | the fingerprint-keyed credentials are migrated on startup; rows whose host was | ||
| 84 | already forgotten cannot be re-keyed and require one fresh login. | ||
| 77 | 85 | ||
| 78 | During development, delete both files to reset users, balances, history, and | 86 | During development, delete both files to reset users, balances, history, and |
| 79 | trust: | 87 | trust: |
diff --git a/docs/TESTING.md b/docs/TESTING.md index 15b060c..fe302a9 100644 --- a/docs/TESTING.md +++ b/docs/TESTING.md | |||
| @@ -124,6 +124,20 @@ Use an 80-column terminal because several output lines are width-sensitive. | |||
| 124 | one row with `winnings = 0`, `details.result = "abandoned"` and | 124 | one row with `winnings = 0`, `details.result = "abandoned"` and |
| 125 | `details.reason = "server_restart"`. | 125 | `details.reason = "server_restart"`. |
| 126 | 126 | ||
| 127 | ## Manual identity / credential checklist | ||
| 128 | |||
| 129 | 1. Connect through one address, `register` and `login`. `hosts` shows the | ||
| 130 | fingerprint. | ||
| 131 | 2. `disconnect`, then `connect` through another address that reaches the same | ||
| 132 | server (for example `10.0.0.100` when you first used `127.0.0.1`). The client | ||
| 133 | must print `Authenticated as <user>` without asking for a password. | ||
| 134 | 3. `hosts` must list both addresses on one line under one fingerprint. | ||
| 135 | 4. `forget-host <first address>` must say the credentials were kept and name | ||
| 136 | the remaining address. Connecting through the remaining address still | ||
| 137 | authenticates automatically. | ||
| 138 | 5. `forget-host <last address>` must say trust and credentials were cleared. | ||
| 139 | The next connect is a first contact and does not authenticate. | ||
| 140 | |||
| 127 | ## Manual server checks | 141 | ## Manual server checks |
| 128 | 142 | ||
| 129 | - Register, log out, log in again (bcrypt path). | 143 | - Register, log out, log in again (bcrypt path). |
