Hello Alexander,
Am 19.10.23 um 11:16 schrieb Alexander Dahl:
> Hello,
>
> got it sorted out, although the experience in #lighttpd IRC channel
> was not as friendly as I hoped for. See below.
>
> Am Thu, Oct 19, 2023 at 10:33:47AM +0200 schrieb Alexander Dahl:
>> Hello Andreas,
>>
>> sorry to bother you again. :-/
>>
>> I just tested v3 of your patch on my target. See below.
>>
>> Am Wed, Oct 18, 2023 at 06:00:14PM +0200 schrieb Andreas Helmcke:
>>> Bugfixes and several changes. e.g.
>>> - Stronger TLS defaults
>>> - HTTP/2 Support now as optional module
>>> - Some former modules are now build in
>>>
>>> Link: https://www.lighttpd.net/2023/1/3/1.4.68/
>>> Link: https://www.lighttpd.net/2023/2/10/1.4.69/
>>> Link: https://www.lighttpd.net/2023/5/10/1.4.70/
>>> Link: https://www.lighttpd.net/2023/5/27/1.4.71/
>>> Link: https://www.lighttpd.net/2023/10/6/1.4.72/
>>> Signed-off-by: Andreas Helmcke <[email protected]>
>>> ---
>>> rules/lighttpd.in | 35 +++++++++++------------------------
>>> rules/lighttpd.make | 15 +++++----------
>>> 2 files changed, 16 insertions(+), 34 deletions(-)
>>>
>>> diff --git a/rules/lighttpd.in b/rules/lighttpd.in
>>> index 910271087..670a00d15 100644
>>> --- a/rules/lighttpd.in
>>> +++ b/rules/lighttpd.in
>>> @@ -69,13 +69,6 @@ endmenu
>>>
>>> menu "modules "
>>>
>>> -config LIGHTTPD_MOD_ACCESS
>>> - bool
>>> - prompt "mod_access"
>>> - default y
>>> - help
>>> - Deny access to some files.
>>> -
>>> config LIGHTTPD_MOD_ACCESSLOG
>>> bool
>>> prompt "mod_accesslog"
>>> @@ -83,12 +76,6 @@ config LIGHTTPD_MOD_ACCESSLOG
>>> help
>>> flexible logging of requests served
>>>
>>> -config LIGHTTPD_MOD_ALIAS
>>> - bool
>>> - prompt "mod_alias"
>>> - help
>>> - Specify a special document-root for a given url-subset.
>>> -
>>> config LIGHTTPD_MOD_AUTH
>>> bool
>>> prompt "mod_auth"
>>> @@ -123,11 +110,12 @@ config LIGHTTPD_BZ2LIB
>>> Enable bzip2 support for mod_deflate.
>>> endif
>>>
>>> -config LIGHTTPD_MOD_FASTCGI
>>> +config LIGHTTPD_MOD_DIRLISTING
>>> bool
>>> - prompt "mod_fastcgi"
>>> -
>>> -if LIGHTTPD_MOD_FASTCGI
>>> + prompt "mod_dirlisting"
>>> + default y
>>> + help
>>> + Creates an HTML page listing the contents of the target directory.
>>>
>>> config LIGHTTPD_MOD_FASTCGI_PHP
>>> bool
>>> @@ -140,7 +128,12 @@ config LIGHTTPD_MOD_FASTCGI_PHP
>>> comment "PHP CGI SAPI must be enabled"
>>> depends on !PHP8_SAPI_CGI
>>>
>>> -endif
>>> +config LIGHTTPD_MOD_H2
>>> + bool
>>> + prompt "mod_h2"
>>> + default y
>>> + help
>>> + HTTP/2 support
>>
>> I fear we can not make this an option (yet).
>
> If you do not load 'mod_h2', you need an additional setting in
> lighttpd.conf to make lighttpd happy. Maybe we could add that in the
> help text? Or in the commit message? It is this one:
>
> server.feature-flags += ( "server.h2proto" => "disable" )
>
Maybe like this?
help
HTTP/2 support
To use lighttpd without HTTP/2 you need to disable it in the
configuration file:
server.feature-flags += ( "server.h2proto" => "disable" )
>>>
>>> config LIGHTTPD_MOD_MAGNET
>>> bool
>>> @@ -149,12 +142,6 @@ config LIGHTTPD_MOD_MAGNET
>>> help
>>> A module to control the request handling
>>>
>>> -config LIGHTTPD_MOD_REWRITE
>>> - bool
>>> - prompt "mod_rewrite"
>>> - help
>>> - Module for URL rewriting
>>> -
>>> config LIGHTTPD_MOD_WEBDAV
>>> bool
>>> prompt "mod_webdav"
>>> diff --git a/rules/lighttpd.make b/rules/lighttpd.make
>>> index 3aa54a1fb..a7e4b05c1 100644
>>> --- a/rules/lighttpd.make
>>> +++ b/rules/lighttpd.make
>>> @@ -15,8 +15,8 @@ PACKAGES-$(PTXCONF_LIGHTTPD) += lighttpd
>>> #
>>> # Paths and names
>>> #
>>> -LIGHTTPD_VERSION := 1.4.67
>>> -LIGHTTPD_MD5 := 64822c5061001673162cf9775d91a80b
>>> +LIGHTTPD_VERSION := 1.4.72
>>> +LIGHTTPD_MD5 := 466f9fe131cd7d38d0fe47d2e6a2939d
>>> LIGHTTPD := lighttpd-$(LIGHTTPD_VERSION)
>>> LIGHTTPD_SUFFIX := tar.xz
>>> LIGHTTPD_URL :=
>>> http://download.lighttpd.net/lighttpd/releases-1.4.x/$(LIGHTTPD).$(LIGHTTPD_SUFFIX)
>>> @@ -93,24 +93,19 @@ $(STATEDIR)/lighttpd.install:
>>> #
>>> ----------------------------------------------------------------------------
>>>
>>> LIGHTTPD_MODULES-y :=
>>> -LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_ACCESS) += mod_access
>>> LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_ACCESSLOG) += mod_accesslog
>>> -LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_ALIAS) += mod_alias
>>> LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_AUTH) += mod_auth
>>> LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_AUTH) +=
>>> mod_authn_file
>>> LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_DEFLATE) += mod_deflate
>>> -LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_FASTCGI) += mod_fastcgi
>>> +LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_DIRLISTING) +=
>>> mod_dirlisting
>>> +LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_H2) +=
>>> mod_h2
>>
>> We probably need to always install mod_h2. I turned the option off
>> and now I get this at runtime
>> (`lighttpd -tt -f /etc/lighttpd/lighttpd.conf`):
>>
>> 2012-01-01 00:46:15: (plugin.c.209) dlopen() failed for:
>> /usr/lib/lighttpd/mod_h2.so /usr/lib/lighttpd/mod_h2.so: cannot open shared
>> object file: No such file or directory
>
> You get this message if you don't have "mod_h2" in server.modules in
> lighttpd.conf. You need to set the line from above. There's a
> default configuration file 'projectroot/etc/lighttpd/lighttpd.conf' in
> ptxdist. Maybe with some magic like this:
>
> server.feature-flags += ( "server.h2proto" => "@H2ENDIS@" )
>
> And then replacing the placeholder with either 'enable' or 'disable'?
This only helps if you also use the default configuration.
I would therefore leave it at the help text.
> If someone else is struggling like me to find that option in lighttpd
> documentation, here it is:
>
> https://redmine.lighttpd.net/projects/lighttpd/wiki/Server_feature-flagsDetails
>
>> I asked the lighttpd devs on IRC about this, but got no helpful
>> response yet.
>>
>> Apart of that my previous configuration does not work anymore, I get
>> some "unknown config-key" messages in log and the webserver only
>> returns 403. Have to look deeper into that, but I just wanted to get
>> out that mod_h2 information first.
>
> The other problems came from modules I used which where added to
> @MODULES@ before but are not anymore. The lighttpd.conf however still
> requires to load them. After adding another 'server.modules += …'
> with that modules in my config, everything works as before now, so …
>
> Tested-by: Alexander Dahl <[email protected]>
>
> Greets
> Alex
>
>>
>> Greets
>> Alex
>>
>>> LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_MAGNET) += mod_magnet
>>> LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_OPENSSL) += mod_openssl
>>> -LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_REWRITE) += mod_rewrite
>>> LIGHTTPD_MODULES-$(PTXCONF_LIGHTTPD_MOD_WEBDAV) += mod_webdav
>>> LIGHTTPD_MODULES-y += $(call remove_quotes,$(PTXCONF_LIGHTTPD_MOD_EXTRA))
>>>
>>> LIGHTTPD_MODULE_STRING := $(subst $(space),$(comma),$(addsuffix
>>> \",$(addprefix \",$(LIGHTTPD_MODULES-y))))
>>>
>>> -# add modules that are always loaded
>>> -LIGHTTPD_MODULES_INSTALL := mod_indexfile mod_dirlisting mod_staticfile
>>> $(LIGHTTPD_MODULES-y)
>>> -
>>> $(STATEDIR)/lighttpd.targetinstall:
>>> @$(call targetinfo)
>>>
>>> @@ -127,7 +122,7 @@ $(STATEDIR)/lighttpd.targetinstall:
>>> /usr/sbin/lighttpd-angel)
>>>
>>> ifdef PTXCONF_LIGHTTPD_INSTALL_SELECTED_MODULES
>>> - @$(foreach mod,$(LIGHTTPD_MODULES_INSTALL), \
>>> + @$(foreach mod,$(LIGHTTPD_MODULES-y), \
>>> $(call install_lib, lighttpd, 0, 0, 0644,
>>> lighttpd/$(mod))$(ptx/nl))
>>> else
>>> # # modules
>>> --
>>> 2.39.2
>>>
>>>
>>
Andreas