These prefs were mostly a perf improvement - return the first address family
first then merge the result with the other family.
However, this turned out to cause intermittent issues on some sites, so it
was turned off by default.
Removing these prefs allows us to have the same functionality across all
our resolvers - one request means one callback after both A and AAAA responses
have been received.
Differential Revision: https://phabricator.services.mozilla.com/D99757
Calling c->remove() will remove the entry from rec->mCallbacks and could
potentially release the object (if this is the last reference).
While unlikely, it's best to avoid this corner case.
Differential Revision: https://phabricator.services.mozilla.com/D99756
Apparently, some VPN software also manipulate PAC url in system settings. In this case, the PAC url may not be available when we detect the network change, so this patch introduce a pref for adding a delay before reloading the PAC.
Differential Revision: https://phabricator.services.mozilla.com/D104449
- Pass status code to cancelled TRR channels
- When TRR timer expires, use NS_ERROR_NET_TIMEOUT_EXTERNAL
- When TRR is cancelled by nsHostResolver use NS_ERROR_ABORT
- Only call TRRIsOkay in OnStopRequest (doing so in TRR::Cancel causes us to
call it twice for the same TRR)
- Use NS_NewRunnableFunction instead of ProxyCancel runnable object
- Introduce TRR_REQ_CANCELLED skip reason
Differential Revision: https://phabricator.services.mozilla.com/D104371
SetData will check that `mStartedReading` has not been set yet to ensure the
stream is in a non-partially-read state. This can lead to assertion failures
when sending a stream not seeked to the beginning over IPC.
Differential Revision: https://phabricator.services.mozilla.com/D103226
nsMIMEInputStream has a requirement that the inner nsIInputStream object
implement nsISeekableStream, which is usually enforced by the SetData method.
This check was bypassed by the Deserialize method, which unfortunately meant
that non-seekable IPC payloads could end up within a nsMIMEInputStream when sent
from another process (e.g. due to large nsStringStreams being serialized as
nsPipes over IPC).
This patch uses the SeekableStreamWrapper introduced in the previous patch to
wrap the inner stream when deserializing nsMIMEInputStream, avoiding the
previously mentioned issue.
Differential Revision: https://phabricator.services.mozilla.com/D101806
SetData will check that `mStartedReading` has not been set yet to ensure the
stream is in a non-partially-read state. This can lead to assertion failures
when sending a stream not seeked to the beginning over IPC.
Differential Revision: https://phabricator.services.mozilla.com/D103226
nsMIMEInputStream has a requirement that the inner nsIInputStream object
implement nsISeekableStream, which is usually enforced by the SetData method.
This check was bypassed by the Deserialize method, which unfortunately meant
that non-seekable IPC payloads could end up within a nsMIMEInputStream when sent
from another process (e.g. due to large nsStringStreams being serialized as
nsPipes over IPC).
This patch uses the SeekableStreamWrapper introduced in the previous patch to
wrap the inner stream when deserializing nsMIMEInputStream, avoiding the
previously mentioned issue.
Differential Revision: https://phabricator.services.mozilla.com/D101806
SetData will check that `mStartedReading` has not been set yet to ensure the
stream is in a non-partially-read state. This can lead to assertion failures
when sending a stream not seeked to the beginning over IPC.
Differential Revision: https://phabricator.services.mozilla.com/D103226
nsMIMEInputStream has a requirement that the inner nsIInputStream object
implement nsISeekableStream, which is usually enforced by the SetData method.
This check was bypassed by the Deserialize method, which unfortunately meant
that non-seekable IPC payloads could end up within a nsMIMEInputStream when sent
from another process (e.g. due to large nsStringStreams being serialized as
nsPipes over IPC).
This patch uses the SeekableStreamWrapper introduced in the previous patch to
wrap the inner stream when deserializing nsMIMEInputStream, avoiding the
previously mentioned issue.
Differential Revision: https://phabricator.services.mozilla.com/D101806