Debian Bullseye/sid arm64 - lighttp broken after update

No it’s not, it’s a regression, the same config file worked fine before.
Reduced reproducing config file:

alias.url += (
  "/dump1090-fa/data/" => "/run/dump1090-fa/",
  "/dump1090-fa/" => "/usr/share/dump1090-fa/html/"
)

# Listen on port 8080 and serve the map there, too.
$SERVER["socket"] == ":8080" {
  alias.url += (
    "/data/" => "/run/dump1090-fa/",
    "/" => "/usr/share/dump1090-fa/html/"
  )
}

lighttpd[3046773]: 2020-11-11 22:52:54: (mod_alias.c.70) url.alias: `/dump1090-fa/' will never match as `/' matched first
lighttpd[3046773]: 2020-11-11 22:52:54: (server.c.1484) Configuration of plugins failed. Going down.

The issue seems to be that somehow the $SERVER["socket"] == ":8080" { block gets processed first?

Just tried to make this a bug report but your bugtracker didn’t allow me to create an account as no email was sent for activation.

As a feature request / bug report:

server.modules += ( "mod_setenv" )
server.modules += ( "mod_setenv" )

This leads to mod_setenv not working correctly.
It would be much better if a module being loaded twice would just be ignored, that way if 2 programs which enable lighttpd configurations both need that module they can safely activate it without causing it to not work properly.

Yes, that does appear to be a bug. I hope to have a fix upstream later today, but due to availability issues of others, Debian will probably pick up the fix the first week of Dec.

1 Like

It takes some time for bugfixes to trickle down, actually i would’ve expected it to take longer.

So optimally even the reverse should work as you often have multiple programs using configuration files.
If one of them defines / on port 8080, the next configuration file should also work despite / already being aliased (for port 8080).
Pretty sure that’s the previous behaviour.

Thanks for taking a look.

FYI: The lighttpd bug was part of an improper optimization attempt that was reverted in development a year ago. Fix: [mod_alias] validate given order, not sorted order · c16c6a8f8f - lighttpd1.4 - Gitea: git hosting on git.lighttpd.net

Quick clarification: lighttpd 1.4.56 has not yet been released and this fix will be part of it.

The Debian testing and unstable branches have lighttpd 1.4.56~rc7 (release candidate 7) and the Debian testing and unstable branches are able to pick up changes more quickly than the Debian stable branch.

lighttpd 1.4.56 is available in Debian unstable and Debian testing. It includes the fix for the issue reported here.

2 Likes

Just did the update and it works. :+1:

Many thanks for the hard work and effort in fixing this bug. :slightly_smiling_face:

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.