Imported Upstream version 4.8.0.344

Former-commit-id: 609085c14e6ad2a66429d180056034e93c0547d2
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2016-11-16 13:31:47 +00:00
parent 94b2861243
commit 62edeef69b
89 changed files with 4558 additions and 65 deletions

View File

@@ -135,7 +135,7 @@ namespace Mono.Btls
if (IsServer) {
SetPrivateCertificate (nativeServerCertificate);
} else {
ssl.SetServerName (TargetHost);
ssl.SetServerName (ServerName);
}
}
@@ -236,14 +236,7 @@ namespace Mono.Btls
if (!IsServer)
ctx.SetSelectCallback (SelectCallback);
var host = TargetHost;
if (!string.IsNullOrEmpty (host)) {
var pos = TargetHost.IndexOf (':');
if (pos > 0)
host = host.Substring (0, pos);
}
ctx.SetVerifyParam (MonoBtlsProvider.GetVerifyParam (host, IsServer));
ctx.SetVerifyParam (MonoBtlsProvider.GetVerifyParam (ServerName, IsServer));
TlsProtocolCode minProtocol, maxProtocol;
GetProtocolVersions (out minProtocol, out maxProtocol);

View File

@@ -35,6 +35,7 @@ namespace Mono.Net.Security
MobileAuthenticatedStream parent;
bool serverMode;
string targetHost;
string serverName;
SslProtocols enabledProtocols;
X509Certificate serverCertificate;
X509CertificateCollection clientCertificates;
@@ -54,6 +55,13 @@ namespace Mono.Net.Security
this.clientCertificates = clientCertificates;
this.askForClientCert = askForClientCert;
serverName = targetHost;
if (!string.IsNullOrEmpty (serverName)) {
var pos = serverName.IndexOf (':');
if (pos > 0)
serverName = serverName.Substring (0, pos);
}
certificateValidator = CertificateValidationHelper.GetInternalValidator (
parent.Settings, parent.Provider);
}
@@ -92,6 +100,10 @@ namespace Mono.Net.Security
get { return targetHost; }
}
protected string ServerName {
get { return serverName; }
}
protected bool AskForClientCertificate {
get { return askForClientCert; }
}

View File

@@ -78,6 +78,16 @@ namespace System.Net.Sockets
throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
}
public void AllowNatTraversal (bool allowed)
{
throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
}
public static TcpListener Create (int port)
{
throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
}
~TcpListener ()
{
}

View File

@@ -204,6 +204,11 @@ namespace System.Net.Sockets
set { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
}
public void AllowNatTraversal (bool allowed)
{
throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
}
public void Dispose ()
{
throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);

View File

@@ -26,6 +26,7 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Security.Authentication.ExtendedProtection;
using System.Threading.Tasks;
namespace System.Net {
@@ -33,6 +34,8 @@ namespace System.Net {
{
internal const string EXCEPTION_MESSAGE = "System.Net.HttpListener is not supported on the current platform.";
public delegate ExtendedProtectionPolicy ExtendedProtectionSelector (HttpListenerRequest request);
public HttpListener ()
{
throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
@@ -75,6 +78,27 @@ namespace System.Net {
set { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
}
public HttpListenerTimeoutManager TimeoutManager {
get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
}
public ExtendedProtectionPolicy ExtendedProtectionPolicy
{
get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
set { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
}
public ExtendedProtectionSelector ExtendedProtectionSelectorDelegate
{
get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
set { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
}
public ServiceNameCollection DefaultServiceNames
{
get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
}
public void Abort ()
{
throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);

View File

@@ -55,6 +55,11 @@ namespace System.Net {
throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
}
public Task<HttpListenerWebSocketContext> AcceptWebSocketAsync (string subProtocol, TimeSpan keepAliveInterval)
{
throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
}
public Task<HttpListenerWebSocketContext> AcceptWebSocketAsync (string subProtocol, int receiveBufferSize, TimeSpan keepAliveInterval)
{
throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);

View File

@@ -67,12 +67,12 @@ namespace System.Net
get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
}
public bool AllowAutoRedirect {
public virtual bool AllowAutoRedirect {
get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
set { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
}
public bool AllowWriteStreamBuffering {
public virtual bool AllowWriteStreamBuffering {
get { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
set { throw new PlatformNotSupportedException (EXCEPTION_MESSAGE); }
}
@@ -360,6 +360,11 @@ namespace System.Net
throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
}
public System.IO.Stream GetRequestStream (out TransportContext context)
{
throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);
}
public override IAsyncResult BeginGetResponse (AsyncCallback callback, object state)
{
throw new PlatformNotSupportedException (EXCEPTION_MESSAGE);