The "ikwiki.cgi?page=index&do=edit" function has a problem when running with [[debpkg thttpd]] or [[debpkg mini-httpd]]: for some reason the headers ikiwiki outputs are transmitted as the page content. Surprisingly, the "do=prefs" function works as expected. Here is what it looks like in iceweasel: Set-Cookie: ikiwiki_session_apnkit=99dad8d796bc6c819523649ef25ea447; path=/ Date: Tue, 14 Aug 2007 17:16:32 GMT Content-Type: text/html; charset=utf-8 (...) Ikiwiki runs fine with [[debpkg boa]]. --[[JeremieKoenig]] It doesn't work for signin either. What is the reason for these "header => 1" in FormBuilder initialisations? Why do they appear two times with conflicting values in the very same hashes? --[[JeremieKoenig]] > Clearly those duplicate header settings are a mistake. But in all cases, the > `header => 0` came second, so it _should_ override the other value and > can't be causing this problem. (cgi_signin only sets it to 0, too). > > What version of formbuilder are you using? If you run ikiwiki.cgi at the > command line, do you actually see duplicate headers? I don't: joey@kodama:~/html>REQUEST_METHOD=GET QUERY_STRING="page=index&do=edit" ./ikiwiki.cgi Set-Cookie: ikiwiki_session_joey=41a847ac9c31574c1e8f5c6081c74d12; path=/ Date: Tue, 14 Aug 2007 18:04:06 GMT Content-Type: text/html; charset=utf-8 Do thttpd and mini-httpd perhaps not realize that Set-Cookis is the start of > the headers? --[[Joey]] >> Thanks for your help: I think I found the problem! >> Ikiwiki outputs (in my case) the following >> error message on stderr, followed by an empty line: /srv/ikiwiki/wc/index.mdwn: (Not a versioned resource) >> Probably thttpd and mini-httpd read stderr as well as stdout, while apache >> and boa don't. When using a shell-script wrapper as the CGI, >> which redirects ikiwiki's error output to /dev/null, it works better. >> The edit still fails to commit, because in my wiki, index.mdwn is >> pulled from the base wiki and somehow ikiwiki wants to change it >> rather that create it. >> --[[JeremieKoenig]] >>> If thttpd and mini-httpd interpret CGI's stderr as stdout, then >>> they're not properly following the CGI spec, and will break with tons >>> of cgi scripts besides ikiwiki. And of course there are many many cases >>> where ikiwiki might output to stderr, and that's the right thing to do. >>> So I don't see any way to address this in ikiwiki. --[[Joey]] >>>> (reported as [[debbug 437927]] and [[debbug 437932]]) --[[JeremieKoenig]] Marking [[done]] since it's not really an ikiwiki bug. --[[Joey]]