diff --git a/.version b/.version index 3800eed..267608f 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -2.9.16 +2.9.17 diff --git a/README.md b/README.md index ad5dfc2..86a6489 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,13 @@



- + - - - Gitter @@ -520,7 +517,13 @@ Special thanks to the following contributors: -
Ivan Kristianto +
Ivan Kristianto +
+ + + + +
Omer Cohen
diff --git a/docker/rootfs/etc/services.d/nginx/run b/docker/rootfs/etc/services.d/nginx/run index 508b7d7..51ca5ea 100755 --- a/docker/rootfs/etc/services.d/nginx/run +++ b/docker/rootfs/etc/services.d/nginx/run @@ -24,7 +24,7 @@ chown root /tmp/nginx # Dynamically generate resolvers file, if resolver is IPv6, enclose in `[]` # thanks @tfmm -echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" { sub(/%.*$/,"",$2); print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf);" > /etc/nginx/conf.d/include/resolvers.conf +echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" { sub(/%.*$/,"",$2); print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf) valid=10s;" > /etc/nginx/conf.d/include/resolvers.conf # Generate dummy self-signed certificate. if [ ! -f /data/nginx/dummycert.pem ] || [ ! -f /data/nginx/dummykey.pem ] diff --git a/docs/yarn.lock b/docs/yarn.lock index f84c421..843a241 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -7718,9 +7718,9 @@ pretty-time@^1.1.0: integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== prismjs@^1.13.0, prismjs@^1.20.0: - version "1.25.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.25.0.tgz#6f822df1bdad965734b310b315a23315cf999756" - integrity sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg== + version "1.27.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057" + integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA== private@^0.1.8: version "0.1.8" @@ -9681,9 +9681,9 @@ url-parse-lax@^3.0.0: prepend-http "^2.0.0" url-parse@^1.4.3, url-parse@^1.4.7: - version "1.5.2" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.2.tgz#a4eff6fd5ff9fe6ab98ac1f79641819d13247cda" - integrity sha512-6bTUPERy1muxxYClbzoRo5qtQuyoGEbzbQvi0SW4/8U8UyVkAQhWFBlnigqJkRm4su4x1zDQfNbEzWkt+vchcg== + version "1.5.9" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.9.tgz#05ff26484a0b5e4040ac64dcee4177223d74675e" + integrity sha512-HpOvhKBvre8wYez+QhHcYiVvVmeF6DVnuSOOPhe3cTum3BnqHhvKaZm8FU5yTiOu/Jut2ZpB2rA/SbBA1JIGlQ== dependencies: querystringify "^2.1.1" requires-port "^1.0.0" diff --git a/frontend/js/app/nginx/dead/delete.ejs b/frontend/js/app/nginx/dead/delete.ejs index cf720e8..4bebb43 100644 --- a/frontend/js/app/nginx/dead/delete.ejs +++ b/frontend/js/app/nginx/dead/delete.ejs @@ -7,7 +7,7 @@

- <%= i18n('dead-hosts', 'delete-confirm', {domains: domain_names.join(', ')}) %> + <%= i18n('dead-hosts', 'delete-confirm', {domains: domain_names.join(', ').toHtmlEntities()}) %> <% if (certificate_id) { %>

<%- i18n('ssl', 'delete-ssl') %> diff --git a/frontend/js/app/nginx/proxy/delete.ejs b/frontend/js/app/nginx/proxy/delete.ejs index 2fe099f..74da297 100644 --- a/frontend/js/app/nginx/proxy/delete.ejs +++ b/frontend/js/app/nginx/proxy/delete.ejs @@ -7,7 +7,7 @@
- <%= i18n('proxy-hosts', 'delete-confirm', {domains: domain_names.join(', ')}) %> + <%= i18n('proxy-hosts', 'delete-confirm', {domains: domain_names.join(', ').toHtmlEntities()}) %> <% if (certificate_id) { %>

<%- i18n('ssl', 'delete-ssl') %> diff --git a/frontend/js/app/nginx/redirection/delete.ejs b/frontend/js/app/nginx/redirection/delete.ejs index 8353d1b..782d843 100644 --- a/frontend/js/app/nginx/redirection/delete.ejs +++ b/frontend/js/app/nginx/redirection/delete.ejs @@ -7,7 +7,7 @@
- <%= i18n('redirection-hosts', 'delete-confirm', {domains: domain_names.join(', ')}) %> + <%= i18n('redirection-hosts', 'delete-confirm', {domains: domain_names.join(', ').toHtmlEntities()}) %> <% if (certificate_id) { %>

<%- i18n('ssl', 'delete-ssl') %> diff --git a/frontend/js/app/user/delete.ejs b/frontend/js/app/user/delete.ejs index 484e278..c10532e 100644 --- a/frontend/js/app/user/delete.ejs +++ b/frontend/js/app/user/delete.ejs @@ -7,7 +7,7 @@
- <%= i18n('users', 'delete-confirm', {name: name}) %> + <%= i18n('users', 'delete-confirm', {name: name.toHtmlEntities()}) %>
diff --git a/frontend/js/index.js b/frontend/js/index.js index bfaa017..3d817d7 100644 --- a/frontend/js/index.js +++ b/frontend/js/index.js @@ -103,6 +103,13 @@ window.tabler = { } }; +String.prototype.toHtmlEntities = function() { + return this.replace(/./gm, function(s) { + // return "&#" + s.charCodeAt(0) + ";"; + return (s.match(/[a-z0-9\s]+/i)) ? s : "&#" + s.charCodeAt(0) + ";"; + }); +}; + require('tabler-core'); const App = require('./app/main'); diff --git a/frontend/webpack.config.js b/frontend/webpack.config.js index 01a09da..05350a4 100644 --- a/frontend/webpack.config.js +++ b/frontend/webpack.config.js @@ -92,17 +92,17 @@ module.exports = { ] }, { - test: /source-sans-pro.*\.(woff(2)?)(\?v=\d+\.\d+\.\d+)?$/, - use: [ - { - loader: 'file-loader', - options: { - name: '[name].[ext]', - outputPath: 'assets/' - } - } - ] - } + test: /source-sans-pro.*\.(woff(2)?)(\?v=\d+\.\d+\.\d+)?$/, + use: [ + { + loader: 'file-loader', + options: { + name: '[name].[ext]', + outputPath: 'assets/' + } + } + ] + } ] }, plugins: [