1
1
Fork 0
mirror of https://github.com/oxen-io/lokinet synced 2023-12-14 06:53:00 +01:00
Commit graph

619 commits

Author SHA1 Message Date
Michael 6e5cab971f
make windows fixes 2019-08-13 10:02:48 +01:00
Michael 8c5bbcaeeb
Update rcutil and add to build 2019-08-12 21:47:30 +00:00
Michael f9e9227e19
Fix gcc trunk warnings 2019-08-02 10:29:08 +01:00
Jeff Becker 7c8c11a42a
correct cmake paramter for shellhooks 2019-07-29 08:14:35 -04:00
Thomas Winget baf8019fe5 Refactor Router code into more classes
This commit refactors functionality from the Router class into separate,
dedicated classes.
There are a few behavior changes that came as a result of discussion on
what the correct behavior should be.
In addition, many things Router was previously doing can now be provided
callback functions to alert the calling point when the asynchronous
action completes, successfully or otherwise.
2019-07-25 14:11:02 -04:00
Michael 82958de2d7
Tidy up cmake files 2019-07-22 00:58:45 +01:00
Michael 65af2c4266
Normalise build 2019-07-21 17:08:26 +01:00
Michael edcaf8c25c
try actually reading the gtest docs 2019-07-21 16:57:12 +01:00
Michael 42b951aa80
Try to link shared again 2019-07-21 16:57:11 +01:00
Michael cc67794b43
build gtest/gmock in shared mode 2019-07-21 16:57:11 +01:00
Michael 246ff605c4
Try building tests on windows 2019-07-21 16:57:11 +01:00
Michael ac8624698d
Fix some string_view problems 2019-07-21 16:57:11 +01:00
Michael 9f2ec57704
Try forcing avx2 2019-07-21 16:57:11 +01:00
Michael 728661f82c
Explictly enable catching exceptions 2019-07-21 16:57:11 +01:00
Michael 082897eff5
Set PIC everywhere 2019-07-15 22:46:58 +01:00
Michael 2cc180b6a4
Add FindLibUV and migrate 2019-07-13 14:06:34 +01:00
Jeff Becker 095330b787
disable shell hooks by default 2019-07-12 09:06:59 -04:00
Michael 80d1e4aef9
Add in-source version of std::filesystem::permissions 2019-07-02 00:01:25 +01:00
Michael 59e8a7316f
Revert "Merge pull request #668 from michael-loki/remove_cppbackport"
This reverts commit 33142d5005, reversing
changes made to 408a652a01.
2019-07-01 10:33:03 +01:00
Michael 07377b8d5f
Find libuv for Ryan 2019-06-28 12:08:43 +01:00
Michael 1639c58cb6
Remove cppbackport from vendor dir 2019-06-27 16:25:44 +01:00
Jeff Becker e265661adb
try fixing issue number 17 (not done) 2019-06-24 12:48:48 -04:00
Rick V 302fa232d7
I _think_ this is a decent compromise for LTO vs non-LTO builds 2019-06-17 23:48:58 -05:00
Rick V 8a0bd5b532
try fixing libabyss
Why does abyss not inherit the include folders used by the rest of the lokinet build?
2019-06-17 23:29:36 -05:00
Jeff Becker 4c1ac0e991
update for win32 parts 2019-06-12 09:20:00 -04:00
Jeff Becker 9447a1bb25
ammend previous commit 2019-06-10 12:38:24 -04:00
Jeff Becker 473ceedb9d
try linking for freebsd 2019-06-10 12:36:00 -04:00
Jeff Becker 223f2702d3
Merge branch 'fix-big-ooooofff' 2019-06-06 06:53:54 -04:00
Jeff Becker 9deafa4cb8
use libuv 2019-06-02 17:17:05 -04:00
Michael 19802229ac
Update cmake to point to vendor dir 2019-05-29 23:18:47 +01:00
Michael 19578fa8fc
Fix ASAN build 2019-05-18 16:34:03 +01:00
Jeff Becker 3e0585e0b8
remove fatal error message from git revision when not in git 2019-05-03 10:00:12 -04:00
Michael 8c570653ee
Refactor top level cmake file into multiple components 2019-04-30 00:48:48 +01:00
Michael 0b4d787042
More work on router docker image
- Multi-stage docker build (final image only 15MB!)
- Build in release mode
    - Fix bug with release mode
    - Fix compiler being dumb AF
    - Disable FORTIFY for now
- Enable LTO when making a staticly linked release
- Fix some gcc specific warnings
- Refactor cmake stuff into multiple files
2019-04-28 17:04:52 +01:00
Michael 9ee525a006
Fix shadowing warnings 2019-04-26 00:21:19 +01:00
Michael 4143472a17
Add cmake module to target a library as 'system', and fix a few warnings 2019-04-25 00:27:31 +01:00
Rick V 4c4efd1aaa
irrelevant on Microsoft C++ 2019-04-22 18:05:57 -05:00
Rick V 01ec1cc61c
fix windows (#535) 2019-04-19 13:28:03 -05:00
michael-loki 0195152e05 Allow builds on MSVC (#518)
* Import cxxopts to replace getopts usage

* Add visual studio build things

* Fixup abseil build parts

* Replace __attribute__((unused)) with ABSL_ATTRIBUTE_UNUSED

* Fixup minor windows build issues

* Replace getopts usage

* Temporarily fixup .rc files

* More minor windows fixes

* Get a working build

* Revert .rc files

* Revert changes to nodedb
2019-04-19 13:24:33 -05:00
Jeff Becker 2c5fa94170
fix freebsd build 2019-04-19 09:31:33 -04:00
Rick V 853d19209c
Revert "unbreak windows target"
select 64-bit target by default (since normal devs REEEEEEEE at the sight of 4 byte ptrs)
pretty much every _other_ linux/unix has a c++17 windows compiler

This reverts commit a844c61049.
2019-04-11 10:17:58 -05:00
Jeff Becker a844c61049
unbreak windows target 2019-04-10 11:53:10 -04:00
Jeff Becker 3da6551e82
make android compile 2019-04-08 11:54:19 -04:00
Jeff Becker 2edf1da819
add more android stuff 2019-04-08 10:27:55 -04:00
Jeff Becker e178a70929
use shared_ptr for event loop 2019-04-08 08:01:52 -04:00
Michael 25f10d5b11
Fix more address sanitiser issues 2019-04-02 10:03:53 +01:00
Michael 6b5a688e08
Fix Catalog.Iterator test failure 2019-03-29 22:14:22 +00:00
Rick V 07e5978144
only pick one event loop on sol2 2019-03-26 21:20:58 -05:00
Rick V bbba2c0eea
improve windows select loop
add generic svr4 poll(2) event loop
2019-03-26 19:56:34 -05:00
Michael f2c5d32399
Metric collection subsystem 2019-03-25 20:36:23 +00:00
Rick V 490f3f31d0
minimal build system plumbing for backports to oracle solaris 2019-03-25 12:03:56 -05:00
Rick V abb9284167
add sun link libs 2019-03-25 12:03:53 -05:00
Rick V 2e1b2ff8b1
abseil should pick up all of our compile flags (and stop on warnings if enabled), temp disable tuntap on Solaris 2019-03-25 12:03:53 -05:00
Rick V 87cebd9ba6
port abseil-cpp to Solaris 2.x and legacy compiler
fuck oracle with a rusty knife, we only support compilers with a full implementation of G++ (so, basically, only clang)
2019-03-25 12:03:52 -05:00
Rick V 67845e342a
distinguish good solaris from bad solaris 2019-03-25 12:03:52 -05:00
Rick V 866643f099
public releases should run reasonably well on most
devices in spite of the buiild system
currently, the instruction scheduling is tuned for the AMD K10 uarch, which is the CPU
of the unix build agent
2019-03-20 21:13:14 -05:00
Rick V be5e70f9eb
update clang bits for release 2019-03-18 23:09:29 -05:00
Rick V 072ff9a50e
finally make -WX/-Werror optional 2019-03-18 19:22:37 -05:00
Rick V 8443c5ab8c
Support abseil on i686-pc-winnt-gnu 2019-03-18 16:13:09 -05:00
Rick V 53f7360094
added warning for AMD users 2019-03-18 16:13:09 -05:00
Rick V 61fb9a9c82
added some notes to gear up for the #371 putback by @michael-loki
moved platform-specifc stuff *to* platform specifc lib
removed -Wno-format on windows and *actually* turn on proper format checking
here using compiler-specifc extension for C99
2019-03-18 16:13:08 -05:00
Rick V aab8167408
remove AMD FPU hack, remove FPU opts for crypto code in debug mode
see https://www.digitaltrends.com/computing/ryzen-amd-bios-fix-fma3-crash/
AMD has released a fix for Zen and later
2019-03-18 16:13:08 -05:00
Jeff a79f27cfd0
Merge pull request #395 from majestrate/staging
lokinet rpc use http digest auth instead of basic auth
2019-03-13 16:21:14 -04:00
Jeff Becker 990049f423
make rpc do basic auth and shit like that 2019-03-13 16:01:10 -04:00
michael-loki 8ada001bc9
Remove negative thread safety warning flag
This is experimental, and has a bunch of false positives.
2019-03-12 10:13:33 +00:00
Jeff Becker 734a5b5fae
more 2019-03-11 09:01:43 -04:00
Jeff Becker 2218749134
Merge remote-tracking branch 'origin/staging' into staging 2019-03-07 17:58:29 -05:00
Jeff Becker 6a09348c47
today's work 2019-03-07 17:53:36 -05:00
Jeff 1a09a12ee0
Merge branch 'staging' into absl_mutex 2019-03-05 17:06:23 -05:00
Michael 61f3273dc4
Add threading annotations and fix potential deadlocks 2019-03-04 00:03:52 +00:00
Michael c5a129ddff
Convert to use abseil synchronisation primitives 2019-03-03 21:20:38 +00:00
Michael 93399fdbb4
Make nlohmann::json part of the build 2019-03-02 02:32:18 +00:00
Michael c6e6bdb90f
Fix for windows just being the Worst 2019-02-20 22:09:29 +00:00
Michael 4132f883a7
Make libabyss mandatory 2019-02-20 22:08:49 +00:00
Michael a0125ffe86
Move abyss/json to llarp/util/json 2019-02-15 23:43:26 +00:00
Jeff Becker 1d958d95de
* make rpc compile right
* make link sessions introspectable
* make utp write buffers fully flush each tick
2019-02-15 17:19:19 -05:00
Michael 90373b806c
Fix log tag after cmake changes 2019-02-15 20:49:10 +00:00
Jeff cdc19c52fa
Merge branch 'staging' into abstract_router_replacement 2019-02-15 12:10:18 -05:00
Michael 048fa83c39
Finish replacement of Router with AbstractRouter 2019-02-14 22:31:31 +00:00
Rick V e9048559b2
late-breaking hotfix patch for libabyss-win32 2019-02-14 15:10:56 -06:00
Rick V 1bb441a367
fix clang cross-compile nt shared lib 2019-02-14 14:30:18 -06:00
Michael ebf2800c3f Fixup windows 2019-02-14 00:22:21 +00:00
Michael 2997b38e35
Fixup after rebase 2019-02-12 10:24:43 +00:00
Michael 656843e9a3
Fix issues on debian 2019-02-12 01:19:38 +00:00
Michael 1aeacb0043
Refactor CMakeLists into distinct directories 2019-02-12 01:19:37 +00:00
Jeff f84ceb3b6a
Merge pull request #300 from majestrate/staging
add rpc endpoint for dumping internal state
2019-02-11 12:30:56 -05:00
Jeff Becker 46222df421
refactor 2019-02-11 12:14:43 -05:00
Michael 4f3c2a7e80
Add support for building with ccache 2019-02-09 12:38:49 +00:00
Jeff Becker e1522faeaa
add introspection rpc endpoint 2019-02-08 14:43:25 -05:00
Rick V 1fafe27300
damn it 2019-02-06 20:14:48 -06:00
Jeff 1369c3b23c
Merge pull request #283 from despair86/dev
more windows fixes
2019-02-06 21:10:30 -05:00
Rick V 4c19f562f0
A compromise for C++17 ports.
Remove abseil build config for such targets.
Include headers (which should fall through by definition).
Macintosh can go fuck itself.
2019-02-06 19:53:15 -06:00
Rick V 406e3a6b6c
document option correctly 2019-02-06 19:53:14 -06:00
Rick V 72d0720da0
use c++17 stl on windows
While the absl:: namespace is aliased to std:: in a
standard win32 build, it also needlessly adds the
library to the build process, only to discard most
of it at link time. This also makes the distinction
between Abseil STL and G++ STL more explicit, to avoid
some forms of confusion.

From the product page:
"...We think not: if you look at the preprocessor conditional
structure in our string_view.h you'll see that we are trying
to identify whether your C++ installation has std::string_view.
If you do, absl::string_view is defined only as an alias to the
standard type. If you don't, you get a C++11/C++14 compatible
implementation of the type. This means you can adopt Abseil,
and for types we are b you can use the type from the absl
namespace. As soon as your project is built with the appropriate
compiler/standard library version, we'll fall away and leave you
with the standard type, albeit spelled funny. Better: as soon as
you know that your project will only build with the appropriate
language version you can run tools that we will provide to change
the places that refer to absl::string_view to spell it std::string_view
-- since those are the same type, this is safe to do, even across
API boundaries.

So, one reason you might want to adopt Abseil: early access to facilities
from upcoming C++ standard library releases, with a clear migration path."
2019-02-06 19:53:14 -06:00
Rick V 8800cee785
fix crash on exit 2019-02-06 19:53:13 -06:00
Rick V 3931b7d9d7
implement missing libabyss functionality
remove some finished TODOs
2019-02-06 19:53:11 -06:00
Rick V 59c6184233
linker flags have no effect in compilation
and will cause -Werror=unused-command-line-option
on apple cc
2019-02-06 19:53:10 -06:00
Rick V 6d608d292f
add warning message for libg++ runtime 2019-02-06 19:53:09 -06:00
Rick V 00a095b61c
update description 2019-02-06 19:53:09 -06:00
Rick V 7f52c9eae7
restore gtest win32 patch (stripped during gtest rebase)
enable lokinet shared library on win32

TODO: define an API to expose from this library
currently, it resorts to exporting *everything*
including system implementation details that otherwise
should remain hidden out of sight
(i.e. the winsock2 load stubs for new socket API, or entire libstdc++ classes!)
2019-02-06 19:53:09 -06:00
Rick V d0448dfb64
finish moving event loop implementations out of headers
ok

ah so that was the mac build problem
2019-02-06 19:53:08 -06:00
Rick V 6e93697214
surprisingly a full abyss build works
also move the event loop code back into platform lib (!!!)
2019-02-06 19:53:07 -06:00
Rick V f277f368a1
win32 g++ is set to c++17 by default, so we use the _real_ string_view class 2019-02-06 19:53:06 -06:00
Michael 6d8d910aff
Refactor and add tests for bits.hpp 2019-02-07 00:23:22 +00:00
Michael 4c3734a146
Build everything with -fPIC 2019-02-05 23:06:17 +00:00
Ryan Tharp 5769e5c716
Merge pull request #259 from michael-loki/more_dht_tests
More dht tests
2019-02-05 14:06:29 -08:00
Michael 40e85f0f69
Tests for dht::RCNode and dht::ISNode 2019-02-05 21:35:46 +00:00
Michael 1ba6507a2f
Tests for dht::ServiceAddressLookup 2019-02-05 21:35:46 +00:00
Michael b1213c7a7c
Tests for dht::TagLookup 2019-02-05 21:18:38 +00:00
Michael 6055829df4
Remove tl::optional and use absl::optional always 2019-02-03 02:13:31 +00:00
Michael 41f9f5fad6
Import abseil LTS 20181200 2019-02-03 01:56:38 +00:00
Michael 1f95f1e78f
More unit tests of dht internals 2019-01-26 00:40:40 +00:00
Michael 40449df0f1
Split classes out of dht::Context 2019-01-26 00:40:40 +00:00
Michael 9d0d3a4cc9
Fix build on darwin 2019-01-23 22:16:21 +00:00
Michael f4e0cb2d4b
Import latest gtest from upstream - commit 569fba4d742b67753b5374b6686170afb74acb0c 2019-01-23 22:16:21 +00:00
Jeff 832ad942aa
Merge pull request #237 from despair86/dev
separate header and implementation
2019-01-23 15:27:19 -05:00
Jeff Becker cbfbdc506d
Merge branch 'staging' of ssh://github.com/loki-project/loki-network into staging 2019-01-23 12:33:00 -05:00
Rick V b062504590
static link windows unconditionally 2019-01-22 18:21:37 -06:00
Rick V d70a9fbfd4
oops, that patch would have tanked a 64-bit windows profile run 2019-01-22 18:21:37 -06:00
Rick V bef0316aab
more sun notes 2019-01-22 18:21:36 -06:00
Rick V ce9f455bf3
be more descriptive in version-info
(cherry picked from commit 427a6668ffbc1ed46042727b2ee9420cdc88aad8, it almost slipped out)
2019-01-22 18:17:04 -06:00
Rick V 3a47c96aee
how the hell does someone skip over these while redoing source tree layout 2019-01-22 18:17:03 -06:00
Rick V 3037de9450
lower non-AVX2 minimum CPU target to NetBust Xeon (Nocona, Prescott)
(cherry picked from commit e7ae0e5258)
2019-01-22 18:17:02 -06:00
Jeff Becker 9991d17976
Merge branch 'staging' into use-lokid-seed 2019-01-22 12:24:19 -05:00
Jeff Becker 465a3d3e43
redo ini parser 2019-01-22 09:13:26 -05:00
Jeff Becker d89e58199a
add initial identity key seed stuff
add more kubernetes stuff

make shared library installed if built
2019-01-21 10:45:18 -05:00
Michael ccb5f6b696
Add tests for dht::TXOwnere 2019-01-19 18:16:40 +00:00
Michael 2d395cc3f9
Move code to correct home 2019-01-19 18:16:10 +00:00
Michael 80bd41916e
More tidying of dht code 2019-01-19 13:49:15 +00:00
Michael 03d56c1591
Add test suites for dht bucket, kademlia and key 2019-01-19 01:41:14 +00:00
Michael 7296ebcbe8
Tidy dht code 2019-01-19 01:41:14 +00:00
Michael fec75125f4
Add tests for crypto/types 2019-01-15 23:33:16 +00:00
Michael da6cdfc0b2
More refactoring to continue to make dependency graph acylic 2019-01-15 23:15:44 +00:00
Michael 6e38e85a79
Produce hierarchy of 'libraries' inside libllarp 2019-01-15 23:15:43 +00:00
Jeff 11257e7b4d
Merge pull request #222 from michael-loki/crypto_folder
Split and move crypto code to a subdirectory
2019-01-15 18:15:08 -05:00
Michael 79157414f3
Split crypto.hpp into 3 different files 2019-01-13 16:32:51 +00:00
Michael 04e0fe3ad7
Move crypto code to a subdirectory 2019-01-13 15:06:16 +00:00
Michael 8a0eb6b71f
Enable C++14 for all builds 2019-01-13 14:10:38 +00:00
Jeff 328ce40212
Merge pull request #216 from michael-loki/coverage
Add flag to generate coverage data
2019-01-13 08:35:02 -05:00
Michael c655600704
Add flag to generate coverage data 2019-01-12 01:19:24 +00:00
Michael 70a55612eb
Create initial set of test cases for llarp_findOrCreate* functions 2019-01-12 00:42:30 +00:00
Michael a3463120cc
Move net components into a distinct folder 2019-01-11 01:42:02 +00:00
Michael 317e29b777
Move win32 specific files to win32 dir 2019-01-11 01:22:21 +00:00
Michael 081d4dfa32
Reorganise source into more folders 2019-01-11 01:19:49 +00:00
Michael fa2b466ffe
Reorganise tests to mirror source layout 2019-01-11 00:12:52 +00:00
Michael e5eda0fb8f
Move lokinet unspecific components to a util/ library 2019-01-10 20:07:24 +00:00
Michael 167d5aca6d
Add test suite for bencode 2019-01-10 17:43:33 +00:00
Jeff Becker 6206fb2a41
Merge branch 'datagram' into staging 2019-01-10 07:30:21 -05:00
Jeff Becker 5b87fb509e
start on kubernetes shim and fix up shared library target and ffi python code 2019-01-09 11:07:55 -05:00
Jeff Becker e88c39b9e2
more work 2019-01-05 08:45:05 -05:00
Michael a54b9a2dc4
Fix UTPTest test failures 2019-01-03 21:54:26 +00:00
Michael 9658c80b48
Minor build fixes 2019-01-03 21:25:16 +00:00
Jeff Becker f9d30b9b96
commit day's work 2019-01-03 16:10:40 -05:00
Michael 8f053106e6
Add tests for llarp::dht::Key_t 2018-12-30 18:56:34 +00:00
Jeff Becker 180ca69d02
fix issue #185 2018-12-28 10:04:05 -05:00
Jeff Becker 49c898ed92
Merge remote-tracking branch 'origin/master' into staging 2018-12-26 11:27:11 -05:00
Rick febb1a0207
version resource 2018-12-24 21:20:17 -06:00
Rick d58e17ba48
make lokinet-win32 installer safe to use for in-place upgrades
add version resource
2018-12-24 20:38:43 -06:00
despair 43afede986
make RPI option more descriptive 2018-12-22 12:58:12 -06:00
Jeff Becker 15e0597fb1
merge 2018-12-20 12:56:31 -05:00
Jeff Becker 8c8172aeb1
Merge remote-tracking branch 'origin/master' into dev 2018-12-20 12:56:08 -05:00
Michael ba95767f57
Add tests for alignedbuffer 2018-12-20 16:16:18 +00:00
Jeff Becker b39c46fc03
!!! this breaks backwards compat :^) !!!
redo link protocol to use 2 session keys, add unit tests.
2018-12-17 15:46:08 -05:00
Ryan Tharp 2e9511c978 fix make install 2018-12-17 04:07:00 +00:00
Jeff Becker ba02076122
fix up cmake more 2018-12-16 17:31:32 -05:00
Jeff Becker 49cd52adc7
include lokinet-bootstrap 2018-12-16 17:28:09 -05:00
Michael 4257b62e88
Add .cpp files for all .hpp files 2018-12-15 16:21:52 +00:00
Jeff Becker 09e01adf32
flush snode traffic queues 2018-12-12 13:37:03 -05:00
despair 624eec8179 >make this a native app
this will be packed up by the inno-setup installer script already
cleaned up CMakeLists
make it more readable
exposed (nearly?) all of the configurable options
2018-12-11 23:32:11 -06:00
Jeff Becker fad734a5ce
strict types for pubkey, secretkey and routerid 2018-12-10 12:22:59 -05:00
Jeff Becker a770b9516f
update makefile to use cmake install 2018-12-10 09:26:59 -05:00
Jeff Becker 1704c7e234
make cmake install target work and setcap on linux 2018-12-10 09:20:35 -05:00
Jeff Becker 2e98ad804b
patch for RPI build 2018-12-07 13:21:19 -05:00
Jeff Becker f63045d5a4
Merge remote-tracking branch 'origin/master' into dev 2018-12-05 09:41:35 -05:00
Jeff Becker 1d1bde2e88
add dnslib 2018-12-03 17:22:59 -05:00
despair d26141d433 Merge branch 'dev' into reeeee-divergence
ok hope this works -rick

# Conflicts:
#	.gitignore
#	.vscode/settings.json
#	include/llarp/service/context.hpp
#	llarp/dns.cpp
#	llarp/dnsc.cpp
#	llarp/ev.cpp
#	llarp/ev.hpp
#	llarp/ev_win32.hpp
#	llarp/net.cpp
#	llarp/router.cpp
#	llarp/router.hpp
#	llarp/service/context.cpp
2018-12-03 12:24:56 -06:00
Jeff Becker baa94ec345
make windows build happy 2018-12-03 09:39:30 -05:00
Jeff Becker 11372c9544
Merge branch 'dev' into snode-endpoint 2018-11-29 09:34:19 -05:00
Jeff Becker 7e4d74cbfc
add initial jni stuff for lokinet android. i fucking hate android so god damn much. 2018-11-26 17:46:22 -05:00
Ryan Tharp 7874567611 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-11-26 15:54:52 +00:00
despair c17e30b587 clang from new-ci now defaults to libgcc as originally intended
add option to use the other runtime lib
2018-11-26 06:26:37 -06:00
Jeff Becker d064fc69d4
Merge remote-tracking branch 'origin/master' into dev 2018-11-22 09:33:41 -05:00
Jeff Becker 0bbf9c431a
more flags for compile 2018-11-21 16:52:35 -05:00
Ryan Tharp 40522639ce Merge branch 'master' of https://github.com/loki-project/loki-network 2018-11-21 13:39:27 +00:00
Ryan Tharp b707809efa fix RPI compile target and make sure $HOME/.lokinet/ exists before trying to download to it 2018-11-21 03:07:34 +00:00
Ryan Tharp efe86c2401 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-11-20 19:32:12 +00:00
Jeff Becker f8180839db
s/17/11/ 2018-11-19 10:15:32 -05:00
Jeff Becker b64ed33755
more static linking flag magic 2018-11-19 09:43:46 -05:00
Jeff Becker a35066ce42
static link with pthread because GNU a shit 2018-11-19 08:47:14 -05:00
Jeff Becker 5357b4b69f
make clang happy, disable netns by default (for now) 2018-11-19 08:39:35 -05:00
Jeff Becker 3718a7d016
Merge remote-tracking branch 'github/master' into dev 2018-11-19 07:01:42 -05:00
Jeff Becker d37daf7996
Merge branch 'master' into dev 2018-11-19 06:57:29 -05:00
despair ae616d0fa5 minor fixes
eh

why apple why

why apple why
2018-11-19 04:29:39 -06:00
despair be7ac352ca switch to a simulation of epoll
the native async event system on windows
is _not_ very good at getting external events
(i.e. we receive data, but we don't get any indication
that this ever happened)
2018-11-19 04:29:39 -06:00
despair e18f786ab2 refactor event loop stuff
find some place in the C code to place the worker thread procedure
until such time that michael presents the new thread pool class

fix unix

get a new event port each time and delet in the event loop after use
2018-11-19 04:29:39 -06:00
despair d9863128b9 the intrinsic variant is 32-bit clean
the ASM variant is not

found it

fix

something is wrong with the external build

hmm

why is this critical section doing nothing

fix multiple init

debug init

ok fixed
2018-11-19 04:29:36 -06:00
Ryan Tharp 969865c499 internal refactor
- created various structs for each record type
- changed DNSd to return most of the recieved packet (allowing for multiple answers)
- favor vector<byte_t> over c-style buffers
- support NS records a little better
- fixed output on cname, ptr, txt
2018-11-18 15:08:02 -08:00
Jeff 23c8807d59
Merge pull request #54 from neuroscr/master
DNS QoL improvements
2018-11-18 15:13:25 -05:00
Ryan Tharp f03c41a99f Deprecate DNS_PORT as configureable in INI now. Reduce confusion as it would change DNSc port too and I believe it was meant only to change DNSd port. 2018-11-18 09:41:09 -08:00
Jeff Becker 78e59fced0
remove cxx11 2018-11-18 09:43:32 -05:00
Jeff Becker f5ac1b5c0d
Merge branch 'master' into dev 2018-11-18 07:43:13 -05:00
Michael 3c5e3e79f9
Create ThreadPool component with test suite 2018-11-17 21:13:34 +00:00
Michael 8a52bf448e
Create Queue component with test suite 2018-11-17 21:13:34 +00:00
Michael 951a065867
Create QueueManager component with test suite 2018-11-17 21:13:34 +00:00
Jeff Becker 17297837d9
that's dumb af, use std::unique_ptr 2018-11-15 16:47:05 -05:00
Jeff Becker 1fc8db83ca
Merge remote-tracking branch 'rick/dev' into dev 2018-11-13 10:25:07 -05:00
Jeff Becker 9db99d4d04
fix debian build 2018-11-13 10:16:14 -05:00
despair ff6a271278 why would pos ever be negative? 2018-11-13 06:54:44 -06:00
despair 7af2dbbbc2 restore cross-compile rules 2018-11-13 06:30:40 -06:00
despair c1d07e99a0 remove dead code
(rip golden shield users D:)

remove more dead code

debug udp stuff

remove debug kqueue
2018-11-13 06:30:40 -06:00
despair 19181b5e2c fuck the apple compiler
bad merge!

make -Werror optional for end-users
2018-11-13 06:30:39 -06:00
Jeff Becker 09945dce62
initial exit/service node comm code with some unit tests (incomplete) 2018-11-12 11:43:40 -05:00
Jeff Becker a59343cfec
we NEED NT >= 6 for event loop 2018-11-09 09:48:43 -05:00
Jeff Becker 0a236d9f8c
use core2 for windows because cross compile 2018-11-09 08:33:14 -05:00
Jeff Becker cc4a836fc5
add windows target for ci 2018-11-09 07:49:29 -05:00
Jeff Becker fd87f2ac96
purge VLAs from the codebase 2018-11-09 07:25:14 -05:00
Jeff Becker 04a249a503
Merge remote-tracking branch 'rick/dev' 2018-11-08 07:36:18 -05:00
Jeff Becker 960aa479e9
fixes for ancient rpi toolchain 2018-11-08 07:31:50 -05:00
despair 48d2685e36 fix windows cross-compile 2018-11-07 19:25:17 -06:00
Jeff Becker 7a78832841
Merge remote-tracking branch 'rick/dev' 2018-11-07 11:05:47 -05:00
Jeff Becker 7090a012f3
Merge remote-tracking branch 'micheal/wextra' into dev 2018-11-07 10:57:34 -05:00
Michael Thorpe 33bfaf7ecd
Enable -Wextra
test criteria:
- test build on macOS
- test build in debian docker container
- test build in fedora docker container
2018-11-07 15:31:13 +00:00
despair 04e620ebf2 add iocp tcp connect
msys2 grabs its reactos sdk headers straight out of git
most cross-compilers use the versioned releases (v6 as of last week)

huh. for once setting the windows version macros doesn't break anything.
2018-11-06 17:54:34 -06:00
Michael Thorpe a2d5d80779
Enable warnings as errors
test criteria:
- Built from clean on macOS
2018-11-06 22:48:17 +00:00
Jeff Becker b501913f85
make android build work with gradle 2018-11-06 09:27:25 -05:00
Jeff Becker f1cca956f9
make android compile again 2018-11-06 09:06:09 -05:00
Ryan Tharp 1957916170 re-import missing addr functionality, make compile 2018-11-03 13:52:50 +00:00
Ryan Tharp 5d90cbe895 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-11-03 13:43:21 +00:00
Ryan Tharp 26d4fd068f Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-11-03 06:12:37 -07:00
Ryan Tharp 0de60ee8a5 move net into platform 2018-11-03 06:10:21 -07:00
Jeff Becker da0547f7ba
check for freebsd 2018-11-02 13:45:39 -04:00
Jeff Becker f285a0ac3e
update tests 2018-11-02 13:08:01 -04:00
despair a24ae7cdbc add avx2 option 2018-11-02 03:08:28 -05:00
despair ce367ac501 merge 2018-11-02 02:51:33 -05:00
despair 765934a796 add assembler flags 2018-11-01 08:27:55 -05:00
Jeff Becker 2d279e83fd
initial tcp connect for epoll 2018-11-01 08:47:14 -04:00
Jeff Becker 6fe6e59bd5
Merge branch 'dev' 2018-10-30 09:10:41 -04:00
despair 186e2ea989 refactored event loop base classes
use the base class impl for llarp::tcp_conn::sendto

can't seem to escape quotes ;-;

yeah this need to stay out of the unix build

turn on gnu extensions

apple stuff

remove duplicate code

clean up

fix vtable

clang-format

parameter checks
2018-10-30 00:41:44 -05:00
despair 9afe63d738 polish new build script
pass cxxflags down to c++ driver
2018-10-30 00:18:25 -05:00
despair 38f2a6b2c9 be slightly less annoying
check build rules
2018-10-30 00:16:34 -05:00
despair d425b5d308 implement tcp evloop on win32
(with its now-obsolete distinction between socketfd and fd)

sockets and file descriptors used to be distinct objects....back in the
16-bit Winsock 1.1 era, which needlessly complicated the 32-bit port
back then. these days one can use [Read|Write]File(2) to operate on
sockfds...which also have some of the semantics of [read|write]v(2)
i.e. the scatter-gather thing it's known for is done in async handler

-rick

variants are nice

added note to self

clang-format

link abyss properly

oops

shut up

*shrugs*

oops forgot to start winsock

moved our async io status flags to the base class

let derived classes override them as needed

this is probably a synchronous op _anyway_

fix typo

wtf
2018-10-30 00:16:33 -05:00
despair 3aaea187b6 add intel intrinsics for 32-bit avx build
make crypto and abyss static

update readme for windows
2018-10-30 00:16:32 -05:00
despair b1c28be916 grabbed packaging scripts and fluff from abandoned repo 2018-10-30 00:16:18 -05:00
Ryan Tharp 5248283128 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-10-29 23:15:53 +00:00
Michael Thorpe 4690aceb0d
Modernise CMake build
- Bump to require version 3.7.0
- Change to use `add_compile_options` over manually appending to
  `CMAKE_C_FLAGS` or `CMAKE_CXX_FLAGS`.
- Use CMake machinery to set expected C++ standard
- Use CMake machinery to find flag(s) for pthread build
2018-10-28 18:57:04 +00:00
Ryan Tharp 3f424e545d Merge branch 'master' of https://github.com/loki-project/loki-network 2018-10-27 22:57:19 +00:00
Jeff ccead80c3d make jsonrpc server configurable on build, disabled by default.
default to client only and require explicitly run as relay to run as relay.
2018-10-27 08:41:04 -04:00
Jeff Becker 04d55b94c5
fix up jsonrpc stuff 2018-10-25 13:19:53 -04:00
Jeff Becker ab7a4cd805
make jsonrpc demo work 2018-10-25 13:03:25 -04:00
Jeff Becker 957a5ed833
initial epoll event loop implementation for tcp 2018-10-24 14:02:42 -04:00