diff options
author | Stephen Toub <stoub@microsoft.com> | 2016-10-22 16:57:32 +0300 |
---|---|---|
committer | Stephen Toub <stoub@microsoft.com> | 2016-10-22 22:45:48 +0300 |
commit | ae3dfc48662d72adec7bbd3f4700bf55e113a00f (patch) | |
tree | 79b9c0de375d20a17655a8c098f711c65587290e | |
parent | f78ffb2d16f3db93b8767a0fdc0377661a98940c (diff) |
Create System.Net.ServicePoint assembly
- Creates a new System.Net.ServicePoint contract
- Moves the relevant typs down into it from System.Net.Requests
- Deletes the obsolete ICertificatePolicy that was preventing this separation
26 files changed, 436 insertions, 107 deletions
diff --git a/pkg/Microsoft.Private.PackageBaseline/packageIndex.json b/pkg/Microsoft.Private.PackageBaseline/packageIndex.json index cc3738d31e..080ec3c1d9 100644 --- a/pkg/Microsoft.Private.PackageBaseline/packageIndex.json +++ b/pkg/Microsoft.Private.PackageBaseline/packageIndex.json @@ -2729,6 +2729,11 @@ }, "runtime.win10-arm64.runtime.native.System.IO.Compression": { "BaselineVersion": "4.4.0" + }, + "System.Net.ServicePoint": { + "AssemblyVersionInPackageVersion": { + "4.0.0.0": "4.4.0" + } } }, "ModulesToPackages": { diff --git a/pkg/descriptions.json b/pkg/descriptions.json index e528448776..1e1abbcddc 100644 --- a/pkg/descriptions.json +++ b/pkg/descriptions.json @@ -945,6 +945,14 @@ ] }, { + "Name": "System.Net.ServicePoint", + "Description": "Provides types related to the management of network connections.", + "CommonTypes": [ + "System.Net.ServicePoint", + "System.Net.ServicePointManager" + ] + }, + { "Name": "System.Net.Sockets", "Description": "Provides classes such as Socket, TcpClient and UdpClient, which enable developers to send and receive data over the network.", "CommonTypes": [ diff --git a/src/System.Net.Requests/ref/System.Net.Requests.cs b/src/System.Net.Requests/ref/System.Net.Requests.cs index e534043211..bd7236db71 100644 --- a/src/System.Net.Requests/ref/System.Net.Requests.cs +++ b/src/System.Net.Requests/ref/System.Net.Requests.cs @@ -32,7 +32,6 @@ namespace System.Net public string[] ProtectionRealm { get { throw null; } set { } } public bool MutuallyAuthenticated { get { throw null; } set { } } } - public delegate System.Net.IPEndPoint BindIPEndPoint(System.Net.ServicePoint servicePoint, System.Net.IPEndPoint remoteEndPoint, int retryCount); public class FileWebRequest : WebRequest, System.Runtime.Serialization.ISerializable { internal FileWebRequest() { } @@ -204,10 +203,6 @@ namespace System.Net bool CanPreAuthenticate { get; } string AuthenticationType { get; } } - public interface ICertificatePolicy - { - bool CheckValidationResult(System.Net.ServicePoint srvPoint, System.Security.Cryptography.X509Certificates.X509Certificate certificate, System.Net.WebRequest request, int certificateProblem); - } public interface ICredentialPolicy { bool ShouldSendCredential(System.Uri challengeUri, System.Net.WebRequest request, System.Net.NetworkCredential credential, System.Net.IAuthenticationModule authenticationModule); @@ -354,62 +349,6 @@ namespace System.Net protected virtual void GetObjectData(System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext) { } void System.Runtime.Serialization.ISerializable.GetObjectData(System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext) { } } - - [Flags] - public enum SecurityProtocolType - { -#pragma warning disable CS0618 - Ssl3 = System.Security.Authentication.SslProtocols.Ssl3, -#pragma warning restore CS0618 - Tls = System.Security.Authentication.SslProtocols.Tls, - Tls11 = System.Security.Authentication.SslProtocols.Tls11, - Tls12 = System.Security.Authentication.SslProtocols.Tls12, - } - public class ServicePoint - { - internal ServicePoint() { } - public System.Net.BindIPEndPoint BindIPEndPointDelegate { get { throw null; } set { } } - public int ConnectionLeaseTimeout { get { throw null; } set { } } - public System.Uri Address { get { throw null; } } - public int MaxIdleTime { get { throw null; } set { } } - public bool UseNagleAlgorithm { get { throw null; } set { } } - public int ReceiveBufferSize { get { throw null; } set { } } - public bool Expect100Continue { get { throw null; } set { } } - public System.DateTime IdleSince { get { throw null; } } - public virtual System.Version ProtocolVersion { get { throw null; } } - public string ConnectionName { get { throw null; } } - public bool CloseConnectionGroup(string connectionGroupName) { throw null; } - public int ConnectionLimit { get { throw null; } set { } } - public int CurrentConnections { get { throw null; } } - public System.Security.Cryptography.X509Certificates.X509Certificate Certificate { get { throw null; } } - public System.Security.Cryptography.X509Certificates.X509Certificate ClientCertificate { get { throw null; } } - public bool SupportsPipelining { get { throw null; } } - public void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval) { throw null; } - } - public class ServicePointManager - { - public const int DefaultNonPersistentConnectionLimit = 4; - public const int DefaultPersistentConnectionLimit = 2; - private ServicePointManager() { } - public static System.Net.SecurityProtocolType SecurityProtocol { get { throw null; } set { } } - public static int MaxServicePoints { get { throw null; } set { } } - public static int DefaultConnectionLimit { get { throw null; } set { } } - public static int MaxServicePointIdleTime { get { throw null; } set { } } - public static bool UseNagleAlgorithm { get { throw null; } set { } } - public static bool Expect100Continue { get { throw null; } set { } } - public static bool EnableDnsRoundRobin { get { throw null; } set { } } - public static int DnsRefreshTimeout { get { throw null; } set { } } - [Obsolete("CertificatePolicy is obsoleted for this type, please use ServerCertificateValidationCallback instead. http://go.microsoft.com/fwlink/?linkid=14202")] - public static System.Net.ICertificatePolicy CertificatePolicy { get { throw null; } set { } } - public static System.Net.Security.RemoteCertificateValidationCallback ServerCertificateValidationCallback { get { throw null; } set { } } - public static bool ReusePort { get { throw null; } set { } } - public static bool CheckCertificateRevocationList { get { throw null; } set { } } - public static System.Net.Security.EncryptionPolicy EncryptionPolicy { get { throw null; } } - public static System.Net.ServicePoint FindServicePoint(System.Uri address) { throw null; } - public static System.Net.ServicePoint FindServicePoint(string uriString, System.Net.IWebProxy proxy) { throw null; } - public static System.Net.ServicePoint FindServicePoint(System.Uri address, System.Net.IWebProxy proxy) { throw null; } - public static void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval) { throw null; } - } } namespace System.Net.Cache { diff --git a/src/System.Net.Requests/ref/System.Net.Requests.csproj b/src/System.Net.Requests/ref/System.Net.Requests.csproj index 5c5c0ab0e1..4bb5d8ce26 100644 --- a/src/System.Net.Requests/ref/System.Net.Requests.csproj +++ b/src/System.Net.Requests/ref/System.Net.Requests.csproj @@ -16,6 +16,7 @@ <ItemGroup> <!-- TODO: Remove this reference once packages are updated --> <ProjectReference Include="..\..\System.Net.Primitives\ref\System.Net.Primitives.csproj" /> + <ProjectReference Include="..\..\System.Net.ServicePoint\ref\System.Net.ServicePoint.csproj" /> </ItemGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> </Project>
\ No newline at end of file diff --git a/src/System.Net.Requests/src/System.Net.Requests.csproj b/src/System.Net.Requests/src/System.Net.Requests.csproj index 60b63f39cf..b13e6166ab 100644 --- a/src/System.Net.Requests/src/System.Net.Requests.csproj +++ b/src/System.Net.Requests/src/System.Net.Requests.csproj @@ -23,21 +23,16 @@ <ItemGroup Condition="'$(TargetGroup)' != 'net463'"> <Compile Include="System\Net\AuthenticationManager.cs" /> <Compile Include="System\Net\Authorization.cs" /> - <Compile Include="System\Net\BindIPEndPoint.cs" /> <Compile Include="System\Net\FileWebRequest.cs" /> <Compile Include="System\Net\FileWebResponse.cs" /> <Compile Include="System\Net\HttpRequestHeader.cs" /> <Compile Include="System\Net\HttpWebRequest.cs" /> <Compile Include="System\Net\HttpWebResponse.cs" /> <Compile Include="System\Net\IAuthenticationModule.cs" /> - <Compile Include="System\Net\ICertificatePolicy.cs" /> <Compile Include="System\Net\ICredentialPolicy.cs" /> <Compile Include="System\Net\IWebRequestCreate.cs" /> <Compile Include="System\Net\ProtocolViolationException.cs" /> <Compile Include="System\Net\RequestStream.cs" /> - <Compile Include="System\Net\SecurityProtocolType.cs" /> - <Compile Include="System\Net\ServicePoint.cs" /> - <Compile Include="System\Net\ServicePointManager.cs" /> <Compile Include="System\Net\SystemWebProxy.cs" /> <Compile Include="System\Net\TaskExtensions.cs" /> <Compile Include="System\Net\WebException.cs" /> @@ -139,6 +134,9 @@ <ProjectReference Include="..\..\System.Net.Primitives\ref\System.Net.Primitives.csproj"> <UndefineProperties>TargetGroup;OSGroup</UndefineProperties> </ProjectReference> + <ProjectReference Include="..\..\System.Net.ServicePoint\ref\System.Net.ServicePoint.csproj"> + <UndefineProperties>TargetGroup;OSGroup</UndefineProperties> + </ProjectReference> </ItemGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> </Project> diff --git a/src/System.Net.Requests/src/System/Net/ICertificatePolicy.cs b/src/System.Net.Requests/src/System/Net/ICertificatePolicy.cs deleted file mode 100644 index 7895f72d8d..0000000000 --- a/src/System.Net.Requests/src/System/Net/ICertificatePolicy.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System.Security.Cryptography.X509Certificates; - -namespace System.Net -{ - public interface ICertificatePolicy - { - bool CheckValidationResult(ServicePoint srvPoint, X509Certificate certificate, WebRequest request, int certificateProblem); - } -} diff --git a/src/System.Net.Requests/tests/System.Net.Requests.Tests.csproj b/src/System.Net.Requests/tests/System.Net.Requests.Tests.csproj index d244792043..31dffde1da 100644 --- a/src/System.Net.Requests/tests/System.Net.Requests.Tests.csproj +++ b/src/System.Net.Requests/tests/System.Net.Requests.Tests.csproj @@ -38,7 +38,6 @@ <Compile Include="AuthenticationManagerTest.cs" /> <Compile Include="FileWebRequestTest.cs" /> <Compile Include="HttpRequestCachePolicyTest.cs" /> - <Compile Include="ServicePointManagerTest.cs" /> <Compile Include="HttpWebRequestHeaderTest.cs" /> <Compile Include="HttpWebResponseHeaderTest.cs" /> <Compile Include="FtpWebRequestTest.cs" /> @@ -52,6 +51,7 @@ <ItemGroup> <!-- TODO: Remove this reference once packages are updated --> <ProjectReference Include="..\..\System.Net.Primitives\pkg\System.Net.Primitives.pkgproj" /> + <ProjectReference Include="..\..\System.Net.ServicePoint\pkg\System.Net.ServicePoint.pkgproj" /> </ItemGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> </Project>
\ No newline at end of file diff --git a/src/System.Net.ServicePoint/System.Net.ServicePoint.sln b/src/System.Net.ServicePoint/System.Net.ServicePoint.sln new file mode 100644 index 0000000000..f38071b7dd --- /dev/null +++ b/src/System.Net.ServicePoint/System.Net.ServicePoint.sln @@ -0,0 +1,59 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ref", "ref", "{350C956A-B4ED-4376-9B04-2908528D10FF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Net.ServicePoint", "ref\System.Net.ServicePoint.csproj", "{14FAFC3A-8266-45C7-8604-8C2CB567E50D}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827B5CCD-073A-4A75-9661-73D54F0A3528}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Net.ServicePoint", "src\System.Net.ServicePoint.csproj", "{53D09AF4-0C13-4197-B8AD-9746F0374E88}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{096E7AD0-17A2-4EAF-9AC5-2F0FC67A4112}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Net.ServicePoint.Tests", "tests\System.Net.ServicePoint.Tests.csproj", "{0D1E2954-A5C7-4B8C-932A-31EB4A96A726}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + net46_Debug|Any CPU = net46_Debug|Any CPU + net46_Release|Any CPU = net46_Release|Any CPU + netstandard1.7_Debug|Any CPU = netstandard1.7_Debug|Any CPU + netstandard1.7_Release|Any CPU = netstandard1.7_Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {14FAFC3A-8266-45C7-8604-8C2CB567E50D}.net46_Debug|Any CPU.ActiveCfg = netstandard1.7_Release|Any CPU + {14FAFC3A-8266-45C7-8604-8C2CB567E50D}.net46_Debug|Any CPU.Build.0 = netstandard1.7_Release|Any CPU + {14FAFC3A-8266-45C7-8604-8C2CB567E50D}.net46_Release|Any CPU.ActiveCfg = netstandard1.7_Release|Any CPU + {14FAFC3A-8266-45C7-8604-8C2CB567E50D}.net46_Release|Any CPU.Build.0 = netstandard1.7_Release|Any CPU + {14FAFC3A-8266-45C7-8604-8C2CB567E50D}.netstandard1.7_Debug|Any CPU.ActiveCfg = netstandard1.7_Debug|Any CPU + {14FAFC3A-8266-45C7-8604-8C2CB567E50D}.netstandard1.7_Debug|Any CPU.Build.0 = netstandard1.7_Debug|Any CPU + {14FAFC3A-8266-45C7-8604-8C2CB567E50D}.netstandard1.7_Release|Any CPU.ActiveCfg = netstandard1.7_Release|Any CPU + {14FAFC3A-8266-45C7-8604-8C2CB567E50D}.netstandard1.7_Release|Any CPU.Build.0 = netstandard1.7_Release|Any CPU + {53D09AF4-0C13-4197-B8AD-9746F0374E88}.net46_Debug|Any CPU.ActiveCfg = net463_Release|Any CPU + {53D09AF4-0C13-4197-B8AD-9746F0374E88}.net46_Debug|Any CPU.Build.0 = net463_Release|Any CPU + {53D09AF4-0C13-4197-B8AD-9746F0374E88}.net46_Release|Any CPU.ActiveCfg = net463_Release|Any CPU + {53D09AF4-0C13-4197-B8AD-9746F0374E88}.net46_Release|Any CPU.Build.0 = net463_Release|Any CPU + {53D09AF4-0C13-4197-B8AD-9746F0374E88}.netstandard1.7_Debug|Any CPU.ActiveCfg = netstandard1.7_Debug|Any CPU + {53D09AF4-0C13-4197-B8AD-9746F0374E88}.netstandard1.7_Debug|Any CPU.Build.0 = netstandard1.7_Debug|Any CPU + {53D09AF4-0C13-4197-B8AD-9746F0374E88}.netstandard1.7_Release|Any CPU.ActiveCfg = netstandard1.7_Release|Any CPU + {53D09AF4-0C13-4197-B8AD-9746F0374E88}.netstandard1.7_Release|Any CPU.Build.0 = netstandard1.7_Release|Any CPU + {0D1E2954-A5C7-4B8C-932A-31EB4A96A726}.net46_Debug|Any CPU.ActiveCfg = netstandard1.7_Release|Any CPU + {0D1E2954-A5C7-4B8C-932A-31EB4A96A726}.net46_Debug|Any CPU.Build.0 = netstandard1.7_Release|Any CPU + {0D1E2954-A5C7-4B8C-932A-31EB4A96A726}.net46_Release|Any CPU.ActiveCfg = netstandard1.7_Release|Any CPU + {0D1E2954-A5C7-4B8C-932A-31EB4A96A726}.net46_Release|Any CPU.Build.0 = netstandard1.7_Release|Any CPU + {0D1E2954-A5C7-4B8C-932A-31EB4A96A726}.netstandard1.7_Debug|Any CPU.ActiveCfg = netstandard1.7_Debug|Any CPU + {0D1E2954-A5C7-4B8C-932A-31EB4A96A726}.netstandard1.7_Debug|Any CPU.Build.0 = netstandard1.7_Debug|Any CPU + {0D1E2954-A5C7-4B8C-932A-31EB4A96A726}.netstandard1.7_Release|Any CPU.ActiveCfg = netstandard1.7_Release|Any CPU + {0D1E2954-A5C7-4B8C-932A-31EB4A96A726}.netstandard1.7_Release|Any CPU.Build.0 = netstandard1.7_Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {14FAFC3A-8266-45C7-8604-8C2CB567E50D} = {350C956A-B4ED-4376-9B04-2908528D10FF} + {53D09AF4-0C13-4197-B8AD-9746F0374E88} = {827B5CCD-073A-4A75-9661-73D54F0A3528} + {0D1E2954-A5C7-4B8C-932A-31EB4A96A726} = {096E7AD0-17A2-4EAF-9AC5-2F0FC67A4112} + EndGlobalSection +EndGlobal diff --git a/src/System.Net.ServicePoint/dir.props b/src/System.Net.ServicePoint/dir.props new file mode 100644 index 0000000000..ea772032c8 --- /dev/null +++ b/src/System.Net.ServicePoint/dir.props @@ -0,0 +1,7 @@ +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="..\dir.props" /> + <PropertyGroup> + <AssemblyVersion>4.0.0.0</AssemblyVersion> + </PropertyGroup> +</Project> + diff --git a/src/System.Net.ServicePoint/pkg/System.Net.ServicePoint.builds b/src/System.Net.ServicePoint/pkg/System.Net.ServicePoint.builds new file mode 100644 index 0000000000..d82852a2d9 --- /dev/null +++ b/src/System.Net.ServicePoint/pkg/System.Net.ServicePoint.builds @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <ItemGroup> + <Project Include="System.Net.ServicePoint.pkgproj"/> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" /> +</Project> diff --git a/src/System.Net.ServicePoint/pkg/System.Net.ServicePoint.pkgproj b/src/System.Net.ServicePoint/pkg/System.Net.ServicePoint.pkgproj new file mode 100644 index 0000000000..6c43d7d215 --- /dev/null +++ b/src/System.Net.ServicePoint/pkg/System.Net.ServicePoint.pkgproj @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + + <ItemGroup> + <ProjectReference Include="..\ref\System.Net.ServicePoint.csproj"> + <SupportedFramework>net463;netcoreapp1.1;$(AllXamarinFrameworks)</SupportedFramework> + </ProjectReference> + <ProjectReference Include="..\src\System.Net.ServicePoint.builds" /> + </ItemGroup> + + <ItemGroup> + <InboxOnTargetFramework Include="MonoAndroid10" /> + <InboxOnTargetFramework Include="MonoTouch10" /> + <InboxOnTargetFramework Include="xamarinios10" /> + <InboxOnTargetFramework Include="xamarinmac20" /> + <InboxOnTargetFramework Include="xamarintvos10" /> + <InboxOnTargetFramework Include="xamarinwatchos10" /> + </ItemGroup> + + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> +</Project> diff --git a/src/System.Net.ServicePoint/ref/System.Net.ServicePoint.cs b/src/System.Net.ServicePoint/ref/System.Net.ServicePoint.cs new file mode 100644 index 0000000000..176ed22d86 --- /dev/null +++ b/src/System.Net.ServicePoint/ref/System.Net.ServicePoint.cs @@ -0,0 +1,64 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// ------------------------------------------------------------------------------ +// Changes to this file must follow the http://aka.ms/api-review process. +// ------------------------------------------------------------------------------ + +namespace System.Net +{ + public delegate System.Net.IPEndPoint BindIPEndPoint(System.Net.ServicePoint servicePoint, System.Net.IPEndPoint remoteEndPoint, int retryCount); + public class ServicePoint + { + internal ServicePoint() { } + public System.Net.BindIPEndPoint BindIPEndPointDelegate { get { throw null; } set { } } + public int ConnectionLeaseTimeout { get { throw null; } set { } } + public System.Uri Address { get { throw null; } } + public int MaxIdleTime { get { throw null; } set { } } + public bool UseNagleAlgorithm { get { throw null; } set { } } + public int ReceiveBufferSize { get { throw null; } set { } } + public bool Expect100Continue { get { throw null; } set { } } + public System.DateTime IdleSince { get { throw null; } } + public virtual System.Version ProtocolVersion { get { throw null; } } + public string ConnectionName { get { throw null; } } + public bool CloseConnectionGroup(string connectionGroupName) { throw null; } + public int ConnectionLimit { get { throw null; } set { } } + public int CurrentConnections { get { throw null; } } + public System.Security.Cryptography.X509Certificates.X509Certificate Certificate { get { throw null; } } + public System.Security.Cryptography.X509Certificates.X509Certificate ClientCertificate { get { throw null; } } + public bool SupportsPipelining { get { throw null; } } + public void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval) { throw null; } + } + public class ServicePointManager + { + public const int DefaultNonPersistentConnectionLimit = 4; + public const int DefaultPersistentConnectionLimit = 2; + private ServicePointManager() { } + public static System.Net.SecurityProtocolType SecurityProtocol { get { throw null; } set { } } + public static int MaxServicePoints { get { throw null; } set { } } + public static int DefaultConnectionLimit { get { throw null; } set { } } + public static int MaxServicePointIdleTime { get { throw null; } set { } } + public static bool UseNagleAlgorithm { get { throw null; } set { } } + public static bool Expect100Continue { get { throw null; } set { } } + public static bool EnableDnsRoundRobin { get { throw null; } set { } } + public static int DnsRefreshTimeout { get { throw null; } set { } } + public static System.Net.Security.RemoteCertificateValidationCallback ServerCertificateValidationCallback { get { throw null; } set { } } + public static bool ReusePort { get { throw null; } set { } } + public static bool CheckCertificateRevocationList { get { throw null; } set { } } + public static System.Net.Security.EncryptionPolicy EncryptionPolicy { get { throw null; } } + public static System.Net.ServicePoint FindServicePoint(System.Uri address) { throw null; } + public static System.Net.ServicePoint FindServicePoint(string uriString, System.Net.IWebProxy proxy) { throw null; } + public static System.Net.ServicePoint FindServicePoint(System.Uri address, System.Net.IWebProxy proxy) { throw null; } + public static void SetTcpKeepAlive(bool enabled, int keepAliveTime, int keepAliveInterval) { throw null; } + } + [Flags] + public enum SecurityProtocolType + { +#pragma warning disable CS0618 + Ssl3 = System.Security.Authentication.SslProtocols.Ssl3, +#pragma warning restore CS0618 + Tls = System.Security.Authentication.SslProtocols.Tls, + Tls11 = System.Security.Authentication.SslProtocols.Tls11, + Tls12 = System.Security.Authentication.SslProtocols.Tls12, + } +} diff --git a/src/System.Net.ServicePoint/ref/System.Net.ServicePoint.csproj b/src/System.Net.ServicePoint/ref/System.Net.ServicePoint.csproj new file mode 100644 index 0000000000..9e7d7ff1ae --- /dev/null +++ b/src/System.Net.ServicePoint/ref/System.Net.ServicePoint.csproj @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <OutputType>Library</OutputType> + <NuGetTargetMoniker>.NETStandard,Version=v1.7</NuGetTargetMoniker> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard1.7_Debug|AnyCPU'" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard1.7_Release|AnyCPU'" /> + <ItemGroup> + <Compile Include="System.Net.ServicePoint.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="project.json" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> +</Project> diff --git a/src/System.Net.ServicePoint/ref/project.json b/src/System.Net.ServicePoint/ref/project.json new file mode 100644 index 0000000000..68f70c7381 --- /dev/null +++ b/src/System.Net.ServicePoint/ref/project.json @@ -0,0 +1,11 @@ +{ + "dependencies": { + "System.Net.Primitives": "4.4.0-beta-24619-02", + "System.Net.Security": "4.4.0-beta-24619-02", + "System.Runtime": "4.4.0-beta-24619-02", + "System.Security.Cryptography.X509Certificates": "4.4.0-beta-24619-02" + }, + "frameworks": { + "netstandard1.7": {} + } +}
\ No newline at end of file diff --git a/src/System.Net.ServicePoint/src/Resources/Strings.resx b/src/System.Net.ServicePoint/src/Resources/Strings.resx new file mode 100644 index 0000000000..37f5320653 --- /dev/null +++ b/src/System.Net.ServicePoint/src/Resources/Strings.resx @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <data name="net_proxyschemenotsupported" xml:space="preserve"> + <value>The ServicePointManager does not support proxies with the {0} scheme.</value> + </data> + <data name="net_securityprotocolnotsupported" xml:space="preserve"> + <value>The requested security protocol is not supported.</value> + </data> +</root> diff --git a/src/System.Net.ServicePoint/src/System.Net.ServicePoint.builds b/src/System.Net.ServicePoint/src/System.Net.ServicePoint.builds new file mode 100644 index 0000000000..fbe0994c3a --- /dev/null +++ b/src/System.Net.ServicePoint/src/System.Net.ServicePoint.builds @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <ItemGroup> + <Project Include="System.Net.ServicePoint.csproj" /> + <Project Include="System.Net.ServicePoint.csproj"> + <TargetGroup>net463</TargetGroup> + </Project> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" /> +</Project> + diff --git a/src/System.Net.ServicePoint/src/System.Net.ServicePoint.csproj b/src/System.Net.ServicePoint/src/System.Net.ServicePoint.csproj new file mode 100644 index 0000000000..9a291ede36 --- /dev/null +++ b/src/System.Net.ServicePoint/src/System.Net.ServicePoint.csproj @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <ProjectGuid>{53D09AF4-0C13-4197-B8AD-9746F0374E88}</ProjectGuid> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <IsPartialFacadeAssembly Condition="'$(TargetGroup)'=='net463'">true</IsPartialFacadeAssembly> + <NuGetTargetMoniker Condition="'$(TargetGroup)' == ''">.NETStandard,Version=v1.7</NuGetTargetMoniker> + </PropertyGroup> + <!-- Default configurations to help VS understand the options --> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard1.7_Debug|AnyCPU'" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard1.7_Release|AnyCPU'" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'net463_Debug|AnyCPU'" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'net463_Release|AnyCPU'" /> + <ItemGroup Condition="'$(TargetGroup)' != 'net463'"> + <Compile Include="System\Net\BindIPEndPoint.cs" /> + <Compile Include="System\Net\ServicePoint.cs" /> + <Compile Include="System\Net\ServicePointManager.cs" /> + <Compile Include="System\Net\SecurityProtocolType.cs" /> + </ItemGroup> + <ItemGroup Condition="'$(TargetGroup)' == 'net463'"> + <TargetingPackReference Include="System" /> + </ItemGroup> + <ItemGroup> + <None Include="project.json" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> +</Project>
\ No newline at end of file diff --git a/src/System.Net.Requests/src/System/Net/BindIPEndPoint.cs b/src/System.Net.ServicePoint/src/System/Net/BindIPEndPoint.cs index 9079564eb9..9079564eb9 100644 --- a/src/System.Net.Requests/src/System/Net/BindIPEndPoint.cs +++ b/src/System.Net.ServicePoint/src/System/Net/BindIPEndPoint.cs diff --git a/src/System.Net.Requests/src/System/Net/SecurityProtocolType.cs b/src/System.Net.ServicePoint/src/System/Net/SecurityProtocolType.cs index 7082b53576..7082b53576 100644 --- a/src/System.Net.Requests/src/System/Net/SecurityProtocolType.cs +++ b/src/System.Net.ServicePoint/src/System/Net/SecurityProtocolType.cs diff --git a/src/System.Net.Requests/src/System/Net/ServicePoint.cs b/src/System.Net.ServicePoint/src/System/Net/ServicePoint.cs index b53d0b7400..b53d0b7400 100644 --- a/src/System.Net.Requests/src/System/Net/ServicePoint.cs +++ b/src/System.Net.ServicePoint/src/System/Net/ServicePoint.cs diff --git a/src/System.Net.Requests/src/System/Net/ServicePointManager.cs b/src/System.Net.ServicePoint/src/System/Net/ServicePointManager.cs index 81093b1a6f..2a382e49c4 100644 --- a/src/System.Net.Requests/src/System/Net/ServicePointManager.cs +++ b/src/System.Net.ServicePoint/src/System/Net/ServicePointManager.cs @@ -94,15 +94,6 @@ namespace System.Net set { s_dnsRefreshTimeout = Math.Max(-1, value); } } - [Obsolete("CertificatePolicy is obsoleted for this type, please use ServerCertificateValidationCallback instead. http://go.microsoft.com/fwlink/?linkid=14202")] - public static ICertificatePolicy CertificatePolicy { get; set; } = new DefaultCertPolicy(); - - private sealed class DefaultCertPolicy : ICertificatePolicy - { - public bool CheckValidationResult(ServicePoint srvPoint, X509Certificate certificate, WebRequest request, int certificateProblem) => - certificateProblem == 0; - } - public static RemoteCertificateValidationCallback ServerCertificateValidationCallback { get; set; } public static bool ReusePort { get; set; } diff --git a/src/System.Net.ServicePoint/src/project.json b/src/System.Net.ServicePoint/src/project.json new file mode 100644 index 0000000000..4df377decb --- /dev/null +++ b/src/System.Net.ServicePoint/src/project.json @@ -0,0 +1,23 @@ +{ + "frameworks": { + "netstandard1.7": { + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "System.Collections": "4.4.0-beta-24619-02", + "System.Collections.Concurrent": "4.4.0-beta-24619-02", + "System.Diagnostics.Debug": "4.4.0-beta-24619-02", + "System.Net.Primitives": "4.4.0-beta-24619-02", + "System.Net.Security": "4.4.0-beta-24619-02", + "System.Resources.ResourceManager": "4.4.0-beta-24619-02", + "System.Runtime": "4.4.0-beta-24619-02", + "System.Runtime.Extensions": "4.4.0-beta-24619-02", + "System.Security.Cryptography.X509Certificates": "4.4.0-beta-24619-02" + } + }, + "net463": { + "dependencies": { + "Microsoft.TargetingPack.NETFramework.v4.6": "1.0.1" + } + } + } +}
\ No newline at end of file diff --git a/src/System.Net.Requests/tests/ServicePointManagerTest.cs b/src/System.Net.ServicePoint/tests/ServicePointManagerTest.cs index 1cf728e7bf..3a146fcafa 100644 --- a/src/System.Net.Requests/tests/ServicePointManagerTest.cs +++ b/src/System.Net.ServicePoint/tests/ServicePointManagerTest.cs @@ -17,24 +17,6 @@ namespace System.Net.Tests } [Fact] - public static void CertificatePolicy_Roundtrips() - { -#pragma warning disable CS0618 // obsolete warnings - ICertificatePolicy cp = ServicePointManager.CertificatePolicy; - Assert.NotNull(cp); - - Assert.True(cp.CheckValidationResult(null, null, null, 0)); - Assert.False(cp.CheckValidationResult(null, null, null, 1)); - - ServicePointManager.CertificatePolicy = null; - Assert.Null(ServicePointManager.CertificatePolicy); - - ServicePointManager.CertificatePolicy = cp; - Assert.Same(cp, ServicePointManager.CertificatePolicy); -#pragma warning restore CS0619 - } - - [Fact] public static void CheckCertificateRevocationList_Roundtrips() { Assert.False(ServicePointManager.CheckCertificateRevocationList); diff --git a/src/System.Net.ServicePoint/tests/System.Net.ServicePoint.Tests.builds b/src/System.Net.ServicePoint/tests/System.Net.ServicePoint.Tests.builds new file mode 100644 index 0000000000..b64e671f86 --- /dev/null +++ b/src/System.Net.ServicePoint/tests/System.Net.ServicePoint.Tests.builds @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <ItemGroup> + <Project Include="System.Net.ServicePoint.Tests.csproj" /> + <Project Include="System.Net.ServicePoint.Tests.csproj"> + <OSGroup>Windows_NT</OSGroup> + <TestTFMs>net463</TestTFMs> + </Project> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" /> +</Project>
\ No newline at end of file diff --git a/src/System.Net.ServicePoint/tests/System.Net.ServicePoint.Tests.csproj b/src/System.Net.ServicePoint/tests/System.Net.ServicePoint.Tests.csproj new file mode 100644 index 0000000000..8ce4ca4641 --- /dev/null +++ b/src/System.Net.ServicePoint/tests/System.Net.ServicePoint.Tests.csproj @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <OutputType>Library</OutputType> + <NugetTargetMoniker>.NETStandard,Version=v1.7</NugetTargetMoniker> + <ProjectGuid>{0D1E2954-A5C7-4B8C-932A-31EB4A96A726}</ProjectGuid> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'netstandard1.7_Debug|AnyCPU' " /> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'netstandard1.7_Release|AnyCPU' " /> + <ItemGroup> + <Compile Include="ServicePointManagerTest.cs" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\pkg\System.Net.ServicePoint.pkgproj"> + <Name>System.Net.ServicePoint</Name> + <Project>{53D09AF4-0C13-4197-B8AD-9746F0374E88}</Project> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <!-- TODO: Remove this reference once packages are updated --> + <ProjectReference Include="..\..\System.Net.Requests\pkg\System.Net.Requests.pkgproj" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> +</Project>
\ No newline at end of file diff --git a/src/System.Net.WebClient/tests/System.Net.WebClient.Tests.csproj b/src/System.Net.WebClient/tests/System.Net.WebClient.Tests.csproj index ac5887736d..0b7fc61d01 100644 --- a/src/System.Net.WebClient/tests/System.Net.WebClient.Tests.csproj +++ b/src/System.Net.WebClient/tests/System.Net.WebClient.Tests.csproj @@ -33,6 +33,7 @@ <!-- TODO: Remove these reference once packages are updated --> <ProjectReference Include="..\..\System.Net.Primitives\pkg\System.Net.Primitives.pkgproj" /> <ProjectReference Include="..\..\System.Net.Requests\pkg\System.Net.Requests.pkgproj" /> + <ProjectReference Include="..\..\System.Net.ServicePoint\pkg\System.Net.ServicePoint.pkgproj" /> </ItemGroup> <ItemGroup> <None Include="project.json" /> |