<feed xmlns='http://www.w3.org/2005/Atom'>
<title>luci/modules/luci-base/ucode, branch master</title>
<subtitle>Lua Configuration Interface (mirror)</subtitle>
<id>https://git.openwrt.org/project/luci/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/project/luci/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/'/>
<updated>2026-04-09T12:26:09Z</updated>
<entry>
<title>luci-base: add authentication plugin mechanism</title>
<updated>2026-04-09T12:26:09Z</updated>
<author>
<name>Han Yiming</name>
</author>
<published>2026-01-29T09:23:37Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=4a308bab378851272d1795d14c624bc0a2250491'/>
<id>urn:sha1:4a308bab378851272d1795d14c624bc0a2250491</id>
<content type='text'>
This commit introduces a generic authentication plugin mechanism
to the LuCI dispatcher, enabling multi-factor authentication
(MFA/2FA) and other custom verification methods without
modifying core files.

This implementation integrates with the new plugin UI architecture
introduced in commit 617f364 (luci-mod-system: implement plugin UI
architecture), allowing authentication plugins to be managed
through the unified System &gt; Plugins interface.

Signed-off-by: Han Yiming &lt;moebest@outlook.jp&gt;
</content>
</entry>
<entry>
<title>luci-base: implement http header plugins</title>
<updated>2026-03-30T22:13:54Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2026-03-15T18:18:33Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=ba0051729a283c69daae0671418ae0e2b563081c'/>
<id>urn:sha1:ba0051729a283c69daae0671418ae0e2b563081c</id>
<content type='text'>
This implements the injection of custom http headers via
the new plugin architecture.

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-base: update timezone data to 2026a</title>
<updated>2026-03-06T16:30:42Z</updated>
<author>
<name>Hannu Nyman</name>
</author>
<published>2026-03-06T16:30:42Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=39b5141855bd140ff10de2ac09c1fab37e3678b5'/>
<id>urn:sha1:39b5141855bd140ff10de2ac09c1fab37e3678b5</id>
<content type='text'>
Update timezone data to 2026a.

 * Moldova has used EU transition times since 2022.

Also:
 * Europe/Dublin corrected syntax (again)
 * Morocco string format change (again)

Signed-off-by: Hannu Nyman &lt;hannu.nyman@iki.fi&gt;
</content>
</entry>
<entry>
<title>luci-base: dispatcher; improve wildcard routing</title>
<updated>2026-01-23T03:27:52Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2026-01-17T19:18:37Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=df90c60a72e51f4e402d42a7d2c285279a44d203'/>
<id>urn:sha1:df90c60a72e51f4e402d42a7d2c285279a44d203</id>
<content type='text'>
When a menu JSON describes an endpoint like

 "admin/app/edit/*" : { ...

and the user navigates to

 admin/app/edit/

instead of the URI which supplies an ID to edit, like

 admin/app/edit/myfoobarthing

we now can use 'alias' and 'rewrite' to redirect
transparently for more generic endpoints.
Without this, it's possible to navigate to

 admin/app/edit/

and the corresponding view does not receive a suitable
path/ID to derive data from, when views use anything
derived via L.env.requestpath.

This menu JSON

  "admin/app/entry/*": {
    "action": {
      "type": "view",
      "path": "app/entry"
    }
  },

  "admin/app/entries": {
    "title": "entries",
    "order": 5,
    "action": {
      "type": "view",
      "path": "app/entries"
    }
  },

  "admin/app/entry": {
    "action": {
      "type": "alias",
      "path": "admin/app/entries"
    }
  },

Produces JSON with a wildcardaction element

  "entry":
  {
    "satisfied": true,
    "wildcard": true,
    "action":
    {
      "type": "alias",
      "path": "admin/app/entries"
    },
    "wildcardaction":
    {
      "type": "view",
      "path": "app/entry"
    }
  },
  "entries":
  {
    "satisfied": true,
    "action":
    {
      "type": "view",
      "path": "app/entries"
    },
    "order": 5,
    "title": "entries"
  },

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-base: remove reset button from sysauth</title>
<updated>2025-11-18T03:01:16Z</updated>
<author>
<name>Stan Grishin</name>
</author>
<published>2025-08-12T20:34:25Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=91b3950112c66e3bf5a39e7413a8bc9e72e4affb'/>
<id>urn:sha1:91b3950112c66e3bf5a39e7413a8bc9e72e4affb</id>
<content type='text'>
Signed-off-by: Stan Grishin &lt;stangri@melmac.ca&gt;
</content>
</entry>
<entry>
<title>luci-base: use zone names without spaces</title>
<updated>2025-10-20T12:41:08Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2025-10-20T12:38:12Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=d9a087e48c491faf78af1c4f149851e9b1b1d8e1'/>
<id>urn:sha1:d9a087e48c491faf78af1c4f149851e9b1b1d8e1</id>
<content type='text'>
See build: stop zoneinfo builder scripts changing '_' -&gt; ' '
f36f014229fcda2eb962ac3c5355ab089777ac0a

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-base: update sys.uc conntrack_list to use /usr/sbin/conntrack</title>
<updated>2025-10-02T13:43:30Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2025-10-02T13:24:56Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=a30c8d8872e333dad05878a7b4da49a2e13ad98b'/>
<id>urn:sha1:a30c8d8872e333dad05878a7b4da49a2e13ad98b</id>
<content type='text'>
Update sys.uc so that ubus luci-&gt;getConntrackList method is optionally
populated by /usr/sbin/conntrack application if /proc/net/nf_conntrack
is not available.

Signed-off-by: James &lt;jpfox156@yahoo.com.au&gt;
</content>
</entry>
<entry>
<title>luci-base: tweak dispatcher logging to post under correct facility</title>
<updated>2025-07-09T16:18:00Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2025-07-08T12:27:05Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=81692c6c382f079eda4974d72c091b992d270d13'/>
<id>urn:sha1:81692c6c382f079eda4974d72c091b992d270d13</id>
<content type='text'>
Previously we might see:

... daemon.err uhttpd[5153]: [info] luci: accepted login on / for root from x.x.x.x

Now:

... authpriv.info dispatcher.uc: luci: accepted login on / for root from x.x.x.x

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
</content>
</entry>
<entry>
<title>treewide: vectorise iconography</title>
<updated>2025-06-12T16:55:53Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2025-04-25T21:39:26Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=ae5d91da903b6f1d3086d6082ca622231e34f555'/>
<id>urn:sha1:ae5d91da903b6f1d3086d6082ca622231e34f555</id>
<content type='text'>
Clear, crisp, resolution independent vector graphics replace the trusty
microscopic PNG. Some minor CSS changes were needed to constrain images
in some locations to make sure they don't consume too much space.

Iconography taken from Mate desktop theme with minor adjustments:

https://github.com/mate-desktop/mate-icon-theme/

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-base: package update based cache-busting string</title>
<updated>2025-04-14T13:16:54Z</updated>
<author>
<name>Oleg S</name>
</author>
<published>2025-04-14T13:08:45Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=f6f82b52eb72726abc7732d21e54aa43dd8b5058'/>
<id>urn:sha1:f6f82b52eb72726abc7732d21e54aa43dd8b5058</id>
<content type='text'>
Problem:
After updating the JS-part of any package, the user is forced to clear
the browser cache.

Fix:
Each time a package is removed or installed, the contents of the
"/lib/apk/db/installed" file are changed.
This fix add the modification time of the "/lib/apk/db/installed" file
to the version of the main LuCI package (for each js-file).

Signed-off-by: Oleg S &lt;remittor@gmail.com&gt;
</content>
</entry>
</feed>
