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)


Reply via email to