Commit Graph

12456 Commits

Author SHA1 Message Date
fang
f0d8801f43
Merge remote-tracking branch 'lm/scry-runtime' into m/scry-vane 2022-02-15 16:29:39 +01:00
fang
0375e0a53f
clay: remove dist-upgraded flag
Ancient version upgraders beware! If you're coming from a home-based
arvo, you must first upgrade to the version prior to this, or else
you'll be in trouble!
2022-02-15 01:02:19 +01:00
fang
c02274dfdd
clay: sync files using remote scry
When clay wants to download blobs from a foreign ship, it attempts doing
this using the new remote scry protocol.

If it doesn't receive a response within ~m1, it falls back to using the
old ames-based syncing instead. We remember this "prefer ames" state for
the specific ship for an hour, after which we'll begin trying the scry
flow again.

Compiles, but untested. Some TODOs and REVIEWs remaining herein.

We intentionally leave the dist-upgraded flag in state to avoid
cluttering the diff here. The next commit will remove it.
2022-02-15 00:51:54 +01:00
Liam Fitzgerald
39a0f7c431 ames: scry for lane if not in cache 2022-02-10 11:00:45 -06:00
Liam Fitzgerald
39d99f69d6 ames: use set for subscribers instead of list 2022-02-10 10:57:04 -06:00
Liam Fitzgerald
5da80d7001 wip 2022-02-09 13:04:22 -06:00
fang
a5b16b1673
fine: consolidate duplicate logic
Further merge cleanup.
2022-02-04 13:36:32 +01:00
fang
47feec3ecc
Merge branch 'lf/ames-notifs' into m/scry-vane 2022-02-03 22:00:24 +01:00
fang
a8574df401
ames: retrieve pk from old crypto core on load
Since we cannot scry the key out of jael during load, and the
alternative is defering this logic through the larval core in some way,
we simply include the type for the old acru interface, letting us reuse
the old core to initialize the new one.
2022-02-03 13:49:38 +01:00
fang
cb706ee8ae
dbug: update for ames' new alien-agenda 2022-02-03 00:45:16 +01:00
fang
39959942d2
ames: use +safe:as:crub instead of +veri:ed
+safe now exists to wrap that, so we should use it instead of deriving
the relevant key and calling +veri:ed directly.
2022-02-02 22:16:16 +01:00
fang
5776226a6c
lull: add acru arms for simply signing & authing
Instead of exporting keys so that caller can do this themselves, we
expose arms for signing and authenticating that produce and operate on
just the signature, without mangling it into the message.
2022-02-02 21:52:48 +01:00
Liam Fitzgerald
a71cf68170 urbit: refactor caching 2022-02-02 14:50:12 -06:00
fang
83e315cccd
lull: add arms to ex:acru for separate keys
We may want _just_ the encryption key, or _just_ the signing key.
2022-02-02 20:10:30 +01:00
fang
1302c5fa0b
fine: fix broken +full:keys callsite
Straggler from last commit about data type consistency.
2022-02-02 19:55:20 +01:00
Liam Fitzgerald
9dad96332b ames: remove logging 2022-02-01 20:50:02 -06:00
Liam Fitzgerald
7bf6356d73 urbit: remove unnecessary logs 2022-02-01 20:49:31 -06:00
Liam Fitzgerald
6ee2e1626f ames: unify path format 2022-02-01 20:48:04 -06:00
Liam Fitzgerald
86bafc9838 urbit: unify path format 2022-02-01 20:47:55 -06:00
Liam Fitzgerald
f31bf964ce urbit: working notifications support 2022-02-01 20:30:50 -06:00
Liam Fitzgerald
1eaad36d4d ames: working notifications 2022-02-01 20:30:11 -06:00
Liam Fitzgerald
7205625abf wip 2022-02-01 13:25:28 -06:00
Liam Fitzgerald
225aefb4ff ames: unify disparate packet types 2022-02-01 13:05:33 -06:00
Liam Fitzgerald
1e924cfa40 urbit: move fine runtime into ames 2022-02-01 11:50:25 -06:00
fang
c72c187edd
fine: use $@(~ (cask)) consistently
It's what ends up in the packet, probably better than passing units and
converting them all over.
2022-02-01 12:02:47 +01:00
fang
4bea69bc7d
fine: verify life & signatures of packets & msgs
In addition to doing signing & verification consistently with each
other, we now handle the "no data" case sanely.

Still uses the wrong keys though.
2022-02-01 11:55:04 +01:00
fang
b42dc477c5
fine: move into per-event core
This is an obviously more ergonomic factoring.
2022-01-28 23:54:01 +01:00
fang
fb72b7df7d
fine: set receiver life in request packet 2022-01-28 23:11:27 +01:00
fang
709dd75d74
fine: track pending requests for unknown peers 2022-01-28 23:09:50 +01:00
Liam Fitzgerald
3ec30d3e57 ames: revamp scry cache
Update scry cache to be a map of [path num] -> fragment
2022-01-28 15:18:16 -06:00
Liam Fitzgerald
10e617d4ab fine: prevent null ptr deref in _ames_pend_free 2022-01-28 14:09:42 -06:00
fang
769d10fdd4
fine: use keys from ames state instead of jael 2022-01-28 14:30:59 +01:00
Liam Fitzgerald
d5040e7eae fine: correctly decode lane for the non-galaxy case 2022-01-27 15:36:40 -06:00
Liam Fitzgerald
64ab395fd0 ames: cache scry packets 2022-01-27 14:57:15 -06:00
fang
4c045a9c4f
ames, fine: minimal compilable unification 2022-01-27 14:32:49 +01:00
Liam Fitzgerald
00b7d2c4d4 ames: improve error handling 2022-01-26 22:53:31 -06:00
Liam Fitzgerald
3a6b2352d0 ames: better protect against malicious packets 2022-01-26 22:38:26 -06:00
Liam Fitzgerald
2f78cf7e01 ames: #freepackets 2022-01-26 22:38:26 -06:00
Liam Fitzgerald
c816d43784 fine: remove unnecessary from in %purr 2022-01-26 22:38:26 -06:00
Liam Fitzgerald
f0aa946f57 ames: remove logging 2022-01-26 22:38:26 -06:00
Liam Fitzgerald
90cdc2de6a wip 2022-01-26 22:38:26 -06:00
Liam Fitzgerald
c808657e2a wip 2022-01-26 22:38:18 -06:00
fang
d4a0f1d901
fine: correctly calculate request body size
This had missed getting updated for byte-logic.
2022-01-26 20:03:03 +01:00
fang
af8fd67472
fine: scry using the roof, not .^ 2022-01-25 21:27:52 +01:00
fang
793c31d7f9
fine: properly sign individual packets 2022-01-24 23:51:22 +01:00
fang
ff53ae5e66
fine: supply lane where needed
Still somewhat wip, this might not be the lane behavior we want for
real.
2022-01-24 23:26:02 +01:00
fang
03b73b85bf
fine: set and handle the response bit correctly 2022-01-24 23:06:06 +01:00
fang
176aa3a45e
lull: stop hardcoding ames bit in +encode-packet 2022-01-24 21:38:55 +01:00
fang
2279764eff
fine: include header & prelude with %hoot 2022-01-24 21:01:46 +01:00
fang
b606dea970
fine: work on bytes instead of bits 2022-01-24 21:01:09 +01:00