From: https://www.google.com/accounts/o8/id?id=AItOawkARRfU19FmAvBQJ0zR_vlTi_KEiL9meFE Date: Tue, 16 Aug 2011 13:13:28 +0000 (-0400) Subject: more details; point to apache sources where line is apparently truncated X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=2ca518d39062087d0ff807151c066696e9429fcd;p=ikiwiki.git more details; point to apache sources where line is apparently truncated --- diff --git a/doc/forum/error_302___40__Found__41___when_editing_page.mdwn b/doc/forum/error_302___40__Found__41___when_editing_page.mdwn index 28093f92b..fb1a0a27b 100644 --- a/doc/forum/error_302___40__Found__41___when_editing_page.mdwn +++ b/doc/forum/error_302___40__Found__41___when_editing_page.mdwn @@ -27,3 +27,31 @@ So I added this to Apache's config (std Debian 6.0): But I'm still getting the same error. Any suggestions? + + +**Update 2011-08-16:** +[This bug report](https://bugzilla.mozilla.org/show_bug.cgi?id=513989) +shows the exact same symptoms; the solution they adopted is to not +perform the redirect when the URL length exceeds the default Apache +value of 8190. + +Regarding Apache limits: apparently, Apache (as of version 2.2.17) +only applies the `LimitRequestLine` and `LimitRequestFiledsize` in +client HTTP transactions; when dealing with the HTTP responses +generated by CGI scripts, the code from `server/util_script.c` +applies: (function `ap_scan_script_header_err_core`, lines 403--433) + + char x[MAX_STRING_LEN]; + char *w, *l; + [...] + if (buffer) { + *buffer = '\0'; + } + w = buffer ? buffer : x; + [...] + while (1) { + int rv = (*getsfunc) (w, MAX_STRING_LEN - 1, getsfunc_data); + +where `MAX_STRING_LEN` is defined in `httpd.h` to be equal to +`HUGE_STRING_LEN`, that is, 8192. +