n2n/doc/Scratchpad.md

62 lines
2.9 KiB
Markdown
Raw Normal View History

# n2n's Scratchpad
## RPM Packaging
```
bash
./autogen.sh
./configure
make
cd packages/rpm
./configure
rpmbuild -bb ./n2n.spec
```
## New Features between 2.0.x and 2.1.x
- Better ming Windows build support.
- Added `-E` flag to allow multicast ethernet traffic.
2021-09-27 16:10:21 +02:00
## Draft changelog between 2.8 and 3.0 (as of September 27, 2021)
2021-02-08 11:20:33 +01:00
### New Features
- Federated supernodes to allow multiple supernodes for load balancing and fail-over (`doc/Federation.md`)
- Automatic IP address assignment allows edges to draw IP addresses from the supernode (just skip `-a`)
- Allowed community names can be restricted by regular expressions (`community.list` file)
- Network filter for rules (`-R`) allowing and denying specific traffic to tunnel
2021-03-18 12:36:27 +01:00
- Experimental TCP support (`-S2`) lets edges connect to the supernodes via TCP in case firewalls block UDP (not available on Windows yet)
2021-02-08 11:20:33 +01:00
- All four supported ciphers offer integrated versions rendering OpenSSL dependency non-mandatory (optionally still available)
- MAC and IP address spoofing prevention
- Network interface metric can be set by command-line option `-x` (Windows only)
- Re-enabled local peer detection by multicast on Windows
- Edge identifier (`-I`) helps to identify edges more easily in management port output
2021-09-09 23:38:48 +02:00
- Optionally bind edge to one local IP address only (extension to `-p`)
- A preferred local socket can be advertised to other edges for better local peer-to-peer connections (`-e`)
2021-07-31 14:29:36 +02:00
- Optional edge user and password authentication (`-J`, `-P`, `doc/Authentication.md`)
2021-10-24 22:19:57 +02:00
- Optional json format at management port allows for machine-driven handling such as `.html` page generation (`scripts/n2n-httpd`) or script-based evaluation (`scripts/n2n-ctl`)
- Completely overhauled build system including GitHub's action runners performing code syntax and formal checks, creating and running test builds, providing binairies and packages as artifacts and running verification tests
2021-07-31 14:29:36 +02:00
2021-02-08 11:20:33 +01:00
### Improvements
- Increased edges' resilience to temporary supernode failure
2021-03-18 12:36:27 +01:00
- Fixed a compression-related memory leak
2021-07-31 14:29:36 +02:00
- Ciphers partly come with platform-specific hardware acceleration
2021-09-27 16:10:21 +02:00
- Added a test framework (`tools/test-*.c` and `tests/`)
2021-02-08 11:20:33 +01:00
- Clean-up management port output
- Polished benchmark tool output
- Spun-off the name resolution into a separate thread avoiding lags
2021-09-27 16:10:21 +02:00
- Added support for additional environment variables (`N2N_COMMUNITY`, `N2N_PASSWORD`, and `N2N_FEDERATION`)
2021-07-31 14:29:36 +02:00
- Implemented new `reload_communities` command to make supernode hot-reload the `-c` provided `community.list` file, issued through management port
2021-02-08 11:20:33 +01:00
- Reactivated send out of gratuitous ARP packet on establishing connection
2021-08-29 11:34:07 +02:00
- Enhanced documentation (`doc/` folder) including the man pages and command-line help text (`-h` and more detailed `--help`)
2021-02-08 11:20:33 +01:00
- Self-monitoring time stamp accuracy for use on systems with less accurate clocks
- Fixed man pages' and config files' paths
- Code clean-up