aboutsummaryrefslogtreecommitdiffstats
path: root/src/state
Commit message (Collapse)AuthorAgeFilesLines
* access: signatures requiredtv4 days2-3/+19
| | | | | | | | "signatures": "required": a change counts only once a signature by its committer vouches for it, and waits until then; every node then signs every change it makes. Auth plan M6.
* access: the policy enforcedtv4 days2-3/+29
| | | | | | | | _continuum/access/policy ({"version": 1}) has every node screen every change it receives, on every path changes come in. A policy a node doesn't know stops its writes through the API. GET /admin/refused. Auth plan M6.
* remake: forgetting and releasing name their usertv4 days1-0/+19
| | | | | | | Forget records and released quarantines name the user who made them, so they are judged by its capabilities. Auth plan M6.
* signatures: with sync messagestv4 days2-3/+12
| | | | | | | Sync messages carry, for each actor's writes, the latest signature the sender checked; the receiver checks it once it holds the change. Auth plan M5.
* signatures: --sign-everytv4 days1-3/+30
| | | | | | | | 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 days2-5/+27
| | | | | | | | | | 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-2/+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/+2
| | | | | | | | | 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/+4
| | | | | | | | | 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/+2
| | | | | | | | --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.
* refuse misplaced authorstv4 days1-0/+5
|
* HyParView (slim)tv5 days1-4/+21
|
* dissemination traittv5 days1-0/+2
|
* topology traittv5 days1-0/+2
|
* handshakes countedtv5 days1-0/+56
|
* working links recordedtv5 days1-0/+2
|
* worker sends off the passtv5 days1-1/+6
|
* suspend detectedtv5 days1-0/+12
|
* one grace wait per peertv5 days1-0/+4
|
* asks by askertv6 days1-0/+5
|
* round trips in treestv6 days1-0/+5
|
* push by defaulttv6 days1-4/+0
|
* push changes experimenttv6 days1-0/+4
|
* announce only to those behindtv6 days1-2/+2
|
* asked again countertv6 days1-0/+5
|
* hop delaystv7 days1-0/+3
|
* slow round back offtv7 days2-0/+5
|
* hello again when heard fromtv7 days1-0/+52
| | | | | | While we wait for a peer's HELLO_REPLY, anything else that comes from it makes our HELLO go again at once, at most once a second, instead of when the backoff says.
* no heal while both move ontv7 days1-3/+49
| | | | | | | The heal clock now also restarts when our heads and the peer's have both changed since the last STATUS that showed them differing. While writes go on, two neighbours's heads differ because of changes still on their way, and that alone no longer leads to a heal.
* overdue sync asked after from thentv7 days1-45/+88
|
* unanswered sync asked aftertv7 days1-6/+28
| | | | | An overdue sync answer is now followed by a PING too, and the peer stays reached once it answers the PING.
* unanswered members not reachedtv8 days2-3/+88
|
* announce what trees misstv8 days1-0/+3
|
* replace eager links by treestv8 days1-10/+0
|
* add writer treestv8 days2-3/+8
|
* measure 2-hop neighbourhoodtv8 days2-0/+7
|
* introduce eager linkstv8 days1-0/+10
|
* skip neighbours with our headstv8 days1-0/+5
|
* retry new peers before probingtv8 days1-5/+37
|
* probe list memberstv8 days1-3/+8
|
* add stream heartbeattv9 days1-0/+3
|
* dashboard: double-click opens peer dashboardtv9 days1-0/+3
|
* api: add x-continuum-heads to writestv10 days1-6/+10
|
* record node ID and API user for every writetv10 days1-1/+24
|
* large messages over slow links are deltastv10 days1-0/+29
|
* introduce per-transport sync reply timeouttv10 days2-11/+14
|
* peer worker forget records on changetv10 days1-0/+3
|
* peer worker sleeps until deadline, not fixed timetv10 days2-18/+60
|
* bootstrap: replace pull by progress notifytv10 days2-0/+6
|
* document: allow writes during rejointv10 days3-110/+207
|