Imported Upstream version 5.2.0.175

Former-commit-id: bb0468d0f257ff100aa895eb5fe583fb5dfbf900
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2017-06-07 13:16:24 +00:00
parent 4bdbaf4a88
commit 966bba02bb
8776 changed files with 346420 additions and 149650 deletions

View File

@@ -1,82 +1,38 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25123.0
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.DirectoryServices.Protocols", "src\System.DirectoryServices.Protocols.csproj", "{879C23DC-D828-4DFB-8E92-ABBC11B71035}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ref", "ref", "{E37A8E5B-B822-436D-84FD-99EE46C0733F}"
ProjectSection(SolutionItems) = preProject
ref\project.lock.json = ref\project.lock.json
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.DirectoryServices.Protocols", "src\System.DirectoryServices.Protocols.csproj", "{135980AC-4583-44EC-894E-CB3B1A481920}"
ProjectSection(ProjectDependencies) = postProject
{7DEA4539-9A0D-4801-B229-3824710EBCEE} = {7DEA4539-9A0D-4801-B229-3824710EBCEE}
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.DirectoryServices.Protocols", "ref\System.DirectoryServices.Protocols.csproj", "{2F7F1E21-0277-436B-85B8-E8FFA902FA66}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.DirectoryServices.Protocols", "ref\System.DirectoryServices.Protocols.csproj", "{7DEA4539-9A0D-4801-B229-3824710EBCEE}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{AD3CFC4E-B3AE-4931-B631-C39216ABD115}"
ProjectSection(SolutionItems) = preProject
src\System.DirectoryServices.Protocols.builds = src\System.DirectoryServices.Protocols.builds
EndProjectSection
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E107E9C1-E893-4E87-987E-04EF0DCEAEFD}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ref", "ref", "{2E666815-2EDB-464B-9DF6-380BF4789AD4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
net46_Debug|Any CPU = net46_Debug|Any CPU
net46_Release|Any CPU = net46_Release|Any CPU
Release|Any CPU = Release|Any CPU
Unix_Debug|Any CPU = Unix_Debug|Any CPU
Unix_Release|Any CPU = Unix_Release|Any CPU
Windows_Debug|Any CPU = Windows_Debug|Any CPU
Windows_netcore50_Debug|Any CPU = Windows_netcore50_Debug|Any CPU
Windows_netcore50_Release|Any CPU = Windows_netcore50_Release|Any CPU
Windows_Release|Any CPU = Windows_Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Debug|Any CPU.ActiveCfg = Windows_Debug|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Debug|Any CPU.Build.0 = Windows_Debug|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.net46_Debug|Any CPU.ActiveCfg = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.net46_Debug|Any CPU.Build.0 = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.net46_Release|Any CPU.ActiveCfg = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.net46_Release|Any CPU.Build.0 = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Release|Any CPU.ActiveCfg = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Release|Any CPU.Build.0 = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Unix_Debug|Any CPU.ActiveCfg = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Unix_Debug|Any CPU.Build.0 = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Unix_Release|Any CPU.ActiveCfg = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Unix_Release|Any CPU.Build.0 = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Windows_Debug|Any CPU.ActiveCfg = Windows_Debug|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Windows_Debug|Any CPU.Build.0 = Windows_Debug|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Windows_netcore50_Debug|Any CPU.ActiveCfg = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Windows_netcore50_Debug|Any CPU.Build.0 = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Windows_netcore50_Release|Any CPU.ActiveCfg = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Windows_netcore50_Release|Any CPU.Build.0 = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Windows_Release|Any CPU.ActiveCfg = Windows_Release|Any CPU
{879C23DC-D828-4DFB-8E92-ABBC11B71035}.Windows_Release|Any CPU.Build.0 = Windows_Release|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.net46_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.net46_Debug|Any CPU.Build.0 = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.net46_Release|Any CPU.ActiveCfg = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.net46_Release|Any CPU.Build.0 = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Release|Any CPU.Build.0 = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Unix_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Unix_Debug|Any CPU.Build.0 = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Unix_Release|Any CPU.ActiveCfg = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Unix_Release|Any CPU.Build.0 = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Windows_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Windows_Debug|Any CPU.Build.0 = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Windows_netcore50_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Windows_netcore50_Debug|Any CPU.Build.0 = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Windows_netcore50_Release|Any CPU.ActiveCfg = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Windows_netcore50_Release|Any CPU.Build.0 = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Windows_Release|Any CPU.ActiveCfg = Debug|Any CPU
{2F7F1E21-0277-436B-85B8-E8FFA902FA66}.Windows_Release|Any CPU.Build.0 = Debug|Any CPU
{135980AC-4583-44EC-894E-CB3B1A481920}.Debug|Any CPU.ActiveCfg = netstandard-Windows_NT-Debug|Any CPU
{135980AC-4583-44EC-894E-CB3B1A481920}.Debug|Any CPU.Build.0 = netstandard-Windows_NT-Debug|Any CPU
{135980AC-4583-44EC-894E-CB3B1A481920}.Release|Any CPU.ActiveCfg = netstandard-Windows_NT-Release|Any CPU
{135980AC-4583-44EC-894E-CB3B1A481920}.Release|Any CPU.Build.0 = netstandard-Windows_NT-Release|Any CPU
{7DEA4539-9A0D-4801-B229-3824710EBCEE}.Debug|Any CPU.ActiveCfg = netstandard-Windows_NT-Debug|Any CPU
{7DEA4539-9A0D-4801-B229-3824710EBCEE}.Debug|Any CPU.Build.0 = netstandard-Windows_NT-Debug|Any CPU
{7DEA4539-9A0D-4801-B229-3824710EBCEE}.Release|Any CPU.ActiveCfg = netstandard-Windows_NT-Release|Any CPU
{7DEA4539-9A0D-4801-B229-3824710EBCEE}.Release|Any CPU.Build.0 = netstandard-Windows_NT-Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{879C23DC-D828-4DFB-8E92-ABBC11B71035} = {AD3CFC4E-B3AE-4931-B631-C39216ABD115}
{2F7F1E21-0277-436B-85B8-E8FFA902FA66} = {E37A8E5B-B822-436D-84FD-99EE46C0733F}
{135980AC-4583-44EC-894E-CB3B1A481920} = {E107E9C1-E893-4E87-987E-04EF0DCEAEFD}
{7DEA4539-9A0D-4801-B229-3824710EBCEE} = {2E666815-2EDB-464B-9DF6-380BF4789AD4}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<BuildConfigurations>
<!-- Empty build configurations as this project is not currently building for any vertical -->
;
</BuildConfigurations>
</PropertyGroup>
</Project>

View File

@@ -1,10 +0,0 @@
<?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.DirectoryServices.Protocols.pkgproj"/>
-->
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" />
</Project>

View File

@@ -5,7 +5,7 @@
<ProjectReference Include="..\ref\System.DirectoryServices.Protocols.csproj">
<SupportedFramework>netcoreapp2.0;$(AllXamarinFrameworks)</SupportedFramework>
</ProjectReference>
<ProjectReference Include="..\src\System.DirectoryServices.Protocols.builds" />
<ProjectReference Include="..\src\System.DirectoryServices.Protocols.csproj" />
<InboxOnTargetFramework Include="MonoAndroid10" />
<InboxOnTargetFramework Include="MonoTouch10" />
<InboxOnTargetFramework Include="xamarinios10" />

View File

@@ -2,7 +2,7 @@
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<BuildConfigurations>
;
netstandard-Windows_NT;
</BuildConfigurations>
</PropertyGroup>
</Project>

View File

@@ -1,11 +1,26 @@
<?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>{7DEA4539-9A0D-4801-B229-3824710EBCEE}</ProjectGuid>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard-Windows_NT-Debug|AnyCPU'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard-Windows_NT-Release|AnyCPU'" />
<ItemGroup>
<Compile Include="System.DirectoryServices.Protocols.cs" />
<ProjectReference Include="..\..\System.DirectoryServices\ref\System.DirectoryServices.csproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\System.Runtime\ref\System.Runtime.csproj" />
<Reference Include="System.Collections" />
<Reference Include="System.Collections.NonGeneric" />
<Reference Include="System.ComponentModel" />
<Reference Include="System.IO.FileSystem.AccessControl" />
<Reference Include="System.Runtime" />
<Reference Include="System.Runtime.Extensions" />
<Reference Include="System.Runtime.InteropServices" />
<Reference Include="System.Security.AccessControl" />
<Reference Include="System.Security.Permissions" />
<Reference Include="System.Security.Principal.Windows" />
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
</Project>

View File

@@ -2,8 +2,7 @@
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<BuildConfigurations>
<!-- Empty build configurations as this project is not currently building for any vertical -->
;
netstandard-Windows_NT;
</BuildConfigurations>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,492 @@
<?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="DsmlNonHttpUri" xml:space="preserve">
<value>The URI that is supplied must be either "http" or "https".</value>
</data>
<data name="NoNegativeTime" xml:space="preserve">
<value>A negative value is not permitted for the time limit.</value>
</data>
<data name="NoNegativeSizeLimit" xml:space="preserve">
<value>A negative value is not permitted for the size limit.</value>
</data>
<data name="InvalidDocument" xml:space="preserve">
<value>The DSML document could not be parsed.</value>
</data>
<data name="MissingSessionId" xml:space="preserve">
<value>The server failed to return a session identifier.</value>
</data>
<data name="MissingResponse" xml:space="preserve">
<value>The server failed to return a DirectoryResponse.</value>
</data>
<data name="ErrorResponse" xml:space="preserve">
<value>An ErrorResponse DSML element was returned.</value>
</data>
<data name="BadControl" xml:space="preserve">
<value>The server returned an invalid DSML control.</value>
</data>
<data name="NullDirectoryAttribute" xml:space="preserve">
<value>A null reference cannot be added to DirectoryAttribute or DirectoryAttributeModification objects. </value>
</data>
<data name="NullDirectoryAttributeCollection" xml:space="preserve">
<value>A null reference cannot be added to DirectoryAttributeCollection or DirectoryAttributeModificationCollection objects. </value>
</data>
<data name="WhiteSpaceServerName" xml:space="preserve">
<value>Server names cannot contain a space character.</value>
</data>
<data name="DirectoryAttributeConversion" xml:space="preserve">
<value>A DirectoryAttribute value can only be converted between byte array and string.</value>
</data>
<data name="WrongNumValuesCompare" xml:space="preserve">
<value>Only one value can be specified for the compare operation.</value>
</data>
<data name="WrongAssertionCompare" xml:space="preserve">
<value>The assertion is null and is invalid for the compare operation.</value>
</data>
<data name="DefaultOperationsError" xml:space="preserve">
<value>An unspecified operation error occurred.</value>
</data>
<data name="BadSearchLDAPFilter" xml:space="preserve">
<value>The LDAP filter string is invalid.</value>
</data>
<data name="ReadOnlyProperty" xml:space="preserve">
<value>The property is read-only.</value>
</data>
<data name="MissingOperationResponseResultCode" xml:space="preserve">
<value>The operation response is missing the result code.</value>
</data>
<data name="MissingSearchResultEntryDN" xml:space="preserve">
<value>The distinguished name is missing in the SearchResultEntry of the search response.</value>
</data>
<data name="MissingSearchResultEntryAttributeName" xml:space="preserve">
<value>The search result is missing the attribute name.</value>
</data>
<data name="BadOperationResponseResultCode" xml:space="preserve">
<value>The server returned an unknown result code "{0}".</value>
</data>
<data name="MissingErrorResponseType" xml:space="preserve">
<value>The error response is missing the type attribute.</value>
</data>
<data name="ErrorResponseInvalidValue" xml:space="preserve">
<value>The error response contains an invalid type attribute "{0}".</value>
</data>
<data name="NotSupportOnDsmlErrRes" xml:space="preserve">
<value>This property is not supported on a DsmlErrorResponse.</value>
</data>
<data name="BadBase64Value" xml:space="preserve">
<value>The value is invalid base-64-encoded data.</value>
</data>
<data name="WrongAuthType" xml:space="preserve">
<value>The DsmlSoapHttpConnection does not support "{0}" authentication type.</value>
</data>
<data name="SessionInUse" xml:space="preserve">
<value>An active session already exists for this connection.</value>
</data>
<data name="ReadOnlyDocument" xml:space="preserve">
<value>The document is read-only.</value>
</data>
<data name="NotWellFormedResponse" xml:space="preserve">
<value>The response from the server is not a well-formed DSML document.</value>
</data>
<data name="NoCurrentSession" xml:space="preserve">
<value>No active session exists for this connection.</value>
</data>
<data name="UnknownResponseElement" xml:space="preserve">
<value>The server returned an unknown response element.</value>
</data>
<data name="InvalidClientCertificates" xml:space="preserve">
<value>ClientCertificates can contain only zero or one certificate.</value>
</data>
<data name="InvalidAuthCredential" xml:space="preserve">
<value>The user name and password must be null when the authentication type is anonymous.</value>
</data>
<data name="InvalidLdapSearchRequestFilter" xml:space="preserve">
<value>The LDAP connection only accepts SearchRequest objects that have string type filters.</value>
</data>
<data name="PartialResultsNotSupported" xml:space="preserve">
<value>Retrieval of partial results set is supported only by the SearchRequest object.</value>
</data>
<data name="BerConverterNotMatch" xml:space="preserve">
<value>The "format" string argument and the passed in "value" argument do not match.</value>
</data>
<data name="BerConverterUndefineChar" xml:space="preserve">
<value>The "format" string contains an invalid character.</value>
</data>
<data name="BerConversionError" xml:space="preserve">
<value>An error occurred during the BER conversion.</value>
</data>
<data name="TLSStopFailure" xml:space="preserve">
<value>The Stop TLS operation failed.</value>
</data>
<data name="NoPartialResults" xml:space="preserve">
<value>The LDAP connection cannot retrieve a partial result set.</value>
</data>
<data name="DefaultLdapError" xml:space="preserve">
<value>The LDAP server returned an unknown error.</value>
</data>
<data name="LDAP_PARTIAL_RESULTS" xml:space="preserve">
<value>Only partial results and referrals were received.</value>
</data>
<data name="LDAP_IS_LEAF" xml:space="preserve">
<value>The object is a leaf.</value>
</data>
<data name="LDAP_SORT_CONTROL_MISSING" xml:space="preserve">
<value>The search requires a SORT control.</value>
</data>
<data name="LDAP_OFFSET_RANGE_ERROR" xml:space="preserve">
<value>The search results exceed the specified offset range.</value>
</data>
<data name="LDAP_RESULTS_TOO_LARGE" xml:space="preserve">
<value>The returned results are too large.</value>
</data>
<data name="LDAP_SERVER_DOWN" xml:space="preserve">
<value>The LDAP server is unavailable.</value>
</data>
<data name="LDAP_LOCAL_ERROR" xml:space="preserve">
<value>A local error occurred.</value>
</data>
<data name="LDAP_ENCODING_ERROR" xml:space="preserve">
<value>An encoding error occurred.</value>
</data>
<data name="LDAP_DECODING_ERROR" xml:space="preserve">
<value>A decoding error occurred.</value>
</data>
<data name="LDAP_TIMEOUT" xml:space="preserve">
<value>The operation was aborted because the client side timeout limit was exceeded. </value>
</data>
<data name="LDAP_AUTH_UNKNOWN" xml:space="preserve">
<value>An unknown authentication error occurred.</value>
</data>
<data name="LDAP_FILTER_ERROR" xml:space="preserve">
<value>The search filter is invalid.</value>
</data>
<data name="LDAP_USER_CANCELLED" xml:space="preserve">
<value>The user cancelled the operation.</value>
</data>
<data name="LDAP_PARAM_ERROR" xml:space="preserve">
<value>A bad parameter was passed to a routine.</value>
</data>
<data name="LDAP_NO_MEMORY" xml:space="preserve">
<value>There is not enough memory to perform the task.</value>
</data>
<data name="LDAP_CONNECT_ERROR" xml:space="preserve">
<value>The connection cannot be established. </value>
</data>
<data name="LDAP_NOT_SUPPORTED" xml:space="preserve">
<value>The feature is not supported. </value>
</data>
<data name="LDAP_NO_RESULTS_RETURNED" xml:space="preserve">
<value>No results were returned. </value>
</data>
<data name="LDAP_CONTROL_NOT_FOUND" xml:space="preserve">
<value>The specified control was not found. </value>
</data>
<data name="LDAP_MORE_RESULTS_TO_RETURN" xml:space="preserve">
<value>More results will be returned.</value>
</data>
<data name="LDAP_CLIENT_LOOP" xml:space="preserve">
<value>A client loop was detected.</value>
</data>
<data name="LDAP_REFERRAL_LIMIT_EXCEEDED" xml:space="preserve">
<value>The referral limit has been exceeded.</value>
</data>
<data name="LDAP_INVALID_CREDENTIALS" xml:space="preserve">
<value>The supplied credential is invalid.</value>
</data>
<data name="LDAP_SUCCESS" xml:space="preserve">
<value>The call completed successfully.</value>
</data>
<data name="NoSessionIDReturned" xml:space="preserve">
<value>The server failed to return a session identifier.</value>
</data>
<data name="LDAP_OPERATIONS_ERROR" xml:space="preserve">
<value>An operation error occurred.</value>
</data>
<data name="LDAP_PROTOCOL_ERROR" xml:space="preserve">
<value>A protocol error occurred.</value>
</data>
<data name="LDAP_TIMELIMIT_EXCEEDED" xml:space="preserve">
<value>The time limit set by the server-side time limit parameter was exceeded.</value>
</data>
<data name="LDAP_SIZELIMIT_EXCEEDED" xml:space="preserve">
<value>The size limit was exceeded</value>
</data>
<data name="LDAP_COMPARE_FALSE" xml:space="preserve">
<value>The attribute and known values do not match.</value>
</data>
<data name="LDAP_COMPARE_TRUE" xml:space="preserve">
<value>The attribute and known values match.</value>
</data>
<data name="LDAP_AUTH_METHOD_NOT_SUPPORTED" xml:space="preserve">
<value>The authentication method is not supported.</value>
</data>
<data name="LDAP_STRONG_AUTH_REQUIRED" xml:space="preserve">
<value>Strong authentication is required for this operation.</value>
</data>
<data name="LDAP_REFERRAL" xml:space="preserve">
<value>A referral was returned from the server.</value>
</data>
<data name="LDAP_ADMIN_LIMIT_EXCEEDED" xml:space="preserve">
<value>The administration limit on the server was exceeded.</value>
</data>
<data name="LDAP_UNAVAILABLE_CRIT_EXTENSION" xml:space="preserve">
<value>The server does not support the control. The control is critical.</value>
</data>
<data name="LDAP_CONFIDENTIALITY_REQUIRED" xml:space="preserve">
<value>Confidentiality is required for this operation.</value>
</data>
<data name="LDAP_SASL_BIND_IN_PROGRESS" xml:space="preserve">
<value>A SASL bind is in progress.</value>
</data>
<data name="LDAP_NO_SUCH_ATTRIBUTE" xml:space="preserve">
<value>The requested attribute does not exist.</value>
</data>
<data name="LDAP_UNDEFINED_TYPE" xml:space="preserve">
<value>The type is not defined.</value>
</data>
<data name="LDAP_INAPPROPRIATE_MATCHING" xml:space="preserve">
<value>The matching rule does not apply to the specified attribute type.</value>
</data>
<data name="LDAP_CONSTRAINT_VIOLATION" xml:space="preserve">
<value>A value in the request is invalid.</value>
</data>
<data name="LDAP_ATTRIBUTE_OR_VALUE_EXISTS" xml:space="preserve">
<value>The attribute exists or the value has been assigned.</value>
</data>
<data name="LDAP_INVALID_SYNTAX" xml:space="preserve">
<value>The syntax is invalid.</value>
</data>
<data name="LDAP_NO_SUCH_OBJECT" xml:space="preserve">
<value>The object does not exist.</value>
</data>
<data name="LDAP_ALIAS_PROBLEM" xml:space="preserve">
<value>The alias is invalid.</value>
</data>
<data name="LDAP_INVALID_DN_SYNTAX" xml:space="preserve">
<value>The distinguished name contains invalid syntax.</value>
</data>
<data name="LDAP_ALIAS_DEREF_PROBLEM" xml:space="preserve">
<value>An error occurred when dereferencing the alias.</value>
</data>
<data name="LDAP_INAPPROPRIATE_AUTH" xml:space="preserve">
<value>The authentication that was provided was not appropriate.</value>
</data>
<data name="LDAP_INSUFFICIENT_RIGHTS" xml:space="preserve">
<value>The user has insufficient access rights.</value>
</data>
<data name="LDAP_BUSY" xml:space="preserve">
<value>The server is busy.</value>
</data>
<data name="LDAP_UNAVAILABLE" xml:space="preserve">
<value>The server is unavailable.</value>
</data>
<data name="LDAP_UNWILLING_TO_PERFORM" xml:space="preserve">
<value>The server cannot handle directory requests.</value>
</data>
<data name="LDAP_LOOP_DETECT" xml:space="preserve">
<value>The chain of referrals has looped back to a referring server.</value>
</data>
<data name="LDAP_NAMING_VIOLATION" xml:space="preserve">
<value>A naming violation occurred.</value>
</data>
<data name="LDAP_OBJECT_CLASS_VIOLATION" xml:space="preserve">
<value>An object class violation occurred.</value>
</data>
<data name="LDAP_NOT_ALLOWED_ON_NONLEAF" xml:space="preserve">
<value>This operation is not allowed on a non-leaf object.</value>
</data>
<data name="LDAP_NOT_ALLOWED_ON_RDN" xml:space="preserve">
<value>This operation is not allowed on a relative distinguished name.</value>
</data>
<data name="LDAP_ALREADY_EXISTS" xml:space="preserve">
<value>The object exists.</value>
</data>
<data name="LDAP_NO_OBJECT_CLASS_MODS" xml:space="preserve">
<value>The request is attempting to modify an object class that cannot be modified.</value>
</data>
<data name="LDAP_AFFECTS_MULTIPLE_DSAS" xml:space="preserve">
<value>Multiple directory service agents are affected.</value>
</data>
<data name="LDAP_VIRTUAL_LIST_VIEW_ERROR" xml:space="preserve">
<value>An error occurred when attempting to perform a requested Virtual List View operation. </value>
</data>
<data name="LDAP_OTHER" xml:space="preserve">
<value>An unknown error occurred.</value>
</data>
<data name="LDAP_SEND_TIMEOUT" xml:space="preserve">
<value>The operation was aborted because the send timeout limit was exceeded.</value>
</data>
<data name="InvalidAsyncResult" xml:space="preserve">
<value>The async result is invalid.</value>
</data>
<data name="ValidDirectoryAttributeType" xml:space="preserve">
<value>The "value" parameter must be a string or byte[] type.</value>
</data>
<data name="ValidFilterType" xml:space="preserve">
<value>The "filter" parameter must be a string or DsmlDocument type.</value>
</data>
<data name="ValidValuesType" xml:space="preserve">
<value>The "values" parameter must be a string[], byte[][], or Uri[] type.</value>
</data>
<data name="ValidValueType" xml:space="preserve">
<value>The value must be a string, byte[], or Uri type.</value>
</data>
<data name="SupportedPlatforms" xml:space="preserve">
<value>System.DirectoryServices.Protocols namespace is only supported on Windows 2000 and later operating systems.</value>
</data>
<data name="TLSNotSupported" xml:space="preserve">
<value>Transport layer security is not supported on Windows 2000.</value>
</data>
<data name="InvalidValueType" xml:space="preserve">
<value>The specified parameter should be a "{0}" type.</value>
</data>
<data name="ValidValue" xml:space="preserve">
<value>The value must be greater than or equal to 0.</value>
</data>
<data name="ContainNullControl" xml:space="preserve">
<value>The collection cannot contain a null DirectoryControl object.</value>
</data>
<data name="InvalidFilterType" xml:space="preserve">
<value>The filter type "{0}" is invalid.</value>
</data>
<data name="NotReturnedAsyncResult" xml:space="preserve">
<value>The value "{0}" is not the return value from BeginSendRequest.</value>
</data>
<data name="DsmlAuthRequestNotSupported" xml:space="preserve">
<value>LdapConnection object does not support DsmlAuthRequest.</value>
</data>
<data name="CallBackIsNull" xml:space="preserve">
<value>Callback function can not be null when partial result processing is in ReturnPartialResultsAndNotifyCallback mode.</value>
</data>
<data name="NullValueArray" xml:space="preserve">
<value>The array should not contain null reference.</value>
</data>
<data name="NonCLSException" xml:space="preserve">
<value>A non-CLSCompliant exception is thrown.</value>
</data>
<data name="ConcurrentBindNotSupport" xml:space="preserve">
<value>Fast concurrent bind is only supported on Windows 2003 and later operating systems.</value>
</data>
<data name="TimespanExceedMax" xml:space="preserve">
<value>The value exceeds the maximum allowed.</value>
</data>
<data name="InvliadRequestType" xml:space="preserve">
<value>The specified request is not supported.</value>
</data>
</root>

View File

@@ -1,132 +0,0 @@
; Resources for System.DirectoryServices component
; Copyright (c) 2000 Microsoft Corporation
; Exceptions messages
DsmlNonHttpUri=The URI that is supplied must be either "http" or "https".
NoNegativeTime=A negative value is not permitted for the time limit.
NoNegativeSizeLimit=A negative value is not permitted for the size limit.
InvalidDocument=The DSML document could not be parsed.
MissingSessionId=The server failed to return a session identifier.
MissingResponse=The server failed to return a DirectoryResponse.
ErrorResponse=An ErrorResponse DSML element was returned.
BadControl=The server returned an invalid DSML control.
NullDirectoryAttribute=A null reference cannot be added to DirectoryAttribute or DirectoryAttributeModification objects.
NullDirectoryAttributeCollection=A null reference cannot be added to DirectoryAttributeCollection or DirectoryAttributeModificationCollection objects.
WhiteSpaceServerName=Server names cannot contain a space character.
DirectoryAttributeConversion=A DirectoryAttribute value can only be converted between byte array and string.
WrongNumValuesCompare=Only one value can be specified for the compare operation.
WrongAssertionCompare=The assertion is null and is invalid for the compare operation.
DefaultOperationsError=An unspecified operation error occurred.
BadSearchLDAPFilter=The LDAP filter string is invalid.
ReadOnlyProperty=The property is read-only.
MissingOperationResponseResultCode=The operation response is missing the result code.
MissingSearchResultEntryDN=The distinguished name is missing in the SearchResultEntry of the search response.
MissingSearchResultEntryAttributeName=The search result is missing the attribute name.
BadOperationResponseResultCode=The server returned an unknown result code "{0}".
MissingErrorResponseType=The error response is missing the type attribute.
ErrorResponseInvalidValue=The error response contains an invalid type attribute "{0}".
NotSupportOnDsmlErrRes=This property is not supported on a DsmlErrorResponse.
BadBase64Value=The value is invalid base-64-encoded data.
WrongAuthType=The DsmlSoapHttpConnection does not support "{0}" authentication type.
SessionInUse=An active session already exists for this connection.
ReadOnlyDocument=The document is read-only.
NotWellFormedResponse=The response from the server is not a well-formed DSML document.
NoCurrentSession=No active session exists for this connection.
UnknownResponseElement=The server returned an unknown response element.
InvalidClientCertificates=ClientCertificates can contain only zero or one certificate.
InvalidAuthCredential=The user name and password must be null when the authentication type is anonymous.
InvalidLdapSearchRequestFilter=The LDAP connection only accepts SearchRequest objects that have string type filters.
PartialResultsNotSupported=Retrieval of partial results set is supported only by the SearchRequest object.
BerConverterNotMatch=The "format" string argument and the passed in "value" argument do not match.
BerConverterUndefineChar=The "format" string contains an invalid character.
BerConversionError=An error occurred during the BER conversion.
TLSStopFailure=The Stop TLS operation failed.
NoPartialResults=The LDAP connection cannot retrieve a partial result set.
DefaultLdapError=The LDAP server returned an unknown error.
LDAP_PARTIAL_RESULTS=Only partial results and referrals were received.
LDAP_IS_LEAF=The object is a leaf.
LDAP_SORT_CONTROL_MISSING=The search requires a SORT control.
LDAP_OFFSET_RANGE_ERROR=The search results exceed the specified offset range.
LDAP_RESULTS_TOO_LARGE=The returned results are too large.
LDAP_SERVER_DOWN=The LDAP server is unavailable.
LDAP_LOCAL_ERROR=A local error occurred.
LDAP_ENCODING_ERROR=An encoding error occurred.
LDAP_DECODING_ERROR=A decoding error occurred.
LDAP_TIMEOUT=The operation was aborted because the client side timeout limit was exceeded.
LDAP_AUTH_UNKNOWN=An unknown authentication error occurred.
LDAP_FILTER_ERROR=The search filter is invalid.
LDAP_USER_CANCELLED=The user cancelled the operation.
LDAP_PARAM_ERROR=A bad parameter was passed to a routine.
LDAP_NO_MEMORY=There is not enough memory to perform the task.
LDAP_CONNECT_ERROR=The connection cannot be established.
LDAP_NOT_SUPPORTED=The feature is not supported.
LDAP_NO_RESULTS_RETURNED=No results were returned.
LDAP_CONTROL_NOT_FOUND=The specified control was not found.
LDAP_MORE_RESULTS_TO_RETURN=More results will be returned.
LDAP_CLIENT_LOOP=A client loop was detected.
LDAP_REFERRAL_LIMIT_EXCEEDED=The referral limit has been exceeded.
LDAP_INVALID_CREDENTIALS=The supplied credential is invalid.
LDAP_SUCCESS=The call completed successfully.
NoSessionIDReturned=The server failed to return a session identifier.
LDAP_OPERATIONS_ERROR=An operation error occurred.
LDAP_PROTOCOL_ERROR=A protocol error occurred.
LDAP_TIMELIMIT_EXCEEDED=The time limit set by the server-side time limit parameter was exceeded.
LDAP_SIZELIMIT_EXCEEDED=The size limit was exceeded
LDAP_COMPARE_FALSE=The attribute and known values do not match.
LDAP_COMPARE_TRUE=The attribute and known values match.
LDAP_AUTH_METHOD_NOT_SUPPORTED=The authentication method is not supported.
LDAP_STRONG_AUTH_REQUIRED=Strong authentication is required for this operation.
LDAP_REFERRAL=A referral was returned from the server.
LDAP_ADMIN_LIMIT_EXCEEDED=The administration limit on the server was exceeded.
LDAP_UNAVAILABLE_CRIT_EXTENSION=The server does not support the control. The control is critical.
LDAP_CONFIDENTIALITY_REQUIRED=Confidentiality is required for this operation.
LDAP_SASL_BIND_IN_PROGRESS=A SASL bind is in progress.
LDAP_NO_SUCH_ATTRIBUTE=The requested attribute does not exist.
LDAP_UNDEFINED_TYPE=The type is not defined.
LDAP_INAPPROPRIATE_MATCHING=The matching rule does not apply to the specified attribute type.
LDAP_CONSTRAINT_VIOLATION=A value in the request is invalid.
LDAP_ATTRIBUTE_OR_VALUE_EXISTS=The attribute exists or the value has been assigned.
LDAP_INVALID_SYNTAX=The syntax is invalid.
LDAP_NO_SUCH_OBJECT=The object does not exist.
LDAP_ALIAS_PROBLEM=The alias is invalid.
LDAP_INVALID_DN_SYNTAX=The distinguished name contains invalid syntax.
LDAP_ALIAS_DEREF_PROBLEM=An error occurred when dereferencing the alias.
LDAP_INAPPROPRIATE_AUTH=The authentication that was provided was not appropriate.
LDAP_INSUFFICIENT_RIGHTS=The user has insufficient access rights.
LDAP_BUSY=The server is busy.
LDAP_UNAVAILABLE=The server is unavailable.
LDAP_UNWILLING_TO_PERFORM=The server cannot handle directory requests.
LDAP_LOOP_DETECT=The chain of referrals has looped back to a referring server.
LDAP_NAMING_VIOLATION=A naming violation occurred.
LDAP_OBJECT_CLASS_VIOLATION=An object class violation occurred.
LDAP_NOT_ALLOWED_ON_NONLEAF=This operation is not allowed on a non-leaf object.
LDAP_NOT_ALLOWED_ON_RDN=This operation is not allowed on a relative distinguished name.
LDAP_ALREADY_EXISTS=The object exists.
LDAP_NO_OBJECT_CLASS_MODS=The request is attempting to modify an object class that cannot be modified.
LDAP_AFFECTS_MULTIPLE_DSAS=Multiple directory service agents are affected.
LDAP_VIRTUAL_LIST_VIEW_ERROR=An error occurred when attempting to perform a requested Virtual List View operation.
LDAP_OTHER=An unknown error occurred.
LDAP_SEND_TIMEOUT=The operation was aborted because the send timeout limit was exceeded.
InvalidAsyncResult=The async result is invalid.
ValidDirectoryAttributeType=The "value" parameter must be a string or byte[] type.
ValidFilterType=The "filter" parameter must be a string or DsmlDocument type.
ValidValuesType=The "values" parameter must be a string[], byte[][], or Uri[] type.
ValidValueType=The value must be a string, byte[], or Uri type.
SupportedPlatforms=System.DirectoryServices.Protocols namespace is only supported on Windows 2000 and later operating systems.
TLSNotSupported=Transport layer security is not supported on Windows 2000.
InvalidValueType=The specified parameter should be a "{0}" type.
ValidValue=The value must be greater than or equal to 0.
ContainNullControl=The collection cannot contain a null DirectoryControl object.
InvalidFilterType=The filter type "{0}" is invalid.
NotReturnedAsyncResult=The value "{0}" is not the return value from BeginSendRequest.
DsmlAuthRequestNotSupported=LdapConnection object does not support DsmlAuthRequest.
CallBackIsNull=Callback function can not be null when partial result processing is in ReturnPartialResultsAndNotifyCallback mode.
NullValueArray=The array should not contain null reference.
NonCLSException=A non-CLSCompliant exception is thrown.
ConcurrentBindNotSupport=Fast concurrent bind is only supported on Windows 2003 and later operating systems.
TimespanExceedMax=The value exceeds the maximum allowed.
InvliadRequestType=The specified request is not supported.

View File

@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<Configuration Condition="'$(Configuration)'=='' AND '$(TargetGroup)' == ''">Windows_Debug</Configuration>
</PropertyGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
<ProjectGuid>{879C23DC-D828-4DFB-8E92-ABBC11B71035}</ProjectGuid>
<ProjectGuid>{135980AC-4583-44EC-894E-CB3B1A481920}</ProjectGuid>
<AssemblyName>System.DirectoryServices.Protocols</AssemblyName>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>$(NoWarn);0649</NoWarn>
<GeneratePlatformNotSupportedAssembly Condition="'$(TargetsUnix)' == 'true'">true</GeneratePlatformNotSupportedAssembly>
<!-- Although we have a netstandard configuration, we know we are not currently UAP compatible-->
<UWPCompatible>false</UWPCompatible>
</PropertyGroup>
<!-- Help VS understand available configurations -->
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard-Windows_NT-Debug|AnyCPU'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netstandard-Windows_NT-Release|AnyCPU'" />
<ItemGroup>
<Compile Include="System\DirectoryServices\Protocols\externdll.cs" />
<Compile Include="System\DirectoryServices\Protocols\common\AuthTypes.cs" />
@@ -31,18 +31,7 @@
<Compile Include="System\DirectoryServices\Protocols\common\ResultCode.cs" />
<Compile Include="System\DirectoryServices\Protocols\common\SearchResults.cs" />
<Compile Include="System\DirectoryServices\Protocols\common\SearchScope.cs" />
<Compile Include="System\DirectoryServices\Protocols\dsml\adreqresp2.cs" />
<Compile Include="System\DirectoryServices\Protocols\dsml\DsmlAsyncResult.cs" />
<Compile Include="System\DirectoryServices\Protocols\dsml\DsmlConstants.cs" />
<Compile Include="System\DirectoryServices\Protocols\dsml\DsmlDirectoryIdentifier.cs" />
<Compile Include="System\DirectoryServices\Protocols\dsml\DsmlDocument.cs" />
<Compile Include="System\DirectoryServices\Protocols\dsml\DsmlDocumentProcessing.cs" />
<Compile Include="System\DirectoryServices\Protocols\dsml\DsmlException.cs" />
<Compile Include="System\DirectoryServices\Protocols\dsml\dsmlfilterwriter.cs" />
<Compile Include="System\DirectoryServices\Protocols\dsml\DsmlSoapConnection.cs" />
<Compile Include="System\DirectoryServices\Protocols\dsml\DsmlSoapHttpConnection.cs" />
<Compile Include="System\DirectoryServices\Protocols\dsml\filterparser.cs" />
<Compile Include="System\DirectoryServices\Protocols\dsml\utils.cs" />
<Compile Include="System\DirectoryServices\Protocols\common\utils.cs" />
<Compile Include="System\DirectoryServices\Protocols\ldap\LdapAsyncResult.cs" />
<Compile Include="System\DirectoryServices\Protocols\ldap\LdapConnection.cs" />
<Compile Include="System\DirectoryServices\Protocols\ldap\LdapDirectoryIdentifier.cs" />
@@ -51,9 +40,12 @@
<Compile Include="System\DirectoryServices\Protocols\ldap\LdapSessionOptions.cs" />
<Compile Include="System\DirectoryServices\Protocols\ldap\SafeHandles.cs" />
<Compile Include="System\DirectoryServices\Protocols\ldap\Wldap32UnsafeMethods.cs" />
<ProjectReference Include="..\..\System.DirectoryServices\ref\System.DirectoryServices.csproj" />
</ItemGroup>
<ItemGroup>
<None Include="project.json" />
<Reference Include="System.Security.AccessControl" />
<Reference Include="System.Security.Permissions" />
<Reference Include="System.Security.Principal.Windows" />
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
</Project>
</Project>

View File

@@ -6,6 +6,7 @@ namespace System.DirectoryServices.Protocols
{
using System;
using System.Diagnostics;
using System.Globalization;
using System.Runtime.InteropServices;
using System.Collections;
using System.Text;
@@ -16,8 +17,6 @@ namespace System.DirectoryServices.Protocols
public static byte[] Encode(string format, params object[] value)
{
Utility.CheckOSVersion();
if (format == null)
throw new ArgumentNullException("format");
@@ -49,14 +48,14 @@ namespace System.DirectoryServices.Protocols
{
// we don't have enough argument for the format string
Debug.WriteLine("value argument is not valid, valueCount >= value.Length\n");
throw new ArgumentException(Res.GetString(Res.BerConverterNotMatch));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.BerConverterNotMatch));
}
if (!(value[valueCount] is int))
{
// argument is wrong
Debug.WriteLine("type should be int\n");
throw new ArgumentException(Res.GetString(Res.BerConverterNotMatch));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.BerConverterNotMatch));
}
// one int argument
@@ -71,14 +70,14 @@ namespace System.DirectoryServices.Protocols
{
// we don't have enough argument for the format string
Debug.WriteLine("value argument is not valid, valueCount >= value.Length\n");
throw new ArgumentException(Res.GetString(Res.BerConverterNotMatch));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.BerConverterNotMatch));
}
if (!(value[valueCount] is bool))
{
// argument is wrong
Debug.WriteLine("type should be boolean\n");
throw new ArgumentException(Res.GetString(Res.BerConverterNotMatch));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.BerConverterNotMatch));
}
// one int argument
@@ -93,7 +92,7 @@ namespace System.DirectoryServices.Protocols
{
// we don't have enough argument for the format string
Debug.WriteLine("value argument is not valid, valueCount >= value.Length\n");
throw new ArgumentException(Res.GetString(Res.BerConverterNotMatch));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.BerConverterNotMatch));
}
if (value[valueCount] != null && !(value[valueCount] is string))
@@ -101,7 +100,7 @@ namespace System.DirectoryServices.Protocols
// argument is wrong
Debug.WriteLine("type should be string, but receiving value has type of ");
Debug.WriteLine(value[valueCount].GetType());
throw new ArgumentException(Res.GetString(Res.BerConverterNotMatch));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.BerConverterNotMatch));
}
// one string argument
@@ -122,7 +121,7 @@ namespace System.DirectoryServices.Protocols
{
// we don't have enough argument for the format string
Debug.WriteLine("value argument is not valid, valueCount >= value.Length\n");
throw new ArgumentException(Res.GetString(Res.BerConverterNotMatch));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.BerConverterNotMatch));
}
if (value[valueCount] != null && !(value[valueCount] is byte[]))
@@ -130,7 +129,7 @@ namespace System.DirectoryServices.Protocols
// argument is wrong
Debug.WriteLine("type should be byte[], but receiving value has type of ");
Debug.WriteLine(value[valueCount].GetType());
throw new ArgumentException(Res.GetString(Res.BerConverterNotMatch));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.BerConverterNotMatch));
}
byte[] tempValue = (byte[])value[valueCount];
@@ -145,7 +144,7 @@ namespace System.DirectoryServices.Protocols
{
// we don't have enough argument for the format string
Debug.WriteLine("value argument is not valid, valueCount >= value.Length\n");
throw new ArgumentException(Res.GetString(Res.BerConverterNotMatch));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.BerConverterNotMatch));
}
if (value[valueCount] != null && !(value[valueCount] is string[]))
@@ -153,7 +152,7 @@ namespace System.DirectoryServices.Protocols
// argument is wrong
Debug.WriteLine("type should be string[], but receiving value has type of ");
Debug.WriteLine(value[valueCount].GetType());
throw new ArgumentException(Res.GetString(Res.BerConverterNotMatch));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.BerConverterNotMatch));
}
string[] stringValues = (string[])value[valueCount];
@@ -184,7 +183,7 @@ namespace System.DirectoryServices.Protocols
{
// we don't have enough argument for the format string
Debug.WriteLine("value argument is not valid, valueCount >= value.Length\n");
throw new ArgumentException(Res.GetString(Res.BerConverterNotMatch));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.BerConverterNotMatch));
}
if (value[valueCount] != null && !(value[valueCount] is byte[][]))
@@ -192,7 +191,7 @@ namespace System.DirectoryServices.Protocols
// argument is wrong
Debug.WriteLine("type should be byte[][], but receiving value has type of ");
Debug.WriteLine(value[valueCount].GetType());
throw new ArgumentException(Res.GetString(Res.BerConverterNotMatch));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.BerConverterNotMatch));
}
byte[][] tempValue = (byte[][])value[valueCount];
@@ -205,7 +204,7 @@ namespace System.DirectoryServices.Protocols
{
Debug.WriteLine("Format string contains undefined character: ");
Debug.WriteLine(new string(fmt, 1));
throw new ArgumentException(Res.GetString(Res.BerConverterUndefineChar));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.BerConverterUndefineChar));
}
// process the return value
@@ -269,8 +268,6 @@ namespace System.DirectoryServices.Protocols
internal static object[] TryDecode(string format, byte[] value, out bool decodeSucceeded)
{
Utility.CheckOSVersion();
if (format == null)
throw new ArgumentNullException("format");
@@ -430,7 +427,7 @@ namespace System.DirectoryServices.Protocols
else
{
Debug.WriteLine("Format string contains undefined character\n");
throw new ArgumentException(Res.GetString(Res.BerConverterUndefineChar));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.BerConverterUndefineChar));
}
if (error != 0)
@@ -545,11 +542,11 @@ namespace System.DirectoryServices.Protocols
IntPtr valPtr = Marshal.AllocHGlobal(structSize);
Marshal.StructureToPtr(managedBerVal[i], valPtr, false);
tempPtr = (IntPtr)((long)berValArray + Marshal.SizeOf(typeof(IntPtr)) * i);
tempPtr = (IntPtr)((long)berValArray + IntPtr.Size * i);
Marshal.WriteIntPtr(tempPtr, valPtr);
}
tempPtr = (IntPtr)((long)berValArray + Marshal.SizeOf(typeof(IntPtr)) * i);
tempPtr = (IntPtr)((long)berValArray + IntPtr.Size * i);
Marshal.WriteIntPtr(tempPtr, (IntPtr)0);
}
@@ -563,7 +560,7 @@ namespace System.DirectoryServices.Protocols
{
for (int i = 0; i < tempValue.Length; i++)
{
IntPtr ptr = Marshal.ReadIntPtr(berValArray, Marshal.SizeOf(typeof(IntPtr)) * i);
IntPtr ptr = Marshal.ReadIntPtr(berValArray, IntPtr.Size * i);
if (ptr != (IntPtr)0)
Marshal.FreeHGlobal(ptr);
}
@@ -604,7 +601,7 @@ namespace System.DirectoryServices.Protocols
binaryList.Add(berArray);
i++;
tempPtr = Marshal.ReadIntPtr(ptrResult, i * Marshal.SizeOf(typeof(IntPtr)));
tempPtr = Marshal.ReadIntPtr(ptrResult, i * IntPtr.Size);
}
result = new byte[binaryList.Count][];

View File

@@ -5,7 +5,6 @@
namespace System.DirectoryServices.Protocols
{
using System;
using System.Xml;
using System.Collections;
using System.ComponentModel;
using System.Globalization;
@@ -23,7 +22,6 @@ namespace System.DirectoryServices.Protocols
public DirectoryAttribute()
{
Utility.CheckOSVersion();
}
public DirectoryAttribute(string name, string value) : this(name, (object)value)
@@ -71,80 +69,6 @@ namespace System.DirectoryServices.Protocols
}
}
internal DirectoryAttribute(XmlElement node)
{
// retrieve attribute name
string primaryXPath = "@dsml:name";
string secondaryXPath = "@name";
XmlNamespaceManager dsmlNS = NamespaceUtils.GetDsmlNamespaceManager();
XmlAttribute attrName = (XmlAttribute)node.SelectSingleNode(primaryXPath, dsmlNS);
if (attrName == null)
{
// try it without the namespace qualifier, in case the sender omitted it
attrName = (XmlAttribute)node.SelectSingleNode(secondaryXPath, dsmlNS);
if (attrName == null)
{
// the element doesn't have a associated dn
throw new DsmlInvalidDocumentException(Res.GetString(Res.MissingSearchResultEntryAttributeName));
}
_attributeName = attrName.Value;
}
else
{
_attributeName = attrName.Value;
}
// retrieve attribute value
XmlNodeList nodeList = node.SelectNodes("dsml:value", dsmlNS);
if (nodeList.Count != 0)
{
foreach (XmlNode valueNode in nodeList)
{
Debug.Assert(valueNode is XmlElement);
XmlAttribute valueType = (XmlAttribute)valueNode.SelectSingleNode("@xsi:type", dsmlNS);
if (valueType == null)
{
// value type is string
Add(valueNode.InnerText);
}
else
{
// value type is string
if (string.Compare(valueType.Value, "xsd:string", StringComparison.OrdinalIgnoreCase) == 0)
Add(valueNode.InnerText);
else if (string.Compare(valueType.Value, "xsd:base64Binary", StringComparison.OrdinalIgnoreCase) == 0)
{
string base64EncodedValue = valueNode.InnerText;
byte[] binaryValue;
try
{
binaryValue = System.Convert.FromBase64String(base64EncodedValue);
}
catch (FormatException)
{
// server returned invalid base64
throw new DsmlInvalidDocumentException(Res.GetString(Res.BadBase64Value));
}
Add(binaryValue);
}
else if (string.Compare(valueType.Value, "xsd:anyURI", StringComparison.OrdinalIgnoreCase) == 0)
{
Uri uri = new Uri(valueNode.InnerText);
Add(uri);
}
}
}
}
}
public string Name
{
get
@@ -177,7 +101,7 @@ namespace System.DirectoryServices.Protocols
results[i] = (byte[])List[i];
}
else
throw new NotSupportedException(Res.GetString(Res.DirectoryAttributeConversion));
throw new NotSupportedException(String.Format(CultureInfo.CurrentCulture, SR.DirectoryAttributeConversion));
}
return results;
@@ -195,13 +119,13 @@ namespace System.DirectoryServices.Protocols
else if (List[i] is byte[])
results[i] = s_encoder.GetString((byte[])List[i]);
else
throw new NotSupportedException(Res.GetString(Res.DirectoryAttributeConversion));
throw new NotSupportedException(String.Format(CultureInfo.CurrentCulture, SR.DirectoryAttributeConversion));
}
return results;
}
else
throw new ArgumentException(Res.GetString(Res.ValidDirectoryAttributeType), "valuesType");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.ValidDirectoryAttributeType), "valuesType");
}
public object this[int index]
@@ -240,7 +164,7 @@ namespace System.DirectoryServices.Protocols
else if ((value is string) || (value is byte[]) || (value is Uri))
List[index] = value;
else
throw new ArgumentException(Res.GetString(Res.ValidValueType), "value");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.ValidValueType), "value");
}
}
@@ -265,7 +189,7 @@ namespace System.DirectoryServices.Protocols
throw new ArgumentNullException("value");
if (!(value is string) && !(value is byte[]) && !(value is Uri))
throw new ArgumentException(Res.GetString(Res.ValidValueType), "value");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.ValidValueType), "value");
return List.Add(value);
}
@@ -276,11 +200,11 @@ namespace System.DirectoryServices.Protocols
throw new ArgumentNullException("values");
if (!(values is string[]) && !(values is byte[][]) && !(values is Uri[]))
throw new ArgumentException(Res.GetString(Res.ValidValuesType), "values");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.ValidValuesType), "values");
for (int i = 0; i < values.Length; i++)
if (values[i] == null)
throw new ArgumentException(Res.GetString(Res.NullValueArray), "values");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.NullValueArray), "values");
InnerList.AddRange(values);
}
@@ -334,73 +258,7 @@ namespace System.DirectoryServices.Protocols
throw new ArgumentNullException("value");
if (!(value is string) && !(value is byte[]) && !(value is Uri))
throw new ArgumentException(Res.GetString(Res.ValidValueType), "value");
}
internal void ToXmlNodeCommon(XmlElement elemBase)
{
XmlDocument doc = elemBase.OwnerDocument;
XmlAttribute attrName = doc.CreateAttribute("name", null);
attrName.InnerText = Name;
elemBase.Attributes.Append(attrName);
// now create <value> child elements for each attribute value
if (Count != 0)
{
foreach (object o in InnerList)
{
XmlElement elemValue = doc.CreateElement("value", DsmlConstants.DsmlUri);
// Do the proper encoding, based on whether the object is a byte array
// or something else (encoded as a string)
if (o is byte[])
{
// base64 binary encoding
elemValue.InnerText = System.Convert.ToBase64String((byte[])o);
// append the "xsi:type=xsd:base64Binary" tag
XmlAttribute attrXsiType = doc.CreateAttribute("xsi:type", DsmlConstants.XsiUri);
attrXsiType.InnerText = "xsd:base64Binary";
elemValue.Attributes.Append(attrXsiType);
}
else if (o is Uri)
{
elemValue.InnerText = o.ToString();
// append the "xsi:type=xsd:anyURI" tag
XmlAttribute attrXsiType = doc.CreateAttribute("xsi:type", DsmlConstants.XsiUri);
attrXsiType.InnerText = "xsd:anyURI";
elemValue.Attributes.Append(attrXsiType);
}
else
{
// string encoding
elemValue.InnerText = o.ToString();
// append the space tag
if (elemValue.InnerText.StartsWith(" ", StringComparison.Ordinal) || elemValue.InnerText.EndsWith(" ", StringComparison.Ordinal))
{
XmlAttribute attrXsiType = doc.CreateAttribute("xml:space");
attrXsiType.InnerText = "preserve";
elemValue.Attributes.Append(attrXsiType);
}
}
elemBase.AppendChild(elemValue);
}
}
}
internal XmlElement ToXmlNode(XmlDocument doc, string elementName)
{
// create the <attr> element
XmlElement elemAttr = doc.CreateElement(elementName, DsmlConstants.DsmlUri);
// attach the "name" attribute and the <value> child elements
ToXmlNodeCommon(elemAttr);
return elemAttr;
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.ValidValueType), "value");
}
}
@@ -427,39 +285,6 @@ namespace System.DirectoryServices.Protocols
}
}
internal XmlElement ToXmlNode(XmlDocument doc)
{
// create the <modification> element
XmlElement elemAttrMod = doc.CreateElement("modification", DsmlConstants.DsmlUri);
// attach the "name" attribute and the <value> child elements
ToXmlNodeCommon(elemAttrMod);
// attach the "operation" attribute
XmlAttribute attrName = doc.CreateAttribute("operation", null);
switch (Operation)
{
case DirectoryAttributeOperation.Replace:
attrName.InnerText = "replace";
break;
case DirectoryAttributeOperation.Add:
attrName.InnerText = "add";
break;
case DirectoryAttributeOperation.Delete:
attrName.InnerText = "delete";
break;
default:
throw new InvalidEnumArgumentException("Operation", (int)Operation, typeof(DirectoryAttributeOperation));
}
elemAttrMod.Attributes.Append(attrName);
return elemAttrMod;
}
}
public class SearchResultAttributeCollection : DictionaryBase
@@ -515,7 +340,6 @@ namespace System.DirectoryServices.Protocols
{
public DirectoryAttributeCollection()
{
Utility.CheckOSVersion();
}
public DirectoryAttribute this[int index]
@@ -527,7 +351,7 @@ namespace System.DirectoryServices.Protocols
set
{
if (value == null)
throw new ArgumentException(Res.GetString(Res.NullDirectoryAttributeCollection));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.NullDirectoryAttributeCollection));
List[index] = value;
}
@@ -536,7 +360,7 @@ namespace System.DirectoryServices.Protocols
public int Add(DirectoryAttribute attribute)
{
if (attribute == null)
throw new ArgumentException(Res.GetString(Res.NullDirectoryAttributeCollection));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.NullDirectoryAttributeCollection));
return List.Add(attribute);
}
@@ -550,7 +374,7 @@ namespace System.DirectoryServices.Protocols
{
if (c == null)
{
throw new ArgumentException(Res.GetString(Res.NullDirectoryAttributeCollection));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.NullDirectoryAttributeCollection));
}
}
@@ -588,7 +412,7 @@ namespace System.DirectoryServices.Protocols
public void Insert(int index, DirectoryAttribute value)
{
if (value == null)
throw new ArgumentException(Res.GetString(Res.NullDirectoryAttributeCollection));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.NullDirectoryAttributeCollection));
List.Insert(index, value);
}
@@ -601,10 +425,10 @@ namespace System.DirectoryServices.Protocols
protected override void OnValidate(Object value)
{
if (value == null)
throw new ArgumentException(Res.GetString(Res.NullDirectoryAttributeCollection));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.NullDirectoryAttributeCollection));
if (!(value is DirectoryAttribute))
throw new ArgumentException(Res.GetString(Res.InvalidValueType, "DirectoryAttribute"), "value");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.InvalidValueType, "DirectoryAttribute"), "value");
}
}
@@ -612,7 +436,6 @@ namespace System.DirectoryServices.Protocols
{
public DirectoryAttributeModificationCollection()
{
Utility.CheckOSVersion();
}
public DirectoryAttributeModification this[int index]
@@ -624,7 +447,7 @@ namespace System.DirectoryServices.Protocols
set
{
if (value == null)
throw new ArgumentException(Res.GetString(Res.NullDirectoryAttributeCollection));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.NullDirectoryAttributeCollection));
List[index] = value;
}
@@ -633,7 +456,7 @@ namespace System.DirectoryServices.Protocols
public int Add(DirectoryAttributeModification attribute)
{
if (attribute == null)
throw new ArgumentException(Res.GetString(Res.NullDirectoryAttributeCollection));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.NullDirectoryAttributeCollection));
return List.Add(attribute);
}
@@ -647,7 +470,7 @@ namespace System.DirectoryServices.Protocols
{
if (c == null)
{
throw new ArgumentException(Res.GetString(Res.NullDirectoryAttributeCollection));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.NullDirectoryAttributeCollection));
}
}
@@ -685,7 +508,7 @@ namespace System.DirectoryServices.Protocols
public void Insert(int index, DirectoryAttributeModification value)
{
if (value == null)
throw new ArgumentException(Res.GetString(Res.NullDirectoryAttributeCollection));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.NullDirectoryAttributeCollection));
List.Insert(index, value);
}
@@ -698,10 +521,10 @@ namespace System.DirectoryServices.Protocols
protected override void OnValidate(Object value)
{
if (value == null)
throw new ArgumentException(Res.GetString(Res.NullDirectoryAttributeCollection));
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.NullDirectoryAttributeCollection));
if (!(value is DirectoryAttributeModification))
throw new ArgumentException(Res.GetString(Res.InvalidValueType, "DirectoryAttributeModification"), "value");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.InvalidValueType, "DirectoryAttributeModification"), "value");
}
}
}

View File

@@ -5,6 +5,8 @@
namespace System.DirectoryServices.Protocols
{
using System;
using System.DirectoryServices;
using System.Globalization;
using System.Net;
using System.Security.Cryptography.X509Certificates;
using System.Security.Permissions;
@@ -21,8 +23,6 @@ namespace System.DirectoryServices.Protocols
protected DirectoryConnection()
{
Utility.CheckOSVersion();
certificatesCollection = new X509CertificateCollection();
}
@@ -52,7 +52,7 @@ namespace System.DirectoryServices.Protocols
{
if (value < TimeSpan.Zero)
{
throw new ArgumentException(Res.GetString(Res.NoNegativeTime), "value");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.NoNegativeTime), "value");
}
connectionTimeOut = value;
@@ -61,20 +61,12 @@ namespace System.DirectoryServices.Protocols
public virtual NetworkCredential Credential
{
[
DirectoryServicesPermission(SecurityAction.LinkDemand, Unrestricted = true),
EnvironmentPermission(SecurityAction.Assert, Unrestricted = true),
SecurityPermission(SecurityAction.Assert, Flags = SecurityPermissionFlag.UnmanagedCode)
]
set
{
directoryCredential = (value != null) ? new NetworkCredential(value.UserName, value.Password, value.Domain) : null;
}
}
[
DirectoryServicesPermission(SecurityAction.LinkDemand, Unrestricted = true)
]
public abstract DirectoryResponse SendRequest(DirectoryRequest request);
internal NetworkCredential GetCredential()

View File

@@ -5,10 +5,10 @@
namespace System.DirectoryServices.Protocols
{
using System;
using System.Xml;
using System.Collections;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Text;
using System.Runtime.InteropServices;
using System.Security.Principal;
@@ -64,13 +64,10 @@ namespace System.DirectoryServices.Protocols
public SortKey()
{
Utility.CheckOSVersion();
}
public SortKey(string attributeName, string matchingRule, bool reverseOrder)
{
Utility.CheckOSVersion();
AttributeName = attributeName;
_rule = matchingRule;
_order = reverseOrder;
@@ -130,8 +127,6 @@ namespace System.DirectoryServices.Protocols
public DirectoryControl(string type, byte[] value, bool isCritical, bool serverSide)
{
Utility.CheckOSVersion();
_directoryControlType = type;
if (type == null)
throw new ArgumentNullException("type");
@@ -146,88 +141,6 @@ namespace System.DirectoryServices.Protocols
_directoryControlServerSide = serverSide;
}
internal DirectoryControl(XmlElement el)
{
XmlNamespaceManager ns = NamespaceUtils.GetDsmlNamespaceManager();
//
// Populate the control's criticality
//
XmlAttribute attrCriticality = (XmlAttribute)el.SelectSingleNode("@dsml:criticality", ns);
if (attrCriticality == null)
{
// try it without the namespace qualifier, in case the sender omitted it
attrCriticality = (XmlAttribute)el.SelectSingleNode("@criticality", ns);
}
if (attrCriticality == null)
{
// DSML v2 defaults criticality to false if not present in the XML
_directoryControlCriticality = false;
}
else
{
string s = attrCriticality.Value;
if ((s == "true") ||
(s == "1"))
{
_directoryControlCriticality = true;
}
else if ((s == "false") ||
(s == "0"))
{
_directoryControlCriticality = false;
}
else
{
Debug.WriteLine("Processing response, the control has wrong value of crticality specified");
throw new DsmlInvalidDocumentException(Res.GetString(Res.BadControl));
}
}
//
// Populate the control's name (Type)
//
XmlAttribute attrType = (XmlAttribute)el.SelectSingleNode("@dsml:type", ns);
if (attrType == null)
{
// try it without the namespace qualifier, in case the sender omitted it
attrType = (XmlAttribute)el.SelectSingleNode("@type", ns);
}
if (attrType == null)
{
// DSML v2 requires the control to specify a type
Debug.WriteLine("Processing response, the control does not have oid defined");
throw new DsmlInvalidDocumentException(Res.GetString(Res.BadControl));
}
else
{
_directoryControlType = attrType.Value;
}
//
// Populate the control's value
//
XmlElement elemValue = (XmlElement)el.SelectSingleNode("dsml:controlValue", ns);
if (elemValue != null)
{
try
{
this.directoryControlValue = System.Convert.FromBase64String(elemValue.InnerText);
}
catch (FormatException)
{
Debug.WriteLine("Processing response, converting control value failed");
throw new DsmlInvalidDocumentException(Res.GetString(Res.BadControl));
}
}
}
public virtual byte[] GetValue()
{
if (directoryControlValue == null)
@@ -273,44 +186,6 @@ namespace System.DirectoryServices.Protocols
}
}
// Returns an XmlElement representing this control,
// in DSML v2 format.
internal XmlElement ToXmlNode(XmlDocument doc)
{
// create the <control> element
XmlElement elem = doc.CreateElement("control", DsmlConstants.DsmlUri);
// attach the "type" and "criticality" attributes to the <control> element
XmlAttribute attrType = doc.CreateAttribute("type", null);
attrType.InnerText = Type;
elem.Attributes.Append(attrType);
XmlAttribute attrCrit = doc.CreateAttribute("criticality", null);
attrCrit.InnerText = IsCritical ? "true" : "false";
elem.Attributes.Append(attrCrit);
byte[] controlValue = GetValue();
if (controlValue.Length != 0)
{
// create the <controlValue> element
XmlElement elemValue = doc.CreateElement("controlValue", DsmlConstants.DsmlUri);
// append the "xsi:type=xsd:base64Binary" attribute to <controlValue>
XmlAttribute attrXsiType = doc.CreateAttribute("xsi:type", DsmlConstants.XsiUri);
attrXsiType.InnerText = "xsd:base64Binary";
elemValue.Attributes.Append(attrXsiType);
// add in the base-64 encoded value itself
string base64value = System.Convert.ToBase64String(controlValue);
elemValue.InnerText = base64value;
// attach the <controlValue> element to the <control> element
elem.AppendChild(elemValue);
}
return elem;
}
internal static void TransformControls(DirectoryControl[] controls)
{
for (int i = 0; i < controls.Length; i++)
@@ -336,10 +211,7 @@ namespace System.DirectoryServices.Protocols
{
// asq control
object[] o = null;
if (Utility.IsWin2kOS)
o = BerConverter.Decode("{i}", value);
else
o = BerConverter.Decode("{e}", value);
o = BerConverter.Decode("{e}", value);
Debug.Assert((o != null) && (o.Length == 1));
int result = (int)o[0];
@@ -367,11 +239,7 @@ namespace System.DirectoryServices.Protocols
bool decodeSucceeded;
//sort control
if (Utility.IsWin2kOS)
// win2k berencoding does not understand enumeration
o = BerConverter.TryDecode("{ia}", value, out decodeSucceeded);
else
o = BerConverter.TryDecode("{ea}", value, out decodeSucceeded);
o = BerConverter.TryDecode("{ea}", value, out decodeSucceeded);
// decode might fail as AD for example never returns attribute name, we don't want to unnecessarily throw and catch exception
if (decodeSucceeded)
@@ -383,11 +251,7 @@ namespace System.DirectoryServices.Protocols
else
{
// decoding might fail as attribute is optional
if (Utility.IsWin2kOS)
// win2k berencoding does not understand enumeration
o = BerConverter.Decode("{i}", value);
else
o = BerConverter.Decode("{e}", value);
o = BerConverter.Decode("{e}", value);
Debug.Assert(o != null && o.Length == 1);
result = (int)o[0];
@@ -405,11 +269,7 @@ namespace System.DirectoryServices.Protocols
object[] o = null;
bool decodeSucceeded = false;
if (Utility.IsWin2kOS)
// win2k berencoding does not understand enumeration
o = BerConverter.TryDecode("{iiiO}", value, out decodeSucceeded);
else
o = BerConverter.TryDecode("{iieO}", value, out decodeSucceeded);
o = BerConverter.TryDecode("{iieO}", value, out decodeSucceeded);
if (decodeSucceeded)
{
@@ -421,11 +281,7 @@ namespace System.DirectoryServices.Protocols
}
else
{
if (Utility.IsWin2kOS)
// win2k berencoding does not understand enumeration
o = BerConverter.Decode("{iii}", value);
else
o = BerConverter.Decode("{iie}", value);
o = BerConverter.Decode("{iie}", value);
Debug.Assert(o != null && o.Length == 3);
position = (int)o[0];
count = (int)o[1];
@@ -786,7 +642,7 @@ namespace System.DirectoryServices.Protocols
set
{
if (value < 0)
throw new ArgumentException(Res.GetString(Res.ValidValue), "value");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.ValidValue), "value");
_count = value;
}
@@ -873,7 +729,7 @@ namespace System.DirectoryServices.Protocols
set
{
if (value < 0)
throw new ArgumentException(Res.GetString(Res.ValidValue), "value");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.ValidValue), "value");
_size = value;
}
@@ -954,7 +810,7 @@ namespace System.DirectoryServices.Protocols
for (int i = 0; i < sortKeys.Length; i++)
{
if (sortKeys[i] == null)
throw new ArgumentException(Res.GetString(Res.NullValueArray), "sortKeys");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.NullValueArray), "sortKeys");
}
_keys = new SortKey[sortKeys.Length];
@@ -1000,7 +856,7 @@ namespace System.DirectoryServices.Protocols
for (int i = 0; i < value.Length; i++)
{
if (value[i] == null)
throw new ArgumentException(Res.GetString(Res.NullValueArray), "value");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.NullValueArray), "value");
}
_keys = new SortKey[value.Length];
@@ -1027,10 +883,10 @@ namespace System.DirectoryServices.Protocols
{
sortPtr = Marshal.AllocHGlobal(structSize);
Marshal.StructureToPtr(_keys[i], sortPtr, false);
tempPtr = (IntPtr)((long)memHandle + Marshal.SizeOf(typeof(IntPtr)) * i);
tempPtr = (IntPtr)((long)memHandle + IntPtr.Size * i);
Marshal.WriteIntPtr(tempPtr, sortPtr);
}
tempPtr = (IntPtr)((long)memHandle + Marshal.SizeOf(typeof(IntPtr)) * i);
tempPtr = (IntPtr)((long)memHandle + IntPtr.Size * i);
Marshal.WriteIntPtr(tempPtr, (IntPtr)0);
bool critical = IsCritical;
@@ -1068,7 +924,7 @@ namespace System.DirectoryServices.Protocols
//release the memory from the heap
for (int i = 0; i < keyCount; i++)
{
IntPtr tempPtr = Marshal.ReadIntPtr(memHandle, Marshal.SizeOf(typeof(IntPtr)) * i);
IntPtr tempPtr = Marshal.ReadIntPtr(memHandle, IntPtr.Size * i);
if (tempPtr != (IntPtr)0)
{
// free the marshalled name
@@ -1076,7 +932,7 @@ namespace System.DirectoryServices.Protocols
if (ptr != (IntPtr)0)
Marshal.FreeHGlobal(ptr);
// free the marshalled rule
ptr = Marshal.ReadIntPtr(tempPtr, Marshal.SizeOf(typeof(IntPtr)));
ptr = Marshal.ReadIntPtr(tempPtr, IntPtr.Size);
if (ptr != (IntPtr)0)
Marshal.FreeHGlobal(ptr);
@@ -1165,7 +1021,7 @@ namespace System.DirectoryServices.Protocols
set
{
if (value < 0)
throw new ArgumentException(Res.GetString(Res.ValidValue), "value");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.ValidValue), "value");
_before = value;
}
@@ -1180,7 +1036,7 @@ namespace System.DirectoryServices.Protocols
set
{
if (value < 0)
throw new ArgumentException(Res.GetString(Res.ValidValue), "value");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.ValidValue), "value");
_after = value;
}
@@ -1195,7 +1051,7 @@ namespace System.DirectoryServices.Protocols
set
{
if (value < 0)
throw new ArgumentException(Res.GetString(Res.ValidValue), "value");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.ValidValue), "value");
_offset = value;
}
@@ -1210,7 +1066,7 @@ namespace System.DirectoryServices.Protocols
set
{
if (value < 0)
throw new ArgumentException(Res.GetString(Res.ValidValue), "value");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.ValidValue), "value");
_estimateCount = value;
}
@@ -1413,7 +1269,6 @@ namespace System.DirectoryServices.Protocols
{
public DirectoryControlCollection()
{
Utility.CheckOSVersion();
}
public DirectoryControl this[int index]
@@ -1448,7 +1303,7 @@ namespace System.DirectoryServices.Protocols
{
if (c == null)
{
throw new ArgumentException(Res.GetString(Res.ContainNullControl), "controls");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.ContainNullControl), "controls");
}
}
@@ -1501,7 +1356,7 @@ namespace System.DirectoryServices.Protocols
if (value == null) throw new ArgumentNullException("value");
if (!(value is DirectoryControl))
throw new ArgumentException(Res.GetString(Res.InvalidValueType, "DirectoryControl"), "value");
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.InvalidValueType, "DirectoryControl"), "value");
}
}
}

View File

@@ -4,6 +4,7 @@
namespace System.DirectoryServices.Protocols
{
using System.Globalization;
using System.Runtime.Serialization;
using System.Security.Permissions;
@@ -16,17 +17,14 @@ namespace System.DirectoryServices.Protocols
public DirectoryException(string message, Exception inner) : base(message, inner)
{
Utility.CheckOSVersion();
}
public DirectoryException(string message) : base(message)
{
Utility.CheckOSVersion();
}
public DirectoryException() : base()
{
Utility.CheckOSVersion();
}
}
@@ -44,7 +42,7 @@ namespace System.DirectoryServices.Protocols
public DirectoryOperationException(string message, Exception inner) : base(message, inner) { }
public DirectoryOperationException(DirectoryResponse response) : base(Res.GetString(Res.DefaultOperationsError))
public DirectoryOperationException(DirectoryResponse response) : base(String.Format(CultureInfo.CurrentCulture, SR.DefaultOperationsError))
{
this.response = response;
}
@@ -81,7 +79,7 @@ namespace System.DirectoryServices.Protocols
{
}
public BerConversionException() : base(Res.GetString(Res.BerConversionError))
public BerConversionException() : base(String.Format(CultureInfo.CurrentCulture, SR.BerConversionError))
{
}

View File

@@ -10,7 +10,6 @@ namespace System.DirectoryServices.Protocols
{
protected DirectoryIdentifier()
{
Utility.CheckOSVersion();
}
}
}

View File

@@ -6,6 +6,7 @@ namespace System.DirectoryServices.Protocols
{
using System;
using System.Collections;
using System.Globalization;
public enum ResultCode
{
@@ -62,49 +63,49 @@ namespace System.DirectoryServices.Protocols
{
s_resultCodeHash = new Hashtable();
s_resultCodeHash.Add(ResultCode.Success, Res.GetString(Res.LDAP_SUCCESS));
s_resultCodeHash.Add(ResultCode.OperationsError, Res.GetString(Res.LDAP_OPERATIONS_ERROR));
s_resultCodeHash.Add(ResultCode.ProtocolError, Res.GetString(Res.LDAP_PROTOCOL_ERROR));
s_resultCodeHash.Add(ResultCode.TimeLimitExceeded, Res.GetString(Res.LDAP_TIMELIMIT_EXCEEDED));
s_resultCodeHash.Add(ResultCode.SizeLimitExceeded, Res.GetString(Res.LDAP_SIZELIMIT_EXCEEDED));
s_resultCodeHash.Add(ResultCode.CompareFalse, Res.GetString(Res.LDAP_COMPARE_FALSE));
s_resultCodeHash.Add(ResultCode.CompareTrue, Res.GetString(Res.LDAP_COMPARE_TRUE));
s_resultCodeHash.Add(ResultCode.AuthMethodNotSupported, Res.GetString(Res.LDAP_AUTH_METHOD_NOT_SUPPORTED));
s_resultCodeHash.Add(ResultCode.StrongAuthRequired, Res.GetString(Res.LDAP_STRONG_AUTH_REQUIRED));
s_resultCodeHash.Add(ResultCode.ReferralV2, Res.GetString(Res.LDAP_PARTIAL_RESULTS));
s_resultCodeHash.Add(ResultCode.Referral, Res.GetString(Res.LDAP_REFERRAL));
s_resultCodeHash.Add(ResultCode.AdminLimitExceeded, Res.GetString(Res.LDAP_ADMIN_LIMIT_EXCEEDED));
s_resultCodeHash.Add(ResultCode.UnavailableCriticalExtension, Res.GetString(Res.LDAP_UNAVAILABLE_CRIT_EXTENSION));
s_resultCodeHash.Add(ResultCode.ConfidentialityRequired, Res.GetString(Res.LDAP_CONFIDENTIALITY_REQUIRED));
s_resultCodeHash.Add(ResultCode.SaslBindInProgress, Res.GetString(Res.LDAP_SASL_BIND_IN_PROGRESS));
s_resultCodeHash.Add(ResultCode.NoSuchAttribute, Res.GetString(Res.LDAP_NO_SUCH_ATTRIBUTE));
s_resultCodeHash.Add(ResultCode.UndefinedAttributeType, Res.GetString(Res.LDAP_UNDEFINED_TYPE));
s_resultCodeHash.Add(ResultCode.InappropriateMatching, Res.GetString(Res.LDAP_INAPPROPRIATE_MATCHING));
s_resultCodeHash.Add(ResultCode.ConstraintViolation, Res.GetString(Res.LDAP_CONSTRAINT_VIOLATION));
s_resultCodeHash.Add(ResultCode.AttributeOrValueExists, Res.GetString(Res.LDAP_ATTRIBUTE_OR_VALUE_EXISTS));
s_resultCodeHash.Add(ResultCode.InvalidAttributeSyntax, Res.GetString(Res.LDAP_INVALID_SYNTAX));
s_resultCodeHash.Add(ResultCode.NoSuchObject, Res.GetString(Res.LDAP_NO_SUCH_OBJECT));
s_resultCodeHash.Add(ResultCode.AliasProblem, Res.GetString(Res.LDAP_ALIAS_PROBLEM));
s_resultCodeHash.Add(ResultCode.InvalidDNSyntax, Res.GetString(Res.LDAP_INVALID_DN_SYNTAX));
s_resultCodeHash.Add(ResultCode.AliasDereferencingProblem, Res.GetString(Res.LDAP_ALIAS_DEREF_PROBLEM));
s_resultCodeHash.Add(ResultCode.InappropriateAuthentication, Res.GetString(Res.LDAP_INAPPROPRIATE_AUTH));
s_resultCodeHash.Add(ResultCode.InsufficientAccessRights, Res.GetString(Res.LDAP_INSUFFICIENT_RIGHTS));
s_resultCodeHash.Add(ResultCode.Busy, Res.GetString(Res.LDAP_BUSY));
s_resultCodeHash.Add(ResultCode.Unavailable, Res.GetString(Res.LDAP_UNAVAILABLE));
s_resultCodeHash.Add(ResultCode.UnwillingToPerform, Res.GetString(Res.LDAP_UNWILLING_TO_PERFORM));
s_resultCodeHash.Add(ResultCode.LoopDetect, Res.GetString(Res.LDAP_LOOP_DETECT));
s_resultCodeHash.Add(ResultCode.SortControlMissing, Res.GetString(Res.LDAP_SORT_CONTROL_MISSING));
s_resultCodeHash.Add(ResultCode.OffsetRangeError, Res.GetString(Res.LDAP_OFFSET_RANGE_ERROR));
s_resultCodeHash.Add(ResultCode.NamingViolation, Res.GetString(Res.LDAP_NAMING_VIOLATION));
s_resultCodeHash.Add(ResultCode.ObjectClassViolation, Res.GetString(Res.LDAP_OBJECT_CLASS_VIOLATION));
s_resultCodeHash.Add(ResultCode.NotAllowedOnNonLeaf, Res.GetString(Res.LDAP_NOT_ALLOWED_ON_NONLEAF));
s_resultCodeHash.Add(ResultCode.NotAllowedOnRdn, Res.GetString(Res.LDAP_NOT_ALLOWED_ON_RDN));
s_resultCodeHash.Add(ResultCode.EntryAlreadyExists, Res.GetString(Res.LDAP_ALREADY_EXISTS));
s_resultCodeHash.Add(ResultCode.ObjectClassModificationsProhibited, Res.GetString(Res.LDAP_NO_OBJECT_CLASS_MODS));
s_resultCodeHash.Add(ResultCode.ResultsTooLarge, Res.GetString(Res.LDAP_RESULTS_TOO_LARGE));
s_resultCodeHash.Add(ResultCode.AffectsMultipleDsas, Res.GetString(Res.LDAP_AFFECTS_MULTIPLE_DSAS));
s_resultCodeHash.Add(ResultCode.VirtualListViewError, Res.GetString(Res.LDAP_VIRTUAL_LIST_VIEW_ERROR));
s_resultCodeHash.Add(ResultCode.Other, Res.GetString(Res.LDAP_OTHER));
s_resultCodeHash.Add(ResultCode.Success, String.Format(CultureInfo.CurrentCulture, SR.LDAP_SUCCESS));
s_resultCodeHash.Add(ResultCode.OperationsError, String.Format(CultureInfo.CurrentCulture, SR.LDAP_OPERATIONS_ERROR));
s_resultCodeHash.Add(ResultCode.ProtocolError, String.Format(CultureInfo.CurrentCulture, SR.LDAP_PROTOCOL_ERROR));
s_resultCodeHash.Add(ResultCode.TimeLimitExceeded, String.Format(CultureInfo.CurrentCulture, SR.LDAP_TIMELIMIT_EXCEEDED));
s_resultCodeHash.Add(ResultCode.SizeLimitExceeded, String.Format(CultureInfo.CurrentCulture, SR.LDAP_SIZELIMIT_EXCEEDED));
s_resultCodeHash.Add(ResultCode.CompareFalse, String.Format(CultureInfo.CurrentCulture, SR.LDAP_COMPARE_FALSE));
s_resultCodeHash.Add(ResultCode.CompareTrue, String.Format(CultureInfo.CurrentCulture, SR.LDAP_COMPARE_TRUE));
s_resultCodeHash.Add(ResultCode.AuthMethodNotSupported, String.Format(CultureInfo.CurrentCulture, SR.LDAP_AUTH_METHOD_NOT_SUPPORTED));
s_resultCodeHash.Add(ResultCode.StrongAuthRequired, String.Format(CultureInfo.CurrentCulture, SR.LDAP_STRONG_AUTH_REQUIRED));
s_resultCodeHash.Add(ResultCode.ReferralV2, String.Format(CultureInfo.CurrentCulture, SR.LDAP_PARTIAL_RESULTS));
s_resultCodeHash.Add(ResultCode.Referral, String.Format(CultureInfo.CurrentCulture, SR.LDAP_REFERRAL));
s_resultCodeHash.Add(ResultCode.AdminLimitExceeded, String.Format(CultureInfo.CurrentCulture, SR.LDAP_ADMIN_LIMIT_EXCEEDED));
s_resultCodeHash.Add(ResultCode.UnavailableCriticalExtension, String.Format(CultureInfo.CurrentCulture, SR.LDAP_UNAVAILABLE_CRIT_EXTENSION));
s_resultCodeHash.Add(ResultCode.ConfidentialityRequired, String.Format(CultureInfo.CurrentCulture, SR.LDAP_CONFIDENTIALITY_REQUIRED));
s_resultCodeHash.Add(ResultCode.SaslBindInProgress, String.Format(CultureInfo.CurrentCulture, SR.LDAP_SASL_BIND_IN_PROGRESS));
s_resultCodeHash.Add(ResultCode.NoSuchAttribute, String.Format(CultureInfo.CurrentCulture, SR.LDAP_NO_SUCH_ATTRIBUTE));
s_resultCodeHash.Add(ResultCode.UndefinedAttributeType, String.Format(CultureInfo.CurrentCulture, SR.LDAP_UNDEFINED_TYPE));
s_resultCodeHash.Add(ResultCode.InappropriateMatching, String.Format(CultureInfo.CurrentCulture, SR.LDAP_INAPPROPRIATE_MATCHING));
s_resultCodeHash.Add(ResultCode.ConstraintViolation, String.Format(CultureInfo.CurrentCulture, SR.LDAP_CONSTRAINT_VIOLATION));
s_resultCodeHash.Add(ResultCode.AttributeOrValueExists, String.Format(CultureInfo.CurrentCulture, SR.LDAP_ATTRIBUTE_OR_VALUE_EXISTS));
s_resultCodeHash.Add(ResultCode.InvalidAttributeSyntax, String.Format(CultureInfo.CurrentCulture, SR.LDAP_INVALID_SYNTAX));
s_resultCodeHash.Add(ResultCode.NoSuchObject, String.Format(CultureInfo.CurrentCulture, SR.LDAP_NO_SUCH_OBJECT));
s_resultCodeHash.Add(ResultCode.AliasProblem, String.Format(CultureInfo.CurrentCulture, SR.LDAP_ALIAS_PROBLEM));
s_resultCodeHash.Add(ResultCode.InvalidDNSyntax, String.Format(CultureInfo.CurrentCulture, SR.LDAP_INVALID_DN_SYNTAX));
s_resultCodeHash.Add(ResultCode.AliasDereferencingProblem, String.Format(CultureInfo.CurrentCulture, SR.LDAP_ALIAS_DEREF_PROBLEM));
s_resultCodeHash.Add(ResultCode.InappropriateAuthentication, String.Format(CultureInfo.CurrentCulture, SR.LDAP_INAPPROPRIATE_AUTH));
s_resultCodeHash.Add(ResultCode.InsufficientAccessRights, String.Format(CultureInfo.CurrentCulture, SR.LDAP_INSUFFICIENT_RIGHTS));
s_resultCodeHash.Add(ResultCode.Busy, String.Format(CultureInfo.CurrentCulture, SR.LDAP_BUSY));
s_resultCodeHash.Add(ResultCode.Unavailable, String.Format(CultureInfo.CurrentCulture, SR.LDAP_UNAVAILABLE));
s_resultCodeHash.Add(ResultCode.UnwillingToPerform, String.Format(CultureInfo.CurrentCulture, SR.LDAP_UNWILLING_TO_PERFORM));
s_resultCodeHash.Add(ResultCode.LoopDetect, String.Format(CultureInfo.CurrentCulture, SR.LDAP_LOOP_DETECT));
s_resultCodeHash.Add(ResultCode.SortControlMissing, String.Format(CultureInfo.CurrentCulture, SR.LDAP_SORT_CONTROL_MISSING));
s_resultCodeHash.Add(ResultCode.OffsetRangeError, String.Format(CultureInfo.CurrentCulture, SR.LDAP_OFFSET_RANGE_ERROR));
s_resultCodeHash.Add(ResultCode.NamingViolation, String.Format(CultureInfo.CurrentCulture, SR.LDAP_NAMING_VIOLATION));
s_resultCodeHash.Add(ResultCode.ObjectClassViolation, String.Format(CultureInfo.CurrentCulture, SR.LDAP_OBJECT_CLASS_VIOLATION));
s_resultCodeHash.Add(ResultCode.NotAllowedOnNonLeaf, String.Format(CultureInfo.CurrentCulture, SR.LDAP_NOT_ALLOWED_ON_NONLEAF));
s_resultCodeHash.Add(ResultCode.NotAllowedOnRdn, String.Format(CultureInfo.CurrentCulture, SR.LDAP_NOT_ALLOWED_ON_RDN));
s_resultCodeHash.Add(ResultCode.EntryAlreadyExists, String.Format(CultureInfo.CurrentCulture, SR.LDAP_ALREADY_EXISTS));
s_resultCodeHash.Add(ResultCode.ObjectClassModificationsProhibited, String.Format(CultureInfo.CurrentCulture, SR.LDAP_NO_OBJECT_CLASS_MODS));
s_resultCodeHash.Add(ResultCode.ResultsTooLarge, String.Format(CultureInfo.CurrentCulture, SR.LDAP_RESULTS_TOO_LARGE));
s_resultCodeHash.Add(ResultCode.AffectsMultipleDsas, String.Format(CultureInfo.CurrentCulture, SR.LDAP_AFFECTS_MULTIPLE_DSAS));
s_resultCodeHash.Add(ResultCode.VirtualListViewError, String.Format(CultureInfo.CurrentCulture, SR.LDAP_VIRTUAL_LIST_VIEW_ERROR));
s_resultCodeHash.Add(ResultCode.Other, String.Format(CultureInfo.CurrentCulture, SR.LDAP_OTHER));
}
static public string MapResultCode(int errorCode)

Some files were not shown because too many files have changed in this diff Show More