yosoyubik
24140d5f12
ames: clarify forward/backward bones
2023-02-06 16:38:59 +01:00
yosoyubik
e32c18b677
ames: style fixes and comments
2023-02-06 16:38:59 +01:00
yosoyubik
1d8214530a
ames: fix |close-flows generator
2023-02-06 16:38:50 +01:00
yosoyubik
1e04e9498e
ames: clean all stale %watches in on-kroc
...
This removes the logic from cleaning up stale subscriptions in %gall,
leaving +ap-rake as it was, and moves it to the +on-kroc arm in %ames.
Failed subscriptions from nacking a %watch plea that were
not properly corked (fixed in https://github.com/urbit/urbit/pull/6102 )
are a subset of the more general "stale re-subscription" issue, so
we take care of all stale flows at the same time, by focusing on the
current subscription—leaving all others to be corked automatically—and
checking if it received a nack, to subsequently cork it.
2023-02-06 16:38:04 +01:00
yosoyubik
ad712caccf
ames, gall: move |close-flows logic to vanes
...
This modifies the %rake task in %gall, to select what kind of
subscriptions we try to close:
=mode %o: kill old pre-nonce subscriptions
=mode %z: kill old pre-nonce subscriptions, including sub-nonce = 0
=mode %r: kills all stale resubscription flows
It also adds a dry-run option to both tasks (%kroc in ames, %rake in gall)
2023-02-06 16:36:32 +01:00
yosoyubik
7d4959db2e
ames: don't send %kroc cards in |close-flows
2023-02-06 16:36:30 +01:00
yosoyubik
7c26716bab
ames: remove stale comment
2023-02-06 16:36:29 +01:00
yosoyubik
05582d12c2
ames: refactor +on-krock
2023-02-06 16:36:28 +01:00
yosoyubik
3a7bd3a67f
ames: add tool for removing failed %watch flows
2023-02-06 16:36:27 +01:00
Philip Monk
8609599035
ames: put "is ok"/"not responding" behind |ames-verb
...
Fixes #6245
2023-01-24 13:07:19 -07:00
Philip Monk
77616520c3
ames: add logging for snubbing
2023-01-17 15:16:35 -07:00
Zach Alberico
34e8ff7616
Merge branch 'next/arvo' into ted/ames-clog-less
2022-12-15 19:17:45 -08:00
Zach Alberico
a2173f1eb3
Merge branch 'next/arvo' into lf/ames-snub
2022-12-15 17:40:04 -08:00
Liam Fitzgerald
14baf6f3d6
ames: add %snub functionality
...
Adds .snub to ames-state, a global blocklist for ships. If a packet is
received from a ship that is in the .snub set, it is immediately
dropped. Adds %snub to ames' $task, to allow manipulating this list
2022-12-15 13:37:14 -06:00
Ted Blackman
35194a6a08
Merge pull request #6102 from urbit/yu/kill-nack-flows
...
ames, gall: send a %cork if getting a %nack for a %watch
2022-11-28 11:57:07 -06:00
Ted Blackman
da4046a859
Merge pull request #6076 from urbit/yu/remove-num-live
...
ames: remove num-live from pump-metrics
2022-11-28 11:50:01 -06:00
yosoyubik
a7eee8ae6b
Merge branch 'next/arvo' into yu/kill-nack-flows
2022-11-28 17:22:15 +01:00
yosoyubik
403b3eef82
ames, gall: address feedback
2022-11-28 17:21:41 +01:00
fang
3ef5260efc
Merge branch 'next/arvo' into pkova/ruin-comets
2022-11-25 12:20:46 +01:00
Ted Blackman
fc32dde010
Merge pull request #6059 from urbit/ames-verb-fixes
...
ames: debug print msg formatting fixes
2022-11-23 17:23:16 -06:00
Philip Monk
15c5447a05
Merge branch 'philip/agent-clay' into next/arvo
2022-11-22 17:24:15 -07:00
yosoyubik
430233a3de
ames, gall: cork flow if getting %nack for %watch
2022-11-21 14:23:19 +01:00
yosoyubik
012c1e19bf
ames: don't use num-live from pump-metrics
2022-11-17 08:38:50 -08:00
yosoyubik
8bb969c2ec
Revert "ames: remove num-live from pump-metrics"
...
This reverts commit b2a0f2fd304f961e4db89499aedefe0be95e6239.
2022-11-17 08:38:50 -08:00
yosoyubik
a3e8607cb1
ames: remove num-live from pump-metrics
2022-11-17 08:38:50 -08:00
yosoyubik
4b0c1fab3b
ames: count in flight packets in packet pump
...
num-live is still used—the state update will be addressed later, as well as the update in %lull
2022-11-17 08:38:50 -08:00
fang
2027907db5
Merge branch 'master' into next/arvo
2022-11-16 16:11:53 +01:00
yosoyubik
3b5110ed1d
ames: enqueue %cork in alien-agenda
2022-11-09 16:05:45 +01:00
Tinnus Napbus
d3c2c734e3
ames: debug print msg formatting fixes
...
- fix `fragment-num` and `num-fragments` having duplicate faces
- fix faces being wrapped around wrong things in various places
- fix `bone` not being printed in "hear last in-progess" message
- make pretty tape interpolation style more uniform
2022-11-07 21:46:15 +13:00
Liam Fitzgerald
26aac7581a
ames: prevent crashes when corking an alien flow
...
The +on-cork handler asserts that the peer is known to us. This is the
incorrect behaviour, because it will crash when corking a flow to a peer
that is still an %alien. This can happen, for instance, when making a
gall subscription for the first time and then corking it before the
alien naturalises.
2022-11-01 15:50:10 +10:00
pkova
708c95b6b2
ames: correct %ruin comet logic
2022-10-17 23:05:49 +03:00
Philip Monk
846dda88b4
Merge remote-tracking branch 'origin/m/ames-no-stale-forwards' into philip/agent-clay
2022-10-13 21:42:58 -07:00
pkova
1d73558163
ames: ruin comets not seen for six months
2022-10-03 17:03:49 +03:00
Joe Bryan
9df08c5e72
ames: ignore pki nponsorship loss
2022-09-22 10:38:39 -04:00
fang
f46d8dd557
Merge pull request #5974 from urbit/m/recork-slower
...
ames: bump recork timer back up to a day
2022-09-06 22:18:14 +02:00
fang
7a4034f48a
Merge pull request #5977 from urbit/m/cork-undone
...
ames, gall: no %done on corks
2022-09-06 22:17:34 +02:00
fang
9c931f844b
Merge pull request #5976 from urbit/m/ames-restir
...
ames: clean & re-set recork timer during %stir
2022-09-06 22:17:18 +02:00
fang
36dd2f8ace
Merge branch 'next/arvo' into m/recork-slower
2022-09-06 22:16:41 +02:00
fang
fec3c45d30
Merge pull request #5971 from urbit/jb/recork-error
...
ames: handle failed recork timers
2022-09-06 22:15:12 +02:00
fang
0e5b3b4107
ames: don't give %done on cork
...
Locally, %cork is guaranteed to succeed instantly. The requesting vane
doesn't need an ack to safely consider the flow "closed".
2022-08-25 18:13:29 +02:00
fang
81462da7aa
ames: clean & re-set recork timer during %stir
...
Pre-release ships may have multiple recork timers. This ensures that,
after stir, we always have exactly one.
2022-08-25 14:42:16 +02:00
fang
0871c24e24
ames: bump recork timer back up to a day
...
We had lowered this initially for easier testing, but a day should be
sufficient for real-world use.
2022-08-25 14:11:45 +02:00
fang
b2422030f7
ames: correctly identify stale routes
2022-08-25 13:41:55 +02:00
Joe Bryan
76cc8939d3
ames: fix error slog on failed attestation timer
2022-08-23 14:34:08 -04:00
Joe Bryan
5b8f26558e
ames: handle failed recork timers
2022-08-23 14:33:53 -04:00
Joe Bryan
679b38138d
ames: prevent larval stage from possibly clobbering adult state
2022-08-23 10:37:01 -04:00
Ted Blackman
5a96f3bdbe
ames: drop %hear as larva; check duct before metamorpohse
2022-08-23 16:45:17 +03:00
Ted Blackman
07601c6bee
ames: metamorphose on first +take if possible
2022-08-23 16:09:35 +03:00
Ted Blackman
9abe49489d
ames: +on-stir clean up comments
2022-08-23 13:31:10 +03:00
Joe Bryan
9439841ce8
ames: refactor %stir, %rest stale/wrong timers
2022-08-22 20:14:02 -04:00
fang
3a7938f057
ames: say "metamorphosis" in all relevant cases
2022-08-20 00:05:20 +02:00
fang
53b0e7ecaa
ames: ensure larva initializes adult's state
...
Previously, when the larva got to processing enqueued events, it was
doing so without loading state into the adult beforehand, resulting in
incorrect processing of events.
Here, we make the larva call +molt more eagerly, ensuring that the adult
always has its state available when we use it.
2022-08-19 23:58:10 +02:00
fang
ce2e433a8a
ames: don't skip closing flows in +on-stir
...
Yes, there is a global timer for closing flows, but all that does is
enqueue a cork message. +on-stir needs to set _pump_ timers for all
flows that might still have messages to send, which includes closing
flows.
2022-08-19 20:26:08 +02:00
Ted Blackman
6b836bb56d
ames: fix no-op for messages on closing bones
2022-08-10 20:18:57 +03:00
Ted Blackman
20ccac22a2
ames: clean up closing bone check and printfs
2022-08-10 19:55:07 +03:00
Ted Blackman
0baad53fb4
ames: drop pleas on dead bones
2022-08-10 19:47:59 +03:00
Ted Blackman
ce9f692ecd
ames: clean up %cork plea handling
...
+on-plea gets called in two very different ways:
1) handling request from local vane to send %plea to peer
2) handling %cork request from another ship, which our local ames has %pass'ed
to ourselves
In the second case, we shouldn't print misleadingly, or bind a duct in the ossuary.
2022-08-10 00:47:38 +03:00
Ted Blackman
2dc7171dfa
ames: no-op on acks on corked bones
2022-08-10 00:44:54 +03:00
Ted Blackman
da591a4078
ames: invert busted conditional in recork timer
2022-08-05 02:37:03 +03:00
Ted Blackman
56d4906a13
ames: try next recork on cork ack
...
Without this, a ship would send a cork on a max of one flow per
recork timer, which could take years to clear for some ships.
This starts a hot loop of trying the next cork once one gets
positively acked.
2022-08-05 01:35:34 +03:00
Ted Blackman
54cd1a5eca
ames: simplify recork timer
...
The previous recork timer queued up %cork messages without sending them.
It also relied on making sure pump timers didn't get set for recork bones.
This was fragile.
The new design enqueues up to one new %cork message per ship during each
recork timer, based on the state of the flow. If the flow is closing but
there are no outstanding messages in it, then it needs to be recorked.
Flows will be recorked in ascending numerical order by bone.
2022-08-05 01:13:21 +03:00
fang
9433d3354d
ames: unsent-fragments is a list, not a tree
...
Measure accordingly.
2022-08-03 21:03:49 +02:00
fang
7af527e605
ames: correctly measure queue size
2022-08-03 20:52:03 +02:00
fang
e6453bae3c
ames: more detailed "future msg" trace
...
This additional information may come in handy when debugging this crash
we shouldn't be seeing.
2022-08-03 20:46:54 +02:00
fang
e16c499724
ames: make recork timer faster
...
This will aid visibility and debugging. We'll probably want to make this
slower again later.
2022-08-03 20:33:04 +02:00
fang
7c01ee9b35
ames: account for corked flows during %stir
...
Also patches the behn scry in %stir handling to be correct for latest behn.
2022-08-03 19:37:53 +02:00
fang
b860bef066
ames: correctly avoid setting pump timer
...
The condition got butchered during refactor: instead of avoiding the creation
of pump timers during recork wake, it was setting them _exclusively_ during
recork wake.
2022-08-02 23:23:48 +02:00
Ted Blackman
e5e4c8602d
ames: properly set recork flag in +on-wake
2022-08-02 23:15:43 +03:00
Ted Blackman
67efb2ad7c
ames: don't start pump timers on recork
2022-08-02 23:03:34 +03:00
yosoyubik
a5aedaccc5
ames: delete naxplanation flows if bone is corked
2022-07-18 10:27:36 +02:00
yosoyubik
35c6ac416e
ames: fix predicate for detecting %cork acks
2022-07-16 07:40:05 +02:00
yosoyubik
c599e60c5b
ames: add recork set
2022-07-15 16:45:32 +02:00
yosoyubik
a3518ef4d6
ames: add trace for %cork plea
2022-07-13 09:17:42 +02:00
yosoyubik
34a7496720
ames: clean up nack flows after a cork
2022-07-08 07:29:04 +02:00
yosoyubik
ca1b586a46
ames: init cork timer on larval +take
2022-07-07 11:35:28 +02:00
yosoyubik
d4d443db13
ames: remove cork wire from state
2022-07-07 09:20:57 +02:00
yosoyubik
e366e55dbc
ames: add global daily timer for pending corks
...
WIP compiles and upgrades, and the timer gets properly reset
but untested for actual re-subscriptions with old publishers
2022-07-06 17:00:35 +02:00
yosoyubik
76919ce07c
ames: resend %cork after a naxplanation in one day
2022-07-06 10:52:19 +02:00
yosoyubik
ea4a31558f
ames: ack last fragment from closing bone
2022-07-01 09:59:24 +02:00
fang
f2d6104e9c
ames: remove debug printfs
...
Accidentally included.
2022-06-30 20:38:32 +02:00
yosoyubik
a967b42c30
ames: print bone if "hear last in-progress"
2022-06-30 17:12:07 +02:00
fang
292a65f64c
Merge branch 'next/arvo' into yu/content-dist-merged
...
Includes patched versions of ames' and clay's +load arms.
In clay, we do a dumb ;; hack to get the state to adapt properly. This
shouldn't be needed ($case had an extra... case added to it, old ones
should still nest), and so we should revisit the logic there to make it
cleaner/better before release.
2022-06-30 16:27:02 +02:00
yosoyubik
b0766c2f53
ames: remove misleading trace printf
2022-06-30 10:46:02 +02:00
yosoyubik
27ac0b601e
ames: use %$ as recipient vane for %corks
2022-06-30 10:18:37 +02:00
yosoyubik
17d52b8535
ames: handle bounce %cork from old publisher
...
Because the publisher will send the cork plea back to the subscriber on
the next bone, we are not able to know the bone for the original cork.
To handle it, we add the cork bone to the plea path
still wip: it keeps resending the cork plea faster than its ~h1 timer
2022-06-28 12:48:07 +02:00
yosoyubik
7de9c72f36
ames: add rift when inserting new peer state
2022-06-27 13:55:07 +02:00
yosoyubik
2e92331a0b
Merge branch 'next/arvo' into yu/gall-rq-wire-ames-flow-kill
2022-06-16 08:54:24 +02:00
Ted Blackman
0190a477f5
ames: adjust comments
2022-06-15 15:35:41 -06:00
Ted Blackman
1380e83b55
ames: clog on 5 messages and 100kB
2022-06-15 15:28:34 -06:00
yosoyubik
d7544e9bde
ames: fix parsing rift/life in ke-rcv
2022-06-06 15:50:02 +02:00
Ted Blackman
d2ea33ddfe
ames: condense message size calculation
...
Co-authored-by: fang <git@fang.io>
2022-06-05 08:49:47 -05:00
Ted Blackman
953273004a
ames: clog at 100kB instead of 5 messages
2022-06-04 17:18:21 -05:00
Ted Blackman
4825f8968c
lull,ames: renames, more packet verification
...
Regularized arm names to +etch-* and +sift-* to match Vere. Renamed
$packet to $shot. Used $meow, $purr, and $keen to match Vere's naming.
Reorganized packet decoding arms and moved some to Lull for later use in
Aqua.
2022-06-03 22:58:50 -05:00
Ted Blackman
3466f9854b
ames: fix forwarding, use +send-blob in fine
2022-06-03 18:22:55 -05:00
Ted Blackman
32cc092704
ames: ;; scry result instead of \!<
2022-06-03 11:24:03 -05:00
Ted Blackman
0a3a793161
ames: don't forward to ourselves
2022-06-02 23:43:22 -05:00
Ted Blackman
44954dec7b
ames: fix packet forwarding
2022-06-02 23:26:42 -05:00
Ted Blackman
d6428a9023
ames: cleaned up printing, signature bug appears fixed
2022-06-01 17:08:12 -05:00
fang
43dff9c279
ames: do not use old lanes during stateful forward
...
As 999f0e8
, but for the stateful code path in +send-blob.
2022-06-01 21:47:15 +02:00
fang
999f0e84e9
ames: do not produce stale forward lanes
...
Stale lanes may cause forwarding loops. Imagine the following:
1) Planet A is live. Galaxy B, its indirect sponsor, learns of its route.
2) A goes offline. Another ship, C, is started in its place, at the same route.
3) B receives a packet for A, forwards it to the known route.
4) C received the packet, forwards it to B.
5) Repeat from 3.
Here, we update the forward lane(s) scry used by the runtime to not produce a
peer's lane if they haven't communicated with us in the last hour. Everyone's
supposed to ping their sponsorship chain every 30 seconds. If those aren't
going through, you shouldn't expect to be reachable anyway.
We may or may not want to update +send-blob to match.
2022-06-01 17:17:37 +02:00
Ted Blackman
6a13048cf1
ames: WIP modernized tests pass, still haven't found signature bug
2022-05-31 18:31:38 -05:00
Ted Blackman
930ce64343
ames: fix some meow and mug encoding issues; still signature problems
2022-05-28 20:23:37 -05:00
Ted Blackman
f159f38f16
ames: (debug build) fix yawn
2022-05-27 15:54:38 -05:00
Ted Blackman
062fbc71d7
ames: merge driver rework
2022-05-27 14:52:30 -05:00
Ted Blackman
aaffad63b0
ames: fix up packet encoding
2022-05-27 13:14:53 -05:00
Ted Blackman
a596322202
ames: remote scry works again
2022-05-27 10:35:03 -05:00
fang
984d2845a4
ames: correctly scry into jael for sponsors
...
+saxo:title uses .^, which doesn't work from kernelspace. We manually
call the scry function instead.
Also, we want the end of the list, not the head.
2022-05-27 13:06:26 +02:00
Ted Blackman
302d406a94
ames: WIP runs and ames works, but scrying kills ships
2022-05-26 21:23:09 -05:00
Ted Blackman
a1f202deb0
fine: refactor driver and arvo/vere interface
2022-05-25 17:30:35 -05:00
fang
830ee80325
ames: fall back to galaxy if no scry lane known
...
Will need to be updated alongside other routing logic eventually.
2022-05-25 20:58:14 +02:00
Philip Monk
5b773723b3
Merge remote-tracking branch 'origin/yu/ames-fixes' into next/arvo
2022-05-20 22:52:00 -07:00
Philip Monk
ac64f44538
clay: update tests
2022-05-20 20:03:34 -07:00
Philip Monk
f16abbd992
ames: fix comet communication with breached ship
2022-05-19 20:20:00 -07:00
fang
a0f7891f50
Merge branch 'philip/tomb' into lf/content-dist-rc
...
Beware, the ames conflict was particularly nasty. State migrations as of
yet untested.
Includes patched-up fine tests.
2022-05-19 17:07:35 +02:00
fang
e7f9686b1c
fine: re-enable scry permission check
...
Only expose fully public clay data over scry. Other vanes and permission
modes to follow at a later date.
2022-05-18 20:25:57 +02:00
yosoyubik
16920a894e
Merge branch 'yu/ames-fixes' into yu/gall-rq-wire-ames-flow-kill
2022-05-18 17:37:24 +02:00
yosoyubik
c2576cdc46
ames: handle +call moves if re-evolving from larva
2022-05-18 17:36:40 +02:00
yosoyubik
fe412b1ca7
gall: remove $watches from egg/yoke
...
Also renames $beat to $boar so it signifies more its closeness to $boat
2022-05-18 15:27:17 +02:00
Philip Monk
7e4ad62a51
Merge remote-tracking branch 'origin/yu/ames-fixes' into philip/tomb
2022-05-17 14:07:05 -07:00
yosoyubik
4dae3ae3e2
ames: indent
2022-05-17 07:49:15 +02:00
yosoyubik
f81061fe40
Merge branch 'yu/ames-fixes' into yu/gall-cork-wip
2022-05-17 07:47:58 +02:00
yosoyubik
2553573be0
ames: start drainage timer if regressed from adult
...
This accounts for a possible race condition where ames expects a
response, but regresses into the larval state. Upon receiving the
$sign on +take, we would remain stuck as a larva. Now we check
that we have enough information to re-evolve and then start a
/larval timer to begin draining the queue.
2022-05-17 07:11:09 +02:00
fang
9e3bcf14c1
fine: more straightforwardly cancel keen timer
...
When +ke-abet-gone gets called, we're going to remove this keen
entirely. +ke-set-wake does a whole song-and-dance and may even set a
new timer. So instead, we simply call +ke-rest, if we have a known
outstanding timer.
2022-05-16 22:52:07 +02:00
Philip Monk
d25194c7a3
arvo: reduce priority of lifecycle printfs
2022-05-14 23:59:21 -07:00
Philip Monk
8a2eac7c70
Merge remote-tracking branch 'origin/ted/ames-prod-2' into philip/tomb
2022-05-14 21:17:10 -07:00
Philip Monk
2e31f87068
Merge branch 'pr' into philip/tomb
2022-05-14 20:59:01 -07:00
yosoyubik
350636fe2a
ames: don't relay acks for naxplanations of %corks
...
This avoids closing a subscription prematurely, before the
server ames has had time to process the innitial %cork.
2022-05-14 10:52:45 +02:00
yosoyubik
76ddc359f5
ames: fixt 6-to-7 state update
2022-05-09 14:17:27 +02:00
yosoyubik
a2b771f704
Merge branch 'yu/ames-fixes' into yu/gall-cork-wip
2022-05-09 14:16:07 +02:00
yosoyubik
5d6b2d8997
ames: fix 4-to-5 state migration
2022-05-09 14:13:51 +02:00
yosoyubik
a278b63c66
ames: add tracing printf
2022-05-06 09:47:19 +02:00
yosoyubik
6318aa283b
ames: retry sending a %cork if publisher is behind
2022-05-05 14:04:18 +02:00
yosoyubik
06883b617e
ames: add new state version in +stay
2022-05-05 13:00:23 +02:00
fang
b42833a568
Merge branch 'm/scry-vane-next' into lf/content-dist-rc
2022-05-03 15:29:16 +02:00
yosoyubik
53e1c86833
Merge remote-tracking branch 'origin/yu/ames-fixes' into yu/gall-rq-wire-ames-flow-kill
2022-05-03 13:57:39 +02:00
yosoyubik
ec60399cdf
ames: restore previous +decode-shut-packet
2022-05-03 12:49:10 +02:00
yosoyubik
3f7f4dbd5a
gall: handle %kicks for nonexistent subscriptions
2022-05-03 12:49:10 +02:00
yosoyubik
a288d455c3
ames: remove %cork from |ack-meat
2022-05-03 12:49:10 +02:00
yosoyubik
8be9257164
ames: style indentation
2022-05-03 12:49:09 +02:00
yosoyubik
52ef6ba08e
ames: handles decoding old-format shut-packets
2022-05-03 12:49:09 +02:00
h5gq3
c95cce4404
style fixes
2022-05-03 12:49:09 +02:00
h5gq3
5583fc1320
ames-flow-kill
2022-05-03 12:49:09 +02:00
yosoyubik
02806f63a1
ames: hardcode rift for comets in state upgrade
2022-04-27 06:24:55 +02:00
yosoyubik
9cb425e0ef
ames: remove unused ames-to-ames %plea logic
...
This seems to have been used in the past for pinging the ship's
sponsor, but was later removed when the :ping app was introduced
2022-04-22 15:49:15 +02:00
yosoyubik
087f24e931
ames: use +trace to print logs
2022-04-22 12:29:16 +02:00
yosoyubik
e2f8e21529
ames: remove sigwut
2022-04-22 12:26:53 +02:00
yosoyubik
471b9be22d
ames: fix emit of parsing old wire log
2022-04-22 12:26:24 +02:00
yosoyubik
91435a92ca
ames: don't drop events with old wires
...
Previously we were dropping events that used old
wires that lacked a rift in them. This seems a
bad behavior because we don't want to destroy a
flow that has not been processed by both ends.
Note: pending a fix to test-old-ames-wire
2022-04-22 12:26:14 +02:00
yosoyubik
6cdebea1af
ames: address review
2022-04-22 12:26:08 +02:00
yosoyubik
60cc44e961
ames: fix cached state in larval upgrade
2022-04-22 12:26:02 +02:00
yosoyubik
1b01455fe5
ames: fix dangling-bone error
2022-04-22 12:25:55 +02:00
fang
12ca0f45e5
ames: move various types and gates into lull
...
So that userspace may also en- and decode (scry) packets.
2022-04-20 00:09:00 +02:00
Liam Fitzgerald
4ae93c8bd0
ames: strip out notifications system
2022-04-15 16:42:33 -05:00
fang
af4de87ff2
Merge branch 'm/aqua-revival' into m/scry-vane-next
2022-04-07 12:59:14 +02:00
lukechampine
8399b7b96c
ames: add resend timer for attestation requests
2022-04-04 00:19:55 -04:00
Liam Fitzgerald
92e52c9f7e
ames: fix path handling in %bide
2022-03-15 10:40:34 -06:00
Liam Fitzgerald
0587e0e836
ames: add %pine task
...
%pine automatically scries for the latest case of a path
2022-03-14 15:04:14 -06:00
Liam Fitzgerald
49e53290a1
Merge remote-tracking branch 'origin/yu/dangling-bone' into lf/content-dist-rc
2022-03-11 11:07:51 -06:00
yosoyubik
5ecf87cf52
ames: fix cached state in larval upgrade
2022-03-11 10:22:50 +01:00
yosoyubik
ab116653e8
wip fix dangling bone
2022-03-11 10:21:12 +01:00
lukechampine
53a0c87cdb
ames: add sendkeys-packet
2022-03-02 00:56:57 -05:00
lukechampine
df6318acd0
ames: fix comet self-attestation handling
2022-03-02 00:52:48 -05:00
lukechampine
1044d42a15
ames: don't enqueue blobs sent to unknown comets
2022-03-02 00:46:18 -05:00
Liam Fitzgerald
b4da246f01
strandio: add +keen gate
2022-02-24 12:03:07 -06:00
Liam Fitzgerald
f1c24c07dd
ames: refactor to remove unused state
2022-02-23 16:00:56 -06:00
Liam Fitzgerald
c16aaae201
ames: correct behaviour for %yawn
2022-02-23 16:00:56 -06:00
Liam Fitzgerald
479e060e32
ames: add +load for remote scry
2022-02-23 16:00:56 -06:00
Liam Fitzgerald
5baa1b8318
ames: add fast retransmit
2022-02-23 16:00:55 -06:00
Liam Fitzgerald
4be4e9a7a0
ames: fix keen ducts
2022-02-23 16:00:55 -06:00
Liam Fitzgerald
5f5092168f
ames: fix sig + data catenation
2022-02-23 16:00:55 -06:00
Liam Fitzgerald
22f3e49823
ames: add |yawn, fix duct wrangling
2022-02-23 16:00:31 -06:00
Liam Fitzgerald
6bd6029f57
ames: use finger trees for packet storage
2022-02-16 15:35:59 -06:00
Liam Fitzgerald
a36dc3aaff
ames: per-lane congestion control
2022-02-15 08:47:38 -06:00
Ted Blackman
b2051fcc2b
fine: WIP second list for performance
2022-02-14 10:34:26 -06:00
Liam Fitzgerald
e97d99275b
ames: congestion control for remote scry
2022-02-11 19:30:40 -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
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
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
6ee2e1626f
ames: unify path format
2022-02-01 20:48:04 -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
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
fang
769d10fdd4
fine: use keys from ames state instead of jael
2022-01-28 14:30:59 +01:00
fang
4c045a9c4f
ames, fine: minimal compilable unification
2022-01-27 14:32:49 +01:00
fang
dd4eb87f42
ames: move packet en/decoding into lull
...
By moving this behavior for packets with ames-style headers into lull,
other vanes that want to do protocols in similar style (like the upcoming
%fine vane) can reuse the logic here.
Note that we parameterize the main en- and decoding functions, so that
we may pass in the "is ames" flag and protocol versions as appropriate
to the context.
2022-01-20 01:59:43 +01:00
yosoyubik
3d943ec201
ames: ignore missing peer-state on-publ-sponsor
2022-01-18 20:34:32 +01:00
Ted Blackman
bbc80f9d45
zuse,ames: ^^sein:title
2021-09-25 16:52:53 -04:00
Ted Blackman
bce8dfd477
ames: pop the next packet, not the first packet again
2021-08-28 23:01:15 +03:00
Ted Blackman
e2fd0b61e4
ames: |ames-prod to reset congestion control
2021-08-28 22:48:23 +03:00
Philip Monk
e2e4d28548
Merge pull request #4788 from urbit/la/sys-fast-orm
...
zuse: add +all, +any, +got, +has, +run, and +tab to ++ordered-map, jet hints, and reorganize alphabetically
2021-05-18 10:24:31 -07:00
Ted Blackman
4c94c7edd4
ames: expire direct lanes faster after inactivity
2021-05-03 17:33:56 -04:00
Logan Allen
dd6eeccdae
zuse: update names of +subset to +lot, +peek to +pry, remove unnecessary comments
2021-04-28 16:12:46 -05:00
Logan Allen
6b0dc98952
ames: reflect update of name +traverse -> +dip
2021-04-20 15:04:28 -05:00
Joe Bryan
19d5bd0de4
ames: gate "fragment crashed" printf on msg.veb
2021-03-18 17:04:08 -07:00
Philip Monk
6215137ed5
Merge remote-tracking branch 'origin/ted/ordered-map-fix' into release/next-sys
2021-03-03 18:20:33 -08:00
Philip Monk
6e3d1680a7
Merge remote-tracking branch 'origin/master' into release/next-sys
2021-03-03 17:54:57 -08:00
Philip Monk
413413b70c
zuse: traverse always delete
2021-02-26 21:03:20 -08:00
Philip Monk
5ac70ec974
ames: reset num-live to actual number of live packets
2021-02-26 20:53:27 -08:00
Ted Blackman
04ea4c78b2
ames: +on-hear-shut remove dead code
2021-02-26 16:55:26 +10:00
Ted Blackman
ccea39f865
ames: fix comet handshake
2021-02-26 16:55:24 +10:00
Ted Blackman
eb56fbd3f4
ames: shorten error printing; update pill
2021-02-19 11:54:34 -05:00
Ted Blackman
473a520b27
ames: more informative printing
2021-02-18 21:47:02 -05:00
Ted Blackman
6234b56ac1
ames: cache message +jam in +on-memo
2021-01-20 15:29:45 -05:00
Philip Monk
e5d4230f6b
ames: print on crashing %done
...
This is guaranteed to produce a stuck flow if the error isn't transient,
so this will be good info to get.
2020-12-11 16:49:55 -08:00
Philip Monk
175ce28bb7
ames: tag verb printfs
2020-12-11 16:45:13 -08:00
Philip Monk
595efabf6c
ames: recover from %strange-current
2020-12-11 16:43:13 -08:00
Joe Bryan
2b8d83e255
ames: remove "larva: drain" printf (too noisy)
2020-12-08 03:32:29 -08:00
Joe Bryan
aaf506ce8a
Merge branch 'jb/motion' into jb/motion-merge
...
* jb/motion:
pill: solid
zuse: remove %crud from vane-task
arvo: full vane names in $sign
aqua: build again (still broken)
arvo: reform of the scry reform
2020-12-07 18:52:51 -08:00
Joe Bryan
5dd3e148b8
zuse: remove %crud from vane-task
2020-12-07 18:01:48 -08:00
fang
d98c59e73a
zuse: lift moves out of +able
2020-12-08 01:47:06 +01:00
Joe Bryan
17736990ed
arvo: full vane names in $sign
2020-12-07 16:30:22 -08:00
Joe Bryan
98f2b8c6b3
arvo: reform of the scry reform
2020-12-07 13:52:12 -08:00
Joe Bryan
5a82f1d4c0
Merge branch 'na-release/candidate' into jb/motion
...
* na-release/candidate: (36 commits)
ames: don't crash on forward-lane scry
jael: cleanup per review
jael: don't signal breach if first hearing of ship
pill: update
vere: compile
lens: don't de-base64
vere: make import flow not use base64 encoding
version: strip trailing newline
pill: mainnet
Revert "zuse: change to ropsten"
chat-hook: fix another poke-import issue
chat-hook: fix poke-import issue
apps: reorder maps, sets, and jugs
apps: reorder maps, sets, and jugs
kiln: add base-hash and our scries
lens: fix change lost in merge
graph-store: leave try-rejoin wire when subscription succeeds
graphs: import-export
chat: import/export
invites: import/export
...
2020-12-07 00:27:58 -08:00
Joe Bryan
ff06ccd2b9
arvo: completes scry reform
2020-12-06 03:33:43 -08:00
Joe Bryan
5bc6d38437
arvo: updates vane interface
2020-12-06 03:33:43 -08:00
Philip Monk
4b8be294b2
ames: don't crash on forward-lane scry
2020-12-05 20:02:31 -08:00
Joe Bryan
958bb5acf7
arvo: removes +is and all references to it
2020-12-05 00:51:49 -08:00
Joe Bryan
5111831a03
ames: use +rep to assemble message fragments
2020-12-03 14:26:55 -08:00
Joe Bryan
9bb790e3e9
ames: updates +end, +lsh, and +rsh call sites
2020-12-03 14:25:31 -08:00
Ted Blackman
c7b8ffbf4e
ames: flat packet format
2020-12-01 09:51:14 -05: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
fang
122123c11a
ames: remove old state versions & conversions
2020-11-27 13:55:21 +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
Ted Blackman
56db7cdcda
ames/zuse: require >64-bit comet addresses
2020-10-27 17:28:07 -04:00
Ted Blackman
fcf9cfbcdb
ames/zuse: require >64-bit comet addresses
2020-10-27 17:20:25 -04:00
Joe Bryan
da928bed10
ames: updates forward-lane scry-handling to match +send-blob
2020-10-22 17:37:46 -07:00
Ted Blackman
f2be97d315
ames: print failed scrys
2020-09-18 16:06:13 -04:00
Philip Monk
1d0409c4c4
ames: fix lane discovery during some lane changes
...
We used to not accept new indirect lanes if we already have a direct
lane. This means that if Bob, with a publicly-accessible lane, changes
lanes (eg by restarting the process and getting a new port or changing
ip addresses), tries to talk to Alice, who is behind a NAT, then Bob
will try directly but fail (because Alice is behind a NAT), so he will
route the message through her galaxy. This is good -- the message gets
to Alice. However, Alice had a direct route to Bob's old lane, so she
will try to ack on that lane, which fails. She will not time out this
lane because she doesn't know that Bob isn't getting the acks (acks
don't have their own acks).
The solution is that if Alice receives an indirect lane for Bob when she
already has a direct lane, she shouldn't ignore it. If the lane is the
same as what she has, she shouldn't change anything (in particular, she
shouldn't mark it as indirect). But if it's a new lane, she should
discard her old direct lane and use the new indirect lane.
2020-07-24 20:41:48 -07:00
Fang
3955d1092b
ames: add scry endpoint for forward lanes
...
Finds the lane for that peer, or their galaxy. Intended for use in the
runtime, to enable stateless forwarding.
2020-07-22 16:33:34 +02:00
Fang
4ea98e569f
ames: improve scry interface
...
No longer abuse the desk field, instead making use of the path. Reject
any scries outside of the local ship, empty desk and current time as
invalid.
2020-07-22 16:30:47 +02:00
Ted Blackman
ef138bb007
ames: use +cut in +encrypt
2020-06-25 22:54:37 -04:00
Philip Monk
05f0e47f68
ames: fix larval +load for fusion
2020-06-11 22:55:08 -07:00
Philip Monk
8b78f04dd3
Merge remote-tracking branch 'origin/master' into ford-fusion
2020-06-02 21:50:20 -07:00
Philip Monk
818d2231f6
ames: remove jumbo packets
2020-06-02 14:13:28 -07:00
Philip Monk
18e396cf53
release: urbit-os-v1.0.20
...
Previous urbit-os-v1.0.20 was not released
2020-05-28 18:43:20 -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
Philip Monk
0642cc5861
ames: add |ames-wake
...
Somehow we ended up with flows which expected to awaken but did not wake
up. This was likely caused by the error in r920j OTA, urbit-os-v1.0.18.
This adds a command which ensures that every flow has an active timer.
I expect this to be needed only once, but it's a pretty general tool, so
it's worth keeping.
I've included an unused @t parameter to more easily add simple debug
commands to ames without having to add a new task
2020-05-28 10:28:31 -07:00
Philip Monk
ff01a1ea04
ames: don't set new timer if we woke up too early
...
Otherwise if we end up having multple outstanding timers, they never
coalesce to a single timer.
2020-05-27 17:38:18 -07:00
Fang
58e85fa661
Merge branch 'release/next-sys' into m/debug-dashboard
2020-05-23 01:00:45 +02:00
Philip Monk
a4a44f1e21
kiln: cleanup
2020-05-22 14:32:32 -07:00