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

v0.9.6 #1731

Merged
merged 98 commits into from Sep 8, 2021
Merged

v0.9.6 #1731

merged 98 commits into from Sep 8, 2021

Conversation

majestrate
Copy link
Contributor

PR for v0.9.6

  • reduces idle packet rate on service nodes
  • fix regression with dns settings
  • add ipv4/ipv6 route blackhole on linux when exit node is in use
  • initial junk for idiomatic apple port

majestrate and others added 30 commits May 25, 2021 06:41
So that you can pipe bt-encoded output into it, e.g. from the
in-progress oxend bt-rpc interface.
bencode-dump.py: support reading from stdin
The definitions in here aren't actually used anywhere anymore, so just
drop it.
We compile one now for various, but the script apparently never got
removed.
This function had a bug in stable (fixed in dev) when `last` returns
npos, but the function also appears to basically be duplicating what the
next split version can do, so this just removes it and uses the single
more generic split(strview, strview) method.
The default upstream DNS was being set to 1.1.1.1:0, which doesn't work.
This fixes it to also set the port so that default upstream resolution
(i.e. with an empty config) works again.
Remove unneeded split(str, char) method
* move routing table manipulation to vpn platform
* add initial linux implementation of vpn platform route manipulation
- Reduce buffer size to INET6_ADDRSTRLEN, and use a single buf rather
  than two identical ones in each branch.
- Don't pre-reserve because doing so is usually going to over-allocate,
  but also because it prevents SSO, especially for the IPv4 case which
  should fit in SSO for all IPv4 addresses.
initial routing table platform bits refactor
This reverts commit dace022.

This reportedly didn't fix things on Android, and most definitely breaks
macOS (with this we get a bunch of errors about expecting inbound when
we have outbound).
The reason the dns fix on android didn't work is that the DnsInterceptor
had a reversed to/from argument order for its
`SendServerMessageBufferTo` overload, and so android/mac needed the
to/from to be reversed so that the second reverse cancelled out the
first one.

Upon review, the DnsInterceptor order (to, from) is more intuitive than
the base order (from, to), so this reapplies the dns fix and swaps
everything *except* DnsInterceptor to match the (to, from) argument
order.
jagerman and others added 26 commits September 2, 2021 14:17
Avoids needing unbound.h in the search path to include the
unbound_resolver.hpp header.
Removes stuff we didn't end up needing/using:
- Lokinet.modulemap
- apple bits from lokinet.cpp (we don't use lokinet.cpp at all on macos
  anymore).
- dnsproxy/extension C++ headers
- apple-specific network extension config in llarp::config::Config
lokinet.swift no longer touches internals of lokinet network extension so we remove the import for it
(This was actually already working because macOS is buggy and doesn't
actually remove routes other than the default).
before when we get the list of router ids for gossip it was highly bias towards outbound sessions.
instead now we get a full list of link session router ids in random order, truncate them to be at most MaxGossipPeers number of keys, and then put them into an unordered set
It's failing to link with LTO on bionic because of an internal compiler
error for some random reason, so just disable building the tests there
for now (keeping LTO on is more useful since that is also what gets used
for a static build).
…ges-2021-05-18

add --help and -h flags to lokinet-bootstrap to show help message
@jagerman jagerman merged commit 71663fa into stable Sep 8, 2021
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.

None yet

3 participants