Commit Graph

126 Commits

Author SHA1 Message Date
Joe Bryan
b5ec0c30f0 hoon: renames +new-end, +new-lsh, +new-rsh 2020-12-02 01:00:09 -08:00
Joe Bryan
4f9cba2baf hoon: adds +new-end, switches all +end call sites 2020-12-02 00:21:12 -08:00
Joe Bryan
072e2c8101 Merge branch 'm/vane-unversion' into m/modern-hoon
* m/vane-unversion:
  ames: remove old state versions & conversions
  gall: rename fading styles
  vanes: remove old load types and logic
  gall: refresh clay subscription on fade
  gall: add nonce to agent wires
  gall: add %doze-style fade
  gall: fade initial commit
2020-11-30 21:04:16 -08:00
Joe Bryan
409579398c Merge branch 'philip/clay-version' into m/modern-hoon
* philip/clay-version:
  jael: add version numbers
  gall: add version to over-the-wire protocol
  clay: cleanup protocol versions
2020-11-30 20:54:22 -08:00
Philip Monk
7e4d1a0a8b
jael: add version numbers
All over-the-wire requests should have version numbers.  This adds them
to Jael's +message.
2020-11-30 20:48:01 -08:00
fang
d7c740b32a
jael: add %vile scry endpoint for current keyfile 2020-11-30 22:35:22 +01:00
fang
a539d986a7
various: move away from {type} syntax
In favor of [type] syntax.
Turns a bunch of ++ into +$ along the way.
2020-11-26 17:43:26 +01:00
fang
44fb0cc19d
various: move away from face/type syntax
In favor of face=type.
2020-11-26 17:38:00 +01:00
fang
a6e7af38d5
various: move away from $constant type syntax 2020-11-26 17:31:06 +01:00
Joe Bryan
f95e1f48c2 arvo: scry reform 2020-11-25 16:02:10 -08:00
fang
7956adedee
vanes: remove old load types and logic
Maintains state version numbers to avoid tripping up migration tools.
2020-11-25 16:24:16 +01:00
fang
828f88b737
Merge branch 'master' into release/next-vere 2020-10-26 14:54:06 +01:00
Elliot Glaysher
9e2039ee2f arvo: Simplify the actual +code implemetation in jael. 2020-10-15 13:20:06 -04:00
Caio Marcelo de Oliveira Filho
df868e2c4f jael, eyre: Add a way to reset the web login code
Jael now stores a `step` that is combined with the original salt to
produce a new code.  A `%step` card is used to increment that value,
and effectively resetting the keys.  Because the first `step` is zero,
the first code is the same as before.

Eyre was changed to be notified with `%code-changed` so it can forget
old cookies, sessions and discard all the existing channels.

A new generator was added |code, that does both querying and
resetting the code

    |code             :: shows current code, step and help
    |code %reset      :: changes the code

The old +code generator still works correctly.
2020-07-31 11:35:48 -07:00
Philip Monk
51c5a74360
Merge remote-tracking branch 'origin/philip/jael-breach-restart' into release/next-sys 2020-06-29 19:25:13 -07:00
Philip Monk
6344a8441d
jael: always restart subscription to breached ship 2020-06-05 17:59:31 -07:00
Philip Monk
8b78f04dd3
Merge remote-tracking branch 'origin/master' into ford-fusion 2020-06-02 21:50:20 -07:00
Philip Monk
0cfee46fa8
jael: send breach notifications in order
See #2952 for details
2020-05-28 15:24:19 -07:00
Philip Monk
1be5411c75
jael: don't notify breach on initial update to ship
See #2952 for details
2020-05-28 14:38:07 -07:00
Philip Monk
c20cd29932
jael: look for correct wire
We inspect the wire of our subscriber to see if we need to produce the
result as a %public-keys or a %boon.  This is bad -- we should proxy the
subscription to avoid this need, but this doesn't make that change yet.

%pubs is an old name that doesn't exist anymore (last existed around
September 2019).  The new version is /public-keys, but it's worked so
far because /public-keys has only one item in the path, so it missed the
conditional.  This commit makes the intent more clear.

The [%a @ @ *] could be just [%a @ *], but I leave it to reduce the
chance of breaking stuff.
2020-05-28 14:27:08 -07:00
Ted Blackman
a064afbd89 /sys: |mass works again 2020-05-07 04:51:08 -04:00
Joe Bryan
6322639436 vane: jet-hints all vanes for profiling 2020-03-03 14:17:42 -08:00
Joe Bryan
53d9798cda vane: prints error notifications where not handled 2020-02-26 16:56:17 -08:00
Joe Bryan
df970ed417 arvo: passes errors to all vanes 2020-02-26 16:56:17 -08:00
Ted Blackman
0bee77ce8e
/sys: use +harden on vane tasks
Uses Zuse's previously unused +harden helper function to streamline
+task unwrapping in vanes.

(Arguably, in landlocked vanes like Ford, we should crash if we get a
%soft task, since no events should be coming in directly from the
outside.)
2020-01-27 09:53:53 +04:00
Philip Monk
16d98e5eda
jael: stop ship-to-ship 2019-12-18 11:19:41 -03:30
Philip Monk
18c3e7253b
jael: add "eager" mode to avoid hitting nodes as much 2019-12-18 10:58:00 -03:30
Philip Monk
15bd35301e
jael: properly store ship sources 2019-12-18 10:42:57 -03:30
Philip Monk
e5ac690fd3
jael: re-enable ship-to-ship communication
Also fix bug in eth-watcher that didn't cancel outstanding threads when
config changes.

And set default rift for ourselves to 0.
2019-12-17 16:14:07 -08:00
Philip Monk
ebec1eb54f
ping: delay kick until after ames processes breach 2019-12-04 02:27:35 -08:00
Philip Monk
98b886acf2
Merge remote-tracking branch 'jfranklin9000/master' into rc 2019-12-03 15:10:32 -08:00
John Franklin
c36edc838e jael: add %lyfe and %ryft scrys (unitized %life and %rift) and use in +trouble 2019-11-30 19:04:18 -06:00
Philip Monk
4d1457bbaa
Merge remote-tracking branch 'origin/master' into philip/mall-real 2019-11-24 00:01:04 -08:00
Philip Monk
a5412f01de
Merge branch 'alef-testnet-merge' into philip/mall-real 2019-11-19 13:03:07 -08:00
Philip Monk
6a406e6b29
gall: mall -> gall 2019-11-18 20:36:21 -08:00
Philip Monk
3dae66332c
jael: process all ships in %full update 2019-11-14 14:54:48 -08:00
Philip Monk
c9f437e3c6
jael: process all ships in %full update 2019-11-14 14:46:14 -08:00
Philip Monk
47e3b260d5
eyre: subscribe to apps for responses
This removes the %http-response special case from gall.  In its place,
we implement a subscription regime with the following steps:

- Agent sends %connect to Eyre
- Eyre pokes agent with %handle-http-response, including unique eyre-id
- Agent passes %start-watching to Eyre with eyre-id and unique app-id
- Eyre subscribes to agent on /http-response/app-id
- Agent produces a %http-response-header fact followed by 0 or more
  %http-response-data facts and possibly a %http-response-cancel fact
- Agent produces a %kick to close the subscription, which Eyre
  interprets as completion of the message.

This works when there is data.  There is currently a bug where if the
response has no data in total (as in the case of a naked 404), no
response will be sent.

This also includes lib/http-handler, which implements a convenient
interface for agents that want to respond immediately with all the data.
This lets them avoid carrying extra state to keep track of pending
requests.

This should really have access to your state and the ability to change
it.  Perhaps a more minimalist design would be better: just keep track
of the requests, then hand it off to +on-watch when eyre is ready to
receive responses.  It's not clear how to pass in the request data in
+on-watch.
2019-11-12 23:37:38 -08:00
Philip Monk
0e564e2f28
jael: only listen to azimuth-tracker on boot
For some reason Jael subscriptions aren't starting properly for many
people.  Until we can get to the bottom of it, this sets everyone to
start listening directly to the chain.
2019-11-12 22:00:57 -08:00
Philip Monk
bcd7c5e82d
Merge branch 'master' into philip/mall-real 2019-11-09 16:47:41 -08:00
Philip Monk
43be7737d6
mall: rename agent arms 2019-11-07 00:19:58 -08:00
Philip Monk
23f99e8f85
jael: don't update state until you've tested for breach
We were updating our state and then using that when checking if the rift
had incremented.  This would never be true, since we'd already set the
new state.

Fixes #1852 again
2019-11-06 12:51:33 -08:00
Philip Monk
82513c27fc
Merge branch 'master' into philip/mall-real 2019-11-04 19:35:24 -08:00
Ted Blackman
9a02c64b45 Merge branch 'master' into alef-testnet-merge
Untested, has not been run.
Uses master pills for now.  Will need refreshing.
2019-11-02 23:37:01 -04:00
Ted Blackman
21dabb8895 big merge, including some Alef and Zuse work 2019-10-30 16:12:57 -04:00
Philip Monk
9ddc04143a
jael: provide edge-triggered breach notification
Until now, clients of Jael have had to store the first-seen rift if they
want to reliably detect breaches.  Otherwise, they would get a false
positive if they heard an old message about a breach (eg if you kick
azimuth-tracker).  Clay and Gall did this correctly, but Ames did not.

Jael already maintains this state, so I added a notification to the
existing subscription that happens whenever it notices a breach (a diff
or full where the new rift is greater than the old one).

Because this is an issue on the live network, I wrote state adapters
for Gall and Clay.  The Gall one just removes the rift from our state,
but the Clay one is much more involved because we have to upgrade
instances of the clad monad that are possibly in progress.
Specifically, since more input is possible than before, we must wrap any
in-progress instances of the monad in a function that handles the
potential new input from Jael.  This temporarily preservers a copy of
the old kernel, but only until the current commit/merge/update has
completed.

The real solution for Clay is to factor out those IO-heavy instances to
userspace tapp/async/imp/threads, and if an upgrade happens in the
middle, you should simply restart them.

Fixes #1852
2019-10-23 21:40:34 -07:00
Philip Monk
6b8d75a88c
jael: retrieve first sponsor instead of last 2019-10-15 18:04:34 -07:00
Joe Bryan
3dd9bd7111 arvo: wires up %trim memory-pressure event stubs 2019-09-27 13:02:11 -07:00
Philip Monk
839a822f71
mall: convert hood/dojo to refactored form 2019-09-12 15:01:55 -07:00
Philip Monk
1ca4c72aa5
mall: make boot 2019-09-09 20:04:38 -07:00
Ted Blackman
ca00d89286 %lost ames gift and stub handlers in vanes 2019-08-27 20:12:56 -07:00
Ted Blackman
a50181b65c fix old jael subscription bug; aqua %hi-cousin-az passes 2019-08-23 18:19:50 -07:00
Ted Blackman
0686429f95 Merge remote-tracking branch 'origin/philip/jael-fix' into alef-testnet 2019-08-20 16:52:04 -07:00
Philip Monk
2c2ef195a7
add sponsorship chain keys to %dawn event 2019-08-20 16:41:50 -07:00
Ted Blackman
40328be29c Merge remote-tracking branch 'origin/philip/jael-fix' into alef-testnet 2019-08-20 11:06:59 -07:00
Philip Monk
4e266f10df
general jael subscriptions don't apply to moons 2019-08-20 11:03:07 -07:00
Ted Blackman
eb359f356d Merge branch 'philip/jael-fix' into alef-testnet 2019-08-20 10:25:24 -07:00
Philip Monk
e3c5e51e37
in jael store subscribers to all ships 2019-08-20 10:22:52 -07:00
Ted Blackman
45b22cd0a7 do not look into the duct 2019-08-19 16:54:30 -07:00
Ted Blackman
98c6254d66 fix jael after merge 2019-08-19 16:40:57 -07:00
Ted Blackman
fc9104cb47 Merge branch 'master' into alef-testnet (might not work) 2019-08-19 14:43:39 -07:00
Philip Monk
b6d4783660
give correct answers to jael scrys on fake ships 2019-08-12 07:04:15 -07:00
Philip Monk
c453450d9c
add |moon, |moon-cycle-keys, and |moon-breach 2019-08-07 17:59:01 -07:00
Philip Monk
eed4c6a236
add rekey to jael 2019-08-07 15:15:25 -07:00
Philip Monk
6eb4d9389d
remove snapshot scaffolding 2019-08-07 13:54:47 -07:00
Philip Monk
6212422015
kale -> jael 2019-08-06 15:42:37 -07:00
Ted Blackman
1d62f1eecc Merge branch 'philip/kale' into alef-testnet 2019-08-01 15:56:23 -07:00
Ted Blackman
14dba1d4ac all tests pass 2019-07-29 04:05:52 -07:00
Philip Monk
dd76358f6a
%breach-hi works with kale 2019-07-26 20:45:45 -07:00
Ted Blackman
86705ca446 fix jael +vent-pass recursion 2019-07-11 14:41:43 -07:00
Fang
12b8134c33
Merge branch 'v0.8.0rc' into gut-by 2019-07-10 01:49:07 +02:00
Joe Bryan
27da0d61d8 renames +http-client interface core to +iris 2019-07-03 23:52:22 -07:00
Joe Bryan
62522f87c1 renames %lient to %iris 2019-07-03 17:08:23 -07:00
Joe Bryan
f31b12c964 renames %rver to %eyre 2019-07-03 16:02:49 -07:00
Fang
eb6c8a45ce
Replace (fall (~(get by calls with (~(gut by 2019-06-30 18:13:34 +02:00
Jared Tobin
b3901ab42f Add 'pkg/arvo/' from commit 'c20e2a185f131ff3f5d3961829bd7a3fe0f227f8'
git-subtree-dir: pkg/arvo
git-subtree-mainline: 9c8f40bf6c
git-subtree-split: c20e2a185f
2019-06-28 12:48:05 +08:00