Imported Upstream version 4.3.2.467

Former-commit-id: 9c2cb47f45fa221e661ab616387c9cda183f283d
This commit is contained in:
Xamarin Public Jenkins
2016-02-22 11:00:01 -05:00
parent f302175246
commit f3e3aab35a
4097 changed files with 122406 additions and 82300 deletions

View File

@@ -19,4 +19,4 @@ namespace System.Web.Services.Configuration
// composite flag
AnyHttpSoap = 0x21,
}
}
}

View File

@@ -453,15 +453,15 @@ namespace System.Web.Services.Discovery {
while (currentDir.Length > 0) {
if (currentDir.Length <= fullPath.Length && string.Compare(currentDir, fullPath.Substring(0, currentDir.Length), StringComparison.OrdinalIgnoreCase) == 0) {
answer += fullPath.Substring(currentDir.Length);
if (answer.StartsWith("\\", StringComparison.Ordinal))
if (answer.StartsWith(""+Path.DirectorySeparatorChar, StringComparison.Ordinal))
answer = answer.Substring(1);
return answer;
}
answer += "..\\";
answer += ".." + Path.DirectorySeparatorChar;
if (currentDir.Length < 2)
break;
else {
int lastSlash = currentDir.LastIndexOf('\\', currentDir.Length - 2);
int lastSlash = currentDir.LastIndexOf(Path.DirectorySeparatorChar, currentDir.Length - 2);
currentDir = currentDir.Substring(0, lastSlash + 1);
}
}

View File

@@ -81,7 +81,7 @@ namespace System.Web.Services.Discovery {
// Determine start url path for search
DynamicDiscoSearcher searcher;
Uri searchStartUrl = context.Request.Url;
string escapedUri = Uri.EscapeUriString(searchStartUrl.ToString()).Replace("#", "%23");
string escapedUri = RuntimeUtils.EscapeUri(searchStartUrl);
string searchStartUrlDir = GetDirPartOfPath( escapedUri ); // URL path without file name
string strLocalPath = GetDirPartOfPath(searchStartUrl.LocalPath);

View File

@@ -24,4 +24,4 @@ namespace System.Web.Services {
internal static extern int GetModuleHandle(String modName);
}
}
#endif
#endif

View File

@@ -238,7 +238,7 @@ namespace System.Web.Services.Protocols {
// if not create a new DiscoveryServerType and cache it
//
bool excludeSchemeHostPortFromCachingKey = this.IsCacheUnderPressure(typeof(DiscoveryServerProtocol), Type);
string escapedUri = Uri.EscapeUriString(Request.Url.ToString()).Replace("#", "%23");
string escapedUri = RuntimeUtils.EscapeUri(Request.Url);
serverType = new DiscoveryServerType(Type, escapedUri, excludeSchemeHostPortFromCachingKey);
AddToCache(typeof(DiscoveryServerProtocol), Type, serverType, excludeSchemeHostPortFromCachingKey);
}

View File

@@ -119,7 +119,7 @@ namespace System.Web.Services.Protocols {
//
//
bool excludeSchemeHostPortFromCachingKey = this.IsCacheUnderPressure(typeof(DocumentationServerProtocol), Type);
string escapedUri = Uri.EscapeUriString(Request.Url.ToString()).Replace("#", "%23");
string escapedUri = RuntimeUtils.EscapeUri(Request.Url);
serverType = new DocumentationServerType(Type, escapedUri, excludeSchemeHostPortFromCachingKey);
AddToCache(typeof(DocumentationServerProtocol), Type, serverType, excludeSchemeHostPortFromCachingKey);
}

View File

@@ -86,5 +86,13 @@ namespace System.Web.Services.Protocols {
return true;
return false;
}
internal static string EscapeUri(Uri uri) {
if (null == uri) {
throw new ArgumentNullException("uri");
}
return uri.GetComponents(UriComponents.SerializationInfoString, UriFormat.UriEscaped).Replace("#", "%23");
}
}
}

View File

@@ -368,4 +368,4 @@ namespace System.Web.Services.Protocols {
}
}
}
#endif
#endif

View File

@@ -58,7 +58,7 @@ namespace System.Web.Services.Protocols {
/// <para>[To be supplied.]</para>
/// </devdoc>
public override string Url {
get { return Uri.EscapeUriString(protocol.Request.Url.ToString()).Replace("#", "%23"); }
get { return RuntimeUtils.EscapeUri(protocol.Request.Url); }
}
/// <include file='doc\SoapServerMessage.uex' path='docs/doc[@for="SoapServerMessage.Action"]/*' />

View File

@@ -14,4 +14,4 @@ namespace System.Web.Services.Protocols {
RequestElement,
}
}
}