From dff338ae164382b25bfe7e40c45e1aaad5f2042b Mon Sep 17 00:00:00 2001 From: NAStools Date: Tue, 29 Nov 2016 17:51:00 -0800 Subject: [PATCH 1/5] Include UI from macOS client --- debian/install | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/debian/install b/debian/install index f4ef971..a373fde 100644 --- a/debian/install +++ b/debian/install @@ -2,3 +2,7 @@ debian/readynas/config.xml apps/nastools-zerotier-one debian/readynas/fvapp-nastools-zerotier-one.service apps/nastools-zerotier-one debian/readynas/logo.png apps/nastools-zerotier-one zerotier-one apps/nastools-zerotier-one/sbin +ext/installfiles/mac/ui/*.html apps/nastools-zerotier-one/var/ui +ext/installfiles/mac/ui/*.js apps/nastools-zerotier-one/var/ui +ext/installfiles/mac/ui/*.css apps/nastools-zerotier-one/var/ui +ext/installfiles/mac/ui/*.jsx apps/nastools-zerotier-one/var/ui From 1a24759ef925b78ec7b8c29ee0689dad43b5006d Mon Sep 17 00:00:00 2001 From: NAStools Date: Tue, 29 Nov 2016 18:02:18 -0800 Subject: [PATCH 2/5] Configure package to use UI from macOS client --- debian/install | 2 ++ ...atic-retrieval-of-authtoken-from-CGI.patch | 27 +++++++++++++++++++ debian/patches/series | 1 + debian/readynas/authtoken.c | 17 ++++++++++++ debian/readynas/config.xml | 4 +-- debian/readynas/https.conf | 21 +++++++++++++++ debian/rules | 8 ++++++ 7 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 debian/patches/0002-Allow-automatic-retrieval-of-authtoken-from-CGI.patch create mode 100644 debian/readynas/authtoken.c create mode 100644 debian/readynas/https.conf diff --git a/debian/install b/debian/install index a373fde..703976c 100644 --- a/debian/install +++ b/debian/install @@ -1,6 +1,8 @@ debian/readynas/config.xml apps/nastools-zerotier-one debian/readynas/fvapp-nastools-zerotier-one.service apps/nastools-zerotier-one debian/readynas/logo.png apps/nastools-zerotier-one +debian/readynas/https.conf apps/nastools-zerotier-one +debian/readynas/authtoken apps/nastools-zerotier-one/cgi zerotier-one apps/nastools-zerotier-one/sbin ext/installfiles/mac/ui/*.html apps/nastools-zerotier-one/var/ui ext/installfiles/mac/ui/*.js apps/nastools-zerotier-one/var/ui diff --git a/debian/patches/0002-Allow-automatic-retrieval-of-authtoken-from-CGI.patch b/debian/patches/0002-Allow-automatic-retrieval-of-authtoken-from-CGI.patch new file mode 100644 index 0000000..104c72f --- /dev/null +++ b/debian/patches/0002-Allow-automatic-retrieval-of-authtoken-from-CGI.patch @@ -0,0 +1,27 @@ +From: NAStools +Date: Tue, 29 Nov 2016 17:41:16 -0800 +Subject: Allow automatic retrieval of authtoken from CGI + +--- + ext/installfiles/mac/ui/main.js | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/ext/installfiles/mac/ui/main.js b/ext/installfiles/mac/ui/main.js +index a164712..08d716f 100644 +--- a/ext/installfiles/mac/ui/main.js ++++ b/ext/installfiles/mac/ui/main.js +@@ -42,7 +42,13 @@ function getUrlParameter(parameter) + + var ztAuthToken = getUrlParameter('authToken'); + if ((!ztAuthToken)||(ztAuthToken.length <= 0)) { +- ztAuthToken = prompt('No authToken specified in URL. Enter token from\nauthtoken.secret to authorize.'); ++ xmlhttp = new XMLHttpRequest(); ++ xmlhttp.open("GET", "/apps/nastools-zerotier-one/cgi/authtoken", false); ++ xmlhttp.send(); ++ ztAuthToken = xmlhttp.responseText; ++ if ((!ztAuthToken)||(ztAuthToken.length <= 0)) { ++ ztAuthToken = prompt('No authToken specified in URL. Enter token from\nauthtoken.secret to authorize.'); ++ } + } + + React.render( diff --git a/debian/patches/series b/debian/patches/series index e4a416a..ac8b132 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ 0001-Update-platformDefaultHomePath-for-ReadyNAS-OS.patch +0002-Allow-automatic-retrieval-of-authtoken-from-CGI.patch diff --git a/debian/readynas/authtoken.c b/debian/readynas/authtoken.c new file mode 100644 index 0000000..8dc1d69 --- /dev/null +++ b/debian/readynas/authtoken.c @@ -0,0 +1,17 @@ +#include +#include + +int main() { + FILE *f; + char c; + + f=fopen("/apps/nastools-zerotier-one/var/authtoken.secret","rt"); + + printf("Content-Type: text/plain\n\n"); + + while ((c=fgetc(f))!=EOF) + printf("%c", c); + + fclose(f); + return 0; +} diff --git a/debian/readynas/config.xml b/debian/readynas/config.xml index 72728f7..84259ce 100644 --- a/debian/readynas/config.xml +++ b/debian/readynas/config.xml @@ -4,10 +4,10 @@ ZeroTier One NT NAStools 0 - + https://localhost/apps/nastools-zerotier-one/ui/ https://github.com/nastools/zerotierone nastools-zerotier-one - ZeroTier network virtualization service (CLI only) + ZeroTier network virtualization service fvapp-nastools-zerotier-one.service diff --git a/debian/readynas/https.conf b/debian/readynas/https.conf new file mode 100644 index 0000000..dcd1742 --- /dev/null +++ b/debian/readynas/https.conf @@ -0,0 +1,21 @@ + + LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so + + + LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so + + +ScriptAlias /apps/nastools-zerotier-one/cgi /apps/nastools-zerotier-one/cgi + + + Include "/etc/frontview/apache/Admin_Auth.conf" + + + + + + ProxyPass http://localhost:9993/ + ProxyPassReverse http://localhost:9993/ + + + diff --git a/debian/rules b/debian/rules index c34429d..6ce46ff 100755 --- a/debian/rules +++ b/debian/rules @@ -3,4 +3,12 @@ %: dh $@ +override_dh_auto_build: + make ZT_USE_MINIUPNPC=1 -j$(nproc) + gcc $$(pwd)/debian/readynas/authtoken.c -o $$(pwd)/debian/readynas/authtoken + chmod u+s $$(pwd)/debian/readynas/authtoken + +override_dh_fixperms: + dh_fixperms -Xauthtoken + override_dh_auto_install: From c4546ac7e0c51112f8d059502f3cb50b9a190da0 Mon Sep 17 00:00:00 2001 From: NAStools Date: Tue, 29 Nov 2016 18:03:03 -0800 Subject: [PATCH 3/5] Release v1.1.14-nt2 --- debian/changelog | 7 +++++++ debian/readynas/config.xml | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 382ef04..3820a03 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +zerotier-one (1.1.14-nt2) unstable; urgency=medium + + * Include UI from macOS client + * Configure package to use UI from macOS client + + -- NAStools Tue, 29 Nov 2016 18:02:28 -0800 + zerotier-one (1.1.14-nt1) unstable; urgency=medium * Initial release diff --git a/debian/readynas/config.xml b/debian/readynas/config.xml index 84259ce..5168d20 100644 --- a/debian/readynas/config.xml +++ b/debian/readynas/config.xml @@ -1,5 +1,5 @@ - 1.1.14-nt1 + 1.1.14-nt2 6.6.0 ZeroTier One NT NAStools From 784b1b95ff63ddd5661139e72b323189f33d26b0 Mon Sep 17 00:00:00 2001 From: NAStools Date: Fri, 9 Dec 2016 10:20:28 -0800 Subject: [PATCH 4/5] Clean up authtoken CGI --- debian/readynas/authtoken.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/debian/readynas/authtoken.c b/debian/readynas/authtoken.c index 8dc1d69..5aedb71 100644 --- a/debian/readynas/authtoken.c +++ b/debian/readynas/authtoken.c @@ -3,14 +3,18 @@ int main() { FILE *f; - char c; + char c[32]; - f=fopen("/apps/nastools-zerotier-one/var/authtoken.secret","rt"); + f=fopen("/apps/nastools-zerotier-one/var/authtoken.secret","r"); + if(!f) + return 1; printf("Content-Type: text/plain\n\n"); - while ((c=fgetc(f))!=EOF) - printf("%c", c); + size_t ret = fread(c, 1, sizeof(c), f); + if(!ret) + return 1; + fwrite(c, ret, 1, stdout); fclose(f); return 0; From fb3e4fb68f7e9db37472c43dc9f15edc8cfe6737 Mon Sep 17 00:00:00 2001 From: NAStools Date: Fri, 9 Dec 2016 10:22:03 -0800 Subject: [PATCH 5/5] Release v1.1.14-nt3 --- debian/changelog | 6 ++++++ debian/readynas/config.xml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 3820a03..235c694 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +zerotier-one (1.1.14-nt3) unstable; urgency=medium + + * Clean up authtoken CGI + + -- NAStools Fri, 09 Dec 2016 10:20:55 -0800 + zerotier-one (1.1.14-nt2) unstable; urgency=medium * Include UI from macOS client diff --git a/debian/readynas/config.xml b/debian/readynas/config.xml index 5168d20..5491bee 100644 --- a/debian/readynas/config.xml +++ b/debian/readynas/config.xml @@ -1,5 +1,5 @@ - 1.1.14-nt2 + 1.1.14-nt3 6.6.0 ZeroTier One NT NAStools