Commit graph

134 commits

Author SHA1 Message Date
wolfbeast
96cb9e1c39 Add null check in Http2Session::RecvAltSvc 2019-10-25 12:00:14 +08:00
wolfbeast
06634f6495 Issue #1134: Reinstate postDataString for about:home searches. 2019-08-17 13:31:01 +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
wolfbeast
a10e2214ee Do not allow the ^ character to appear in the hostname. 2019-07-22 19:45:20 +08:00
Honza Bambas
2b7e8039f2 Bug 1548822. 2019-07-22 19:45:14 +08:00
wolfbeast
64191e15cb Treat all file: URIs as having a unique origin.
This prevents cross-file access from files loaded into the browser from
the local file system, further restricting the origin policy of file:
URIs.

Added a pref to control this behavior for local file access if required
for certain applications, since this change might break using the
browser to run applications on the local file system that require
access to local files.
2019-07-22 19:45:02 +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
797f3eae35 Add preference to allow the loading of FTP subresources for corner cases 2019-07-19 10:03:17 +08:00
Matt A. Tobin
cc3e413793 Remove deprecated appending of #-moz-resolution from Pale Moon and left over from nsMediaFragmentURIParser.h
This also magically makes Aero Peek work properly with Pale Moon thus:

Resolves #809
2019-05-17 22:16:24 +08:00
Ascrod
3da26ba9e3 Issue #991 Part 4: Network and URILoader 2019-04-27 08:21:53 +08:00
wolfbeast
83ab16d267 Remove some BEOS 1st party code leftovers. 2019-04-19 09:34:04 +08:00
wolfbeast
fdc5d93422 Remove some HPUX leftovers.
Resolves #185
2019-04-04 20:26:43 +08:00
wolfbeast
f6f11db550 WebRTC: Add explicit mutex on callback receiver for cases it's not
already locked.
2019-03-29 22:22:05 +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
f8d473c3c9 Remove unused SSL errorReporting prefs
Resolves #1003.
2019-03-16 07:02:44 +08:00
wolfbeast
da3763b0a7 Part 2: Add tests
Tag #993.
2019-03-16 07:02:15 +08:00
wolfbeast
c8412ad501 Part 1: network component changes. 2019-03-16 07:02:11 +08:00
wolfbeast
8797f07375 Expose TLS 1.3 cipher suite prefs. 2019-02-16 00:28:17 +08:00
wolfbeast
c15f982d7a Use existing image decoders to handle clipboard BMP data.
This gets rid of the old nsImageClipboard widget code in favor of using
the nsBMPDecoder in imglib.
2019-02-16 00:28:11 +08:00
wolfbeast
dbe5dd5e2a Never let "localhost" get sent to a proxy.
Also make "No proxy for" editable always when usable.
2019-02-16 00:28:08 +08:00
wolfbeast
39d5eb7759 Remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS 2019-02-16 00:27:49 +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
22772136d7 WebRTC: Drop DataChannelListener on Destroy(). 2019-02-16 00:18:32 +08:00
wolfbeast
a9b20e6dc7 Remove Query/Ref from the directory listing URI.
Port of Bug 1488061.
2019-02-16 00:18:28 +08:00
wolfbeast
a85f7277af Make HTTP/2 compressor more resilient to bad data. 2019-02-16 00:18:21 +08:00
Gaming4JC
6d3168b74b backport m-c bug 1333172 - Avoid 1100 warnings by replacing NS_ENSURE_SUCCESS in nsNetUtilInlines.h:180 2019-02-16 00:16:24 +08:00
Gaming4JC
961f369d66 backport m-c bug 1333174 - Don't use NS_ENSURE_SUCCESS at nsIOService:793
Log spam fix. Suppresses 1,100 instances of NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80520012 emitted from netwerk/base/nsIOService.cpp during linux64 debug testing. Backports [m-c 1333174](https://bugzilla.mozilla.org/show_bug.cgi?id=1333174).
2019-02-16 00:16:22 +08:00
wolfbeast
4e119039ec Remove telemetry from cache v1 service locking (part2).
- Fold Lock(TelemetryID) into Lock();
- Fold nsCacheServiceAutoLock(TelemetryID) into nsCacheServiceAutoLock();

Tag #21.
2019-02-16 00:15:00 +08:00
wolfbeast
e0caf31e61 Remove telemetry from cache v1 service locking (part1).
Tag #21.
2019-02-16 00:14:58 +08:00
wolfbeast
62f3738128 Remove unused telemetry functions/variables.
Tag #21.
2019-02-16 00:14:57 +08:00
wolfbeast
775dc680e9 Remove cache I/O telemetry.
Tag #21.
2019-02-16 00:14:55 +08:00
wolfbeast
b882e7c6be Remove telemetry probes to get detailed disk cache hit rate.
Tag #21.
2019-02-16 00:14:54 +08:00
wolfbeast
e87890d893 Remove telemetry probes for cache file system. 2019-02-16 00:14:52 +08:00
wolfbeast
57251fc4e7 Clean up a number of unused variables.
Tag #21.
2019-02-16 00:14:50 +08:00
wolfbeast
f019ffbb0b Remove telemetry to find optimal cache entry hash size
Tag #21.
2019-02-16 00:14:40 +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