Commit Graph

68 Commits

Author SHA1 Message Date
Jeff 871c3e3281
changeset for windows port
* wintun vpn platform for windows
* bundle config snippets into nsis installer for exit node, keyfile persisting, reduced hops mode.
* use wintun for vpn platform
* isolate all windows platform specific code into their own compilation units and libraries
* split up internal libraries into more specific components
* rename liblokinet.a target to liblokinet-amalgum.a to elimiate ambiguity with liblokinet.so
* DNS platform for win32
* rename llarp/ev/ev_libuv.{c,h}pp to llarp/ev/libuv.{c,h}pp as the old name was idiotic
* split up net platform into win32 and posix specific compilation units
* rename lokinet_init.c to easter_eggs.cpp as that is what they are for and it does not need to be a c compilation target
* add cmake option STRIP_SYMBOLS for seperating out debug symbols for windows builds
* intercept dns traffic on all interfaces on windows using windivert and feed it into lokinet
2022-09-08 14:24:59 -04:00
Jeff Becker 118bc9c2fb
formatting 2021-04-19 07:02:45 -04:00
Jeff Becker a7a886e670
fix infinite iteration 2021-04-19 07:02:45 -04:00
Jeff Becker 07eaeb681a
try fixing deadlock 2021-04-19 07:02:45 -04:00
Jeff Becker 1ea77e6a68
more client to snode quic fixes 2021-04-19 07:02:44 -04:00
Jeff Becker e1f90e5e5a
use rx id on snode side of paths
set protocol on reply routing messages
2021-04-19 07:02:44 -04:00
Jeff Becker 73572b317b
stuff 2021-04-19 06:59:04 -04:00
Jeff Becker 708e408c30
various fixups and cleanups
* wire up last of the quic stuff
* clean up udp packet generation code
* pass EndpointBase not quic tunnel for quic stuff
* add {n,h}uint16_t::FromString
* add nuint_t::FromString
* make AlignedBuffer::IsZero non constant time call for speed
2021-04-19 06:58:37 -04:00
Jeff Becker f5700c560e
try inbound paths first 2021-04-19 06:58:37 -04:00
Jeff Becker 59891d5d5f
wire up snode traffic to quic 2021-04-19 06:58:36 -04:00
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.
2021-03-09 19:01:41 -05:00
Jason Rhinelander 91d6698a9d Reformat with clang-format-11 2021-03-05 13:36:31 -04:00
Jeff 49b9ad7197
tun code refactor (#1495)
* partial tun code refactor

* take out the trash

* move vpn platform code into llarp/vpn/platform.cpp

* fix hive build

* fix win32

* fix memory leak on win32

* reduce cpu use

* make macos compile

* win32 patches:

* use wepoll for zmq
* use all cores on windows iocp read loop

* fix zmq patch for windows

* clean up cmake for win32

* add uninstall before reinstall option to win32 installer

* more ipv6 stuff

* make it compile

* fix up route poker

* remove an unneeded code block in macos wtf

* always use call to system

* fix route poker behavior on macos

* disable ipv6 on windows for now

* cpu perf improvement:

* colease calls to Router::PumpLL to 1 per event loop wakeup

* set up THEN add addresses

* emulate proactor event loop on win32

* remove excessively verbose error message

* fix issue #1499

* exclude uv_poll from win32 so that it can start up

* update logtag to include directory

* create minidump on windows if there was a crash

* make windows happy

* use dmp suffix on minidump files

* typo fix

* address feedback from jason
* use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
* quote $@ in apply-patches in case path has spaces in it

* address feedback from tom

* remove llarp/ev/pipe
* add comments for clairification
* make event loop queue size constant named
2021-01-11 18:13:22 -05:00
Jason Rhinelander 3bb24580a4 make format 2020-05-20 19:48:13 -03:00
Jason Rhinelander bdc9c7bfa8 Move IPRange out of net.hpp; free up TruncateV6 etc.
- Move IPRange into its own net/ip_range.hpp

- Move the static net::IPPacket::TruncateV6, etc. functions to free
net::TruncateV6, etc. functions (now from net/ip.hpp instead of
net/ip_packet.hpp).

- Make net::TruncateV6 and net::ExpandV4 constexpr.

- Add IPRange::FromIPv4 factory function (to replace the iprange_ipv4
free function)
2020-05-20 19:18:27 -03:00
Stephen Shelton 273270916e
The Great Wall of Blame
This commit reflects changes to clang-format rules. Unfortunately,
these rule changes create a massive change to the codebase, which
causes an apparent rewrite of git history.

Git blame's --ignore-rev flag can be used to ignore this commit when
attempting to `git blame` some code.
2020-04-07 12:38:56 -06:00
Jeff Becker bf0416cab8
remove Time_t, add operator overload for printing llarp_time_t and add to_json function for serializing llarp_time_t to json 2020-02-25 12:05:13 -05:00
Jeff Becker d2d109e92c
llarp_time_t is now using std::chrono 2020-02-24 15:25:03 -05:00
Jeff Becker 7c0fc69ad8
use ipv6 only with ipv6 packets 2019-12-06 15:33:43 -05:00
Jeff Becker 5f9ea7b485
fix warnings and prevent bug that sends invalid traffic to user 2019-10-28 15:32:16 -04:00
Jeff Becker 1fd6b5ae74
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-07-12 09:53:52 -04:00
Michael 99798a74e1
Address Jeff's comment 2019-07-09 23:04:07 +01:00
Michael 488695047f
Remove redundant else blocks 2019-07-09 22:54:46 +01:00
Jeff Becker 5c61df08b5
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-06-20 10:35:51 -04:00
Michael b89689fec3
Refactor path build code 2019-06-18 22:51:41 +01:00
Jeff Becker c60099002b
reverse dns for ipv6 2019-06-12 09:48:14 -04:00
Jeff Becker ec3ddfa425
typofixes 2019-06-11 18:29:45 -04:00
Jeff 8407c20b91
Merge branch 'ipv6-tun' into ipv6-tun 2019-06-11 17:46:47 -04:00
cathugger 72b1ea613c
make format 2019-06-12 00:28:55 +03:00
cathugger a9dac85c28
fix stuff 2019-06-12 00:27:06 +03:00
Jeff Becker a2d01ff2d3
fix exit traffic for v6 2019-06-11 15:57:52 -04:00
Jeff Becker 2403ab8f86
ipv6 2019-06-11 12:44:05 -04:00
Jeff Becker 982a751cea
minor tweak 2019-05-08 09:08:21 -04:00
Jeff Becker a53da68700
start work on sighup 2019-05-07 13:46:38 -04:00
Jeff Becker b44372bdc5
emplace queue 2019-05-07 11:08:49 -04:00
Jeff Becker 99c29cf05a
prepare for ios/android jazz
move to use std::shared_ptr instead of bare pointers so we can
multithread everything.
2019-04-23 10:28:59 -04:00
Michael e33a33635c
Remove usage of raw new from service classes 2019-04-22 18:38:29 +01:00
Michael 048fa83c39
Finish replacement of Router with AbstractRouter 2019-02-14 22:31:31 +00:00
Jeff Becker 46222df421
refactor 2019-02-11 12:14:43 -05:00
Jeff Becker e1522faeaa
add introspection rpc endpoint 2019-02-08 14:43:25 -05:00
Michael 7ca3e13e78
Rename to ManagedBuffer 2019-02-03 00:48:10 +00:00
Michael f3b0af9d2f
Create CopyableBuffer type 2019-02-02 23:21:35 +00:00
Michael da6cdfc0b2
More refactoring to continue to make dependency graph acylic 2019-01-15 23:15:44 +00:00
Michael df4fd0ef56
Fix some low hanging performance issues 2019-01-07 22:15:41 +00:00
Jeff Becker bb71f1483a
fix 2018-12-27 10:32:41 -05:00
Jeff Becker 3df8dc0f22
try fix 2018-12-27 10:31:24 -05:00
Jeff Becker f993bd287d
dont mark exits as dead when thy arent 2018-12-27 10:18:23 -05:00
Jeff Becker 1b59cc491d
less allocations in message parsing and keep exit paths alive with activity 2018-12-27 09:32:37 -05:00
Jeff 4b2a1ea9f3 make format and attempt to fix #158 2018-12-23 08:29:11 -05:00
Michael 7a52638add
Move handlers* to llarp/ 2018-12-12 02:53:01 +00:00