Project

General

Profile

Actions

Bug #1858

closed

mod_upload_progress does not handle connection reset

Added by stepancheg almost 16 years ago. Updated over 8 years ago.

Status:
Obsolete
Priority:
Normal
Category:
mod_uploadprogress
Target version:
ASK QUESTIONS IN Forums:

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

repr.diff (13 KB) repr.diff How to reproduce stepancheg, 2008-12-24 17:44
fix.diff (1.76 KB) fix.diff How to fix stepancheg, 2008-12-24 17:44
Actions #1

Updated by stepancheg almost 16 years ago

Seems like we've forgotten about timeouts in fix.diff.

Actions #2

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. :)

Actions #3

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.

Actions #4

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.

Actions #5

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.

Actions #6

Updated by icy almost 16 years ago

  • Target version set to 1.5.0
Actions #7

Updated by stbuehler almost 10 years ago

  • Assignee deleted (stbuehler)
Actions #8

Updated by gstrauss over 8 years ago

  • Missing in 1.5.x set to Yes
Actions #9

Updated by gstrauss over 8 years ago

  • Status changed from Assigned to Obsolete
Actions

Also available in: Atom