summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/DotNetOpenAuth.Test/OpenId/UriIdentifierTests.cs6
-rw-r--r--src/DotNetOpenAuth/OpenId/NoDiscoveryIdentifier.cs7
-rw-r--r--src/DotNetOpenAuth/OpenId/UriIdentifier.cs2
3 files changed, 8 insertions, 7 deletions
diff --git a/src/DotNetOpenAuth.Test/OpenId/UriIdentifierTests.cs b/src/DotNetOpenAuth.Test/OpenId/UriIdentifierTests.cs
index 91dd5f4..d3cccc7 100644
--- a/src/DotNetOpenAuth.Test/OpenId/UriIdentifierTests.cs
+++ b/src/DotNetOpenAuth.Test/OpenId/UriIdentifierTests.cs
@@ -246,13 +246,13 @@ namespace DotNetOpenAuth.Test.OpenId {
// Try Parse and ctor with explicit http:// scheme
id = Identifier.Parse("http://www.yahoo.com");
Assert.IsFalse(id.TryRequireSsl(out secureId));
- Assert.IsFalse(secureId.IsDiscoverySecureEndToEnd);
+ Assert.IsTrue(secureId.IsDiscoverySecureEndToEnd, "Although the TryRequireSsl failed, the created identifier should retain the Ssl status.");
Assert.AreEqual("http://www.yahoo.com/", secureId.ToString());
- Assert.AreEqual(0, secureId.Discover(this.RequestHandler).Count());
+ Assert.AreEqual(0, secureId.Discover(this.RequestHandler).Count(), "Since TryRequireSsl failed, the created Identifier should never discover anything.");
id = new UriIdentifier("http://www.yahoo.com");
Assert.IsFalse(id.TryRequireSsl(out secureId));
- Assert.IsFalse(secureId.IsDiscoverySecureEndToEnd);
+ Assert.IsTrue(secureId.IsDiscoverySecureEndToEnd);
Assert.AreEqual("http://www.yahoo.com/", secureId.ToString());
Assert.AreEqual(0, secureId.Discover(this.RequestHandler).Count());
}
diff --git a/src/DotNetOpenAuth/OpenId/NoDiscoveryIdentifier.cs b/src/DotNetOpenAuth/OpenId/NoDiscoveryIdentifier.cs
index d5ed2eb..9729680 100644
--- a/src/DotNetOpenAuth/OpenId/NoDiscoveryIdentifier.cs
+++ b/src/DotNetOpenAuth/OpenId/NoDiscoveryIdentifier.cs
@@ -23,8 +23,9 @@ namespace DotNetOpenAuth.OpenId {
/// Initializes a new instance of the <see cref="NoDiscoveryIdentifier"/> class.
/// </summary>
/// <param name="wrappedIdentifier">The ordinary Identifier whose discovery is being masked.</param>
- internal NoDiscoveryIdentifier(Identifier wrappedIdentifier)
- : base(false) {
+ /// <param name="claimSsl">Whether this Identifier should claim to be SSL-secure, although no discovery will never generate service endpoints anyway.</param>
+ internal NoDiscoveryIdentifier(Identifier wrappedIdentifier, bool claimSsl)
+ : base(claimSsl) {
ErrorUtilities.VerifyArgumentNotNull(wrappedIdentifier, "wrappedIdentifier");
this.wrappedIdentifier = wrappedIdentifier;
@@ -85,7 +86,7 @@ namespace DotNetOpenAuth.OpenId {
/// fragment to remove, otherwise this same instance..
/// </returns>
internal override Identifier TrimFragment() {
- return new NoDiscoveryIdentifier(this.wrappedIdentifier.TrimFragment());
+ return new NoDiscoveryIdentifier(this.wrappedIdentifier.TrimFragment(), IsDiscoverySecureEndToEnd);
}
/// <summary>
diff --git a/src/DotNetOpenAuth/OpenId/UriIdentifier.cs b/src/DotNetOpenAuth/OpenId/UriIdentifier.cs
index af8dd66..339b286 100644
--- a/src/DotNetOpenAuth/OpenId/UriIdentifier.cs
+++ b/src/DotNetOpenAuth/OpenId/UriIdentifier.cs
@@ -300,7 +300,7 @@ namespace DotNetOpenAuth.OpenId {
}
// This identifier is explicitly NOT https, so we cannot change it.
- secureIdentifier = new NoDiscoveryIdentifier(this);
+ secureIdentifier = new NoDiscoveryIdentifier(this, true);
return false;
}