[ 
https://issues.apache.org/jira/browse/QPID-3415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13098237#comment-13098237
 ] 

[email protected] commented on QPID-3415:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1608/#review1767
-----------------------------------------------------------



/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java
<https://reviews.apache.org/r/1608/#comment4018>

    I believe you forgot to add ClientConnectionDelegate ?
    I can't seem to find this in the current source tree.
    
    Perhaps some of the missing code from ClientDelegate is moved to this class?



/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java
<https://reviews.apache.org/r/1608/#comment4012>

    Why is this code (related to GSSAPI) is removed ?
    
    I don't see this code moved elsewhere either? This will break existing 
functionality :(



/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java
<https://reviews.apache.org/r/1608/#comment4013>

    Removing this without a suitable replacement will break existing 
functionality.
    
    Is this check performed else where? Could you pls help me located it?
    
    This was in place to ensure the client to throw an exception if it's not 
configured to support any of the mechanisms supported by the broker. It used to 
be that we just ignored SASL all together if no matching mechs were found.
    
    I'd argue that this is an important check. Could you please explain your 
reasons behind the removal (if the same check is not performed elsewhere)?



/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java
<https://reviews.apache.org/r/1608/#comment4014>

    Lines 138 to 141 were required for SASL encryption support. Why is this 
removed ?
    
    Is this taken care of elsewhere? If so my apologies (but could you point me 
to the relevant code?). 



/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java
<https://reviews.apache.org/r/1608/#comment4015>

    The user identity when using GSSAPI and External are crucial for ACL 
support.
    
    We have existing customers relying on this feature.
    
    Why was this removed? (Again is there a replacement for this some where?)



/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java
<https://reviews.apache.org/r/1608/#comment4016>

    Again this method was used to retrieved the kerberos identity of the user.



/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ConnectionSettings.java
<https://reviews.apache.org/r/1608/#comment4017>

    I would think it's better to default to PLAIN as that would be the one that 
will be universally supported.
    However I believe you now retrieve the default from the sasl config file ?


- rajith


On 2011-08-22 08:58:27, Keith Wall wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1608/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-08-22 08:58:27)
bq.  
bq.  
bq.  Review request for qpid and rajith attapattu.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  This patch changes the 0-10 code path to create the SASL callback handler 
using the CallbackHandlerRegistry.   This allows the 0-10 code path to support 
SASL mechanisms requiring other callback handlers, such as CRAM-MD5-HASHED.  
Support for the sasl_mechs client connection option has been retained and now 
applies to the 0-8..0-9-1 code paths too.
bq.  
bq.  If the user *specifies* a sasl_mechs client connection option the 
behaviour of the code is unchanged from the previous version: it restricts the 
list of SASL mechanisms in use.
bq.  
bq.  If the user *does not specify* a sasl_mechs client connection option, the 
old code used a hardcoded PLAIN default.  This is no longer the case.  Now the 
client will use the first SASL mechanism from the list 
CallbackHandlerRegistry.properties that is also available on the server.
bq.  
bq.  Removed dead code and strengthen unit tests.
bq.   
bq.  
bq.  
bq.  This addresses bug QPID-3415.
bq.      https://issues.apache.org/jira/browse/QPID-3415
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    
/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java
 1160136 
bq.    
/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionStartMethodHandler.java
 1160136 
bq.    
/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/security/CallbackHandlerRegistry.java
 1160136 
bq.    
/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/security/CallbackHandlerRegistry.properties
 1160136 
bq.    
/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java
 1160136 
bq.    
/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java 
1160136 
bq.    
/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/ConnectionSettings.java
 1160136 
bq.    
/trunk/qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionTest.java
 1160136 
bq.    
/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java
 1160136 
bq.    
/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/UTF8Test.java
 1160136 
bq.  
bq.  Diff: https://reviews.apache.org/r/1608/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  Improved unit testing. Run java, cpp and cpp.ssl profiles. I am not able 
to test GSSAPI locally. 
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Keith
bq.  
bq.



> CRAM-MD5-HASHED not supported by 0-10 protocol (+ no suppport for custom SASL 
> mechanisms).
> ------------------------------------------------------------------------------------------
>
>                 Key: QPID-3415
>                 URL: https://issues.apache.org/jira/browse/QPID-3415
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: 0.10
>            Reporter: Keith Wall
>            Assignee: Rajith Attapattu
>             Fix For: 0.13
>
>
> If the Java broker is configured to use the Base64MD5Password password 
> database the Java client is unable to connect even if they use the sasl_mechs 
> broker option in the connection URL (sasl_mechs='CRAM-MD5-HASHED').  
> Instead the user sees:
> {code}
> org.apache.qpid.AMQException: Cannot connect to broker: Callback handler with 
> support for AuthorizeCallback required
> {code}
> The user can work around the problem by passing the -Dqpid.amqp.version 
> system property to the client, and selecting a protocol < 0-10.
> The problem is happening because on the 0-10 code path on the client, the 
> SASL CallbackHandler in use is hardcoded to UsernamePasswordCallbackhandler 
> (ClientDelegate), rather than using the facilities of CallbackHandlerRegistry 
> (as does the 0-8 and 0-9* code paths). CRAM-MD5-HASHED requires the use of a 
> different Callbackhandler.
> This also inhibits the use of custom SASL methods by the client.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to