Commit Graph

1078 Commits

Author SHA1 Message Date
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
5a32ccf220 scan-build fixes on win32 code paths 2018-10-30 00:16:34 -05:00
despair
38f2a6b2c9 be slightly less annoying
check build rules
2018-10-30 00:16:34 -05:00
despair
c5d1b32286 remove microsoft c++ crud
🤔🤔🤔🤔
2018-10-30 00:16:33 -05:00
despair
5aba9776d0 fix unit test 2018-10-30 00:16:33 -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
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
Jeff Becker
e722e69543
more freebsd stuff 2018-10-29 13:15:18 -04:00
Jeff Becker
0d09dbb1c2
disable special tun behavior for freebsd 2018-10-29 13:06:32 -04:00
Jeff Becker
51bfcb5493
milliseconds not microseconds 2018-10-29 12:58:19 -04:00
Jeff Becker
dbd2c41909
use event loop for time 2018-10-29 12:48:36 -04:00
Ryan Tharp
3f424e545d Merge branch 'master' of https://github.com/loki-project/loki-network 2018-10-27 22:57:19 +00:00
Ryan Tharp
1877498fce Merge branch 'master' of https://github.com/loki-project/loki-network 2018-10-27 15:40:20 -07:00
Ryan Tharp
9205b8172c scan-build fixes 2018-10-27 15:40:12 -07:00
Jeff
9f9d4cd0e0 flush during tick 2018-10-27 18:07:16 -04:00
Jeff
2ca152f43f make tun work on kqueue 2018-10-27 16:02:37 -04:00
Jeff
678f9e30eb call cleanup timer 2018-10-27 16:02:24 -04:00
Jeff
04b738aa9e make it work on osx for real 2018-10-27 15:03:23 -04:00
Jeff
d3531ca561 fix macos build and add anaylze target 2018-10-27 14:26:08 -04: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
b3e7fee982
try making compatable with older versions of rapidjson
add toy munin plugin
2018-10-26 09:02:15 -04:00
Jeff Becker
6e1761eb05
first jsonrpc endpoint added 2018-10-25 15:06:16 -04:00
Jeff Becker
48e4f676cc
add rpc method for llarp.admin.link.neighboors 2018-10-25 14:18:12 -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
e8bbc10838
zero copy logic for abyss::http::ConnImpl 2018-10-25 09:40:07 -04:00
Jeff Becker
f873b18036
fix up event loop 2018-10-25 08:39:32 -04:00
Jeff Becker
c483ec5231
bounds check for tun and tcp writing 2018-10-25 08:09:29 -04:00
Jeff Becker
de17324012
don't make tcp event code epoll specific 2018-10-25 08:00:29 -04:00
Jeff Becker
957a5ed833
initial epoll event loop implementation for tcp 2018-10-24 14:02:42 -04:00
Ryan Tharp
6f261c321c Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-10-24 03:34:08 +00:00
Jeff
b001d1f96b try fixing whatever memory corruption happens 2018-10-23 17:36:50 -04:00
Jeff
8c591ceb96 use default endpoint 2018-10-23 17:28:01 -04:00
Jeff
f35f34ede4 check for address 2018-10-23 14:18:00 -04:00
Jeff
c3989cbcf4 make dns work correctly with rdns, tired of waiting just make it fucking work. 2018-10-23 14:00:55 -04:00
Jeff
5ec9b651df ony publish to near router 2018-10-23 13:15:22 -04:00
Jeff
78448174f5 don't propagate introset too far 2018-10-23 13:04:35 -04:00
Ryan Tharp
4646779b0a refactor out net.hpp => net_addr.*, new inAddr struct API 2018-10-23 08:38:33 -07:00
Jeff
0e66ba2026 flush tun on macos 2018-10-23 09:52:14 -04:00
Jeff
cadc01a9b1 makeit work on macos 2018-10-23 09:18:48 -04:00
Jeff
6a6ceec514 Merge branch 'master' into dev 2018-10-23 09:14:04 -04:00
Jeff Becker
dccaa77e43
correct headers 2018-10-23 08:57:57 -04:00
Jeff Becker
4411d85040
fix headers 2018-10-23 08:40:34 -04:00
despair86
d8cfac47a8
ok updated to match recent changes 2018-10-23 07:56:59 -04:00
Jeff Becker
c262f8b5e3
bundle relevent libsodium parts 2018-10-23 07:29:37 -04:00
Jeff
4ea3549c21 tick and use std::unique_ptr 2018-10-21 13:07:17 -04:00
Jeff
b8ed9ceea8 fix kqueue and merge changes 2018-10-21 11:15:04 -04:00
Jeff
390333c787 Merge remote-tracking branch 'origin/master' 2018-10-21 10:58:01 -04:00
Jeff
146fa13837 merge 2018-10-21 10:57:36 -04:00
Jeff Becker
cc106ed37b
fix dht bug, probably, re-enable loopback testnet functionality 2018-10-21 10:19:49 -04:00
Jeff Becker
c6f1355c5d
Merge branch 'master' into dev 2018-10-21 09:07:48 -04:00
Jeff Becker
118954818c
try fixing memleak 2018-10-21 09:07:33 -04:00
Jeff Becker
d3bada5564
fix windows 2018-10-19 12:54:08 -04:00
Jeff Becker
51baf43e99
fix 2018-10-19 12:47:06 -04:00
Jeff Becker
94e4a6798c
fix windows 2018-10-19 12:44:35 -04:00
Jeff Becker
26ad679b1d
set send queue limit to something really big 2018-10-19 12:12:46 -04:00
Ryan Tharp
c3c2eda283 clang-format 2018-10-19 08:04:14 -07:00
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 2018-10-19 07:53:06 -07:00
Ryan Tharp
db64547ab3 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-10-19 12:33:13 +00:00
Jeff Becker
40b003b6fc
Merge branch 'dev' of ssh://github.com/loki-project/loki-network into dev 2018-10-19 07:41:47 -04:00
Jeff Becker
612057003a
de changes 2018-10-19 07:41:36 -04:00
Jeff
1cb2bb6136 Merge branch 'dev' 2018-10-19 07:35:51 -04:00
Jeff
cc3908f025 more changes 2018-10-19 07:34:27 -04:00
Jeff
71172fe72b use std::unique_ptr as to not leak like a motherfucker 2018-10-19 07:33:49 -04:00
Ryan Tharp
58c7443073 improve string handling of .loki, initial reverse hook handling 2018-10-18 05:17:02 -07:00
Ryan Tharp
0d9f42d87f stop iterator if visit returns false, fix funtion name typo 2018-10-18 05:14:26 -07:00
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
2018-10-16 12:49:41 -05:00
despair86
1a46631454 remove unused code 2018-10-16 12:25:26 -05:00
despair86
9d546cbac4 separate read and write event ports to avoid overwriting queue events 2018-10-16 12:18:29 -05:00
despair86
d4a7dfd08d remove extra code, pass the buffer size to read() directly, check for overflow 2018-10-16 12:18:29 -05:00
despair86
b2cb4cd0e8 fix uint 2018-10-16 12:18:28 -05:00
Jeff Becker
e6a8edffbf
call hook 2018-10-16 11:57:17 -04:00
Jeff Becker
9a962540fb
update eventloop on win32 2018-10-16 11:27:31 -04:00
Jeff Becker
15c99f3192
unit tests for bogons 2018-10-16 11:25:50 -04:00
Jeff Becker
7960752430
fix crash 2018-10-16 07:14:41 -04:00
Jeff Becker
1a55839e26
Merge branch 'dev' of ssh://github.com/loki-project/loki-network into dev 2018-10-15 17:20:58 -04:00
Jeff
1da0f9f6f5 path randomization for lookups on failure 2018-10-15 17:20:05 -04:00
Jeff Becker
ff26f2dcff
do bounds check 2018-10-15 12:20:45 -04:00
Jeff Becker
d7c188d817
Revert "add a check for overlow in event loop"
This reverts commit 1042c73829.
2018-10-15 12:19:48 -04:00
Jeff Becker
1042c73829
add a check for overlow in event loop 2018-10-15 12:09:34 -04:00
Jeff Becker
f72a954029
log endpoint when requesting introset 2018-10-15 11:43:41 -04:00
Jeff Becker
acaeb26f45
shift intro if expired before building next message 2018-10-15 09:45:42 -04:00
Jeff Becker
d3278946f2
ipv4 bogon checking 2018-10-15 08:02:32 -04:00
cathugger
ca01daa89a
ip: support DCCP and UDP-Lite, TCP chksum twx; tun: more filtering 2018-10-15 00:56:14 +03:00
cathugger
d0c35803a5
tun+ip: filter packets at destination, drop instead of truncating 2018-10-13 21:57:31 +03:00
cathugger
360ccc33de
ip: more one's complement math improvements 2018-10-13 21:31:50 +03:00
cathugger
4d5f5fecfa
ip: make things fragmentation-aware, cleanup UDP handling; also format
one's complement math is pretty fun
2018-10-13 18:42:47 +03:00
Jeff Becker
bf9512dfaf
Merge remote-tracking branch 'ryan/master' 2018-10-12 08:05:03 -04:00
Jeff Becker
8bf28940d1
Merge remote-tracking branch 'cathugger/master' 2018-10-12 08:02:37 -04:00
despair86
7f226d7734 revert merge
(i can put these in the dev branch for now)
2018-10-12 06:48:53 -05:00
cathugger
18c20396b6
add {h,n}uint16_t types, optimize TCP/UDP checksuming
use static functions + switch instead of lambda functions + map.
2018-10-12 04:38:16 +00:00
despair86
5576254c2e make it compile on nt 2018-10-11 19:22:11 -05:00
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.
2018-10-11 19:22:11 -05:00
despair86
7d30d9ee38 return the correct address family? 2018-10-11 19:22:11 -05:00
despair86
e08dedf7a2 really fix endianness 2018-10-11 19:22:10 -05:00
despair86
630cf99bae fix inet4 to inet6 transition bug 2018-10-11 19:22:10 -05:00
Ryan Tharp
fd41f7b3db just make sure everything is initialized, fix typo in testing debug 2018-10-11 12:22:29 +00:00
Ryan Tharp
316df4703a merge 2018-10-11 12:21:30 +00:00