Commit Graph

4196 Commits (079604c6cf7c8bbce34b8645b42a29112f4fb778)

Author SHA1 Message Date
Jeff Becker b45a268dbc
fix windows dll link-ism 3 years ago
Jeff Becker 2fa7a54e86
fix pybind layer compile errors from missing llarp.h header 3 years ago
Jeff Becker e4841917ba
redo cmake parts
* add liblokinet.so target
* make every library we build except liblokinet.so static
* wire up parts of liblokinet
3 years ago
Jeff Becker a6715a1f75
remove old vpnio bits 3 years ago
Jeff Becker c92894804c
Merge remote-tracking branch 'origin/stable' into dev 3 years ago
Jeff Becker a0d3ab125a
throw on failed writing and port fs namespace changes from oxen-core 3 years ago
Jeff Becker e8178a032e
lokinet-bootstrap native binary 3 years ago
Jeff Becker 0c37cc7f60
lokinet-bootstrap native binary 3 years ago
Jeff Becker 7a1ffc2df4
* lessen replay filter window
* dont have transit hops use a replay filter
* formatting
3 years ago
Jeff Becker 9c742b36eb
call delivery status hook on overload 3 years ago
Jeff 6bd53484da
Merge pull request #1541 from majestrate/lns-consensus-2021-02-19
lns lookup consensus
3 years ago
Jeff cb2254ba46
Merge pull request #1573 from jagerman/more-code-refactors
More code refactors
3 years ago
Jeff Becker dfa84081c9
forgot a type 3 years ago
Jeff Becker 202c9348fa
use std::variant 3 years ago
Jeff Becker b7f72601ce
move stuff to var::variant 3 years ago
Jeff Becker ba9dca6c5d
use var::variant and var::visit shims because apple is sux 3 years ago
Jeff Becker f10269b03e
remove std::visit because apple is functionally retarded and does not support it despite claiming to support c++14 3 years ago
Jeff Becker c07358f084
allow failure of setting ipv6 address when it is not allowed by kernel on linux 3 years ago
Jeff Becker 6c1d18412c
seperate logic into IsDone() 3 years ago
Jeff Becker 88ddcceca4
make lookup name async return optional variant 3 years ago
Jeff Becker 4e14567d67
make Endpoint::LookupNameAsync return void 3 years ago
Jeff Becker 8e57572b37
dont reference iterator in lambda. 3 years ago
Jeff Becker 95eba18e40
cache result on success 3 years ago
Jeff Becker 7a11f3b1e3
redunant lookups for lns.
* request lns from all endpoints we have on our pathset
* make sure all snodes agree on the lns name being looked up
3 years ago
Jeff ec242447a0
Merge pull request #1581 from majestrate/ipv6-configurable-range-2021-03-18
make ipv6 range used by exit traffic configurable.
3 years ago
Jeff Becker cf85ea6f2b
add warning and note in documenation of config option 3 years ago
Jeff Becker 1acea95ced
fix issue #1562
* use csrng for std::shuffle
3 years ago
Jeff Becker b2687a53ee
dont use .value() because macos is absolutely broken, thanks apple. 3 years ago
Jeff Becker a83428297e
make ipv6 range used by exit traffic configurable.
* add ip6-range option to network section to control which range we want to use for ipv6 traffic
* make ip6-range able to disable ipv6 exits ( i dont like this but eh )
3 years ago
Jeff Becker ad6dcd683b
fix segfault 3 years ago
Jeff Becker 80a76c9386
fix segfault 3 years ago
Jason Rhinelander 181953b4a6 Replace ::Hash nested structs with std::hash specializations 3 years ago
Jason Rhinelander d1dadb530c SockAddr endian cleanups & add uint128 ctors
- Make SockAddr endian arguments explicit
- Consolidate port-less contructors and port constructors into one with
  a default port of 0.
- Add {h,n}uint128_t ctors for construction from IPv6 addrs
3 years ago
Jason Rhinelander fe0d099e86 Code cleanups
- De-lambda a lambda that is only called once, immediately after it is
  defined.
- C++17 modernize key-value for loops
- Remove unused (and useless) method
3 years ago
Jason Rhinelander 0339bd941a Convert protocol type to enum class 3 years ago
Jeff 9bf002cc8d
Merge pull request #1574 from tewinget/header_fixup
standardize include format and pragma once
3 years ago
Jason Rhinelander f47e0cf7a2 Fix UB -- use after move 3 years ago
Thomas Winget 7caa87862e standardize include format and pragma once
All #ifndef guards on headers have been removed, I think,
in favor of #pragma once

Headers are now included as `#include "filename"` if the included file
resides in the same directory as the file including it, or any
subdirectory therein.  Otherwise they are included as
`#include <project/top/dir/relative/path/filename>`

The above does not include system/os headers.
3 years ago
Thomas Winget 35fb54d131 add project source dir to util include directories 3 years ago
Jeff Becker 324498fe9a
flip order of parameters so it works 3 years ago
Jeff Becker 3d09b94590
make android work again
ip packet on read error was returning an uninitialized ip packet with non zero size so it was thinking it was a valid packet.
value initialize it to set the packet size to zero by default.

this fixed it in an emulator at least...
3 years ago
Jeff Becker 6550aa844c
try to unbreak more 3 years ago
Jeff Becker 7af4807302 correctly set size of OwnedBuffer when using OwnedBuffer::copy_used 3 years ago
Jason Rhinelander 91d6698a9d Reformat with clang-format-11 3 years ago
Jason Rhinelander c00de1e4ec Add wakeup call into transit_hop UpstreamHandler 3 years ago
Jason Rhinelander 89b582bf60 Modernize [[maybe_unused]] attribute 3 years ago
Jason Rhinelander 4b5387a078 Remove unused ShouldFlushNow method 3 years ago
Jason Rhinelander f9dc308f75 Tick event loop on data queuing 3 years ago
Jason Rhinelander 895acc45ff EventLoop: add public wakeup() method, and call it from call()
call(), when invoked from the logic thread, wasn't triggering a wakeup
which stalled some traffic (such as client-to-snode packets).

Fix it by triggering a wakeup on `call()`, and expose it because this is
a useful thing to be able to do.
3 years ago
Jason Rhinelander f8d5e106a0 Uncurse SockAddr's sockaddr* operator
The `const sockaddr*` conversion was returning a pointer to the
sockaddr_in6, but with its family set to AF_INET, so the receiving code
would have treated interpreting the result as a sockaddr_in pointer --
but it isn't, and trying to get the IPv4 from the mis-reinterpreted
sockaddr_in6 fails; this then prevented uvw UDP binding (which uses the
sockaddr* operator) from working.

This changes it to always leave the family value at the proper value and
using the ipv6_is_mapped_ipv4 check to determine when we have (and
should return) a pointer to the sockaddr_in rather than the
sockaddr_in6.

Also fixes toString() to compare the full prefix instead of just bytes
10 and 11.
3 years ago