[core] make missing mod_deflate not a fatal error

mod_compress was removed in lighttpd 1.4.56, subsumed by mod_deflate.

distros may package mod_deflate separately from the lighttpd package.

However, existing configurations may reference mod_compress.
lighttpd maps the reference from mod_compress to mod_deflate,
but after a system is upgraded to lighttpd 1.4.56 or later,
mod_compress may have been removed, and mod_deflate -- which
might be a separate package -- might not be installed.

lighttpd will still issue error trace about the missing mod_deflate
modules, as well as about the unrecognized configuration directives
(compress.* or deflate.*), but this will no longer be a fatal error.
personal/stbuehler/tests-path
Glenn Strauss 2021-07-18 23:44:39 -04:00
parent 39d399112a
commit 075230158a
1 changed files with 12 additions and 0 deletions

View File

@ -143,6 +143,10 @@ int plugins_load(server *srv) {
}
if (!load_functions[j].name) {
log_error(srv->errh, __FILE__, __LINE__, "%s plugin not found", module);
if (srv->srvconf.compat_module_load) {
if (buffer_eq_slen(&ds->value, CONST_STR_LEN("mod_deflate")))
continue;
}
return -1;
}
}
@ -183,6 +187,10 @@ int plugins_load(server *srv) {
plugin_free(p);
if (srv->srvconf.compat_module_load) {
if (buffer_eq_slen(module, CONST_STR_LEN("mod_deflate")))
continue;
}
return -1;
}
@ -193,6 +201,10 @@ int plugins_load(server *srv) {
plugin_free(p);
if (srv->srvconf.compat_module_load) {
if (buffer_eq_slen(module, CONST_STR_LEN("mod_deflate")))
continue;
}
return -1;
}