summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2010-05-05 06:48:20 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2010-05-05 06:50:22 -0700
commit7cea6544a287d0d7efd5cb379fff6b7800f9af63 (patch)
treedf70c42dcbbd7cfa229f6b0b389c0b1a237d46da
parentd5c309387a6040410ae5b2ffc12bbfdfe62adf7f (diff)
downloadDotNetOpenAuth-7cea6544a287d0d7efd5cb379fff6b7800f9af63.zip
DotNetOpenAuth-7cea6544a287d0d7efd5cb379fff6b7800f9af63.tar.gz
DotNetOpenAuth-7cea6544a287d0d7efd5cb379fff6b7800f9af63.tar.bz2
Fixed AXFetchAsSregTransform bug that threw an exception at the OP when an incoming extension contained just an AX extension.
Fixes bug reported at http://stackoverflow.com/questions/2724512/dotnetopenauth-openid-provider-sequence-contains-more-than-one-element/2764800
-rw-r--r--src/DotNetOpenAuth/OpenId/Behaviors/AXFetchAsSregTransform.cs7
-rw-r--r--src/DotNetOpenAuth/OpenId/Extensions/ExtensionsInteropHelper.cs3
2 files changed, 3 insertions, 7 deletions
diff --git a/src/DotNetOpenAuth/OpenId/Behaviors/AXFetchAsSregTransform.cs b/src/DotNetOpenAuth/OpenId/Behaviors/AXFetchAsSregTransform.cs
index 9051998..01b74a1 100644
--- a/src/DotNetOpenAuth/OpenId/Behaviors/AXFetchAsSregTransform.cs
+++ b/src/DotNetOpenAuth/OpenId/Behaviors/AXFetchAsSregTransform.cs
@@ -115,12 +115,7 @@ namespace DotNetOpenAuth.OpenId.Behaviors {
bool IProviderBehavior.OnIncomingRequest(IRequest request) {
var extensionRequest = request as Provider.HostProcessedRequest;
if (extensionRequest != null) {
- if (extensionRequest.GetExtension<ClaimsRequest>() == null) {
- ClaimsRequest sreg = extensionRequest.UnifyExtensionsAsSreg();
- if (sreg != null) {
- ((IProtocolMessageWithExtensions)extensionRequest.RequestMessage).Extensions.Add(sreg);
- }
- }
+ extensionRequest.UnifyExtensionsAsSreg();
}
return false;
diff --git a/src/DotNetOpenAuth/OpenId/Extensions/ExtensionsInteropHelper.cs b/src/DotNetOpenAuth/OpenId/Extensions/ExtensionsInteropHelper.cs
index 0b5855d..efd8fb6 100644
--- a/src/DotNetOpenAuth/OpenId/Extensions/ExtensionsInteropHelper.cs
+++ b/src/DotNetOpenAuth/OpenId/Extensions/ExtensionsInteropHelper.cs
@@ -132,7 +132,8 @@ namespace DotNetOpenAuth.OpenId.Extensions {
/// <summary>
/// Looks for Simple Registration and Attribute Exchange (all known formats)
- /// request extensions and returns them as a Simple Registration extension.
+ /// request extensions and returns them as a Simple Registration extension,
+ /// and adds the new extension to the original request message if it was absent.
/// </summary>
/// <param name="request">The authentication request.</param>
/// <returns>