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
Jeff Becker
58db5c1769
make android build work in android studio
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
Jeff Becker
f03603a0da
always remove dht nodes, lock sometimes, don't make router destructor virtual
6 years ago
Jeff Becker
80b99d2efb
make format and parallelize analyze target in makefile
6 years ago
Jeff Becker
7c3f80e84b
Merge remote-tracking branch 'ryan/master'
6 years ago
Ryan Tharp
917edfbd4e
update llarp::Addr changes
6 years ago
Jeff
d630862887
fix up config generation with example snapp config
6 years ago
Michael Thorpe
4f794277bc
Fix compile issue in endpoint.cpp
6 years ago
Ryan Tharp
6192b0277e
accelerate already built paths (HasPathToService)
6 years ago
Ryan Tharp
1ded1813ea
lower debug
6 years ago
Ryan Tharp
25fb34c7b4
lower debug
6 years ago
Jeff
1f7e0d79e6
make Endpoint::HasPathToService behavior correct
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
Jeff
50f37d8ede
don't use endpoint's paths
6 years ago
Ryan Tharp
eeab475875
fix build
6 years ago
Ryan Tharp
7af23dcaad
format
6 years ago
Ryan Tharp
82d8d3c04d
merge
6 years ago
Ryan Tharp
67390de0c2
merge
6 years ago
Jeff Becker
080c0da4a0
remvoe const requirement and update unit tests for jsonrpc server
6 years ago
Jeff Becker
e7cfc9aa6e
try fixing freebsd build
6 years ago
cathugger
73e6141023
ip: endianess swaps aren't needed, a bit of renaming and tweaking
...
Also `make format`.
6 years ago
Jeff Becker
c8f870392f
make format
6 years ago
Jeff Becker
ac1d1169bc
Merge remote-tracking branch 'rick/dev' into dev
6 years ago
Jeff
4b92661f5d
* fix up kqueue tcp connection tracking so it works on mac os
...
* match changes in epoll for kqueue changes
* additional checks in libabyss
6 years ago
despair
57ea36f947
i knew i was forgetting something earlier
6 years ago
despair
6e862f1acf
apple compiler reeeeee
6 years ago
Jeff Becker
2d279e83fd
initial tcp connect for epoll
6 years ago
despair
561c5228d3
fixed race condition in event loop....dns seems to work now :DDD
6 years ago
despair
45f46fbece
this...looks promising :DDDDD
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
5a32ccf220
scan-build fixes on win32 code paths
6 years ago
despair
38f2a6b2c9
be slightly less annoying
...
check build rules
6 years ago
despair
c5d1b32286
remove microsoft c++ crud
...
🤔 🤔 🤔 🤔
6 years ago
despair
5aba9776d0
fix unit test
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
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
Jeff Becker
e722e69543
more freebsd stuff
6 years ago
Jeff Becker
0d09dbb1c2
disable special tun behavior for freebsd
6 years ago
Jeff Becker
51bfcb5493
milliseconds not microseconds
6 years ago
Jeff Becker
dbd2c41909
use event loop for time
6 years ago
Ryan Tharp
3f424e545d
Merge branch 'master' of https://github.com/loki-project/loki-network
6 years ago
Ryan Tharp
1877498fce
Merge branch 'master' of https://github.com/loki-project/loki-network
6 years ago
Ryan Tharp
9205b8172c
scan-build fixes
6 years ago
Jeff
9f9d4cd0e0
flush during tick
6 years ago
Jeff
2ca152f43f
make tun work on kqueue
6 years ago
Jeff
678f9e30eb
call cleanup timer
6 years ago
Jeff
04b738aa9e
make it work on osx for real
6 years ago
Jeff
d3531ca561
fix macos build and add anaylze target
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
b3e7fee982
try making compatable with older versions of rapidjson
...
add toy munin plugin
6 years ago
Jeff Becker
6e1761eb05
first jsonrpc endpoint added
6 years ago
Jeff Becker
48e4f676cc
add rpc method for llarp.admin.link.neighboors
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
e8bbc10838
zero copy logic for abyss::http::ConnImpl
6 years ago
Jeff Becker
f873b18036
fix up event loop
6 years ago
Jeff Becker
c483ec5231
bounds check for tun and tcp writing
6 years ago
Jeff Becker
de17324012
don't make tcp event code epoll specific
6 years ago
Jeff Becker
957a5ed833
initial epoll event loop implementation for tcp
6 years ago
Ryan Tharp
6f261c321c
Merge branch 'master' of https://github.com/neuroscr/loki-network
6 years ago
Jeff
b001d1f96b
try fixing whatever memory corruption happens
6 years ago
Jeff
8c591ceb96
use default endpoint
6 years ago
Jeff
f35f34ede4
check for address
6 years ago
Jeff
c3989cbcf4
make dns work correctly with rdns, tired of waiting just make it fucking work.
6 years ago
Jeff
5ec9b651df
ony publish to near router
6 years ago
Jeff
78448174f5
don't propagate introset too far
6 years ago
Ryan Tharp
4646779b0a
refactor out net.hpp => net_addr.*, new inAddr struct API
6 years ago
Jeff
0e66ba2026
flush tun on macos
6 years ago
Jeff
cadc01a9b1
makeit work on macos
6 years ago
Jeff
6a6ceec514
Merge branch 'master' into dev
6 years ago
Jeff Becker
dccaa77e43
correct headers
6 years ago
Jeff Becker
4411d85040
fix headers
6 years ago
despair86
d8cfac47a8
ok updated to match recent changes
6 years ago
Jeff Becker
c262f8b5e3
bundle relevent libsodium parts
6 years ago
Jeff
4ea3549c21
tick and use std::unique_ptr
6 years ago
Jeff
b8ed9ceea8
fix kqueue and merge changes
6 years ago
Jeff
390333c787
Merge remote-tracking branch 'origin/master'
6 years ago
Jeff
146fa13837
merge
6 years ago
Jeff Becker
cc106ed37b
fix dht bug, probably, re-enable loopback testnet functionality
6 years ago
Jeff Becker
c6f1355c5d
Merge branch 'master' into dev
6 years ago
Jeff Becker
118954818c
try fixing memleak
6 years ago
Jeff Becker
d3bada5564
fix windows
6 years ago
Jeff Becker
51baf43e99
fix
6 years ago
Jeff Becker
94e4a6798c
fix windows
6 years ago
Jeff Becker
26ad679b1d
set send queue limit to something really big
6 years ago
Ryan Tharp
c3c2eda283
clang-format
6 years ago
Ryan Tharp
3b24b69513
TunEndpoint::ObtainAddrForIP(), identity tun range better, actually return revdns for tunmapaddrs, make in-addr.arpa matching smarter, actually send 404s, additional unit test
6 years ago
Ryan Tharp
db64547ab3
Merge branch 'master' of https://github.com/loki-project/loki-network
6 years ago
Jeff Becker
40b003b6fc
Merge branch 'dev' of ssh://github.com/loki-project/loki-network into dev
6 years ago
Jeff Becker
612057003a
de changes
6 years ago
Jeff
1cb2bb6136
Merge branch 'dev'
6 years ago
Jeff
cc3908f025
more changes
6 years ago
Jeff
71172fe72b
use std::unique_ptr as to not leak like a motherfucker
6 years ago
Ryan Tharp
58c7443073
improve string handling of .loki, initial reverse hook handling
6 years ago
Ryan Tharp
0d9f42d87f
stop iterator if visit returns false, fix funtion name typo
6 years ago
despair86
ae4a6ac217
fix ineffective RC bogon check
...
this used to write both private and public inet6 addresses into the RCs, for relays with port forwarding enabled
6 years ago
despair86
1a46631454
remove unused code
6 years ago
despair86
9d546cbac4
separate read and write event ports to avoid overwriting queue events
6 years ago
despair86
d4a7dfd08d
remove extra code, pass the buffer size to read() directly, check for overflow
6 years ago
despair86
b2cb4cd0e8
fix uint
6 years ago
Jeff Becker
e6a8edffbf
call hook
6 years ago
Jeff Becker
9a962540fb
update eventloop on win32
6 years ago
Jeff Becker
15c99f3192
unit tests for bogons
6 years ago
Jeff Becker
7960752430
fix crash
6 years ago
Jeff Becker
1a55839e26
Merge branch 'dev' of ssh://github.com/loki-project/loki-network into dev
6 years ago
Jeff
1da0f9f6f5
path randomization for lookups on failure
6 years ago
Jeff Becker
ff26f2dcff
do bounds check
6 years ago
Jeff Becker
d7c188d817
Revert "add a check for overlow in event loop"
...
This reverts commit 1042c73829
.
6 years ago
Jeff Becker
1042c73829
add a check for overlow in event loop
6 years ago
Jeff Becker
f72a954029
log endpoint when requesting introset
6 years ago
Jeff Becker
acaeb26f45
shift intro if expired before building next message
6 years ago
Jeff Becker
d3278946f2
ipv4 bogon checking
6 years ago
cathugger
ca01daa89a
ip: support DCCP and UDP-Lite, TCP chksum twx; tun: more filtering
6 years ago
cathugger
d0c35803a5
tun+ip: filter packets at destination, drop instead of truncating
6 years ago
cathugger
360ccc33de
ip: more one's complement math improvements
6 years ago
cathugger
4d5f5fecfa
ip: make things fragmentation-aware, cleanup UDP handling; also format
...
one's complement math is pretty fun
6 years ago
Jeff Becker
bf9512dfaf
Merge remote-tracking branch 'ryan/master'
6 years ago
Jeff Becker
8bf28940d1
Merge remote-tracking branch 'cathugger/master'
6 years ago
despair86
7f226d7734
revert merge
...
(i can put these in the dev branch for now)
6 years ago
cathugger
18c20396b6
add {h,n}uint16_t types, optimize TCP/UDP checksuming
...
use static functions + switch instead of lambda functions + map.
6 years ago
despair86
5576254c2e
make it compile on nt
6 years ago
despair86
88854f558e
Revert "return the correct address family?"
...
not really needed....looks safe so long as the bytes are in network order (hence, the inet4 link will only grab the top 32 bits of the whole inet6 address field.)
This reverts commit 56e41ebda0c29bb2a85dd3f8dbbfba30da8c0a2c.
6 years ago
despair86
7d30d9ee38
return the correct address family?
6 years ago
despair86
e08dedf7a2
really fix endianness
6 years ago
despair86
630cf99bae
fix inet4 to inet6 transition bug
6 years ago
Ryan Tharp
fd41f7b3db
just make sure everything is initialized, fix typo in testing debug
6 years ago
Ryan Tharp
316df4703a
merge
6 years ago
Ryan Tharp
14ccb2f81e
Merge branch 'master' of https://github.com/loki-project/loki-network
6 years ago
Jeff Becker
252b2ee3fb
move function into source file out of header and add operator overloading for == and != on introset
6 years ago
cathugger
71c9965471
ip: code cleanups and compatibility improvements
...
do not assume that packets come with address zero-ed, older clients don't do that.
they don't modify checksum either, therefore we should be able to get correct checksum if we use deltachksum with old and new addresses.
6 years ago
Jeff
e0c6404830
fix previous commit
6 years ago
Jeff
0023c15d0f
fix introset expiration
6 years ago
Jeff
fd37100ac8
typofix
6 years ago
cathugger
257ce99f43
ip: fix UDP checksum offset
6 years ago
cathugger
e1c7d8a696
some tweaks and fixups
6 years ago
cathugger
4971fae171
uint32_t byte ordering type safety
6 years ago
Ryan Tharp
47a67cdefb
restructure casting to avoid crash
6 years ago
Jeff Becker
aa988a6fa4
Merge remote-tracking branch 'cathugger/master'
6 years ago
cathugger
05e6c31238
ip: some fixes and tweaks
6 years ago
Jeff Becker
1d7b0d77a9
Revert "make it compile :DDDD"
...
This breaks the build and reverts commit 6732cbf54f
.
6 years ago
Jeff Becker
6732cbf54f
make it compile :DDDD
6 years ago
Jeff Becker
32a028f6d8
Merge remote-tracking branch 'cathugger/master'
6 years ago
Jeff Becker
cbfc73515e
fix zeroing of addresses, put it in the right place
6 years ago
cathugger
5169df546c
ip: UDP checksum recalculation support
6 years ago
cathugger
7fd501e528
ip: use deltachksum for IPv4 headers aswell
6 years ago
cathugger
36ea776d07
ip: try to fix deltachksum
6 years ago
cathugger
0f8e0e9d58
tun: fix "fix "clear src/dst addresses and checksum before sending""
...
correct dst address is required for FlushSend to work, so do IP address and checksum null'ing there.
dang myself.
6 years ago
cathugger
4f7ae52cad
tun: fix "clear src/dst addresses and checksum before sending"
...
clearing of addresses and checksum was put in wrong place, so it null'd everything before writing to tun interface.
damnit jeff.
6 years ago
cathugger
ed39cb98e1
ip: (try to) fix deltachksum
6 years ago
cathugger
c515e4a248
ip: avoid pointless length checks
6 years ago
cathugger
a92e7c2104
ip: fix stupid MIN thing
6 years ago
cathugger
b5392c5679
make format
6 years ago
cathugger
2f4b0fbda6
ip: use delta TCP checksum calculation, don't recalculate ICMP checksum
6 years ago
cathugger
4cba59f3c4
tun+ip: clarify what happens where
6 years ago
Ryan Tharp
529cd4e6a3
expose dns_query and build_dns_packet()
6 years ago
Ryan Tharp
c8c4a0da10
don't risk any SOA crashes, fix language types
6 years ago
Ryan Tharp
924c3c0895
fix cast
6 years ago
Jeff Becker
eb9150431f
make it compile
6 years ago
Jeff Becker
6d7d6f6efa
clear src/dst addresses and checksum before sending (infoleak)
6 years ago
Jeff Becker
a7f8da4cbc
fix double free
6 years ago
Jeff Becker
475ac63f4a
initial admin api infra
6 years ago
Ryan Tharp
7550d6b022
revert Jeff's misunderstanding
6 years ago
Ryan Tharp
2fb5eaba1c
remove getSockAddr() per Jeffs PR CR, add additional notes to reduce confusion
6 years ago
Ryan Tharp
4d3ad13daa
Merge branch 'master' of https://github.com/loki-project/loki-network
6 years ago
Ryan Tharp
9bc9eed1d5
Merge branch 'master' of https://github.com/neuroscr/loki-network
6 years ago
Jeff
bb3bed11dc
try better handover logic again
6 years ago
Jeff
07871827d0
swap intro
6 years ago
Jeff
608768628a
don't rebuild
6 years ago
Jeff
78b82f9a5e
try not killing paths
6 years ago
Jeff
0c4709efdd
Merge branch 'master' of ssh://github.com/loki-project/loki-network
6 years ago
Jeff
a1d1518bc0
update logging to use human readable time
6 years ago
Jeff Becker
291cc57395
revert
6 years ago
Jeff Becker
f03698fb33
add to queue
6 years ago
Jeff Becker
f1a303d4d9
locking
6 years ago
Jeff Becker
0a4da82780
remove line
6 years ago
Jeff Becker
0480df528c
fixes
6 years ago
Jeff Becker
95b097f9b7
multithreaded crypto (maybe)
6 years ago
despair86
3c13101beb
clang-format
6 years ago
despair86
3c7b7f2176
overlapped io pending is NOT an error
6 years ago
despair86
31c8aee3c1
woooooooooooooo
...
lokinet on win32 is now live
and the server code is more stable than the client code
6 years ago
despair86
2326ad0339
added note
6 years ago
despair86
e98835ff5c
debug
6 years ago
despair86
457d6fbaf6
rebase conflict
6 years ago
despair86
94c5f46d33
try fixing win32 event loop
6 years ago
despair86
6ba60093d2
switch to std::variant for win32 ev_io
...
- sockets are a distinct (non-negative) file descriptor
- plain old file descriptors are opaque handles
this makes the specialisations of llarp::ev_io on win32 type-safe as
- TAP-Windows v9 adapter is a plain old device file (same as on UNIX and Linux)
- UDP listeners are sockets, so the type must change (from signed to unsigned int) to accomodate Winsock2
6 years ago
despair86
ca0d09142a
Finally put together some skeletal TUN code for NT
...
up next: debugging the windows client code
stretch goal: prototype hosting a full masternode on Windows Server (still _highly_ experimental when it _does_ appear)
6 years ago
Jeff
11753f5d7e
clarification for path transfer
6 years ago
Jeff
56d07ea700
try fix, dont use me
6 years ago
Jeff
a1fd9a0f93
don't publish every build
6 years ago
Jeff
78e601807d
fix
6 years ago
Jeff
9a60c08810
only publish when we have at least 3 established paths
6 years ago
Jeff
e5208b65cc
mark session active
6 years ago
Jeff
a0317e1430
remove logging
6 years ago