webapp: Work around bug in Warp's slowloris attack prevention code, that caused regular browsers to stall when they reuse a connection after leaving it idle for 30 seconds. (See https://github.com/yesodweb/wai/issues/146)
This commit is contained in:
parent
0155f1effa
commit
3e32bb41f6
3 changed files with 12 additions and 1 deletions
|
@ -56,9 +56,14 @@ browserCommand = "xdg-open"
|
||||||
runWebApp :: Wai.Application -> (SockAddr -> IO ()) -> IO ()
|
runWebApp :: Wai.Application -> (SockAddr -> IO ()) -> IO ()
|
||||||
runWebApp app observer = do
|
runWebApp app observer = do
|
||||||
sock <- localSocket
|
sock <- localSocket
|
||||||
void $ forkIO $ runSettingsSocket defaultSettings sock app
|
void $ forkIO $ runSettingsSocket webAppSettings sock app
|
||||||
observer =<< getSocketName sock
|
observer =<< getSocketName sock
|
||||||
|
|
||||||
|
webAppSettings = defaultSettings
|
||||||
|
-- disable buggy sloworis attack prevention code
|
||||||
|
{ settingsTimeout = 30 * 60
|
||||||
|
}
|
||||||
|
|
||||||
{- Binds to a local socket, selecting any free port.
|
{- Binds to a local socket, selecting any free port.
|
||||||
-
|
-
|
||||||
- Prefers to bind to the ipv4 address rather than the ipv6 address
|
- Prefers to bind to the ipv4 address rather than the ipv6 address
|
||||||
|
|
4
debian/changelog
vendored
4
debian/changelog
vendored
|
@ -36,6 +36,10 @@ git-annex (4.20130228) UNRELEASED; urgency=low
|
||||||
* assistant: Sync with all git remotes on startup.
|
* assistant: Sync with all git remotes on startup.
|
||||||
* Switch from using regex-compat to regex-tdfa, as the C regex library
|
* Switch from using regex-compat to regex-tdfa, as the C regex library
|
||||||
is rather buggy.
|
is rather buggy.
|
||||||
|
* webapp: Work around bug in Warp's slowloris attack prevention code,
|
||||||
|
that caused regular browsers to stall when they reuse a connection
|
||||||
|
after leaving it idle for 30 seconds.
|
||||||
|
(See https://github.com/yesodweb/wai/issues/146)
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Wed, 27 Feb 2013 23:20:40 -0400
|
-- Joey Hess <joeyh@debian.org> Wed, 27 Feb 2013 23:20:40 -0400
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,8 @@ Hypotheses:
|
||||||
|
|
||||||
**Verified** Bug filed upstream: <https://github.com/yesodweb/wai/issues/146>
|
**Verified** Bug filed upstream: <https://github.com/yesodweb/wai/issues/146>
|
||||||
|
|
||||||
|
** workaround in place **
|
||||||
|
|
||||||
* Something deep in git-annex, such as the inotidy code, could be
|
* Something deep in git-annex, such as the inotidy code, could be
|
||||||
preventing a web server thread from running. But then why do other
|
preventing a web server thread from running. But then why do other
|
||||||
tabs and other web browsers work while it's stuck?
|
tabs and other web browsers work while it's stuck?
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue