Bug #1858
closedmod_upload_progress does not handle connection reset
Description
mod_upload_progress does not handle connection reset (for example, when client closes browser window). After connection reset mod_upload_progress GET progress-url could output random progress on reset connection. This happens because after connection reset
connection_map_entry->con
could point do different connection.
Attaching two patches, to reproduce problem and to fix.
To reproduce problem:¶
1. apply repr.diff
2. start lighttpd with config testing/l.conf
3. run testing/get.py script
4. open http://server:10103/up.html in browser, and submit large file
5. interrupt uploading by closing browser window
Lighttpd will exit(1), because GET /process finds current connection in connection map, that must not occur.
Files
Updated by stepancheg almost 16 years ago
Seems like we've forgotten about timeouts in fix.diff.
Updated by icy almost 16 years ago
- Status changed from New to Assigned
- Assignee set to stbuehler
Very nice bug report. Thank you stepancheng!
Did you use the latest revision while developing the patches? Always helpful to know the rev. :)
Updated by stepancheg almost 16 years ago
icy wrote:
Did you use the latest revision while developing the patches? Always helpful to know the rev. :)
We use trunk, yes. Tested on r2367.
Updated by stepancheg almost 16 years ago
stepancheg wrote:
Seems like we've forgotten about timeouts in fix.diff.
I lied. We did NOT forget about timeouts, sorry.
Updated by stepancheg almost 16 years ago
In fix.diff we've set hooks on both connection_close and conneciton_reset, because connection_reset hook is not called on connection interruption while uploading. We believe, it is a bug.
Also available in: Atom