Author: ritchiem
Date: Fri Jun 6 09:46:48 2008
New Revision: 664028
URL: http://svn.apache.org/viewvc?rev=664028&view=rev
Log:
Merged revisions 663999-664020 via svnmerge from
https://svn.apache.org/repos/asf/incubator/qpid/branches/M2.x
........
r663999 | ritchiem | 2008-06-06 17:03:42 +0100 (Fri, 06 Jun 2008) | 1 line
QPID-1058 : Added new CramMD5HexSaslClient.cs and registered it in the Sasl
Factory and the client CallbackHandler
........
r664001 | ritchiem | 2008-06-06 17:03:48 +0100 (Fri, 06 Jun 2008) | 1 line
QPID-1058 : Addition of a CRAM-MD5-HEX as discussed on the JIRA. An
additional test is provided to ensure that the handle method correctly wraps a
given Database password in hex.
........
r664020 | ritchiem | 2008-06-06 17:32:49 +0100 (Fri, 06 Jun 2008) | 2 lines
QPID-1058 : Removal of Console WriteLine as highlighted in code review by
Robert Godfrey.
........
Added:
incubator/qpid/branches/M2.1.x/dotnet/Qpid.Integration.Tests/Qpid.Integration.Tests.csproj
- copied unchanged from r664020,
incubator/qpid/branches/M2.x/dotnet/Qpid.Integration.Tests/Qpid.Integration.Tests.csproj
incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/Mechanisms/CramMD5HexSaslClient.cs
- copied unchanged from r664020,
incubator/qpid/branches/M2.x/dotnet/Qpid.Sasl/Mechanisms/CramMD5HexSaslClient.cs
incubator/qpid/branches/M2.1.x/java/broker/src/main/java/org/apache/qpid/server/security/auth/sasl/crammd5/CRAMMD5HexInitialiser.java
- copied unchanged from r664020,
incubator/qpid/branches/M2.x/java/broker/src/main/java/org/apache/qpid/server/security/auth/sasl/crammd5/CRAMMD5HexInitialiser.java
incubator/qpid/branches/M2.1.x/java/broker/src/main/java/org/apache/qpid/server/security/auth/sasl/crammd5/CRAMMD5HexSaslServer.java
- copied unchanged from r664020,
incubator/qpid/branches/M2.x/java/broker/src/main/java/org/apache/qpid/server/security/auth/sasl/crammd5/CRAMMD5HexSaslServer.java
incubator/qpid/branches/M2.1.x/java/broker/src/main/java/org/apache/qpid/server/security/auth/sasl/crammd5/CRAMMD5HexServerFactory.java
- copied unchanged from r664020,
incubator/qpid/branches/M2.x/java/broker/src/main/java/org/apache/qpid/server/security/auth/sasl/crammd5/CRAMMD5HexServerFactory.java
incubator/qpid/branches/M2.1.x/java/broker/src/test/java/org/apache/qpid/server/securiity/
- copied from r664020,
incubator/qpid/branches/M2.x/java/broker/src/test/java/org/apache/qpid/server/securiity/
incubator/qpid/branches/M2.1.x/java/broker/src/test/java/org/apache/qpid/server/securiity/auth/
- copied from r664020,
incubator/qpid/branches/M2.x/java/broker/src/test/java/org/apache/qpid/server/securiity/auth/
incubator/qpid/branches/M2.1.x/java/broker/src/test/java/org/apache/qpid/server/securiity/auth/sasl/
- copied from r664020,
incubator/qpid/branches/M2.x/java/broker/src/test/java/org/apache/qpid/server/securiity/auth/sasl/
incubator/qpid/branches/M2.1.x/java/broker/src/test/java/org/apache/qpid/server/securiity/auth/sasl/CRAMMD5HexInitialiserTest.java
- copied unchanged from r664020,
incubator/qpid/branches/M2.x/java/broker/src/test/java/org/apache/qpid/server/securiity/auth/sasl/CRAMMD5HexInitialiserTest.java
Modified:
incubator/qpid/branches/M2.1.x/ (props changed)
incubator/qpid/branches/M2.1.x/dotnet/ (props changed)
incubator/qpid/branches/M2.1.x/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs
incubator/qpid/branches/M2.1.x/dotnet/Qpid.NET.sln
incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/Callbacks.cs
incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/DefaultClientFactory.cs
incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/Qpid.Sasl.csproj
incubator/qpid/branches/M2.1.x/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java
Propchange: incubator/qpid/branches/M2.1.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Propchange: incubator/qpid/branches/M2.1.x/dotnet/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Jun 6 09:46:48 2008
@@ -5,3 +5,4 @@
Qpid.NET.resharper
Qpid.NET.resharper.user
Qpid.NET.suo
+bin
Modified:
incubator/qpid/branches/M2.1.x/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs
URL:
http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.x/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs?rev=664028&r1=664027&r2=664028&view=diff
==============================================================================
---
incubator/qpid/branches/M2.1.x/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs
(original)
+++
incubator/qpid/branches/M2.1.x/dotnet/Qpid.Client/Client/Security/CallbackHandlerRegistry.cs
Fri Jun 6 09:46:48 2008
@@ -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: incubator/qpid/branches/M2.1.x/dotnet/Qpid.NET.sln
URL:
http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.x/dotnet/Qpid.NET.sln?rev=664028&r1=664027&r2=664028&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.x/dotnet/Qpid.NET.sln (original)
+++ incubator/qpid/branches/M2.1.x/dotnet/Qpid.NET.sln Fri Jun 6 09:46:48 2008
@@ -1,4 +1,4 @@
-Microsoft Visual Studio Solution File, Format Version 9.00
+Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Qpid.Messaging",
"Qpid.Messaging\Qpid.Messaging.csproj", "{6688F826-C58E-4C1B-AA1F-22AFAB4B7D07}"
EndProject
@@ -26,6 +26,8 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestClient",
"TestClient\TestClient.csproj", "{9A112DF2-146F-4CF4-919B-9D3BE7D088E9}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Qpid.Integration.Tests",
"Qpid.Integration.Tests\Qpid.Integration.Tests.csproj",
"{DE21CEBC-F38C-43EA-B576-38CA9738A00A}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -80,6 +82,14 @@
{9A112DF2-146F-4CF4-919B-9D3BE7D088E9}.Debug|Any CPU.Build.0 =
Debug|Any CPU
{9A112DF2-146F-4CF4-919B-9D3BE7D088E9}.Release|Any
CPU.ActiveCfg = Release|Any CPU
{9A112DF2-146F-4CF4-919B-9D3BE7D088E9}.Release|Any CPU.Build.0
= Release|Any CPU
+ {666C2D04-C9DC-4D43-B4DF-0989225EABC3}.Debug|Any CPU.Build.0 =
Debug|Any CPU
+ {666C2D04-C9DC-4D43-B4DF-0989225EABC3}.Debug|Any CPU.ActiveCfg
= Debug|Any CPU
+ {666C2D04-C9DC-4D43-B4DF-0989225EABC3}.Release|Any CPU.Build.0
= Release|Any CPU
+ {666C2D04-C9DC-4D43-B4DF-0989225EABC3}.Release|Any
CPU.ActiveCfg = Release|Any CPU
+ {DE21CEBC-F38C-43EA-B576-38CA9738A00A}.Debug|Any CPU.Build.0 =
Debug|Any CPU
+ {DE21CEBC-F38C-43EA-B576-38CA9738A00A}.Debug|Any CPU.ActiveCfg
= Debug|Any CPU
+ {DE21CEBC-F38C-43EA-B576-38CA9738A00A}.Release|Any CPU.Build.0
= Release|Any CPU
+ {DE21CEBC-F38C-43EA-B576-38CA9738A00A}.Release|Any
CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Modified: incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/Callbacks.cs
URL:
http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/Callbacks.cs?rev=664028&r1=664027&r2=664028&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/Callbacks.cs (original)
+++ incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/Callbacks.cs Fri Jun 6
09:46:48 2008
@@ -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:
incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/DefaultClientFactory.cs
URL:
http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/DefaultClientFactory.cs?rev=664028&r1=664027&r2=664028&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/DefaultClientFactory.cs
(original)
+++ incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/DefaultClientFactory.cs Fri
Jun 6 09:46:48 2008
@@ -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) )
Modified: incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/Qpid.Sasl.csproj
URL:
http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/Qpid.Sasl.csproj?rev=664028&r1=664027&r2=664028&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/Qpid.Sasl.csproj (original)
+++ incubator/qpid/branches/M2.1.x/dotnet/Qpid.Sasl/Qpid.Sasl.csproj Fri Jun 6
09:46:48 2008
@@ -38,6 +38,7 @@
<Compile Include="Configuration\SaslConfiguration.cs" />
<Compile Include="Configuration\SaslConfigurationSectionHandler.cs" />
<Compile Include="MD5HMAC.cs" />
+ <Compile Include="Mechanisms\CramMD5HexSaslClient.cs" />
<Compile Include="Mechanisms\ExternalSaslClient.cs" />
<Compile Include="SaslException.cs" />
<Compile Include="Mechanisms\AnonymousSaslClient.cs" />
@@ -61,4 +62,4 @@
<Target Name="AfterBuild">
</Target>
-->
-</Project>
+</Project>
\ No newline at end of file
Modified:
incubator/qpid/branches/M2.1.x/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1.x/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java?rev=664028&r1=664027&r2=664028&view=diff
==============================================================================
---
incubator/qpid/branches/M2.1.x/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java
(original)
+++
incubator/qpid/branches/M2.1.x/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java
Fri Jun 6 09:46:48 2008
@@ -24,6 +24,7 @@
import
org.apache.qpid.server.security.auth.sasl.AuthenticationProviderInitialiser;
import org.apache.qpid.server.security.auth.sasl.UsernamePrincipal;
import
org.apache.qpid.server.security.auth.sasl.crammd5.CRAMMD5HashedInitialiser;
+import org.apache.qpid.server.security.auth.sasl.crammd5.CRAMMD5HexInitialiser;
import
org.apache.qpid.server.security.access.management.AMQUserManagementMBean;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.EncoderException;
@@ -81,6 +82,11 @@
cram.initialise(this);
_saslServers.put(cram.getMechanismName(), cram);
+ //Add the Hex initialiser
+ CRAMMD5HexInitialiser cramHex = new CRAMMD5HexInitialiser();
+ cramHex.initialise(this);
+ _saslServers.put(cramHex.getMechanismName(), cramHex);
+
//fixme The PDs should setup a PD Mangement MBean
// try
// {
@@ -284,7 +290,6 @@
return true;
}
-
public Map<String, AuthenticationProviderInitialiser> getMechanisms()
{
return _saslServers;
@@ -325,7 +330,6 @@
}
}
-
private void loadPasswordFile() throws IOException
{
try
@@ -553,7 +557,6 @@
_encodedPassword = null;
}
-
byte[] getEncodePassword() throws EncoderException,
UnsupportedEncodingException, NoSuchAlgorithmException
{
if (_encodedPassword == null)