Commit Graph

388 Commits

Author SHA1 Message Date
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
Ryan Tharp
4d309131bb rollback neuro hack to fix Kee's build 2018-10-24 03:33:48 +00:00
Jeff
78fdfca345 add missing file 2018-10-23 09:36:20 -04:00
Jeff
e5ac3857fc make it link of osx 2018-10-23 09:21:33 -04:00
Jeff
cadc01a9b1 makeit work on macos 2018-10-23 09:18:48 -04:00
Jeff Becker
6828ea2d1f
add more stuff from builder repo 2018-10-23 07:45:14 -04:00
Jeff Becker
c262f8b5e3
bundle relevent libsodium parts 2018-10-23 07:29:37 -04:00
Jeff Becker
cc106ed37b
fix dht bug, probably, re-enable loopback testnet functionality 2018-10-21 10:19:49 -04:00
Jeff Becker
612057003a
de changes 2018-10-19 07:41:36 -04:00
Jeff Becker
ca1243f392
add initial libabyss bolierplate 2018-10-16 13:22:52 -04:00
Jeff Becker
77c24d655c
update cmakelists to include new test 2018-10-16 11:27:52 -04:00
Ryan Tharp
14ccb2f81e Merge branch 'master' of https://github.com/loki-project/loki-network 2018-10-11 12:21:16 +00:00
Ryan Tharp
da9850f0e3 start of dns unit tests 2018-10-11 04:51:13 -07:00
Jeff Becker
475ac63f4a
initial admin api infra 2018-10-09 08:06:30 -04:00
Jeff Becker
0b0278a312
we don't use crypto_async anymore 2018-10-03 07:02:56 -04:00
Jeff Becker
1f02498fc0
code for disabling default hidden service 2018-10-03 06:59:30 -04:00
despair86
faf6022288 rip ms c++ 2018-10-01 15:08:55 -05:00
despair86
8ac7d4f6dc if we didn't specify a path to save our config in, only create .lokinet on the assumption that $HOME or $APPDATA (on NT) already exist
add win32 tun glue, fix llarp timebase
(In fact, _both_ of these are guaranteed to exist on their respective platforms.)
also, tuntap is now wired up to the windows port
2018-10-01 15:08:52 -05:00
despair86
7f809eb53b fix windows build 2018-10-01 15:06:07 -05:00
despair86
8117960843 found more unix exclusive stuff 2018-10-01 15:06:06 -05:00
despair86
7c5d98ca31 clean up win32 build rules 2018-10-01 15:06:06 -05:00
Jeff Becker
138c222a1a
dns port configurable at compile time (make this configurable on runtime plz) 2018-09-30 08:42:28 -04:00
Ryan Tharp
0e6d85f6c9 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-24 13:24:42 +00:00
Jeff Becker
f3ebb48c7b
enable TUNTAP by default 2018-09-24 06:25:29 -04:00
Ryan Tharp
8aa9d99977 update build, refactor .loki lookups into their own file 2018-09-22 03:17:22 -07:00
Ryan Tharp
29a304f928 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-20 12:45:19 +00:00
despair86
924dac752b I think i merged pthread and the seh handler together on my CI machine, and such a setup is site-specific anyway.... 2018-09-20 00:36:11 -05:00
despair86
4afa358c49 fix win32 build 2018-09-19 20:41:47 -05:00
despair86
8845f3ecc5 strip extra unneeded code from libutp 2018-09-19 20:39:45 -05:00
despair86
af41b7bf80 fix up tree 2018-09-19 20:39:44 -05:00
Rick V
0477db37ca wow64 cross compile setup 2018-09-19 19:43:16 -05:00
despair86
8c7f5547a9 finally enabled gtest on win32
update authorship
2018-09-19 19:43:16 -05:00