From 08ad163dfe79bee2b5f8e6880ec9b598adfdc4ee Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Sun, 9 Dec 2018 23:10:12 +0000 Subject: [PATCH 1/2] Add starting point for an RPM spec file --- contrib/rpm/yggdrasil.spec | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 contrib/rpm/yggdrasil.spec diff --git a/contrib/rpm/yggdrasil.spec b/contrib/rpm/yggdrasil.spec new file mode 100644 index 00000000..bab50906 --- /dev/null +++ b/contrib/rpm/yggdrasil.spec @@ -0,0 +1,47 @@ +Name: yggdrasil +Version: 0.3.0 +Release: 1%{?dist} +Summary: End-to-end encrypted IPv6 networking + +License: GPLv3 +URL: https://yggdrasil-network.github.io +Source0: https://codeload.github.com/yggdrasil-network/yggdrasil-go/tar.gz/v0.3.0 + +%{?systemd_requires} +BuildRequires: systemd golang >= 1.11 + +%description +Yggdrasil is a proof-of-concept to explore a wholly different approach to +network routing. Whereas current computer networks depend heavily on very +centralised design and configuration, Yggdrasil breaks this mould by making +use of a global spanning tree to form a scalable IPv6 encrypted mesh network. + +%prep +%setup -qn yggdrasil-go-%{version} + +%build +./build -t -l "-linkmode=external" + +%install +rm -rf %{buildroot} +mkdir -p %{buildroot}/%{_bindir} +mkdir -p %{buildroot}/%{_sysconfdir}/systemd/system +install -m 0755 yggdrasil %{buildroot}/%{_bindir}/yggdrasil +install -m 0755 yggdrasilctl %{buildroot}/%{_bindir}/yggdrasilctl +install -m 0755 contrib/systemd/yggdrasil.service %{buildroot}/%{_sysconfdir}/systemd/system/yggdrasil.service +install -m 0755 contrib/systemd/yggdrasil-resume.service %{buildroot}/%{_sysconfdir}/systemd/system/yggdrasil-resume.service + +%files +%{_bindir}/yggdrasil +%{_bindir}/yggdrasilctl +%{_sysconfdir}/systemd/system/yggdrasil.service +%{_sysconfdir}/systemd/system/yggdrasil-resume.service + +%post +%systemd_post yggdrasil.service + +%preun +%systemd_preun yggdrasil.service + +%postun +%systemd_postun_with_restart yggdrasil.service From f6cdb8e38e6e847d46b3f69682ab8ceb2913e0bd Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Sun, 9 Dec 2018 23:35:40 +0000 Subject: [PATCH 2/2] Update CHANGELOG.md --- CHANGELOG.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d2c58a27..8501f3e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,29 +25,29 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - in case of vulnerabilities. --> -## [0.x.x] - TBD +## [0.3.0] - 2018-12-12 ### Added -- Crypto-key routing support for both IPv4 and IPv6 -- Add `SwitchOptions` in configuration file for tuning the switch +- Crypto-key routing support for tunnelling both IPv4 and IPv6 over Yggdrasil +- Add advanced `SwitchOptions` in configuration file for tuning the switch - Add `dhtPing` to the admin socket to aid in crawling the network - New macOS .pkgs built automatically by CircleCI -- Add Docker support -- Add `-json` command line flag for generating and normalising configuration in plain JSON +- Add Dockerfile to repository for Docker support +- Add `-json` command line flag for generating and normalising configuration in plain JSON instead of HJSON - Build name and version numbers are now imprinted onto the build, accessible through `yggdrasil -version` and `yggdrasilctl getSelf` - Add ability to disable admin socket by setting `AdminListen` to `"none"` ### Changed -- Switched to Chord DHT (instead of Kademlia, although protocol-compatible) -- Admin socket clean-up (making some names consistent) -- Latency-based parent selection for the switch instead of uptime-based -- Real peering endpoints now shown in the admin socket `getPeers` call +- Switched to Chord DHT (instead of Kademlia, although still compatible at the protocol level) +- Cleaned up some of the parameter naming in the admin socket +- Latency-based parent selection for the switch instead of uptime-based (should help to avoid high latency links somewhat) +- Real peering endpoints now shown in the admin socket `getPeers` call to help identify peerings - Reuse the multicast port on supported platforms so that multiple Yggdrasil processes can run - `yggdrasilctl` now has more useful help text (with `-help` or when no arguments passed) ### Fixed - Memory leaks in the DHT fixed -- Crash where ICMPv6 NDP goroutine would incorrectly start in TUN mode fixed -- Remove peers from the switch table of they stop sending switch messages but keep the TCP connection alive +- Crash fixed where the ICMPv6 NDP goroutine would incorrectly start in TUN mode +- Removing peers from the switch table if they stop sending switch messages but keep the TCP connection alive ## [0.2.7] - 2018-10-13 ### Added