Commit Graph

7575 Commits

Author SHA1 Message Date
~wicrum-wicrun
af4bf28ac7 gall: always check that an agent isn't nuke before initializing +ap 2023-05-09 17:14:19 +02:00
Pyry Kovanen
f0e4e7f980 spider: uncomment spurious comment line 2023-05-09 18:13:31 +03:00
~wicrum-wicrun
ded78a6ab1 gall: don't try to notify nuked agents about breaches 2023-05-09 18:13:09 +03:00
~wicrum-wicrun
d65bcc248e gall: don't try to notify nuked agents about breaches 2023-05-09 16:40:18 +02:00
fang
449eeb6d7f
eyre: make sure guest identity cannot be ours
If there turned out to be some way for requesters to control the
entropy, this might lead to privilege escalation on comets.
2023-05-09 15:31:47 +02:00
fang
d4b99b402f
dbug: ensure eyre identity columns are aligned
Longer vs shorter identity names would cause misalignment.
2023-05-09 15:22:49 +02:00
fang
466fc0b63b
eyre: pass session-id+identity into auth handling
This lets it also clean up guest sessions created just for the login
request, and lets us display the current guest identity on the login
page.
2023-05-09 15:10:14 +02:00
yosoyubik
b154c62fdc ames, tests: remove extraneous comments 2023-05-09 11:43:54 +02:00
fang
61ca0324ac
eyre: start session expiry only "once"
This condition got incorrectly inverted during 0fee4ce. Of course, the
logic here is still subtly incorrect: if a session gets deleted before
the timer fires, then we set a second one. Unfortunately, we are now
here to fix the bug right now.
2023-05-08 19:00:10 +02:00
Pyry Kovanen
ac9c779e2d
spider: uncomment spurious comment line 2023-05-08 19:08:12 +03:00
yosoyubik
f53fee723a ames: defer mutual calls between |pump and |sink
|pump and |sink call into each other in three places
related to nacks and naxplanations (sending a nack,
notifying the |pump of a naxplanation, or dropping a
nack from the |sink). This intra calls are making implicit
updates to more parts of the state than the core should
manage. To avoid that we emit a move to %arvo, encoded
as an %ames plea, to handle that in the next event.
2023-05-08 15:28:13 +02:00
fang
f1c839717e
dbug: handle new eyre identities, fancier logout
Include and render identities associated with requests, channels, and
login sessions. Provide the ability to kick identities and their
sessions, logging them out.
2023-05-05 23:46:30 +02:00
fang
744dea2267
various: stop asserting =(src our):bowl for http
It is no longer guaranteed that the src.bowl for incoming HTTP-related
events is equal to our.bowl. Instead, it will reflect the identity
associated with the request, our or otherwise.

When serving publicly-accessible endpoints, the assertion never made
much sense, but with recent changes actively prevents guests from
accessing the endpoints. Here, we correct all such cases.
2023-05-05 23:41:05 +02: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
b387235597
eyre: enable host to log out any other session
Now that sessions with non-local identities can exist, the host/local
identity should be empowered to forcefully log off any session it hosts.

Additionally, we augment the logout logic with redirect functionality:
it now respects the "redirect" query parameter in the same way the login
page does. Still defaults to redirecting to the login page.
2023-05-05 23:33:37 +02:00
fang
b6e8cd616f
eyre: give 400 for invalid channel requests
We previously had no mechanism for giving error responses, if a client
submitted an invalid request into a channel. Guest access makes this
important, because guests cannot interact with remote ships. Attempting
to do so will cause a gall crash.

Here, we add error handling logic to channel request processing. We
catch the invalid cases described above and invalidate the entire batch
of channel requests if they occur. We make sure to drop the moves and
revert the state we changed, and give a 400 to the client that
informally describes the problem(s).
2023-05-05 22:08:18 +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
Josh Lehman
a6024e33a9
Merge pull request #6553 from urbit/m/eyre-crud-500
eyre: when a %request causes a crud, serve 500
2023-05-05 08:51:28 -07:00
yosoyubik
6213e0bbb3 ames: move +bind-duct to peer-core 2023-05-05 13:06:17 +02:00
yosoyubik
df47808047 Merge branch 'develop' into i/6103/abet-pure 2023-05-05 09:53:01 +02:00
Sigilante
0762b90daa
Update story-remove.hoon 2023-05-04 16:25:39 -05:00
Sigilante
03da1cb4f9
Update story-write.hoon 2023-05-04 16:22:44 -05:00
Sigilante
6389776fc1
Update story-init.hoon 2023-05-04 16:17:50 -05:00
Ted Blackman
65b069a1d9 zuse: kelvin 412 2023-05-04 11:42:41 -04:00
fang
08ad367cd8
eyre: when a %request causes a crud, serve 500
Previously, if an incoming request caused a crash, we would just drop it
on the floor. We should at least have the decency to serve the client a
quick 500 and let them get on with their day.

We make sure not to touch state here. The connection is guaranteed-fresh
because of the task's semantics, and we're handling it in-line in one go.

Notably we only give a simple "crud!" for the body, instead of the full
error trace. We don't know whether the request is authenticated or not
(and who knows if checking was the cause of the crash!), and the crud
might leak sensitive details about the ship it occurred on. For the
owner, the trace still gets printed into the terminal.
2023-05-04 17:42:36 +02:00
Ted Blackman
24467176f6
Merge pull request #6550 from urbit/jb/clay-quiet
clay: remove %take-foreign slog
2023-05-04 11:38:55 -04:00
Ted Blackman
de58756736
Merge pull request #6548 from urbit/philip/pending
clay: on update, remove all previous pending updates
2023-05-04 11:38:22 -04:00
Ted Blackman
100333cd5a
Merge pull request #6549 from urbit/jb/eyre-safe
eyre: handle agent errors safely
2023-05-03 19:16:10 -04:00
Joe Bryan
48ec5b2693 clay: remove %take-foreign slog 2023-05-03 18:48:30 -04:00
Joe Bryan
c42f1d2663 eyre: corrects connection lifecycle comment 2023-05-03 18:40:22 -04:00
Joe Bryan
c349d154b6 eyre: optimizes responses, removes redundant connection state updates 2023-05-03 18:39:19 -04:00
Joe Bryan
007a32c47a eyre: remove redundant connection retrieval 2023-05-03 18:25:48 -04:00
Joe Bryan
7fb2f613d4 eyre: no-op on agent-error when missing connection state 2023-05-03 18:25:10 -04:00
Philip Monk
9d7b196024 clay: on update, remove all previous pending updates
Fixes #6537, see discussion there for alternatives.
2023-05-03 13:03:53 -07:00
Joe Bryan
7f2257e581 clay: virtualize parsing to workaround runaway memoization 2023-05-02 17:16:22 -04:00
Ted Blackman
51e85291c1
Merge pull request #6542 from urbit/wicrum/wan-mop
lull,ames: use `mop` instead of `pha` in `.wan.keens`
2023-05-02 11:55:38 -04:00
~wicrum-wicrun
451a84d467 jael: fake ships always have rift=0 2023-05-02 17:36:22 +02:00
Ted Blackman
09fb89bd5b
Merge pull request #6509 from urbit/jon/doccords-lustar-tistar
turn off doccord parsing for +*, =*
2023-05-02 11:23:15 -04:00
~wicrum-wicrun
c1e14bdbf5 ames: use +pry:mop and +del:mop instead of virtualizing 2023-05-02 17:07:14 +02:00
~wicrum-wicrun
c03c3dc13b ames: migration uses +tap:deq instead of +dip-left:deq 2023-05-02 17:01:53 +02:00
Ted Blackman
1c69528565
Merge pull request #6538 from bacwyls/bwyl/read-s-subs-413-patch
clay: fix read-s subs for 413
2023-05-02 10:42:29 -04:00
Joe Bryan
1c26d431f5 hoon: threads doccords flags through +vang, compatibly 2023-05-02 10:34:33 -04:00
Joe Bryan
4a92c7d7d4 Revert "hoon: add doc parsing flag to +vang"
This reverts commit 94ba944188.
2023-05-02 10:31:42 -04: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
bacwyls
4a1aae5c48 clay: fix read-s subs for 413
=case was added as an argument to read-s to support %cs subs
it was accidentally removed as an argument during a merge,
breaking %cs subs by causing it to always crash in a
comparison between case and [%da now], because case resolved
to the mold rather than a value. this commit restores
intended functionality.
2023-05-01 18:32:49 -05:00
Joe Bryan
9c59c970e3 vats: fixes +vat 2023-05-01 16:30:21 -04:00
Ted Blackman
b632316fba
Merge pull request #6532 from urbit/jb/vats-perf
vats: force multiline rendering, improve performance
2023-05-01 11:38:30 -04:00
Jonathan Paprocki
e718423135 hoon: remove swap +vang for (doc |) in +loll 2023-05-01 11:37:27 -04:00
Ted Blackman
c3d461d6de
Merge pull request #6515 from urbit/i/6504/fine-next-steps
fine: next steps
2023-05-01 11:32:52 -04:00
Marcus
96398a7b54 clay: add requests permission checks 2023-04-30 19:56:16 -03:00
Joe Bryan
b7bf1e68ca vats: sort alphabetically within constraints (%base first, %kids last) 2023-04-29 10:13:50 -04:00
Joe Bryan
92a1f50a49 vats: refactor generator 2023-04-29 10:05:56 -04:00
Joe Bryan
d732e5a91a vats: hack to always render multi-line tanks 2023-04-29 10:03:15 -04:00
John Franklin
dd02444876 +vats: sort %base and %kids (sometimes) 2023-04-29 04:04:30 -05:00
~wicrum-wicrun
b804ab3a23 gall: hold on to .ken.yoke through uninstalls 2023-04-28 19:19:42 +02:00
Philip Monk
013f294cde clay: correctly save cache after goad
The refactor from aeon to tako is from May 2022, but unmerged until
March 2023.  In the meantime, I added another usage of aeon-flow in July
2022, which was converted to aeon-flow in March 2023, but the argument
itself was unchanged.  This meant we didn't save the cache after +goad.
2023-04-27 17:09:33 -07:00
~wicrum-wicrun
5819ee3ddd Revert "gall,lull: add outstanding %keens to the $bowl"
This reverts commit 11f53d680a.
2023-04-27 19:22:41 +02:00
~wicrum-wicrun
11f53d680a gall,lull: add outstanding %keens to the $bowl 2023-04-27 19:20:54 +02:00
~wicrum-wicrun
f3d7863527 gall: %yawn on uninstall 2023-04-27 19:20:54 +02:00
yosoyubik
4728ee68c6 Revert "Revert "ames: make +abet pure""
This reverts commit d214fad1bd.

https://github.com/urbit/urbit/pull/6403 got closed, probably due to its
previous inclusion in the Remote Scry PR, so we reopen it (as a draft).
2023-04-27 14:42:34 +02:00
yosoyubik
7f7c1cb6aa spider: fix extraneous debugging code 2023-04-27 13:59:35 +02:00
yosoyubik
cfc1a58559 spider: fix tracking remote-scry requests
Prevously we were tracking remote scry requests using a map, assuming
that every thread would do just one remote scry request. This is not
right. A thread that did multiple +keen:strandio was treated as
if just the last call existed, overwritten previous entries in the map.

Now we track remote scries using a jug that accounts for multiple %keen
tasks per thread.

The logic for sending %yawns to %ames has been updated for the following
scenarios:

- +thread-fail will always send a %yawn task
- +thread-done doesn't send %yawn tasks
  - unless a running thread is stopped
- if %spider is reloaded:
  - %yawn tasks will be sent for any running or starting thread

/lib/strandio also removes +take-tune from +keen,  decoupling
sending %tasks and receiving %signs. This allows for clients
to request multiple paths at future cases, without blocking.
2023-04-27 13:55:06 +02:00
yosoyubik
b98b71e368 Merge branch 'i/6504/spider' into i/6504/fine-next-steps 2023-04-27 06:50:59 +02:00
Jonathan Paprocki
45431dbc89 hoon: remove +lien
its not actually being used anywhere, i just wrote it to balance out
having a "hoon without docs" arm. but i guess this just adds needless bloat
2023-04-26 22:03:04 -04:00
Joe Bryan
bbe14ce747 arvo: fix %gall meta-namespace reads (missed in merge) 2023-04-26 20:28:32 -04:00
~wicrum-wicrun
6715f5eb37 gall: track outstanding %keens and send %yawn on nuke 2023-04-27 00:36:54 +02:00
Hunter Miller
06af50a9b9 eyre: fixing errant whitespace 2023-04-26 17:00:46 +03:00
Hunter Miller
215a35640c eyre: if logged in and accessing login page, redirect 2023-04-26 17:00:46 +03:00
yosoyubik
cbbd6d2c58 strandio,-keen: use (fixed) take-tune 2023-04-26 09:50:23 +02:00
Jonathan Paprocki
f6c780a7e7 hoon: second hoon for =* has docs
the issue with compiling not working is with doccords on the deferred
expression, not everything that follows (which would turn off doccords
for anything past =*)
2023-04-26 01:13:24 -04:00
Jonathan Paprocki
971db7effe doccords: parsing off for =*, +*
see #6307

this turns doccord parsing off for =* and +*, which was not intended to
be allowed for the first release, but it ended up not compiling if
postfix doccords were put on either of these.

the right way to fix this is to actually implement doccord parsing for
=* and +*, but at least turning them off seems to fix the compile error here.
2023-04-25 15:42:08 -04:00
Jonathan Paprocki
94ba944188 hoon: add doc parsing flag to +vang
+vang is for setting +vast params, but was missing the parameter for
doc. this adds it and changes the callsites to vang around %base to
reflect this
2023-04-25 14:59:15 -04:00
~wicrum-wicrun
9b636eb188
Merge pull request #6399 from urbit/next/kelvin/413
413k
2023-04-25 17:46:31 +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
517df2aebd ames: fix fine error printf 2023-04-25 10:14:42 -04:00
Joe Bryan
fa3ad0117f arvo: decrements kelvin 2023-04-25 09:29:32 -04:00
yosoyubik
c79ef21893 clay: remove scrying sigpam 2023-04-25 05:31:03 +02:00
Joe Bryan
80a9dc91e2 test: fixes gall nonce scry 2023-04-24 16:39:15 -04:00
Joe Bryan
5dfc8e3c5d arvo: restructures |mass, switches to %x //whey 2023-04-24 16:21:41 -04:00
~wicrum-wicrun
05304146a7 gall,eyre,dojo,azimuth,dbug: gall claims the [%$ *] namespace 2023-04-24 21:53:52 +02: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
2bca6fd3e1 ted/keen: use $spar 2023-04-24 19:10:05 +02:00
~wicrum-wicrun
673803fe0b ames: use $spar 2023-04-24 19:10:05 +02: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
Joe Bryan
393457fcc6 clay: remove more dead %warp-index code
building on c2f7f75492
2023-04-24 13:07:41 -04:00
Joe Bryan
c1f80e2865 clay: remove stack traces, blank lines 2023-04-24 13:07:40 -04:00
yosoyubik
66a7b7b1c2 ames: make fi-send take a blob 2023-04-24 18:54:36 +02:00
yosoyubik
d43e684bae ames: rename @uxmeow as $yowl 2023-04-24 18:54:36 +02:00
Joe Bryan
8f43d9674d ames: removes stale comments, dead code 2023-04-24 12:53:29 -04:00
Joe Bryan
cf8a887b80 arvo: rebinds and uses $omen 2023-04-24 12:52:33 -04:00
Joe Bryan
2ece07f096 ames: %fine requests are always for public data 2023-04-24 12:36:53 -04:00
yosoyubik
5d575212bf ames: fix -keen thread 2023-04-24 18:28:44 +02:00
pkova
5868c29c3b eyre: combine unreleased loads for ~2023.4.19 and ~2023.4.11 2023-04-24 18:54:22 +03:00
yosoyubik
714d0b13f1 ames: remove sigpam 2023-04-24 17:00:41 +02:00
~wicrum-wicrun
641326ad36 ames,lull: remove .siz from $meow 2023-04-24 16:23:09 +02:00
pkova
3792ba5cc7 Merge branch 'next/kelvin/413' of https://github.com/urbit/urbit into pkova/fix-eyre-clog 2023-04-24 13:43:36 +03:00
pkova
a1fd3a6792 lull, eyre: actually send events on clogged channel reconnect 2023-04-24 13:38:14 +03:00
yosoyubik
bf0a4a3327 ames: fix upgrade from state 4&5 2023-04-24 11:44:24 +02:00
yosoyubik
fc22926ed6 tests: fix rift/life in ames/fine tests 2023-04-23 09:40:57 +02: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
6e793dfe39 Merge branch 'develop' into next/kelvin/413 2023-04-22 14:33:01 -04:00
yosoyubik
599eb6231b ames: rename etch-keen to etch-wail 2023-04-22 20:26:08 +02:00
Ted Blackman
c2f7f75492 clay: remove dead %warp-index scry codepath 2023-04-22 14:24:12 -04:00
Ted Blackman
8f0c0c04fd clay: fix state-12 upgrade 2023-04-22 13:24:15 -04:00
Ted Blackman
f3655a8662 ames: re-enable life&rift check on fine requests 2023-04-22 11:30:17 -04:00
Ted Blackman
8ba7b3ae95 clay: $+ more types in +load 2023-04-22 10:47:33 -04:00
yosoyubik
5bbd727f18 Merge branch 'develop' into i/5788/remote-scry 2023-04-22 16:07:44 +02:00
yosoyubik
64a1680e2c ames: don't crash if waking up on a strange wire
This was a regression introduced in 8e54f7fcc3
the previous behavior was not to crash so we
restore it here
2023-04-22 13:47:15 +02:00
yosoyubik
d259656e29 lull: clean up remote scry namespace missmatches
(note: first pass, subject to change)
2023-04-22 10:57:49 +02:00
silnem2
d363f01080 kiln: add +poke-suspend-many and rewrite +poke-suspend 2023-04-21 15:12:38 -06:00
yosoyubik
2bcfd7599a ames: fix %fine tests to account for updated %tune 2023-04-21 17:54:01 +02:00
silnem2
dbc40b3959 gen: rewrite |suspend to use %kiln-suspend-many mark 2023-04-21 09:02:39 -06: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
15279e5267 arvo: add jet hints for profiling 2023-04-20 22:38:31 -04:00
Joe Bryan
a9267bb493 clay: label old state structures 2023-04-20 22:38:31 -04:00
Joe Bryan
013aee8dfd clay: add casts to +stay 2023-04-20 22:38:10 -04:00
Ted Blackman
bac96d751e clay: fix state version number 2023-04-20 22:36:03 -04:00
~wicrum-wicrun
6746687ade ames: print fine errors instead of propagating 2023-04-20 22:32:16 +02:00
~wicrum-wicrun
b92e4c4238 ames: get dat from etched body 2023-04-20 18:52:01 +02:00
~wicrum-wicrun
953e6f5861 ames: set signature in fine requests to all zeroes 2023-04-20 18:12:29 +02:00
silnem2
9b8ea6bc8c gen: rewrite +vat and add deprecation notice 2023-04-20 03:37:48 -06:00
yosoyubik
3fb596a8d3 dbug: update for latest remote scry state 2023-04-20 09:54:36 +02:00
silnem2
ccc23b3552
Merge branch 'urbit:develop' into vats-again 2023-04-19 21:28:19 -06:00
Ted Blackman
5661bfed74
Merge pull request #6467 from urbit/dr/clean-up-test-thread
ted/test.hoon: repair vestigial select-by-prefix feature
2023-04-19 11:35:58 -04:00
yosoyubik
bee09fe5e1 ames: in %larva +load always set cached-state 2023-04-19 16:23:01 +02:00
yosoyubik
873de61269 ames: give %miss to all listeners on %keen cancel
%spider will send a %yawn task to ames if a thread fails
or stops. if the thread is done, it will delete the scry
from its state without notifying %ames
2023-04-19 11:03:11 +02:00
Joe Bryan
51effc6be9 ames: add (disabled) rift/life verification 2023-04-19 00:50:13 -04:00
Joe Bryan
846276f85a ames: refactors $sign and $note 2023-04-19 00:50:13 -04:00
Joe Bryan
80a1cf626c ames: cleanup comments/whitespace 2023-04-18 10:34:47 -04:00
Joe Bryan
6a2c8a7635 dbug: cleanup comments, remove unused +orm 2023-04-18 10:34:34 -04:00
Joe Bryan
33ffd5136c base: removes userspace lib/deq (also in %lull) 2023-04-18 10:28:51 -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
e0c0470a6e tests: fix %fine response signature validation 2023-04-18 09:12:35 +02:00
yosoyubik
5c838a42a7 ames: use fi-emit for %fine gifts 2023-04-18 05:31:23 +02:00
Joe Bryan
790a0de292 ames: fix move clobbering in +fi-done 2023-04-17 18:29:44 -04:00
Joe Bryan
2cb0a06976 ames: fix build, bypassing alias 2023-04-17 16:08:01 -04:00
yosoyubik
03b3d0b3f4 tests: fix /tests/sys/fine 2023-04-17 16:41:53 +02:00
yosoyubik
296815e097 ames: remove keen-id from remote scry state
TODO: udpate /~debug frontend
2023-04-17 16:22:57 +02:00
yosoyubik
c062d7c2b0 ames: handle error for hearing fine responses
WIP the error is not propagated to the listeners (TODO error gift?)
2023-04-17 15:06:28 +02:00
yosoyubik
eee2b1aabf gen: fix -pine 2023-04-17 14:24:21 +02:00
yosoyubik
0987cddd7e ames: add /fine/ducts/[path] scry endpoint 2023-04-17 14:22:20 +02:00
yosoyubik
1d91bb5e33 ames: first pass a %fine unit tests 2023-04-17 14:15:35 +02:00
Ted Blackman
9ce37f0d71
Merge pull request #6483 from urbit/pkova/fix-ames-load
ames: properly migrate old %snub tasks
2023-04-14 14:20:22 -04:00
Josh Lehman
1d1a81b90e
Merge pull request #6471 from urbit/pkova/fix-eyre-unacked
eyre: do not clear unacked events in +on-get-request
2023-04-14 11:14:29 -07:00
pkova
24f7f3549f ames: properly migrate old %snub tasks 2023-04-14 20:41:57 +03:00
yosoyubik
69a5c5e6df ames: factor out is-corked logic into a gate 2023-04-14 09:12:16 +02:00
Ted Blackman
f3d2df087a
Merge pull request #6463 from ashelkovnykov/json-new
zuse: changes in preparation for JSON jets
2023-04-13 11:58:55 -04:00
Joe Bryan
f8305dee4b Merge branch 'develop' into next/kelvin/413 2023-04-13 11:21:18 -04:00
silnem2
f2880ecc91 gen: rewrite +vats and add optional list of desks 2023-04-13 09:15:03 -06:00
silnem2
6a0f66b836 kiln: update +poke-suspend to use a list of desks 2023-04-13 08:40:14 -06:00
silnem2
36fb1303d3 gen: update |suspend to take a list of desks 2023-04-13 08:39:28 -06:00
silnem2
9cc1bec92d gen: remove +vat 2023-04-13 08:38:29 -06:00
yosoyubik
898ed99863 ames: no-op on naxplanation acks for corked bones 2023-04-13 08:53:01 +02:00
fang
171142fd31
eyre: use jam mime type for PUT mode detection
Making this consistent with the mime type used for GET requests.
2023-04-12 19:19:13 +02:00
fang
d32527ba19
eyre: further refactor +load logic
Co-authored by: joemfb <joemfb@gmail.com>
2023-04-12 18:53:44 +02:00
fang
132299f278
eyre, mar: use x-urb-jam mime type for jams 2023-04-12 18:42:35 +02:00
pkova
fa40fd7f35 eyre: do not clear unacked events in +on-get-request 2023-04-12 19:36:26 +03:00
~wicrum-wicrun
97c8e3833d ames: emit %miss on failed signature verification 2023-04-12 15:04:59 +02:00
yosoyubik
4c2bc332e0 Merge branch 'develop' into i/6451/reset-naxplanations 2023-04-12 06:49:57 +02:00
Alex Shelkovnykov
30044fbc1e Add jet hints 2023-04-11 14:59:15 -06:00
Alex Shelkovnykov
e61d84d57b Replace +en:json:html code with cord version
Encode JSON to cord instead of tape. Code copied from @joemfb 's
version.
2023-04-11 14:59:15 -06:00
Alex Shelkovnykov
ac1a0ffdee Change JSON parser arms to match |base16:html 2023-04-11 14:59:15 -06:00
Alex Shelkovnykov
28ed583d29 Fix bug in .en-json:html (missing escaped char)
The backspace character was not being escaped like other invisible
characters.
2023-04-11 14:59:15 -06:00
Alex Shelkovnykov
3537ef56c3 Fix JSON parser decoding for UTF8
JSON supports Unicode as both UTF8 sequences and escaped UTF16. UTF8 is
encoded as between 2 and 4 bytes, the first byte of which governs the
length. The JSON parser was previously accepting any non-ASCII bytes as
UTF8 in any order.

See:
- https://www.crockford.com/mckeeman.html
- https://www.json.org/json-en.html
- https://en.wikipedia.org/wiki/UTF-8#Encoding
2023-04-11 14:59:15 -06:00
Alex Shelkovnykov
1472dadf4d Add validation functions for UTF8 2023-04-11 14:59:15 -06:00
Alex Shelkovnykov
3d93e9f527 Fix JSON parser decoding for escaped unicode
JSON supports Unicode as both UTF8 sequences and escaped UTF16. Unicode
points U+10000 to U+10FFFF are encoded as two consecutive escaped UTF16
units known as a surrogate pair. The JSON decoder was previously
treating surrogate pairs as two individual escaped UTF16 units. In
addition, the JSON standard allows hexadecimal letters to be either
uppercase or lowercase, which the parser was not respecting.

See:
- https://www.crockford.com/mckeeman.html
- https://www.json.org/json-en.html
- https://en.wikipedia.org/wiki/UTF-16#Code_points_from_U+010000_to_U+10FFFF

Git issue: #1776
2023-04-11 14:59:15 -06:00
Alex Shelkovnykov
e4ddd6994c Fix JSON parser decoding for ASCII in strings
The JSON standard rejects all un-escaped, un-printable characters EXCEPT
for the delete character (ID 127, i.e. 0x7F).

See: https://www.crockford.com/mckeeman.html
Via: https://www.json.org/json-en.html
2023-04-11 14:59:15 -06:00
Alex Shelkovnykov
2580dfbce3 Fix JSON parser decoding for numbers
\#1775
2023-04-11 14:59:15 -06:00
dr-frmr
0f4be5245e
ted/test.hoon: repair vestigial select-by-prefix feature 2023-04-11 15:55:13 -04:00
fang
4b68139c40
Merge branch 'next/kelvin/413' into x/json-bgon 2023-04-11 21:54:43 +02:00
Ted Blackman
365a1d5af9
Merge pull request #6447 from urbit/jb/drip-hurl
behn: propagate errors in deferred moves
2023-04-11 11:28:20 -04:00
yosoyubik
4840b2aed2 ames: simplify reset timer 2023-04-11 14:24:05 +02:00
yosoyubik
48a60d602c ames: reset timer for naxplanation on corked bones 2023-04-09 08:13:21 +02:00
yosoyubik
98a5ab9035 ames: fix handling of fine tasks for aliens 2023-04-08 06:34:10 +02:00
yosoyubik
538b0e920e Merge branch 'develop' into i/5788/remote-scry 2023-04-07 19:24:08 +02:00
yosoyubik
8744b1f4db ames: revert min tro to ~m2 2023-04-07 19:10:26 +02:00
Josh Lehman
af3ad860e7
Merge pull request #6454 from urbit/ted/arvo-bout
arvo: print module compilation times
2023-04-07 08:38:08 -07:00
Ted Blackman
b273f3091b arvo: print module compilation times 2023-04-06 23:52:53 -04:00
Joe Bryan
d2eda084ac
Merge branch 'develop' into ted/ames-ping-2 2023-04-06 15:07:38 -04:00
Ted Blackman
eddbe86d69 ames: fix syntax error 2023-04-06 11:58:34 -04:00
yosoyubik
ad69bc5e50 aqua: make compile for remote scry
(note: untested)
2023-04-06 16:28:18 +02:00
fang
e300fa2d6b
dill: exclude wrapped-task from most +call traces
Instead of including wrapped-task as-is in most call traces, we now only
include it in traces for crashing (harden task) calls. For everything
else, we include only the tag of the resulting $task.

Closes #6444.
2023-04-06 15:58:12 +02:00
yosoyubik
cf10ab4cc1 ames: fix +stale-flows 2023-04-06 14:17:02 +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
yosoyubik
9f45741a9a ames: use +update-qos:pe in fine core 2023-04-06 13:44:45 +02:00
yosoyubik
1c2b7667b1 ames: use |fi for remote scry |fine core 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
645f5e473a gall: only %x, %t and %z reserve [%$ *], for backwards compatibility 2023-04-05 20:51:04 +02:00
Ted Blackman
056ff35b89 app/ping: lower timeout to ~s25 2023-04-05 12:04:14 -04:00
Ted Blackman
66678acd3e ames: ping faster to sponsors 2023-04-05 11:59:06 -04:00
~wicrum-wicrun
db2ac2fa65 ames: update gall scries to use %x instead of %a 2023-04-05 16:23:38 +02:00
~wicrum-wicrun
447bfea9f8 lull: remove duplicate mop arms after merge 2023-04-05 16:23:12 +02:00
~wicrum-wicrun
f0cc9c34cd Merge branch 'ted/gall-user-scry' into i/5788/remote-scry 2023-04-05 15:00:24 +02:00
~wicrum-wicrun
93c1497431 gall: claim the [%$ *] namespace and relinquish the rest 2023-04-05 14:59:59 +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
8cd29cb8e7 gall: block when scrying into the future 2023-04-05 14:59:59 +02:00
~wicrum-wicrun
cf6bbb87a0 gall: smear @da if binding to a path earlier than its latest binding 2023-04-05 14:59:59 +02:00
~wicrum-wicrun
4b82b7b8d3 gall: return a cage instead of a cage of a page at %a scry 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
e6bd652366 gall: support %a scry at any date 2023-04-05 14:59:59 +02:00
~wicrum-wicrun
93afa55167 gall: store date with each scry binding 2023-04-05 14:59:59 +02:00
~wicrum-wicrun
94a4eca649 gall: support %t scry 2023-04-05 14:59:59 +02:00
~wicrum-wicrun
8544c571bf gall: support %z scry 2023-04-05 14:59:59 +02:00
~wicrum-wicrun
e8ae1ae86f gall: save highwater mark when nuking 2023-04-05 14:59:59 +02:00
~wicrum-wicrun
9c560ece05 block when appropriate on %w scry 2023-04-05 14:59:59 +02:00
~wicrum-wicrun
9659e1c16b gall: block at %a scry if date isn't now 2023-04-05 14:59:58 +02:00
~wicrum-wicrun
ad7cf21d01 gall,lull: don't include $case in %grow 2023-04-05 14:59:58 +02:00
~wicrum-wicrun
42b5615f65 gall: simplify $neet definition 2023-04-05 14:59:58 +02:00
~wicrum-wicrun
7137f0de03 gall: implement %w scry 2023-04-05 14:59:58 +02:00
~wicrum-wicrun
e4ceed09ad gall: enforce monotonic growth of cases 2023-04-05 14:59:58 +02:00
~wicrum-wicrun
f0043aa4ec gall: support %a scries at the current time 2023-04-05 14:59:58 +02:00
Ted Blackman
31a2697260 gall: undo indent 2023-04-05 14:59:58 +02:00
Ted Blackman
e9e803b346 gall: add +trace to scry binding handlers 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
98f3e682bd gall: remove unused helpers 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
fc14b21815 gall: store scry paths in a +mop, not +map 2023-04-05 14:59:58 +02:00
Ted Blackman
b798ba2320 gall: +mo-cull compiles 2023-04-05 14:59:58 +02:00
Ted Blackman
3e6f4ed44a gall: check high-water mark 2023-04-05 14:59:58 +02:00
Ted Blackman
541f4725ae gall: +mo-tomb compiles 2023-04-05 14:59:58 +02:00
Ted Blackman
1aa7b8105d lull,gall: %grow compiles 2023-04-05 14:59:58 +02:00
~wicrum-wicrun
dec1bbbaff lib/test: use new scry format in +gall-scry-nonce 2023-04-05 14:34:42 +02:00
~wicrum-wicrun
78c9df828d gall: claim the [%$ *] namespace and relinquish the rest 2023-04-05 13:51:15 +02:00
~wicrum-wicrun
fb59992a50 Revert "gall: add permissions to scry paths"
This reverts commit 6e542d4afe.
2023-04-05 12:41:44 +02:00
yosoyubik
d137d78465 ames: remove |fi core
The entry point arms of |fi are moved to the |pe core and
|ke is now called directly so we avoid doing e.g. abed:ke:fi:peer
2023-04-05 10:27:47 +02:00
~wicrum-wicrun
6e542d4afe gall: add permissions to scry paths 2023-04-04 21:37:43 +02:00
Joe Bryan
b6194711c3 behn: hurl errors on %drip %crud 2023-04-04 15:07:27 -04:00
Joe Bryan
9ae28a985c clay: %pass %drip with context, expect and handle errors in +take 2023-04-04 15:06:51 -04:00
yosoyubik
08170068b0 ames: send a nack if there is not case for %pine
If the publisher can't produce a case for a given path,
it nacks the plea sent by the requester, that will then
produce a %miss to the vane that initiated the scry
2023-04-04 15:00:08 +02:00
yosoyubik
2691d02d28 spider: check thread cards to track remote scries 2023-04-04 14:44:36 +02:00
yosoyubik
d7df6bcce3 ames: fix pattern match check when sinking a %pine 2023-04-04 10:59:28 +02:00
midden-fabler
d8ad34f0fc update scry path listing 2023-04-04 03:06:22 -04:00
midden-fabler
bacbfd71ac add last-contact scry endpoint 2023-04-04 02:50:09 -04:00
yosoyubik
06a1f9aa27 ames: refactor unused on-pine flow for publishers 2023-04-04 08:28:43 +02:00
~wicrum-wicrun
c4d00e0073 gall: block when scrying into the future 2023-04-03 21:18:27 +02:00
~wicrum-wicrun
86df8f28f2 gall: smear @da if binding to a path earlier than its latest binding 2023-04-03 21:17:00 +02:00
~wicrum-wicrun
0aeed743af gall: return a cage instead of a cage of a page at %a scry 2023-04-03 20:21:31 +02:00
Ted Blackman
90970469d0
Merge pull request #6427 from playfulpachyderm/i/6426/expand-new-desk
arvo: add more files to |new-desk generator
2023-04-03 12:09:26 -04:00
~wicrum-wicrun
f46ec4d37b lull,gall: store $page instead of $noun in scry bindings 2023-04-03 16:10:57 +02:00
~wicrum-wicrun
13b6c2cdba lull,gall: add scry bindings to bowl 2023-04-03 15:39:11 +02:00
~wicrum-wicrun
14a7f863ed lull,zuse: move +mop to lull 2023-04-03 15:38:43 +02:00
yosoyubik
920c208a60 ames: fix on-pine 2023-04-03 12:48:16 +02:00
yosoyubik
dbac58827e spider: clean up remote scries on thread-done 2023-04-03 09:40:56 +02:00
yosoyubik
6c06fa16fa spider: support tracking/canceling scry requests
(%spider only tracks scry requests started by the -keen thread)
2023-04-03 09:18:51 +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
~wicrum-wicrun
2b7245ddf3 gall: support %a scry at any date 2023-03-31 15:37:24 +02:00
~wicrum-wicrun
5d91b0bb0a gall: store date with each scry binding 2023-03-31 14:35:20 +02:00
yosoyubik
8387a28bd2 ames: use %$ to handle /pine pleas
Sending a %pine plea to an old publisher will result in
a crash because it:
- (pre remote-scry) handles only %cork pleas with %$ as the vane
- (pre GRQF) it doesn't handle %$ as the recipient vane
2023-03-31 11:37:05 +02:00
~wicrum-wicrun
8553108c9e gall: support %t scry 2023-03-31 00:20:22 +02:00
yosoyubik
80f01d06c5 dbug: return scry component
WIP this adds the minimal things we have in the scry-state of a peer.
Will revisit later on to present (more) information in a different way
2023-03-30 14:21:05 +02:00
~wicrum-wicrun
8f4a8e597f gall: support %z scry 2023-03-30 13:41:40 +02:00
yosoyubik
ece5393829 ames: add -pine thread 2023-03-30 13:39:44 +02:00
yosoyubik
27c83ea067 dbug: first pass at adding outgoing scries
(note: the frontend side is still WIP)
2023-03-30 11:49:21 +02:00
~wicrum-wicrun
6524e85d0c gall: save highwater mark when nuking 2023-03-29 20:28:36 +02:00
Alessio
38ace43ca0 arvo: change |new-desk to be minimal by default 2023-03-29 14:20:23 -03:00
Josh Lehman
fab329799f
Merge branch 'develop' into i/6297/vats 2023-03-29 08:43:07 -07:00
~wicrum-wicrun
4084fe0e5c block when appropriate on %w scry 2023-03-29 17:18:43 +02:00
~wicrum-wicrun
d8f5e53185 gall: block at %a scry if date isn't now 2023-03-29 16:15:00 +02:00
~wicrum-wicrun
d77d1ce615 gall,lull: don't include $case in %grow 2023-03-29 13:53:25 +02:00
~wicrum-wicrun
165ad4c2f7 gall: simplify $neet definition 2023-03-29 12:52:12 +02:00
lukechampine
e0ff3b4d5f eyre: add cache 2023-03-28 17:01:31 -04:00
~wicrum-wicrun
b1fd1fbab1 gall: implement %w scry 2023-03-28 21:45:14 +02:00
~wicrum-wicrun
fe6b675a6d gall: enforce monotonic growth of cases 2023-03-28 20:27:27 +02:00
~wicrum-wicrun
e7e7706c33 gall: support %a scries at the current time 2023-03-28 18:34:35 +02: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
yosoyubik
8cc9433f57 ames: use sys.kelvin as default in |keen 2023-03-28 13:43:15 +02:00
yosoyubik
8e54f7fcc3 ames: fix parsing fine timer wire 2023-03-28 13:40:10 +02:00
yosoyubik
f34e472bdd ames: fix faulty +abed, one more time 2023-03-28 12:35:23 +02:00
James D. Amberger
821f99a351 hood: options for +vats generator
This commit refactors `sur/hood.hoon` and changes the signature of the
`+vats` generator thus:

```hoon
|=  $:  [now=@da eny=@uvJ bec=beak]
        $@(~ [?(%suspended %running %blocking %nonexistent) ~])
        $:  verb=?
            show-suspended=?
            show-running=?
            show-blocking=?
            show-nonexistent=?
        ==
    ==
```

Called with a single positional argument, `+vats` will show only those
desks fitting the description given, while keyword parameters allow
finer-grained control over which desks are described. The `verb`
parameter determines whether the full load of desk information be shown,
or a subset thereof.

Resolves #6297.
2023-03-27 23:09:41 -04:00
Alessio
00b7ace08d arvo: add more files to |new-desk generator 2023-03-27 23:58:19 -03:00
yosoyubik
c9124e9fd0 ames: fix faulty bunted state in +abed 2023-03-25 16:58:03 +01:00
Pyry Kovanen
6d80191aef
Merge pull request #6417 from urbit/release/urbit-os-v2.136
Merge urbit-os-v2.136-rc2 back to develop
2023-03-24 21:51:17 +02: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
Philip Monk
89500460f7 clay: stop failed kelvin upgrades from retrying immediately
We were retrying failed kelvin upgrades as many times as we had apps
that needed to be suspended, because suspending an app triggers an
attempt to run the next kelvin upgrade.  This suspends all those apps in
one batch move, and then tries the next kelvin upgrade only once at the
end.

Fixes #6407

Partially addresses #6285
2023-03-24 18:19:48 +02:00
yosoyubik
140e5d2b5f ames: reorder |keen arms 2023-03-24 13:59:29 +01:00
yosoyubik
3269192b29 ames: remove mu/mi-trace 2023-03-24 12:44:20 +01:00
yosoyubik
ce02fecc41 ames: use +abed properly for |mi and |mu 2023-03-24 12:14:31 +01:00
~wicrum-wicrun
d76057cac7 ames: handle remote scry requests for gall data 2023-03-23 18:51:19 +01:00
Josh Lehman
2e5af921bb
Merge branch 'next/kelvin/413' into x/json-bgon 2023-03-23 08:35:57 -07:00
yosoyubik
439184fa7c ames: add +abed arms to peer-core 2023-03-23 12:54:22 +01:00
yosoyubik
d214fad1bd Revert "ames: make +abet pure"
This is stil a WIP and has not been tested so reverting commit
e4182f52a9.
2023-03-23 10:41:56 +01:00
yosoyubik
3c158b2491 ames: move etch-hunk out of the fine core 2023-03-23 10:19:54 +01:00
yosoyubik
8b0bd25a45 ames: rename keen-core -> ke 2023-03-23 06:45:14 +01:00
~wicrum-wicrun
f297762ab9 clay (and everything else) compiles 2023-03-22 23:24:55 +01:00
yosoyubik
2545e05c7a lull: implement +wyt for getting the size of a |deq 2023-03-22 12:26:50 +01:00
Ted Blackman
9772114f6f wip clay somewhat closer to compiling, but fails on hit.dom 2023-03-21 17:33:50 -06:00
Ted Blackman
03b3f75ae1 clay: dome->domo, compilation still fails though 2023-03-21 14:59:34 -06:00
Joe Bryan
817125ba51 ames: fix up merge resolutions (compiles!) 2023-03-21 13:38:59 -04:00
yosoyubik
dd0f35c8ad Merge branch 'm/contdist-and-behn' into i/5788/remote-scry 2023-03-21 18:01:17 +01:00
Josh Lehman
5506236311
Merge branch 'develop' into pill-lists 2023-03-20 08:24:31 -07:00
yosoyubik
e4182f52a9 ames: make +abet pure 2023-03-20 09:19:27 +01:00
Ted Blackman
69e0eac709 lull,zuse,sys.kelvin: zuse 413, lull 324 2023-03-19 16:25:23 -06:00
Ted Blackman
4e5c73c826 hoon: fix merge conflict 2023-03-19 16:25:23 -06:00
yosoyubik
1144fb3f28 ames: use the %rcv flag when hearing a packet 2023-03-18 19:16:10 +01:00
yosoyubik
d645fcc862 ames: always ack %hear tasks on corked bones 2023-03-18 19:06:16 +01:00
silnem2
978e0eb2bd revert /sys filter in aqua 2023-03-17 12:00:13 -06:00
yosoyubik
80914289b2 ames: fix %snub queued evet update 2023-03-17 18:51:27 +01:00
Ted Blackman
3622c5f33e
Merge branch 'next/kelvin/413' into m/typed-paths 2023-03-17 12:07:39 -04:00
yosoyubik
003613d1d5 Merge branch 'develop' into yu/ames-snub-whitelist 2023-03-17 14:05:38 +01:00
silnem2
904c40719e fix aqua style and add return type annotation to lib/pill 2023-03-17 03:18:33 -06:00
silnem2
a01aaa531d Update aqua fix to filter /sys 2023-03-16 18:29:12 -06:00
fang
e11ac8a1c8 eyre: deduce channel mode from headers, not url 2023-03-16 14:32:02 -06:00
fang
10fe204c9e eyre: add support for noun-based channels
Adds a "mode" to channels, which can be set to either %json (current
behavior) or %jam. For %jam channels, aside from the SSE framing, all
communication happens through @uw-encoded jammed nouns. This applies to
both outgoing channel events, as well as incoming channel requests.

We choose @uw-style encoding because raw bytestreams are fragile and
cannot work inside the SSE stream context.

Currently, a separate endpoint (/~/channel-jam/etc) is used to indicate
%jam as the desired mode for a channel. We will probably want to make
this a bit cleaner, not least because it's not currently implemented as
a formal standalone endpoint, but also to give it stronger aesthetic
equivalence with the existing channel endpoint. Putting the mode in the
file extension is a tempting option here, but semantically not quite
right.

Connecting to the same channel across multiple modes is currently
supported, but it's untested, and unclear whether this is desirable or
not.
2023-03-16 14:31:45 -06:00
silnem2
102bfb5571 remove trailing whitespace 2023-03-16 12:00:48 -06:00
silnem2
13ce5754fe Clean up lib/pill and fix %aqua 2023-03-16 11:49:29 -06:00
Ted Blackman
5c9a8de749 gall: undo indent 2023-03-16 10:56:52 -06:00
Ted Blackman
e62dc18a35 gall: add +trace to scry binding handlers 2023-03-16 10:48:46 -06:00
Ted Blackman
cd6d4c2f57 gall: handle scry moves locally 2023-03-16 10:24:25 -06:00
tadad
328a3d687d
Merge branch 'develop' into i/6303/eyre-verbose 2023-03-16 09:36:27 -06:00
Josh Lehman
dbe6f7fd20
Merge branch 'develop' into i/6264/ames-snub-whitelist 2023-03-16 08:30:57 -07:00
yosoyubik
02f01cf14c Merge branch 'develop' into i/6103/ames-refactor 2023-03-16 09:27:22 +01:00
Ted Blackman
61b3545682
Merge pull request #6382 from urbit/i/6242/kiln-fix-uninstall
kiln: fix uninstall
2023-03-15 16:58:43 -04:00
Ted Blackman
d81fc6e519
Merge pull request #6373 from urbit/m/dumb-apes
hoon: in +ape:ag, make zero a plain atom
2023-03-15 15:00:30 -04:00
silnem2
d3e788148c
Merge branch 'urbit:develop' into pill-lists 2023-03-15 12:10:51 -06:00
silnem2
877a00baf8 lib/gen: update pill lib/gens not to use whitelist 2023-03-15 11:43:10 -06:00
dachus
0286ca7b5b dome:clay => domo, moved to lull, full scry enabled 2023-03-15 08:35:59 -04:00
dachus
540a4948ca flue added to cone 2023-03-15 08:35:58 -04:00
dachus
9c2c128b69 and moved to lull 2023-03-15 08:35:58 -04:00
pkova
ce4da6db65 lull: burn kelvin 326 -> 325 2023-03-15 08:35:58 -04:00
pkova
d9c9b4150b lull, eyre: remove scry adapters for /~/name endpoint 2023-03-15 08:35:58 -04:00
pkova
2874c09e30 zuse: burn kelvin 415 -> 414 2023-03-15 08:35:58 -04:00
yosoyubik
3654431f3a ames: sanity check abetting the sink core 2023-03-15 10:35:08 +01:00
Ted Blackman
3565251472 gall: remove unused helpers 2023-03-14 15:31:01 -06:00
Ted Blackman
3ba5adfffd
Merge pull request #6383 from urbit/i/6371/no-op-if-corked
ames: no-op if bone has been corked on the sender
2023-03-13 11:59:13 -04:00
John Hyde
aa6d6b1a42 hoon: fix style issues and update solid pill 2023-03-12 14:03:33 -07:00
yosoyubik
943690f8ee ames: remove unused %krocs and %corks logic
%krocs is still in peer-state, in lull.hoon and can be removed
next time ames-state is updated, same as for %corks (only in ames-state)
2023-03-12 13:47:40 +01:00
yosoyubik
86bad20baf ames: no-op if bone has been corked on the sender 2023-03-12 10:05:33 +01:00
yosoyubik
c1974b30b2 ames: clean up clogged conditional 2023-03-12 09:59:11 +01:00
yosoyubik
2724523a26 Merge branch 'develop' into i/6103/ames-refactor 2023-03-12 09:46:44 +01:00
yosoyubik
34f9a49b73 ames: log pleas for corked bones 2023-03-12 09:45:33 +01:00
yosoyubik
707cbd63ab ames: always ack recork pleas 2023-03-12 09:36:51 +01:00
yosoyubik
f58fcfd41d ames: no-op if bone has been corked on the sender 2023-03-12 08:47:44 +01:00
Ted Blackman
bbb693246e lull,gall: switch to per-agent scry bindings 2023-03-11 18:35:55 -06:00
Ted Blackman
234d450125 gall: store scry paths in a +mop, not +map 2023-03-11 17:25:11 -06:00
Ted Blackman
d361a27781 gall: +mo-cull compiles 2023-03-11 17:11:25 -06:00
Ted Blackman
8b1fd38fe1 gall: check high-water mark 2023-03-11 17:05:53 -06:00
Ted Blackman
57108b85d7 gall: +mo-tomb compiles 2023-03-11 17:01:14 -06:00
Ted Blackman
3ba3c09cc7 lull,gall: %grow compiles 2023-03-11 16:50:51 -06:00
Marcus
df233c1acd kiln: fix uninstall 2023-03-10 14:22:09 -03:00
John Hyde
50b6153119 hoon: make sane more memory-efficient 2023-03-09 03:07:29 -06:00
John Hyde
05726833ba hoon: make sane sane 2023-03-08 17:43:31 -06:00
fang
6f6fee2b89
hoon: in +ape, make zero a plain atom
In the `+ape` parser constructor, we were providing `0` as the parsing result
for the zero character. Hoon syntax dictates this is a `@ud` however,
resulting in a parsing output type of `?(@ud etc)`. Since `+ape` is commonly
used for parsing atoms of various kinds, one might end up with a result
of `?(@ud @)`, which would fail to nest directly under, say, `@uv`, requiring
parsers to add a casting step.

Here, we simply cast the zero result to `@` to make it perfectly generic. This
should alleviate the need for a casting step in parsers that need to fit their
output into a specific aura.

(The output type in the common case (ie, `+hex:ag`, `+viz:ag`) is now `?(@ @)`,
which is still somewhat strange, but should have better ergonomics.)

Since `@` can be used in any place `@ud` is accepted, this is a non-breaking
change.
2023-03-04 18:02:33 +01:00
Josh Lehman
3177067d96
Merge branch 'develop' into i/6264/ames-snub-whitelist 2023-03-03 09:54:35 -08:00
Josh Lehman
8ddc15a001
Revert "hood: recursive |tomb" 2023-03-03 08:52:17 -08:00
Ted Blackman
59e2d9318e
Merge pull request #6364 from urbit/i/6363/ack-recork
ames: always ack recork pleas
2023-03-03 11:32:56 -05:00
Marcus
3b91a3f0be ames: snubbed scry and whitelist 2023-03-02 18:21:36 -03:00
Ted Blackman
1bd6f99382
Merge pull request #6353 from ashelkovnykov/eval-ted
ted: add mark to use eval thread via khan
2023-03-02 11:04:28 -05:00
yosoyubik
219dea855d ames: log pleas for corked bones 2023-03-01 19:34:41 -06:00
Ted Blackman
ccc35277a1
Merge pull request #6056 from urbit/jm/tomb-recurse
hood: recursive `|tomb`
2023-03-01 17:29:13 -05:00
Ted Blackman
c4d3d446fb |tomb: indentation 2023-03-01 16:05:29 -06:00
yosoyubik
233d957a5c ames: always ack recork pleas 2023-03-01 15:55:46 -06:00
Josh Lehman
e4f5a921b2
Merge pull request #6355 from ashelkovnykov/dvr
hoon: minor improvement to +mod and +dvr
2023-03-01 18:42:05 -03:00
ryjm
f218327986 tomb: remove |rm prompt
if you're trying to tombstone at the head of the desk, you probably
don't know what you're doing. so we abort.

we keep the option to `|rm` any matching hashes in other desks since
this is something the tombstoner might not know exists in advance and is
actively blocking them from completing the desired tombstone operation.
2023-02-27 12:25:29 -05:00
Ted Blackman
dae436aa94
Merge pull request #6344 from urbit/i/6339/dill-logs
dill: legible %logs
2023-02-24 16:59:14 -05:00
fang
c826075eed
dill: formally deprecate %knob mechanism
Marks it as deprecated in lull with a comment, and removes the verbosity
toggle state from dill. Filtering should now happen at the edges where
%crud error messages get printed.

We don't remove it from lull just yet, because that would necessitate a
kelvin bump, even though the rest of this changeset doesn't.
2023-02-24 22:41:32 +01:00
Alex Shelkovnykov
5b9bed244f Minor improvement to +mod and +dvr 2023-02-23 20:37:53 +01:00
Alex Shelkovnykov
5ff37c59a9 ted: add mark to use eval thread via khan 2023-02-23 20:20:46 +01:00
yosoyubik
dec8252d4a Merge branch 'develop' into i/6103/ames-refactor 2023-02-23 13:51:35 +01:00
yosoyubik
5e64bdd833 ames: add |ames-cong 2023-02-23 13:45:59 +01:00
yosoyubik
cecd7b4835 ames: remove unused pump/sink/pack gifts 2023-02-23 13:39:41 +01:00
tadad
a404982f75
Merge branch 'develop' into i/6303/eyre-verbose 2023-02-22 09:26:17 -06:00
Ted Blackman
38d2e2987c
Merge pull request #6341 from uqbar-dao/i/6340/ames-packet-size
ames: store packet bloq size in subject
2023-02-22 09:41:55 -05:00
yosoyubik
3963b0a951 ames: fix test-nack
previously we were acking the nack-trace message (adding a %send move)
before notifying the message-pump with a %near task. Now, due to the
refactoring we invert the order of those moves. This seems safe but will
determine with livenet testing
2023-02-22 14:45:44 +01:00
yosoyubik
9ae4d31fec Merge branch 'develop' into i/6103/ames-refactor 2023-02-22 13:17:13 +01:00
yosoyubik
458b40318d ames: remove unused message pump timer relay 2023-02-22 11:06:09 +01:00
yosoyubik
8d9e9c20f5 ames: refactor message-sink 2023-02-22 10:50:20 +01:00
yosoyubik
9c8080cb0b ames: move peer-state lookups to helper chapter 2023-02-22 09:11:22 +01:00
yosoyubik
eaae5b1161 ames: nest pump-gauge in packet-pump 2023-02-22 09:06:05 +01:00
yosoyubik
91be2b8bf1 ames: refactor message and packet pumps 2023-02-22 08:50:55 +01:00
pkova
76f32c6fad lull, eyre: add intermediate type for /~/name endpoint
The previous changes implementing the /~/name endpoint were breaking,
since we changed the type of `$action:eyre`. This commit keeps the /~/name
endpoint functional, but adds adapters to eyre scries that returns the old
`$action:eyre` type. These adapters and their associated intermediate types
can be removed the next time we burn a kelvin.
2023-02-21 20:48:56 +02:00
fang
11c3605f9f
lull: add deprecation notice for %cru blits
These haven't been in use for a long time (if ever), but are now fully
deprecated: if you want to receive system output, see dill's %logs task
instead.
2023-02-21 17:29:51 +01:00
fang
1cc647938d
drum: make |knob work again
This should no longer go into dill, but instead be controlled by drum
directly, since that's where system output gets rendered now (in the
common/default case).
2023-02-21 17:29:16 +01:00
fang
707249beb9
drum: print dill %logs
Dill's new %logs endpoint can be used to receive system output as $told
nouns. Dill no longer prints system output itself, leaving the display
of it up to terminal handlers (or the runtime). For now, to maintain the
status quo, drum subscribes to dill %logs, and prints them inline in the
default session.
2023-02-21 16:51:45 +01:00
fang
e67bfbfa8a
dill: remove printing machinery
Now that %logs exists, dill can delegate responsibility for printing
system output to outsiders (like the runtime, or the terminal handler
agent). Here, we remove dill's printing logic, which was still coupling
it to the default session and drum's expected semantics.
2023-02-21 16:47:14 +01:00
fang
ecbf4ce99b
dill: send system output to %logs subscribers
A dill %logs task can be used to open and close subscriptions to "system
output". Whenever dill receives a %text, %talk, or %crud task, it
considers this "system output", and passes it along to all %logs
subscribers.
2023-02-21 16:35:53 +01:00
yosoyubik
f508a569f8 ames: add core chapters to peer-core 2023-02-21 13:38:03 +01:00
yosoyubik
6d6f1b956f ames: add core chapters to +ev 2023-02-21 12:56:50 +01:00
yosoyubik
f310b5cb3a ames: rename make-peer-core -> pe 2023-02-21 12:46:20 +01:00
yosoyubik
07af14ecc3 ames: rename per-event -> ev 2023-02-21 12:32:33 +01:00
yosoyubik
311fa0efbb ames: move formal interface core to the bottom 2023-02-21 12:22:53 +01:00
tadad
a82548615e
Merge branch 'develop' into i/6340/ames-packet-size 2023-02-17 14:04:38 -06:00
dachus
6f5f4e2100 done 2023-02-17 14:02:11 -06:00
dachus
7c046d8812 +load fixed 2023-02-17 10:15:27 -06:00
tadad
dce0317327
Merge branch 'develop' into i/6303/eyre-verbose 2023-02-17 09:46:54 -06:00
Josh Lehman
e42e3451d9
Merge branch 'develop' into jm/desk-scries 2023-02-17 12:00:48 -03:00
Ted Blackman
51be6665f5
Merge pull request #6336 from ashelkovnykov/eval-ted
Add threads to run arbitrary hoon
2023-02-17 09:56:06 -05:00
Alex Shelkovnykov
fa17eaac43 Add threads to run arbitrary hoon 2023-02-17 15:39:10 +01:00