OpenWrt/LEDE Project

Welcome to the OpenWrt/LEDE Project bug reporting and issue tracking system

Problems to be reported here are for the OpenWrt/LEDE Project targets, sources, toolchain, core packages, build procedures, distribution and infrastructure. Guidelines for submitting a good bug report can be found at the OpenWrt/LEDE Project website. Problems related to LuCI or OpenWrt packages need to be reported in their repositories:

Notifications of all submissions and task changes are sent to

OpenedIDCategoryTask TypePrioritySeveritySummaryReported InStatus
02.06.20203144Base systemBug ReportVery LowLowuhttpd: https redirect should be to a configurable host...TrunkUnconfirmed Task Description

Supply the following if possible:
- Device problem occurs on: *all*
- Software versions of OpenWrt/LEDE release, packages, etc.: *master ~2 weeks old*
- Steps to reproduce: *see below*

Install luci-ssl. It will configure uhttpd to listen on port 443 and redirect http to https. In particular, it will add to /etc/config/uhttpd:

 option redirect_https '1'

However, the semantics of this redirect are wrong if a non-self-signed certificate is used.

In particular, it is now a boolean option, and always gets the redirect target from the Host: header. That is, it redirects to, and, assuming that resolves to, it will also redirect to

What I want is a string option that specifies the domain for redirects. I.e., I should be able to set something like this:

 option redirect_https_domain ''

and then both and and should redirect to

23.10.20192562Base systemBug ReportVery LowLowuhttpd script_timeout not working as expectedTrunkUnconfirmed Task Description

uhttpd is not honouring script_timeout if the cgi script hangs after writing the response HTTP headers.

Reading the code it seems that this behaviour is intended, I don’t understand why. I am proposing to change this as it is common to write part of the response and then do something and then writing the last part of the response. If that last part hangs or takes too long then uhttpd is not killing it.

I am attaching a patch.

I’ve sent the patch to the mailing list a few days ago but maybe here it is easier to discuss?

19.08.20192452Base systemBug ReportVery LowLowConfig backup archive contains uhttpd key and certifica...AllUnconfirmed Task Description

Device problem occurs on: All
Software versions of OpenWrt/LEDE release, packages, etc: Every version I tried since at least Barrier Breaker
Steps to reproduce:
1. Install LuCI
2. Log in to LuCI and go to System - Backup/Flash Firmware
3. Click “Generate archive” and download the config backup archive (backup-hostname-date.tar.gz) file
4. List the contents of that archive (ie. tar -tvzf backup-hostname-date.tar.gz)
5. etc/uhttpd.key and etc/uhttpd.crt files are contained twice in the archive

It’s just a cosmetic bug, but it is one I have been wondering about for years :)

21.04.20192248PackagesFeature RequestVery LowLowuhttpd: implement ubus event listener via Server-Sent E...TrunkWaiting on reporter Task Description

As a web developer I would benefit from having the possibility to send events from the server to the browser so the browser can react to it dynamically.

The proposed implementation is the leanest possible.

A SSE (Server-Sent Event) is a simple protocol on top of basic http polling to send messages from the http server to the browser for the purpose of instant notifications.
It comes implemented in all major browsers, including mobile.

If paired with `ubus listen` or `ubus monitor`, a seamless integration with the ubus pipeline could be implemented.

We tried to implement it by adding an option in this line of code but got stuck in our lack of corutine mechanisms and how uhttpd works.

The difference with the call and list options is that this one should be long-lived and progressive, preventing the dreaded polling from the web (also, better us of resources, more elegant implementation, etc).

As an example, a very basic implementation of a SSE server in php:

header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

echo "data: \"hello world\"" . PHP_EOL;
echo PHP_EOL;
echo "data: \"goodbye world\"" . PHP_EOL;
echo PHP_EOL;

An example of a very basic implementation of a SSE client in HTML:

	var source = new EventSource("demo_sse.php");
	source.onmessage = function(event) {
		document.getElementById("result").innerHTML += + "<br>";
21.01.20192069PackagesFeature RequestVery LowLowAdd HSTS support to uhttpdopenwrt-18.06Unconfirmed Task Description

I’d like to be able to use HTTP Strict Transport Security (HSTS) on my uhttpd server.

22.12.20171239PackagesBug ReportVery LowLowuhttpd package comes with /etc/config/uhttpd file that ...TrunkUnconfirmed Task Description

Supply the following if possible:
- Device problem occurs on
- Software versions of LEDE release, packages, etc.
- Steps to reproduce

root@OpenWRT:~# cat /etc/openwrt_release
DISTRIB_ID=’OpenWrt’ DISTRIB_RELEASE=’SNAPSHOT’ DISTRIB_REVISION=’r5601-efa22b1’ DISTRIB_TARGET=’ar71xx/generic’ DISTRIB_ARCH=’mips_24kc’ DISTRIB_DESCRIPTION=’OpenWrt SNAPSHOT r5601-efa22b1’ DISTRIB_TAINTS=’’ root@OpenWRT:~# cat /etc/board.json

"model": {
	"id": "tl-wdr4300",
	"name": "TP-Link TL-WDR3600 v1"


to reproduce:
- install lede
- run lua/luci, modify configuration somehow and save, so that /etc/config/uhttpd is overwritten
- flash corresponding sysupgrade.bin with “[x] keepsettings” - ssh root@OpenWRT.localnet opkg update
- ssh root@OpenWRT.localnet opkg install luci-ssl strace snmpd snmp-mibs lsof rsyslog diffutils vim less

note in output:

Collected errors:
* resolve_conffiles: Existing conffile /etc/config/uhttpd is different from the conffile in the new package. The new conffile will be placed at /etc/config/uhttpd-opkg.
* resolve_conffiles: Existing conffile /etc/config/luci is different from the conffile in the new package. The new conffile will be placed at /etc/config/luci-opkg.

The contents of uhttpd-opkg and uhttpd are quite the same, the lua/luci version being without comments and with ‘quoted’ values (see attached file).

A resolution of “wont fix” would be absolutely acceptable.

Kind regards,

Showing tasks 1 - 6 of 6 Page 1 of 1

Available keyboard shortcuts


Task Details

Task Editing