libsoup doesn't handle asynchronous error responses
Submitted by David Schleef
Assigned to libsoup-maint@gnome.bugs
Link to original bug (#697462)
Description
I'm running into a problem POSTing large files to a Jetty server with digest authentication. What is happening:
- (stuff happens successfully, generating authentication callbacks, etc.)
- time passes
- POST starts with an expired nonce
- After a few kB get uploaded, Jetty responds with a 401
- Upload continues until it completes.
- libsoup reads the 401 response
- upload restarts, usually successfully completing
(As a separate issue, I've noticed that sometimes it keeps retrying, but I think that's unrelated.)
Using 100-continue does not help, as Jetty simply returns 100 without checking the authorization, so you get the same cycle as above.