aboutsummaryrefslogtreecommitdiffstats
path: root/src/swarm
Commit message (Collapse)AuthorAgeFilesLines
* access: --bootstrap-keystv3 days1-5/+6
| | | | | | | The first users' SSH keys, recorded at genesis with their entries, so a swarm can be strict from its start. Auth plan M7.
* access: a node registers before it writestv3 days1-18/+31
| | | | | | | | | Under a policy, a change by a node that isn't a member is refused with all built on it: a node's registration is written before any write of its own or through the API, not after (the registration itself exempt). Auth plan M6 (fix).
* access: banstv3 days1-0/+20
| | | | | | | | _continuum/banned/<node ID>: every node refuses the banned node's changes from then on (judged as the ban stood) and leaves its handshakes unanswered. Auth plan M6.
* access: signatures requiredtv3 days2-8/+58
| | | | | | | | "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 enforcedtv3 days1-2/+31
| | | | | | | | _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.
* signatures: on their own (SIGNATURES)tv3 days3-0/+90
| | | | | | | Signatures no sync message took go on their own within a second, to each peer not sent them yet (wire version bumped). Auth plan M5.
* signatures: with sync messagestv3 days1-1/+40
| | | | | | | 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: kept in the document filetv3 days2-16/+43
| | | | | | | A node's signatures are saved with its document (--document-file) and loaded with it. Auth plan M5.
* dashboard: without LINKS; LINKS removedtv3 days4-1140/+2
| | | | | | | | | 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: the writers' trees as this node knows themtv3 days1-7/+11
| | | | | | | | The tree drawn is computed as every node computes its own part of it: from the member list, and whom it and its neighbours reach, as they told it; no longer from the links members report over LINKS. Auth plan M3 (preparing LINKS' removal).
* dashboard: own links over the API, and CORStv3 days1-1/+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.
* store: keys_at tells no map from an empty onetv3 days2-2/+8
| | | | | | | | registry::exists counted any value at _continuum/users as a registry; keys_at answers None where there is no map, and its users (records, members, forget records, remakes) say what they make of it. Auth plan M1 (fix).
* access: the users endpointstv3 days1-3/+3
| | | | | | | | /admin/users: list, add (one or several), remove, disable, grant and revoke capabilities; each one change, refused if it would lock its writer out. Capabilities as the store's paths name them. Auth plan M1.
* access: first users at genesistv3 days1-1/+23
| | | | | | | | --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: a node left alone asks with high prioritytv3 days1-1/+37
| | | | | | A node with no neighbours and no high-priority ask outstanding asks with high priority, even of members that refused it before, so it never stays without neighbours (a transient seen in the simulations).
* HyParView flood defaulttv4 days2-3/+4
|
* flood disseminationtv5 days3-0/+69
|
* HyParView (slim)tv5 days8-17/+641
|
* topology neighbours and optional graphtv5 days2-58/+120
|
* plumtreetv5 days6-52/+452
|
* dissemination traittv5 days6-5/+104
|
* topology traittv5 days3-11/+96
|
* substitutes held longertv5 days1-15/+25
|
* soak records by settv5 days1-2/+22
|
* indirect probestv5 days2-25/+343
|
* unlisted members forgottontv5 days1-6/+12
|
* handshakes countedtv5 days1-0/+7
|
* trees at runtimetv5 days3-1/+63
|
* soak counts recordstv5 days1-4/+19
|
* soak with churn testtv5 days2-0/+17
|
* bench waits for recorded linkstv5 days1-7/+19
|
* trees over working linkstv5 days3-14/+138
|
* working links recordedtv5 days5-18/+326
|
* heads heard in announcementstv5 days2-3/+5
|
* heads heard in repliestv5 days2-1/+4
|
* heads heard forget senttv5 days2-1/+31
|
* delta end guardedtv5 days1-7/+23
|
* worker sends off the passtv5 days1-14/+43
|
* suspend detectedtv5 days4-0/+107
|
* rtt table prunedtv5 days2-0/+9
|
* plan walks the neighbourstv5 days2-4/+16
|
* links member from the viewtv5 days2-5/+20
|
* one grace wait per peertv5 days2-14/+20
|
* reach sets boundedtv5 days3-9/+64
|
* strangers messages smalltv5 days1-0/+4
|
* swarm neighbourstv5 days3-6/+104
|
* writers own treetv5 days1-1/+46
|
* slowest in the treetv5 days1-0/+35
|
* slow link a hop moretv5 days1-17/+73
|
* asks by askertv5 days1-0/+1
|