2.8 Stable Release
n2n 2.8 (August 2020)
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