Commit Graph

7510 Commits

Author SHA1 Message Date
Liam Fitzgerald
12c9e64297 temp commit 2023-09-17 15:54:43 +01:00
Liam Fitzgerald
58f2d427ce gall: security primitives for encrypted scry
This commit adds `%tend` `%germ` and `%snip` to the notes that gall can
pass. `%tend` is analogous to `%grow`, except with a security group defined
by .coop.

 ### The coop system
A `$coop` is a path, which defines a security context for the portion of
the namespace that it prefixes. Each `$coop` receives a symmetric key,
which is used to encrypt requests and responses for any key-value pair
belonging to a coop.

 ### Network overview
This design requires a single handshake over ames to inform clients what
key is to be used. However, this handshake can be made less frequent by
including all paths underneath the `%coop` in the response, such that if
the user is requesting sibling paths under the same `%coop`, only one
handshake is required.

 ### Naming
I am utterly detached to all new names introduced, just trying to get
something down

 ### API Design
The most contentious part of this proposal will likely be the split
between `%grow` and `%tend`. I assert (rather weakly mind you) that this
is more ergonomic for the end user, although there's a strong argument
to be made that `%grow` should just take a `(unit coop)`. If this were
the case, however, it would muddy the semantics. If the value is
encrypted, then the ship,desk,case will be in the coop, else it will be
specified in the path.  Worth noting that specifying the
`%coop` and the rest of the path seperately seems like it could be
unintuitive because the path that it will be bound to is actually
`(welp coop path)`

The lifecycles for coops seem straightforward, although worth revisiting
the invariants it maintains, and how it handles those invariants. A list of such:
- No nesting (obviously good)
- Crashing on binding publically into a private coop (crashing is bad,
do we want to deliver a notification? (See footnote 1))
- Crashing on binding into a coop that doesn't exist (same notes as above)

 ### Key generation
Current implementation is obviously stupid, how should i do it?

 ### Footnotes
 1. Why are the remote scry datastructures notes and not gifts? Forgive
 me being out of the loop, but we don't actually use the wire for
 anything anywhere, and remote scry is giving gift anyway.
 2. It's so good to be back
2023-09-14 04:53:11 +01:00
Pyry Kovanen
328e085e41
lick: initialize unix-duct before %born 2023-09-05 16:17:06 +03:00
Pyry Kovanen
4bb9bae2d2
arvo: add provenance when casting forward move 2023-08-23 19:06:14 +03:00
Pyry Kovanen
3260e4fe05 eyre: handle old wires correctly in +on-gall-response 2023-08-22 21:37:15 +03:00
Pyry Kovanen
a1f9374145
Merge pull request #6756 from urbit/pkova/dead-flow-fix
ames: fix bug in dead flow consolidation
2023-08-21 18:29:39 +03:00
yosoyubik
8320e7dbf2 ames: update dead flow timers in state 2023-08-21 14:03:38 +03:00
yosoyubik
4da54b9e4d ames: reinitialize recork timer 2023-08-21 14:03:38 +03:00
yosoyubik
be0bbc78c5 Merge branch 'yu/decongest-ames-in-develop' into yu/fix-state-migrations 2023-08-18 08:16:26 +02:00
yosoyubik
19f5946e72 ames: only reinitialize congestion if bunted 2023-08-17 15:22:09 +02:00
yosoyubik
def2591812 ames: reinitialize congestion control values 2023-08-17 15:22:03 +02:00
yosoyubik
58b678505f roller: fix state migration 2023-08-16 10:23:52 +02:00
Pyry Kovanen
c276ddd476
ames: fix bug in dead flow consolidation 2023-08-15 16:15:55 +03:00
fang
a9e3ebb780
eyre: avoid +got'ing a channel that doesn't exist
+on-gall-response might detect the symptom of a bug, where we are
getting a %fact for a channel that has since been deleted. (Meaning that
subscription should have been cleaned up, and we shouldn't have received
the %fact.) We want to issue a %leave, but need to take care to do so
with the same identity that the subscription was opened on.

Previously, we would forcefully get the identity from the non-existent
channel, resulting in a crash. Now, we encode the identity into the wire
instead, so that we may retrieve it from there, even when the channel is
long gone.
2023-08-10 11:33:08 +02:00
Pyry Kovanen
330d134a1c
Merge pull request #6737 from urbit/ja/eyre-login-412
eyre: cosmetic updates to login form
2023-07-28 19:26:19 +03:00
Pyry Kovanen
3cfc3cf235
Merge pull request #6740 from urbit/pkova/bane
lull, ames: add %tame task to delete a route for a ship
2023-07-28 18:59:50 +03:00
Pyry Kovanen
46c567f75f
Merge pull request #6700 from urbit/philip/stale
ames: Don't check for lane staleness
2023-07-28 18:35:02 +03:00
Pyry Kovanen
32665022d2
Merge pull request #6733 from urbit/remove-deprecated-arms
zuse: remove deprecated arms
2023-07-28 18:30:36 +03:00
pkova
facd6994b0 lull, ames: add %tame task to delete a route for a ship 2023-07-28 18:15:04 +03:00
Pyry Kovanen
19d7fe0f85
Merge pull request #6738 from urbit/pkova/dead-flow-consolidation
ames: consolidate dead flows to a single behn timer
2023-07-28 17:32:08 +03:00
James Acklin
4bbe46adc1 eyre: cosmetic updates to login form
Makes cosmetic changes to the login page of eyre. This addresses an issue with insufficient contrast between text elements and their backgrounds in dark mode.
2023-07-28 16:36:53 +03:00
Marcus
ef6965c882 zuse: remove deprecated arms 2023-07-28 16:33:55 +03:00
pkova
82d4e2a265 ames: add comment explaining magic number in +set-wake 2023-07-28 16:33:34 +03:00
pkova
ff21513864 ames: fix indentation in dead flow handling 2023-07-28 16:33:34 +03:00
pkova
45924f7571 ames: store dead flow consolidation timer in state 2023-07-28 16:33:34 +03:00
pkova
d2956a3233 ames: consolidate dead flows to a single behn timer 2023-07-28 16:33:34 +03:00
pkova
7bea0038e5 clay: propagate [~ ~] properly from read-x 2023-07-28 16:32:49 +03:00
Pyry Kovanen
c35aabcebf
Merge pull request #6744 from urbit/develop
Merge develop into next/kelvin/412
2023-07-28 16:32:35 +03:00
Pyry Kovanen
a061ef1ffc
Merge pull request #6686 from midden-fabler/dojo-errors
dojo: better generator errors
2023-07-24 18:22:04 +03:00
Pyry Kovanen
897d00334f
Merge branch 'next/kelvin/412' into yu/enable-close-flows 2023-07-24 16:58:13 +03:00
Pyry Kovanen
983cba3724
Merge pull request #6697 from urbit/remove-deprecated-json-calls
json: remove deprecated JSON parser calls
2023-07-24 16:20:27 +03:00
Marcus
be853b5a1a kiln: avoid downloading updates for uninstalled desks 2023-07-24 16:15:48 +03:00
Pyry Kovanen
82f9ed43bc
Merge pull request #6703 from urbit/fix-html-conversions
mar: better html-related conversions
2023-07-24 16:14:49 +03:00
Marcus
71ccdbe4ab json: remove deprecated JSON parser calls 2023-07-24 15:18:11 +03:00
Marcus
a42b74bc5c mar: better HTML-related conversions 2023-07-24 15:16:56 +03:00
silnem2
d6362cb293 dojo: fix gall scries in +to-command 2023-07-24 15:16:04 +03:00
silnem2
b254524aaf kiln: change deprecated %cd scry 2023-07-24 15:10:54 +03:00
silnem2
23bb0eb35e kiln: rewrite +poke-uninstall to unsync suspended desks 2023-07-24 15:10:54 +03:00
pkova
8565fb5f8b Merge branch 'develop' into next/kelvin/412 2023-07-24 14:58:31 +03:00
Matthew LeVan
46575dc2fe base: add pace to next revision in -runtime-version 2023-07-19 17:10:50 +03:00
Pyry Kovanen
efb92ad0c0 ames: ignore old rifts in +on-take-flub 2023-07-18 19:35:03 +03:00
fang
9f2c97f95e
lull: add %'PATCH' to $method:http
As of RFC 5789, PATCH is a valid HTTP request method. The $method:http type,
however, did not include it.

Here, we add it to the $method:http type, so that it now includes all nine
standard HTTP methods.
2023-07-12 15:56:51 +02:00
pkova
985350d2b5 ames: address style nits 2023-07-11 18:32:19 +03:00
pkova
a5f88cb24e ames: use abet pattern for flubbing 2023-07-11 18:19:56 +03:00
pkova
4fe9de8194 lull, gall, hoon: drop pokes for non-running agents 2023-07-11 17:36:09 +03:00
Pyry Kovanen
8f5d29fb73
Merge pull request #6695 from urbit/pkova/delete-nonsense
%base: delete /app/gaze and /ted/naive-csv
2023-07-10 18:51:21 +03:00
Pyry Kovanen
77b0c4c40f
base: update output format in /ted/read 2023-07-10 15:30:07 +03:00
Pyry Kovanen
ff06119f93
base: fix output format in /ted/code 2023-07-10 15:28:57 +03:00
Pyry Kovanen
65508d56a6
base: fix hi thread output formatting 2023-07-10 15:21:09 +03:00
midden-fabler
0543f4e8b1 dojo: high level error at bottom 2023-07-07 23:55:14 -04:00