From baa11cb6bae96fbeb38800cabdfc476e9eb0572c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 9 Jun 2023 23:35:16 +0800 Subject: [PATCH] update 2023-06-09 23:35:16 --- luci-app-argon-config/Makefile | 8 +- .../resources/view/argon-config.js | 186 +++++++++++ .../luasrc/controller/argon-config.lua | 10 - .../luasrc/model/cbi/argon-config.lua | 217 ------------- .../luasrc/view/argon-config/other_button.htm | 7 - .../luasrc/view/argon-config/other_dvalue.htm | 8 - .../luasrc/view/argon-config/other_upload.htm | 5 - luci-app-argon-config/po/es/argon-config.po | 304 ++++++++++++------ .../po/templates/argon-config.pot | 152 +++++---- luci-app-argon-config/po/zh-cn | 1 + .../po/zh-cn/argon-config.po | 129 -------- .../po/zh-tw/argon-config.po | 165 ---------- luci-app-argon-config/po/zh_Hans | 1 - .../po/zh_Hans/argon-config.po | 192 +++++++++++ luci-app-argon-config/po/zh_Hant | 1 - .../po/zh_Hant/argon-config.po | 273 ++++++++++++++++ luci-app-argon-config/root/etc/config/argon | 11 +- .../root/etc/uci-defaults/luci-argon-config | 12 +- .../root/usr/libexec/rpcd/luci.argon | 56 ++++ .../luci/menu.d/luci-app-argon-config.json | 14 + .../rpcd/acl.d/luci-app-argon-config.json | 28 +- luci-app-passwall2/Makefile | 2 +- luci-app-passwall2/po/zh-cn/passwall2.po | 3 + luci-app-passwall2/root/etc/init.d/passwall2 | 20 -- .../root/usr/share/passwall2/iptables.sh | 2 +- .../root/usr/share/passwall2/nftables.sh | 36 ++- luci-theme-argon/RELEASE.md | 7 + luci-theme-argon/RELEASE_ZH.md | 7 + openssl/Makefile | 6 +- ...esource-use-verifying-policy-constra.patch | 214 ------------ ...AG_INVALID_POLICY-is-checked-even-in.patch | 48 --- 31 files changed, 1106 insertions(+), 1019 deletions(-) create mode 100644 luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js delete mode 100644 luci-app-argon-config/luasrc/controller/argon-config.lua delete mode 100644 luci-app-argon-config/luasrc/model/cbi/argon-config.lua delete mode 100644 luci-app-argon-config/luasrc/view/argon-config/other_button.htm delete mode 100644 luci-app-argon-config/luasrc/view/argon-config/other_dvalue.htm delete mode 100644 luci-app-argon-config/luasrc/view/argon-config/other_upload.htm create mode 120000 luci-app-argon-config/po/zh-cn delete mode 100644 luci-app-argon-config/po/zh-cn/argon-config.po delete mode 100644 luci-app-argon-config/po/zh-tw/argon-config.po delete mode 120000 luci-app-argon-config/po/zh_Hans create mode 100644 luci-app-argon-config/po/zh_Hans/argon-config.po delete mode 120000 luci-app-argon-config/po/zh_Hant create mode 100644 luci-app-argon-config/po/zh_Hant/argon-config.po mode change 100755 => 100644 luci-app-argon-config/root/etc/uci-defaults/luci-argon-config create mode 100755 luci-app-argon-config/root/usr/libexec/rpcd/luci.argon create mode 100644 luci-app-argon-config/root/usr/share/luci/menu.d/luci-app-argon-config.json delete mode 100644 openssl/patches/200-x509-excessive-resource-use-verifying-policy-constra.patch delete mode 100644 openssl/patches/210-Ensure-that-EXFLAG_INVALID_POLICY-is-checked-even-in.patch diff --git a/luci-app-argon-config/Makefile b/luci-app-argon-config/Makefile index eed966271..8f2807cb0 100644 --- a/luci-app-argon-config/Makefile +++ b/luci-app-argon-config/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-argon-config -PKG_VERSION:=0.9 -PKG_RELEASE:=20220424 +PKG_VERSION:=1.0 +PKG_RELEASE:=20230608 PKG_MAINTAINER:=jerrykuku -LUCI_TITLE:=LuCI page for Argon Config +LUCI_TITLE:=LuCI app for Argon theme configuration LUCI_PKGARCH:=all -LUCI_DEPENDS:=+luci-compat +luci-theme-argon +luci-lib-ipkg +luci-theme-argon +LUCI_DEPENDS:=+luci-theme-argon define Package/$(PKG_NAME)/conffiles /etc/config/argon diff --git a/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js b/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js new file mode 100644 index 000000000..fa576648a --- /dev/null +++ b/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js @@ -0,0 +1,186 @@ +'use strict'; +'require form'; +'require fs'; +'require rpc'; +'require uci'; +'require ui'; +'require view'; + +var callSystemInfo = rpc.declare({ + object: 'system', + method: 'info' +}); + +var callRemoveArgon = rpc.declare({ + object: 'luci.argon', + method: 'remove', + params: ['filename'], + expect: { '': {} } +}); + +var callRenameArgon = rpc.declare({ + object: 'luci.argon', + method: 'rename', + params: ['newname'], + expect: { '': {} } +}); + +var bg_path = '/www/luci-static/argon/background/'; + +var trans_set = [0, 0.1, 0.2, 0.3, 0.4, + 0.5, 0.6, 0.7, 0.8, 0.9, 1 ]; + +return view.extend({ + load: function() { + return Promise.all([ + uci.load('argon'), + L.resolveDefault(callSystemInfo(), {}), + L.resolveDefault(fs.list(bg_path), {}) + ]); + }, + + render: function(data) { + var m, s, o; + + m = new form.Map('argon', _('Argon theme configuration'), + _('Here you can set the blur and transparency of the login page of argon theme, and manage the background pictures and videos. Chrome is recommended.')); + + s = m.section(form.TypedSection, 'global', _('Theme configuration')); + s.addremove = false; + s.anonymous = true; + + o = s.option(form.ListValue, 'online_wallpaper', _('Wallpaper source')); + o.value('none', _('Built-in')); + o.value('bing', _('Bing')); + o.value('unsplash', _('Unsplash')); + o.value('wallhaven', _('Wallhaven')); + o.default = 'bing'; + o.rmempty = false; + + o = s.option(form.ListValue, 'mode', _('Theme mode')); + o.value('normal', _('Follow system')); + o.value('light', _('Light mode')); + o.value('dark', _('Dark mode')); + o.default = 'normal'; + o.rmempty = false; + + o = s.option(form.Value, 'primary', _('[Light mode] Primary Color'), _('A HEX color (default: #5e72e4).')) + o.default = '#5e72e4'; + o.rmempty = false; + o.validate = function(section_id, value) { + if (section_id) + return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(value) || + _('Expecting: %s').format(_('valid HEX color value')); + return true; + } + + o = s.option(form.ListValue, 'transparency', _('[Light mode] Transparency'), + _('0 transparent - 1 opaque (suggest: transparent: 0 or translucent preset: 0.5).')); + for (var i of trans_set) + o.value(i); + o.default = '0.5'; + o.rmempty = false; + + o = s.option(form.Value, 'blur', _('[Light mode] Frosted Glass Radius'), + _('Larger value will more blurred (suggest: clear: 1 or blur preset: 10).')); + o.datatype = 'ufloat'; + o.default = '10'; + o.rmempty = false; + + o = s.option(form.Value, 'dark_primary', _('[Dark mode] Primary Color'), + _('A HEX Color (default: #483d8b).')) + o.default = '#483d8b'; + o.rmempty = false; + o.validate = function(section_id, value) { + if (section_id) + return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(value) || + _('Expecting: %s').format(_('valid HEX color value')); + return true; + } + + o = s.option(form.ListValue, 'transparency_dark', _('[Dark mode] Transparency'), + _('0 transparent - 1 opaque (suggest: black translucent preset: 0.5).')); + for (var i of trans_set) + o.value(i); + o.default = '0.5'; + o.rmempty = false; + + o = s.option(form.Value, 'blur_dark', _('[Dark mode] Frosted Glass Radius'), + _('Larger value will more blurred (suggest: clear: 1 or blur preset: 10).')) + o.datatype = 'ufloat'; + o.default = '10'; + o.rmempty = false; + + o = s.option(form.Button, '_save', _('Save settings')); + o.inputstyle = 'apply'; + o.inputtitle = _('Save current settings'); + o.onclick = function() { + ui.changes.apply(true); + return this.map.save(null, true); + } + + s = m.section(form.TypedSection, null, _('Upload background (available space: %1024.2mB)') + .format(data[1].root.avail * 1024), + _('You can upload files such as gif/jpg/mp4/png/webm/webp files, to change the login page background.')); + s.addremove = false; + s.anonymous = true; + + o = s.option(form.Button, '_upload_bg', _('Upload background'), + _('Files will be uploaded to %s.').format(bg_path)); + o.inputstyle = 'action'; + o.inputtitle = _('Upload...'); + o.onclick = function(ev, section_id) { + var file = '/tmp/argon_background.tmp'; + return ui.uploadFile(file, ev.target).then(function(res) { + return L.resolveDefault(callRenameArgon(res.name), {}).then(function(ret) { + if (ret.result === 0) + return location.reload(); + else { + ui.addNotification(null, E('p', _('Failed to upload file: %s.').format(res.name))); + return L.resolveDefault(fs.remove(file), {}); + } + }); + }) + .catch(function(e) { ui.addNotification(null, E('p', e.message)); }); + }; + o.modalonly = true; + + s = m.section(form.TableSection); + s.render = function() { + var tbl = E('table', { 'class': 'table cbi-section-table' }, + E('tr', { 'class': 'tr table-titles' }, [ + E('th', { 'class': 'th' }, [ _('Filename') ]), + E('th', { 'class': 'th' }, [ _('Modified date') ]), + E('th', { 'class': 'th' }, [ _('Size') ]), + E('th', { 'class': 'th' }, [ _('Action') ]) + ]) + ); + + cbi_update_table(tbl, data[2].map(L.bind(function(file) { + return [ + file.name, + new Date(file.mtime * 1000).toLocaleString(), + String.format('%1024.2mB', file.size), + E('button', { + 'class': 'btn cbi-button cbi-button-remove', + 'click': ui.createHandlerFn(this, function() { + return L.resolveDefault(callRemoveArgon(file.name), {}) + .then(function() { return location.reload(); }); + }) + }, [ _('Delete') ]) + ]; + }, this)), E('em', _('No files found.'))); + + return E('div', { 'class': 'cbi-map', 'id': 'cbi-filelist' }, [ + E('h3', _('Background file list')), + tbl + ]); + }; + + return m.render(); + }, + + handleSaveApply: null, + handleSave: null, + handleReset: null +}); diff --git a/luci-app-argon-config/luasrc/controller/argon-config.lua b/luci-app-argon-config/luasrc/controller/argon-config.lua deleted file mode 100644 index 5d7faf455..000000000 --- a/luci-app-argon-config/luasrc/controller/argon-config.lua +++ /dev/null @@ -1,10 +0,0 @@ -module("luci.controller.argon-config", package.seeall) - -function index() - if not nixio.fs.access('/www/luci-static/argon/css/cascade.css') then - return - end - - local page = entry({"admin", "system", "argon-config"}, form("argon-config"), _("Argon Config"), 90) - page.acl_depends = { "luci-app-argon-config" } -end diff --git a/luci-app-argon-config/luasrc/model/cbi/argon-config.lua b/luci-app-argon-config/luasrc/model/cbi/argon-config.lua deleted file mode 100644 index ced16c47d..000000000 --- a/luci-app-argon-config/luasrc/model/cbi/argon-config.lua +++ /dev/null @@ -1,217 +0,0 @@ -local nxfs = require 'nixio.fs' -local wa = require 'luci.tools.webadmin' -local opkg = require 'luci.model.ipkg' -local sys = require 'luci.sys' -local http = require 'luci.http' -local nutil = require 'nixio.util' -local name = 'argon' -local uci = require 'luci.model.uci'.cursor() - -local fstat = nxfs.statvfs(opkg.overlay_root()) -local space_total = fstat and fstat.blocks or 0 -local space_free = fstat and fstat.bfree or 0 -local space_used = space_total - space_free - -local free_byte = space_free * fstat.frsize - -local primary, dark_primary, blur_radius, blur_radius_dark, blur_opacity, mode -if nxfs.access('/etc/config/argon') then - primary = uci:get_first('argon', 'global', 'primary') - dark_primary = uci:get_first('argon', 'global', 'dark_primary') - blur_radius = uci:get_first('argon', 'global', 'blur') - blur_radius_dark = uci:get_first('argon', 'global', 'blur_dark') - blur_opacity = uci:get_first('argon', 'global', 'transparency') - blur_opacity_dark = uci:get_first('argon', 'global', 'transparency_dark') - mode = uci:get_first('argon', 'global', 'mode') - bing_background = uci:get_first('argon', 'global', 'bing_background') -end - -function glob(...) - local iter, code, msg = nxfs.glob(...) - if iter then - return nutil.consume(iter) - else - return nil, code, msg - end -end - -local transparency_sets = { - 0, - 0.1, - 0.2, - 0.3, - 0.4, - 0.5, - 0.6, - 0.7, - 0.8, - 0.9, - 1 -} - --- [[ 模糊设置 ]]-- -br = SimpleForm('config', translate('Argon Config'), translate('Here you can set the blur and transparency of the login page of argon theme, and manage the background pictures and videos.[Chrome is recommended]')) -br.reset = false -br.submit = false -s = br:section(SimpleSection) - -o = s:option(ListValue, 'bing_background', translate('Wallpaper Source')) -o:value('0', translate('Built-in')) -o:value('1', translate('Bing Wallpapers')) -o.default = bing_background -o.rmempty = false - -o = s:option(ListValue, 'mode', translate('Theme mode')) -o:value('normal', translate('Follow System')) -o:value('light', translate('Force Light')) -o:value('dark', translate('Force Dark')) -o.default = mode -o.rmempty = false -o.description = translate('You can choose Theme color mode here') - -o = s:option(Value, 'primary', translate('[Light mode] Primary Color'), translate('A HEX Color ; ( Default: #5e72e4 )')) -o.default = primary -o.datatype = ufloat -o.rmempty = false - - - -o = s:option(ListValue, 'transparency', translate('[Light mode] Transparency'), translate('0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent preset: 0.5 )')) -for _, v in ipairs(transparency_sets) do - o:value(v) -end -o.default = blur_opacity -o.datatype = ufloat -o.rmempty = false - -o = s:option(Value, 'blur', translate('[Light mode] Frosted Glass Radius'), translate('Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )')) -o.default = blur_radius -o.datatype = ufloat -o.rmempty = false - -o = s:option(Value, 'dark_primary', translate('[Dark mode] Primary Color'), translate('A HEX Color ; ( Default: #483d8b )')) -o.default = dark_primary -o.datatype = ufloat -o.rmempty = false - -o = s:option(ListValue, 'transparency_dark', translate('[Dark mode] Transparency'), translate('0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )')) -for _, v in ipairs(transparency_sets) do - o:value(v) -end -o.default = blur_opacity_dark -o.datatype = ufloat -o.rmempty = false - -o = s:option(Value, 'blur_dark', translate('[Dark mode] Frosted Glass Radius'), translate('Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )')) -o.default = blur_radius_dark -o.datatype = ufloat -o.rmempty = false - -o = s:option(Button, 'save', translate('Save Changes')) -o.inputstyle = 'reload' - -function br.handle(self, state, data) - if (state == FORM_VALID and data.blur ~= nil and data.blur_dark ~= nil and data.transparency ~= nil and data.transparency_dark ~= nil and data.mode ~= nil) then - nxfs.writefile('/tmp/aaa', data) - for key, value in pairs(data) do - uci:set('argon','@global[0]',key,value) - end - uci:commit('argon') - end - return true -end - -ful = SimpleForm('upload', translate('Upload (Free: ') .. wa.byte_format(free_byte) .. ')', translate("You can upload files such as jpg,png,gif,webp,mp4,webm files, To change the login page background.")) -ful.reset = false -ful.submit = false - -sul = ful:section(SimpleSection, '', translate("Upload file to '/www/luci-static/argon/background/'")) -fu = sul:option(FileUpload, '') -fu.template = 'argon-config/other_upload' -um = sul:option(DummyValue, '', nil) -um.template = 'argon-config/other_dvalue' - -local dir, fd -dir = '/www/luci-static/argon/background/' -nxfs.mkdir(dir) -http.setfilehandler( - function(meta, chunk, eof) - if not fd then - if not meta then - return - end - - if meta and chunk then - fd = nixio.open(dir .. meta.file, 'w') - end - - if not fd then - um.value = translate('Create upload file error.') - return - end - end - if chunk and fd then - fd:write(chunk) - end - if eof and fd then - fd:close() - fd = nil - um.value = translate('File saved to') .. ' "/www/luci-static/argon/background/' .. meta.file .. '"' - end - end -) - -if http.formvalue('upload') then - local f = http.formvalue('ulfile') - if #f <= 0 then - um.value = translate('No specify upload file.') - end -end - -local function getSizeStr(size) - local i = 0 - local byteUnits = {' kB', ' MB', ' GB', ' TB'} - repeat - size = size / 1024 - i = i + 1 - until (size <= 1024) - return string.format('%.1f', size) .. byteUnits[i] -end - -local inits, attr = {} -for i, f in ipairs(glob(dir .. '*')) do - attr = nxfs.stat(f) - if attr then - inits[i] = {} - inits[i].name = nxfs.basename(f) - inits[i].mtime = os.date('%Y-%m-%d %H:%M:%S', attr.mtime) - inits[i].modestr = attr.modestr - inits[i].size = getSizeStr(attr.size) - inits[i].remove = 0 - inits[i].install = false - end -end - -form = SimpleForm('filelist', translate('Background file list'), nil) -form.reset = false -form.submit = false - -tb = form:section(Table, inits) -nm = tb:option(DummyValue, 'name', translate('File name')) -mt = tb:option(DummyValue, 'mtime', translate('Modify time')) -sz = tb:option(DummyValue, 'size', translate('Size')) -btnrm = tb:option(Button, 'remove', translate('Remove')) -btnrm.render = function(self, section, scope) - self.inputstyle = 'remove' - Button.render(self, section, scope) -end - -btnrm.write = function(self, section) - local v = nxfs.unlink(dir .. nxfs.basename(inits[section].name)) - if v then - table.remove(inits, section) - end - return v -end - -return br, ful, form diff --git a/luci-app-argon-config/luasrc/view/argon-config/other_button.htm b/luci-app-argon-config/luasrc/view/argon-config/other_button.htm deleted file mode 100644 index 1c391ad98..000000000 --- a/luci-app-argon-config/luasrc/view/argon-config/other_button.htm +++ /dev/null @@ -1,7 +0,0 @@ -<%+cbi/valueheader%> - <% if self:cfgvalue(section) ~= false then %> - " style="display: <%= display %>" type="submit"<%= attr("name", cbid) .. attr("id", cbid) .. attr("value", self.inputtitle or self.title)%> /> - <% else %> - - - <% end %> -<%+cbi/valuefooter%> diff --git a/luci-app-argon-config/luasrc/view/argon-config/other_dvalue.htm b/luci-app-argon-config/luasrc/view/argon-config/other_dvalue.htm deleted file mode 100644 index 296c61e4d..000000000 --- a/luci-app-argon-config/luasrc/view/argon-config/other_dvalue.htm +++ /dev/null @@ -1,8 +0,0 @@ -<%+cbi/valueheader%> - -<% - local val = self:cfgvalue(section) or self.default or "" - write(pcdata(val)) -%> - -<%+cbi/valuefooter%> diff --git a/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm b/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm deleted file mode 100644 index 775629f35..000000000 --- a/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm +++ /dev/null @@ -1,5 +0,0 @@ -<%+cbi/valueheader%> - - - -<%+cbi/valuefooter%> diff --git a/luci-app-argon-config/po/es/argon-config.po b/luci-app-argon-config/po/es/argon-config.po index e6670accd..38ef29ac6 100644 --- a/luci-app-argon-config/po/es/argon-config.po +++ b/luci-app-argon-config/po/es/argon-config.po @@ -12,168 +12,274 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.0.1\n" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:97 -msgid "0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:102 +msgid "0 transparent - 1 opaque (suggest: black translucent preset: 0.5)." msgstr "" -"0 transparente - 1 opaco; (Sugerencia: negro translúcido preestablecido: 0.5)" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:79 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:78 msgid "" -"0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent preset: " -"0.5 )" +"0 transparent - 1 opaque (suggest: transparent: 0 or translucent preset: " +"0.5)." msgstr "" -"0 transparente - 1 opaco; (Sugerencia: transparente: 0 o translúcido " -"preestablecido: 0.5)" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:92 -msgid "A HEX Color ; ( Default: #483d8b )" -msgstr "Un color HEX; (Predeterminado: #483d8b)" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:91 +msgid "A HEX Color (default: #483d8b)." +msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:72 -msgid "A HEX Color ; ( Default: #5e72e4 )" -msgstr "Un color HEX; (Predeterminado: #5e72e4)" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 +msgid "A HEX color (default: #5e72e4)." +msgstr "" -#: applications/luci-app-argon-config/luasrc/controller/argon-config.lua:8 -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:53 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:155 +msgid "Action" +msgstr "" + +#: applications/luci-app-argon-config/root/usr/share/luci/menu.d/luci-app-argon-config.json:3 msgid "Argon Config" msgstr "Configuración de Argon" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:195 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:45 +msgid "Argon theme configuration" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:175 msgid "Background file list" msgstr "Lista de archivos de fondo" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:60 -msgid "Bing Wallpapers" -msgstr "Fondos de Bing" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:54 +msgid "Bing" +msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:59 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:53 msgid "Built-in" msgstr "Integrado" -#: applications/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm:2 -msgid "Choose local file:" -msgstr "Elija un archivo local:" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:63 +msgid "Dark mode" +msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:149 -msgid "Create upload file error." -msgstr "Crear archivo de error de carga." +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:170 +msgid "Delete" +msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:200 -msgid "File name" -msgstr "Nombre del archivo" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "Expecting: %s" +msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:159 -msgid "File saved to" -msgstr "Archivo guardado en" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:139 +msgid "Failed to upload file: %s." +msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:65 -msgid "Follow System" -msgstr "Seguir el sistema" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:152 +msgid "Filename" +msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:67 -msgid "Force Dark" -msgstr "Forzar oscuro" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:129 +msgid "Files will be uploaded to %s." +msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:66 -msgid "Force Light" -msgstr "Forzar claro" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:61 +msgid "Follow system" +msgstr "" #: applications/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json:3 msgid "Grant UCI access for luci-app-argon-config" msgstr "Otorgar acceso UCI para luci-app-argon-config" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:53 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:46 msgid "" "Here you can set the blur and transparency of the login page of argon theme, " -"and manage the background pictures and videos.[Chrome is recommended]" +"and manage the background pictures and videos. Chrome is recommended." msgstr "" -"Aquí puede configurar el desenfoque y la transparencia de la página de " -"inicio de sesión del tema argon y administrar las imágenes de fondo y los " -"videos. [Se recomienda Chrome]" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:87 -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:105 -msgid "" -"Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:85 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:109 +msgid "Larger value will more blurred (suggest: clear: 1 or blur preset: 10)." msgstr "" -"El valor más grande se verá más borroso; (Sugerencia: claro: 1 o desenfoque " -"predeterminado: 10)" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:201 -msgid "Modify time" -msgstr "Modificar la hora" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:62 +msgid "Light mode" +msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:167 -msgid "No specify upload file." -msgstr "No especificar archivo de carga." +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:153 +msgid "Modified date" +msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:203 -msgid "Remove" -msgstr "Eliminar" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:172 +msgid "No files found." +msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:110 -msgid "Save Changes" -msgstr "Guardar cambios" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:116 +msgid "Save current settings" +msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:202 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:114 +msgid "Save settings" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:154 msgid "Size" msgstr "Tamaño" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:64 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:48 +msgid "Theme configuration" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:60 msgid "Theme mode" msgstr "Modo del tema" -#: applications/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm:4 -msgid "Upload" -msgstr "Cargar" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:124 -msgid "Upload (Free:" -msgstr "Cargar (Libre:" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:128 -msgid "Upload file to '/www/luci-static/argon/background/'" -msgstr "Subir archivo a '/www/luci-static/argon/background/'" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:58 -msgid "Wallpaper Source" -msgstr "Fuente del fondo de pantalla" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:70 -msgid "You can choose Theme color mode here" -msgstr "Puede elegir el modo de color del tema aquí" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:124 -msgid "" -"You can upload files such as jpg,png,gif,webp,mp4,webm files, To change the login page " -"background." +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:55 +msgid "Unsplash" msgstr "" -"Puede cargar archivos como jpg, png, gif, webp, mp4, webm, para cambiar el fondo de la " -"página de inicio de sesión." -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:105 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:128 +msgid "Upload background" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:122 +msgid "Upload background (available space: %1024.2mB)" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:131 +msgid "Upload..." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:56 +msgid "Wallhaven" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:52 +msgid "Wallpaper source" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:124 +msgid "" +"You can upload files such as gif/jpg/mp4/png/webm/webp files, to change the " +"login page background." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:108 msgid "[Dark mode] Frosted Glass Radius" msgstr "[Modo oscuro] Radio de vidrio esmerilado" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:92 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:90 msgid "[Dark mode] Primary Color" msgstr "[Modo oscuro] Color primario" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:97 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:101 msgid "[Dark mode] Transparency" msgstr "[Modo oscuro] Transparencia" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:87 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:84 msgid "[Light mode] Frosted Glass Radius" msgstr "[Modo claro] Radio de vidrio esmerilado" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:72 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 msgid "[Light mode] Primary Color" msgstr "[Modo claro] Color primario" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:79 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:77 msgid "[Light mode] Transparency" msgstr "[Modo claro] Transparencia" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "valid HEX color value" +msgstr "" + +#~ msgid "" +#~ "0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )" +#~ msgstr "" +#~ "0 transparente - 1 opaco; (Sugerencia: negro translúcido preestablecido: " +#~ "0.5)" + +#~ msgid "" +#~ "0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent " +#~ "preset: 0.5 )" +#~ msgstr "" +#~ "0 transparente - 1 opaco; (Sugerencia: transparente: 0 o translúcido " +#~ "preestablecido: 0.5)" + +#~ msgid "A HEX Color ; ( Default: #483d8b )" +#~ msgstr "Un color HEX; (Predeterminado: #483d8b)" + +#~ msgid "A HEX Color ; ( Default: #5e72e4 )" +#~ msgstr "Un color HEX; (Predeterminado: #5e72e4)" + +#~ msgid "Bing Wallpapers" +#~ msgstr "Fondos de Bing" + +#~ msgid "Choose local file:" +#~ msgstr "Elija un archivo local:" + +#~ msgid "Create upload file error." +#~ msgstr "Crear archivo de error de carga." + +#~ msgid "File name" +#~ msgstr "Nombre del archivo" + +#~ msgid "File saved to" +#~ msgstr "Archivo guardado en" + +#~ msgid "Follow System" +#~ msgstr "Seguir el sistema" + +#~ msgid "Force Dark" +#~ msgstr "Forzar oscuro" + +#~ msgid "Force Light" +#~ msgstr "Forzar claro" + +#~ msgid "" +#~ "Here you can set the blur and transparency of the login page of argon " +#~ "theme, and manage the background pictures and videos.[Chrome is " +#~ "recommended]" +#~ msgstr "" +#~ "Aquí puede configurar el desenfoque y la transparencia de la página de " +#~ "inicio de sesión del tema argon y administrar las imágenes de fondo y los " +#~ "videos. [Se recomienda Chrome]" + +#~ msgid "" +#~ "Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )" +#~ msgstr "" +#~ "El valor más grande se verá más borroso; (Sugerencia: claro: 1 o " +#~ "desenfoque predeterminado: 10)" + +#~ msgid "Modify time" +#~ msgstr "Modificar la hora" + +#~ msgid "No specify upload file." +#~ msgstr "No especificar archivo de carga." + +#~ msgid "Remove" +#~ msgstr "Eliminar" + +#~ msgid "Save Changes" +#~ msgstr "Guardar cambios" + +#~ msgid "Upload" +#~ msgstr "Cargar" + +#~ msgid "Upload (Free:" +#~ msgstr "Cargar (Libre:" + +#~ msgid "Upload file to '/www/luci-static/argon/background/'" +#~ msgstr "Subir archivo a '/www/luci-static/argon/background/'" + +#~ msgid "Wallpaper Source" +#~ msgstr "Fuente del fondo de pantalla" + +#~ msgid "You can choose Theme color mode here" +#~ msgstr "Puede elegir el modo de color del tema aquí" + +#~ msgid "" +#~ "You can upload files such as jpg,png,gif,webp,mp4,webm files, To change " +#~ "the login page background." +#~ msgstr "" +#~ "Puede cargar archivos como jpg, png, gif, webp, mp4, webm, para cambiar " +#~ "el fondo de la página de inicio de sesión." + #~ msgid "Luci Argon theme config" #~ msgstr "Configuración del tema Luci Argon" diff --git a/luci-app-argon-config/po/templates/argon-config.pot b/luci-app-argon-config/po/templates/argon-config.pot index 4b56ec111..59a50612f 100644 --- a/luci-app-argon-config/po/templates/argon-config.pot +++ b/luci-app-argon-config/po/templates/argon-config.pot @@ -1,155 +1,179 @@ msgid "" msgstr "Content-Type: text/plain; charset=UTF-8" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:97 -msgid "0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:102 +msgid "0 transparent - 1 opaque (suggest: black translucent preset: 0.5)." msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:79 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:78 msgid "" -"0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent preset: " -"0.5 )" +"0 transparent - 1 opaque (suggest: transparent: 0 or translucent preset: " +"0.5)." msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:92 -msgid "A HEX Color ; ( Default: #483d8b )" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:91 +msgid "A HEX Color (default: #483d8b)." msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:72 -msgid "A HEX Color ; ( Default: #5e72e4 )" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 +msgid "A HEX color (default: #5e72e4)." msgstr "" -#: applications/luci-app-argon-config/luasrc/controller/argon-config.lua:8 -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:53 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:155 +msgid "Action" +msgstr "" + +#: applications/luci-app-argon-config/root/usr/share/luci/menu.d/luci-app-argon-config.json:3 msgid "Argon Config" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:195 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:45 +msgid "Argon theme configuration" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:175 msgid "Background file list" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:60 -msgid "Bing Wallpapers" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:54 +msgid "Bing" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:59 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:53 msgid "Built-in" msgstr "" -#: applications/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm:2 -msgid "Choose local file:" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:63 +msgid "Dark mode" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:149 -msgid "Create upload file error." +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:170 +msgid "Delete" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:200 -msgid "File name" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "Expecting: %s" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:159 -msgid "File saved to" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:139 +msgid "Failed to upload file: %s." msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:65 -msgid "Follow System" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:152 +msgid "Filename" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:67 -msgid "Force Dark" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:129 +msgid "Files will be uploaded to %s." msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:66 -msgid "Force Light" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:61 +msgid "Follow system" msgstr "" #: applications/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json:3 msgid "Grant UCI access for luci-app-argon-config" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:53 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:46 msgid "" "Here you can set the blur and transparency of the login page of argon theme, " -"and manage the background pictures and videos.[Chrome is recommended]" +"and manage the background pictures and videos. Chrome is recommended." msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:87 -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:105 -msgid "" -"Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:85 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:109 +msgid "Larger value will more blurred (suggest: clear: 1 or blur preset: 10)." msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:201 -msgid "Modify time" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:62 +msgid "Light mode" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:167 -msgid "No specify upload file." +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:153 +msgid "Modified date" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:203 -msgid "Remove" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:172 +msgid "No files found." msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:110 -msgid "Save Changes" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:116 +msgid "Save current settings" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:202 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:114 +msgid "Save settings" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:154 msgid "Size" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:64 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:48 +msgid "Theme configuration" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:60 msgid "Theme mode" msgstr "" -#: applications/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm:4 -msgid "Upload" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:55 +msgid "Unsplash" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:124 -msgid "Upload (Free:" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:128 +msgid "Upload background" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:128 -msgid "Upload file to '/www/luci-static/argon/background/'" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:122 +msgid "Upload background (available space: %1024.2mB)" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:58 -msgid "Wallpaper Source" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:131 +msgid "Upload..." msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:70 -msgid "You can choose Theme color mode here" +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:56 +msgid "Wallhaven" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:124 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:52 +msgid "Wallpaper source" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:124 msgid "" -"You can upload files such as jpg,png,gif,webp,mp4,webm files, To change the login page " -"background." +"You can upload files such as gif/jpg/mp4/png/webm/webp files, to change the " +"login page background." msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:105 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:108 msgid "[Dark mode] Frosted Glass Radius" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:92 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:90 msgid "[Dark mode] Primary Color" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:97 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:101 msgid "[Dark mode] Transparency" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:87 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:84 msgid "[Light mode] Frosted Glass Radius" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:72 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 msgid "[Light mode] Primary Color" msgstr "" -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:79 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:77 msgid "[Light mode] Transparency" msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "valid HEX color value" +msgstr "" diff --git a/luci-app-argon-config/po/zh-cn b/luci-app-argon-config/po/zh-cn new file mode 120000 index 000000000..8d69574dd --- /dev/null +++ b/luci-app-argon-config/po/zh-cn @@ -0,0 +1 @@ +zh_Hans \ No newline at end of file diff --git a/luci-app-argon-config/po/zh-cn/argon-config.po b/luci-app-argon-config/po/zh-cn/argon-config.po deleted file mode 100644 index 6b173412d..000000000 --- a/luci-app-argon-config/po/zh-cn/argon-config.po +++ /dev/null @@ -1,129 +0,0 @@ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: dingpengyu \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"X-Generator: Poedit 2.3.1\n" - -msgid "Argon Config" -msgstr "Argon 主题设置" - -msgid "Here you can set the blur and transparency of the login page of argon theme, and manage the background pictures and videos.[Chrome is recommended]" -msgstr "在这里你可以设置argon 主题的登录页面的模糊和透明度,并管理背景图片与视频。[建议使用 Chrome]" - -msgid "Wallpaper Source" -msgstr "壁纸来源" - -msgid "Built-in" -msgstr "内建" - -msgid "Bing Wallpapers" -msgstr "Bing 壁纸" - -msgid "Theme mode" -msgstr "主题模式" - -msgid "Follow System" -msgstr "跟随系统" - -msgid "Force Light" -msgstr "强制亮色" - -msgid "Force Dark" -msgstr "强制暗色" - -msgid "You can choose Theme color mode here" -msgstr "你可以选择喜欢的主题模式" - -msgid "[Light mode] Primary Color" -msgstr "[亮色模式] 主色调" - -msgid "[Dark mode] Primary Color" -msgstr "[暗色模式] 主色调" - -msgid "A HEX Color ; ( Default: #5e72e4 )" -msgstr "十六进制颜色值 ( 预设为:#5e72e4 )" - -msgid "A HEX Color ; ( Default: #483d8b )" -msgstr "十六进制颜色值 ( 预设为:#483d8b )" - -msgid "[Light mode] Transparency" -msgstr "[亮色模式] 透明度" - -msgid "[Dark mode] Transparency" -msgstr "[暗色模式] 透明度" - -msgid "0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent preset: 0.5 )" -msgstr "0最透明 - 1不透明 ; ( 建议: 透明 0 或 半透明预设 0.5 )" - -msgid "0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )" -msgstr "0最透明 - 1不透明 ; ( 建议: 黑色半透明 0.5 )" - -msgid "[Light mode] Frosted Glass Radius" -msgstr "[亮色模式] 毛玻璃模糊半径" - -msgid "[Dark mode] Frosted Glass Radius" -msgstr "[暗色模式] 毛玻璃模糊半径" - -msgid "Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )" -msgstr "值越大越模糊; ( 建议: 清透 1 或 模糊预设 10 )" - -msgid "You can upload files such as jpg,png,gif,webp,mp4,webm files, To change the login page background." -msgstr "你可以上传jpg、png、gif、webp或mp4、webm文件,以创建自己喜欢的登录界面" - -msgid "Save Changes" -msgstr "保存更改" - -msgid "Choose local file:" -msgstr "选择本地文件:" - -msgid "Couldn't open file:" -msgstr "无法打开文件:" - -msgid "Create upload file error." -msgstr "创建上传文件失败。" - -msgid "File name" -msgstr "文件名" - -msgid "File saved to" -msgstr "文件保存到" - -msgid "FileTransfer" -msgstr "文件传输" - -msgid "Install" -msgstr "安装" - -msgid "Attributes" -msgstr "属性" - -msgid "Modify time" -msgstr "修改时间" - -msgid "No specify upload file." -msgstr "未指定上传文件。" - -msgid "Path on Route:" -msgstr "路由根目录:" - -msgid "Remove" -msgstr "移除" - -msgid "Size" -msgstr "大小" - -msgid "Upload (Free:" -msgstr "上传 (剩余空间:" - -msgid "Background file list" -msgstr "背景文件列表" - -msgid "Upload file to '/www/luci-static/argon/background/'" -msgstr "文件将上传到'/www/luci-static/argon/background/'" diff --git a/luci-app-argon-config/po/zh-tw/argon-config.po b/luci-app-argon-config/po/zh-tw/argon-config.po deleted file mode 100644 index ea2523c12..000000000 --- a/luci-app-argon-config/po/zh-tw/argon-config.po +++ /dev/null @@ -1,165 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: Victor Tseng \n" -"Language-Team: \n" -"Language: zh_TW\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.2.2\n" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:97 -msgid "0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )" -msgstr "0 全透明 - 1 不透明(建議:黑色半透明 0.5)" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:79 -msgid "" -"0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent preset: 0.5 )" -msgstr "0 全透明 - 1 不透明(建議:全透明 0,或半透明 0.5)" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:92 -msgid "A HEX Color ; ( Default: #483d8b )" -msgstr "十六進制顏色(預設 #483d8b)" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:72 -msgid "A HEX Color ; ( Default: #5e72e4 )" -msgstr "十六進制顏色(預設 #5e72e4)" - -#: applications/luci-app-argon-config/luasrc/controller/argon-config.lua:8 -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:53 -msgid "Argon Config" -msgstr "Argon 設定" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:195 -msgid "Background file list" -msgstr "背景檔案清單" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:60 -msgid "Bing Wallpapers" -msgstr "必應桌布" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:59 -msgid "Built-in" -msgstr "內建" - -#: applications/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm:2 -msgid "Choose local file:" -msgstr "選擇本地檔案:" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:149 -msgid "Create upload file error." -msgstr "建立上傳檔案錯誤。" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:200 -msgid "File name" -msgstr "檔案名稱" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:159 -msgid "File saved to" -msgstr "檔案已儲存至" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:65 -msgid "Follow System" -msgstr "跟隨系統配色" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:67 -msgid "Force Dark" -msgstr "強制深色" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:66 -msgid "Force Light" -msgstr "強制淺色" - -#: applications/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json:3 -msgid "Grant UCI access for luci-app-argon-config" -msgstr "為 luci-app-argon-config 授予 UCI 權限" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:53 -msgid "" -"Here you can set the blur and transparency of the login page of argon theme, and " -"manage the background pictures and videos.[Chrome is recommended]" -msgstr "" -"您可以在此設定登入畫面的模糊度、透明度、以及管理背景圖片與影片(推薦使用 " -"Chrome)。" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:87 -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:105 -msgid "Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )" -msgstr "數值越大越模糊(建議:清晰 1,或模糊程度 10)" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:201 -msgid "Modify time" -msgstr "修改時間" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:167 -msgid "No specify upload file." -msgstr "沒有選擇要上傳的檔案。" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:203 -msgid "Remove" -msgstr "移除" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:110 -msgid "Save Changes" -msgstr "保存變更" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:202 -msgid "Size" -msgstr "容量" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:64 -msgid "Theme mode" -msgstr "佈景主題模式" - -#: applications/luci-app-argon-config/luasrc/view/argon-config/other_upload.htm:4 -msgid "Upload" -msgstr "上傳" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:124 -msgid "Upload (Free:" -msgstr "上傳(剩餘空間:" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:128 -msgid "Upload file to '/www/luci-static/argon/background/'" -msgstr "上傳檔案至「/www/luci-static/argon/background」" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:58 -msgid "Wallpaper Source" -msgstr "桌布來源" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:70 -msgid "You can choose Theme color mode here" -msgstr "您可以在此選擇佈景主題的顏色模式" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:124 -msgid "" -"You can upload files such as jpg,png,gif,mp4,webm files, To change the login page " -"background." -msgstr "您可以上傳諸如 jpg、png、gif、mp4、webm 等類型的檔案來更換登入畫面的背景。" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:105 -msgid "[Dark mode] Frosted Glass Radius" -msgstr "《深色模式》模糊效果半徑" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:92 -msgid "[Dark mode] Primary Color" -msgstr "《深色模式》主色彩" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:97 -msgid "[Dark mode] Transparency" -msgstr "《深色模式》透明度" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:87 -msgid "[Light mode] Frosted Glass Radius" -msgstr "《淺色模式》模糊效果半徑" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:72 -msgid "[Light mode] Primary Color" -msgstr "《淺色模式》主色彩" - -#: applications/luci-app-argon-config/luasrc/model/cbi/argon-config.lua:79 -msgid "[Light mode] Transparency" -msgstr "《淺色模式》透明度" diff --git a/luci-app-argon-config/po/zh_Hans b/luci-app-argon-config/po/zh_Hans deleted file mode 120000 index 41451e4a1..000000000 --- a/luci-app-argon-config/po/zh_Hans +++ /dev/null @@ -1 +0,0 @@ -zh-cn \ No newline at end of file diff --git a/luci-app-argon-config/po/zh_Hans/argon-config.po b/luci-app-argon-config/po/zh_Hans/argon-config.po new file mode 100644 index 000000000..342fab509 --- /dev/null +++ b/luci-app-argon-config/po/zh_Hans/argon-config.po @@ -0,0 +1,192 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: dingpengyu \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" +"X-Generator: Poedit 2.3.1\n" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:102 +msgid "0 transparent - 1 opaque (suggest: black translucent preset: 0.5)." +msgstr "0 最透明 - 1 不透明(建议:黑色半透明 0.5)" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:78 +msgid "" +"0 transparent - 1 opaque (suggest: transparent: 0 or translucent preset: " +"0.5)." +msgstr "0 最透明 - 1 不透明(建议: 透明 0 或 半透明预设 0.5)。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:91 +msgid "A HEX Color (default: #483d8b)." +msgstr "十六进制颜色值(预设为:#483d8b)。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 +msgid "A HEX color (default: #5e72e4)." +msgstr "十六进制颜色值(预设为:#5e72e4)。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:155 +msgid "Action" +msgstr "操作" + +#: applications/luci-app-argon-config/root/usr/share/luci/menu.d/luci-app-argon-config.json:3 +msgid "Argon Config" +msgstr "Argon 主题设置" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:45 +msgid "Argon theme configuration" +msgstr "Argon 主题设置" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:175 +msgid "Background file list" +msgstr "背景文件列表" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:54 +msgid "Bing" +msgstr "Bing" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:53 +msgid "Built-in" +msgstr "内建" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:63 +msgid "Dark mode" +msgstr "暗黑模式" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:170 +msgid "Delete" +msgstr "删除" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "Expecting: %s" +msgstr "请输入:%s" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:139 +msgid "Failed to upload file: %s." +msgstr "上传文件失败:%s。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:152 +msgid "Filename" +msgstr "文件名" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:129 +msgid "Files will be uploaded to %s." +msgstr "文件将被上传至%s。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:61 +msgid "Follow system" +msgstr "跟随系统" + +#: applications/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json:3 +msgid "Grant UCI access for luci-app-argon-config" +msgstr "授予 luci-app-argon-config 访问 UCI 配置的权限" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:46 +msgid "" +"Here you can set the blur and transparency of the login page of argon theme, " +"and manage the background pictures and videos. Chrome is recommended." +msgstr "" +"在这里你可以设置argon 主题的登录页面的模糊和透明度,并管理背景图片与视频。推" +"荐使用 Chrome。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:85 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:109 +msgid "Larger value will more blurred (suggest: clear: 1 or blur preset: 10)." +msgstr "值越大越模糊(建议:清透 1 或 模糊预设 10)" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:62 +msgid "Light mode" +msgstr "亮色模式" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:153 +msgid "Modified date" +msgstr "修改时间" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:172 +msgid "No files found." +msgstr "没有找到文件。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:116 +msgid "Save current settings" +msgstr "保存当前设置" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:114 +msgid "Save settings" +msgstr "保存设置" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:154 +msgid "Size" +msgstr "大小" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:48 +msgid "Theme configuration" +msgstr "主题配置" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:60 +msgid "Theme mode" +msgstr "主题模式" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:55 +msgid "Unsplash" +msgstr "Unsplash" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:128 +msgid "Upload background" +msgstr "上传背景" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:122 +msgid "Upload background (available space: %1024.2mB)" +msgstr "上传背景(可用空间:%1024.2mB)" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:131 +msgid "Upload..." +msgstr "上传..." + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:56 +msgid "Wallhaven" +msgstr "Wallhaven" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:52 +msgid "Wallpaper source" +msgstr "壁纸来源" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:124 +msgid "" +"You can upload files such as gif/jpg/mp4/png/webm/webp files, to change the " +"login page background." +msgstr "" +"你可以上传 gif/jpg/mp4/png/webm/webp 等格式的文件,以创建自己喜欢的登录界面。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:108 +msgid "[Dark mode] Frosted Glass Radius" +msgstr "[暗色模式] 毛玻璃模糊半径" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:90 +msgid "[Dark mode] Primary Color" +msgstr "[暗色模式] 主色调" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:101 +msgid "[Dark mode] Transparency" +msgstr "[暗色模式] 透明度" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:84 +msgid "[Light mode] Frosted Glass Radius" +msgstr "[亮色模式] 毛玻璃模糊半径" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 +msgid "[Light mode] Primary Color" +msgstr "[亮色模式] 主色调" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:77 +msgid "[Light mode] Transparency" +msgstr "[亮色模式] 透明度" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "valid HEX color value" +msgstr "有效十六进制颜色值" diff --git a/luci-app-argon-config/po/zh_Hant b/luci-app-argon-config/po/zh_Hant deleted file mode 120000 index f6e591fd8..000000000 --- a/luci-app-argon-config/po/zh_Hant +++ /dev/null @@ -1 +0,0 @@ -zh-tw \ No newline at end of file diff --git a/luci-app-argon-config/po/zh_Hant/argon-config.po b/luci-app-argon-config/po/zh_Hant/argon-config.po new file mode 100644 index 000000000..1f8ce3398 --- /dev/null +++ b/luci-app-argon-config/po/zh_Hant/argon-config.po @@ -0,0 +1,273 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: Victor Tseng \n" +"Language-Team: \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:102 +msgid "0 transparent - 1 opaque (suggest: black translucent preset: 0.5)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:78 +msgid "" +"0 transparent - 1 opaque (suggest: transparent: 0 or translucent preset: " +"0.5)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:91 +msgid "A HEX Color (default: #483d8b)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 +msgid "A HEX color (default: #5e72e4)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:155 +msgid "Action" +msgstr "" + +#: applications/luci-app-argon-config/root/usr/share/luci/menu.d/luci-app-argon-config.json:3 +msgid "Argon Config" +msgstr "Argon 設定" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:45 +msgid "Argon theme configuration" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:175 +msgid "Background file list" +msgstr "背景檔案清單" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:54 +msgid "Bing" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:53 +msgid "Built-in" +msgstr "內建" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:63 +msgid "Dark mode" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:170 +msgid "Delete" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:139 +msgid "Failed to upload file: %s." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:152 +msgid "Filename" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:129 +msgid "Files will be uploaded to %s." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:61 +msgid "Follow system" +msgstr "" + +#: applications/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json:3 +msgid "Grant UCI access for luci-app-argon-config" +msgstr "為 luci-app-argon-config 授予 UCI 權限" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:46 +msgid "" +"Here you can set the blur and transparency of the login page of argon theme, " +"and manage the background pictures and videos. Chrome is recommended." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:85 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:109 +msgid "Larger value will more blurred (suggest: clear: 1 or blur preset: 10)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:62 +msgid "Light mode" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:153 +msgid "Modified date" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:172 +msgid "No files found." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:116 +msgid "Save current settings" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:114 +msgid "Save settings" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:154 +msgid "Size" +msgstr "容量" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:48 +msgid "Theme configuration" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:60 +msgid "Theme mode" +msgstr "佈景主題模式" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:55 +msgid "Unsplash" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:128 +msgid "Upload background" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:122 +msgid "Upload background (available space: %1024.2mB)" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:131 +msgid "Upload..." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:56 +msgid "Wallhaven" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:52 +msgid "Wallpaper source" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:124 +msgid "" +"You can upload files such as gif/jpg/mp4/png/webm/webp files, to change the " +"login page background." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:108 +msgid "[Dark mode] Frosted Glass Radius" +msgstr "《深色模式》模糊效果半徑" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:90 +msgid "[Dark mode] Primary Color" +msgstr "《深色模式》主色彩" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:101 +msgid "[Dark mode] Transparency" +msgstr "《深色模式》透明度" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:84 +msgid "[Light mode] Frosted Glass Radius" +msgstr "《淺色模式》模糊效果半徑" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 +msgid "[Light mode] Primary Color" +msgstr "《淺色模式》主色彩" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:77 +msgid "[Light mode] Transparency" +msgstr "《淺色模式》透明度" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "valid HEX color value" +msgstr "" + +#~ msgid "" +#~ "0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )" +#~ msgstr "0 全透明 - 1 不透明(建議:黑色半透明 0.5)" + +#~ msgid "" +#~ "0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent " +#~ "preset: 0.5 )" +#~ msgstr "0 全透明 - 1 不透明(建議:全透明 0,或半透明 0.5)" + +#~ msgid "A HEX Color ; ( Default: #483d8b )" +#~ msgstr "十六進制顏色(預設 #483d8b)" + +#~ msgid "A HEX Color ; ( Default: #5e72e4 )" +#~ msgstr "十六進制顏色(預設 #5e72e4)" + +#~ msgid "Bing Wallpapers" +#~ msgstr "必應桌布" + +#~ msgid "Choose local file:" +#~ msgstr "選擇本地檔案:" + +#~ msgid "Create upload file error." +#~ msgstr "建立上傳檔案錯誤。" + +#~ msgid "File name" +#~ msgstr "檔案名稱" + +#~ msgid "File saved to" +#~ msgstr "檔案已儲存至" + +#~ msgid "Follow System" +#~ msgstr "跟隨系統配色" + +#~ msgid "Force Dark" +#~ msgstr "強制深色" + +#~ msgid "Force Light" +#~ msgstr "強制淺色" + +#~ msgid "" +#~ "Here you can set the blur and transparency of the login page of argon " +#~ "theme, and manage the background pictures and videos.[Chrome is " +#~ "recommended]" +#~ msgstr "" +#~ "您可以在此設定登入畫面的模糊度、透明度、以及管理背景圖片與影片(推薦使用 " +#~ "Chrome)。" + +#~ msgid "" +#~ "Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )" +#~ msgstr "數值越大越模糊(建議:清晰 1,或模糊程度 10)" + +#~ msgid "Modify time" +#~ msgstr "修改時間" + +#~ msgid "No specify upload file." +#~ msgstr "沒有選擇要上傳的檔案。" + +#~ msgid "Remove" +#~ msgstr "移除" + +#~ msgid "Save Changes" +#~ msgstr "保存變更" + +#~ msgid "Upload" +#~ msgstr "上傳" + +#~ msgid "Upload (Free:" +#~ msgstr "上傳(剩餘空間:" + +#~ msgid "Upload file to '/www/luci-static/argon/background/'" +#~ msgstr "上傳檔案至「/www/luci-static/argon/background」" + +#~ msgid "Wallpaper Source" +#~ msgstr "桌布來源" + +#~ msgid "You can choose Theme color mode here" +#~ msgstr "您可以在此選擇佈景主題的顏色模式" + +#~ msgid "" +#~ "You can upload files such as jpg,png,gif,mp4,webm files, To change the " +#~ "login page background." +#~ msgstr "" +#~ "您可以上傳諸如 jpg、png、gif、mp4、webm 等類型的檔案來更換登入畫面的背景。" diff --git a/luci-app-argon-config/root/etc/config/argon b/luci-app-argon-config/root/etc/config/argon index fb7f35d9c..feda80e3c 100644 --- a/luci-app-argon-config/root/etc/config/argon +++ b/luci-app-argon-config/root/etc/config/argon @@ -1,9 +1,10 @@ config global option primary '#5e72e4' option dark_primary '#483d8b' - option blur '10' - option blur_dark '10' - option transparency '0.5' - option transparency_dark '0.5' + option blur '0' + option blur_dark '0' + option transparency '0.3' + option transparency_dark '0.3' option mode 'normal' - option bing_background '0' + option online_wallpaper 'bing' + diff --git a/luci-app-argon-config/root/etc/uci-defaults/luci-argon-config b/luci-app-argon-config/root/etc/uci-defaults/luci-argon-config old mode 100755 new mode 100644 index 935d7c8be..9fc0b566a --- a/luci-app-argon-config/root/etc/uci-defaults/luci-argon-config +++ b/luci-app-argon-config/root/etc/uci-defaults/luci-argon-config @@ -1,6 +1,14 @@ #!/bin/sh -sed -i 's/cbi.submit\"] = true/cbi.submit\"] = \"1\"/g' /usr/lib/lua/luci/dispatcher.lua +bing_background="$(uci -q get "argon.@global[0].bing_background")" +[ -n "$bing_background" ] || exit 0 + +if [ "$bing_background" = "1" ]; then + uci -q set "argon.@global[0].online_wallpaper"="bing" +else + uci -q set "argon.@global[0].online_wallpaper"="none" +fi +uci -q delete "argon.@global[0].bing_background" +uci -q commit "argon" -rm -f /tmp/luci-indexcache exit 0 diff --git a/luci-app-argon-config/root/usr/libexec/rpcd/luci.argon b/luci-app-argon-config/root/usr/libexec/rpcd/luci.argon new file mode 100755 index 000000000..863cd5c62 --- /dev/null +++ b/luci-app-argon-config/root/usr/libexec/rpcd/luci.argon @@ -0,0 +1,56 @@ +#!/bin/sh + +. /lib/functions.sh +. /usr/share/libubox/jshn.sh + +readonly bg_path="/www/luci-static/argon/background" +readonly tmp_path="/tmp/argon_background.tmp" + +case "$1" in +"list") + json_init + json_add_object "remove" + json_add_string "filename" "filename" + json_close_object + json_add_object "rename" + json_add_string "newname" "filename" + json_close_object + json_dump + json_cleanup + ;; +"call") + case "$2" in + "remove") + read -r input + json_load "$input" + json_get_var filename "filename" + json_cleanup + + if dirname "$filename" | grep -q ".."; then + echo '{ "result": 255 }' + exit 255 + fi + + rm -f "$bg_path/$filename" + echo '{ "result": 0 }' + ;; + "rename") + read -r input + json_load "$input" + json_get_var newname "newname" + json_cleanup + + if dirname "$newname" | grep -q ".."; then + echo '{ "result": 255 }' + exit 255 + fi + + if mv "$tmp_path" "$bg_path/$newname" 2>"/dev/null"; then + echo '{ "result": 0 }' + else + echo '{ "result": 1 }' + fi + ;; + esac + ;; +esac diff --git a/luci-app-argon-config/root/usr/share/luci/menu.d/luci-app-argon-config.json b/luci-app-argon-config/root/usr/share/luci/menu.d/luci-app-argon-config.json new file mode 100644 index 000000000..7a1e34952 --- /dev/null +++ b/luci-app-argon-config/root/usr/share/luci/menu.d/luci-app-argon-config.json @@ -0,0 +1,14 @@ +{ + "admin/system/argon-config": { + "title": "Argon Config", + "order": 90, + "action": { + "type": "view", + "path": "argon-config" + }, + "depends": { + "acl": [ "luci-app-argon-config" ], + "uci": { "argon": true } + } + } +} diff --git a/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json b/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json index f0a313795..234c21046 100644 --- a/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json +++ b/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json @@ -1,11 +1,21 @@ { - "luci-app-argon-config": { - "description": "Grant UCI access for luci-app-argon-config", - "read": { - "uci": [ "argon" ] - }, - "write": { - "uci": [ "argon" ] - } - } + "luci-app-argon-config": { + "description": "Grant UCI access for luci-app-argon-config", + "read": { + "file": { + "/www/luci-static/argon/background/*": [ "list" ] + }, + "ubus": { + "luci.argon": [ "remove", "rename" ], + "system": [ "info" ] + }, + "uci": [ "argon" ] + }, + "write": { + "file": { + "/tmp/argon_background.tmp": [ "write" ] + }, + "uci": [ "argon" ] + } + } } diff --git a/luci-app-passwall2/Makefile b/luci-app-passwall2/Makefile index 8461ba082..3b1f79dd0 100644 --- a/luci-app-passwall2/Makefile +++ b/luci-app-passwall2/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-passwall2 -PKG_VERSION:=1.16-3 +PKG_VERSION:=1.16-5 PKG_RELEASE:= PKG_CONFIG_DEPENDS:= \ diff --git a/luci-app-passwall2/po/zh-cn/passwall2.po b/luci-app-passwall2/po/zh-cn/passwall2.po index b03d39811..d7ff4d0bf 100644 --- a/luci-app-passwall2/po/zh-cn/passwall2.po +++ b/luci-app-passwall2/po/zh-cn/passwall2.po @@ -331,6 +331,9 @@ msgstr "黑洞" msgid "Default Preproxy" msgstr "默认前置代理" +msgid "There are no available nodes, please add or subscribe nodes first." +msgstr "没有可用节点,请先添加或订阅节点。" + msgid "No shunt rules? Click me to go to add." msgstr "没有分流规则?点我前往去添加。" diff --git a/luci-app-passwall2/root/etc/init.d/passwall2 b/luci-app-passwall2/root/etc/init.d/passwall2 index faa7fd096..8f07ae3cb 100755 --- a/luci-app-passwall2/root/etc/init.d/passwall2 +++ b/luci-app-passwall2/root/etc/init.d/passwall2 @@ -64,23 +64,3 @@ restart() { $APP_FILE start unset_lock } - -disable() { - rm -f "$IPKG_INSTROOT"/etc/rc.d/S??zzz_${CONFIG} - rm -f "$IPKG_INSTROOT"/etc/rc.d/K??zzz_${CONFIG} -} - -enable() { - err=1 - [ "$START" ] && \ - ln -sf "../init.d/${CONFIG}" "$IPKG_INSTROOT/etc/rc.d/S${START}zzz_${CONFIG}" && \ - err=0 - [ "$STOP" ] && \ - ln -sf "../init.d/${CONFIG}" "$IPKG_INSTROOT/etc/rc.d/K${STOP}zzz_${CONFIG}" && \ - err=0 - return $err -} - -enabled() { - [ -x "$IPKG_INSTROOT/etc/rc.d/S${START}zzz_${CONFIG}" ] -} diff --git a/luci-app-passwall2/root/usr/share/passwall2/iptables.sh b/luci-app-passwall2/root/usr/share/passwall2/iptables.sh index 82d58ec73..540e7cb4c 100755 --- a/luci-app-passwall2/root/usr/share/passwall2/iptables.sh +++ b/luci-app-passwall2/root/usr/share/passwall2/iptables.sh @@ -811,7 +811,7 @@ del_firewall_rule() { ip -6 rule del fwmark 1 table 100 2>/dev/null ip -6 route del local ::/0 dev lo table 100 2>/dev/null - echolog "删除相关防火墙规则完成。" + $DIR/app.sh echolog "删除相关防火墙规则完成。" } flush_ipset() { diff --git a/luci-app-passwall2/root/usr/share/passwall2/nftables.sh b/luci-app-passwall2/root/usr/share/passwall2/nftables.sh index e280b79cc..d4cb64729 100755 --- a/luci-app-passwall2/root/usr/share/passwall2/nftables.sh +++ b/luci-app-passwall2/root/usr/share/passwall2/nftables.sh @@ -149,11 +149,35 @@ get_action_chain_name() { } gen_lanlist() { - cat $RULES_PATH/lanlist_ipv4 | tr -s '\n' | grep -v "^#" + cat <<-EOF + 0.0.0.0/8 + 10.0.0.0/8 + 100.64.0.0/10 + 127.0.0.0/8 + 169.254.0.0/16 + 172.16.0.0/12 + 192.168.0.0/16 + 224.0.0.0/4 + 240.0.0.0/4 + EOF } gen_lanlist_6() { - cat $RULES_PATH/lanlist_ipv6 | tr -s '\n' | grep -v "^#" + cat <<-EOF + ::/128 + ::1/128 + ::ffff:0:0/96 + ::ffff:0:0:0/96 + 64:ff9b::/96 + 100::/64 + 2001::/32 + 2001:20::/28 + 2001:db8::/32 + 2002::/16 + fc00::/7 + fe80::/10 + ff00::/8 + EOF } get_wan_ip() { @@ -437,7 +461,7 @@ filter_node() { for _ipt in 4 6; do [ "$_ipt" == "4" ] && _ip_type=ip4 && _set_name=$NFTSET_VPSLIST [ "$_ipt" == "6" ] && _ip_type=ip6 && _set_name=$NFTSET_VPSLIST6 - nft "list chain inet fw4 $nft_output_chain" | grep -q "${address}:${port}" + nft "list chain inet fw4 $nft_output_chain" 2>/dev/null | grep -q "${address}:${port}" if [ $? -ne 0 ]; then unset dst_rule local dst_rule="jump PSW2_RULE" @@ -809,7 +833,7 @@ add_firewall_rule() { del_firewall_rule() { for nft in "input" "forward" "dstnat" "srcnat" "nat_output" "mangle_prerouting" "mangle_output"; do - local handles=$(nft -a list chain inet fw4 ${nft} | grep -E "PSW2" | awk -F '# handle ' '{print$2}') + local handles=$(nft -a list chain inet fw4 ${nft} 2>/dev/null | grep -E "PSW2" | awk -F '# handle ' '{print$2}') for handle in $handles; do nft delete rule inet fw4 ${nft} handle ${handle} 2>/dev/null done @@ -836,7 +860,7 @@ del_firewall_rule() { destroy_nftset $NFTSET_VPSLIST6 destroy_nftset $NFTSET_WHITELIST6 - echolog "删除相关防火墙规则完成。" + $DIR/app.sh echolog "删除相关防火墙规则完成。" } flush_nftset() { @@ -853,7 +877,7 @@ flush_include() { gen_include() { local nft_chain_file=$TMP_PATH/PSW2.nft echo "" > $nft_chain_file - for chain in $(nft -a list chains |grep -E "chain PSW2" |awk -F ' ' '{print$2}'); do + for chain in $(nft -a list chains | grep -E "chain PSW2" |awk -F ' ' '{print$2}'); do nft list chain inet fw4 ${chain} >> $nft_chain_file done diff --git a/luci-theme-argon/RELEASE.md b/luci-theme-argon/RELEASE.md index 47ffec02c..795eae7de 100644 --- a/luci-theme-argon/RELEASE.md +++ b/luci-theme-argon/RELEASE.md @@ -7,6 +7,13 @@ - Fixed the issue where some colors were out of control in dark mode. - Fixed the problem where the local startup script textarea could not be scrolled in the startup item. - Fixed the problem where the Passwall node list button was misaligned. +- Fixed the text overflow problem in dynlist +- Support wallpaper from Unsplashargon +- Fix menu style mis-match on macOS+Chrome +- Fixed the issue of the login page icon becoming larger +- Support wallpaper from wallhaven + > open footer links in new tab +- Remake theme icon ## v2.3 [ 2023.04.03 ] diff --git a/luci-theme-argon/RELEASE_ZH.md b/luci-theme-argon/RELEASE_ZH.md index b74b2bab3..f3ff9a5ce 100644 --- a/luci-theme-argon/RELEASE_ZH.md +++ b/luci-theme-argon/RELEASE_ZH.md @@ -7,6 +7,13 @@ - 修复了暗色模式下个别颜色不受控制的问题 - 修复了启动项--本地启动脚本文本框不能滑动的问题 - 修复了Passwall节点列表按钮错位的问题 +- 修复在dynlist中的文本溢出问题 +- 登录页面 支持自来 Unsplash 的在线壁纸 +- 修复在macOS的Chrome中,菜单的style异常 +- 修复在登录页面中,主题图标变大的问题 +- 登录页面 支持自来 wallhaven 的在线壁纸 + > 打开页脚链接时使用新标签页 +- 重制主题图标 ## v2.3 [ 2023.04.03 ] diff --git a/openssl/Makefile b/openssl/Makefile index 205aabad2..d25f1aba6 100644 --- a/openssl/Makefile +++ b/openssl/Makefile @@ -9,9 +9,9 @@ include $(TOPDIR)/rules.mk PKG_NAME:=openssl PKG_BASE:=1.1.1 -PKG_BUGFIX:=t +PKG_BUGFIX:=u PKG_VERSION:=$(PKG_BASE)$(PKG_BUGFIX) -PKG_RELEASE:=3 +PKG_RELEASE:=1 PKG_USE_MIPS16:=0 PKG_BUILD_PARALLEL:=1 @@ -25,7 +25,7 @@ PKG_SOURCE_URL:= \ ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/ \ ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/old/$(PKG_BASE)/ -PKG_HASH:=8dee9b24bdb1dcbf0c3d1e9b02fb8f6bf22165e807f45adeb7c9677536859d3b +PKG_HASH:=e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6 PKG_LICENSE:=OpenSSL PKG_LICENSE_FILES:=LICENSE diff --git a/openssl/patches/200-x509-excessive-resource-use-verifying-policy-constra.patch b/openssl/patches/200-x509-excessive-resource-use-verifying-policy-constra.patch deleted file mode 100644 index a3a4de600..000000000 --- a/openssl/patches/200-x509-excessive-resource-use-verifying-policy-constra.patch +++ /dev/null @@ -1,214 +0,0 @@ -From 879f7080d7e141f415c79eaa3a8ac4a3dad0348b Mon Sep 17 00:00:00 2001 -From: Pauli -Date: Wed, 8 Mar 2023 15:28:20 +1100 -Subject: [PATCH] x509: excessive resource use verifying policy constraints - -A security vulnerability has been identified in all supported versions -of OpenSSL related to the verification of X.509 certificate chains -that include policy constraints. Attackers may be able to exploit this -vulnerability by creating a malicious certificate chain that triggers -exponential use of computational resources, leading to a denial-of-service -(DoS) attack on affected systems. - -Fixes CVE-2023-0464 - -Reviewed-by: Tomas Mraz -Reviewed-by: Shane Lontis -(Merged from https://github.com/openssl/openssl/pull/20569) - -diff --git a/crypto/x509v3/pcy_local.h b/crypto/x509v3/pcy_local.h -index 5daf78de45..344aa06765 100644 ---- a/crypto/x509v3/pcy_local.h -+++ b/crypto/x509v3/pcy_local.h -@@ -111,6 +111,11 @@ struct X509_POLICY_LEVEL_st { - }; - - struct X509_POLICY_TREE_st { -+ /* The number of nodes in the tree */ -+ size_t node_count; -+ /* The maximum number of nodes in the tree */ -+ size_t node_maximum; -+ - /* This is the tree 'level' data */ - X509_POLICY_LEVEL *levels; - int nlevel; -@@ -159,7 +164,8 @@ X509_POLICY_NODE *tree_find_sk(STACK_OF(X509_POLICY_NODE) *sk, - X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level, - X509_POLICY_DATA *data, - X509_POLICY_NODE *parent, -- X509_POLICY_TREE *tree); -+ X509_POLICY_TREE *tree, -+ int extra_data); - void policy_node_free(X509_POLICY_NODE *node); - int policy_node_match(const X509_POLICY_LEVEL *lvl, - const X509_POLICY_NODE *node, const ASN1_OBJECT *oid); -diff --git a/crypto/x509v3/pcy_node.c b/crypto/x509v3/pcy_node.c -index e2d7b15322..d574fb9d66 100644 ---- a/crypto/x509v3/pcy_node.c -+++ b/crypto/x509v3/pcy_node.c -@@ -59,10 +59,15 @@ X509_POLICY_NODE *level_find_node(const X509_POLICY_LEVEL *level, - X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level, - X509_POLICY_DATA *data, - X509_POLICY_NODE *parent, -- X509_POLICY_TREE *tree) -+ X509_POLICY_TREE *tree, -+ int extra_data) - { - X509_POLICY_NODE *node; - -+ /* Verify that the tree isn't too large. This mitigates CVE-2023-0464 */ -+ if (tree->node_maximum > 0 && tree->node_count >= tree->node_maximum) -+ return NULL; -+ - node = OPENSSL_zalloc(sizeof(*node)); - if (node == NULL) { - X509V3err(X509V3_F_LEVEL_ADD_NODE, ERR_R_MALLOC_FAILURE); -@@ -70,7 +75,7 @@ X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level, - } - node->data = data; - node->parent = parent; -- if (level) { -+ if (level != NULL) { - if (OBJ_obj2nid(data->valid_policy) == NID_any_policy) { - if (level->anyPolicy) - goto node_error; -@@ -90,7 +95,7 @@ X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level, - } - } - -- if (tree) { -+ if (extra_data) { - if (tree->extra_data == NULL) - tree->extra_data = sk_X509_POLICY_DATA_new_null(); - if (tree->extra_data == NULL){ -@@ -103,6 +108,7 @@ X509_POLICY_NODE *level_add_node(X509_POLICY_LEVEL *level, - } - } - -+ tree->node_count++; - if (parent) - parent->nchild++; - -diff --git a/crypto/x509v3/pcy_tree.c b/crypto/x509v3/pcy_tree.c -index 6e8322cbc5..6c7fd35405 100644 ---- a/crypto/x509v3/pcy_tree.c -+++ b/crypto/x509v3/pcy_tree.c -@@ -13,6 +13,18 @@ - - #include "pcy_local.h" - -+/* -+ * If the maximum number of nodes in the policy tree isn't defined, set it to -+ * a generous default of 1000 nodes. -+ * -+ * Defining this to be zero means unlimited policy tree growth which opens the -+ * door on CVE-2023-0464. -+ */ -+ -+#ifndef OPENSSL_POLICY_TREE_NODES_MAX -+# define OPENSSL_POLICY_TREE_NODES_MAX 1000 -+#endif -+ - /* - * Enable this to print out the complete policy tree at various point during - * evaluation. -@@ -168,6 +180,9 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs, - return X509_PCY_TREE_INTERNAL; - } - -+ /* Limit the growth of the tree to mitigate CVE-2023-0464 */ -+ tree->node_maximum = OPENSSL_POLICY_TREE_NODES_MAX; -+ - /* - * http://tools.ietf.org/html/rfc5280#section-6.1.2, figure 3. - * -@@ -184,7 +199,7 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs, - level = tree->levels; - if ((data = policy_data_new(NULL, OBJ_nid2obj(NID_any_policy), 0)) == NULL) - goto bad_tree; -- if (level_add_node(level, data, NULL, tree) == NULL) { -+ if (level_add_node(level, data, NULL, tree, 1) == NULL) { - policy_data_free(data); - goto bad_tree; - } -@@ -243,7 +258,8 @@ static int tree_init(X509_POLICY_TREE **ptree, STACK_OF(X509) *certs, - * Return value: 1 on success, 0 otherwise - */ - static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr, -- X509_POLICY_DATA *data) -+ X509_POLICY_DATA *data, -+ X509_POLICY_TREE *tree) - { - X509_POLICY_LEVEL *last = curr - 1; - int i, matched = 0; -@@ -253,13 +269,13 @@ static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr, - X509_POLICY_NODE *node = sk_X509_POLICY_NODE_value(last->nodes, i); - - if (policy_node_match(last, node, data->valid_policy)) { -- if (level_add_node(curr, data, node, NULL) == NULL) -+ if (level_add_node(curr, data, node, tree, 0) == NULL) - return 0; - matched = 1; - } - } - if (!matched && last->anyPolicy) { -- if (level_add_node(curr, data, last->anyPolicy, NULL) == NULL) -+ if (level_add_node(curr, data, last->anyPolicy, tree, 0) == NULL) - return 0; - } - return 1; -@@ -272,7 +288,8 @@ static int tree_link_matching_nodes(X509_POLICY_LEVEL *curr, - * Return value: 1 on success, 0 otherwise. - */ - static int tree_link_nodes(X509_POLICY_LEVEL *curr, -- const X509_POLICY_CACHE *cache) -+ const X509_POLICY_CACHE *cache, -+ X509_POLICY_TREE *tree) - { - int i; - -@@ -280,7 +297,7 @@ static int tree_link_nodes(X509_POLICY_LEVEL *curr, - X509_POLICY_DATA *data = sk_X509_POLICY_DATA_value(cache->data, i); - - /* Look for matching nodes in previous level */ -- if (!tree_link_matching_nodes(curr, data)) -+ if (!tree_link_matching_nodes(curr, data, tree)) - return 0; - } - return 1; -@@ -311,7 +328,7 @@ static int tree_add_unmatched(X509_POLICY_LEVEL *curr, - /* Curr may not have anyPolicy */ - data->qualifier_set = cache->anyPolicy->qualifier_set; - data->flags |= POLICY_DATA_FLAG_SHARED_QUALIFIERS; -- if (level_add_node(curr, data, node, tree) == NULL) { -+ if (level_add_node(curr, data, node, tree, 1) == NULL) { - policy_data_free(data); - return 0; - } -@@ -373,7 +390,7 @@ static int tree_link_any(X509_POLICY_LEVEL *curr, - } - /* Finally add link to anyPolicy */ - if (last->anyPolicy && -- level_add_node(curr, cache->anyPolicy, last->anyPolicy, NULL) == NULL) -+ level_add_node(curr, cache->anyPolicy, last->anyPolicy, tree, 0) == NULL) - return 0; - return 1; - } -@@ -555,7 +572,7 @@ static int tree_calculate_user_set(X509_POLICY_TREE *tree, - extra->qualifier_set = anyPolicy->data->qualifier_set; - extra->flags = POLICY_DATA_FLAG_SHARED_QUALIFIERS - | POLICY_DATA_FLAG_EXTRA_NODE; -- node = level_add_node(NULL, extra, anyPolicy->parent, tree); -+ node = level_add_node(NULL, extra, anyPolicy->parent, tree, 1); - } - if (!tree->user_policies) { - tree->user_policies = sk_X509_POLICY_NODE_new_null(); -@@ -582,7 +599,7 @@ static int tree_evaluate(X509_POLICY_TREE *tree) - - for (i = 1; i < tree->nlevel; i++, curr++) { - cache = policy_cache_set(curr->cert); -- if (!tree_link_nodes(curr, cache)) -+ if (!tree_link_nodes(curr, cache, tree)) - return X509_PCY_TREE_INTERNAL; - - if (!(curr->flags & X509_V_FLAG_INHIBIT_ANY) diff --git a/openssl/patches/210-Ensure-that-EXFLAG_INVALID_POLICY-is-checked-even-in.patch b/openssl/patches/210-Ensure-that-EXFLAG_INVALID_POLICY-is-checked-even-in.patch deleted file mode 100644 index ffb7317d7..000000000 --- a/openssl/patches/210-Ensure-that-EXFLAG_INVALID_POLICY-is-checked-even-in.patch +++ /dev/null @@ -1,48 +0,0 @@ -From b013765abfa80036dc779dd0e50602c57bb3bf95 Mon Sep 17 00:00:00 2001 -From: Matt Caswell -Date: Tue, 7 Mar 2023 16:52:55 +0000 -Subject: [PATCH] Ensure that EXFLAG_INVALID_POLICY is checked even in leaf - certs - -Even though we check the leaf cert to confirm it is valid, we -later ignored the invalid flag and did not notice that the leaf -cert was bad. - -Fixes: CVE-2023-0465 - -Reviewed-by: Hugo Landau -Reviewed-by: Tomas Mraz -(Merged from https://github.com/openssl/openssl/pull/20588) - -diff --git a/crypto/x509/x509_vfy.c b/crypto/x509/x509_vfy.c -index 925fbb5412..1dfe4f9f31 100644 ---- a/crypto/x509/x509_vfy.c -+++ b/crypto/x509/x509_vfy.c -@@ -1649,18 +1649,25 @@ static int check_policy(X509_STORE_CTX *ctx) - } - /* Invalid or inconsistent extensions */ - if (ret == X509_PCY_TREE_INVALID) { -- int i; -+ int i, cbcalled = 0; - - /* Locate certificates with bad extensions and notify callback. */ -- for (i = 1; i < sk_X509_num(ctx->chain); i++) { -+ for (i = 0; i < sk_X509_num(ctx->chain); i++) { - X509 *x = sk_X509_value(ctx->chain, i); - - if (!(x->ex_flags & EXFLAG_INVALID_POLICY)) - continue; -+ cbcalled = 1; - if (!verify_cb_cert(ctx, x, i, - X509_V_ERR_INVALID_POLICY_EXTENSION)) - return 0; - } -+ if (!cbcalled) { -+ /* Should not be able to get here */ -+ X509err(X509_F_CHECK_POLICY, ERR_R_INTERNAL_ERROR); -+ return 0; -+ } -+ /* The callback ignored the error so we return success */ - return 1; - } - if (ret == X509_PCY_TREE_FAILURE) {