Fossil SCM
Update Apache mod_cgi/Content-Length documentation.
Commit
05181e4e15a7db4a21ce02648c2713d0b17412006e7b86a67f17218a772d0496
Parent
a8e33fb161f45b6…
1 file changed
+20
-11
+20
-11
| --- www/server/any/cgi.md | ||
| +++ www/server/any/cgi.md | ||
| @@ -91,16 +91,25 @@ | ||
| 91 | 91 | |
| 92 | 92 | *[Return to the top-level Fossil server article.](../)* |
| 93 | 93 | |
| 94 | 94 | #### Apache mod_cgi and `CONTENT_LENGTH` |
| 95 | 95 | |
| 96 | -Sometime in version 2.4, Apache's `mod_cgi` stopped passing on the | |
| 97 | -`CONTENT_LENGTH` CGI variable to clients, which breaks fossil's sync | |
| 98 | -protocol. In order to restore that functionality, clients need to add | |
| 99 | -the following to their Apache configuration, scoped to the `<Directory>` | |
| 100 | -entry or entries in which fossil is being served via CGI: | |
| 101 | - | |
| 102 | -``` | |
| 103 | -<Directory ...> | |
| 104 | - SetEnv ap_trust_cgilike_cl "yes" | |
| 105 | -</Directory> | |
| 106 | -``` | |
| 96 | +Sometime around version 2.4, Apache's `mod_cgi` stopped relaying the | |
| 97 | +Content-Length header in the HTTP reply from CGIs back to clients. | |
| 98 | +However, Fossil clients prior to 2024-04-17 depending on seeing the | |
| 99 | +Content-Length header and were unable to handle HTTP replies without | |
| 100 | +one. The change in Apache behavior caused "fossil clone" and "fossil sync" | |
| 101 | +to stop working. There are two possible fixes to this problem: | |
| 102 | + | |
| 103 | + 1. Restore legacy behavior in Apache by adding | |
| 104 | + the following to the Apache configuration, scoped to the `<Directory>` | |
| 105 | + entry or entries in which fossil is being served via CGI: | |
| 106 | + <blockquote><pre> | |
| 107 | + <Directory ...> | |
| 108 | + SetEnv ap_trust_cgilike_cl "yes" | |
| 109 | + </Directory> | |
| 110 | + </pre></blockquote> | |
| 111 | + | |
| 112 | + 2. Upgrade your Fossil client to any trunk check-in after 2024-04-17, | |
| 113 | + as Fossil was upgraded to be able to deal with the missing | |
| 114 | + Content-Length field by | |
| 115 | + [check-in a8e33fb161f45b65](/info/a8e33fb161f45b65). | |
| 107 | 116 |
| --- www/server/any/cgi.md | |
| +++ www/server/any/cgi.md | |
| @@ -91,16 +91,25 @@ | |
| 91 | |
| 92 | *[Return to the top-level Fossil server article.](../)* |
| 93 | |
| 94 | #### Apache mod_cgi and `CONTENT_LENGTH` |
| 95 | |
| 96 | Sometime in version 2.4, Apache's `mod_cgi` stopped passing on the |
| 97 | `CONTENT_LENGTH` CGI variable to clients, which breaks fossil's sync |
| 98 | protocol. In order to restore that functionality, clients need to add |
| 99 | the following to their Apache configuration, scoped to the `<Directory>` |
| 100 | entry or entries in which fossil is being served via CGI: |
| 101 | |
| 102 | ``` |
| 103 | <Directory ...> |
| 104 | SetEnv ap_trust_cgilike_cl "yes" |
| 105 | </Directory> |
| 106 | ``` |
| 107 |
| --- www/server/any/cgi.md | |
| +++ www/server/any/cgi.md | |
| @@ -91,16 +91,25 @@ | |
| 91 | |
| 92 | *[Return to the top-level Fossil server article.](../)* |
| 93 | |
| 94 | #### Apache mod_cgi and `CONTENT_LENGTH` |
| 95 | |
| 96 | Sometime around version 2.4, Apache's `mod_cgi` stopped relaying the |
| 97 | Content-Length header in the HTTP reply from CGIs back to clients. |
| 98 | However, Fossil clients prior to 2024-04-17 depending on seeing the |
| 99 | Content-Length header and were unable to handle HTTP replies without |
| 100 | one. The change in Apache behavior caused "fossil clone" and "fossil sync" |
| 101 | to stop working. There are two possible fixes to this problem: |
| 102 | |
| 103 | 1. Restore legacy behavior in Apache by adding |
| 104 | the following to the Apache configuration, scoped to the `<Directory>` |
| 105 | entry or entries in which fossil is being served via CGI: |
| 106 | <blockquote><pre> |
| 107 | <Directory ...> |
| 108 | SetEnv ap_trust_cgilike_cl "yes" |
| 109 | </Directory> |
| 110 | </pre></blockquote> |
| 111 | |
| 112 | 2. Upgrade your Fossil client to any trunk check-in after 2024-04-17, |
| 113 | as Fossil was upgraded to be able to deal with the missing |
| 114 | Content-Length field by |
| 115 | [check-in a8e33fb161f45b65](/info/a8e33fb161f45b65). |
| 116 |