Commit Graph

201 Commits

Author SHA1 Message Date
Logan oos Even
db5adc2038
fine-tuned REGISTER cookie handling (#837) 2021-10-03 18:19:29 +05:45
Logan oos Even
bc65a7f59e
added forwarded REGISTER cookie type (#836) 2021-10-03 05:24:33 +05:45
Logan oos Even
ebb357245a
added a flag field to QUERY_PEER (#835) 2021-10-02 23:17:45 +05:45
Logan oos Even
2d34545304
compile fix (#834) 2021-09-30 12:39:31 +05:45
Logan oos Even
16d248d921
fixed MinGW compile (#830) 2021-09-30 02:20:48 +05:45
Hamish Coleman
b735ad6b9e
added test framework and code coverage reporting (#797)
* Add a simple test framework

* Add a code coverage report example oneliner

* Move the coverage report into a separate directory

* Add a github action to run tests and publish a branch with the coverage report

* Fix: Missing job separator

* Fix: remember to actually run configure

* Fix: Gotta autogen before I configure

* Dont try to upload coverage report unless this is a push

* Clearly show the git ref tested in the coverage report

* Add a test for the various transforms

* Add tests for the elliptic curve and pearson hash

* Ensure we ignore new generated output

* Remove unneeded boilerplate from the compression tests

* Add an example of a test of the encoded wire packets

* Ensure that correctly testable data is output even when zstd is not compiled

* Factor test runner out into its own script and attempt to add it to the cmake file

* Tell cmake about a new object file

* Stop trying to make Cmake work...

* Stop trying to make cmake work, round 2

* In the middle of a thousand lines of cmake output was one important one - windows could not find assert() - try again

* Try again to plumb the tests into cmake

* Add missing library to our superset install line

* Fix build error when libcap-dev is installed

* Switch to using artifact uploads instead of pages to store/show the coverage report

* Fix artifact upload yaml

* Upload coverage report to codecov

* Fix codecov - clearly it doesnt do a recursive search for coverage files

* Fix codecov - my hopeful use of a list of directories didnt work

* Fix codecov - unfortunately, it doesnt just consume the coverage data and needs us to generate the gcov output

* Fix codecov - nope, it still doesnt recursively search

* Fix codecov - it really helps if I run the gcov data generator

* Add a simple matrix build

* Fix older ubuntu versions of gcovr that do not support the '--html-title' option

* Ensure we use gcover options that are identical on older ubuntu

* Improve coverage generation and required build packages
2021-09-27 15:26:06 +05:45
Logan oos Even
5a93fdf166
created space for more REGISTER type cookies
... to allow better differentiation between several (future) REGISTER / ACK transmission paths
2021-09-27 02:29:29 +05:45
Logan oos Even
dd41689bb9
added supernode version and uptime information to edge management port output (#796) 2021-09-17 02:34:09 +05:45
Hamish Coleman
370ea9bd37
addressed all but one of the remaining compile warnings (#793)
* Fix the mismatched char, uint8_t warnings

* Ensure we leave room for zero termination and then ensure the string is terminated

* GCC has a warning if it thinks your could overflow your snprintf buffer, but dont check for said overflow
2021-09-16 14:45:46 +05:45
Logan oos Even
9c22d28562
relocated 'detect_local_ip_address()' (#791) 2021-09-16 12:20:35 +05:45
Hamish Coleman
6b353141b4
addressed warnings (#790) 2021-09-15 22:08:45 +05:45
Logan oos Even
b3bf36f867
separated 'detect_local_ip_address()' function (#781) 2021-09-13 11:33:27 +05:45
Logan oos Even
7f1fe9a499
allowed edge to optionally auto-detetct local IP address ('-e auto') for advertising as preferred (#776) 2021-09-12 00:22:05 +05:45
Logan oos Even
7fa0cc1e0a
added preferred socket handling (-e) (#765) 2021-09-09 14:07:29 +05:45
Logan oos Even
b6e865aac7
trimmed open_socket() down by one parameter (#768) 2021-09-06 17:03:15 +05:45
Logan oos Even
e13c9a01a5
rearranged thread-related code (#761) 2021-08-30 14:23:31 +05:45
Logan oos Even
c21accc2a1
enabled edge to bind to a specified IP address (-b) (#753) 2021-08-28 03:08:23 +05:45
Logan oos Even
e09f3a4875
added federation support to user/password auth scheme (#741) 2021-07-31 22:17:07 +05:45
skyformat99
6f63f401fe
updated for compilation with VS2015 (#739) 2021-07-26 12:53:05 +05:45
Logan oos Even
c35129b8e2
added 'reload_communities' command to supernode management port (#740) 2021-07-24 03:46:50 +05:45
Logan oos Even
84d0991977
fortified user/pw auth scheme (#731) 2021-07-21 02:52:38 +05:45
Logan oos Even
39aa50b4cd
added manual MAC/IP address spoofing protection override at supernode (-M) (#716) 2021-06-21 17:03:07 +05:45
Logan oos Even
1586ae62a7
made n2n react more swiftly to (D)DNS changes (#705) 2021-06-07 17:57:49 +05:45
Logan oos Even
3c6ab56d3f
allowed (temporarily) initially non-resolving supernode names (#701) 2021-06-05 17:54:32 +05:45
Logan oos Even
c55e3e3246
multithreaded supernode name resolution (#645) 2021-06-04 03:52:12 +05:45
Logan oos Even
a28327a0af
added user-password edge authentication (#673) 2021-06-04 03:11:22 +05:45
Logan oos Even
667b7df083
added memrnd() (#685) 2021-04-19 00:47:37 +05:45
randomize00
cfa92d28d8
add callback function for hin2n to protect socket (#684) 2021-04-14 11:31:50 +05:45
Sven Roederer
23c18e349f
drop non portable SOL_TCP / fix MacOS v2 (#680)
* Revert "Fix compilation on MacOS"

in order to another solution

* src: use IPPROTO_TCP in place of SOL_TCP

* use the more specific IPPROTO_TCP type for setsockopt
* fixes build on MacOS

src/edge_utils.c:891:31: error: use of undeclared identifier 'SOL_TCP'; did you mean 'FPP_TCP'?
        setsockopt(eee->sock, SOL_TCP, TCP_NODELAY, &value, sizeof(value));

src/edge_utils.c:894:31: error: use of undeclared identifier 'SOL_TCP'
        setsockopt(eee->sock, SOL_TCP, TCP_CORK, &value, sizeof(value));
                              ^
src/edge_utils.c:894:40: error: use of undeclared identifier 'TCP_CORK'
        setsockopt(eee->sock, SOL_TCP, TCP_CORK, &value, sizeof(value));

* include/n2n.h: drop redefiniton of SOL_TCP for WIN32, as we don't use it anywhere now

* src: only use TCP_CORK on LINUX

* it's LINUX only and fails on Win32 and MacOS (man 7 tcp)
2021-04-05 19:30:53 +02:00
Alfredo Cardigliano
53e930db10 Fix compilation on MacOS 2021-03-29 09:28:13 +02:00
Logan oos Even
7c3951a10f
revised tcp implementation (#674) 2021-03-26 20:45:31 +05:45
Logan oos Even
0287837241
skewed supernode selection for the benefit of current supernode in no-pong case (#663) 2021-03-16 23:24:39 +05:45
Logan oos Even
aa1f4311f9
adapted packet format (#662)
* adapted packet format
2021-03-16 17:24:59 +05:45
Logan oos Even
23a9c871f8
increased resilience to supernode failure (#660) 2021-03-09 04:46:42 +05:45
Logan oos Even
1bcc64ccb3
fixed unrelated error message (#653) 2021-03-04 16:17:48 +05:45
Logan oos Even
20133f599c
improved socket handling (#650) 2021-03-01 14:13:14 +05:45
Logan oos Even
c8fabbdfe0
added more targeted routing for packet forwarding in federation (#643) 2021-02-23 18:51:14 +05:45
Logan oos Even
a482fe112d
added TCP support (#627)
(disabled on Windows)
2021-02-22 22:37:47 +05:45
vtcpip
b42c111527
fix windows compile (#636) 2021-02-10 15:16:16 +05:45
Logan oos Even
cef5561c5a
switched to 2021 (#632) 2021-02-08 16:11:06 +05:45
Logan oos Even
aaca1424fd
added AVX-512 support to SPECK cipher (#630) 2021-02-08 15:27:29 +05:45
Logan oos Even
fb827a843b
reworked edge management port output (#623) 2021-02-06 18:24:08 +05:45
Logan oos Even
b3a4eac4d7
enabled windows random numbers for seed (#622) 2021-02-02 18:43:30 +05:45
Logan oos Even
09e8d5e730
limited number of concurrently pinged supernodes (#619) 2021-02-01 18:31:36 +05:45
Logan oos Even
ba9a32fb30
fixed minor timing issues (#616) 2021-01-31 21:12:08 +05:45
Logan oos Even
de76b16fd5
added missing 'metric' 2021-01-31 20:03:11 +05:45
anzz1
9cac336488
added network interface metric option for windows (#606) 2021-01-30 18:00:01 +05:45
Logan oos Even
c696f59e07
ensured correct community file loading (sn) (#609) 2021-01-29 14:52:11 +05:45
Logan oos Even
39a71513f4
reworked supernode help text (#605) 2021-01-28 00:07:11 +05:45
Logan oos Even
3574865bf0
disabled SPECK defaulting to NEON support on ARM (#602) 2021-01-26 21:23:08 +05:45