]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/bugs/CGI_problem_with_some_webservers.mdwn
Found fix to problem under boa, added details and request for etiquette guidance.
[git.ikiwiki.info.git] / doc / bugs / CGI_problem_with_some_webservers.mdwn
index 158aa5265ad5d19048efecd89780772e559845b0..7cfc537417f89d640994e40cf71853c926dea11b 100644 (file)
@@ -1,5 +1,5 @@
 The "ikwiki.cgi?page=index&do=edit" function has a problem
-when running with [[debpkg thttpd]] or [[debpkg mini-httpd]]:
+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.
@@ -15,6 +15,79 @@ Here is what it looks like in iceweasel:
     <html>
     (...)
 
-Ikiwiki runs fine with [[debpkg boa]].
+Ikiwiki runs fine with [[!debpkg boa]].
 
---[[JeremieKoenig]]
\ No newline at end of file
+--[[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
+       
+       <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+
+> 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]]
+
+I'm getting some odd behaviour with boa.  When I edit a page and click "Save
+Page", the URL I get taken to produces a 403 - Forbidden error until I recompile
+the wiki.  For example, after editing the root page of the wiki it brings me back to
+`http://localhost/~pdw/iki/?updated`, and I see a 403 error message.  Then, if
+I open up a terminal and type `ikiwiki --setup ikiwiki.setup`, and then go back
+to the browser and hit Ctrl-R, the page displays correctly, with the same URL
+that gave an error a moment ago.  This is with boa 0.94.14rc21-3 and Firefox
+3.0.11 on Ubuntu 9.04.  I get the feeling I'm doing something wrong somewhere;
+any suggestions where to start looking?  This is a very basic setup, so feel
+free to ask. --Paul
+
+Tried setting up a git repository back-end for the wiki, in case the `post-update`
+hook caused the right updates to happen; it didn't.  (But I do now have my wiki
+in git!)
+
+Turns out that `.../destdir/index.html` was being recreated after a web edit, or
+at least having its permissions modified, and being left without world-read
+permissions.  Boa was then rightly refusing to serve the page.  Adding the
+`umask 022` config option to `ikiwiki.setup` fixed everything, and all
+appears to be working fine now.  --Paul.
+
+(I'm new to wiki etiquette - would it be more polite to leave these details on the
+wiki, or to remove them and only leave a short summary?  Thanks.  --Paul)