Commit Graph

112 Commits

Author SHA1 Message Date
Stefan Bühler cf719ec5b8 Silence annoying "connection closed: poll() -> ERR" error.log message (fixes #2257)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2771 152afb58-edef-0310-8abb-c4023f1b3aa9
2010-09-17 16:43:11 +00:00
Stefan Bühler 7e5b0fe9ab Rename fdevent_event_add to _set to reflect what the function does. Fix some handlers.
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2765 152afb58-edef-0310-8abb-c4023f1b3aa9
2010-08-17 09:54:42 +00:00
Stefan Bühler 38f2d1ddd7 cleanup fdevent code, removed linux-rtsig handler, replaced some fprintf calls
* use log functions
 * convert flags
 * fix handler callback prototype

git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2752 152afb58-edef-0310-8abb-c4023f1b3aa9
2010-08-06 21:57:15 +00:00
Stefan Bühler cf5fcf953d openssl: silence annoying error messages for errno==0 (fixes #2213)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2749 152afb58-edef-0310-8abb-c4023f1b3aa9
2010-08-05 20:42:18 +00:00
Stefan Bühler bd4c4aaab2 Fix stalls while reading from ssl sockets (fixes #2197)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2729 152afb58-edef-0310-8abb-c4023f1b3aa9
2010-07-04 07:45:13 +00:00
Stefan Bühler b3892c1410 Reset uri.authority before TLS servername handling, reset all "keep-alive" data in connection_del (fixes #2125)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2724 152afb58-edef-0310-8abb-c4023f1b3aa9
2010-04-28 19:08:11 +00:00
Stefan Bühler 914e499723 Fix HUP detection in close-state if event-backend doesn't support FDEVENT_HUP (like select or poll on FreeBSD)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2712 152afb58-edef-0310-8abb-c4023f1b3aa9
2010-02-04 10:13:37 +00:00
Stefan Bühler f601b8028b Append to previous buffer in con read (fixes #2147, found by liming, CVE-2010-0295)
* Remove ssl_error_want_reuse_buffer for SSL_read:
   Although the manual states we have to use the same arguments in the
   next call after SSL_ERROR_WANT_*, it has been running without this
   in 1.5 for a long time now.
 * As POST-data chunks get copied to the next queue, we reuse chunks
   there as well.

git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2710 152afb58-edef-0310-8abb-c4023f1b3aa9
2010-02-01 23:28:50 +00:00
Stefan Bühler 48fea28651 Fix request parser to handle packets with splitted \r\n\r\n (fixes #2105)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2696 152afb58-edef-0310-8abb-c4023f1b3aa9
2009-11-29 14:13:13 +00:00
Stefan Bühler 2b79b9c3cb reset tlsext_server_name in connection_reset - fixes random hostnames in the $HTTP["host"] conditional
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2687 152afb58-edef-0310-8abb-c4023f1b3aa9
2009-11-05 17:32:08 +00:00
Stefan Bühler ef28250d23 disable warning "CLOSE-read", part 2 (fixes #2091)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2685 152afb58-edef-0310-8abb-c4023f1b3aa9
2009-10-27 08:46:05 +00:00
Stefan Bühler a81c2a1b02 disable warning "CLOSE-read"
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2684 152afb58-edef-0310-8abb-c4023f1b3aa9
2009-10-26 19:30:40 +00:00
Peter Colberg 8b6dae4139 Add TLS servername indication (SNI) support (fixes #386, thx Peter Colberg <peter@colberg.org>)
* This patch may "break" some configs, if they do stupid things. Like setting
  ssl.pemfile to a not existing file in a "non-socket/non-ssl" block.
  Fix them! :)

From: Peter Colberg <peter@colberg.org>

git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2648 152afb58-edef-0310-8abb-c4023f1b3aa9
2009-10-14 13:39:59 +00:00
Stefan Bühler 20c4cd55c3 Fix close_timeout_ts trigger (should finally fix lingering close)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2645 152afb58-edef-0310-8abb-c4023f1b3aa9
2009-10-12 20:59:38 +00:00
Stefan Bühler 7c65bd74ff commit 476c5d48ea9fbd4d1c6d4ef3f128b6e4898a297f
Fix linger-on-close behaviour to avoid rare failure conditions.

     - Don't assume that when FIONREAD returns 0, that it's safe to close the
       socket.  There may still be data that's about to arrive, and we'll still
       send an RST if the socket is confused, potentially confusing the client.

     - Don't close the connection immediately after sending a successful
       response; linger-on-close was only happening in the case of errors, but it
       has to happen in case of success too, because the client doesn't
       necessarily know we're about to close after this request, and may have
       sent additional ones. (eg. if server.max-keep-alive-requests is small.)

     - Don't close the connection immediately even if keep_alive is 0; there are
       several reasons keep_alive can be 0.  If the client requested Connection:
       close, then it would be okay to close right away, since we can assume he
       didn't send anything else.  But it's harmless (and more resilient) to do
       the lingering regardless.

     - Increase the lingering timeout from 1s to 30s.  In the vast majority of
       cases, the timeout never kicks in anyway.  The only times when it might
       be needed are a) in race conditions, in which case timing out too early
       defeats the purpose of lingering at all; b) if there's a lot of data,
       which is basically the same as (a); or c) if the remote end disappears,
       in which case we now suffer through a longer timeout... but we would
       anyway, if we were waiting for them to receive our transmission.

git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2636 152afb58-edef-0310-8abb-c4023f1b3aa9
2009-10-11 20:32:33 +00:00
Stefan Bühler 22e8b456a9 Fix header inclusion order, always include "config.h" before any system header
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2624 152afb58-edef-0310-8abb-c4023f1b3aa9
2009-10-11 14:31:42 +00:00
Stefan Bühler 4df22f2a32 Fix issues found with clang analyzer
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2594 152afb58-edef-0310-8abb-c4023f1b3aa9
2009-07-21 20:35:27 +00:00
Stefan Bühler 214484dec0 Keep url/host values from connection to display information while keep-alive in mod_status (fixes #1202)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2549 152afb58-edef-0310-8abb-c4023f1b3aa9
2009-06-21 17:25:34 +00:00
Stefan Bühler 60e745695a Fix 100% cpu usage if time() < 0 (thx to gaspa and cate, fixes #1964)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2532 152afb58-edef-0310-8abb-c4023f1b3aa9
2009-06-11 14:04:57 +00:00
Stefan Bühler b202898c40 Backup errno for later usage (reported by Guido Reina via mailinglist)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2508 152afb58-edef-0310-8abb-c4023f1b3aa9
2009-06-03 16:44:37 +00:00
Stefan Bühler 966ba442dc Limit amount of bytes read for one read-event (fixes #1070)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2480 152afb58-edef-0310-8abb-c4023f1b3aa9
2009-04-26 18:29:09 +00:00
Stefan Bühler 63f785a2f8 Added some extra warning options in cmake and fix the resulting warnings (unused/static functions)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2414 152afb58-edef-0310-8abb-c4023f1b3aa9
2009-03-07 21:05:37 +00:00
Stefan Bühler 21c5377d3f Use FD_CLOEXEC if possible (fixes #1821)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2363 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-12-07 15:22:49 +00:00
Stefan Bühler 80a2ff3f3a Do not rely on ioctl FIONREAD (#673)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2317 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-09-30 14:28:12 +00:00
Stefan Bühler 19588f6ee6 Hide some ssl errors per default, enable them with debug.log-ssl-noise (#397)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2291 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-08-19 17:40:42 +00:00
Stefan Bühler 52861d77df Replace buffer_{append,copy}_string with the _len variant where possible (#1732, thx crypt)
Replace BUFFER_{APPEND,COPY}_STRING_CONST with _len(b, CONST_STRL_LEN(x))


git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2250 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-07-30 19:38:32 +00:00
Stefan Bühler e93cb224c1 Fix more warnings (unused var, pointer types in md5.c)
- Use const void* in instead of unsigned char* in MD5_Update
   (same as in the openssl api, to avoid signed/unsigned char* warnings)
 - Add const to some pointers in md5.c


git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2165 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-04-29 21:01:00 +00:00
Stefan Bühler ac92ea3616 Allow all http status codes by default; disable body only for 204,205 and 304; generate error pages for 4xx and 5xx (#1639)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2154 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-04-23 19:10:42 +00:00
Stefan Bühler fcce4c9cbb Fix comment style (use /* */ instead of //)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2151 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-04-23 13:10:41 +00:00
Marcus Rückert 91d83ea983 - fix 2 small typos in the ssl fix
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2144 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-04-07 10:54:26 +00:00
Stefan Bühler 6363a0908f Fixed SSL_shutdown error handling problems which became visible after [2136].
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2139 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-03-28 16:33:15 +00:00
Stefan Bühler 2b46e3dacc Fix #285 again: read error after SSL_shutdown (thx marton.illes@balabit.com) and clear the error queue before some other calls
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2136 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-03-26 11:51:06 +00:00
Jan Kneschke 46396ac56c don't suppress the content of a status 300
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2103 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-02-27 23:41:35 +00:00
Stefan Bühler debd30876a r2123@chromobil: stefan | 2008-02-27 19:30:54 +0100
do not generate a "Content-Length: 0" header for HEAD requests, added test too


git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2099 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-02-27 18:35:42 +00:00
Stefan Bühler d1bb91108d Fix Content-Length header if response body gets removed in connections.c (#1412, part 2)
- do not touch if it is a HEAD request (but set file_finished)
 - body gets removed for req method OPTION and some status codes


git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2098 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-02-27 12:15:38 +00:00
Stefan Bühler f570913e3c Fix #1412: do not suppress content for "307 Temporary Redirect"
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2097 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-02-27 11:10:33 +00:00
Stefan Bühler a25cbfa36b r2091@chromobil: stefan | 2008-02-26 17:06:03 +0100
Fix #1324: req-method OPTIONS: do not insert default response if request was denied
 
  - Request is handled as denied if status != 0 && status != 200


git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2086 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-02-26 16:20:48 +00:00
Stefan Bühler f350d186fc r2085@chromobil: stefan | 2008-02-26 16:14:50 +0100
Fix #1164: Reset conditional cache


git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2080 152afb58-edef-0310-8abb-c4023f1b3aa9
2008-02-26 16:19:42 +00:00
Jan Kneschke 5b2e697cfa * fixed hanging redirects with keep-alive due to missing
"Content-Length: 0" headers


git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1985 152afb58-edef-0310-8abb-c4023f1b3aa9
2007-09-06 11:24:20 +00:00
Jan Kneschke 5bc539b63e don't send a Content-Length for 1xx, 204 and 304 (fixes #1002)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1946 152afb58-edef-0310-8abb-c4023f1b3aa9
2007-08-18 10:40:20 +00:00
Jan Kneschke 7eb8981e44 fixed duplicate code which handles the "disable keep-alive" for dynamic
content (fixes #1166)



git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1924 152afb58-edef-0310-8abb-c4023f1b3aa9
2007-08-17 15:37:45 +00:00
Marcus Rückert baec632cb7 - finally! the fix for 948.
only run into the 404 handler if we are in direct connection mode.
  that way we cant run into the 404 handler if a fastcgi app returned a
  404.

  This is a small backwards incompatible change as now the *cgi app has
  to generate the content for the 404 itself instead of falling back
  into the 404-handler.

  There is still a problem with subrequest which go back to the same
  module (fastcgi app triggers subrequest which hits the fastcgi module
  again) but that would require bigger changes to the plugin api. ATM
  each plugin deinitialize its data after it handled the request. So the
  module isnt initialized for the connection anymore and the subrequest
  directly jumps out of the handler.


git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1904 152afb58-edef-0310-8abb-c4023f1b3aa9
2007-08-14 13:25:04 +00:00
Marcus Rückert 05d9e7dd52 - remove the code again. this reopens #948
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1902 152afb58-edef-0310-8abb-c4023f1b3aa9
2007-08-13 15:44:15 +00:00
Marcus Rückert 5504501699 - fix the frigging 404-handler bugs:
- dont restore the http status code unconditionally (1270)
  - mod_staticfile should set the http status properly. otherwise we run into
    the 404 handling twice and it appends the default 404 page to the content.
  (this passed the testsuite)

git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1899 152afb58-edef-0310-8abb-c4023f1b3aa9
2007-08-13 11:15:22 +00:00
Jan Kneschke d12d86d777 if we open more connections than we define with ulimit we might run
into a assert() in fdevent.c, try to limit the number of opened
connections before hand


git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1873 152afb58-edef-0310-8abb-c4023f1b3aa9
2007-06-15 15:30:34 +00:00
Marcus Rückert 450c7de76e - restore the old return code with configured 404 handlers
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1852 152afb58-edef-0310-8abb-c4023f1b3aa9
2007-05-09 15:05:17 +00:00
Marcus Rückert 10fbd9e24e - properly handle 206 responses generated by *cgi scripts
closes 755

git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1716 152afb58-edef-0310-8abb-c4023f1b3aa9
2007-03-17 19:47:24 +00:00
Marcus Rückert 892ebbe530 - handle 303 [#1045]
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1678 152afb58-edef-0310-8abb-c4023f1b3aa9
2007-02-20 17:25:12 +00:00
Robert Jakabosky 4f1587c57e If client connection aborts during parse of "\r\n\r\n", then lighttpd never cleans up the
connection and keeps trying to read from the died connection.  lighttpd still responses
to other requests, it just eats up all the cpu trying to handle the died connection.

this commit fixes that problem


git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1473 152afb58-edef-0310-8abb-c4023f1b3aa9
2006-12-15 06:13:43 +00:00
Jan Kneschke d6bfa8aaa8 the patch attached to #119 was right. If we
have content on a HEAD request, take it as the 
Content-Length and discard the content (as it is
a HEAD request)


git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1385 152afb58-edef-0310-8abb-c4023f1b3aa9
2006-10-07 17:47:49 +00:00