Commit Graph

439 Commits (c26b67c379073dd60d430758529ab85b8fb89e80)

Author SHA1 Message Date
despair c17e30b587 clang from new-ci now defaults to libgcc as originally intended
add option to use the other runtime lib
6 years ago
Jeff Becker d064fc69d4
Merge remote-tracking branch 'origin/master' into dev 6 years ago
Jeff Becker 0bbf9c431a
more flags for compile 6 years ago
Ryan Tharp 40522639ce Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Ryan Tharp b707809efa fix RPI compile target and make sure $HOME/.lokinet/ exists before trying to download to it 6 years ago
Ryan Tharp efe86c2401 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker f8180839db
s/17/11/ 6 years ago
Jeff Becker b64ed33755
more static linking flag magic 6 years ago
Jeff Becker a35066ce42
static link with pthread because GNU a shit 6 years ago
Jeff Becker 5357b4b69f
make clang happy, disable netns by default (for now) 6 years ago
Jeff Becker 3718a7d016
Merge remote-tracking branch 'github/master' into dev 6 years ago
Jeff Becker d37daf7996
Merge branch 'master' into dev 6 years ago
despair ae616d0fa5 minor fixes
eh

why apple why

why apple why
6 years ago
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)
6 years ago
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
6 years ago
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
6 years ago
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
6 years ago
Jeff 23c8807d59
Merge pull request #54 from neuroscr/master
DNS QoL improvements
6 years ago
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. 6 years ago
Jeff Becker 78e59fced0
remove cxx11 6 years ago
Jeff Becker f5ac1b5c0d
Merge branch 'master' into dev 6 years ago
Michael 3c5e3e79f9
Create ThreadPool component with test suite 6 years ago
Michael 8a52bf448e
Create Queue component with test suite 6 years ago
Michael 951a065867
Create QueueManager component with test suite 6 years ago
Jeff Becker 17297837d9
that's dumb af, use std::unique_ptr 6 years ago
Jeff Becker 1fc8db83ca
Merge remote-tracking branch 'rick/dev' into dev 6 years ago
Jeff Becker 9db99d4d04
fix debian build 6 years ago
despair ff6a271278 why would pos ever be negative? 6 years ago
despair 7af2dbbbc2 restore cross-compile rules 6 years ago
despair c1d07e99a0 remove dead code
(rip golden shield users D:)

remove more dead code

debug udp stuff

remove debug kqueue
6 years ago
despair 19181b5e2c fuck the apple compiler
bad merge!

make -Werror optional for end-users
6 years ago
Jeff Becker 09945dce62
initial exit/service node comm code with some unit tests (incomplete) 6 years ago
Jeff Becker a59343cfec
we NEED NT >= 6 for event loop 6 years ago
Jeff Becker 0a236d9f8c
use core2 for windows because cross compile 6 years ago
Jeff Becker cc4a836fc5
add windows target for ci 6 years ago
Jeff Becker fd87f2ac96
purge VLAs from the codebase 6 years ago
Jeff Becker 04a249a503
Merge remote-tracking branch 'rick/dev' 6 years ago
Jeff Becker 960aa479e9
fixes for ancient rpi toolchain 6 years ago
despair 48d2685e36 fix windows cross-compile 6 years ago
Jeff Becker 7a78832841
Merge remote-tracking branch 'rick/dev' 6 years ago
Jeff Becker 7090a012f3
Merge remote-tracking branch 'micheal/wextra' into dev 6 years ago
Michael Thorpe 33bfaf7ecd
Enable -Wextra
test criteria:
- test build on macOS
- test build in debian docker container
- test build in fedora docker container
6 years ago
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.
6 years ago
Michael Thorpe a2d5d80779
Enable warnings as errors
test criteria:
- Built from clean on macOS
6 years ago
Jeff Becker b501913f85
make android build work with gradle 6 years ago
Jeff Becker f1cca956f9
make android compile again 6 years ago
Ryan Tharp 1957916170 re-import missing addr functionality, make compile 6 years ago
Ryan Tharp 5d90cbe895 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Ryan Tharp 26d4fd068f Merge branch 'master' of https://github.com/neuroscr/loki-network 6 years ago
Ryan Tharp 0de60ee8a5 move net into platform 6 years ago
Jeff Becker da0547f7ba
check for freebsd 6 years ago
Jeff Becker f285a0ac3e
update tests 6 years ago
despair a24ae7cdbc add avx2 option 6 years ago
despair ce367ac501 merge 6 years ago
despair 765934a796 add assembler flags 6 years ago
Jeff Becker 2d279e83fd
initial tcp connect for epoll 6 years ago
Jeff Becker 6fe6e59bd5
Merge branch 'dev' 6 years ago
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
6 years ago
despair 9afe63d738 polish new build script
pass cxxflags down to c++ driver
6 years ago
despair 38f2a6b2c9 be slightly less annoying
check build rules
6 years ago
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
6 years ago
despair 3aaea187b6 add intel intrinsics for 32-bit avx build
make crypto and abyss static

update readme for windows
6 years ago
despair b1c28be916 grabbed packaging scripts and fluff from abandoned repo 6 years ago
Ryan Tharp 5248283128 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
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
6 years ago
Ryan Tharp 3f424e545d Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
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.
6 years ago
Jeff Becker 04d55b94c5
fix up jsonrpc stuff 6 years ago
Jeff Becker ab7a4cd805
make jsonrpc demo work 6 years ago
Jeff Becker 957a5ed833
initial epoll event loop implementation for tcp 6 years ago
Ryan Tharp 4d309131bb rollback neuro hack to fix Kee's build 6 years ago
Jeff 78fdfca345 add missing file 6 years ago
Jeff e5ac3857fc make it link of osx 6 years ago
Jeff cadc01a9b1 makeit work on macos 6 years ago
Jeff Becker 6828ea2d1f
add more stuff from builder repo 6 years ago
Jeff Becker c262f8b5e3
bundle relevent libsodium parts 6 years ago
Jeff Becker cc106ed37b
fix dht bug, probably, re-enable loopback testnet functionality 6 years ago
Jeff Becker 612057003a
de changes 6 years ago
Jeff Becker ca1243f392
add initial libabyss bolierplate 6 years ago
Jeff Becker 77c24d655c
update cmakelists to include new test 6 years ago
Ryan Tharp 14ccb2f81e Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Ryan Tharp da9850f0e3 start of dns unit tests 6 years ago
Jeff Becker 475ac63f4a
initial admin api infra 6 years ago
Jeff Becker 0b0278a312
we don't use crypto_async anymore 6 years ago
Jeff Becker 1f02498fc0
code for disabling default hidden service 6 years ago
despair86 faf6022288 rip ms c++ 6 years ago
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
6 years ago
despair86 7f809eb53b fix windows build 6 years ago
despair86 8117960843 found more unix exclusive stuff 6 years ago
despair86 7c5d98ca31 clean up win32 build rules 6 years ago
Jeff Becker 138c222a1a
dns port configurable at compile time (make this configurable on runtime plz) 6 years ago
Ryan Tharp 0e6d85f6c9 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker f3ebb48c7b
enable TUNTAP by default 6 years ago
Ryan Tharp 8aa9d99977 update build, refactor .loki lookups into their own file 6 years ago
Ryan Tharp 29a304f928 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
despair86 924dac752b I think i merged pthread and the seh handler together on my CI machine, and such a setup is site-specific anyway.... 6 years ago
despair86 4afa358c49 fix win32 build 6 years ago
despair86 8845f3ecc5 strip extra unneeded code from libutp 6 years ago
despair86 af41b7bf80 fix up tree 6 years ago
Rick V 0477db37ca wow64 cross compile setup 6 years ago
despair86 8c7f5547a9 finally enabled gtest on win32
update authorship
6 years ago
Ryan Tharp f283923cb7 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Ryan Tharp 9f33edeed0 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker 6986f04418
basic router profiling and fix ip rewrite 6 years ago
Jeff Becker 59b5af551a
remove -march=native 6 years ago
Jeff Becker 7922959528
fix cxx flags 6 years ago
Jeff Becker c3fbb717de
remove cxx flags 6 years ago
Jeff Becker 60d5277351
broken 6 years ago
Ryan Tharp 742a0b8da7 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker ba648868c4
more 6 years ago
Jeff Becker 085563ac2f
implement utp link protocol
gut curvecp for now
6 years ago
Jeff Becker 1839da9c3c
add bencode file helpers and move link server functions into source file 6 years ago
Jeff Becker 03e73b0bb9
fix typo 6 years ago
Jeff Becker fe38ab6a5a
clean up cmakelists.txt 6 years ago
Jeff Becker c3c388b6aa
remove iwp and start on curvecp
does not compile
6 years ago
Jeff Becker b122fc59f8
refactor (not done) 6 years ago
Jeff Becker d3eef5c8b7
more netns code 6 years ago
Ryan Tharp 8724ddd792 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker 4aebbda640
more tun stuff 6 years ago
despair86 8c1b2c3b79 win32 fluff
more win32 on msc++ fluff

and a solaris patch that i may revert later if the cpp directives aren't processed correctly
-despair86
6 years ago
despair86 9ad93a0893 sunos patches, avoid shadowing data members in derived classes, header fixes
SunOS build works, with a few issues:

- no tuntap debugging on Solaris? (TUNSDEBUG ioctl missing)
- regular socket ioctls are not pulled in with #include <sys/ioctl.h>
  even though they're included at the bottom of same (filio.h,
  sockio.h)
- no named threads in any libre fork of solaris

-despair86 (rick)

sun patch
6 years ago
Jeff Becker 1a1f93c171
* more tun stuff
* use std::unique_ptr where bare pointers aren't absolutely required
6 years ago
Ryan Tharp a5f2f7080d Merge branch 'master' of https://github.com/neuroscr/loki-network 6 years ago
Ryan Tharp 94b6b828c1 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker 45b12edc5c
disable tests for win32 6 years ago
Jeff Becker 04bf8d6116
some tun interface code 6 years ago
Jeff Becker 6a828ea985
fix shadow build 6 years ago
Jeff Becker 0d0a3357f7
fix libntrup avx2 detection 6 years ago
Jeff Becker 186bd7d573
use NTRU for introset end to end encryption 6 years ago
Jeff Becker d96fb7b478
update cmake build 6 years ago
Ryan Tharp ec237768d7 merge 6 years ago
Ryan Tharp ab3493ba3d Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker d7c1c3322f
it works. 6 years ago
Jeff Becker 6bae623481
more defaults 6 years ago
Jeff Becker 32d82b5ba5
add more defaults in config with comments 6 years ago
Jeff Becker d5532e4de4
more boilerplate and enable tun/tap build 6 years ago
Ryan Tharp 4e7fee7ef5 linux build fixes 6 years ago
Jeff Becker 74330839d0 add link target log for android 6 years ago
Jeff Becker 54f5d292ff fix android target 6 years ago
Jeff Becker b97ea0c409 fix target names 6 years ago
Jeff Becker 3a0ca84962 add android target 6 years ago
Jeff Becker 32bc886b99 add android support (initial) 6 years ago
sachaaaaa 37aed03df2 use WIN32_LEAN_AND_MEAN project-wise to silent warnings on windows about winsock2.h and windows.h 6 years ago
Jeff Becker 91c8451381 try fixing broken CI build 6 years ago
Jeff Becker 9c212ce03d don't include libc 6 years ago
despair86 bdc54835c2 initial windows server port. Requires Windows 2000 Server or later.
- updated CMake build script
- builds with Microsoft C++ 19.1x. such builds require Windows 8.1 or later
  unless you have the .NET Server 2003-toolset (v141_xp)
- windows port requires a C++17 compiler since cpp17::filesystem is POSIX-only
- HAVE_CXX17_FILESYSTEM manual toggle in CMake. You must manually specify where
  std::[experimental::]filesystem is defined in LDFLAGS or CMAKE_x_LINKER_FLAGS.
- IPv6 support can be added at any time, and the windows sdk still has that
  inline getaddrinfo(3) if it can't find a suitable IPv6 stack.
- inline code for mingw-w64: there's a few bits and pieces still missing simply because
  mingw-w64 derives its windows sdk from wine and reactos, and then writing all the newer
  stuff into it by hand straight from the MSDN manpages.
- misc. C++11 stuff (nullptr and friends)
- Internal file handling code takes UTF-8 or plain 8-bit text, NTFS is UTF-16, so
  std::filesystem::path::c_str() is wchar_t. That's no good unless you first
  call std::filesystem::path::string().
- implemented getifaddrs(3) and if_nametoindex(3) on top of GetAdapters[Info|Addresses](2).
- updated readme with new info

BONUS: may implement Solaris/illumos IOCP someday...

-despair86
6 years ago
Jeff Becker 928ec3790d deterministic logging 6 years ago
Jeff Becker b1eddbc70f unbreak shared library build 6 years ago
Jeff Becker 3a3fdd10e8 configurable pthread 6 years ago
Jeff Becker 976ca3015c move iwp server to own source file 6 years ago
Ryan Tharp 2fcd885030 make compile on linux gcc 7.2 6 years ago
despair86 211691ba47
Update CMakeLists.txt
matching logical statements
6 years ago
despair86 aec6ccbf1f this file does not exist yet in master 6 years ago
despair86 bbe0634edc this should get things going on UNIX :D 6 years ago
Jeff Becker f222f002f4 Merge remote-tracking branch 'loki/master' 6 years ago
Jeff Becker 53b80e8448 remove unused code 6 years ago
Jeff Becker 6708654a6f more android changes 6 years ago
Jeff Becker e6e40c6a8d add cmake define for android 6 years ago
Jeff Becker 4ec076baf5 android ifaddrs shim 6 years ago
Ryan Tharp 14ad9cab11 Merge branch 'master' of https://github.com/majestrate/llarp 6 years ago
Ryan Tharp 03fff240cd remove base64, add dns.cpp, add pthread to dns binary 6 years ago
Jeff Becker 19e3b9c642 * more hidden service code
* begin lokinet api
6 years ago
Jeff Becker d38646ed54 more hidden service stuff 6 years ago
Jeff Becker 7fbc21207f more hidden service stuff 6 years ago
Jeff Becker 5d5757cbec more dht stuff 6 years ago
Jeff Becker bb8d566671 hidden service tags 6 years ago
Jeff Becker 4b748a29f3 fix dns 6 years ago
Jeff Becker f48acbc23e Merge remote-tracking branch 'ryan/libdns' into hidden-service-dht
also run make format
6 years ago
Ryan Tharp d162ced40c updates to libllarp-platform 6 years ago
Jeff Becker a319c994de make shadow compile 6 years ago
Jeff Becker 0242e293c9 more 6 years ago
Jeff cf7285f159 add -Wall compile flag 6 years ago
Jeff Becker 77aadf1d90
more api stuff 6 years ago
Jeff Becker a68cfefaa6
make it compile and run make format 6 years ago
Ryan Tharp eb7e98ce6a search for libsodium, dns exe, backport lib, platform lib, search /usr/local/include 6 years ago
Jeff Becker 5bbaae4e2e
more 6 years ago
Jeff Becker bae4f746be
publish hidden service descriptors and acknoledge publish 6 years ago
Jeff Becker 39e100d0b2
refactor dht code to be split up a bit more 6 years ago
Jeff Becker dfa567e816
Merge remote-tracking branch 'sachaaaa/refactor' into hidden-service-dht 6 years ago
sachaaaaa 6f055eca4f Extracted structs out of iwp_link.cpp
to rebase

to rebase
6 years ago
sachaaaaa 7442387307 renamed .c to .cpp 6 years ago
Jeff Becker 6cb31ecb1a
base32 encoding and unit tests 6 years ago
Jeff Becker 21a2ffdeaf
* refactor log functions
* add more stuff for hidden service dht
6 years ago
Jeff Becker d987aa09c7
disable tuntap libs by default 6 years ago
Jeff Becker 18b50f4a74
* implement path transfer message
* update dht docs
* update other docs
* start working on dht for hidden services
* fix up unit tests for dht
* update makefile and other build files
6 years ago
Jeff Becker 64d12086c9
update libtuntap, make it compile without warnings and add to CMakeLists.txt 6 years ago
Jeff Becker 92d1f50203
make path latency tests work 6 years ago
Jeff Becker da22f306e0
* add path building management
* fix bug in iwp that caused crash
6 years ago
Ryan Tharp deb97fda3f Merge branch 'master' of https://github.com/majestrate/llarp 6 years ago
Jeff Becker c88d3860b8
some api code 6 years ago
Jeff Becker f2c42e4e5a
onion routing downstream traffic relaying works on testnet 6 years ago
Ryan Tharp 9dff277a7e Merge branch 'master' of https://github.com/majestrate/llarp
(upstream repo was broken)
6 years ago
Jeff Becker 39c63432be
ALMOST got path building working 6 years ago
Ryan Tharp 899b899957 include encode.cpp 6 years ago
Jeff Becker 78f3ca0155
more 6 years ago
Jeff Becker 08c0318e82
initial path building stuff (broken) 6 years ago
Jeff Becker 597aa8eb74
fix release target 6 years ago
Jeff Becker dc8b9a9315
update readme
remove static linking option
6 years ago
Jeff Becker 2c864f91d2
don't include pthread in static 6 years ago
Jeff Becker ce2341ab1c
split up libc and libc++ for static links 6 years ago
Jeff Becker f0cb152c19
change to static libs 6 years ago
Jeff Becker 54960ef5de
add static link option for ellcc 6 years ago
Jeff Becker 22d4d5b3d0
make rcutil build 6 years ago
Jeff Becker 53eb3d0a59
default to c++11 6 years ago
Jeff Becker ccf8574c03
make unit tests work 6 years ago
Jeff Becker ec53cab169
more onion routing stuff 6 years ago
Jeff Becker a947806b57
start working on onion routing parts 6 years ago
Jeff Becker 90611731a5
initial shadow test net 6 years ago
Jeff Becker d587c1cbf5
add shadow target 6 years ago
Jeff Becker fc069e3810
add shadow plugin 6 years ago
Jeff Becker 0278ba559c
add single threaded mode for shadow 6 years ago
Jeff Becker 9816fd65e9
* logging refactor to be concise
* don't inline bencode

* refactor initial start of dht code a bit
6 years ago
Jeff Becker 5649d261ae
start fleshing out dht subsystem a bit 6 years ago
Jeff Becker edc477b071
update build files again 6 years ago
Jeff Becker 5e76744ccc
update again 6 years ago
Jeff Becker 7f2852f85c
update camke 6 years ago
Jeff Becker 7c33a835ff
fix 6 years ago
Jeff Becker 812bb6e0c0
update build files 6 years ago
Jeff Becker 0c7a62de9d
update cmake files 6 years ago
Jeff Becker bee7c2b271
ipv4 fixes 6 years ago
Jeff Becker 02d785d30c
add release targets to makefile for future
purge llarp_alloc

colored logging
6 years ago
Jeff Becker e58bd10b23
add python ffi example wrapper code 6 years ago
Jeff Becker 3f21cc5865
make c api for main 6 years ago
Jeff Becker 4a3a0fc556
make an application context to simplify the main function 6 years ago
Jeff Becker 956973cb84
use configurable number of net io threads 6 years ago
Jeff Becker 39b1714f27
add minimal logger
move some printf to use logger

remove warnings from bencode.h
6 years ago
Jeff Becker 93f0e03958
handle inter node messages
currently only handling LIM
6 years ago
Jeff Becker 71c34231b2
Merge remote-tracking branch 'ryan/master' 6 years ago
Jeff Becker bc9e32d690
clang format and lots of stupid bug fixes 6 years ago
Ryan Tharp 12d29cce13 add rcutil 6 years ago
Jeff Becker 0f6c0d8a56
start fixing up main 6 years ago
Jeff Becker 14b795a384
refactor async crypto and remove old unneeded code 6 years ago
Jeff Becker cb351ae9ff
refactor iwp, get rid of dtls 6 years ago
Jeff Becker cb53d66869
mbedtls 6 years ago
Jeff Becker 64d5265102
more 6 years ago
Jeff Becker 91a9108300
refactor 6 years ago
Jeff Becker 7b46e44859
more 6 years ago
Jeff Becker f7e52a1878
more 6 years ago
Jeff Becker 63150549fc
start moving to cmake 6 years ago