Commit Graph

261 Commits

Author SHA1 Message Date
Amadeo Bellotti
d0cd351acb changed to lick 2023-05-24 12:13:44 -04:00
Amadeo Bellotti
08540c8257 fixed api and added rote path 2023-05-24 12:13:44 -04:00
Amadeo Bellotti
323ad41a96 cleaned up interface 2023-05-24 12:13:44 -04:00
Amadeo Bellotti
6a8cea04b3 modified flow for read red, and turn 2023-05-24 12:13:44 -04:00
Amadeo Bellotti
c643db1e14 modified some stuff to return a card to vere 2023-05-24 12:13:44 -04:00
Amadeo Bellotti
791782fafa added %read and %writ cards 2023-05-24 12:13:43 -04:00
Amadeo Bellotti
653725da98 boiler plate for loch 2023-05-24 12:13:43 -04:00
fang
d15de3b48c
eyre: update %name, add %host endpoint
%name now returns the identity of the session associated with the
request. %host will always return the @p of the ship *handling* the
request.

The latter becomes especially important for guest sessions, who can only
interact with agents on the local ship, but will still need to specify
who that ship is.
2023-05-05 23:38:40 +02:00
fang
0fee4ce50b
eyre: guest ids for unauthenticated requests
aka "the open eyre" aka "universal basic identity"

Urbit already supports presence on the clearnet, but fails to expose any
of its interactive affordances to unauthenticated users. Here, we
improve this situation by granting "guest identity" @ps to every
unauthenticated HTTP request, and extending the channels functionality
to them.

Sessions no longer represent only the local identity. Instead, each
session has either the local identity, or a fake guest identity
associated with it.

Every request that does not provide a session key/cookie gets assigned
a fresh one with a guest identity on the spot. As a result, every
single request has an identity associated with it.

The identity of a request gets propagated into userspace, if the request
ends up there.
For normal HTTP requests, this means the src.bowl gets set to that
identity for both the watch and poke of the request. For backwards
compatibility, the authenticated flag on the request noun gets set at
normal: only true if the request came from the local identity.
For channel requests, this means the src.bowl gets set to that identity
for any pokes and watches it sends, and it can only send those to agents
running on the local ship.

The scry endpoint remains unchanged in its behavior: only available to
the local identity.

Notable implementation detail changes in this diff include:
- Factored all gall interactions out into +deal-as.
- Sessions no longer represent exclusively the local identity. This
matters a lot to +give-session-tokens, %code-changed, and logout
handling.
- Session management got factored out into explicit +start-session and
+close-session arms.
2023-05-05 21:59:17 +02:00
~wicrum-wicrun
ecaf70bc00 ames,lull,zuse: move +pha and +deq into ames to not pollute kelvin code 2023-05-02 16:26:59 +02:00
~wicrum-wicrun
ded0b75914 ames,lull: .wan.keen uses fragment as mop key 2023-05-02 16:25:51 +02:00
~wicrum-wicrun
d7a2c53df8 lull,ames: use mop instead of pha in .wan.keens 2023-05-02 15:17:25 +02:00
Ted Blackman
625b63614e
Merge pull request #6406 from urbit/i/5788/remote-scry
Add Remote Scry Protocol
2023-04-25 11:06:04 -04:00
Joe Bryan
65b997096d lull: corrects $hunk comment 2023-04-24 13:20:06 -04:00
Joe Bryan
628525a549 lull: removes +welt 2023-04-24 13:14:34 -04:00
~wicrum-wicrun
c525fea1b0 lull: add $spar for [=ship =path] in ames 2023-04-24 19:10:05 +02:00
~wicrum-wicrun
dafa1cc030 lull,ames: reference +mop in $packet-pump-size 2023-04-24 19:10:05 +02:00
~wicrum-wicrun
db0afd056e lull,zuse: move +deq to zuse 2023-04-24 19:10:05 +02:00
Joe Bryan
ba3a5b22e8 lull: removes case:clay (duplicated from arvo) 2023-04-24 13:08:25 -04:00
~wicrum-wicrun
641326ad36 ames,lull: remove .siz from $meow 2023-04-24 16:23:09 +02:00
pkova
a1fd3a6792 lull, eyre: actually send events on clogged channel reconnect 2023-04-24 13:38:14 +03:00
Joe Bryan
d2d1412c3a ames: replace (empty) signatures with tag byte in fine requests (wail) 2023-04-23 01:09:53 -04:00
Ted Blackman
84cd948f30 Merge branch 'next/kelvin/413' into i/5788/remote-scry 2023-04-22 14:33:20 -04:00
Ted Blackman
8ba7b3ae95 clay: $+ more types in +load 2023-04-22 10:47:33 -04:00
yosoyubik
d259656e29 lull: clean up remote scry namespace missmatches
(note: first pass, subject to change)
2023-04-22 10:57:49 +02:00
Joe Bryan
2dca5e714b lull: removes %miss 2023-04-21 10:54:33 -04:00
Joe Bryan
4d84131464 ames: refactors %tune, supercedes %miss 2023-04-21 10:43:30 -04:00
Joe Bryan
80a1cf626c ames: cleanup comments/whitespace 2023-04-18 10:34:47 -04:00
Joe Bryan
5cbbc5be12 lull: cleanup ames interface and comments 2023-04-18 10:25:49 -04:00
Joe Bryan
c864f95598 ames: drop %pine 2023-04-18 10:25:45 -04:00
yosoyubik
296815e097 ames: remove keen-id from remote scry state
TODO: udpate /~debug frontend
2023-04-17 16:22:57 +02:00
fang
4b68139c40
Merge branch 'next/kelvin/413' into x/json-bgon 2023-04-11 21:54:43 +02:00
yosoyubik
538b0e920e Merge branch 'develop' into i/5788/remote-scry 2023-04-07 19:24:08 +02:00
yosoyubik
2da5431ec2 ames: add minimal verbosity for |fine
This can be set with |ames-verb %fin. We might want to extend this
with a more granular logging system, probably similar to current ames
2023-04-06 13:44:45 +02:00
~wicrum-wicrun
5e248a2640 lull: properly register +on jet 2023-04-05 20:53:10 +02:00
~wicrum-wicrun
447bfea9f8 lull: remove duplicate mop arms after merge 2023-04-05 16:23:12 +02:00
~wicrum-wicrun
9890e5b8da Revert "gall: add permissions to scry paths"
This reverts commit 6e542d4afe.
2023-04-05 14:59:59 +02:00
~wicrum-wicrun
45617df540 gall: add permissions to scry paths 2023-04-05 14:59:59 +02:00
~wicrum-wicrun
4f77f84e72 lull,gall: store $page instead of $noun in scry bindings 2023-04-05 14:59:59 +02:00
~wicrum-wicrun
09be62ed8f lull,gall: add scry bindings to bowl 2023-04-05 14:59:59 +02:00
~wicrum-wicrun
2071029ea2 lull,zuse: move +mop to lull 2023-04-05 14:59:59 +02:00
~wicrum-wicrun
ad7cf21d01 gall,lull: don't include $case in %grow 2023-04-05 14:59:58 +02:00
Ted Blackman
128375c4aa gall: handle scry moves locally 2023-04-05 14:59:58 +02:00
Ted Blackman
c69e71e83f lull,gall: switch to per-agent scry bindings 2023-04-05 14:59:58 +02:00
Ted Blackman
1aa7b8105d lull,gall: %grow compiles 2023-04-05 14:59:58 +02:00
yosoyubik
d406344081 lull, ames: add %wham to cancel all scry requests
(we might want to add permissioning to restrict who can send %whams)
2023-04-01 09:20:49 +02:00
yosoyubik
55dffb59e7 ames: add all=? flag to fine %yawn task
if all=& in |yawn, it will delete all listeners ducts,
without notifying them about it, which seems bad,
so we migh adress that separatedly.

Also, it might be cleaner to have a separate task instead of
a flag, to have two paths for "remove me" and "remove all",
this way there won't be an option for a listener to remove all
others, and that will have to be handled explicitly.
2023-03-31 15:45:51 +02:00
lukechampine
e0ff3b4d5f eyre: add cache 2023-03-28 17:01:31 -04:00
Matthew LeVan
8749a0dac2
Merge pull request #6430 from urbit/fix-next-kelvin-ci
ci: fix `next/kelvin/*` workflows
2023-03-28 11:55:09 -04:00
Pyry Kovanen
cb819b2091
Merge pull request #6413 from urbit/i/6407/zeal
clay: stop failed kelvin upgrades from retrying immediately
2023-03-24 18:36:09 +02:00