Author: robbie
Date: Mon Nov 30 14:44:22 2009
New Revision: 885438
URL: http://svn.apache.org/viewvc?rev=885438&view=rev
Log:
QPID-2222: Added new CramMD5HexSaslClient.cs and registered it in the Sasl
Factory and the client CallbackHandler
Merge changes from trunk r885435
Added:
qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Sasl/Mechanisms/CramMD5HexSaslClient.cs
- copied unchanged from r885435,
qpid/trunk/qpid/dotnet/Qpid.Sasl/Mechanisms/CramMD5HexSaslClient.cs
Modified:
qpid/branches/0.5.x-dev/qpid/dotnet/ (props changed)
qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs
qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Sasl/Callbacks.cs
qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Sasl/DefaultClientFactory.cs
qpid/branches/0.5.x-dev/qpid/dotnet/build-msbuild.bat (props changed)
qpid/branches/0.5.x-dev/qpid/dotnet/build-nant-release (props changed)
qpid/branches/0.5.x-dev/qpid/dotnet/build-nant.bat (props changed)
Propchange: qpid/branches/0.5.x-dev/qpid/dotnet/
------------------------------------------------------------------------------
svn:mergeinfo = /qpid/trunk/qpid/dotnet:885435
Modified:
qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs
URL:
http://svn.apache.org/viewvc/qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs?rev=885438&r1=885437&r2=885438&view=diff
==============================================================================
---
qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs
(original)
+++
qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs
Mon Nov 30 14:44:22 2009
@@ -96,6 +96,8 @@
_mechanism2HandlerMap.Add(ExternalSaslClient.Mechanism,
typeof(UsernamePasswordCallbackHandler));
if ( !_mechanism2HandlerMap.Contains(CramMD5SaslClient.Mechanism) )
_mechanism2HandlerMap.Add(CramMD5SaslClient.Mechanism,
typeof(UsernamePasswordCallbackHandler));
+ if ( !_mechanism2HandlerMap.Contains(CramMD5HexSaslClient.Mechanism) )
+ _mechanism2HandlerMap.Add(CramMD5HexSaslClient.Mechanism,
typeof(UsernamePasswordCallbackHandler));
if ( !_mechanism2HandlerMap.Contains(PlainSaslClient.Mechanism) )
_mechanism2HandlerMap.Add(PlainSaslClient.Mechanism,
typeof(UsernamePasswordCallbackHandler));
Modified: qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Sasl/Callbacks.cs
URL:
http://svn.apache.org/viewvc/qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Sasl/Callbacks.cs?rev=885438&r1=885437&r2=885438&view=diff
==============================================================================
--- qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Sasl/Callbacks.cs (original)
+++ qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Sasl/Callbacks.cs Mon Nov 30
14:44:22 2009
@@ -21,6 +21,8 @@
using System;
using System.Text;
+using System.Globalization;
+using System.Security.Cryptography;
namespace Apache.Qpid.Sasl
{
@@ -87,6 +89,37 @@
: base("password:", "", "")
{
}
+
+ public byte[] HashedText
+ {
+ get
+ {
+ string _text = this.Text;
+ System.Security.Cryptography.MD5CryptoServiceProvider x = new
System.Security.Cryptography.MD5CryptoServiceProvider();
+ byte[] bs = x.ComputeHash(Encoding.UTF8.GetBytes(_text));
+ return bs;
+ }
+
+ }
+ } // class PasswordCallback
+
+ public class HashedPasswordCallback : TextSaslCallback
+ {
+ public HashedPasswordCallback()
+ : base("password:", "", "")
+ {
+ }
+
+ public byte[] HashedText
+ {
+ get {
+ string _text = this.Text;
+ System.Security.Cryptography.MD5CryptoServiceProvider x = new
System.Security.Cryptography.MD5CryptoServiceProvider();
+ _text = _text.PadRight(16, '\0');
+ byte[] bs = x.ComputeHash(Encoding.UTF8.GetBytes(_text));
+ return bs;
+ }
+ }
} // class PasswordCallback
public class RealmCallback : TextSaslCallback
Modified: qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Sasl/DefaultClientFactory.cs
URL:
http://svn.apache.org/viewvc/qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Sasl/DefaultClientFactory.cs?rev=885438&r1=885437&r2=885438&view=diff
==============================================================================
--- qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Sasl/DefaultClientFactory.cs
(original)
+++ qpid/branches/0.5.x-dev/qpid/dotnet/Qpid.Sasl/DefaultClientFactory.cs Mon
Nov 30 14:44:22 2009
@@ -31,6 +31,7 @@
private static readonly string[] SUPPORTED = new string[] {
DigestSaslClient.Mechanism,
CramMD5SaslClient.Mechanism,
+ CramMD5HexSaslClient.Mechanism,
PlainSaslClient.Mechanism,
AnonymousSaslClient.Mechanism,
ExternalSaslClient.Mechanism,
@@ -50,6 +51,7 @@
props.Contains(SaslProperties.PolicyPassCredentials) )
{
vetoed.Add(CramMD5SaslClient.Mechanism);
+ vetoed.Add(CramMD5HexSaslClient.Mechanism);
vetoed.Add(PlainSaslClient.Mechanism);
vetoed.Add(AnonymousSaslClient.Mechanism);
vetoed.Add(ExternalSaslClient.Mechanism);
@@ -81,6 +83,8 @@
return new DigestSaslClient(authorizationId, serverName, protocol,
props, handler);
if ( mechs.Contains(CramMD5SaslClient.Mechanism) )
return new CramMD5SaslClient(authorizationId, props, handler);
+ if ( mechs.Contains(CramMD5HexSaslClient.Mechanism) )
+ return new CramMD5HexSaslClient(authorizationId, props, handler);
if ( mechs.Contains(PlainSaslClient.Mechanism) )
return new PlainSaslClient(authorizationId, props, handler);
if ( mechs.Contains(AnonymousSaslClient.Mechanism) )
Propchange: qpid/branches/0.5.x-dev/qpid/dotnet/build-msbuild.bat
('svn:mergeinfo' removed)
Propchange: qpid/branches/0.5.x-dev/qpid/dotnet/build-nant-release
('svn:mergeinfo' removed)
Propchange: qpid/branches/0.5.x-dev/qpid/dotnet/build-nant.bat
('svn:mergeinfo' removed)
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]