diff options
Diffstat (limited to 'gnu/packages/patches/icecat-CVE-2014-8639.patch')
-rw-r--r-- | gnu/packages/patches/icecat-CVE-2014-8639.patch | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/gnu/packages/patches/icecat-CVE-2014-8639.patch b/gnu/packages/patches/icecat-CVE-2014-8639.patch deleted file mode 100644 index 2610765f43..0000000000 --- a/gnu/packages/patches/icecat-CVE-2014-8639.patch +++ /dev/null @@ -1,92 +0,0 @@ -From f80b2eefd451b8ed0fd783d9b9ed0412c8d46efd Mon Sep 17 00:00:00 2001 -From: Patrick McManus <mcmanus@ducksong.com> -Date: Thu, 11 Dec 2014 13:55:16 -0500 -Subject: [PATCH] bug 1095859 - proxy tweak r=valentin.gosu a=bkerensa - ---- - netwerk/protocol/http/nsHttpChannel.cpp | 7 ++++++- - netwerk/test/unit/test_auth_proxy.js | 29 +++++++++++++++++++++++++++++ - 2 files changed, 35 insertions(+), 1 deletion(-) - -diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp -index f20e033..35e71c7 100644 ---- a/netwerk/protocol/http/nsHttpChannel.cpp -+++ b/netwerk/protocol/http/nsHttpChannel.cpp -@@ -1237,7 +1237,12 @@ nsHttpChannel::ProcessResponse() - // notify "http-on-examine-response" observers - gHttpHandler->OnExamineResponse(this); - -- SetCookie(mResponseHead->PeekHeader(nsHttp::Set_Cookie)); -+ // Cookies should not be handled on proxy failure either. -+ // This would be consolidated with ProcessSecurityHeaders but it should -+ // happen after OnExamineResponse. -+ if (!mTransaction->ProxyConnectFailed() && (httpStatus != 407)) { -+ SetCookie(mResponseHead->PeekHeader(nsHttp::Set_Cookie)); -+ } - - // handle unused username and password in url (see bug 232567) - if (httpStatus != 401 && httpStatus != 407) { -diff --git a/netwerk/test/unit/test_auth_proxy.js b/netwerk/test/unit/test_auth_proxy.js -index 6af4e98..9275d6d 100644 ---- a/netwerk/test/unit/test_auth_proxy.js -+++ b/netwerk/test/unit/test_auth_proxy.js -@@ -172,6 +172,12 @@ var listener = { - // If we expect 200, the request should have succeeded - do_check_eq(this.expectedCode == 200, request.requestSucceeded); - -+ var cookie = ""; -+ try { -+ cookie = request.getRequestHeader("Cookie"); -+ } catch (e) { } -+ do_check_eq(cookie, ""); -+ - } catch (e) { - do_throw("Unexpected exception: " + e); - } -@@ -261,6 +267,25 @@ function test_all_ok() { - do_test_pending(); - } - -+function test_proxy_407_cookie() { -+ var chan = makeChan(); -+ chan.notificationCallbacks = new Requestor(FLAG_RETURN_FALSE, 0); -+ chan.setRequestHeader("X-Set-407-Cookie", "1", false); -+ listener.expectedCode = 407; // Proxy Unauthorized -+ chan.asyncOpen(listener, null); -+ -+ do_test_pending(); -+} -+ -+function test_proxy_200_cookie() { -+ var chan = makeChan(); -+ chan.notificationCallbacks = new Requestor(0, 0); -+ chan.setRequestHeader("X-Set-407-Cookie", "1", false); -+ listener.expectedCode = 200; // OK -+ chan.asyncOpen(listener, null); -+ do_test_pending(); -+} -+ - function test_host_returnfalse() { - dump("\ntest: host returnfalse\n"); - var chan = makeChan(); -@@ -301,6 +326,7 @@ function test_proxy_wrongpw_host_returnfalse() { - } - - var tests = [test_proxy_returnfalse, test_proxy_wrongpw, test_all_ok, -+ test_proxy_407_cookie, test_proxy_200_cookie, - test_host_returnfalse, test_host_wrongpw, - test_proxy_wrongpw_host_wrongpw, test_proxy_wrongpw_host_returnfalse]; - -@@ -331,6 +357,9 @@ function proxyAuthHandler(metadata, response) { - "Unauthorized by HTTP proxy"); - response.setHeader("Proxy-Authenticate", - 'Basic realm="' + realm + '"', false); -+ if (metadata.hasHeader("X-Set-407-Cookie")) { -+ response.setHeader("Set-Cookie", "chewy", false); -+ } - body = "failed"; - response.bodyOutputStream.write(body, body.length); - } --- -2.1.2 - |