Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge next/kelvin/411 to develop #576

Merged
merged 99 commits into from
Jan 3, 2024
Merged

Merge next/kelvin/411 to develop #576

merged 99 commits into from
Jan 3, 2024

Conversation

pkova
Copy link
Collaborator

@pkova pkova commented Jan 3, 2024

No description provided.

joemfb and others added 30 commits May 1, 2023 14:56
The +fitz jet erronously excludes all uppercase letters but the last one
from aura compatibility check. In +fitz aura compatibility check,
only the last uppercase letter is considered a bit-width annotation.
This PR ports urbit/urbit#5676, correcting an integer overflow in the
+jam jet (leading to a mismatch on large-atom input). Fixes
urbit/urbit#5674.

Releasing this fix is blocked on #346. DO NOT MERGE.
yosoyubik and others added 27 commits November 20, 2023 14:54
This has fallen way behind -- should fix urbit/urbit#6860
...and if not, keep trying until we go over the whole buffer

(Note: the parsde port is wrong)
WIP branch (on top on ted/ping; will be merged there). Uses
urbit/urbit#6836 for the %arvo side.

- [x] Send/Receive STUN request/response, handled in %arvo by stopping
the %ping app.
- [x] Check DNS resolution -- currently we send STUNs in fakeship mode
  - (check changing hosts.txt)
- [ ] refactor _stun_czar, _ames_czar, 
- make a generic _dns_czar(imp_y) that gets called every ~m5 for our
sponsoring galaxy, and every time an %ames packet is sent to another
galaxy
- [x] refactor _ames_czar/stun_gone 
- [x] Use XOR-MAPPED-ADDRESS to send the sponsee's IP
- [x] Better STUN (re)sends, regarding timers (e.g. number of tries per
attempt... etc)
  - "send requests at times 0 ms, 500 ms, 1500 ms, 3500 ms, 7500
   ms, 15500 ms, and 31500 ms.  If the client has not received a
response after 39500 ms", stop, inject %fail, (re)resolve DNS, and
restart STUN.
- [x] Callback error handling
  - if a response failes, ignore—sender will try again
  - if a request fails, resend it
  - if the DNS resolution fails, stop everyting and restart
- if the response doesn't arrive in ~s39, inject %fail, stop everything
and restart
- [ ] DNS Error handling
  - [x] Failure to resolve DNS (first time) -- have a global ~s25 timer?
- [x] Change in sponsor's IP -- resolve DNS on failure to hear a
response?
  - [x] ~~exponentially backoff~~resolve DNS every 5 minutes
- [x] Better STUN response check
- [x] Add sponsee's IP to MAPPED-ADDRESS attribute field
- [x] cache ip address
- [x] (re)enable %ping app after failure to hear STUN response, if we
eventually hear one
- [ ] Test plan: see last point in
urbit/urbit#6836 (comment)
CI on urbit/urbit next/kelvin/411 was broken, presumably because of
this.
We were previously reusing the %139 declarations for %138. But
urbit/urbit#6859 requires that we remove jets in %138, and #439 required
that we remove a jet in prior versions (temporarily handled by removing
it from all versions in #526).

Additionally, this PR removes obsolete and unused jets and hooks for
`+hike` and `|ap`.
Also refactors fetching the protocol version twice.
DNS galaxy resolution needs to be treated differently when dealing with
STUN packets to our sponsor and when this is meant to be for another
galaxy, as part of sending an ames packet.
@pkova pkova requested a review from a team as a code owner January 3, 2024 13:14
@pkova pkova merged commit 17541a7 into develop Jan 3, 2024
10 checks passed
@pkova pkova deleted the next/kelvin/411 branch January 3, 2024 17:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants