Discussion:
carme lighttpd broken
Elan Ruusamäe
2018-09-16 22:24:29 UTC
Permalink
poldek:/all-avail> !sh -c '/sbin/service lighttpd configtest'
Checking Lighttpd Web Server
configuration............................................................................................................................[
FAIL ]
2018-09-17 00:22:54: (configfile.c.1451) pclose "for f in
vhosts.d/*.conf ; do [ -f "$f" ] && echo "include \"$f\"" ; done"failed:
Success
2018-09-17 00:22:54: (configfile.c.1289) source:
/etc/lighttpd/lighttpd.conf line: 188 pos: 1 parser failed somehow near
here: (EOL)
poldek:/all-avail> !rpm -q lighttpd
lighttpd-1.4.50-3.x86_64
poldek:/all-avail>
Arkadiusz Miśkiewicz
2018-09-17 08:53:21 UTC
Permalink
Post by Elan Ruusamäe
poldek:/all-avail> !sh -c '/sbin/service lighttpd configtest'
Checking Lighttpd Web Server
configuration............................................................................................................................[
FAIL ]
2018-09-17 00:22:54: (configfile.c.1451) pclose "for f in
Success
/etc/lighttpd/lighttpd.conf line: 188 pos: 1 parser failed somehow near
here: (EOL)
poldek:/all-avail> !rpm -q lighttpd
lighttpd-1.4.50-3.x86_64
poldek:/all-avail>
Seems it doesn't like empty vhosts.d dir. touch vhosts.d/nothing.conf
and it works
--
Arkadiusz Miśkiewicz, arekm / ( maven.pl | pld-linux.org )
Elan Ruusamäe
2018-09-17 19:38:09 UTC
Permalink
Post by Arkadiusz Miśkiewicz
Post by Elan Ruusamäe
poldek:/all-avail> !sh -c '/sbin/service lighttpd configtest'
Checking Lighttpd Web Server
configuration............................................................................................................................[
FAIL ]
2018-09-17 00:22:54: (configfile.c.1451) pclose "for f in
vhosts.d/*.conf ; do [ -f "$f" ] && echo "include \"$f\"" ;
done"failed: Success
/etc/lighttpd/lighttpd.conf line: 188 pos: 1 parser failed somehow
near here: (EOL)
poldek:/all-avail> !rpm -q lighttpd
lighttpd-1.4.50-3.x86_64
poldek:/all-avail>
Seems it doesn't like empty vhosts.d dir. touch vhosts.d/nothing.conf
and it works
i wonder why it ever worked then

$ (for f in vhosts.d/*.conf; do [ -f "$f" ] && echo "include \"$f\"" ;
done); echo $?
1
$ (for f in vhosts.d/*.conf; do [ -f "$f" ] && echo "include \"$f\"" ;
done; exit 0); echo $?
0

but "failed: Success" seems a bug. typically by calling strerror(errno)
when errno is 0
Elan Ruusamäe
2018-09-18 06:15:22 UTC
Permalink
on some other system, empty vhosts.d does not result such error as on carme:

wintersunset lighttpd/vhosts.d # rpm -q glibc lighttpd; ls -l
/etc/lighttpd/vhosts.d/
glibc-2.28-3.x86_64
lighttpd-1.4.49-3.x86_64
total 0
wintersunset lighttpd/vhosts.d # grep vhosts.d /etc/lighttpd/lighttpd.conf
include_shell "for f in vhosts.d/*.conf ; do [ -f \"$f\" ] && echo
\"include \\"$f\\"\" ; done"
wintersunset lighttpd/vhosts.d #
--
glen
Post by Elan Ruusamäe
Post by Arkadiusz Miśkiewicz
Post by Elan Ruusamäe
poldek:/all-avail> !sh -c '/sbin/service lighttpd configtest'
Checking Lighttpd Web Server
configuration............................................................................................................................[
Post by Arkadiusz Miśkiewicz
Post by Elan Ruusamäe
FAIL ]
2018-09-17 00:22:54: (configfile.c.1451) pclose "for f in
vhosts.d/*.conf ; do [ -f "$f" ] && echo "include \"$f\"" ;
done"failed: Success
/etc/lighttpd/lighttpd.conf line: 188 pos: 1 parser failed somehow
near here: (EOL)
poldek:/all-avail> !rpm -q lighttpd
lighttpd-1.4.50-3.x86_64
poldek:/all-avail>
Seems it doesn't like empty vhosts.d dir. touch vhosts.d/nothing.conf
and it works
i wonder why it ever worked then
$ (for f in vhosts.d/*.conf; do [ -f "$f" ] && echo "include \"$f\"" ;
done); echo $?
1
$ (for f in vhosts.d/*.conf; do [ -f "$f" ] && echo "include \"$f\"" ;
done; exit 0); echo $?
0
but "failed: Success" seems a bug. typically by calling strerror(errno)
when errno is 0
glen
2018-09-18 07:23:55 UTC
Permalink
the same host, updated


wintersunset /etc/lighttpd # rpm -q glibc lighttpd; ls -l
/etc/lighttpd/vhosts.d/
glibc-2.28-3.x86_64
lighttpd-1.4.50-2.x86_64
total 0
wintersunset /etc/lighttpd #


so it's lighttpd behavior change.
Post by Elan Ruusamäe
wintersunset lighttpd/vhosts.d # rpm -q glibc lighttpd; ls -l
/etc/lighttpd/vhosts.d/
glibc-2.28-3.x86_64
lighttpd-1.4.49-3.x86_64
total 0
wintersunset lighttpd/vhosts.d # grep vhosts.d /etc/lighttpd/lighttpd.conf
include_shell "for f in vhosts.d/*.conf ; do [ -f \"$f\" ] && echo
\"include \\"$f\\"\" ; done"
wintersunset lighttpd/vhosts.d #
--
glen
--
glen
Marcin Krol
2018-09-18 08:12:50 UTC
Permalink
Post by glen
the same host, updated
wintersunset /etc/lighttpd # rpm -q glibc lighttpd; ls -l
/etc/lighttpd/vhosts.d/
glibc-2.28-3.x86_64
lighttpd-1.4.50-2.x86_64
total 0
wintersunset /etc/lighttpd #
so it's lighttpd behavior change.
Since 1.4.50 include_shell behavior has changed (or got fixed, depending
how you look at it). We should be using globs for a long time since
they're available. Works fine for me.

https://git.tld-linux.org/?p=packages/lighttpd.git;a=commitdiff;h=b15a66f5357b54df3623aaae76b89ee3351b8be3

M.
glen
2018-09-19 13:46:15 UTC
Permalink
Post by Marcin Krol
Post by glen
the same host, updated
wintersunset /etc/lighttpd # rpm -q glibc lighttpd; ls -l
/etc/lighttpd/vhosts.d/
glibc-2.28-3.x86_64
lighttpd-1.4.50-2.x86_64
total 0
wintersunset /etc/lighttpd #
so it's lighttpd behavior change.
Since 1.4.50 include_shell behavior has changed (or got fixed,
depending how you look at it). We should be using globs for a long
time since they're available. Works fine for me.
https://git.tld-linux.org/?p=packages/lighttpd.git;a=commitdiff;h=b15a66f5357b54df3623aaae76b89ee3351b8be3
i was thinking too, why the include_shell was in place, but did not
bother to look to git history.

digged now, and no obvious reason written. so i guess the glob include
didn't exist at the time

https://github.com/pld-linux/lighttpd/commit/4ea50529e182703e064e0053d13c9e7953f0d201
--
glen
Marcin Krol
2018-09-19 21:45:11 UTC
Permalink
Post by glen
i was thinking too, why the include_shell was in place, but did not
bother to look to git history.
digged now, and no obvious reason written. so i guess the glob include
didn't exist at the time
https://github.com/pld-linux/lighttpd/commit/4ea50529e182703e064e0053d13c9e7953f0d201
Yes, glob include is available for a little over two years, since
1.4.40. It wasn't available when include_shell was introduced in our config.

M.

Loading...