Commit graph

126 commits

Author SHA1 Message Date
Moonchild
911270ea60 Issue #80 - De-unify smaller netwerk/protocol components
- data
- device
- file
- viewsource
- wyciwyg
2020-05-23 06:52:01 +08:00
Moonchild
60b7d2e259 Issue #80 - De-unify netwerk/protocol/about 2020-05-23 06:51:57 +08:00
wolfbeast
4337a5f1a8 Issue #1505 - Part 3: Make native mode actually native again. 2020-04-11 09:40:32 +08:00
wolfbeast
11f8f80826 Issue #1505 - Part 2: Store application build ID in nsHttpHandler
Since we're needing to reuse this several times, it makes it simpler to
just get it once in init and storing it.
2020-04-11 09:40:31 +08:00
wolfbeast
41a3028a67 Issue #1505 - Rebuild application version string
To respond dynamically to the pref change, the mAppVersion string needs
to be rebuilt.
Includes some minor improvements for corner cases and removes leftover
b2g junk.
2020-04-11 09:40:30 +08:00
wolfbeast
052b2e70a3 Issue #1280 - Un-bust certerror pages and ForgetAboutSite 2020-04-03 09:30:07 +08:00
JustOff
6aa52af7ac Issue #1473 - Fix building %OS_SLICE% on non-Windows platforms 2020-04-03 09:26:52 +08:00
JustOff
4f0a0c4606 Issue #1482 - Give dynamic SSUAO rules priority over static ones 2020-03-20 08:58:11 +08:00
JustOff
efb161c255 Issue #1053 - Remove no longer used function and modules from UserAgentUpdates.jsm 2020-03-13 10:24:01 +08:00
JustOff
0333159186 Issue #1473 - Add %OS_SLICE% macro to SSUAO to refine OS info 2020-03-13 10:23:59 +08:00
Matt A. Tobin
bb8b180863 Issue #1053 - Remove android support from netwerk/protocol/http/nsHttpHandler.cpp 2020-02-27 07:31:16 +08:00
Matt A. Tobin
93a435ae22 Issue #1053 - Remove android support from netwerk 2020-02-27 07:31:14 +08:00
wolfbeast
47cc63bc6c [Network] Bump http channel default Firefox CompatMode init value. 2020-02-14 22:46:00 +08:00
New Tobin Paradigm
57809c759f Fix preprocessor directive in UserAgentUpdates.jsm 2020-02-07 07:56:01 +08:00
Matt A. Tobin
ef27cc7fd0 Issue #65 - Remove AppConstants from netwerk/ 2020-02-07 07:52:32 +08:00
athenian200
0fbfd09291 Fix whitespace. 2020-01-31 07:34:08 +08:00
athenian200
bd714bc690 Issue #1349 - Stop 2xx FTP responses from causing browser to hang.
LIST and RETR still appear to work as intended on ftp:// URLs after my changes. I wasn't able to test STOR because the browser doesn't appear to support FTP uploads at this time (although our FTP implementation appears perfectly capable of doing an FTP upload.)

If I understood the issue correctly, though, what we're doing is ensuring that we receive a preliminary 100 response from the FTP server for a given action before jumping to the 200 code describing what we do if the action was completed. Even though it makes no logical sense for a server to say an action was completed before it was initiated, someone could write a really annoying FTP server that takes advantage of this fact to crash the browser if they wanted.
2020-01-31 07:34:06 +08:00
wolfbeast
c8f73fb28e No issue - Fix unsafe http methods on HTTP/2 with TLSv1.3 0RTT. 2020-01-24 09:10:40 +08:00
wolfbeast
d43f7275d0 Handle missing base64 challenge in NegotiateAuth and NTLMAuth. 2020-01-10 17:07:02 +08:00
Gaming4JC
eb555aaa47 Issue #1288 - Use NS_DECL_THREADSAFE_ISUPPORTS in HttpBaseChannel.cpp
Fixes a regression in Part 1b which caused HTML5 parser to fall off the main thread.
2019-11-22 10:45:19 +08:00
wolfbeast
fe92ae641a Issue #1275 - Add pref to disable warning prompts for SuperfluousAuth
and AutomaticAuth, and default to not prompting.

This resolves #1275.
2019-11-08 09:38:17 +08:00
wolfbeast
96cb9e1c39 Add null check in Http2Session::RecvAltSvc 2019-10-25 12:00:14 +08:00
win7-7
e6f376f5ef Convert dom/base/nsImageLoadingContent.cpp to use AsyncOpen2 and followups along with it (1445670 and 1373780 part 2 and 3)
Convert dom/base/nsImageLoadingContent.cpp to use AsyncOpen2 and followups along with it (1445670 and 1373780 part 2 and 3)
2019-08-10 06:26:08 +08:00
wolfbeast
8346f7c082 Implement a threadsafe & revised version of http2PushedStream.
This re-applies the patch for this with added typename declaration.
2019-07-22 19:56:01 +08:00
wolfbeast
6666e772e0 Revert "Implement a threadsafe & revised version of http2PushedStream."
Backed out because of gcc build failures.

This reverts commit 66fae1d81013a2321e7d607a426f834a01b847ce.
2019-07-22 19:55:58 +08:00
Honza Bambas
2b7e8039f2 Bug 1548822. 2019-07-22 19:45:14 +08:00
wolfbeast
4e15e1fec0 Check port safety for AltSvc 2019-07-22 19:44:59 +08:00
Honza Bambas
31b1431ea1 Bug 1550498. 2019-07-20 06:25:25 +08:00
wolfbeast
28e15ed590 Implement a threadsafe & revised version of http2PushedStream. 2019-07-19 10:04:43 +08:00
wolfbeast
8ad0b46284 Block http auth prompt for cross-origin image subresources by default.
Still allow this to be bypassed with a pref for those really rare corner
cases where images are loaded cross-origin by design and the session
hasn't been/can't be authenticated ahead of time.
2019-07-19 10:03:21 +08:00
wolfbeast
e9a87c9cb0 Convert UI-dictating FTP errors to console errors. 2019-03-29 22:21:48 +08:00
wolfbeast
0363b2d358 Return proper error if the nss layer encounters an error on the http
tunnel.
2019-03-23 06:45:32 +08:00
wolfbeast
ad188bf3c0 Close the transaction if PR_Read/PR_Write failed.
When PR_Read/PR_White returns -1, we have to use ErrorAccordingToNSPR
to get the error code.
We need to close the transaction if a real error happens.
2019-03-23 06:44:27 +08:00
wolfbeast
c8412ad501 Part 1: network component changes. 2019-03-16 07:02:11 +08:00
adeshkp
a8a28d4537 Make AllowExperiments return false as it is not useful without telemetry 2019-02-16 00:24:08 +08:00
adeshkp
aea50f182f Telemetry: Remove stubs and related code 2019-02-16 00:24:04 +08:00
wolfbeast
27d88fc505 Do not report resource-timing subdocument loads triggered by that subdocument. 2019-02-16 00:22:18 +08:00
wolfbeast
2057017d69 Add a nullcheck on pipelined HTTP connections' pushback. 2019-02-16 00:20:06 +08:00
wolfbeast
a56a6ca1d1 #863 Part 1: Make sending of http upgrade-insecure-requests optional
Defaults to false if not configured.
2019-02-16 00:19:00 +08:00
wolfbeast
e53942ffe8 Backout opportunistic encryption changes.
Apparently there is some functional and naming confusion here.
Backing out to re-land after evaluation and possible changes.
Tag #863.
2019-02-16 00:18:57 +08:00
wolfbeast
363a47c4c1 Make opportunistic encryption configurable.
This adds a pref "network.http.opportunistic-encryption" that controls whether
we send an "Upgrade-Insecure-Requests : 1" header on document navigation or not.
This patch modifies the platform network parts. Default for the platform is "true".
Part 1 for #863
2019-02-16 00:18:51 +08:00
wolfbeast
a85f7277af Make HTTP/2 compressor more resilient to bad data. 2019-02-16 00:18:21 +08:00
Gaming4JC
30797d4da8 backport mozbug 1334776 - CVE-2017-7797 Header name interning leaks across origins
Potential attack: session supercookie.

[Moz Notes](https://bugzilla.mozilla.org/show_bug.cgi?id=1334776#c5):
"The problem is that for unknown header names we store the first one we see and then later we case-insensitively match against that name *globally*. That means you can track if a user agent has already seen a certain header name used (by using a different casing and observing whether it gets normalized). This would allow you to see if a user has used a sensitive service that uses custom header names, or allows you to track a user across sites, by teaching the browser about a certain header case once and then observing if different casings get normalized to that.

What we should do instead is only store the casing for a header name for each header list and not globally. That way it only leaks where it's expected (and necessary) to leak."

[Moz fix note](https://bugzilla.mozilla.org/show_bug.cgi?id=1334776#c8):
"nsHttpAtom now holds the old nsHttpAtom and a string that is case sensitive (only for not standard headers).
So nsHttpAtom holds a pointer to a header name. (header names are store on a static structure). This is how it used to be. I left that part the same but added a nsCString which holds a string that was used to resoled the header name. So when we parse headers we call ResolveHeader with a char*. If it is a new header name the char* will be stored in a HttpHeapAtom, nsHttpAtom::_val will point to HttpHeapAtom::value and the same strings will be stored in mLocalCaseSensitiveHeader. For the first resolve request they will be the same but for the following maybe not. At the end this nsHttpAtom will be stored in nsHttpHeaderArray. For all operation we will used the old char* except when we are returning it to a script using VisitHeaders."
2019-02-16 00:14:28 +08:00
Gaming4JC
de28886722 backport mozbug 1444532 - fix a leak in SHA256 in nsHttpConnectionInfo.cpp r=mayhemer
The original code (from bug 1200802) declared an XPCOM object as a static bare pointer,
which for future reference is probably never the right thing to do. It might have worked if
it was cleared before shutdown but it never was.
2019-02-16 00:14:27 +08:00
wolfbeast
07df2cf12a Add a null check in nsHttpTransaction::Close.
This resolves #776.
2019-02-16 00:14:04 +08:00
wolfbeast
8c8145e620 Remove all C++ Telemetry Accumulation calls.
This creates a number of stubs and leaves some surrounding code that may be irrelevant (eg. recorded time stamps, status variables).
Stub resolution/removal should be a follow-up to this.
2019-02-16 00:12:32 +08:00
JustOff
16820f40ac Refresh nsStringBundleService and nsHttpHandler when the browser locale is changed 2019-02-16 00:12:09 +08:00
SpockMan02
d330e7e8fc Issue #686: Un-deprecate the Application Cache API 2019-02-16 00:10:43 +08:00
janekptacijarabaci
acb5d5839b Fixed misleading console error message for multiple CORS headers 2019-02-16 00:10:27 +08:00
wolfbeast
7b82a2ece4 Remove SSL Error Reporting telemetry 2019-02-16 00:06:16 +08:00