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
Ryan Tharp
14ccb2f81e
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-10-11 12:21:16 +00:00
Jeff Becker
252b2ee3fb
move function into source file out of header and add operator overloading for == and != on introset
2018-10-11 07:41:10 -04:00
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.
2018-10-10 21:41:53 +00:00
Jeff
e0c6404830
fix previous commit
2018-10-10 17:37:45 -04:00
Jeff
0023c15d0f
fix introset expiration
2018-10-10 17:31:03 -04:00
Jeff
fd37100ac8
typofix
2018-10-10 15:24:04 -04:00
cathugger
257ce99f43
ip: fix UDP checksum offset
2018-10-10 17:51:37 +00:00
cathugger
e1c7d8a696
some tweaks and fixups
2018-10-10 15:50:52 +00:00
cathugger
4971fae171
uint32_t byte ordering type safety
2018-10-10 15:16:10 +00:00
Ryan Tharp
47a67cdefb
restructure casting to avoid crash
2018-10-10 06:33:25 -07:00
Jeff Becker
aa988a6fa4
Merge remote-tracking branch 'cathugger/master'
2018-10-10 08:10:04 -04:00
cathugger
05e6c31238
ip: some fixes and tweaks
2018-10-10 12:06:28 +00:00
Jeff Becker
1d7b0d77a9
Revert "make it compile :DDDD"
...
This breaks the build and reverts commit 6732cbf54f
.
2018-10-10 07:58:04 -04:00
Jeff Becker
6732cbf54f
make it compile :DDDD
2018-10-10 07:51:11 -04:00
Jeff Becker
32a028f6d8
Merge remote-tracking branch 'cathugger/master'
2018-10-10 07:48:44 -04:00
Jeff Becker
cbfc73515e
fix zeroing of addresses, put it in the right place
2018-10-10 07:47:30 -04:00
cathugger
5169df546c
ip: UDP checksum recalculation support
2018-10-10 05:38:59 +03:00
cathugger
7fd501e528
ip: use deltachksum for IPv4 headers aswell
2018-10-10 04:59:52 +03:00
cathugger
36ea776d07
ip: try to fix deltachksum
2018-10-10 04:29:44 +03:00
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.
2018-10-10 03:28:53 +03:00
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.
2018-10-10 03:00:48 +03:00
cathugger
ed39cb98e1
ip: (try to) fix deltachksum
2018-10-10 00:56:20 +03:00
cathugger
c515e4a248
ip: avoid pointless length checks
2018-10-10 00:09:16 +03:00
cathugger
a92e7c2104
ip: fix stupid MIN thing
2018-10-09 20:49:20 +03:00
cathugger
b5392c5679
make format
2018-10-09 20:09:45 +03:00
cathugger
2f4b0fbda6
ip: use delta TCP checksum calculation, don't recalculate ICMP checksum
2018-10-09 20:02:49 +03:00
cathugger
4cba59f3c4
tun+ip: clarify what happens where
2018-10-09 17:09:03 +03:00
Ryan Tharp
529cd4e6a3
expose dns_query and build_dns_packet()
2018-10-09 05:41:33 -07:00
Ryan Tharp
c8c4a0da10
don't risk any SOA crashes, fix language types
2018-10-09 05:40:53 -07:00
Ryan Tharp
924c3c0895
fix cast
2018-10-09 05:38:41 -07:00
Jeff Becker
eb9150431f
make it compile
2018-10-09 08:32:02 -04:00
Jeff Becker
6d7d6f6efa
clear src/dst addresses and checksum before sending (infoleak)
2018-10-09 08:29:46 -04:00
Jeff Becker
a7f8da4cbc
fix double free
2018-10-09 08:10:20 -04:00
Jeff Becker
475ac63f4a
initial admin api infra
2018-10-09 08:06:30 -04:00
Ryan Tharp
7550d6b022
revert Jeff's misunderstanding
2018-10-09 11:02:53 +00:00
Ryan Tharp
2fb5eaba1c
remove getSockAddr() per Jeffs PR CR, add additional notes to reduce confusion
2018-10-09 11:02:06 +00:00
Ryan Tharp
4d3ad13daa
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-10-09 10:41:19 +00:00
Ryan Tharp
9bc9eed1d5
Merge branch 'master' of https://github.com/neuroscr/loki-network
2018-10-09 10:41:00 +00:00
Jeff
bb3bed11dc
try better handover logic again
2018-10-08 17:24:00 -04:00
Jeff
07871827d0
swap intro
2018-10-08 16:41:50 -04:00
Jeff
608768628a
don't rebuild
2018-10-08 16:05:05 -04:00
Jeff
78b82f9a5e
try not killing paths
2018-10-08 15:57:30 -04:00
Jeff
0c4709efdd
Merge branch 'master' of ssh://github.com/loki-project/loki-network
2018-10-08 07:56:46 -04:00
Jeff
a1d1518bc0
update logging to use human readable time
2018-10-08 07:56:17 -04:00
Jeff Becker
291cc57395
revert
2018-10-07 11:29:36 -04:00
Jeff Becker
f03698fb33
add to queue
2018-10-07 10:32:54 -04:00
Jeff Becker
f1a303d4d9
locking
2018-10-07 10:23:02 -04:00
Jeff Becker
0a4da82780
remove line
2018-10-07 10:11:55 -04:00
Jeff Becker
0480df528c
fixes
2018-10-07 10:11:03 -04:00
Jeff Becker
95b097f9b7
multithreaded crypto (maybe)
2018-10-07 10:10:48 -04:00
despair86
3c13101beb
clang-format
2018-10-06 12:04:52 -05:00
despair86
3c7b7f2176
overlapped io pending is NOT an error
2018-10-06 12:04:52 -05:00
despair86
31c8aee3c1
woooooooooooooo
...
lokinet on win32 is now live
and the server code is more stable than the client code
2018-10-06 12:04:51 -05:00
despair86
2326ad0339
added note
2018-10-06 12:04:51 -05:00
despair86
e98835ff5c
debug
2018-10-06 12:04:50 -05:00
despair86
457d6fbaf6
rebase conflict
2018-10-06 12:04:50 -05:00
despair86
94c5f46d33
try fixing win32 event loop
2018-10-06 12:04:50 -05:00
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
2018-10-06 12:04:49 -05:00
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)
2018-10-06 12:04:48 -05:00
Jeff
11753f5d7e
clarification for path transfer
2018-10-06 12:37:54 -04:00
Jeff
56d07ea700
try fix, dont use me
2018-10-06 12:21:45 -04:00
Jeff
a1fd9a0f93
don't publish every build
2018-10-06 12:09:37 -04:00
Jeff
78e601807d
fix
2018-10-06 12:04:46 -04:00
Jeff
9a60c08810
only publish when we have at least 3 established paths
2018-10-06 12:03:54 -04:00
Jeff
e5208b65cc
mark session active
2018-10-06 11:41:24 -04:00
Jeff
a0317e1430
remove logging
2018-10-06 11:10:02 -04:00
Jeff Becker
848f5c3059
make it compile
2018-10-05 11:05:52 -04:00
Ryan Tharp
57fccaf2e6
ShouldCreateDefaultHiddenService(), auto mode for defaultIfAddr & defaultIfName, favor llarp::Addr, guards, NAT with no bindings fix, actually name ifname set ifname
2018-10-05 11:02:58 -04:00
Jeff Becker
832e1849b2
remove log and swap intros
2018-10-04 14:15:22 -04:00
Jeff Becker
98df3b09f2
only use good routers
2018-10-04 13:51:45 -04:00
Jeff Becker
ab306b70bb
try closing session correctly
2018-10-04 13:41:23 -04:00
Jeff Becker
d71f0db2a5
more vigorous profiling
2018-10-04 13:34:26 -04:00
Jeff Becker
746e95994e
stricter profiling and better handover
2018-10-04 12:48:26 -04:00
Jeff Becker
a8f7a26c00
fix timestamps
2018-10-04 11:36:46 -04:00
Jeff Becker
1146bb34ac
make dns work
2018-10-04 11:34:31 -04:00
Ryan Tharp
6738fcaa6a
make sure iptracker is configured on start
2018-10-04 11:20:52 -04:00
Ryan Tharp
1efb68e9cd
pass tracker into dns_iptracker_setup
2018-10-04 11:20:34 -04:00
Ryan Tharp
bd1a25856e
Merge branch 'master' of https://github.com/neuroscr/loki-network
2018-10-04 07:14:06 -07:00
Ryan Tharp
e09c80e7e9
make sure iptracker is configured on start
2018-10-04 07:10:42 -07:00
Ryan Tharp
f101dba662
fix refactor typo
2018-10-04 07:10:28 -07:00
Ryan Tharp
27afd392f2
pass tracker into dns_iptracker_setup
2018-10-04 07:10:09 -07:00
Jeff Becker
497c8c7d66
fix config
2018-10-04 09:56:06 -04:00
Jeff Becker
13a9ff7e5a
make configs generate sane defaults
2018-10-04 09:55:29 -04:00
Jeff Becker
a07b9b18d1
fix segfault
2018-10-04 09:21:05 -04:00