Commit Graph

481 Commits

Author SHA1 Message Date
Luca Deri
d4e0f5a445 Warnign fixes 2021-09-18 09:39:57 +02:00
Logan oos Even
37c556b57b
modified edge's management port output (#801) 2021-09-18 01:04:24 +05:45
skyformat99
a87a124316
Update supernode.c (#800)
fix #799
2021-09-17 15:22:26 +02:00
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
35ec7336a6
simplified the makefiles (#795)
* Move the makefiles towards a clearer arrangement

* Break circular make dependancy and start using implicit rules for most compilation

* Fix old cmake to compile again after renames
2021-09-16 18:34:04 +05:45
Logan oos Even
593387fe30
compile fix (#794) 2021-09-16 15:07:33 +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
05f40c64db
relocated 'detect_local_ip_address()' (#792) 2021-09-16 14:15:21 +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
72d703c449
disabled edge's multicast peer detection if used with '-e' (#783) 2021-09-13 21:03:35 +05:45
Logan oos Even
8eb13165d4
added another type cast to socket handling 2021-09-13 15:07:34 +05:45
Logan oos Even
46205c6cff
added type cast to socket handling 2021-09-13 14:40:28 +05:45
Logan oos Even
c5970986f5
replaced 'close()' with 'closesocket()' 2021-09-13 13:39:15 +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
defad50f87
removed '-p' cli option requirement for (#775) 2021-09-11 20:54:09 +05:45
Logan oos Even
52efc6ffad
compilation fix 2021-09-09 14:10:01 +05:45
Logan oos Even
7fa0cc1e0a
added preferred socket handling (-e) (#765) 2021-09-09 14:07:29 +05:45
Logan oos Even
05e6579038
merged edge's '-b' into '-p' command line option (#772) 2021-09-09 12:44:23 +05:45
Logan oos Even
04d91f84d8
fixed optional SKIP_MULTICAST_PEERS_DISCOVERY macro (#770) 2021-09-08 00:56:05 +05:45
Logan oos Even
236b9bf4c7
fixed missing gratuitous arp (#769) 2021-09-07 01:36:51 +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
c5eb756840
de-nested one if block 2021-08-30 16:03:11 +05:45
skyformat99
586beee871
fixed segmentation fault #758 (#762) 2021-08-30 14:35:14 +05:45
Logan oos Even
e13c9a01a5
rearranged thread-related code (#761) 2021-08-30 14:23:31 +05:45
Logan oos Even
f6eb1377ec
reviewed log messages (#744) 2021-08-29 15:10:23 +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
Hamish Coleman
ecedcdcb58
Major documentation improvements (#752) 2021-08-19 20:02:53 +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
c394726928
narrowed sn's edge-last-seen update mechanism (#734)
* fortified user/pw auth scheme

* narrowed sn's edge-last-seen update mechanism
2021-07-22 14:51:09 +05:45
Logan oos Even
84d0991977
fortified user/pw auth scheme (#731) 2021-07-21 02:52:38 +05:45
Logan oos Even
1f51aa1d5c
conditionally downgraded one ERROR msg to DEBUG msg (#725) 2021-07-14 18:37:22 +05:45
small_5
037914daf0
fixed segfault (#722) 2021-07-11 21:43:58 +05:45
Logan oos Even
b648872c1f
modified route setup (#717) 2021-07-11 00:22:58 +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
54f39e9eb0
fixed supernode's detetcion of orderly remote tcp connection closure (#713) 2021-06-17 22:16:45 +05:45
Logan oos Even
701befe6df
fixed superfluous message (#708) 2021-06-07 22:59:22 +05:45
Logan oos Even
aac58a88ec
fixed supernode's federation behavior (auth error) (#707) 2021-06-07 20:54:22 +05:45
Logan oos Even
2e1991ecf3
added compiler check for special intrinsic (#706) 2021-06-07 18:18:45 +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
75ab1fc5aa
made internal changes to cli parameter processing (#702) 2021-06-05 18:56:47 +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
1a523f5e1a
fixed supernode segmentation fault (#697) 2021-05-24 00:20:52 +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
randomize00
e2c687558f
fix potential memory leak (#682)
authored-by: randomize00 <randomize00@users.noreply.github.com>
2021-04-07 14:31:40 +05:45
Logan oos Even
12e81c6be3
typo
'0' is legit load or ping
2021-04-06 11:45:40 +05:45
Luca Deri
aa18bd3036 Warning fixes 2021-04-05 19:34:54 +02:00
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
dcd3801df5
honed tcp implementation (#676) 2021-03-28 00:04:55 +05:45
Logan oos Even
a23b459738
fixed memory issue (#675) 2021-03-26 21:13:20 +05:45
Logan oos Even
7c3951a10f
revised tcp implementation (#674) 2021-03-26 20:45:31 +05:45
Logan oos Even
b949b23e2a
narrowed multicast determination (#669) 2021-03-18 19:23:42 +05:45
Logan oos Even
edc6f53ca0
prevented transmission of QUERY_PEER on multicast MAC addresses (#668) 2021-03-18 18:14:01 +05:45
Logan oos Even
048fd3e128
fixed another memory issue (#667) 2021-03-18 17:01:12 +05:45
Logan oos Even
1c1a9f5058
fixed small memory issue (#666) 2021-03-18 16:03:22 +05:45
Logan oos Even
969b667aae
deprecated solitary options -A, -S, -z (#665) 2021-03-18 10:45:52 +05:45
Logan oos Even
f41babcf4d
fixed compile warnings (#664) 2021-03-17 12:38:00 +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
d8ae2e89ca
fixed edge stall (#649) 2021-03-01 00:12:04 +05:45
Logan oos Even
db4b927b8e
fixed multicast decode error message (#648) 2021-02-27 21:29:25 +05:45
Logan oos Even
64b8136301
fixed compile warnings (#647) 2021-02-27 20:38:18 +05:45
Logan oos Even
e47b492c4d
fixed compile warning (#646) 2021-02-27 18:03:04 +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
c73e59341d
made gratuitous arp being sent at the right time (#635) 2021-02-08 20:55:11 +05:45
Logan oos Even
54ba76e3bc
clarified error message (#634) 2021-02-08 17:24:03 +05:45
Logan oos Even
408f24d778
corrected supernode help text (#633) 2021-02-08 17:04:57 +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
12e55935c2
adjusted supernode management port output (#628) 2021-02-07 19:00:58 +05:45
Logan oos Even
fb827a843b
reworked edge management port output (#623) 2021-02-06 18:24:08 +05:45
Logan oos Even
08a4e332c8
generalized auth scheme handling (#624) 2021-02-03 20:52:41 +05:45
Logan oos Even
b3a4eac4d7
enabled windows random numbers for seed (#622) 2021-02-02 18:43:30 +05:45
Logan oos Even
89052c24d5
clarified debug message on unknown ether type (#620) 2021-02-02 16:58:01 +05:45
Logan oos Even
09e8d5e730
limited number of concurrently pinged supernodes (#619) 2021-02-01 18:31:36 +05:45
Logan oos Even
916c423ffe
fixed metric parameter passing to wintap.c (#618)
* fixed metric parameter passing to wintap.c

* fixed metric sub/interface command to set metric
2021-02-01 16:19:19 +05:45
Logan oos Even
c2741ace2d
guarded free() on supernode exit (#615) 2021-01-31 21:12:30 +05:45
Logan oos Even
ba9a32fb30
fixed minor timing issues (#616) 2021-01-31 21:12:08 +05:45
anzz1
9cac336488
added network interface metric option for windows (#606) 2021-01-30 18:00:01 +05:45
Logan oos Even
6c8e1b6f60
fixed edge segfault (#613) 2021-01-30 17:35:12 +05:45
Logan oos Even
7a4623a61d
fixed time stamp issue (#612) 2021-01-30 17:34:52 +05:45
randomize00
5aac8813e6
safer checking for REGISTER_SUPER_ACK and UNREGISTER_SUPER (#611) 2021-01-29 18:48:26 +05:45
Logan oos Even
c696f59e07
ensured correct community file loading (sn) (#609) 2021-01-29 14:52:11 +05:45
Logan oos Even
f352c99255
reworked edge help text (#604) 2021-01-28 00:07:28 +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
Logan oos Even
2fbbafc88d
fixed conf file parsing
allowing space character inside parameter option, .e.g. `-d Windows TAP` (between "Windows" and "TAP").
2021-01-26 15:58:05 +05:45
Logan oos Even
9fe1c5a91e
fixed conf file option parsing
analogous to 18107bcb7c
2021-01-26 14:11:18 +05:45
Logan oos Even
5f34baf9b9
clarified authentication error (#600) 2021-01-25 19:08:34 +05:45
Logan oos Even
c0c472b4aa
revised bootstrap (#599) 2021-01-25 16:54:38 +05:45
Logan oos Even
5cd1c9030c
added self-monitoring time stamp accuracy (#595) 2021-01-22 21:46:12 +05:45
Logan oos Even
dd9491aa9c
removed two non-ASCII characters
Fixes #598.
2021-01-21 18:11:03 +05:45
Logan oos Even
910478417c
fixed a null_mac bug (#592) 2021-01-18 00:27:55 +05:45
Logan oos Even
a639e1d735
properly handled supernodes' timestamps (#591) 2021-01-18 00:12:45 +05:45
Logan oos Even
e4e6efacf0
enhanced header encryption to full 128 bit iv (#589) 2021-01-17 18:37:17 +05:45
Logan oos Even
773123f7a9
removed duplicate field for supernode socket from edge (#587) 2021-01-16 17:13:52 +05:45
Logan oos Even
0e29d695ee
quick-fixed auto ip (#586) 2021-01-16 05:39:20 +05:45
Logan oos Even
18107bcb7c
fixed conf file option parsing 2021-01-16 04:00:05 +05:45
Logan oos Even
e1b66aeb96
fix bug/typo introduced with latest mac handling change 2021-01-16 02:18:18 +05:45
Logan oos Even
7eeca3d78f
cleaned up mac type usage (#583) 2021-01-13 14:50:26 +05:45
Logan oos Even
4e2548a98c
simplified conf file parsing (#582) 2021-01-13 00:45:48 +05:45
Logan oos Even
8761ae849b
added optional rtt based supernode selection: federation (#580) 2021-01-12 17:34:03 +05:45
Logan oos Even
9ee62d7415
rebased time stamp format: header encryption (#579)
* rebased time stamp format (header encryption)

* rearranged time stamp fields
2021-01-12 14:28:21 +05:45
fengdaolong
3a480a4a21
solved the problem that Windows cannot multicast (#576)
* Solve the problem that Windows cannot multicast.

* Better git judgment logic.
2021-01-12 14:26:40 +05:45
Logan oos Even
c99f610f73
fix AES default (#575)
* fix AES default

* fix AES default
2021-01-08 01:01:53 +05:45
Logan oos Even
9152526bf2
allowed auto IP address feature a higher chance to re-assign the same IP address upon re-connect (#574) 2021-01-07 17:07:18 +05:45
Logan oos Even
623299770f
fix federation feature (#573) 2021-01-07 16:42:53 +05:45
Logan oos Even
bda11d3e99
fix AES default (#572) 2021-01-07 16:31:08 +05:45
Logan oos Even
808920089d
switched to Pearson B. Hashing (#570)
* switched to Pearson B. Hashing

* switched to Pearson B. Hashing
2021-01-07 11:15:40 +01:00
Logan oos Even
9bbf7d95f6
hardware-accelerated header encryption (#565)
* hardware-accelerated header encryption

* hardware-accelerated header encryption

* hardware-accelerated header encryption
2021-01-07 11:14:44 +01:00
Francesco Carli
244b1bef95
Change space indention (#556)
* readability code clean-up

* readability code clean-up

* change space indention

* change space indention

* Update sn_utils.c
2021-01-07 11:14:25 +01:00
Francesco Carli
ef2d3a5237
readability code clean-up (#552)
* readability code clean-up

* readability code clean-up

* change space indention

* Revert "change space indention"

This reverts commit 067f675faa.
2020-12-24 14:54:48 +01:00
Logan oos Even
df14d54a29
readability code clean-up (#551) 2020-12-19 12:29:21 +01:00
Logan oos Even
71065278fa
readability code clean-up (#550)
* readability code clean-up

* readability code clean-up
2020-12-19 12:29:15 +01:00
Francesco Carli
de92fab878
readability code clean-up (#549) 2020-12-19 12:29:09 +01:00
Logan oos Even
ab4f507012
readability code clean-up (#548)
* readability code clean-up

* readability code clean-up
2020-12-19 12:29:03 +01:00
Francesco Carli
4e6d9a8f43
readability code clean-up (#547) 2020-12-19 12:28:57 +01:00
Francesco Carli
bd48a5c34d
readability code clean-up (#546) 2020-12-19 12:28:52 +01:00
Francesco Carli
646da54915
readability code clean-up (#545) 2020-12-19 12:28:45 +01:00
Francesco Carli
24b2f2762f
readability code clean-up (#544) 2020-12-19 12:28:39 +01:00
Logan oos Even
30a1ff9313
readability code clean-up (#543) 2020-12-19 12:28:33 +01:00
Francesco Carli
e71de330e5
readability code clean-up (#542) 2020-12-19 12:28:06 +01:00
Logan oos Even
df716c9da5
readability code clean-up, added 64-bit hash (#538) 2020-12-19 12:27:14 +01:00
Logan oos Even
599e424b5d
Revert "changed timer source (#522)" (#536)
This reverts commit 0298efa36e.
2020-12-19 12:26:54 +01:00
Logan oos Even
1c29fbee8a
readability code clean-up (#532) 2020-12-19 12:26:32 +01:00
Logan oos Even
d063cf3088
readability code clean-up (#531)
* readability code clean-up

* readability code clean-up
2020-12-19 12:26:21 +01:00
Logan oos Even
9fbe941511
readability code clean-up (#530) 2020-12-08 15:47:08 +01:00
Logan oos Even
3252231ecb
readability code clean-up (#529) 2020-12-08 15:46:57 +01:00
fengdaolong
d7654397a8
Fix the problem of running edge, IP or domain name resolution failure under Windows system. (#527) 2020-12-08 15:46:40 +01:00
Logan oos Even
0298efa36e
changed timer source (#522)
* changed timer source

* changed timer source

* changed timer source

* changed timer source

* changed timer source

* changed timer source
2020-12-08 15:46:00 +01:00
Francesco Carli
bde819700d
Protection mechanism against MAC spoofing (#512)
* Implement MAC spoofing protection mechanism

* Update edge_utils.c

* Fix compile errors

* Update edge_utils.c

* Update edge_utils.c

* Update edge_utils.c
2020-12-02 08:33:10 +01:00
joshuafc
e66f913e81
Deal with warnings at network_traffic_filter.c (#508)
* Add new file 'network_traffic_filter.c/.h"

* Add feature to drop or accept specific packet transmit over edge network interface by rules.

* fix CMakeLists.txt typo

* Update Rule String Format

* replace -F (filter) with -R (rule) for traffic restrictions.

* Update edge help (-h)  message. Update documents.

* Pass Build on CircleCI and local Windows 10 VS2019

* Fix cmake build failed because of sn_selection

* fix operate void* cause vs2016 build failed

* Fix typo to pass build on windows.

* add inttypes.h for n2n_typedefs.h to pass windows build

* modify headers to pass build on windows.

* Deal with warnings at `network_traffic_filter.c`

* network filter without type cast
2020-11-19 09:32:44 +01:00
Francesco Carli
3bd4635f04
Protection mechanism against duplicated MACs (#509)
* Prevent duplicated MACs

* Prevent duplicated MACs

* Fix compile errors

* Fix compile errors

* Implement auth scheme

* Fix compile errors

* Add auth_edge

* Add auth_edge

* Implement REGISTER_SUPER forwarding

* Add argument to update_edge

* Add auth field to supernode struct

* Add REGISTER_SUPER_NAK handling

* Fix issues

* Code clean-up

* Move auth token initialization
2020-11-19 09:31:24 +01:00
Logan oos Even
c89dc584ab
send gratuitous arp only upon first registration (#502) 2020-11-16 21:38:37 +01:00
Logan oos Even
bac807c472
use payload struct for assembly (#503)
* use payload struct for assembly

* use payload struct for assembly
2020-11-16 21:38:19 +01:00
joshuafc
b3f564e58c
Traffic Restrictions, Pass Build on CircleCI and local Windows 10 VS2019 (#499)
* Add new file 'network_traffic_filter.c/.h"

* Add feature to drop or accept specific packet transmit over edge network interface by rules.

* fix CMakeLists.txt typo

* Update Rule String Format

* replace -F (filter) with -R (rule) for traffic restrictions.

* Update edge help (-h)  message. Update documents.

* Pass Build on CircleCI and local Windows 10 VS2019

* Fix cmake build failed because of sn_selection

* fix operate void* cause vs2016 build failed

* Fix typo to pass build on windows.

* add inttypes.h for n2n_typedefs.h to pass windows build

* modify headers to pass build on windows.
2020-11-16 21:27:42 +01:00
Luca Deri
22756f40f9 Compialtion fix 2020-11-13 22:14:20 +01:00
Francesco Carli
01f09e693e
Same chance to all supernodes to be transmitted by REGISTER_SUPER_ACK (#498)
* Same chance for all supernodes to be transmitted with REG_SUPER_ACK

* Update sn_utils.c

* Update random_numbers.h

* Update sn_utils.c

* Update random_numbers.c

* Update sn_utils.c

* Update sn_utils.c
2020-11-13 22:12:04 +01:00