{5} Assigned, Active Tickets by Owner (Full Description) (39 matches)

List tickets assigned, group by ticket owner. This report demonstrates the use of full-row display.

anonymous

Ticket Summary Component Milestone Type Severity Created
Description
#362 Uploads above 64Kb not working when serving lighttpd on Mac OS X core defect major 11/09/2005

I've been unable to upload files above 64Kb when serving lighttpd from two different Macs, both running 10.4.3.

Files get uploaded to /var/tmp but that's all. Safari hangs forever pretending to be uploading the file. Similar behaving can be seen in Firefox and IE.

Here are my lighttpd (1.4.7) installation steps:

./configure --with-openssl
make
make install

I'm just going to attach a file with a ktrace/kdump I did.

These are the steps I did during the ktrace:

  1. Start lighty
  2. Call the upload form page from Safari
  3. Attach a 144KB file to the form and submit!
  4. Stop lighty

Note: Related to #360?


#406 PHP SCRIPT_NAME, PATH_INFO, PHP_SELF and others improperly converted to lowercase core defect major 12/05/2005

I am evaluating lighttpd-1.4.8 as a replacement for apache2. I am using PHP 5.1.1 on Mac OS X 10.4.3.

A show-stopping bug I've discovered is that in many $_SERVER variables, the paths are converted to lowercase. My projects require the user-supplied case to be preserved. Projects in the wild that I can think of that also care about the case of URLs would include MediaWiki?.

For example, if I have a script Server.php with this contents:

<pre><?php print_r($_SERVER); ?></pre>

and I try to access it this way:

http://fusion.local/rcs/test/Server.php/HelloWorld

then the relevant portions of the output are as follows:

[SCRIPT_NAME] => /rcs/test/server.php

[PATH_INFO] => /helloworld

[PATH_TRANSLATED] => /web/fusion/htdocs/helloworld

[SCRIPT_FILENAME] => /web/fusion/htdocs/rcs/test/server.php

[REQUEST_URI] => /rcs/test/Server.php/HelloWorld

[ORIG_PATH_TRANSLATED] => /web/fusion/htdocs//helloworld

[ORIG_PATH_INFO] => /helloworld

[ORIG_SCRIPT_NAME] => /rcs/test/Server.php

[ORIG_SCRIPT_FILENAME] => /web/fusion/htdocs/rcs/test/server.php/helloworld

[PHP_SELF] => /rcs/test/server.php

SCRIPT_NAME, PATH_INFO, PATH_TRANSLATED, SCRIPT_FILENAME, ORIG_PATH_TRANSLATED, ORIG_PATH_INFO, ORIG_SCRIPT_FILENAME and PHP_SELF have all been improperly converted to lowercase.


#431 mod_fastcgi.c fcgi_demux_response() stops sometimes when server is busy mod_fastcgi defect major 12/30/2005

PHP via fastcgi stops responding sometimes in lighttpd v1.4.8. It can be replayed like belows:

php -i > test.php
ab -n 5000 -c 200 http://localhost/test.php

If you turn fastcgi.debug = 1, "unexpected end-of-file (perhaps the fastcgi process died)" will be reported.

I checked mod_fastcgi.c and found that fcgi_demux_response() process FIONREAD wrong. Line 2262 should return 0 instead of log_error_write and return -1. I have tested by myself and it works.

/* init read-buffer */

if (toread > 0) {
    ...
} else {
    log_error_write(srv, __FILE__, __LINE__, "ssdsdsd",
    "unexpected end-of-file (perhaps the fastcgi process died):",
    ...
}
/* init read-buffer */

if (toread > 0) {
    ...
} else {
    return 0;
}

#159 per-directory configuration core 1.4.20 enhancement normal 06/17/2005

it would be nice if lighttpd would support some sort of per-directory configuration, much like Apache's .htaccess files


#371 Dynamic FastCGI support in need of TLC mod_fastcgi defect normal 11/16/2005

Hi there,

If you are starting a dynamic process:

 "/dynamic/" => 
 ( (
    "bin-path" => "/path/to/script.fcgi",
    "socket" => "/tmp/why",
    "min-procs" => 1,
    "max-procs" => 4,
    "max-load-per-proc" => 4,
    #"port" => 1234,
    "check-local" => "disable",
    "disable-time" => 1,
 ) )

For a start, there is no reason to name the socket. It should be passed on STDIN. However lighttpd does not accept a configuration with no socket or port. If you specify a port but no hostname, you get a tight loop and gigabytes of logs.

Secondly, it seemed to start "max-procs" rather than "min-procs" on startup.

Thirdly, those processes were not disassociated from the terminal on which lighttpd was started. Their STDERR still pointed to the STDERR of the starting terminal. When you daemonize, you need to close all file descriptors, and re-open STDIN, STDOUT and STDERR to/from /dev/null. Though, ideally you'd want the STDERR of dynamically started applications to go to the server error log.


#430 mod_auth doesn't support virtual hosts mod_auth 1.4.20 enhancement normal 12/30/2005

I have a lighttpd installation supporting multiple hosts. I need to require authorization on the root of one of these hosts, but not the others. The mod_auth plugin, however, does not allow you to specify which host the auth requirement should apply to.

I have written a patch that allows you to specify an "authority"=>"myhost.org" name-value-pair in the auth.require array. if no "authority" is specified, the behavior is the same as it was before the patch. if "authority" *is* specified, then the auth.require entry only applies to the named host. I have also added a flag "use_physical"=>"yes" that causes the auth.require key to refer to a file system path rather than a URI path. If "use_physical" is enabled, then the physical location of the page requested is calculated (following symlinks and all) and compared to the key for the auth.require section to determine if the auth requirement applies to the incoming request.

I can't find any way to submit patches on this site, so let me know if you are interested in receiving the patch. I'll check back on this ticket for any replies.


#296 Can't use cronolog with server.errorlog core 1.4.20 defect minor 09/29/2005

It appears that cronolog can only be used with the accesslog.filename.

When server.errorlog is configured to pipe to cronolog, the following occurs:

Starting lighttpd. 2005-09-28 23:02:22: (log.c.60) opening errorlog '|/usr/local/sbin/cronolog /home/anthony/logs/domain.net-error_log.%Y%m%d' failed: No such file or directory 2005-09-28 23:02:22: (server.c.711) opening errorlog failed, dying

#> lighttpd -v lighttpd-1.4.3 - a light and fast webserver Build-Date: Sep 28 2005 01:27:03

This behavior is not consistent with accesslog.filename and should be either corrected or documented. Apache, for instance, allows one to use cronolog for both sets of logs. That is a more consistent configuration.


darix

Ticket Summary Component Milestone Type Severity Created
Description
#1055 Error 410 und 412 do not return a HTML page core defect minor 02/26/2007

after trying error codes 410 and 412 I noticed that the error doesn't include any HTML message. To fix this, I created a file status-410.html with the HTML message, but this isn't returned either. The error file works for 403 and 404 codes.


glen

Ticket Summary Component Milestone Type Severity Created
Description
#1479 configurable timestamp logging, patch included mod_accesslog 1.4.20 enhancement normal 12/03/2007

This patch adds configurable timestamp logging to lighttpd's mod_accesslog, in the same format as apache's %{format_string}t option.

It keeps the time caching fully intact but adds a new restriction that you can't use %t twice in the same access log specification, since there's only one slot in the cache. I doubt that restriction will impact any current users (there is no point in using %t twice when it's not configurable) and that the vast majority of future users will never notice the restriction.


#1535 mod_auth ldap rework mod_auth 1.5.0 task normal 01/26/2008

While looking at the bugs currently present, a rework of the ldap-authentication in mod_auth is needed. The patch I'll attach not only fixes a couple of bugs, it also makes lighttpd use the new ldap api and makes it possible to start lighttpd even if the ldap-server is not reachable, which looses the service dependencies.

In detail, it fixes the following tickets: #464, #529, #1066, #1090, #1093, #1096

What is needed in addition to this is an update of the documentation and the configuration-file.


jan

Ticket Summary Component Milestone Type Severity Created
Description
#1116 lighttpd 1.4.13 reproducible (every time) segfault when file cannot be stat-ed (with simple test-case) core 1.4.20 defect critical 04/12/2007

Short version

If you have files which can't be accessed by lighttpd 1.4.13's normal user (i.e. are run via suexec), then lighttpd can easily be tricked into trying to open() them, causing a segfault every time. Do this by post-fixing a slash.

Long version

I have a lighttpd 1.4.13 + FastCGI with SuExec?, running on some files which can't be read by the normal lighttpd user.

This all works fine... unless you try to access specially crafted URLs - which cause lighty to crash _every time_.

Here's my (slightly obscured) set-up:

server.name = "1.2.3.4"

server.document-root = "/var/www/html/"

server.indexfiles = ( "index.html", "index.htm", "index.php" )

fastcgi.server = ( ".php" =>
   ( "localhost" =>
      ( "socket" => "/tmp/webadmin.socket",
        "bin-path" => "/etc/lighttpd/suexec.sh",
        "idle-timeout" => 30,
        "check-local" => "disable",
        "min-procs" => 1,
        "max-procs" => 1,
     ) ) )

I have a file /var/www/html/x.php. Its contents can be anything. For a test case, I used:

<?

phpinfo();

?>

My suexec script is not relevant to the crash, but is completely simple (just execs a shell script that calls php-cgi).

The test file x.php is only accessible by the SuExec? user:

[root@ ~]# ls -l /var/www/html/x.php
-rwxr-x---  1 suexecuser suexecgroup 19 Apr 12 22:06 /var/www/html/x.php

If I access it as http://1.2.3.4/x.php then all is fine - I get what I'd expect. No problems.

However, if I try http://1.2.3.4/x.php/y (i.e. appending a pseudo-directory), then - boom! segfault! This happens every single time. Not good on a live server... :-(

Here are the last few lines of the strace:

poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=25, events=POLLIN, revents=POLLIN}], 3, 1000) = 1
read(25, "\27\3\1\2\0\7\273)\315YK:\36j#\345\30\321\316\2623!\357"..., 18437) = 517
read(25, 0x8780820, 18437)              = -1 EAGAIN (Resource temporarily unavailable)
stat64("/var/www/html/x.php/y", 0xbffcaa70) = -1 ENOTDIR (Not a directory)
stat64("/var/www/html/x.php/y", 0xbffcab30) = -1 ENOTDIR (Not a directory)
stat64("/var/www/html/x.php", {st_mode=S_IFREG|0750, st_size=19, ...}) = 0
stat64("/var/www/html/x.php", {st_mode=S_IFREG|0750, st_size=19, ...}) = 0
open("/var/www/html/x.php", O_RDONLY|O_LARGEFILE) = -1 EACCES (Permission denied)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---

#1278 lighttpd-1.5.0_pre1857 segfaults under heavy load mod_proxy_core 1.5.0 defect blocker 07/31/2007

I compiled lighttpd-1.5.0_pre1857 and it works on my develop machine. But when I deploy it on the production server (>200req/s), it crashes with a segmentation fault after 2 or 3 seconds of running. lighttpd-1.4.15 has no such problem (we have used 1.4.15 for months). FYI, we are using scgi for the proxy-core.protocol.

Backtrace produced by valgrind followed. If you need any thing more (e.g. config file), please contact me.

==22638== Memcheck, a memory error detector.
==22638== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==22638== Using LibVEX rev 1732, a library for dynamic binary translation.
==22638== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==22638== Using valgrind-3.2.3, a dynamic binary instrumentation framework.
==22638== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==22638== 
==22638== My PID = 22638, parent PID = 22622.  Prog and args are:
==22638==    /usr/local/sbin/lighttpd
==22638==    -D
==22638==    -f
==22638==    ./lighttpd.conf
==22638== 
--22638-- 
--22638-- Command line
--22638--    /usr/local/sbin/lighttpd
--22638--    -D
--22638--    -f
--22638--    ./lighttpd.conf
--22638-- Startup, with flags:
--22638--    --tool=memcheck
--22638--    -v
--22638--    --log-file=lighttpd
--22638--    --num-callers=8
--22638-- Contents of /proc/version:
--22638--   Linux version 2.6.16-gentoo-r13 (root@meriadoc) (gcc version 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9)) #3 SMP Fri Aug 18 16:00:37 CST 2006
--22638-- Arch and hwcaps: X86, x86-sse1-sse2
--22638-- Page sizes: currently 4096, max supported 4096
--22638-- Valgrind library directory: /usr/lib/valgrind
--22638-- Reading syms from /lib/ld-2.3.6.so (0x4000000)
--22638-- Reading syms from /usr/local/sbin/lighttpd (0x8048000)
--22638-- Reading syms from /usr/lib/valgrind/x86-linux/memcheck (0x38000000)
--22638--    object doesn't have a symbol table
--22638--    object doesn't have a dynamic symbol table
--22638-- Reading suppressions file: /usr/lib/valgrind/default.supp
--22638-- REDIR: 0x4010B10 (index) redirected to 0x3802F3B3 (???)
--22638-- Reading syms from /usr/lib/valgrind/x86-linux/vgpreload_core.so (0x4017000)
--22638--    object doesn't have a symbol table
--22638-- Reading syms from /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so (0x401A000)
--22638--    object doesn't have a symbol table
==22638== WARNING: new redirection conflicts with existing -- ignoring it
--22638--     new: 0x04010B10 (index     ) R-> 0x0401E150 index
--22638-- REDIR: 0x4010CB0 (strlen) redirected to 0x401E3D0 (strlen)
--22638-- Reading syms from /usr/lib/libpcre.so.0.0.1 (0x4025000)
--22638--    object doesn't have a symbol table
--22638-- Reading syms from /lib/libdl-2.3.6.so (0x4053000)
--22638--    object doesn't have a symbol table
--22638-- Reading syms from /usr/lib/libgthread-2.0.so.0.1200.11 (0x4057000)
--22638--    object doesn't have a symbol table
--22638-- Reading syms from /lib/libpthread-2.3.6.so (0x405C000)
--22638-- Reading syms from /usr/lib/libglib-2.0.so.0.1200.11 (0x406F000)
--22638--    object doesn't have a symbol table
--22638-- Reading syms from /lib/librt-2.3.6.so (0x4111000)
--22638--    object doesn't have a symbol table
--22638-- Reading syms from /lib/libc-2.3.6.so (0x411A000)
--22638--    object doesn't have a symbol table
--22638-- REDIR: 0x41827A0 (memset) redirected to 0x401EED0 (memset)
--22638-- REDIR: 0x4182CB0 (memcpy) redirected to 0x401E780 (memcpy)
--22638-- REDIR: 0x41819D0 (rindex) redirected to 0x401E030 (rindex)
--22638-- REDIR: 0x417D880 (calloc) redirected to 0x401D790 (calloc)
--22638-- REDIR: 0x417DB50 (malloc) redirected to 0x401B710 (malloc)
--22638-- REDIR: 0x4181130 (strcmp) redirected to 0x401E690 (strcmp)
--22638-- REDIR: 0x4181670 (strlen) redirected to 0x401E3B0 (strlen)
--22638-- REDIR: 0x4180FC0 (index) redirected to 0x401E120 (index)
--22638-- REDIR: 0x4182730 (memmove) redirected to 0x401EEF0 (memmove)
--22638-- REDIR: 0x417C060 (free) redirected to 0x401C980 (free)
--22638-- REDIR: 0x4181840 (strncmp) redirected to 0x401E630 (strncmp)
--22638-- REDIR: 0x417E0F0 (realloc) redirected to 0x401D8C0 (realloc)
--22638-- Reading syms from /usr/local/lib/mod_indexfile.so (0x4021000)
--22638-- Reading syms from /usr/local/lib/mod_rewrite.so (0x4333000)
--22638-- Reading syms from /usr/local/lib/mod_redirect.so (0x4336000)
--22638-- Reading syms from /usr/local/lib/mod_access.so (0x4339000)
--22638-- Reading syms from /usr/local/lib/mod_auth.so (0x433C000)
--22638-- Reading syms from /lib/libcrypt-2.3.6.so (0x4347000)
--22638--    object doesn't have a symbol table
--22638-- Reading syms from /usr/local/lib/mod_status.so (0x4375000)
--22638-- Reading syms from /usr/local/lib/mod_compress.so (0x437B000)
--22638-- Reading syms from /lib/libz.so.1.2.3 (0x4380000)
--22638--    object doesn't have a symbol table
--22638-- Reading syms from /lib/libbz2.so.1.0.3 (0x4393000)
--22638--    object doesn't have a symbol table
--22638-- Reading syms from /usr/local/lib/mod_expire.so (0x4343000)
--22638-- Reading syms from /usr/local/lib/mod_accesslog.so (0x43A3000)
--22638-- Reading syms from /usr/local/lib/mod_proxy_core.so (0x43A7000)
--22638-- Reading syms from /usr/local/lib/mod_proxy_backend_scgi.so (0x43B3000)
--22638-- Reading syms from /usr/local/lib/mod_dirlisting.so (0x43B7000)
--22638-- Reading syms from /usr/local/lib/mod_staticfile.so (0x43BC000)
--22638-- Reading syms from /usr/local/lib/mod_chunked.so (0x43C0000)
--22638-- REDIR: 0x41822A0 (memchr) redirected to 0x401E750 (memchr)
--22638-- REDIR: 0x41835C0 (strchrnul) redirected to 0x401EF50 (strchrnul)
--22638-- REDIR: 0x4182800 (mempcpy) redirected to 0x401F080 (mempcpy)
--22638-- REDIR: 0x4182980 (stpcpy) redirected to 0x401EC30 (stpcpy)
--22638-- Reading syms from /lib/libnss_compat-2.3.6.so (0x43C7000)
--22638--    object doesn't have a symbol table
--22638-- Reading syms from /lib/libnsl-2.3.6.so (0x43CF000)
--22638--    object doesn't have a symbol table
--22638-- REDIR: 0x41811A0 (strcpy) redirected to 0x401E410 (strcpy)
--22638-- Reading syms from /lib/libnss_nis-2.3.6.so (0x43E4000)
--22638--    object doesn't have a symbol table
--22638-- Reading syms from /lib/libnss_files-2.3.6.so (0x43EE000)
--22638--    object doesn't have a symbol table
--22638-- REDIR: 0x41834F0 (rawmemchr) redirected to 0x401EF80 (rawmemchr)
--22638-- REDIR: 0x4181940 (strncpy) redirected to 0x401E4E0 (strncpy)
--22638-- REDIR: 0x417F540 (posix_memalign) redirected to 0x401DBE0 (posix_memalign)
==22638== Invalid read of size 4
==22638==    at 0x80633A5: joblist_append (joblist.c:9)
==22638==    by 0x43AEF38: mod_proxy_trigger (mod_proxy_core.c:2505)
==22638==    by 0x806279F: plugins_call_handle_trigger (plugin.c:432)
==22638==    by 0x804EE6A: lighty_mainloop (server.c:664)
==22638==    by 0x8050404: main (server.c:1705)
==22638==  Address 0x170 is not stack'd, malloc'd or (recently) free'd
==22638== 
==22638== Process terminating with default action of signal 11 (SIGSEGV)
==22638==  Access not within mapped region at address 0x170
==22638==    at 0x80633A5: joblist_append (joblist.c:9)
==22638==    by 0x43AEF38: mod_proxy_trigger (mod_proxy_core.c:2505)
==22638==    by 0x806279F: plugins_call_handle_trigger (plugin.c:432)
==22638==    by 0x804EE6A: lighty_mainloop (server.c:664)
==22638==    by 0x8050404: main (server.c:1705)
--22638-- Discarding syms at 0x43C7000-0x43CF000 in /lib/libnss_compat-2.3.6.so due to munmap()
--22638-- Discarding syms at 0x43E4000-0x43EE000 in /lib/libnss_nis-2.3.6.so due to munmap()
--22638-- Discarding syms at 0x43CF000-0x43E4000 in /lib/libnsl-2.3.6.so due to munmap()
--22638-- Discarding syms at 0x43EE000-0x43F8000 in /lib/libnss_files-2.3.6.so due to munmap()
==22638== 
==22638== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 101 from 2)
==22638== 
==22638== 1 errors in context 1 of 1:
==22638== Invalid read of size 4
==22638==    at 0x80633A5: joblist_append (joblist.c:9)
==22638==    by 0x43AEF38: mod_proxy_trigger (mod_proxy_core.c:2505)
==22638==    by 0x806279F: plugins_call_handle_trigger (plugin.c:432)
==22638==    by 0x804EE6A: lighty_mainloop (server.c:664)
==22638==    by 0x8050404: main (server.c:1705)
==22638==  Address 0x170 is not stack'd, malloc'd or (recently) free'd
--22638-- 
--22638-- supp:   25 Ubuntu-stripped-ld.so
--22638-- supp:   76 dl_relocate_object
==22638== 
==22638== IN SUMMARY: 1 errors from 1 contexts (suppressed: 101 from 2)
==22638== 
==22638== malloc/free: in use at exit: 4,938,437 bytes in 84,755 blocks.
==22638== malloc/free: 177,953 allocs, 93,198 frees, 110,781,851 bytes allocated.
==22638== 
==22638== searching for pointers to 84,755 not-freed blocks.
==22638== checked 37,440,740 bytes.
==22638== 
==22638== LEAK SUMMARY:
==22638==    definitely lost: 2,532 bytes in 36 blocks.
==22638==      possibly lost: 1,084 bytes in 8 blocks.
==22638==    still reachable: 4,934,821 bytes in 84,711 blocks.
==22638==         suppressed: 0 bytes in 0 blocks.
==22638== Rerun with --leak-check=full to see details of leaked memory.
--22638--  memcheck: sanity checks: 405 cheap, 17 expensive
--22638--  memcheck: auxmaps: 0 auxmap entries (0k, 0M) in use
--22638--  memcheck: auxmaps: 0 searches, 0 comparisons
--22638--  memcheck: SMs: n_issued      = 317 (5072k, 4M)
--22638--  memcheck: SMs: n_deissued    = 38 (608k, 0M)
--22638--  memcheck: SMs: max_noaccess  = 65535 (1048560k, 1023M)
--22638--  memcheck: SMs: max_undefined = 0 (0k, 0M)
--22638--  memcheck: SMs: max_defined   = 545 (8720k, 8M)
--22638--  memcheck: SMs: max_non_DSM   = 279 (4464k, 4M)
--22638--  memcheck: max sec V bit nodes:    21 (1k, 0M)
--22638--  memcheck: set_sec_vbits8 calls: 72 (new: 21, updates: 51)
--22638--  memcheck: max shadow mem size:   4769k, 4M
--22638-- translate:            fast SP updates identified: 13,084 ( 85.9%)
--22638-- translate:   generic_known SP updates identified: 1,414 (  9.2%)
--22638-- translate: generic_unknown SP updates identified: 718 (  4.7%)
--22638--     tt/tc: 288,806 tt lookups requiring 337,365 probes
--22638--     tt/tc: 288,806 fast-cache updates, 7 flushes
--22638--  transtab: new        11,593 (263,077 -> 4,169,545; ratio 158:10) [0 scs]
--22638--  transtab: dumped     0 (0 -> ??)
--22638--  transtab: discarded  372 (6,915 -> ??)
--22638-- scheduler: 39,728,134 jumps (bb entries).
--22638-- scheduler: 405/573,514 major/minor sched events.
--22638--    sanity: 406 cheap, 17 expensive checks.
--22638--    exectx: 30,011 lists, 1,704 contexts (avg 0 per list)
--22638--    exectx: 271,253 searches, 270,789 full compares (998 per 1000)
--22638--    exectx: 0 cmp2, 373 cmp4, 0 cmpAll

#631 PROPFIND status code not propogated in proxy mod_proxy defect major 05/02/2006

I have lighttpd 1.4.11 proxying to Apache 2.0.51 for Subversion. I followed the directions here: https://trac.lighttpd.net/trac/wiki/ApacheSubversionRecipe

Browsing, checkouts, and commiting modifications all work. Adding files does not. It appears that when the PROPFIND request hits Apache it returns 404 (makes sense, the file isn't there yet), but lighttpd returns 200 to the client (I'm guessing that the client becomes confused, expecting a 404 for a file it has yet to add). All other WebDAV/DeltaV requests seem to return the correct httpd status code. Here are some transcripts from the logs. The problem is the last PROPFIND (second to last line).


lighttpd log

192.168.1.1 example.com - [01/May/2006:21:05:46 -0700] "OPTIONS /svn/tools HTTP/1.1" 200 183 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
192.168.1.1 example.com - [01/May/2006:21:05:46 -0700] "MKACTIVITY /svn/!svn/act/92a71b49-c612-0410-8646-92b125d912e5 HTTP/1.1" 201 303 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
192.168.1.1 example.com - [01/May/2006:21:05:46 -0700] "PROPFIND /svn/tools HTTP/1.1" 207 428 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
192.168.1.1 example.com - [01/May/2006:21:05:46 -0700] "PROPFIND /svn/!svn/vcc/default HTTP/1.1" 207 389 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
192.168.1.1 example.com - [01/May/2006:21:05:46 -0700] "CHECKOUT /svn/!svn/bln/71 HTTP/1.1" 201 318 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
192.168.1.1 example.com - [01/May/2006:21:05:46 -0700] "PROPPATCH /svn/!svn/wbl/92a71b49-c612-0410-8646-92b125d912e5/71 HTTP/1.1" 207 349 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
192.168.1.1 example.com - [01/May/2006:21:05:46 -0700] "PROPFIND /svn/tools HTTP/1.1" 207 385 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
192.168.1.1 example.com - [01/May/2006:21:05:46 -0700] "CHECKOUT /svn/!svn/ver/25/tools HTTP/1.1" 201 321 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
192.168.1.1 example.com - [01/May/2006:21:05:46 -0700] "PROPFIND /svn/tools/test.txt HTTP/1.1" 200 295 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
192.168.1.1 example.com - [01/May/2006:21:05:47 -0700] "DELETE /svn/!svn/act/92a71b49-c612-0410-8646-92b125d912e5 HTTP/1.1" 204 0 "-" "SVN/1.3.0 (r17949) neon/0.25.4"

Notice that the last PROPFIND has a status of 200.


apache log

127.0.0.1 - tim [01/May/2006:21:05:46 -0700] "OPTIONS /svn/tools HTTP/1.0" 200 183 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
127.0.0.1 - tim [01/May/2006:21:05:46 -0700] "MKACTIVITY /svn/!svn/act/92a71b49-c612-0410-8646-92b125d912e5 HTTP/1.0" 201 303 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
127.0.0.1 - tim [01/May/2006:21:05:46 -0700] "PROPFIND /svn/tools HTTP/1.0" 207 428 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
127.0.0.1 - tim [01/May/2006:21:05:46 -0700] "PROPFIND /svn/!svn/vcc/default HTTP/1.0" 207 389 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
127.0.0.1 - tim [01/May/2006:21:05:46 -0700] "CHECKOUT /svn/!svn/bln/71 HTTP/1.0" 201 318 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
127.0.0.1 - tim [01/May/2006:21:05:46 -0700] "PROPPATCH /svn/!svn/wbl/92a71b49-c612-0410-8646-92b125d912e5/71 HTTP/1.0" 207 349 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
127.0.0.1 - tim [01/May/2006:21:05:46 -0700] "PROPFIND /svn/tools HTTP/1.0" 207 385 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
127.0.0.1 - tim [01/May/2006:21:05:46 -0700] "CHECKOUT /svn/!svn/ver/25/tools HTTP/1.0" 201 321 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
127.0.0.1 - tim [01/May/2006:21:05:46 -0700] "PROPFIND /svn/tools/test.txt HTTP/1.0" 404 295 "-" "SVN/1.3.0 (r17949) neon/0.25.4"
127.0.0.1 - tim [01/May/2006:21:05:47 -0700] "DELETE /svn/!svn/act/92a71b49-c612-0410-8646-92b125d912e5 HTTP/1.0" 204 - "-" "SVN/1.3.0 (r17949) neon/0.25.4"

Notice that the last PROPFIND has a status of 404.


#1030 mod_webdav and sqlite mod_webdav 1.4.20 defect major 02/13/2007

i am running lighttpd 1.4.13 on a mipsel platform using uclibc 0.9.28.1 and kernel 2.4.20

everything works fine except when i enable webdav with lock.

it fails when sqlite db file is created. strace attached.


#36 fcgi remote backends intelligent availability check core 1.4.20 enhancement normal 02/27/2005

say, i have configured three fcgi-handlers for one URI in lighttpd. if lighttpd, sees that fcgi backend is unavailable (say, connection refused), it marks it offline (fcgi server disabled). if in case all of them are disabled, it would be neccessary that the fcgi servers are instantly checked for availability again, without the existing timeout. since the servers might have returned. real case: i restarted fcgi backend daemons one by one. and i had to restart lighttpd to make it again serve fcgi requests.

my idea would be that the timeout for checking fcgi backend is lowered for fcgi server, if all of them are unavailable for same URI, and perhaps exponentally increased if the check of all fcgi servers fails (again). and of course initial first check must be done instantly (ie without timeout). and perhaps if the fcgi server becames available, the disabled-timeout is set back to default normal value.


#1199 Problem with 1.5.0-r1857 on Debian. core 1.5.0 defect blocker 05/25/2007

I have build with this commands:

./configure --with-linux-aio --libdir=/usr/lib/lighttpd
make
make install

on start:

Starting web server: lighttpd2007-05-25 11:33:29: (plugin.c.165) dlopen() failed                                                                                                                                 for: /usr/lib/lighttpd/mod_indexfile.so /usr/lib/lighttpd/mod_indexfile.so: und                                                                                                                                efined symbol: log_trace
2007-05-25 11:33:29: (server.c.593) loading plugins finally failed
 failed!

#1244 lighttpd does not compile on Digital UNIX build_autotools 1.5.0 defect blocker 06/22/2007

First of all, every single module has unresolved symbols, like this:

gcc-3.2 -shared  .libs/mod_evasive.o  -L/usr/local/lib -L/usr/pkg/lib  -Wl,-msym -Wl,-soname -Wl,mod_evasive.so `test -n "" && echo -Wl,-set_version -Wl,` -Wl,-update_registry -Wl,.libs/so_locations -o .libs/mod_evasive.so
config_insert_values_global
config_check_cond
buffer_is_equal_string
inet_ntop_cache_get_ip
log_error_write
buffer_init_string

#66 Sending HUP to lighttpd >= 1.3.12 (and maybe .11) causes kqueue handler to break core defect critical 03/08/2005

send process a HUP, and you get:

2005-03-08 12:17:00: (log.c.123) logfiles cycled
2005-03-08 12:17:00: (server.c.972) fdevent_poll failed: Bad file descriptor
2005-03-08 12:17:00: (server.c.972) fdevent_poll failed: Bad file descriptor
2005-03-08 12:17:00: (server.c.972) fdevent_poll failed: Bad file descriptor
2005-03-08 12:17:00: (server.c.972) fdevent_poll failed: Bad file descriptor
2005-03-08 12:17:00: (server.c.972) fdevent_poll failed: Bad file descriptor
2005-03-08 12:17:00: (server.c.972) fdevent_poll failed: Bad file descriptor

#1284 lighttpd don't print keep alive answering header core 1.4.20 enhancement minor 08/03/2007

lighttpd only print answering header "Connection: close" about Keep Alive. But Any programs check answering header as follows:

Connection: Keep-Alive
Keep-Alive: timeout=60, max=1000

This patch print upper answering headers for Keep Alive status, and has same operation with Apache web server.


#7 error-handler advanced usage core 1.4.20 enhancement normal 02/14/2005

i would like to specify redirect url for error-handler, so the httpd would respond with Location: header to user.

second request is to support more error codes, perhaps any numeric code. currently i need handler for 500, 403 and 503


#54 (mod_rrdtool.c.390) rrdtool-write: failed Device not configured mod_rrdtool defect normal 03/03/2005

Installed 1.3.12 by manually replacing SIGCLD with SIGCHLD and starting it:

2005-03-03 11:18:32: (log.c.67) server started 2005-03-03 11:19:00: (mod_rrdtool.c.390) rrdtool-write: failed Device not configured 2005-03-03 11:19:00: (server.c.790) one of the triggers failed

It works, but rrd part doesnt.


#259 Unable to compile on AIX 5.3 ML2 core defect normal 09/08/2005

I am attempting to compile on AIX 5.3 ML2 (latest). I have installed gcc and libgcc 3.3.2. The following is the messages I am getting at the end of the make

gcc -shared -o .libs/mod_scgi.so  .libs/mod_scgi.o  
-Wl,-blibpath:/opt/freeware/src/packages/SOURCES/lighttpd/src/.libs:/usr/local/lib:/opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2:/opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/../../..:/usr/lib:/lib 
-L./.libs -llightcomp -lc  -Wl,-bE:.libs/mod_scgi.exp -Wl,-bnoentry 
${wl}-bernotok
ar cru .libs/mod_scgi.a .libs/mod_scgi.so
creating mod_scgi.la
(cd .libs && rm -f mod_scgi.la && ln -s ../mod_scgi.la mod_scgi.la)
        if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H 
-DLIBRARY_DIR="\"/usr/local/lib\""  -I. -I. -I..   -D_REENTRANT 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES   -g -O2 -Wall -W 
-Wshadow -pedantic -MT mod_staticfile.lo -MD -MP -MF 
".deps/mod_staticfile.Tpo" -c -o mod_staticfile.lo mod_staticfile.c;  then mv 
-f ".deps/mod_staticfile.Tpo" ".deps/mod_staticfile.Plo"; else rm -f 
".deps/mod_staticfile.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -DLIBRARY_DIR=\"/usr/local/lib\" -I. -I. -I.. 
-D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -g -O2 
-Wall -W -Wshadow -pedantic -MT mod_staticfile.lo -MD -MP 
-MF .deps/mod_staticfile.Tpo -c mod_staticfile.c  -DPIC 
-o .libs/mod_staticfile.o
mod_staticfile.c:5:1: warning: "_XOPEN_SOURCE" redefined
In file included 
from /opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/ctype.h:46,
                 from mod_staticfile.c:1:
/usr/include/standards.h:128:1: warning: this is the location of the previous 
definition
In file included from mod_staticfile.c:7:
/usr/include/time.h:217:18: #if with no expression
/usr/include/time.h:250:18: #if with no expression
In file included from base.h:6,
                 from mod_staticfile.c:9:
/usr/include/sys/stat.h:347:18: #if with no expression
In file included from etag.h:6,
                 from mod_staticfile.c:16:
/opt/freeware/lib/gcc-lib/powerpc-ibm-aix5.3.0.0/3.3.2/include/unistd.h:843:18: 
#if with no expression
make: 1254-004 The error code from the last command is 1.


Stop.
make: 1254-004 The error code from the last command is 1.


Stop.
make: 1254-004 The error code from the last command is 2.


Stop.

I don't know if this makes sense to anyone, but I am a bit of a loss.


#463 lighttpd crashed after uploading file with https+webdav using novell netdrive mod_webdav 1.4.20 defect normal 01/12/2006

Lighttpd crashed everytime after a file is uploaded successfully. File size doesn't matter. No problem with file download and directory browsing and other operations.

Server OS : Gentoo Kernel 2.6.14 on AMD Athlon 64
Client OS : Windows XP
Novell NetDrive : 4.1.873
access.log entry: ... "PUT /... HTTP/1.0" 201 0 "-" ...
kern.log entry: ... lighttpd[4006]: segfault at 0000000000000208 rip 00002aaaac3e7c30 rsp 00007fffff90b768 error 4

#899 base64_decode into it's own file core 1.5.0 enhancement normal 11/13/2006

It would be nice to extract base64_decode() from http_auth.c and move it into it's own file so that it can be added to "common_src" to be used by new plugins.


#1011 lighttpd-1.5.0-r1605. + $HTTP["host"] + use-noatime = 500 core 1.5.0 defect normal 02/07/2007

I just moved from lighttpd 1.4.13 to 1.5.0-r1605. During the transition, I decided to modify my configuration to this:

server.network-backend = "linux-aio-sendfile" server.event-handler = "linux-sysepoll" server.use-noatime = "enable"

... to see if I could get a performance boost. However, when I have server.use-noatime="enable" and only through the conditional $HTTPhost? hosts, I'm being given 500 errors. A look into my error log shows the following:

response.c.565: (error) checking file '/index.html' (/var/video/index.html) failed: 1 (Operation not permitted) -> sending status 500

Again, the odd part is that this only occurs for conditional $HTTPhost? hosts.

Attached is the appropriate strace where I access the "problem" URL a few times followed by accessing the main URL a few times.


#1057 Auth using database mod_auth 1.5.0 enhancement normal 02/27/2007

Is it possible to add auth method by database (e.g. MySQL or PostgreSQL)?


#1073 mod_flv_streaming: stop parameter to cut video mod_flv_streaming enhancement normal 03/05/2007

To playback (and download) only a sequence of a flv, it would be great to have a stop parameter (beside start) that can be used as a cutting out-point. Imo only the size of the returning bytearrray could be decreased and there is no need to update any flv-metadata?!


#1074 Problems with Gthreads in debian ... core defect normal 03/05/2007

deimcluster01:/home/tomaslluis# lighttpd -f main.conf -D log.c.148: (trace) server started

GThread-ERROR **: file gthread-posix.c: line 135 (): error 'Function not implemented' during 'pthread_getschedparam (pthread_self(), &policy, &sched)' aborting... Avortat


#1103 New proxy method: random mod_proxy_core 1.5.0 enhancement normal 04/06/2007

In 1.4 branch, the mod_proxy doens't have a totally random method.

Based on round-robin method in mod_proxy_core.


#1114 http_resp.c.133: CR with out LF core defect normal 04/12/2007

It seems that lighty will hang sometimes, strace -ttt -r prints:

     0.000000 write(2, "http_resp.c.133: CR with out LF\r"..., 33) = 33
     0.000159 write(2, "http_resp.c.133: CR with out LF\r"..., 33) = 33
     0.000092 write(2, "http_resp.c.133: CR with out LF\r"..., 33) = 33
     0.000090 write(2, "http_resp.c.133: CR with out LF\r"..., 33) = 33
     0.000090 write(2, "http_resp.c.133: CR with out LF\r"..., 33) = 33
     0.000089 write(2, "http_resp.c.133: CR with out LF\r"..., 33) = 33
     0.000102 write(2, "http_resp.c.133: CR with out LF\r"..., 33) = 33
     0.000090 write(2, "http_resp.c.133: CR with out LF\r"..., 33) = 33
...

#1197 SIGABRT on MacOS X + select core 1.5.0 defect normal 05/24/2007

OS X V. 10.3.9
lighttpd-1.4.15
Python 2.5.1
web.py framework (http://webpy.infogami.com/install)[[BR]][[BR]]

Shell output:
% sudo lighttpd -Df code.py
Abort trap
%

Abort trap occurs when I visit the page http://localhost:8080 or remotely at http://ip:8080. This same setup works fine on my other mac, which has the following versions:
OS X V. 10.4.9
Python 2.5

I have the following files:

code.conf (lighttpd config)
code.py (simple hello world using web.py)
code.trace.txt (a kdump of a ktrace ; The first request attempt from localhost worked, the second attempt from a remote computer caused the crash )
gdb_bt.txt (a gdb backtrace)


#1222 1.5.0r1857 doesn't compile on Solaris 10 core 1.5.0 defect normal 06/07/2007

I tried to compile lighttpd-1.5.0r1857 under Solaris 10 with gcc-3.4.6 and SUN Forte CC - both failed.

I'll have here the output of the make-commands:

gcc-3.4.6
# uname -a
SunOS host 5.10 Generic_118833-36 sun4u sparc SUNW,Sun-Fire-280R
# gcc --version
gcc (GCC) 3.4.6

root@boe-weblb-p1 # make
make  all-recursive
Making all in src
Making all in valgrind
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -DLIBRARY_DIR="\"/opt/lighttpd/lib\""  -I. -I. -I..
+-D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES  -mt
+-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -Wall -W -Wshadow -pedantic -std=gnu99 -MT mod_flv_streaming.lo
+-MD -MP -MF ".deps/mod_flv_streaming.Tpo" -c -o mod_flv_streaming.lo mod_flv_streaming.c; \
then mv -f ".deps/mod_flv_streaming.Tpo" ".deps/mod_flv_streaming.Plo"; else rm -f ".deps/mod_flv_streaming.Tpo"; exit 1; fi
mkdir .libs
 gcc -DHAVE_CONFIG_H -DLIBRARY_DIR=\"/opt/lighttpd/lib\" -I. -I. -I.. -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include
+-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2
+-Wall -W -Wshadow -pedantic -std=gnu99 -MT mod_flv_streaming.lo -MD -MP -MF .deps/mod_flv_streaming.Tpo -c
+mod_flv_streaming.c  -fPIC -DPIC -o .libs/mod_flv_streaming.o
cc1: error: invalid option `t'
*** Error code 1
make: Fatal error: Command failed for target `mod_flv_streaming.lo'



SUN Forte C:
root@boe-weblb-p1 # make
make  all-recursive
Making all in src
Making all in valgrind
source='mod_flv_streaming.c' object='mod_flv_streaming.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -DLIBRARY_DIR="\"/opt/lighttpd/lib\""  -I. -I. -I..   -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES  -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c -o mod_flv_streaming.lo mod_flv_streaming.c
mkdir .libs
 cc -DHAVE_CONFIG_H -DLIBRARY_DIR=\"/opt/lighttpd/lib\" -I. -I. -I.. -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c mod_flv_streaming.c  -KPIC -DPIC -o .libs/mod_flv_streaming.o
/bin/bash ../libtool --tag=CC --mode=link cc -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g    -o mod_flv_streaming.la -rpath /opt/lighttpd/lib -module -export-dynamic -avoid-version -no-undefined mod_flv_streaming.lo  -lrt -lresolv -lnsl -lsocket
/usr/ccs/bin/ld -G -z text -h mod_flv_streaming.so -o .libs/mod_flv_streaming.so  .libs/mod_flv_streaming.o  -lrt -lresolv -lnsl -lsocket -lc
creating mod_flv_streaming.la
(cd .libs && rm -f mod_flv_streaming.la && ln -s ../mod_flv_streaming.la mod_flv_streaming.la)
source='mod_uploadprogress.c' object='mod_uploadprogress.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -DLIBRARY_DIR="\"/opt/lighttpd/lib\""  -I. -I. -I..   -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES  -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c -o mod_uploadprogress.lo mod_uploadprogress.c
 cc -DHAVE_CONFIG_H -DLIBRARY_DIR=\"/opt/lighttpd/lib\" -I. -I. -I.. -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c mod_uploadprogress.c  -KPIC -DPIC -o .libs/mod_uploadprogress.o
/bin/bash ../libtool --tag=CC --mode=link cc -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g    -o mod_uploadprogress.la -rpath /opt/lighttpd/lib -module -export-dynamic -avoid-version -no-undefined mod_uploadprogress.lo  -lrt -lresolv -lnsl -lsocket
/usr/ccs/bin/ld -G -z text -h mod_uploadprogress.so -o .libs/mod_uploadprogress.so  .libs/mod_uploadprogress.o  -lrt -lresolv -lnsl -lsocket -lc
creating mod_uploadprogress.la
(cd .libs && rm -f mod_uploadprogress.la && ln -s ../mod_uploadprogress.la mod_uploadprogress.la)
source='mod_evasive.c' object='mod_evasive.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -DLIBRARY_DIR="\"/opt/lighttpd/lib\""
  -I. -I. -I..   -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES  -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c -o mod_evasive.lo mod_evasive.c
 cc -DHAVE_CONFIG_H -DLIBRARY_DIR=\"/opt/lighttpd/lib\" -I. -I. -I.. -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c mod_evasive.c  -KPIC -DPIC -o .libs/mod_evasive.o
/bin/bash ../libtool --tag=CC --mode=link cc -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g    -o mod_evasive.la -rpath /opt/lighttpd/lib -module -export-dynamic -avoid-version -no-undefined mod_evasive.lo  -lrt -lresolv -lnsl -lsocket
/usr/ccs/bin/ld -G -z text -h mod_evasive.so -o .libs/mod_evasive.so  .libs/mod_evasive.o  -lrt -lresolv -lnsl -lsocket -lc
creating mod_evasive.la
(cd .libs && rm -f mod_evasive.la && ln -s ../mod_evasive.la mod_evasive.la)
source='mod_fastcgi.c' object='mod_fastcgi.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -DLIBRARY_DIR="\"/opt/lighttpd/lib\""  -I. -I. -I..   -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES  -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c -o mod_fastcgi.lo mod_fastcgi.c
/bin/bash ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -DLIBRARY_DIR="\"/opt/lighttpd/lib\""  -I. -I. -I..   -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES  -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c -o mod_fastcgi.lo mod_fastcgi.c
 cc -DHAVE_CONFIG_H -DLIBRARY_DIR=\"/opt/lighttpd/lib\" -I. -I. -I.. -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c mod_fastcgi.c  -KPIC -DPIC -o .libs/mod_fastcgi.o
/bin/bash ../libtool --tag=CC --mode=link cc -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g    -o mod_fastcgi.la -rpath /opt/lighttpd/lib -module -export-dynamic -avoid-version -no-undefined mod_fastcgi.lo  -lrt -lresolv -lnsl -lsocket /usr/ccs/bin/ld -G -z text -h mod_fastcgi.so -o .libs/mod_fastcgi.so  .libs/mod_fastcgi.o  -lrt -lresolv -lnsl -lsocket -lc
creating mod_fastcgi.la (cd .libs && rm -f mod_fastcgi.la && ln -s ../mod_fastcgi.la mod_fastcgi.la)
source='mod_webdav.c' object='mod_webdav_la-mod_webdav.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -DLIBRARY_DIR="\"/opt/lighttpd/lib\"" -I. -I. -I..   -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -g -c -o mod_webdav_la-mod_webdav.lo `test -f 'mod_webdav.c' || echo './'`mod_webdav.c  cc -DHAVE_CONFIG_H -DLIBRARY_DIR=\"/opt/lighttpd/lib\" -I. -I. -I.. -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c mod_webdav.c -KPIC -DPIC -o .libs/mod_webdav_la-mod_webdav.o "mod_webdav.c", line 956: warning: statement not reached /bin/bash ../libtool --tag=CC --mode=link cc -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g    -o mod_webdav.la -rpath /opt/lighttpd/lib -module -export-dynamic -avoid-version -no-undefined mod_webdav_la-mod_webdav.lo     -lrt -lresolv -lnsl -lsocket /usr/ccs/bin/ld -G -z text -h mod_webdav.so -o .libs/mod_webdav.so  .libs/mod_webdav_la-mod_webdav.o  -lrt -lresolv -lnsl -lsocket -lc
creating mod_webdav.la (cd .libs && rm -f mod_webdav.la && ln -s ../mod_webdav.la mod_webdav.la)
source='mod_magnet.c' object='mod_magnet_la-mod_magnet.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -DLIBRARY_DIR="\"/opt/lighttpd/lib\""
 -I. -I. -I..   -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  -g -c -o mod_magnet_la-mod_magnet.lo `test -f 'mod_magnet.c' || echo './'`mod_magnet.c  cc -DHAVE_CONFIG_H -DLIBRARY_DIR=\"/opt/lighttpd/lib\" -I. -I. -I.. -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c mod_magnet.c -KPIC -DPIC -o .libs/mod_magnet_la-mod_magnet.o source='mod_magnet_cache.c' object='mod_magnet_la-mod_magnet_cache.lo' libtool=yes \ DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -DLIBRARY_DIR="\"/opt/lighttpd/lib\"" -I. -I. -I..   -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  -g -c -o mod_magnet_la-mod_magnet_cache.lo `test -f 'mod_magnet_cache.c' || echo './'`mod_magnet_cache.c  cc -DHAVE_CONFIG_H -DLIBRARY_DIR=\"/opt/lighttpd/lib\" -I. -I. -I.. -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c mod_magnet_cache.c  -KPIC -DPIC -o .libs/mod_magnet_la-mod_magnet_cache.o /bin/bash ../libtool --tag=CC --mode=link cc -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g    -o mod_magnet.la -rpath /opt/lighttpd/lib -module -export-dynamic -avoid-version -no-undefined mod_magnet_la-mod_magnet.lo  mod_magnet_la-mod_magnet_cache.lo    -lm -lrt -lresolv -lnsl -lsocket /usr/ccs/bin/ld -G -z text -h mod_magnet.so -o .libs/mod_magnet.so  .libs/mod_magnet_la-mod_magnet.o .libs/mod_magnet_la-mod_magnet_cache.o  -lm -lrt -lresolv -lnsl -lsocket -lc
creating mod_magnet.la 
(cd .libs && rm -f mod_magnet.la && ln -s ../mod_magnet.la mod_magnet.la)
source='mod_trigger_b4_dl.c' object='mod_trigger_b4_dl.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -DLIBRARY_DIR="\"/opt/lighttpd/lib\""  -I. -I. -I..   -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES  -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c -o mod_trigger_b4_dl.lo mod_trigger_b4_dl.c
 cc -DHAVE_CONFIG_H -DLIBRARY_DIR=\"/opt/lighttpd/lib\" -I. -I. -I.. -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c mod_trigger_b4_dl.c  -KPIC -DPIC -o .libs/mod_trigger_b4_dl.o
/bin/bash ../libtool --tag=CC --mode=link cc -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g    -o mod_trigger_b4_dl.la -rpath /opt/lighttpd/lib -module -export-dynamic -avoid-version -no-undefined mod_trigger_b4_dl.lo   -L/opt/sfw/lib -lpcre  -lrt -lresolv -lnsl -lsocket
/usr/ccs/bin/ld -G -z text -h mod_trigger_b4_dl.so -o .libs/mod_trigger_b4_dl.so  .libs/mod_trigger_b4_dl.o  -R/opt/sfw/lib -R/opt/sfw/lib -L/opt/sfw/lib /opt/sfw/lib/libpcre.so -lrt -lresolv -lnsl -lsocket -lc
creating mod_trigger_b4_dl.la
(cd .libs && rm -f mod_trigger_b4_dl.la && ln -s ../mod_trigger_b4_dl.la mod_trigger_b4_dl.la)
source='mod_mysql_vhost.c' object='mod_mysql_vhost_la-mod_mysql_vhost.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -DLIBRARY_DIR="\"/opt/lighttpd/lib\"" -I. -I. -I..   -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c -o mod_mysql_vhost_la-mod_mysql_vhost.lo `test -f 'mod_mysql_vhost.c' || echo './'`mod_mysql_vhost.c
 cc -DHAVE_CONFIG_H -DLIBRARY_DIR=\"/opt/lighttpd/lib\" -I. -I. -I.. -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c mod_mysql_vhost.c  -KPIC -DPIC -o .libs/mod_mysql_vhost_la-mod_mysql_vhost.o
/bin/bash ../libtool --tag=CC --mode=link cc -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g    -o mod_mysql_vhost.la -rpath /opt/lighttpd/lib -module -export-dynamic -avoid-version -no-undefined mod_mysql_vhost_la-mod_mysql_vhost.lo   -lrt -lresolv -lnsl -lsocket
/usr/ccs/bin/ld -G -z text -h mod_mysql_vhost.so -o .libs/mod_mysql_vhost.so  .libs/mod_mysql_vhost_la-mod_mysql_vhost.o  -lrt -lresolv -lnsl -lsocket -lc
creating mod_mysql_vhost.la
(cd .libs && rm -f mod_mysql_vhost.la && ln -s ../mod_mysql_vhost.la mod_mysql_vhost.la)
source='mod_postgresql_vhost.c' object='mod_postgresql_vhost_la-mod_postgresql_vhost.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
/bin/bash ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -DLIBRARY_DIR="\"/opt/lighttpd/lib\"" -I. -I. -I..   -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c -o mod_postgresql_vhost_la-mod_postgresql_vhost.lo `test -f 'mod_postgresql_vhost.c' || echo './'`mod_postgresql_vhost.c
 cc -DHAVE_CONFIG_H -DLIBRARY_DIR=\"/opt/lighttpd/lib\" -I. -I. -I.. -D_REENTRANT -D__EXTENSIONS__ -I/opt/sfw/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES -mt -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -c mod_postgresql_vhost.c  -KPIC -DPIC -o .libs/mod_postgresql_vhost_la-mod_postgresql_vhost.o
"/usr/include/stdbool.h", line 42: #error: "Use of <stdbool.h> is valid only in a c99 compilation environment."
cc: acomp failed for mod_postgresql_vhost.c
*** Error code 1
make: Fatal error: Command failed for target `mod_postgresql_vhost_la-mod_postgresql_vhost.lo'
Current working directory /root/src/lighttpd/lighty-1.5/lighttpd-1.5.0/src
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
  case $f in \
    *=* | --[!k]*);; \
    *k*) failcom='fail=yes';; \
  esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='valgrind'; for subdir in $list; do \
  echo "Making $target in $subdir"; \
  if test "$subdir" = "."; then \
    dot_seen=yes; \
    local_target="$target-am"; \
  else \
    local_target="$target"; \
  fi; \
  (cd $subdir && make  $local_target) \
  || eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
  make  "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Current working directory /root/src/lighttpd/lighty-1.5/lighttpd-1.5.0/src
*** Error code 1
The following command caused the error:
failcom='exit 1'; \
for f in x $MAKEFLAGS; do \
  case $f in \
    *=* | --[!k]*);; \
    *k*) failcom='fail=yes';; \
  esac; \
done; \
dot_seen=no; \
target=`echo all-recursive | sed s/-recursive//`; \
list='src doc tests cygwin openwrt'; for subdir in $list; do \
  echo "Making $target in $subdir"; \
  if test "$subdir" = "."; then \
    dot_seen=yes; \
    local_target="$target-am"; \
  else \
    local_target="$target"; \
  fi; \
  (cd $subdir && make  $local_target) \
  || eval $failcom; \
done; \
if test "$dot_seen" = "no"; then \
  make  "$target-am" || exit 1; \
fi; test -z "$fail"
make: Fatal error: Command failed for target `all-recursive'
Current working directory /root/src/lighttpd/lighty-1.5/lighttpd-1.5.0
*** Error code 1
make: Fatal error: Command failed for target `all'

#1311 fcgi fails for first request mod_fastcgi 1.5.0 defect normal 08/22/2007

lighttpd-1.4.13, trac 0.10.3.1

I have lighttpd starting trac with a configuration like this:

    fastcgi.server = ("/trac" =>
        ("trac" =>
            ("socket" => "/tmp/trac.socket",
             "bin-path" => "/usr/share/trac/cgi-bin/trac.fcgi",
             "check-local" => "disable",
             "bin-environment" =>
                 ("TRAC_ENV" => "/home/trac/trac",
                  "PYTHON_EGG_CACHE" => "/home/trac/egg-cache")
            )))

The first time I try to load trac, lighttpd returns 500 and something like this in error.log:

2007-08-21 17:38:33: (mod_fastcgi.c.2879) got proc: pid: 5748 socket: unix:/tmp/trac.socket-3 load: 1
2007-08-21 17:38:34: (mod_fastcgi.c.2409) unexpected end-of-file (perhaps the fastcgi process died): pid: 5748 socket: unix:/tmp/trac.socket-3
2007-08-21 17:38:34: (mod_fastcgi.c.3194) response not received, request sent: 1229 on socket: unix:/tmp/trac.socket-3 for /trac , closing connection
2007-08-21 17:38:34: (mod_fastcgi.c.1490) released proc: pid: 5748 socket: unix:/tmp/trac.socket-3 load: 0

But the fcgi proccess did not die, as lighttpd speculates.

cranking up the debug level in trac.web._fcgi gave me this, but it doesn't appear to look any different for failing vs succeeding requests:

Aug 21 17:38:34 fcgi: read: fd = 2, type = 1, requestId = 1, contentLength = 8
Aug 21 17:38:34 fcgi: read: fd = 2, type = 4, requestId = 1, contentLength = 1189
Aug 21 17:38:34 fcgi: read: fd = 2, type = 4, requestId = 1, contentLength = 0
Aug 21 17:38:34 fcgi: write: fd = 2, type = 6, requestId = 1, contentLength = 151
Aug 21 17:38:34 fcgi: write: fd = 2, type = 6, requestId = 1, contentLength = 4057
Aug 21 17:38:34 fcgi: protocolStatus = 0, appStatus = 0
Aug 21 17:38:34 fcgi: write: fd = 2, type = 6, requestId = 1, contentLength = 0
Aug 21 17:38:34 fcgi: write: fd = 2, type = 3, requestId = 1, contentLength = 8
Aug 21 17:38:34 fcgi: end_request: flags = 0

trac.log doesn't seem to report any errors, saying just

2007-08-21 17:38:34,519 Trac[loader] DEBUG: Loading egg plugin openidauth.auth from /usr/lib/python2.5/site-packages/OpenIDAuth-0.1dev-py2.5.egg
2007-08-21 17:38:34,627 Trac[loader] DEBUG: Loading egg plugin openidauth.auth from /home/trac/trac/plugins/OpenIDAuth-0.1dev-py2.5.egg

The error seems to happen once for each trac.fcgi spawned. Subsequent requests to that fcgi server work fine.

Is there anywhere I can get more logging to find out why lighttpd got an unexpected EoF?

(also reported as http://trac.edgewall.org/ticket/5907 )


#1320 check return value of calloc in mod_simple_vhost.c core 1.4.20 defect normal 08/23/2007

#1314 http_request_parse: clear errno before str_to_off_t core 1.5.0 defect trivial 08/23/2007

if earlier syscall sets errno to ERANGE, http_request_parse does not detect between overflow and r == STR_OFF_T_MAX.


#471 sendfile backends do not fall back to write/writev if they are not supported by the kernel core defect normal 01/16/2006

lighttped report error when uploading file using php on solaris sparc 9(sunos5.9) (network_solaris_sendfilev.c.177) sendfile: Address family not supported by protocol family 124

tested 1.4.8 and 1.4.9


moo

Ticket Summary Component Milestone Type Severity Created
Description
#341 setting default value for configuration file parameters core 1.5.0 defect normal 10/20/2005

By default, lighttpd will spit out "404- Not Found" unless you set error-handler-404 to something else. There needs to be a way to set it to the default value (like if you use virtual hosts) again, just in case it has already been set.

something like:

server.error-handler-404 = DEFAULT

would be nice. I tried setting it like this:

server.error-handler-404 = ""

and it just redirected to the document root "/", which was not helpful. I also tried NULL, NIL null, nil...

I am using 1.3.16. (btw, error-use-syslog doesn't work in this version)


#443 [PATCH] mod_redirect: Add support for url-encoding backreferences, map %%n->%n, $$n->$n mod_redirect 1.5.0 enhancement normal 01/06/2006

Attached is a simple user-contributed (e.g. no guarantees) patch to expand the capabilities of mod_redirect for lighttpd 1.4.8.

It adds two features:

* optional url-encoding for backreferences

* allow backreference character usage without substituting a backref.

Here is an example of the first case:

Let's say that you want to map the specified URL into a CGI argument, but you want it to be escaped properly --

 url.redirect = ( "^(.*)$" =>
                  "/view?path=$!1"

If a user requests "http://example.com/special/documents?foo=bar", they will be redirected to "http://example.com/view?path=%2Fspecial%2Fdocuments%3Ffoo%3Dbar".

Now let's say you want to include an absolute address so that the user is redirected to a different site, http://2.example.com. You would want the redirection to result in the following URL: "http://example.com/view?path=http%3A%2F%2F2.example.com%2Fspecial%2Fdocuments%3Ffoo%3Dbar".

The second change allows you to do this with mod_redirect:

 url.redirect = ( "^(.*)$" =>
                  "http%%3A%%2F%%2F2.example.com/view?path=$!1"

Using double percents, mod_redirect will no longer assume that the %3 in %%3A is a poor backreference and it will print out the desired single %.

--

Doh - it looks like I need to attach after I file the ticket. If I have a problem with it, I will put it on the wiki as an attachment.


#1268 condtion should be optional in "else" clause in configuration file core 1.5.0 enhancement normal 07/24/2007

The conditional configuration construct:

<field> <operator> <value> {
  ...
}
else <field> <operator> <value> {
  ... the "else if" block
}

would be more useful if it allowed a bare "else" with no condition - i.e.

<field> <operator> <value> {
  ...
}
else <field> <operator> <value> {
  ... the "else if" block
}
else {
  ... the "else" block
}

Note: See TracReports for help on using and creating reports.