Imported Upstream version 6.4.0.137

Former-commit-id: 943baa9f16a098c33e129777827f3a9d20da00d6
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-07-26 19:53:28 +00:00
parent e9207cf623
commit ef583813eb
2712 changed files with 74169 additions and 40587 deletions

View File

@@ -20,17 +20,22 @@ namespace System.Diagnostics {
public Guid ActivityId {
get {
#if !DISABLE_REMOTING
Object id = CallContext.LogicalGetData(activityIdSlotName);
if (id != null)
return (Guid) id;
else
#endif
return Guid.Empty;
}
set {
#if !DISABLE_REMOTING
CallContext.LogicalSetData(activityIdSlotName, value);
#endif
}
}
#if !DISABLE_REMOTING
public Stack LogicalOperationStack {
get {
return GetLogicalOperationStack();
@@ -63,6 +68,11 @@ namespace System.Diagnostics {
return idStack;
}
#else
public Stack LogicalOperationStack => throw new PlatformNotSupportedException ();
public void StartLogicalOperation (object operationId) => throw new PlatformNotSupportedException ();
public void StartLogicalOperation () => throw new PlatformNotSupportedException ();
public void StopLogicalOperation () => throw new PlatformNotSupportedException ();
#endif
}
}

View File

@@ -40,7 +40,11 @@ namespace System.Diagnostics {
public Stack LogicalOperationStack {
get {
#if DISABLE_REMOTING
throw new PlatformNotSupportedException ();
#else
return Trace.CorrelationManager.LogicalOperationStack;
#endif
}
}

View File

@@ -6,7 +6,7 @@
namespace System.Net
{
[Obsolete("This class has been deprecated. Please use WebRequest.DefaultWebProxy instead to access and set the global default proxy. Use 'null' instead of GetEmptyWebProxy. http://go.microsoft.com/fwlink/?linkid=14202")]
[Obsolete("This class has been deprecated. Please use WebRequest.DefaultWebProxy instead to access and set the global default proxy. Use 'null' instead of GetEmptyWebProxy. https://go.microsoft.com/fwlink/?linkid=14202")]
public class GlobalProxySelection
{
// This just wraps WebRequest.DefaultWebProxy and modifies it to be compatible with Everett.

View File

@@ -160,10 +160,14 @@ namespace System.Net {
}
} else {
// IPv4 Address serialization
#if MONO
ipAddress.TryWriteBytes(m_Buffer.AsSpan(4), out int bytesWritten);
#else
m_Buffer[4] = unchecked((byte)(ipAddress.m_Address));
m_Buffer[5] = unchecked((byte)(ipAddress.m_Address >> 8));
m_Buffer[6] = unchecked((byte)(ipAddress.m_Address >> 16));
m_Buffer[7] = unchecked((byte)(ipAddress.m_Address >> 24));
#endif
}
}
@@ -177,7 +181,11 @@ namespace System.Net {
if (Family == AddressFamily.InterNetworkV6) {
Contract.Assert(Size >= IPv6AddressSize);
#if MONO
byte[] address = new byte[IPAddressParserStatics.IPv6AddressBytes];
#else
byte[] address = new byte[IPAddress.IPv6AddressBytes];
#endif
for (int i = 0; i < address.Length; i++) {
address[i] = m_Buffer[i + 8];
}

View File

@@ -488,7 +488,7 @@ namespace System.Net.Sockets {
// if the user really wants complete control over Broadcast addresses he needs to
// inherit from UdpClient and gain control over the Socket and do whatever is appropriate.
//
if (Client!=null && !m_IsBroadcast && ipAddress.IsBroadcast) {
if (Client!=null && !m_IsBroadcast && IsBroadcast(ipAddress)) {
//
// we need to set the Broadcast socket option.
// note that, once we set the option on the Socket, we never reset it.
@@ -498,6 +498,18 @@ namespace System.Net.Sockets {
}
}
private static bool IsBroadcast(IPAddress address)
{
if (address.AddressFamily == AddressFamily.InterNetworkV6)
{
// No such thing as a broadcast address for IPv6.
return false;
}
else
{
return address.Equals(IPAddress.Broadcast);
}
}
/// <devdoc>

View File

@@ -1047,13 +1047,6 @@ namespace System.Net {
}
#endif // !FEATURE_PAL
/// <summary>
/// <para>Provides an abstract way of having Async code callback into the request (saves a delegate)</para>
/// </summary>
internal virtual void RequestCallback(object obj) {
throw ExceptionHelper.MethodNotImplementedException;
}
//
// Default Web Proxy implementation.
//

View File

@@ -6,7 +6,7 @@
// Relevant cookie specs:
//
// PERSISTENT<EFBFBD>CLIENT<EFBFBD>STATE HTTP COOKIES (1996)
// PERSISTENT CLIENT STATE HTTP COOKIES (1996)
// From <http://web.archive.org/web/20020803110822/http://wp.netscape.com/newsref/std/cookie_spec.html>
//
// RFC2109 HTTP State Management Mechanism (February 1997)
@@ -119,11 +119,13 @@ namespace System.Net {
/// <para>[To be supplied.]</para>
/// </devdoc>
public CookieContainer() {
#if !WASM
string domain = IPGlobalProperties.InternalGetIPGlobalProperties().DomainName;
if (domain != null && domain.Length > 1)
{
m_fqdnMyDomain = '.' + domain;
}
#endif
//Otherwise it will remain string.Empty
}

View File

@@ -1 +1 @@
30f72959631456d53fff3fedde6449799f9c3e7c
e1527546950d4297d8578925461d4b22d6a48737

View File

@@ -8,7 +8,7 @@ namespace System.Diagnostics.CodeAnalysis
/// enclosed methods and properties from code coverage collection.
/// </summary>
[AttributeUsage(
AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Event,
AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Event | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Struct,
Inherited = false,
AllowMultiple = false
)]