aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* store: keys_at tells no map from an empty onetv3 days7-16/+29
| | | | | | | | 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).
* auth: logging in, and tokens as bearerstv3 days15-8/+648
| | | | | | | | | 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: tokenstv3 days4-7/+369
| | | | | | | | | ct1 tokens: who, how they logged in, a session, when they expire, and optionally a narrower limit; signed by the issuing node's key and taken by every member (a node ID is its key). Revocation by the registry as it stands when a request comes. Auth plan M2.
* access: the users endpointstv3 days10-120/+681
| | | | | | | | /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: bootstrap users onlytv3 days5-42/+37
| | | | | | | The first users come only from --bootstrap-users; the genesis node warns of htpasswd users that aren't among them. Auth plan M1.
* dashboard: what its user may readtv3 days2-4/+71
| | | | | | | The dashboard's document box is read through the store, as its user may, and the page is told only of changes where its user may read. Auth plan M1 (the dashboard).
* access: genesis of swarms from before the registrytv3 days5-54/+34
| | | | | | | | Swarms started before the registry keep working without one; the genesis node's options for a registry apply only to new swarms. What tests and migration leave is noted in future-work. Auth plan M1, bootstrap and migration (2.5).
* access: keeping the swarm manageabletv3 days4-21/+143
| | | | | | | | | A write that would leave its own writer unable to manage users (deleting, disabling or narrowing its entry, removing the registry) is refused; --protocol-writers can set a registry right that nobody may manage any more. Auth plan M1.
* access: authorization at the APItv3 days11-65/+584
| | | | | | | | | Every request is judged by the registry the node holds: store reads pruned to what the user may read, writes refused where it may not, admin endpoints by protocol capabilities. Without a registry, as before (--protocol-writers for protocol data). Auth plan M1.
* access: first users at genesistv3 days11-1/+208
| | | | | | | | --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.
* access: the user registrytv3 days5-0/+423
| | | | | | | | | _continuum/users/<name>: one entry per user, with capabilities by path (read, write) granted by whom and when, and a disabled flag. Read leniently: a damaged entry gives less, never more. Protocol data stays apart: a capability outside _continuum never covers it. 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).
* refuse misplaced authorstv4 days5-8/+267
|
* soak plumtree links along the waytv4 days2-4/+61
|
* dashboard: remake with golden count down halostv4 days2-39/+64
|
* dashboard: polish remake ringstv4 days3-17/+65
|
* dashboard: remake switch delaytv4 days3-5/+18
|
* dashboard: figures root in titletv4 days2-17/+27
|
* dashboard: document root in titletv4 days2-7/+22
|
* soak neighbours and settled linkstv4 days1-0/+29
|
* docs topologytv5 days2-0/+124
|
* HyParView flood defaulttv5 days6-14/+17
|
* flood disseminationtv5 days7-8/+84
|
* HyParView (slim)tv5 days25-41/+1165
|
* topology neighbours and optional graphtv5 days2-58/+120
|
* bench repeattv5 days2-8/+85
|
* bench eager tree depthtv5 days1-3/+52
|
* bench eager link RTTstv5 days1-7/+40
|
* plumtreetv5 days19-63/+607
|
* bench several scenariostv5 days2-4/+7
|
* dashboard: drop neighbour columntv5 days2-6/+11
|
* dashboard: remaketv5 days2-2/+173
|
* dashboard: rates without linkstv5 days1-27/+84
|
* fix simtest clock off proposer waitstv5 days1-0/+13
|
* dissemination traittv5 days8-5/+107
|
* topology traittv5 days5-11/+99
|
* substitutes held longertv5 days2-17/+28
|
* soak records by settv5 days2-4/+28
|
* indirect probestv5 days11-35/+439
|
* partition registrations testedtv5 days1-0/+64
|
* unlisted members forgottontv5 days2-7/+15
|
* handshakes countedtv5 days5-2/+74
|
* trees at runtimetv5 days8-2/+97
|
* soak quiet after recordstv5 days1-2/+23
|
* soak counts recordstv5 days2-12/+42
|
* soak with churn testtv5 days5-5/+266
|
* fix doc (working links measured)tv5 days1-1/+2
|
* bench waits for recorded linkstv5 days2-7/+36
|
* trees over working linkstv5 days4-17/+143
|
* working links recordedtv5 days8-18/+339
|