aboutsummaryrefslogtreecommitdiffstats
path: root/src/simtest/mod.rs
Commit message (Collapse)AuthorAgeFilesLines
* login: logins by key capped per usertv3 days1-0/+2
| | | | | | | | | | | | Review 6: a node remembers the challenges used until they expire, 10 000 at most, and refused every login by key once full. One user holding a key could make 10 000 logins within five minutes and keep everyone else out. A user may now log in by key at most --key-logins-per-user times (100) on a node within a challenge's lifetime, past which that user waits and others don't; the 10 000 stay as the cap for all users together. The lifetime, five minutes until now, is --challenge-lifetime.
* access: --bootstrap-keystv4 days1-1/+1
| | | | | | | The first users' SSH keys, recorded at genesis with their entries, so a swarm can be strict from its start. Auth plan M7.
* simtest: the policy, and a remake under ittv4 days1-0/+1
| | | | | | | | A swarm judging every change: honest writes everywhere, a joining node registers, a forged write stays where it was made; a compaction under the policy refuses nothing honest. Auth plan M6.
* simtest: signed changestv4 days1-1/+2
| | | | | | | Every change vouched for on every node within a second; a forged signature vouches for nothing. Auth plan M5.
* signatures: kept in the document filetv4 days1-0/+1
| | | | | | | A node's signatures are saved with its document (--document-file) and loaded with it. Auth plan M5.
* signatures: --sign-everytv4 days1-0/+1
| | | | | | | | Changes left unsigned are vouched for by the node's next signature: --sign-every 1s (default) signs the latest within a second, all signs every change, none only those that must be. Auth plan M5.
* signatures: changes signed by their nodetv4 days1-1/+2
| | | | | | | | | | Every node signs the changes it commits with its node key, an Ed25519 signature over the change's hash, kept beside the document. One signature on an actor's latest change vouches for its earlier ones. Protocol data and paths listed in _continuum/access/signed are signed, and writes with ?signed=true. Auth plan M5.
* dashboard: without LINKS; LINKS removedtv4 days1-1/+0
| | | | | | | | | The dashboard reads every member's links from the members themselves; LINKS and LINKS_REPLY, swarm::links and their wire tags go (wire version bumped). Nodes the browser can't reach are drawn from what the reachable ones measure. Auth plan M3.
* dashboard: own links over the API, and CORStv4 days1-0/+1
| | | | | | | | | GET /admin/dashboard/links/own and its event stream: a node's own links, as LINKS_REPLY carried them, for other members' dashboards with a token. CORS for the members' dashboard origins and --cors-origins, without credentials. Auth plan M3.
* auth: logging in, and tokens as bearerstv4 days1-0/+3
| | | | | | | | | POST /auth/login (by htpasswd or the proxy), /auth/refresh, /auth/logout, GET /auth/whoami; every request may bring Authorization: Bearer instead of a password. --token-lifetime and --session-lifetime. Auth plan M2.
* access: first users at genesistv4 days1-0/+1
| | | | | | | | --bootstrap-users gives a new swarm a registry from its first change, each first user with everything; other users may do nothing until added. Without it the swarm has no registry and works as before. Auth plan M1.
* HyParView flood defaulttv5 days1-2/+2
|
* flood disseminationtv5 days1-0/+1
|
* HyParView (slim)tv5 days1-0/+10
|
* plumtreetv5 days1-0/+5
|
* push by defaulttv7 days1-1/+0
|
* push changes experimenttv7 days1-0/+1
|
* measure 2-hop neighbourhoodtv9 days1-0/+1
|
* add propagation benchmarktv9 days1-0/+1
|
* add stream heartbeattv9 days1-0/+1
|
* add announce unreachable testtv9 days1-0/+14
|
* add links relay testtv9 days1-1/+61
|
* dashboard: double-click opens peer dashboardtv9 days1-0/+1
|
* add restart teststv10 days1-0/+24
|
* LWW everywhere, mostlytv10 days1-0/+1
|
* move all automerge references to documenttv11 days1-2/+2
|
* rename AutoMerge to Documenttv11 days1-2/+2
|
* add peer clock skew warningtv12 days1-0/+1
|
* move DELIVERY_LIMIT to sim transporttv12 days1-4/+1
|
* simtest: unify SOON constanttv12 days1-0/+3
|
* decouple simulation test from myceliumtv12 days1-0/+10
|
* add support for several transportstv2026-10-271-0/+1
|
* add identity layertv2026-10-271-0/+26
|
* add Transport::delivery_limittv2026-10-271-4/+1
|
* describe remake test failures in simulationtv2026-10-261-0/+3
|
* show interpolated values in GET /admin/configtv2026-10-261-1/+1
|
* add delta blobstv2026-10-261-0/+1
|
* add remake tests on the simulatortv2026-10-261-0/+1
|
* unreachability doesn't expiretv2026-10-261-1/+1
|
* SyncSessions owns Automerge's sync statetv2026-10-261-2/+2
|
* unify peers snapshot logictv2026-10-261-7/+1
|
* unify lock logictv2026-10-261-13/+3
|
* add soak testtv2026-10-251-0/+1
|
* add clock moduletv2026-10-251-0/+1
| | | | | The Clock module is the system clock that every unix timestamp new goes through. It comes with an offset that only tests can set.
* MYCELIUM_DELIVERY_LIMIT -> Timing::delivery_limittv2026-10-251-1/+7
|
* make sync reply timeout part of timingtv2026-10-251-4/+6
| | | | This enables upcoming lossy-links tests.
* add simulation testtv2026-10-251-0/+284