<feed xmlns='http://www.w3.org/2005/Atom'>
<title>luci/modules/luci-mod-status/htdocs, branch master</title>
<subtitle>Lua Configuration Interface (mirror)</subtitle>
<id>https://git-03.infra.openwrt.org/project/luci/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/project/luci/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/luci/'/>
<updated>2026-07-20T19:37:52Z</updated>
<entry>
<title>luci-mod-status: escape target/iface names in iptables status view</title>
<updated>2026-07-20T19:37:52Z</updated>
<author>
<name>Maxim Skokov</name>
</author>
<published>2026-06-30T13:34:08Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/luci/commit/?id=c30c2265f8be8399069653acc28f753d00f077cb'/>
<id>urn:sha1:c30c2265f8be8399069653acc28f753d00f077cb</id>
<content type='text'>
current_rules entries for target, indev and outdev were interpolated
into raw HTML strings via '%s'.format(), causing the values to be
assigned through innerHTML when rendered by cbi_update_table().

Both fields ultimately originate from iptables -L output and are not
fully sanitized upstream, so a crafted chain or interface name could
inject markup into the status page.

Replace the HTML string interpolation with E('span', ...) which
appends the value via createTextNode() instead of innerHTML, matching
the idiomatic pattern already used for ifacebadge spans elsewhere in
the codebase (routes.js, routesj.js, wireless.js).

Related to the discussion in #8749 about making cell values passed to
cbi_update_table() safe by default.

Signed-off-by: Maxim Skokov &lt;skokov.m020709@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-mod-status: guard against null l3 device in addDhcpv6Stats</title>
<updated>2026-07-20T19:35:11Z</updated>
<author>
<name>Maxim Skokov</name>
</author>
<published>2026-06-29T12:43:41Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/luci/commit/?id=4243215757cf65cc9ecbef56dbe31318bf1f0d82'/>
<id>urn:sha1:4243215757cf65cc9ecbef56dbe31318bf1f0d82</id>
<content type='text'>
addDhcpv6Stats() accesses dev.device without checking if dev is null.
getL3Device() returns null when a dhcpv6 interface is configured but
not yet up, causing a crash when rendering the network status box.

Add a dev null check before accessing dev.device.

Signed-off-by: Maxim Skokov &lt;skokov.m020709@gmail.com&gt;
</content>
</entry>
<entry>
<title>treewide: escape slash chars in regex strings in .js files</title>
<updated>2026-06-25T20:14:58Z</updated>
<author>
<name>Hannu Nyman</name>
</author>
<published>2026-06-25T20:14:58Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/luci/commit/?id=c653c94a02ea7cbca1a03cceb5beeb6f631b0fbe'/>
<id>urn:sha1:c653c94a02ea7cbca1a03cceb5beeb6f631b0fbe</id>
<content type='text'>
Properly escape the slash '/' chars that are included in the regex
strings in javascript files. Slash is used as a regex delimiter in
javascript, so an un-escaped slash may cause parsing errors in some
tools like xgettext used with .po translation manipulation.

Signed-off-by: Hannu Nyman &lt;hannu.nyman@iki.fi&gt;
</content>
</entry>
<entry>
<title>luci-mod-status: escape hostname in DHCP lease status tables</title>
<updated>2026-06-22T22:15:31Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2026-06-22T22:13:02Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/luci/commit/?id=55379d04fcc3c605003a5001d6135cf02ae6048a'/>
<id>urn:sha1:55379d04fcc3c605003a5001d6135cf02ae6048a</id>
<content type='text'>
Avoid stored XSS by HTML escaping backend provided hostname
since underlying services to not sanitize.

Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>luci-mod-status: resolve named counters in nftables view</title>
<updated>2026-06-22T19:42:33Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-06-12T21:51:51Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/luci/commit/?id=40c7188aab210647743dfccb55bcdf08c05b6a4b'/>
<id>urn:sha1:40c7188aab210647743dfccb55bcdf08c05b6a4b</id>
<content type='text'>
The nftables status view rendered the byte/packet badge by reading
.bytes/.packets directly off a rule's counter statement. That only
holds for anonymous (inline) counters, whose JSON statement is an
object. Named counter objects (counter name "&lt;n&gt;") are serialized as
a bare name string instead, so .bytes was undefined and the badge
showed "undefinedB". Named counters are used in banIP for example.

Resolve named counter references against the standalone counter
objects of the same family and table before rendering, and skip the
badge when a reference cannot be resolved instead of emitting garbage.

While at it, replace some withespaces with tabs.

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>luci-mod-status: correctness fixes</title>
<updated>2026-05-27T12:49:46Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2026-05-26T14:26:30Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/luci/commit/?id=0b9e8b4f52f991a6d415b8768bd43c47c3ec50f5'/>
<id>urn:sha1:0b9e8b4f52f991a6d415b8768bd43c47c3ec50f5</id>
<content type='text'>
Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-mod: use built-in format for wifi hostname</title>
<updated>2026-04-20T12:46:13Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2026-04-20T12:45:56Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/luci/commit/?id=6f461a225ef9fd116ce69ea0d95ff5522ae7a255'/>
<id>urn:sha1:6f461a225ef9fd116ce69ea0d95ff5522ae7a255</id>
<content type='text'>
Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-mod-status: i18n string context</title>
<updated>2026-04-16T14:10:18Z</updated>
<author>
<name>Andy Chiang</name>
</author>
<published>2026-04-16T12:05:56Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/luci/commit/?id=fb0ed21e64315c408e139d6513dbac574df65999'/>
<id>urn:sha1:fb0ed21e64315c408e139d6513dbac574df65999</id>
<content type='text'>
i18n string context

Signed-off-by: Andy Chiang &lt;AndyChiang_git@outlook.com&gt;
</content>
</entry>
<entry>
<title>luci-mod-status: add null check</title>
<updated>2026-02-19T00:16:35Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2026-02-19T00:15:58Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/luci/commit/?id=a8c9b694c8eefeca3a8e428a7a2f2d448fc83bdf'/>
<id>urn:sha1:a8c9b694c8eefeca3a8e428a7a2f2d448fc83bdf</id>
<content type='text'>
follow-up to 95b01600e323f5cd0ac5081025dacd30110838c2

Port maps can sometimes lack mappings. Let's check.

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-mod: js linting fixes / ES6 treatment</title>
<updated>2026-02-16T00:42:57Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2026-02-14T03:59:49Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/project/luci/commit/?id=95b01600e323f5cd0ac5081025dacd30110838c2'/>
<id>urn:sha1:95b01600e323f5cd0ac5081025dacd30110838c2</id>
<content type='text'>
Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
</content>
</entry>
</feed>
