[multiple] correct misspellings in comments
x-ref: "Script for fixing spelling errors with codespell" https://redmine.lighttpd.net/boards/3/topics/8947personal/stbuehler/ci-build
parent
bcddbe186f
commit
c752d4696e
42
NEWS
42
NEWS
|
@ -396,7 +396,7 @@ NEWS
|
|||
* [core] permit server.error_handler to static file
|
||||
|
||||
- 1.4.50 - 2018-08-13
|
||||
* [mod_extforward] allow explict IPs to be untrusted (#2860)
|
||||
* [mod_extforward] allow explicit IPs to be untrusted (#2860)
|
||||
* [core] fix crash if 'host' empty in config (fixes #2876)
|
||||
* [mod_magnet] fix regression in lighty.stat (fixes #2877)
|
||||
* [core] minor code cleanup in gw_recv_response()
|
||||
|
@ -1002,7 +1002,7 @@ NEWS
|
|||
* [mod_cgi] consolidate CGI cleanup code
|
||||
* [mod_cgi] simplify mod_cgi_handle_subrequest()
|
||||
* [mod_cgi] kill CGI if fail to write request body
|
||||
* [mod_proxy] use case-insensitive comparision to filter headers, send Connection: Close to backend (fixes #421)
|
||||
* [mod_proxy] use case-insensitive comparison to filter headers, send Connection: Close to backend (fixes #421)
|
||||
* [mod_dirlisting] dir-listing.hide-dotfiles = "enabled" by default (fixes #1081)
|
||||
* [mod_secdownload] fix buffer overflow in secdl_verify_mac (reported by Fortify Open Review Project)
|
||||
* [mod_fastcgi,mod_scgi] fix leaking file-descriptor when backend spawning failed (reported by Fortify Open Review Project)
|
||||
|
@ -1366,7 +1366,7 @@ NEWS
|
|||
* bind to IPV6-only if ipv6 address was specified (https://redmine.lighttpd.net/projects/lighttpd/wiki/IPv6-Config)
|
||||
|
||||
- 1.4.26 - 2010-02-07
|
||||
* Fix request parser to handle packets with splitted \r\n\r\n (fixes #2105)
|
||||
* Fix request parser to handle packets split on \r\n\r\n (fixes #2105)
|
||||
* Remove dependency on automake >= 1.11 with m4_ifdef check
|
||||
* mod_accesslog: support %e (fixes #2113, thx presbrey)
|
||||
* Fix mod_cgi cgi.execute-x-only option in global block
|
||||
|
@ -1397,7 +1397,7 @@ NEWS
|
|||
* Add server.breakagelog, a "special" stderr (fixes #1863)
|
||||
* Fix config evaluation for debug.log-timeouts option (#1529)
|
||||
* Add "cgi.execute-x-only" to mod_cgi, requires +x for cgi scripts (fixes #2013)
|
||||
* Fix FD_SETSIZE comparision warnings
|
||||
* Fix FD_SETSIZE comparison warnings
|
||||
* Add "lua-5.1" to searched pkg-config names for lua
|
||||
* Fix unused function webdav_lockdiscovery in mod_webdav
|
||||
* cmake: Fix crypt lib check
|
||||
|
@ -1687,9 +1687,9 @@ NEWS
|
|||
* fixed key compare (#1287)
|
||||
* fixed invalid char in header values (#1286)
|
||||
* fixed invalid "304 Not Modified" on broken timestamps
|
||||
* fixed endless loop on shrinked files with sendfile() on BSD (#1289)
|
||||
* fixed endless loop on shrunk files with sendfile() on BSD (#1289)
|
||||
* fixed counter overrun in ?auto in mod_status (#909)
|
||||
* fixed too aggresive caching of nested conditionals (#41)
|
||||
* fixed too aggressive caching of nested conditionals (#41)
|
||||
* fixed possible overflow in unix-socket path checks on BSD (#713)
|
||||
* fixed extra Content-Length header on 1xx, 204 and 304 (#1002)
|
||||
* fixed handling of duplicate If-Modified-Since to return 304
|
||||
|
@ -1775,7 +1775,7 @@ NEWS
|
|||
* added initgroups in spawn-fcgi (#871)
|
||||
* added apr1 support htpasswd in mod-auth (#870)
|
||||
* added lighty.stat() to mod_magnet
|
||||
* fixed segfault in splitted CRLF CRLF sequences
|
||||
* fixed segfault in split CRLF CRLF sequences
|
||||
(introduced in 1.4.12) (#876)
|
||||
* fixed compilation of LOCK support in mod-webdav
|
||||
* fixed fragments in request-URLs (#869)
|
||||
|
@ -1825,7 +1825,7 @@ NEWS
|
|||
* added ability to specify which ip address spawn-fci listens on
|
||||
(agkr/at/pobox.com)
|
||||
* added mod_flv_streaming to streaming Flash Movies efficiently
|
||||
* fixed handling of error codes returned by mod_dav_svn behing a
|
||||
* fixed handling of error codes returned by mod_dav_svn behind a
|
||||
mod_proxy
|
||||
* fixed error-messages in mod_auth and mod_fastcgi
|
||||
* fixed re-enabling overloaded local fastcgi backends
|
||||
|
@ -1834,7 +1834,7 @@ NEWS
|
|||
* fixed $SERVER["socket"] on a already bound socket
|
||||
* fixed local source retrieval on windows
|
||||
(secunia)
|
||||
* fixed hanging cgi if remote side is dieing while reading
|
||||
* fixed hanging cgi if remote side is dying while reading
|
||||
from the pipe (sandy/at/meebo.com)
|
||||
|
||||
- 1.4.10 - 2006-02-08
|
||||
|
@ -1903,7 +1903,7 @@ NEWS
|
|||
* fixed crash in mod_status
|
||||
* fixed duplicate headers in mod_proxy
|
||||
* fixed Content-Length in HEAD request in mod_proxy
|
||||
* fixed unsigned/signed comparisions
|
||||
* fixed unsigned/signed comparisons
|
||||
* fixed streaming in mod_cgi
|
||||
* fixed possible overflow in password-salt handling
|
||||
(reported on slashdot by james-web/at/and.org)
|
||||
|
@ -1959,7 +1959,7 @@ NEWS
|
|||
|
||||
- 1.4.4 - 2005-09-16
|
||||
* added support for %V in mod_accesslog
|
||||
* added a option for a FastCGI responser to send static files
|
||||
* added a option for a FastCGI responder to send static files
|
||||
* added md5 and blowfish hashes to htpasswd
|
||||
* fixed METHOD in mod_accesslog of WebDAV methods
|
||||
* fixed check for permission before files in sent
|
||||
|
@ -1972,7 +1972,7 @@ NEWS
|
|||
|
||||
- 1.4.3 - 2005-09-01
|
||||
|
||||
* added gracefull shutdown
|
||||
* added graceful shutdown
|
||||
* added server.max-connections
|
||||
* fixed compilation on all BSD platforms
|
||||
* fixed init of kqueue and /dev/poll after daemonize
|
||||
|
@ -1993,7 +1993,7 @@ NEWS
|
|||
|
||||
- 1.4.1 - 2005-08-22
|
||||
|
||||
* added a complete Class 1 complient mod_webdav
|
||||
* added a complete Class 1 compliant mod_webdav
|
||||
* fixed ssl support (especially on OpenBSD)
|
||||
* fixed response header in body problem in mod_cgi
|
||||
* fixed numbers before body problem
|
||||
|
@ -2037,7 +2037,7 @@ NEWS
|
|||
* added ?auto to mod_status
|
||||
* relaxed handling of characters in URIs even more
|
||||
* fixed detection of sendfile() on Linux 2.4.x
|
||||
* fixed comparision of buffers for short strings
|
||||
* fixed comparison of buffers for short strings
|
||||
* server.errorfile-prefix is now conditional
|
||||
* fixed mod_rrdtool to close STDERR
|
||||
|
||||
|
@ -2100,7 +2100,7 @@ NEWS
|
|||
* fixed min-procs and max-procs in FastCGI on PowerPC
|
||||
* fixed crash in setenv.add-response-header
|
||||
* fixed handling of nph-scripts in CGI
|
||||
* fixed accidently sending out physical file in CGI on error
|
||||
* fixed accidentally sending out physical file in CGI on error
|
||||
* fixed cygwin support
|
||||
* fixed handling of missing files
|
||||
* fixed HEAD requests for dynamic requests
|
||||
|
@ -2110,7 +2110,7 @@ NEWS
|
|||
* added traffic shaping by remote host and virtual server
|
||||
* added auto-spawning of FastCGI process on demand
|
||||
* added virtual host based on MySQL
|
||||
* added mod_setenv to add envirnoment and http headers on the fly
|
||||
* added mod_setenv to add environment and http headers on the fly
|
||||
* added support for syslog in mod_accesslog
|
||||
* improved output of mod_status
|
||||
* improved debug output in request handling
|
||||
|
@ -2193,10 +2193,10 @@ NEWS
|
|||
- 1.3.1 - 2004-09-30
|
||||
|
||||
* fixed file-cache
|
||||
* fixed parsing of IPv6 adresses
|
||||
* fixed parsing of IPv6 addresses
|
||||
* fixed cgi for cygwin
|
||||
* fixed test-suite for FreeBSD and IRIX
|
||||
* fixed handling of shrinked files
|
||||
* fixed handling of shrunken files
|
||||
* fixed handling of REQUEST_URI after rewrite
|
||||
|
||||
- 1.3.0 - 2004-09-17
|
||||
|
@ -2254,7 +2254,7 @@ NEWS
|
|||
- 1.2.3 - 2004-07-10
|
||||
|
||||
* added a proxy module for Java and friends
|
||||
* added support to pass accesslog through an external programm
|
||||
* added support to pass accesslog through an external program
|
||||
* added mimetypes for text/css and text/javascript
|
||||
* fixed index-files for FastCGI if webserver is in chroot
|
||||
* fixed error messages of CGI process fails to exec()
|
||||
|
@ -2316,7 +2316,7 @@ NEWS
|
|||
* added REMOTE_USER to the Server->FastCGI parameters
|
||||
* added bzip2 compression
|
||||
* improved the error-messages from the new configfile parser
|
||||
* fixed accesslog writing for errornous requests
|
||||
* fixed accesslog writing for erroneous requests
|
||||
* fixed LFS (64bit filesizes) handling
|
||||
* fixed Content-Length for HEAD requests
|
||||
* fixed some memory leaks in the configfile parser
|
||||
|
@ -2375,7 +2375,7 @@ NEWS
|
|||
* moved the virtual-host code to mod_simple_vhost
|
||||
* added enhanced virtual host plugin from Christian Kruse
|
||||
* added two new auth-backends (htpasswd, htdigest)
|
||||
* fixed and improved authentification
|
||||
* fixed and improved authentication
|
||||
* stricter parsing of the Host: field
|
||||
* added a warning for unused configuration keys
|
||||
* improved FastCGI documentation
|
||||
|
|
|
@ -70,7 +70,7 @@ accesslog.format
|
|||
%C cookie field (not supported)
|
||||
%D time used in ms (not supported)
|
||||
%e environment (not supported)
|
||||
%f phyiscal filename
|
||||
%f physical filename
|
||||
%H request protocol (HTTP/1.0, ...)
|
||||
%m request method (GET, POST, ...)
|
||||
%n (not supported)
|
||||
|
@ -83,7 +83,7 @@ accesslog.format
|
|||
%v server-name
|
||||
%V (not supported)
|
||||
%X connection status
|
||||
%I bytes incomming
|
||||
%I bytes incoming
|
||||
%O bytes outgoing
|
||||
====== ================================
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ basic
|
|||
|
||||
The Basic method transfers the username and the password in
|
||||
cleartext over the network (base64 encoded) and might result
|
||||
in security problems if not used in conjunction with a crypted
|
||||
in security problems if not used in conjunction with an encrypted
|
||||
channel between client and server.
|
||||
|
||||
digest
|
||||
|
@ -70,7 +70,7 @@ plain
|
|||
`````
|
||||
|
||||
A file which contains username and the cleartext password
|
||||
seperated by a colon. Each entry is terminated by a single
|
||||
separated by a colon. Each entry is terminated by a single
|
||||
newline.::
|
||||
|
||||
e.g.:
|
||||
|
@ -81,7 +81,7 @@ htpasswd
|
|||
````````
|
||||
|
||||
A file which contains username and the crypt()'ed password
|
||||
seperated by a colon. Each entry is terminated by a single
|
||||
separated by a colon. Each entry is terminated by a single
|
||||
newline. ::
|
||||
|
||||
e.g.:
|
||||
|
@ -97,7 +97,7 @@ htdigest
|
|||
````````
|
||||
|
||||
A file which contains username, realm and the md5()'ed
|
||||
password seperated by a colon. Each entry is terminated
|
||||
password separated by a colon. Each entry is terminated
|
||||
by a single newline. ::
|
||||
|
||||
e.g.:
|
||||
|
@ -188,13 +188,13 @@ Configuration
|
|||
auth.require = ( "/download/" =>
|
||||
(
|
||||
"method" => "digest",
|
||||
"realm" => "download archiv",
|
||||
"realm" => "download archive",
|
||||
"require" => "user=agent007|user=agent008"
|
||||
),
|
||||
"/server-info" =>
|
||||
(
|
||||
"method" => "digest",
|
||||
"realm" => "download archiv",
|
||||
"realm" => "download archive",
|
||||
"require" => "valid-user"
|
||||
)
|
||||
)
|
||||
|
|
|
@ -26,7 +26,7 @@ CML (Cache Meta Language) wants to solves several problems:
|
|||
* dynamic content needs caching to perform
|
||||
* checking if the content is dirty inside of the application is usually more expensive than sending out the cached data
|
||||
* a dynamic page is usually fragmented and the fragments have different livetimes
|
||||
* the different fragements can be cached independently
|
||||
* the different fragments can be cached independently
|
||||
|
||||
Cache Decision
|
||||
--------------
|
||||
|
@ -163,7 +163,7 @@ Next to all the features about Cache Decisions CML can do more. Starting
|
|||
with lighttpd 1.4.9 a power-magnet was added which attracts each request
|
||||
and allows you to manipulate the request for your needs.
|
||||
|
||||
We want to display a maintainance page by putting a file in a specified
|
||||
We want to display a maintenance page by putting a file in a specified
|
||||
place:
|
||||
|
||||
We enable the power magnet: ::
|
||||
|
@ -174,15 +174,15 @@ and create /home/www/power-magnet.cml with: ::
|
|||
|
||||
dr = request["DOCUMENT_ROOT"]
|
||||
|
||||
if file_isreg(dr .. 'maintainance.html') then
|
||||
output_include = { 'maintainance.html' }
|
||||
if file_isreg(dr .. 'maintenance.html') then
|
||||
output_include = { 'maintenance.html' }
|
||||
return CACHE_HIT
|
||||
end
|
||||
|
||||
return CACHE_MISS
|
||||
|
||||
For each requested file the /home/www/power-magnet.cml is executed which
|
||||
checks if maintainance.html exists in the docroot and displays it
|
||||
checks if maintenance.html exists in the docroot and displays it
|
||||
instead of handling the usual request.
|
||||
|
||||
Another example, create thumbnail for requested image and serve it instead
|
||||
|
@ -256,6 +256,6 @@ Additionally to the functions provided by lua mod_cml provides: ::
|
|||
|
||||
|
||||
What ever your script does, it has to return either CACHE_HIT or CACHE_MISS.
|
||||
It case a error occures check the error-log, the user will get a error 500. If you don't like
|
||||
It case a error occurs check the error-log, the user will get a error 500. If you don't like
|
||||
the standard error-page use ``server.errorfile-prefix``.
|
||||
|
||||
|
|
|
@ -110,7 +110,7 @@ Display compressed files
|
|||
========================
|
||||
|
||||
If you enable mod_compress, and you want to force clients to uncompress and display compressed text files, please force mimetype to nothing.
|
||||
Exemple :
|
||||
Example :
|
||||
If you want to add headers for uncompress and display diff.gz files , add this section in your conf : ::
|
||||
|
||||
$HTTP["url"] =~ "\.diff\.gz" {
|
||||
|
|
|
@ -188,7 +188,7 @@ You can set your own variables in the configuration to simplify your config.
|
|||
server.document-root = basedir + server.name + "/pages/"
|
||||
accesslog.filename = basedir + server.name + "/logs/access.log"
|
||||
|
||||
You can also use environement variables or the default variables var.PID and
|
||||
You can also use environment variables or the default variables var.PID and
|
||||
var.CWD: ::
|
||||
|
||||
var.basedir = env.LIGHTTPDBASE
|
||||
|
@ -380,7 +380,7 @@ server.modules
|
|||
"mod_rrdtool",
|
||||
"mod_accesslog" )
|
||||
|
||||
Starting with lighttpd 1.4.0 three default modules are loaded automaticly:
|
||||
Starting with lighttpd 1.4.0 three default modules are loaded automatically:
|
||||
|
||||
- mod_indexfile
|
||||
- mod_dirlisting
|
||||
|
@ -422,7 +422,7 @@ server.max-keep-alive-requests
|
|||
Default: 128
|
||||
|
||||
server.max-keep-alive-idle
|
||||
maximum number of seconds until a idling keep-alive connection is droped
|
||||
maximum number of seconds until a idling keep-alive connection is dropped
|
||||
|
||||
Default: 30
|
||||
|
||||
|
|
|
@ -106,12 +106,12 @@ dir-listing.set-footer
|
|||
Default: empty, uses server.tag instead
|
||||
|
||||
dir-listing.encode-readme
|
||||
encodes all control characers, '&', '<', '>' and '\x7f' as &#x**;
|
||||
encodes all control characters, '&', '<', '>' and '\x7f' as &#x**;
|
||||
|
||||
Default: enabled
|
||||
|
||||
dir-listing.encode-header
|
||||
encodes all control characers, '&', '<', '>' and '\x7f' as &#x**;
|
||||
encodes all control characters, '&', '<', '>' and '\x7f' as &#x**;
|
||||
|
||||
Default: enabled
|
||||
|
||||
|
|
|
@ -22,14 +22,14 @@ Description
|
|||
===========
|
||||
|
||||
mod_expire controls the Expire header in the Response Header of HTTP/1.0
|
||||
messages. It is usefull to set it for static files which should be cached
|
||||
messages. It is useful to set it for static files which should be cached
|
||||
aggressivly like images, stylesheets or similar.
|
||||
|
||||
Options
|
||||
=======
|
||||
|
||||
expire.url
|
||||
assignes a expiration to all files below the specified path. The
|
||||
assign a expiration to all files below the specified path. The
|
||||
specification of the time is made up of: ::
|
||||
|
||||
<access|modification> <number> <years|months|days|hours|minutes|seconds>
|
||||
|
|
|
@ -152,14 +152,14 @@ fastcgi.server
|
|||
|
||||
If bin-path is set:
|
||||
|
||||
:"max-procs": the upper limit of the processess to start
|
||||
:"max-procs": the upper limit of the processes to start
|
||||
:"bin-environment": put an entry into the environment of
|
||||
the started process
|
||||
:"bin-copy-environement": clean up the environment and copy
|
||||
only the specified entries into the fresh
|
||||
environment of the spawn process
|
||||
:"kill-signal": signal to terminate the FastCGI process with,
|
||||
defauls to SIGTERM
|
||||
defaults to SIGTERM
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
@ -193,7 +193,7 @@ Examples
|
|||
"/remote_scripts/test.cgi" will be used for the SCRIPT_NAME
|
||||
variable. Remote server may prepend it with its own
|
||||
document root. The handling of index files is also the
|
||||
resposibility of remote server for this case.
|
||||
responsibility of remote server for this case.
|
||||
|
||||
In the case that the prefix is not terminated with a slash
|
||||
the prefix will be handled as file and /test.cgi would become
|
||||
|
@ -217,7 +217,7 @@ Examples
|
|||
Load-Balancing
|
||||
==============
|
||||
|
||||
The FastCGI plugin provides automaticly a load-balancing between
|
||||
The FastCGI plugin provides automatically a load-balancing between
|
||||
multiple FastCGI servers. ::
|
||||
|
||||
fastcgi.server = ( ".php" =>
|
||||
|
@ -243,7 +243,7 @@ fastcgi.debug option and will get a similar output as here: ::
|
|||
proc: 127.0.0.1 1029 1 1 2 31447
|
||||
|
||||
Even if this for multiple FastCGI children on the local machine
|
||||
the following explaination is valid for remote connections too.
|
||||
the following explanation is valid for remote connections too.
|
||||
|
||||
The output shows:
|
||||
|
||||
|
@ -303,7 +303,7 @@ Disabling Adaptive Spawning
|
|||
---------------------------
|
||||
|
||||
Adaptive Spawning is a quite new feature and it might misbehave
|
||||
for your setup. There are several ways to control how the spawing
|
||||
for your setup. There are several ways to control how the spawning
|
||||
is done:
|
||||
|
||||
1. ``"max-load-per-proc" => 1``
|
||||
|
@ -351,7 +351,7 @@ webserver execute a small script which just contains ::
|
|||
and search for the line in that contains the configure call.
|
||||
You can use it as the base for the compilation.
|
||||
|
||||
You have to remove all occurences of `--with-apxs`, `--with-apxs2`
|
||||
You have to remove all occurrences of `--with-apxs`, `--with-apxs2`
|
||||
and the like which would build PHP with Apache support. Add the
|
||||
next three switches to compile PHP with FastCGI support::
|
||||
|
||||
|
@ -382,7 +382,7 @@ processes locally itself if necessary: ::
|
|||
)
|
||||
|
||||
PHP provides 2 special environment variables which control the number of
|
||||
spawned workes under the control of a single watching process
|
||||
spawned works under the control of a single watching process
|
||||
(PHP_FCGI_CHILDREN) and the number of requests what a single worker
|
||||
handles before it kills itself. ::
|
||||
|
||||
|
@ -449,7 +449,7 @@ disadvantages like
|
|||
- has the same permissions as the webserver
|
||||
- has the same base-dir as the webserver
|
||||
|
||||
As soon as you are using a seperate FastCGI Server to
|
||||
As soon as you are using a separate FastCGI Server to
|
||||
take off some load from the webserver you have to control
|
||||
the FastCGI process by a external program like spawn-fcgi.
|
||||
|
||||
|
@ -476,14 +476,14 @@ a look at: ::
|
|||
## bind to unix domain socket
|
||||
# FCGISOCKET="/tmp/php.sock"
|
||||
|
||||
## number of PHP childs to spawn
|
||||
## number of PHP children to spawn
|
||||
PHP_FCGI_CHILDREN=10
|
||||
|
||||
## number of request server by a single php-process until
|
||||
## is will be restarted
|
||||
PHP_FCGI_MAX_REQUESTS=1000
|
||||
|
||||
## IP adresses where PHP should access server connections
|
||||
## IP addresses where PHP should access server connections
|
||||
## from
|
||||
FCGI_WEB_SERVER_ADDRS="127.0.0.1,192.168.0.1"
|
||||
|
||||
|
@ -512,7 +512,7 @@ in your processlist: ::
|
|||
The number of processes should be PHP_FCGI_CHILDREN + 1.
|
||||
Here the process 6925 is the master of the slaves which
|
||||
handle the work in parallel. Number of parallel workers can
|
||||
be set by PHP_FCGI_CHILDREN. A worker dies automaticly of
|
||||
be set by PHP_FCGI_CHILDREN. A worker dies automatically of
|
||||
handling PHP_FCGI_MAX_REQUESTS requests as PHP might have
|
||||
memory leaks.
|
||||
|
||||
|
@ -524,7 +524,7 @@ the user you started script as.
|
|||
As the script might be started from a unknown stage or even
|
||||
directly from the command-line it cleans the environment
|
||||
before starting the processes. ALLOWED_ENV contains all
|
||||
the external environement variables that should be available
|
||||
the external environment variables that should be available
|
||||
to the php-process.
|
||||
|
||||
|
||||
|
@ -600,5 +600,5 @@ If you get ::
|
|||
(fcgi.c.289) connect succeeded: 7
|
||||
|
||||
everything is fine. The connect() call just was delayed a
|
||||
little bit and is completly normal.
|
||||
little bit and is completely normal.
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ Constantly improving. ::
|
|||
The configuration syntax is overly complex, like Apache. There is no .htaccess
|
||||
support.
|
||||
|
||||
.htaccess support is not planed yet. ::
|
||||
.htaccess support is not planned yet. ::
|
||||
|
||||
There is only one server. You cannot have a separate configuration for each
|
||||
virtual server. This would seem to be especially problematic when doing
|
||||
|
@ -65,7 +65,7 @@ SSI works since 1.2.4. ::
|
|||
Access control only allows authentication via username and password. There
|
||||
is no way to allow or deny based in IP address.
|
||||
|
||||
planed for 1.3.x ::
|
||||
planned for 1.3.x ::
|
||||
|
||||
The request rewriting appears to only allow regex substitutions. Zeus has a
|
||||
simple, yet powerful, request rewrite language.
|
||||
|
|
|
@ -45,7 +45,7 @@ memory for very fast lookups. the only penalty is memory usage.
|
|||
.. note::
|
||||
|
||||
mod_geoip will determine the database type automatically so if you enter
|
||||
GeoCity databse path it will load GeoCity Env.
|
||||
GeoCity database path it will load GeoCity Env.
|
||||
|
||||
Environment
|
||||
===========
|
||||
|
@ -139,7 +139,7 @@ redirect.php ::
|
|||
.. note::
|
||||
|
||||
Currently it is not possible to redirect based on mod_geoip directly in
|
||||
lighttpd config file. But i believe with the relase of lighttpd mod_magnet
|
||||
lighttpd config file. But i believe with the release of lighttpd mod_magnet
|
||||
it would be. (mod_magnet will be available in lighttpd 1.4.12+)
|
||||
|
||||
Downloads
|
|
@ -29,7 +29,7 @@ mod_magnet is a module to control the request handling in lighty.
|
|||
ALL connections in the server. You are warned. For time-consuming or blocking scripts use mod_fastcgi and friends.
|
||||
|
||||
For performance reasons mod_magnet caches the compiled script. For each script-run the script itself is checked for
|
||||
freshness and recompile if neccesary.
|
||||
freshness and recompile if necessary.
|
||||
|
||||
|
||||
Installation
|
||||
|
@ -85,7 +85,7 @@ When you are using ``attract-raw-url-to`` you can access the following variables
|
|||
|
||||
* lighty.request["Host"] = "example.org"
|
||||
|
||||
Later in the request-handling, the URL is splitted, cleaned up and turned into a physical path name:
|
||||
Later in the request-handling, the URL is split, cleaned up and turned into a physical path name:
|
||||
|
||||
* parts of the URI
|
||||
|
||||
|
@ -149,7 +149,7 @@ Internally lighty will use the sendfile() call to send out the static files at f
|
|||
Status Codes
|
||||
============
|
||||
|
||||
You might have seen it already in other examples: In case you are handling the request completly in the magnet you
|
||||
You might have seen it already in other examples: In case you are handling the request completely in the magnet you
|
||||
can return your own status-codes. Examples are: Redirected, Input Validation, ... ::
|
||||
|
||||
if (lighty.env["uri.scheme"] == "http") then
|
||||
|
@ -193,22 +193,22 @@ readme.lua ::
|
|||
|
||||
return 200
|
||||
|
||||
Maintainance pages
|
||||
Maintenance pages
|
||||
------------------
|
||||
|
||||
Your side might be on maintainance from time to time. Instead of shutting down the server confusing all
|
||||
users, you can just send a maintainance page.
|
||||
Your side might be on maintenance from time to time. Instead of shutting down the server confusing all
|
||||
users, you can just send a maintenance page.
|
||||
|
||||
Config-file ::
|
||||
|
||||
magnet.attract-physical-path-to = server.docroot + "/maintainance.lua"
|
||||
magnet.attract-physical-path-to = server.docroot + "/maintenance.lua"
|
||||
|
||||
maintainance.lua ::
|
||||
maintenance.lua ::
|
||||
|
||||
require "lfs"
|
||||
|
||||
if (nil == lfs.attributes(lighty.env["physical.doc-root"] .. "/maintainance.html")) then
|
||||
lighty.content = ( lighty.env["physical.doc-root"] .. "/maintainance.html" )
|
||||
if (nil == lfs.attributes(lighty.env["physical.doc-root"] .. "/maintenance.html")) then
|
||||
lighty.content = ( lighty.env["physical.doc-root"] .. "/maintenance.html" )
|
||||
|
||||
lighty.header["Content-Type"] = "text/html"
|
||||
|
||||
|
@ -234,7 +234,7 @@ flv-streaming.lua::
|
|||
if (get["start"]) then
|
||||
-- missing: check if start is numeric and positive
|
||||
|
||||
-- send te FLV header + a seek into the file
|
||||
-- send the FLV header + a seek into the file
|
||||
lighty.content = { "FLV\x1\x1\0\0\0\x9\0\0\0\x9",
|
||||
{ filename = lighty.env["physical.path"], offset = get["start"] } }
|
||||
lighty.header["Content-Type"] = "video/x-flv"
|
||||
|
|
|
@ -27,14 +27,14 @@ Options
|
|||
=======
|
||||
|
||||
url.rewrite-once
|
||||
rewrites a set of URLs interally in the webserver BEFORE they are handled.
|
||||
rewrites a set of URLs internally in the webserver BEFORE they are handled.
|
||||
|
||||
e.g. ::
|
||||
|
||||
url.rewrite-once = ( "<regex>" => "<relative-uri>" )
|
||||
|
||||
url.rewrite-repeat
|
||||
rewrites a set of URLs interally in the webserver BEFORE they are handled
|
||||
rewrites a set of URLs internally in the webserver BEFORE they are handled
|
||||
|
||||
e.g. ::
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ A simple way to combine the two ways could be:
|
|||
|
||||
1. app authenticates user and checks permissions to
|
||||
download the file.
|
||||
2. app redirects user to the file accessable by the webserver
|
||||
2. app redirects user to the file accessible by the webserver
|
||||
for further downloading.
|
||||
3. the webserver transfers the file to the user.
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ Module: mod_ssi
|
|||
:Revision: $Revision: 1.2 $
|
||||
|
||||
:abstract:
|
||||
The module for server-side includes provides a compatability
|
||||
The module for server-side includes provides a compatibility
|
||||
layer for NSCA/Apache SSI.
|
||||
|
||||
.. meta::
|
||||
|
|
|
@ -105,8 +105,8 @@ read all the delay packet from the network.
|
|||
Sub-Requests (lightblue)
|
||||
------------------------
|
||||
|
||||
The FastCGI, CGI, ... intergration is done by introducing a loop in
|
||||
'handlereq' to handle all aspect which are neccesary to find out what has
|
||||
The FastCGI, CGI, ... integration is done by introducing a loop in
|
||||
'handlereq' to handle all aspect which are necessary to find out what has
|
||||
to be sent back to the client.
|
||||
|
||||
Functions
|
||||
|
|
|
@ -52,8 +52,8 @@ Or require authorization: ::
|
|||
( "realm" ... ) )
|
||||
|
||||
|
||||
Please note that when using the server.max-worker directive, the stati of the
|
||||
childs are not combined yet, so you're going to see different stats with each
|
||||
Please note that when using the server.max-worker directive, the status of the
|
||||
children are not combined yet, so you're going to see different stats with each
|
||||
request.
|
||||
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ genchanges() {
|
|||
return 0
|
||||
}
|
||||
|
||||
# genereate links in old textile format "text":url
|
||||
# generate links in old textile format "text":url
|
||||
genlinks_changes() {
|
||||
local repourl ticketurl inf out
|
||||
repourl="https://redmine.lighttpd.net/projects/lighttpd/repository/revisions/"
|
||||
|
|
|
@ -184,7 +184,7 @@ data_unset *array_extract_element_klen(array * const a, const char *key, const s
|
|||
}
|
||||
|
||||
static data_unset *array_get_unused_element(array * const a, const data_type_t t) {
|
||||
/* After initial startup and config, most array usage is of homogenous types
|
||||
/* After initial startup and config, most array usage is of homogeneous types
|
||||
* and arrays are cleared once per request, so check only the first unused
|
||||
* element to see if it can be reused */
|
||||
#if 1
|
||||
|
|
|
@ -106,7 +106,7 @@ unsigned char* buffer_append_base64_decode(buffer *out, const char* in, size_t i
|
|||
/* need at least 2 base64 digits per group */
|
||||
return NULL;
|
||||
case 2:
|
||||
/* have 2 base64 digits in last group => one real octect, two zeroes padded */
|
||||
/* have 2 base64 digits in last group => one real octet, two zeroes padded */
|
||||
case 3:
|
||||
/* have 3 base64 digits in last group => two real octects, one zero padded */
|
||||
|
||||
|
|
|
@ -532,7 +532,7 @@ static cond_result_t config_check_cond_nocache(request_st * const r, const data_
|
|||
char *nm_slash;
|
||||
/* handle remoteip limitations
|
||||
*
|
||||
* "10.0.0.1" is provided for all comparisions
|
||||
* "10.0.0.1" is provided for all comparisons
|
||||
*
|
||||
* only for == and != we support
|
||||
*
|
||||
|
|
|
@ -334,7 +334,7 @@ static int connection_handle_write_prepare(request_st * const r) {
|
|||
case HTTP_METHOD_OPTIONS:
|
||||
/*
|
||||
* 400 is coming from the request-parser BEFORE uri.path is set
|
||||
* 403 is from the response handler when noone else catched it
|
||||
* 403 is from the response handler when no module handled request
|
||||
*
|
||||
* */
|
||||
if ((!r->http_status || r->http_status == 200)
|
||||
|
|
|
@ -806,7 +806,7 @@ static gw_host * gw_host_get(request_st * const r, gw_extension *extension, int
|
|||
if (0 == host->active_procs) continue;
|
||||
|
||||
cur_max = base_crc32c
|
||||
+ generate_crc32c(CONST_BUF_LEN(host->host)); /* cachable */
|
||||
+ generate_crc32c(CONST_BUF_LEN(host->host)); /* cacheable */
|
||||
|
||||
if (debug) {
|
||||
log_error(r->conf.errh, __FILE__, __LINE__,
|
||||
|
@ -893,7 +893,7 @@ static gw_host * gw_host_get(request_st * const r, gw_extension *extension, int
|
|||
if (0 == host->active_procs) continue;
|
||||
|
||||
cur_max = base_crc32c
|
||||
+ generate_crc32c(CONST_BUF_LEN(host->host)) /* cachable */
|
||||
+ generate_crc32c(CONST_BUF_LEN(host->host)) /* cacheable */
|
||||
+ host->port;
|
||||
|
||||
if (debug) {
|
||||
|
|
|
@ -109,7 +109,7 @@ typedef struct {
|
|||
/*
|
||||
* host:port
|
||||
*
|
||||
* if host is one of the local IP adresses the
|
||||
* if host is one of the local IP addresses the
|
||||
* whole connection is local
|
||||
*
|
||||
* if port is not 0, and host is not specified,
|
||||
|
@ -140,7 +140,7 @@ typedef struct {
|
|||
const buffer *bin_path;
|
||||
|
||||
/* bin-path is set bin-environment is taken to
|
||||
* create the environement before starting the
|
||||
* create the environment before starting the
|
||||
* FastCGI process
|
||||
*
|
||||
*/
|
||||
|
|
16
src/lemon.c
16
src/lemon.c
|
@ -125,7 +125,7 @@ char *SetNew(/* void */); /* A new set for element 0..N */
|
|||
void SetFree(/* char* */); /* Deallocate a set */
|
||||
|
||||
int SetAdd(/* char*,int */); /* Add element to a set */
|
||||
int SetUnion(/* char *A,char *B */); /* A <- A U B, thru element N */
|
||||
int SetUnion(/* char *A,char *B */); /* A <- A U B, through element N */
|
||||
|
||||
#define SetFind(X,Y) (X[Y]) /* True if Y is in set X */
|
||||
|
||||
|
@ -230,7 +230,7 @@ struct action {
|
|||
struct state {
|
||||
struct config *bp; /* The basis configurations for this state */
|
||||
struct config *cfp; /* All configurations in this set */
|
||||
int index; /* Sequencial number for this state */
|
||||
int index; /* Sequential number for this state */
|
||||
struct action *ap; /* Array of actions for this state */
|
||||
int nTknAct, nNtAct; /* Number of actions on terminals and nonterminals */
|
||||
int iTknOfst, iNtOfst; /* yy_action[] offset for terminals and nonterms */
|
||||
|
@ -289,7 +289,7 @@ struct lemon {
|
|||
int nconflict; /* Number of parsing conflicts */
|
||||
int tablesize; /* Size of the parse tables */
|
||||
int basisflag; /* Print only basis configurations */
|
||||
int has_fallback; /* True if any %fallback is seen in the grammer */
|
||||
int has_fallback; /* True if any %fallback is seen in the grammar */
|
||||
char *argv0; /* Name of the program */
|
||||
};
|
||||
|
||||
|
@ -793,14 +793,14 @@ PRIVATE void buildshifts(lemp,stp)
|
|||
struct lemon *lemp;
|
||||
struct state *stp; /* The state from which successors are computed */
|
||||
{
|
||||
struct config *cfp; /* For looping thru the config closure of "stp" */
|
||||
struct config *cfp; /* For looping through the config closure of "stp" */
|
||||
struct config *bcfp; /* For the inner loop on config closure of "stp" */
|
||||
struct config *new; /* */
|
||||
struct symbol *sp; /* Symbol following the dot in configuration "cfp" */
|
||||
struct symbol *bsp; /* Symbol following the dot in configuration "bcfp" */
|
||||
struct state *newstp; /* A pointer to a successor state */
|
||||
|
||||
/* Each configuration becomes complete after it contibutes to a successor
|
||||
/* Each configuration becomes complete after it contributes to a successor
|
||||
** state. Initially, all configurations are incomplete */
|
||||
for(cfp=stp->cfp; cfp; cfp=cfp->next) cfp->status = INCOMPLETE;
|
||||
|
||||
|
@ -1571,7 +1571,7 @@ int offset;
|
|||
**
|
||||
** Return Value:
|
||||
** A pointer to the head of a sorted list containing the elements
|
||||
** orginally in list.
|
||||
** originally in list.
|
||||
**
|
||||
** Side effects:
|
||||
** The "next" pointers for elements in list are changed.
|
||||
|
@ -2749,7 +2749,7 @@ struct lemon *lemp;
|
|||
}
|
||||
|
||||
/* Search for the file "name" which is in the same directory as
|
||||
** the exacutable */
|
||||
** the executable */
|
||||
PRIVATE char *pathsearch(argv0,name,modemask)
|
||||
char *argv0;
|
||||
char *name;
|
||||
|
@ -3499,7 +3499,7 @@ int mhflag; /* Output in makeheaders format if true */
|
|||
tplt_xfer(lemp->name,in,out,&lineno);
|
||||
|
||||
/* Generate a table containing a text string that describes every
|
||||
** rule in the rule set of the grammer. This information is used
|
||||
** rule in the rule set of the grammar. This information is used
|
||||
** when tracing REDUCE actions.
|
||||
*/
|
||||
for(i=0, rp=lemp->rule; rp; rp=rp->next, i++){
|
||||
|
|
|
@ -115,7 +115,7 @@
|
|||
**
|
||||
** %fallback ID X Y Z.
|
||||
**
|
||||
** appears in the grammer, then ID becomes a fallback token for X, Y,
|
||||
** appears in the grammar, then ID becomes a fallback token for X, Y,
|
||||
** and Z. Whenever one of the tokens X, Y, or Z is input to the parser
|
||||
** but it does not parse, the type of the token is changed to ID and
|
||||
** the parse is retried before an error is thrown.
|
||||
|
@ -398,7 +398,7 @@ static void yy_shift(
|
|||
yyParser *yypParser, /* The parser to be shifted */
|
||||
int yyNewState, /* The new state to shift in */
|
||||
int yyMajor, /* The major token to shift in */
|
||||
YYMINORTYPE *yypMinor /* Pointer ot the minor token to shift in */
|
||||
YYMINORTYPE *yypMinor /* Pointer to the minor token to shift in */
|
||||
){
|
||||
yyStackEntry *yytos;
|
||||
yypParser->yyidx++;
|
||||
|
|
|
@ -602,7 +602,7 @@ static char * mod_authn_ldap_get_dn(log_error_st *errh, plugin_config_ldap *s, c
|
|||
ld = s->ldap; /*(must be after mod_authn_ldap_search(); might reconnect)*/
|
||||
|
||||
count = ldap_count_entries(ld, lm);
|
||||
if (0 == count) { /*(no entires found)*/
|
||||
if (0 == count) { /*(no entries found)*/
|
||||
ldap_msgfree(lm);
|
||||
return NULL;
|
||||
} else if (count > 1) {
|
||||
|
|
|
@ -216,11 +216,11 @@ URIHANDLER_FUNC(mod_cml_power_magnet) {
|
|||
* cml.power-magnet = server.docroot + "/rewrite.cml"
|
||||
*
|
||||
* is called on EACH request, take the original REQUEST_URI and modifies the
|
||||
* request header as neccesary.
|
||||
* request header as necessary.
|
||||
*
|
||||
* First use:
|
||||
* if file_exists("/maintainance.html") {
|
||||
* output_include = ( "/maintainance.html" )
|
||||
* if file_exists("/maintenance.html") {
|
||||
* output_include = ( "/maintenance.html" )
|
||||
* return CACHE_HIT
|
||||
* }
|
||||
*
|
||||
|
|
|
@ -311,7 +311,7 @@ static int deflate_file_to_buffer_gzip(plugin_data *p, char *start, off_t st_siz
|
|||
if (Z_OK != deflateInit2(&z,
|
||||
Z_DEFAULT_COMPRESSION,
|
||||
Z_DEFLATED,
|
||||
-MAX_WBITS, /* supress zlib-header */
|
||||
-MAX_WBITS, /* suppress zlib-header */
|
||||
8,
|
||||
Z_DEFAULT_STRATEGY)) {
|
||||
return -1;
|
||||
|
@ -383,7 +383,7 @@ static int deflate_file_to_buffer_deflate(plugin_data *p, unsigned char *start,
|
|||
if (Z_OK != deflateInit2(&z,
|
||||
Z_DEFAULT_COMPRESSION,
|
||||
Z_DEFLATED,
|
||||
-MAX_WBITS, /* supress zlib-header */
|
||||
-MAX_WBITS, /* suppress zlib-header */
|
||||
8,
|
||||
Z_DEFAULT_STRATEGY)) {
|
||||
return -1;
|
||||
|
|
|
@ -787,8 +787,8 @@ static int mod_deflate_file_chunk(request_st * const r, handler_ctx * const hctx
|
|||
*
|
||||
* adaptive mem-mapping
|
||||
* the problem:
|
||||
* we mmap() the whole file. If someone has alot large files and 32bit
|
||||
* machine the virtual address area will be unrun and we will have a failing
|
||||
* we mmap() the whole file. If someone has a lot of large files and 32bit
|
||||
* machine the virtual address area will be exhausted and we will have a failing
|
||||
* mmap() call.
|
||||
* solution:
|
||||
* only mmap 16M in one chunk and move the window as soon as we have finished
|
||||
|
|
|
@ -266,7 +266,7 @@ static void mod_evhost_parse_host(buffer *key, array *host, buffer *authority) {
|
|||
}
|
||||
}
|
||||
|
||||
/* if the . is not the first charactor of the hostname */
|
||||
/* if the . is not the first character of the hostname */
|
||||
if (colon != ptr) {
|
||||
buffer_copy_string_len(key, CONST_STR_LEN("%"));
|
||||
buffer_append_int(key, i /* ++ */);
|
||||
|
|
|
@ -1484,7 +1484,7 @@ static int mod_extforward_hap_PROXY_v2 (connection * const con,
|
|||
* connection IPs needed, better to save the info here rather than use
|
||||
* syscalls to retrieve the info later).
|
||||
* (Exception: con->dst_addr can be further changed if mod_extforward parses
|
||||
* Forwaded or X-Forwarded-For request headers later, after request headers
|
||||
* Forwarded or X-Forwarded-For request headers later, after request headers
|
||||
* have been received.)
|
||||
*/
|
||||
|
||||
|
|
|
@ -123,7 +123,7 @@ URIHANDLER_FUNC(mod_indexfile_subrequest) {
|
|||
|
||||
if (errno != ENOENT &&
|
||||
errno != ENOTDIR) {
|
||||
/* we have no idea what happend. let's tell the user so. */
|
||||
/* we have no idea what happened. let's tell the user so. */
|
||||
r->http_status = 500;
|
||||
log_perror(r->conf.errh, __FILE__, __LINE__,
|
||||
"file not found ... or so: %s -> %s",
|
||||
|
|
|
@ -2062,7 +2062,7 @@ CONNECTION_FUNC(mod_openssl_handle_con_accept)
|
|||
static void
|
||||
mod_openssl_detach(handler_ctx *hctx)
|
||||
{
|
||||
/* step aside from futher SSL processing
|
||||
/* step aside from further SSL processing
|
||||
* (used after handle_connection_shut_wr hook) */
|
||||
/* future: might restore prior network_read and network_write fn ptrs */
|
||||
hctx->con->is_ssl_sock = 0;
|
||||
|
|
|
@ -156,7 +156,7 @@ static int build_doc_root(request_st * const r, plugin_data *p, buffer *out, con
|
|||
|
||||
build_doc_root_path(out, p->conf.server_root, host, p->conf.document_root);
|
||||
|
||||
/* one-element cache (postive cache, not negative cache) */
|
||||
/* one-element cache (positive cache, not negative cache) */
|
||||
if (buffer_is_equal(out, &p->last_root)) return 1;
|
||||
|
||||
sce = stat_cache_get_entry(out);
|
||||
|
|
|
@ -69,7 +69,7 @@ static int request_map_insert(request_map *rm, request_st * const r, const char
|
|||
}
|
||||
|
||||
if (rm->ptr[rm->used]) {
|
||||
/* is already alloced, just reuse it */
|
||||
/* is already allocated, just reuse it */
|
||||
rme = rm->ptr[rm->used];
|
||||
} else {
|
||||
rme = malloc(sizeof(*rme));
|
||||
|
|
|
@ -199,7 +199,7 @@ static handler_t mod_userdir_docroot_construct(request_st * const r, plugin_data
|
|||
* but it is converted to lowercase in case of force_lowercase_filenames
|
||||
* and some special handling for trailing '.', ' ' and '/' on windows
|
||||
* we assume that no docroot/physical handler changed this
|
||||
* (docroot should only set the docroot/server name, phyiscal should only
|
||||
* (docroot should only set the docroot/server name, physical should only
|
||||
* change the physical.path;
|
||||
* the exception mod_secdownload doesn't work with userdir anyway)
|
||||
*/
|
||||
|
|
|
@ -110,7 +110,7 @@ static ssize_t network_write_data_len(int fd, const char *data, off_t len) {
|
|||
|
||||
|
||||
/* write next chunk(s); finished chunks are removed afterwards after successful writes.
|
||||
* return values: similar as backends (0 succes, -1 error, -2 remote close, -3 try again later (EINTR/EAGAIN)) */
|
||||
* return values: similar as backends (0 success, -1 error, -2 remote close, -3 try again later (EINTR/EAGAIN)) */
|
||||
/* next chunk must be MEM_CHUNK. use write()/send() */
|
||||
static int network_write_mem_chunk(int fd, chunkqueue *cq, off_t *p_max_bytes, log_error_st *errh) {
|
||||
chunk* const c = cq->first;
|
||||
|
@ -249,8 +249,8 @@ static int network_write_file_chunk_mmap(int fd, chunkqueue *cq, off_t *p_max_by
|
|||
*
|
||||
* adaptive mem-mapping
|
||||
* the problem:
|
||||
* we mmap() the whole file. If someone has alot large files and
|
||||
* 32-bit machine the virtual address area will be unrun and we
|
||||
* we mmap() the whole file. If someone has a lot of large files and
|
||||
* 32-bit machine the virtual address area will be exhausted and we
|
||||
* will have a failing mmap() call.
|
||||
* solution:
|
||||
* only mmap 16M in one chunk and move the window as soon as we have
|
||||
|
|
|
@ -31,7 +31,7 @@ static int request_check_hostname(buffer * const host) {
|
|||
* port = *digit
|
||||
*/
|
||||
|
||||
/* IPv6 adress */
|
||||
/* IPv6 address */
|
||||
if (host->ptr[0] == '[') {
|
||||
char *c = host->ptr + 1;
|
||||
int colon_cnt = 0;
|
||||
|
|
|
@ -178,7 +178,7 @@ static handler_t http_response_physical_path_check(request_st * const r) {
|
|||
/* PATH_INFO ! :) */
|
||||
break;
|
||||
default:
|
||||
/* we have no idea what happend. let's tell the user so. */
|
||||
/* we have no idea what happened. let's tell the user so. */
|
||||
log_error(r->conf.errh, __FILE__, __LINE__,
|
||||
"file not found ... or so: %s -> %s",
|
||||
r->uri.path.ptr, r->physical.path.ptr);
|
||||
|
@ -486,7 +486,7 @@ handler_t http_response_prepare(request_st * const r) {
|
|||
rc = plugins_call_handle_docroot(r);
|
||||
if (HANDLER_GO_ON != rc) continue;
|
||||
|
||||
/* MacOS X and Windows can't distiguish between upper and lower-case
|
||||
/* MacOS X and Windows can't distinguish between upper and lower-case
|
||||
*
|
||||
* convert to lower-case
|
||||
*/
|
||||
|
@ -548,7 +548,7 @@ handler_t http_response_prepare(request_st * const r) {
|
|||
if (NULL != r->handler_module) return HANDLER_GO_ON;
|
||||
|
||||
/*
|
||||
* Noone catched away the file from normal path of execution yet (like mod_access)
|
||||
* No module grabbed the request yet (like mod_access)
|
||||
*
|
||||
* Go on and check of the file exists at all
|
||||
*/
|
||||
|
|
|
@ -1332,7 +1332,7 @@ static int server_main_setup (server * const srv, int argc, char **argv) {
|
|||
/* might fail if user is using fam (not gamin) and famd isn't running */
|
||||
if (!stat_cache_init(srv->ev, srv->errh)) {
|
||||
log_error(srv->errh, __FILE__, __LINE__,
|
||||
"stat-cache could not be setup, dieing.");
|
||||
"stat-cache could not be setup, dying.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ static void * stat_cache_sptree_find(splay_tree ** const sptree,
|
|||
*
|
||||
* This implementation employing FAM monitors directories as they are used,
|
||||
* and maintains a reference count for cache use within stat_cache.c.
|
||||
* A periodic job runs in lighttpd every 32 seconds, expiring entires unused
|
||||
* A periodic job runs in lighttpd every 32 seconds, expiring entries unused
|
||||
* in last 64 seconds out of the cache and cancelling FAM monitoring. Items
|
||||
* within the cache are checked against the filesystem upon use if last stat()
|
||||
* was greater than or equal to 16 seconds ago.
|
||||
|
@ -370,7 +370,7 @@ static stat_cache_fam * stat_cache_init_fam(fdevents *ev, log_error_st *errh) {
|
|||
/* setup FAM */
|
||||
if (0 != FAMOpen2(&scf->fam, "lighttpd")) {
|
||||
log_error(errh, __FILE__, __LINE__,
|
||||
"could not open a fam connection, dieing.");
|
||||
"could not open a fam connection, dying.");
|
||||
return NULL;
|
||||
}
|
||||
#ifdef HAVE_FAMNOEXISTS
|
||||
|
|
Loading…
Reference in New Issue