From 413f7032c40f2702b2515cdcfb9cbd1486c321a0 Mon Sep 17 00:00:00 2001 From: Logan oos Even <46396513+Logan007@users.noreply.github.com> Date: Fri, 7 Aug 2020 01:55:58 +0545 Subject: [PATCH 1/4] updated CHANGELOG.md added 2.6 and prepared 2.8 --- CHANGELOG.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ff425e..1e376cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,61 @@ # Changelog -#### n2n 2.4 (August 2018) +## n2n 2.4 (August 2018) This is the first release after 2012 and thus it is focusing mainly on making it work on current operating system versions, so that the -next release will be based on modern code +next release will be based on modern code. -## New features +### New Features * Added deb/rpm packages * Added systemd configuration files * Added ability to read configuration files instead of using only the CLI (needed for packaging) * Added n2n Android app * Implemented simple API to embed n2n in applications (in addition to use it stand-alone) -## Improvements +### Improvements * Major code cleanup * Fixed compilation issues on MacOS * Fixed Linux segmentation fault + +## n2n 2.6 (March 2020) + +The 2.6 release is mostly a maintenance release to address the issues +of 2.4 that has been the first release since a long time of silence. + +### New Features + +* AES encryption that features an overall speed bump (12x speed) and security with respect to Twofish used in the previous n2n version +* Add ability to specify a whitelist of allowed communities on the supernode +* Implement local peers discovery via multicast +* Full peer-to-peer topology support. +* Add support for multiple edge systemd services +* Add benchmark tool for the encryption throughput +* Implement packet stats for P2P vs supernode communication +* Automatically drop privileges to user n2n +* Add support for ARM64 build +* More options to control MTU, P2P connections, TOS and log verbosity +* Implement a wireshark dissector for the n2n protocol +* Implement n2n-decode utility to decode and dump traffic to PCAP + + +### Improvements +* Extensive Windows and OpenWRT support. +* Windows compilation fixes and instructions +* Instructions and makefile file to build n2n on OpenWRT +* MacOS compilation fixes and instructions +* Improve the connection stability and the chances to establish a P2P connection +* Stable and more resilient connection. +* Remove keyschedule support to simplify the encryption code +* Replace peers linked list with hash table for faster lookup in big networks +* Integrate the changes made in the meyerd fork of n2n +* Remove calls to system() in tuntap_linux and use netlink instead +* n2n version improvements + +## n2n 2.8 (August 2020) + +This release brings significant new features to n2n's crypto world. Besides honing existing features, bugs get fixed. + +### New Features + +### Improvements From c22ab1c7c0764c145fdafba872faf648092b8041 Mon Sep 17 00:00:00 2001 From: Logan oos Even <46396513+Logan007@users.noreply.github.com> Date: Fri, 7 Aug 2020 02:38:19 +0545 Subject: [PATCH 2/4] updated CHANGELOG.md --- CHANGELOG.md | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e376cc..4bac5e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,8 +54,35 @@ of 2.4 that has been the first release since a long time of silence. ## n2n 2.8 (August 2020) -This release brings significant new features to n2n's crypto world. Besides honing existing features, bugs get fixed. +This release brings significant new features to n2n's crypto world and offers +some compression opportunities. The added support for routing table manipulation +might increase comfort. Besides further honing existing features, this release +addresses some bugs. ### New Features +* Two lightweight stream ciphers: ChaCha20 (optional, through OpenSSL) & SPECK (integrated) +* Full Header Encryption (including packet checksumming as well as replay protection) +* A callback interface to better integrate n2n in third party software (you can still use it stand-alone) +* Enable the integrated LZO1x compression +* Add optional ZSTD compression (through zstdlib) +* Support for changing system routes at program start and end +* User and group id parameter for supernode +* Application of cryptography in n2n is seperately documented +* Add a new pseudo random number generator with higher periodicity seeded with more entropy if available + ### Improvements + +* Have AES and ChaCha20 use OpenSSL's `evp_*` interface to make better use of available hardware acceleration +* Fix invalid sendto when supernode name resolution fails* Update to supernode's purge logic +* Extended management supernode's port output +* Fix read tap device failed when OS wakes up from sleep +* Free choice of supernode's management UDP port (for multiple supernodes on one machine). +* Additional trace messages to better indicate established connections and connection type +* Fix edge's register-to-supernode loop +* Remove redundant code +* Restructure the code in directories +* Clean-up platform-dependant code +* Compile fixes for Windows +* Fix build warnings +* …and many more under-the-hood fixes and tunings From 66383a80782722f84f950a5ce8f4b29eedc52747 Mon Sep 17 00:00:00 2001 From: Logan oos Even <46396513+Logan007@users.noreply.github.com> Date: Fri, 7 Aug 2020 11:23:52 +0545 Subject: [PATCH 3/4] updated CHANGELOG.md reversed order --- CHANGELOG.md | 82 ++++++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bac5e1..3e229f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,22 +1,39 @@ # Changelog -## n2n 2.4 (August 2018) +## n2n 2.8 (August 2020) -This is the first release after 2012 and thus it is focusing mainly -on making it work on current operating system versions, so that the -next release will be based on modern code. +This release brings significant new features to n2n's crypto world and offers +some compression opportunities. The added support for routing table manipulation +might increase comfort. Besides further honing existing features, this release +addresses some bugs. ### New Features -* Added deb/rpm packages -* Added systemd configuration files -* Added ability to read configuration files instead of using only the CLI (needed for packaging) -* Added n2n Android app -* Implemented simple API to embed n2n in applications (in addition to use it stand-alone) + +* Two lightweight stream ciphers: ChaCha20 (optional, through OpenSSL) & SPECK (integrated) +* Full Header Encryption (including packet checksumming as well as replay protection) +* A callback interface to better integrate n2n in third party software (you can still use it stand-alone) +* Enable the integrated LZO1x compression +* Add optional ZSTD compression (through zstdlib) +* Support for changing system routes at program start and end +* User and group id parameter for supernode +* Application of cryptography in n2n is seperately documented +* Add a new pseudo random number generator with higher periodicity seeded with more entropy if available ### Improvements -* Major code cleanup -* Fixed compilation issues on MacOS -* Fixed Linux segmentation fault + +* Have AES and ChaCha20 use OpenSSL's `evp_*` interface to make better use of available hardware acceleration +* Fix invalid sendto when supernode name resolution fails* Update to supernode's purge logic +* Extended management supernode's port output +* Fix read tap device failed when OS wakes up from sleep +* Free choice of supernode's management UDP port (for multiple supernodes on one machine). +* Additional trace messages to better indicate established connections and connection type +* Fix edge's register-to-supernode loop +* Remove redundant code +* Restructure the code in directories +* Clean-up platform-dependant code +* Compile fixes for Windows +* Fix build warnings +* …and many more under-the-hood fixes and tunings ## n2n 2.6 (March 2020) @@ -52,37 +69,20 @@ of 2.4 that has been the first release since a long time of silence. * Remove calls to system() in tuntap_linux and use netlink instead * n2n version improvements -## n2n 2.8 (August 2020) +## n2n 2.4 (August 2018) -This release brings significant new features to n2n's crypto world and offers -some compression opportunities. The added support for routing table manipulation -might increase comfort. Besides further honing existing features, this release -addresses some bugs. +This is the first release after 2012 and thus it is focusing mainly +on making it work on current operating system versions, so that the +next release will be based on modern code. ### New Features - -* Two lightweight stream ciphers: ChaCha20 (optional, through OpenSSL) & SPECK (integrated) -* Full Header Encryption (including packet checksumming as well as replay protection) -* A callback interface to better integrate n2n in third party software (you can still use it stand-alone) -* Enable the integrated LZO1x compression -* Add optional ZSTD compression (through zstdlib) -* Support for changing system routes at program start and end -* User and group id parameter for supernode -* Application of cryptography in n2n is seperately documented -* Add a new pseudo random number generator with higher periodicity seeded with more entropy if available +* Added deb/rpm packages +* Added systemd configuration files +* Added ability to read configuration files instead of using only the CLI (needed for packaging) +* Added n2n Android app +* Implemented simple API to embed n2n in applications (in addition to use it stand-alone) ### Improvements - -* Have AES and ChaCha20 use OpenSSL's `evp_*` interface to make better use of available hardware acceleration -* Fix invalid sendto when supernode name resolution fails* Update to supernode's purge logic -* Extended management supernode's port output -* Fix read tap device failed when OS wakes up from sleep -* Free choice of supernode's management UDP port (for multiple supernodes on one machine). -* Additional trace messages to better indicate established connections and connection type -* Fix edge's register-to-supernode loop -* Remove redundant code -* Restructure the code in directories -* Clean-up platform-dependant code -* Compile fixes for Windows -* Fix build warnings -* …and many more under-the-hood fixes and tunings +* Major code cleanup +* Fixed compilation issues on MacOS +* Fixed Linux segmentation fault From 82d98a2bc2aed1c9b91c0e64866450a5e3ed9ca7 Mon Sep 17 00:00:00 2001 From: Logan oos Even <46396513+Logan007@users.noreply.github.com> Date: Fri, 7 Aug 2020 22:26:32 +0545 Subject: [PATCH 4/4] updated CHANGELOG.md added missing new-line --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e229f9..3893fcc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,10 +22,11 @@ addresses some bugs. ### Improvements * Have AES and ChaCha20 use OpenSSL's `evp_*` interface to make better use of available hardware acceleration -* Fix invalid sendto when supernode name resolution fails* Update to supernode's purge logic +* Fix invalid sendto when supernode name resolution fails +* Update to supernode's purge logic * Extended management supernode's port output * Fix read tap device failed when OS wakes up from sleep -* Free choice of supernode's management UDP port (for multiple supernodes on one machine). +* Free choice of supernode's management UDP port (for multiple supernodes on one machine) * Additional trace messages to better indicate established connections and connection type * Fix edge's register-to-supernode loop * Remove redundant code