urbit/pkg
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
..
arvo ames: fix lane discovery during some lane changes 2020-07-24 20:41:48 -07:00
ent Add 'pkg/ent/' from commit '31ac2913f14c6f7631f5792ad942605fb2d9fb87' 2019-03-04 16:49:14 -08:00
ge-additions Pull in latest v0.8.0.rc changes 2019-07-16 15:59:39 -07:00
herb Squashed commit of the following: 2020-06-25 03:25:31 -04:00
hs vere: bumps urbit version to v0.10.8 2020-07-23 18:15:35 -07:00
interface Merge pull request #3135 from finled-bansel/fix-moon-rendering 2020-07-22 12:27:41 -04:00
libaes_siv jets: switch openssl to the loom allocator. 2020-05-29 15:51:53 -07:00
urbit vere: bumps urbit version to v0.10.8 2020-07-23 18:15:35 -07:00