Ticket #479 (closed defect: worksforme)
CGI name of exactly "timezone" creates bad behavior
| Reported by: | devin@… | Owned by: | jan |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | core | Version: | 1.4.2 |
| Severity: | normal | Keywords: | |
| Cc: | Blocked By: | ||
| Need User Feedback: | no | Blocking: |
Description
This bug is just too strange to keep to myself. I have an entry in my index that looks like this:
cgi.assign = ( "basic" => "/home/devin/dnsmux/utils/myrunner",
...
"timezone" => "/home/devin/dnsmux/utils/myrunner"
...)
So, when a user requests /basic or /timezone it uses my script. However, when running the timezone script, it outputs the HTML twice. For, example, the HTTP session looks like:
1.) Client requests /timezone
2.) Server responds correctly
3.) Client requests /favicon.ico
4.) Server sends headers for the 404 page
5.) Server sends the output of the /timezone script,
but without headers and without being chunked this time.
6.) Server sends the body of the 404 page
7.) Client requests /timezone
8.) Server sends some headers for /timezone, but not those the script itself outputs
9.) Server outputs two newlines, then the headers from the script itself
10.) and things just get more random from there.
Changing the name from "timezone" to anything else makes the problem go away. Even with identical scripts or even replacing myrunner with the script below, the problem occurs.
#!/bin/sh cat <<EOF Status: 200 OK Content-Type: text/html Stuff EOF
Somehow the name of the cgi script is messing up lighttpd.

