Commit Graph

659 Commits (dev)

Author SHA1 Message Date
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