diff --git a/debian/changelog b/debian/changelog index 382ef04..235c694 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +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 + * 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/install b/debian/install index f4ef971..703976c 100644 --- a/debian/install +++ b/debian/install @@ -1,4 +1,10 @@ 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 +ext/installfiles/mac/ui/*.css apps/nastools-zerotier-one/var/ui +ext/installfiles/mac/ui/*.jsx 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..5aedb71 --- /dev/null +++ b/debian/readynas/authtoken.c @@ -0,0 +1,21 @@ +#include +#include + +int main() { + FILE *f; + char c[32]; + + f=fopen("/apps/nastools-zerotier-one/var/authtoken.secret","r"); + if(!f) + return 1; + + printf("Content-Type: text/plain\n\n"); + + size_t ret = fread(c, 1, sizeof(c), f); + if(!ret) + return 1; + fwrite(c, ret, 1, stdout); + + fclose(f); + return 0; +} diff --git a/debian/readynas/config.xml b/debian/readynas/config.xml index 72728f7..5491bee 100644 --- a/debian/readynas/config.xml +++ b/debian/readynas/config.xml @@ -1,13 +1,13 @@ - 1.1.14-nt1 + 1.1.14-nt3 6.6.0 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: