Re: Review Request: IPv6 support for C++ (Windows and Linux) client/broker and python

2011-08-11 Thread Gordon Sim

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

Ship it!


- Gordon


On 2011-08-11 05:36:00, Andrew Stitcher wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/1440/
 ---
 
 (Updated 2011-08-11 05:36:00)
 
 
 Review request for qpid, Alan Conway, Gordon Sim, Kenneth Giusti, Ted Ross, 
 Steve Huston, and Cliff Jansen.
 
 
 Summary
 ---
 
 This is my proposed code change for C++ and Python to support IPv6:
 
 It includes a few different items:
 
 IPv6 support at the socket level
 - The C++ broker now listens on both TCPv4 and TCPv6 sockets for connections
   and accepts from both in the regular tcp transport.
 - The C++ client will connect to both TCPv4 and TCPv6 connections. If a name
   resolves to both v4 and v6 addresses they will be tried in turn as is
   required for correct functioning in a mixed network.
 - The necessary Windows code is also present but more lightly tested.
 - The Python client will now similarly connect to v6 as well as v4 addresses
 
 Connection URL syntax and parsing updated to include literal IPv6 addresses
 - For example [::1] is now allowed
 - C++ and Python URL parsers updated (very annoying that the parse different 
 syntaxes)
 
 Simple system test to the C++ build to smoke test IPv6 support.
 - This only uses the IPv6 loopback address though
 
 I have this change broken down into smaller patches if anyone would rather 
 see it that way. It's just easier
 to put it up for review in one big glob.
 
 
 This addresses bugs QPID-3404, QPID-3405, QPID-3406, QPID-3407, and QPID-3409.
 https://issues.apache.org/jira/browse/QPID-3404
 https://issues.apache.org/jira/browse/QPID-3405
 https://issues.apache.org/jira/browse/QPID-3406
 https://issues.apache.org/jira/browse/QPID-3407
 https://issues.apache.org/jira/browse/QPID-3409
 
 
 Diffs
 -
 
   /trunk/qpid/cpp/src/qpid/Address.cpp 1155572 
   /trunk/qpid/cpp/src/qpid/Url.cpp 1155572 
   /trunk/qpid/cpp/src/qpid/broker/windows/SslProtocolFactory.cpp 1155572 
   /trunk/qpid/cpp/src/qpid/sys/Socket.h 1155572 
   /trunk/qpid/cpp/src/qpid/sys/SocketAddress.h 1155572 
   /trunk/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp 1155572 
   /trunk/qpid/cpp/src/qpid/sys/epoll/EpollPoller.cpp 1155572 
   /trunk/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp 1155572 
   /trunk/qpid/cpp/src/qpid/sys/posix/Socket.cpp 1155572 
   /trunk/qpid/cpp/src/qpid/sys/posix/SocketAddress.cpp 1155572 
   /trunk/qpid/cpp/src/qpid/sys/windows/AsynchIO.cpp 1155572 
   /trunk/qpid/cpp/src/qpid/sys/windows/AsynchIoResult.h 1155572 
   /trunk/qpid/cpp/src/qpid/sys/windows/Socket.cpp 1155572 
   /trunk/qpid/cpp/src/qpid/sys/windows/SocketAddress.cpp 1155572 
   /trunk/qpid/cpp/src/qpid/sys/windows/SslAsynchIO.h 1155572 
   /trunk/qpid/cpp/src/tests/CMakeLists.txt 1155572 
   /trunk/qpid/cpp/src/tests/Makefile.am 1155572 
   /trunk/qpid/cpp/src/tests/Url.cpp 1155572 
   /trunk/qpid/cpp/src/tests/cluster_test_logs.py 1155572 
   /trunk/qpid/cpp/src/tests/ipv6_test PRE-CREATION 
   /trunk/qpid/extras/qmf/src/py/qmf/console.py 1155572 
   /trunk/qpid/python/qpid/util.py 1155572 
   /trunk/qpid/tools/src/py/qpid-route 1155572 
 
 Diff: https://reviews.apache.org/r/1440/diff
 
 
 Testing
 ---
 
 Tested (amongst other things) with included system test
 Tested lightly by hand on Windows
 
 
 Thanks,
 
 Andrew
 




[jira] [Commented] (QPID-3403) Empty bindings are not internally pruned from the direct exchange

2011-08-11 Thread Gordon Sim (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-3403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083044#comment-13083044
 ] 

Gordon Sim commented on QPID-3403:
--

That's a good suggestion; I've added that test in.

 Empty bindings are not internally pruned from the direct exchange
 -

 Key: QPID-3403
 URL: https://issues.apache.org/jira/browse/QPID-3403
 Project: Qpid
  Issue Type: Bug
  Components: C++ Broker
Affects Versions: 0.7
Reporter: Jason Dillaman
Assignee: Gordon Sim
Priority: Minor
 Attachments: QPID-3369.patch, QPID-3403.patch


 Each queue that is created is automatically bound to the default (direct)
 exchange with a routing key that matches the queue name.  When the queue is
 deleted, the queue is correctly removed from the binding map, but the mapping
 from routing key to queues is not removed even when there are no queues bound
 to the routing key.  
 In a case where thousands of uniquely named queues are created and deleted as
 transient storage, the memory usage of the broker will continue to grow as the
 default exchange's routing key map continues to grow. 

--
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:dev-subscr...@qpid.apache.org



[jira] [Created] (QPID-3412) Python and C++ clients translate address differently

2011-08-11 Thread Tomas Soltys (JIRA)
Python and C++ clients translate address differently


 Key: QPID-3412
 URL: https://issues.apache.org/jira/browse/QPID-3412
 Project: Qpid
  Issue Type: Bug
  Components: C++ Client
Affects Versions: 0.10
 Environment: Linux
Reporter: Tomas Soltys


I have a following address string
response/response.hey_Joe; { create: never, link: { name: 'response.hey_Joe', 
durable: false, x-declare: { auto-delete: true, exclusive: true, arguments: { 
'qpid.max_count': 1000, 'qpid.max_size': 100, 'qpid.policy_type': ring } } 
} }

When using python client everything works as expected, but with C++ client 
address response/response.hey_Joe is incorrectly translated to 
response_response.hey_Joe.

--
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:dev-subscr...@qpid.apache.org



[jira] [Commented] (QPID-3412) Python and C++ clients translate address differently

2011-08-11 Thread Gordon Sim (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-3412?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083056#comment-13083056
 ] 

Gordon Sim commented on QPID-3412:
--

response/response.hey_Joe is *not* translated to response_response.hey_Joe, 
what happens is that the name of the node (i.e. the response exchange) is 
prefixed to the link name (as specified by the address option) as the resulting 
subscription queue name

python by contrast simply uses the link name directly for the queue (which 
appears to be the behaviour you expect)

 Python and C++ clients translate address differently
 

 Key: QPID-3412
 URL: https://issues.apache.org/jira/browse/QPID-3412
 Project: Qpid
  Issue Type: Bug
  Components: C++ Client
Affects Versions: 0.10
 Environment: Linux
Reporter: Tomas Soltys

 I have a following address string
 response/response.hey_Joe; { create: never, link: { name: 
 'response.hey_Joe', durable: false, x-declare: { auto-delete: true, 
 exclusive: true, arguments: { 'qpid.max_count': 1000, 'qpid.max_size': 
 100, 'qpid.policy_type': ring } } } }
 When using python client everything works as expected, but with C++ client 
 address response/response.hey_Joe is incorrectly translated to 
 response_response.hey_Joe.

--
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:dev-subscr...@qpid.apache.org



[jira] [Assigned] (QPID-3412) Python and C++ clients translate address differently

2011-08-11 Thread Gordon Sim (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-3412?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gordon Sim reassigned QPID-3412:


Assignee: Gordon Sim

 Python and C++ clients translate address differently
 

 Key: QPID-3412
 URL: https://issues.apache.org/jira/browse/QPID-3412
 Project: Qpid
  Issue Type: Bug
  Components: C++ Client
Affects Versions: 0.10
 Environment: Linux
Reporter: Tomas Soltys
Assignee: Gordon Sim

 I have a following address string
 response/response.hey_Joe; { create: never, link: { name: 
 'response.hey_Joe', durable: false, x-declare: { auto-delete: true, 
 exclusive: true, arguments: { 'qpid.max_count': 1000, 'qpid.max_size': 
 100, 'qpid.policy_type': ring } } } }
 When using python client everything works as expected, but with C++ client 
 address response/response.hey_Joe is incorrectly translated to 
 response_response.hey_Joe.

--
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:dev-subscr...@qpid.apache.org



[jira] [Created] (QPID-3413) Plugin Manager Improvements

2011-08-11 Thread Keith Wall (JIRA)
Plugin Manager Improvements
---

 Key: QPID-3413
 URL: https://issues.apache.org/jira/browse/QPID-3413
 Project: Qpid
  Issue Type: Improvement
  Components: Java Broker
Reporter: Keith Wall
Assignee: Keith Wall
 Fix For: 0.13


The current PluginManager implementation knows a hardcode list of classes to 
export as OSGi system packages.   This approach makes it difficult for  broker 
plugins authors as they have no means to extend the list.   

This improvement will extract the list to a separate properties file with the 
ability to  override the properties file in use via System Propery (utilizing 
the existing FileUtils#openFileOrDefaultResource method).

It will also remove the need for PluginManager to be manually editted with each 
Qpid release.

https://cwiki.apache.org/confluence/display/qpid/Source+files+containing+version+numbers

--
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:dev-subscr...@qpid.apache.org



[jira] [Created] (QPID-3414) Plugin Manager Improvements

2011-08-11 Thread Keith Wall (JIRA)
Plugin Manager Improvements
---

 Key: QPID-3414
 URL: https://issues.apache.org/jira/browse/QPID-3414
 Project: Qpid
  Issue Type: Improvement
  Components: Java Broker
Reporter: Keith Wall
Assignee: Keith Wall
 Fix For: 0.13


The current PluginManager implementation knows a hardcode list of classes to 
export as OSGi system packages.   This approach makes it difficult for  broker 
plugins authors as they have no means to extend the list.   

This improvement will extract the list to a separate properties file with the 
ability to  override the properties file in use via System Propery (utilizing 
the existing FileUtils#openFileOrDefaultResource method).

It will also remove the need for PluginManager to be manually editted with each 
Qpid release.

https://cwiki.apache.org/confluence/display/qpid/Source+files+containing+version+numbers

--
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:dev-subscr...@qpid.apache.org



[jira] [Commented] (QPID-3412) Python and C++ clients translate address differently

2011-08-11 Thread Gordon Sim (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-3412?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083082#comment-13083082
 ] 

Gordon Sim commented on QPID-3412:
--

To illustrate the point in previous comment, consider the following address:

  my-exchange/my-subject; {link:{name: my-link}}

Here the c++ client would create and bind a queue named my-exchange_my-link, 
whereas python would simply use my-link as the subscription queue name. The 
rationale for the c++ client behaviour was a desire to provide some logical 
grouping between links from the same node. However when the application 
controls the name, it can of course do that itself in some way.

 Python and C++ clients translate address differently
 

 Key: QPID-3412
 URL: https://issues.apache.org/jira/browse/QPID-3412
 Project: Qpid
  Issue Type: Bug
  Components: C++ Client
Affects Versions: 0.10
 Environment: Linux
Reporter: Tomas Soltys
Assignee: Gordon Sim

 I have a following address string
 response/response.hey_Joe; { create: never, link: { name: 
 'response.hey_Joe', durable: false, x-declare: { auto-delete: true, 
 exclusive: true, arguments: { 'qpid.max_count': 1000, 'qpid.max_size': 
 100, 'qpid.policy_type': ring } } } }
 When using python client everything works as expected, but with C++ client 
 address response/response.hey_Joe is incorrectly translated to 
 response_response.hey_Joe.

--
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:dev-subscr...@qpid.apache.org



[jira] [Updated] (QPID-3412) Python and C++ clients use link name option differently

2011-08-11 Thread Gordon Sim (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-3412?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gordon Sim updated QPID-3412:
-

Summary: Python and C++ clients use link name option differently  (was: 
Python and C++ clients translate address differently)

 Python and C++ clients use link name option differently
 ---

 Key: QPID-3412
 URL: https://issues.apache.org/jira/browse/QPID-3412
 Project: Qpid
  Issue Type: Bug
  Components: C++ Client
Affects Versions: 0.10
 Environment: Linux
Reporter: Tomas Soltys
Assignee: Gordon Sim

 I have a following address string
 response/response.hey_Joe; { create: never, link: { name: 
 'response.hey_Joe', durable: false, x-declare: { auto-delete: true, 
 exclusive: true, arguments: { 'qpid.max_count': 1000, 'qpid.max_size': 
 100, 'qpid.policy_type': ring } } } }
 When using python client everything works as expected, but with C++ client 
 address response/response.hey_Joe is incorrectly translated to 
 response_response.hey_Joe.

--
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:dev-subscr...@qpid.apache.org



[jira] [Updated] (QPID-3414) Plugin Manager Improvements

2011-08-11 Thread Keith Wall (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-3414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Keith Wall updated QPID-3414:
-

Description: 
The current PluginManager implementation knows a hardcode list of classes to 
export as OSGi system packages.   This approach makes it difficult for  broker 
plugins authors as they have no means to extend the list.   

This improvement will extract the list to a separate properties file with the 
ability to  override the properties file in use via System Propetry (utilizing 
the existing FileUtils#openFileOrDefaultResource method).

It will also remove the need for PluginManager to be manually editted with each 
Qpid release.

https://cwiki.apache.org/confluence/display/qpid/Source+files+containing+version+numbers

  was:
The current PluginManager implementation knows a hardcode list of classes to 
export as OSGi system packages.   This approach makes it difficult for  broker 
plugins authors as they have no means to extend the list.   

This improvement will extract the list to a separate properties file with the 
ability to  override the properties file in use via System Propery (utilizing 
the existing FileUtils#openFileOrDefaultResource method).

It will also remove the need for PluginManager to be manually editted with each 
Qpid release.

https://cwiki.apache.org/confluence/display/qpid/Source+files+containing+version+numbers


 Plugin Manager Improvements
 ---

 Key: QPID-3414
 URL: https://issues.apache.org/jira/browse/QPID-3414
 Project: Qpid
  Issue Type: Improvement
  Components: Java Broker
Reporter: Keith Wall
Assignee: Keith Wall
  Labels: OSGI
 Fix For: 0.13


 The current PluginManager implementation knows a hardcode list of classes to 
 export as OSGi system packages.   This approach makes it difficult for  
 broker plugins authors as they have no means to extend the list.   
 This improvement will extract the list to a separate properties file with the 
 ability to  override the properties file in use via System Propetry 
 (utilizing the existing FileUtils#openFileOrDefaultResource method).
 It will also remove the need for PluginManager to be manually editted with 
 each Qpid release.
 https://cwiki.apache.org/confluence/display/qpid/Source+files+containing+version+numbers

--
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:dev-subscr...@qpid.apache.org



[jira] [Commented] (QPID-3414) Plugin Manager Improvements

2011-08-11 Thread Danushka Menikkumbura (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-3414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083089#comment-13083089
 ] 

Danushka Menikkumbura commented on QPID-3414:
-

Hi Keith,

I strongly believe that the PluginManager should be independent of the OSGi 
provider. Currently it is Felix-specific.

Thanks,
Danushka

 Plugin Manager Improvements
 ---

 Key: QPID-3414
 URL: https://issues.apache.org/jira/browse/QPID-3414
 Project: Qpid
  Issue Type: Improvement
  Components: Java Broker
Reporter: Keith Wall
Assignee: Keith Wall
  Labels: OSGI
 Fix For: 0.13


 The current PluginManager implementation knows a hardcode list of classes to 
 export as OSGi system packages.   This approach makes it difficult for  
 broker plugins authors as they have no means to extend the list.   
 This improvement will extract the list to a separate properties file with the 
 ability to  override the properties file in use via System Propetry 
 (utilizing the existing FileUtils#openFileOrDefaultResource method).
 It will also remove the need for PluginManager to be manually editted with 
 each Qpid release.
 https://cwiki.apache.org/confluence/display/qpid/Source+files+containing+version+numbers

--
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:dev-subscr...@qpid.apache.org



Re: svn commit: r1156604 - in /qpid/trunk/qpid: cpp/src/qpid/broker/SaslAuthenticator.cpp specs/management-schema.xml

2011-08-11 Thread Gordon Sim

On 08/11/2011 01:49 PM, mgoul...@apache.org wrote:

Author: mgoulish
Date: Thu Aug 11 12:49:39 2011
New Revision: 1156604

URL: http://svn.apache.org/viewvc?rev=1156604view=rev
Log:
 two new management properties for connections: the sasl mechanism, and the 
ssf (security strength factor).also a change to logging level of one 
message, so that when we see the list of mechanisms, we will always also see 
which one was chosen.


Modified:
 qpid/trunk/qpid/cpp/src/qpid/broker/SaslAuthenticator.cpp
 qpid/trunk/qpid/specs/management-schema.xml



This breaks the java build. It should also probably have a JIRA 
associated with it as it is a user visible enhancement.


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



[jira] [Resolved] (QPID-3412) Python and C++ clients use link name option differently

2011-08-11 Thread Gordon Sim (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-3412?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gordon Sim resolved QPID-3412.
--

   Resolution: Fixed
Fix Version/s: 0.13

 Python and C++ clients use link name option differently
 ---

 Key: QPID-3412
 URL: https://issues.apache.org/jira/browse/QPID-3412
 Project: Qpid
  Issue Type: Bug
  Components: C++ Client
Affects Versions: 0.10
 Environment: Linux
Reporter: Tomas Soltys
Assignee: Gordon Sim
 Fix For: 0.13


 I have a following address string
 response/response.hey_Joe; { create: never, link: { name: 
 'response.hey_Joe', durable: false, x-declare: { auto-delete: true, 
 exclusive: true, arguments: { 'qpid.max_count': 1000, 'qpid.max_size': 
 100, 'qpid.policy_type': ring } } } }
 When using python client everything works as expected, but with C++ client 
 address response/response.hey_Joe is incorrectly translated to 
 response_response.hey_Joe.

--
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:dev-subscr...@qpid.apache.org



[jira] [Commented] (QPID-3415) CRAM-MD5-HASHED not supported by 0-10 protocol (+ no suppport for custom SASL mechanisms).

2011-08-11 Thread Keith Wall (JIRA)

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

Keith Wall commented on QPID-3415:
--

I'll submit a patch to change the 0-10 code path to use 
CallbackHandlerRegistry, whilst retaining support for the sasl_mechs property 
and the EXTERNAL/GSSAPI SASL mechanisms.

 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: Keith Wall
 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:dev-subscr...@qpid.apache.org



[jira] [Created] (QPID-3415) CRAM-MD5-HASHED not supported by 0-10 protocol (+ no suppport for custom SASL mechanisms).

2011-08-11 Thread Keith Wall (JIRA)
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: Keith Wall
 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:dev-subscr...@qpid.apache.org



Re: [VOTE] Release 0.12

2011-08-11 Thread Keith Wall
+1


On 10 August 2011 20:00, Robbie Gemmell robbie.gemm...@gmail.com wrote:

 +1

 I have staged the Maven artifacts for the Java client on the ASF Nexus
 instance and tested them, they can be promoted upon distribution of
 the release (which as previously should not include the maven
 directory output by the release script) by logging into Nexus at
 https://repository.apache.org/

 They are temporarily available at the following URL should anyone else
 wish to test them:
 https://repository.apache.org/content/repositories/orgapacheqpid-016/

 Robbie

 On 9 August 2011 20:35, Justin Ross jr...@redhat.com wrote:
  Howdy, all.  The last-minute blocker, QPID-3394, has been fixed, and
 there
  are no open blocker jiras against 0.12.  The proposed final RC, from
  revision 1154981 of the 0.12 release branch, is available here:
 
   http://people.apache.org/~jross/qpid-0.12/
 
  If you favor releasing this distribution as Qpid 0.12, vote +1.  If you
 are
  aware of problems that ought to prevent this distribution from being
  released, vote -1.
 
  If the release proceeds, I'll take the final steps to publicize and
  distribute the release.  That should take one or two days.
 
  ---
  0.12 release page: https://cwiki.apache.org/qpid/012-release.html
 
  -
  Apache Qpid - AMQP Messaging Implementation
  Project:  http://qpid.apache.org
  Use/Interact: mailto:dev-subscr...@qpid.apache.org
 
 

 -
 Apache Qpid - AMQP Messaging Implementation
 Project:  http://qpid.apache.org
 Use/Interact: mailto:dev-subscr...@qpid.apache.org




IPv6 support for Java for 0.14?

2011-08-11 Thread Andrew Stitcher
I've been spending much of my time in the past few weeks getting support
for IPv6 in to the C++ and python code bases, and I expect to get it in
the code base in the next few days (unless someone can see a problem not
yet noticed with the code).

I've created an umbrella Jira - QPID-3404 to track IPv6 work with a
bunch of sub-tasks to track the details.

It'd be great if we can announce full IPv6 support for the 0.14 release:
Does anyone more qualified than me want to take on the work for the Java
code base? I'd be happy to advise or even do the work if no one else
steps forward, but I suspect that someone more familiar with the Java
code would be better suited.

So I'm really appealing for volunteers for QPID-3408  -
https://issues.apache.org/jira/browse/QPID-3408

Note that in general there are two issues in IPv6 support that have
emerged so far:

1. Actually listening/connecting to IPv6 sockets (including the correct
reconnect and multiple listening socket logic)

2. Adding literal IPv6 support to any URL parsing.

They are separable and 1 is useful without 2, but 2 is necessary to have
complete IPv6 support.

Andrew



-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: IPv6 support for Java for 0.14?

2011-08-11 Thread Rajith Attapattu
On Thu, Aug 11, 2011 at 10:59 AM, Andrew Stitcher astitc...@redhat.com wrote:
 I've been spending much of my time in the past few weeks getting support
 for IPv6 in to the C++ and python code bases, and I expect to get it in
 the code base in the next few days (unless someone can see a problem not
 yet noticed with the code).

 I've created an umbrella Jira - QPID-3404 to track IPv6 work with a
 bunch of sub-tasks to track the details.

 It'd be great if we can announce full IPv6 support for the 0.14 release:
 Does anyone more qualified than me want to take on the work for the Java
 code base? I'd be happy to advise or even do the work if no one else
 steps forward, but I suspect that someone more familiar with the Java
 code would be better suited.

 So I'm really appealing for volunteers for QPID-3408  -
 https://issues.apache.org/jira/browse/QPID-3408

 Note that in general there are two issues in IPv6 support that have
 emerged so far:

 1. Actually listening/connecting to IPv6 sockets (including the correct
 reconnect and multiple listening socket logic)

My understanding is that since Java 1.4, there have been support for IPv6.
AFAIK this is transparent and code wise we don't really have to do
anything special.
But of course we have to test this out and see.


 2. Adding literal IPv6 support to any URL parsing.

This is where I suspect we will need some work. The URL parser **may**
fail when we use a IPv6 address.
If it does not, then that would be a real bonus.
I will test this out today and see.

 They are separable and 1 is useful without 2, but 2 is necessary to have
 complete IPv6 support.

 Andrew



 -
 Apache Qpid - AMQP Messaging Implementation
 Project:      http://qpid.apache.org
 Use/Interact: mailto:dev-subscr...@qpid.apache.org



-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: IPv6 support for Java for 0.14?

2011-08-11 Thread Andrew Stitcher
On Thu, 2011-08-11 at 12:27 -0400, Andrew Stitcher wrote:
 On Thu, 2011-08-11 at 11:08 -0400, Rajith Attapattu wrote:
  ...
   1. Actually listening/connecting to IPv6 sockets (including the correct
   reconnect and multiple listening socket logic)
  
  My understanding is that since Java 1.4, there have been support for IPv6.
  AFAIK this is transparent and code wise we don't really have to do
  anything special.
  But of course we have to test this out and see.
 
 I doubt this is the case unless thought has gone into it initially, as
 you have to do things differently to get v6 sockets as opposed to v4.
 I'll go and look at code to see if I can substantiate.

I retract that. From what I can see in the code it looks like IPv6
addresses will get correctly resolved and connected to. However I'm
couldn't see anywhere which would do the correct retry logic if say the
first resolved address wasn't available.

Andrew



-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: IPv6 support for Java for 0.14?

2011-08-11 Thread Andrew Stitcher
On Thu, 2011-08-11 at 11:08 -0400, Rajith Attapattu wrote:
 ...
  1. Actually listening/connecting to IPv6 sockets (including the correct
  reconnect and multiple listening socket logic)
 
 My understanding is that since Java 1.4, there have been support for IPv6.
 AFAIK this is transparent and code wise we don't really have to do
 anything special.
 But of course we have to test this out and see.

I doubt this is the case unless thought has gone into it initially, as
you have to do things differently to get v6 sockets as opposed to v4.
I'll go and look at code to see if I can substantiate.

Andrew



-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: IPv6 support for Java for 0.14?

2011-08-11 Thread Gordon Sim

On 08/11/2011 06:40 PM, Andrew Stitcher wrote:

On Thu, 2011-08-11 at 12:27 -0400, Andrew Stitcher wrote:

On Thu, 2011-08-11 at 11:08 -0400, Rajith Attapattu wrote:

...

1. Actually listening/connecting to IPv6 sockets (including the correct
reconnect and multiple listening socket logic)


My understanding is that since Java 1.4, there have been support for IPv6.
AFAIK this is transparent and code wise we don't really have to do
anything special.
But of course we have to test this out and see.


I doubt this is the case unless thought has gone into it initially, as
you have to do things differently to get v6 sockets as opposed to v4.
I'll go and look at code to see if I can substantiate.


I retract that. From what I can see in the code it looks like IPv6
addresses will get correctly resolved and connected to. However I'm
couldn't see anywhere which would do the correct retry logic if say the
first resolved address wasn't available.


http://download.oracle.com/javase/1.5.0/docs/guide/net/ipv6_guide/index.html

Which claims: With Java you can run any Java applications, client or 
server, on an IPv6-enabled platform using J2SE 1.4 or later, and that 
application will automagically become IPv6-enabled.


It also states:

that on a dual-stack machine, since one socket, the IPv6 socket, will 
be able to access both IPv4 and IPv6 protocol stacks, you only need to 
create one socket


does this mean on Linux we don't need to create multiple sockets to 
listen on?


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



0.14 release update - schedule

2011-08-11 Thread Justin Ross
While Qpid 0.12 is still hanging out for a few more votes, I thought I'd 
send out a pointer to our 0.14 release page.


  https://cwiki.apache.org/qpid/014-release.html

There's not much there yet apart from the proposed schedule.  Over time 
this page will host more content.


0.14 itself has been underway since the end of June.  It is scheduled to 
freeze (for disruptive changes) on October 19th and release at the end of 
November.


Thanks,
Justin




-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: IPv6 support for Java for 0.14?

2011-08-11 Thread Andrew Stitcher
On Thu, 2011-08-11 at 20:10 +0100, Gordon Sim wrote:
 http://download.oracle.com/javase/1.5.0/docs/guide/net/ipv6_guide/index.html
 
 Which claims: With Java you can run any Java applications, client or 
 server, on an IPv6-enabled platform using J2SE 1.4 or later, and that 
 application will automagically become IPv6-enabled.
 
 It also states:
 
 that on a dual-stack machine, since one socket, the IPv6 socket, will 
 be able to access both IPv4 and IPv6 protocol stacks, you only need to 
 create one socket
 
 does this mean on Linux we don't need to create multiple sockets to 
 listen on?

That is correct, you can use an IPv6 socket to accept IPv4 connections
too, but there are good reasons you might want to create separate v4 and
v6 only listening sockets. Essentially this gives you stronger control
over the protocols individually if you need that, although this
rationale in c/c++ might not fully exist in Java - I don't understand
the details there fully.

In order to do this with a single socket though it needs to be a v6
socket.

Reading that doc briefly it looks like the reconnect logic might be
transparent to the application which would be nice and explain why I
didn't see it anywhere.

Andrew



-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: [VOTE] Release 0.12

2011-08-11 Thread Ted Ross

+1

On 08/09/2011 03:35 PM, Justin Ross wrote:
Howdy, all.  The last-minute blocker, QPID-3394, has been fixed, and 
there are no open blocker jiras against 0.12.  The proposed final RC, 
from revision 1154981 of the 0.12 release branch, is available here:


  http://people.apache.org/~jross/qpid-0.12/

If you favor releasing this distribution as Qpid 0.12, vote +1.  If 
you are aware of problems that ought to prevent this distribution from 
being released, vote -1.


If the release proceeds, I'll take the final steps to publicize and 
distribute the release.  That should take one or two days.


---
0.12 release page: https://cwiki.apache.org/qpid/012-release.html

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org




-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



[jira] [Updated] (QPID-2057) qpidd --require-encryption forces SASL security layer to be used even if SSL is in use

2011-08-11 Thread Justin Ross (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-2057?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Ross updated QPID-2057:
--

Fix Version/s: (was: 0.11)
   Future

 qpidd --require-encryption forces SASL security layer to be used even if SSL 
 is in use
 --

 Key: QPID-2057
 URL: https://issues.apache.org/jira/browse/QPID-2057
 Project: Qpid
  Issue Type: Bug
  Components: C++ Broker
Affects Versions: 0.5
Reporter: Ted Ross
Assignee: michael j. goulish
Priority: Minor
 Fix For: Future


 If running SSL and using GSSAPI authentication with the --require-encryption 
 option turned on, the SASL layer will force minSsf to be greater than zero, 
 thus causing the SASL security layer to encrypt.
 This is unnecessary double-encryption since SSL is already providing a cipher 
 channel at a lower layer.

--
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:dev-subscr...@qpid.apache.org



[jira] [Commented] (QPID-2316) 0.6RC2 C++ Build fails if ruby-dev and swig installed

2011-08-11 Thread Justin Ross (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-2316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083552#comment-13083552
 ] 

Justin Ross commented on QPID-2316:
---

Can we declare this issue resolved?

 0.6RC2 C++ Build fails if ruby-dev and swig installed
 -

 Key: QPID-2316
 URL: https://issues.apache.org/jira/browse/QPID-2316
 Project: Qpid
  Issue Type: Bug
  Components: Build Tools
Affects Versions: 0.6, 0.7
Reporter: Rob Godfrey
Assignee: Ted Ross
 Fix For: 0.11


 When attempting to build the C++ contained in the artefact at 
 http://qpid.apache.org/dist/qpid-0.6rc2/qpid-0.6rc2.tar.gz
 I got the following error on my machine:
 Making all in ruby
 make[2]: Entering directory `/home/rob/qpidc-0.6/bindings/qmf/ruby'
 make[2]: *** No rule to make target `ruby.i', needed by `qmfengine.cpp'.  
 Stop.
 Further investigation showed that the build succeeded on a separate machine, 
 however on this machine the qmfengine.cpp target was commented out in the 
 buildfile.  This was as a result of the fact that the second machine did not 
 have ruby development and SWIG packages installed.  After installing these 
 packages the second machine failed in the same way as the first

--
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:dev-subscr...@qpid.apache.org



[jira] [Updated] (QPID-2993) Federated source-local links crash remotely federated cluster member on local cluster startup

2011-08-11 Thread Justin Ross (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-2993?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Ross updated QPID-2993:
--

Fix Version/s: (was: 0.11)
   Future

 Federated source-local links crash remotely federated cluster member on local 
 cluster startup
 -

 Key: QPID-2993
 URL: https://issues.apache.org/jira/browse/QPID-2993
 Project: Qpid
  Issue Type: Bug
  Components: C++ Broker, C++ Clustering
Affects Versions: 0.8
 Environment: Debian Linux Squeeze, 32-bit, kernel 2.6.36.2, Dell 
 Poweredge 1950s. Corosync==1.3.0, Openais==1.1.4
Reporter: Mark Moseley
Assignee: michael j. goulish
 Fix For: Future

 Attachments: 2993_bug.sh, cluster-fed-src.sh


 This is related to JIRA 2992 that I opened, but this is for source-local 
 routes. Given the same setup as in JIRA 2992 but using source-local routes 
 (and obviously with the exchanges switched accordingly in the qpid-route 
 statements), i.e. cluster A and cluster B with the routes between A1-B1, 
 when cluster B shuts down in the order B2-B1 and starts back up, the static 
 routes are not correctly re-bound on cluster A's side. However if cluster B 
 is shut down in the order B1-B2 and started back up, the route is correctly 
 created and works. However in the non-functioning case (B2-B1, or A2-A1), 
 there is an additional side-effect: on node A2, qpidd crashes with the 
 following error (cluster A is called 'walclust', B is bosclust):
 2011-01-07 18:57:35 error Channel exception: not-attached: Channel 1 is not 
 attached (qpid/amqp_0_10/SessionHandler.cpp:39)
 2011-01-07 18:57:35 critical cluster(102.0.0.0:13650 READY/error) local error 
 2030 did not occur on member 101.0.0.0:9920: not-attached: Channel 1 is not 
 attached (qpid/amqp_0_10/SessionHandler.cpp:39)
 2011-01-07 18:57:35 critical Error delivering frames: local error did not 
 occur on all cluster members : not-attached: Channel 1 is not attached 
 (qpid/amqp_0_10/SessionHandler.cpp:39) (qpid/cluster/ErrorCheck.cpp:89)
 2011-01-07 18:57:35 notice cluster(102.0.0.0:13650 LEFT/error) leaving 
 cluster walclust
 2011-01-07 18:57:35 notice Shut down
 This happens on both sides of the cluster, so it's not limited to one or the 
 other. This crash does *not* occur in the A1-A2/B1-B2 test (i.e. the test 
 where the route is re-bound correctly). I can cause this to reoccur pretty 
 much every time. I've been resetting the cluster completely to a new state 
 between each test. Occasionally in the B2-B1 test, A1 will also crash with 
 the same error (and vice versa for A2-A1 for node B1), though most of the 
 time, it's A2/B2 that crashes.
 I was getting this same behaviour prior to upgrading corosync/openais as 
 well. Previously I was using the stock Squeeze versions of corosync==1.2.1 
 and openais==1.1.2. The results are the same with corosync=1.3.0 and 
 openais==1.1.4.

--
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:dev-subscr...@qpid.apache.org



[jira] [Updated] (QPID-3061) Discrepancies between CMake and Automake

2011-08-11 Thread Justin Ross (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-3061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Ross updated QPID-3061:
--

Fix Version/s: (was: 0.11)
   Future

 Discrepancies between CMake and Automake
 

 Key: QPID-3061
 URL: https://issues.apache.org/jira/browse/QPID-3061
 Project: Qpid
  Issue Type: Bug
  Components: Build Tools
Affects Versions: 0.8
Reporter: Ted Ross
Assignee: Ted Ross
Priority: Minor
 Fix For: Future


 There are some changes that were put into Autoconf/Automake but not Cmake.  
 This issue is for tracking the synchronization of cmake to automake.

--
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:dev-subscr...@qpid.apache.org



[jira] [Commented] (QPID-3066) UTF8Test does not run under non VM 0-10 profiles

2011-08-11 Thread Justin Ross (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-3066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083559#comment-13083559
 ] 

Justin Ross commented on QPID-3066:
---

This looks like it may be resolved.  True?

 UTF8Test does not run under non VM 0-10 profiles
 

 Key: QPID-3066
 URL: https://issues.apache.org/jira/browse/QPID-3066
 Project: Qpid
  Issue Type: Bug
  Components: Java Tests
Affects Versions: 0.9
Reporter: Andrew Kennedy
Assignee: Andrew Kennedy
Priority: Minor
 Fix For: 0.11


 The UTF8Test uses the 'isBrokerExternal' and 'isBroker010' methods to check 
 whether it should run, rather than relying on the Excludes files. The checks 
 wrongly cause an exception to be thrown on the java.0.10 test profile.

--
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:dev-subscr...@qpid.apache.org



[jira] [Commented] (QPID-3111) DynamicQueueExchangeCreateTest should check for 404 error code explicitly

2011-08-11 Thread Justin Ross (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-3111?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13083673#comment-13083673
 ] 

Justin Ross commented on QPID-3111:
---

Is this issue fixed?

 DynamicQueueExchangeCreateTest should check for 404 error code explicitly
 -

 Key: QPID-3111
 URL: https://issues.apache.org/jira/browse/QPID-3111
 Project: Qpid
  Issue Type: Bug
  Components: Java Tests
Affects Versions: 0.9
Reporter: Andrew Kennedy
Assignee: Andrew Kennedy
Priority: Minor
 Fix For: 0.11


 DynamicQueueExchangeCreateTest checks for a tect string in the message 
 property of a thrown exception. This is brittle and should be replaced with a 
 check for the AMQConstant#NOT_FOUND (404) error code instead.

--
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:dev-subscr...@qpid.apache.org



Re: [VOTE] Release 0.12

2011-08-11 Thread Ken Giusti
+1

-K

- Original Message -
 Howdy, all. The last-minute blocker, QPID-3394, has been fixed, and
 there
 are no open blocker jiras against 0.12. The proposed final RC, from
 revision 1154981 of the 0.12 release branch, is available here:
 
 http://people.apache.org/~jross/qpid-0.12/
 
 If you favor releasing this distribution as Qpid 0.12, vote +1. If you
 are aware of problems that ought to prevent this distribution from
 being
 released, vote -1.
 
 If the release proceeds, I'll take the final steps to publicize and
 distribute the release. That should take one or two days.
 
 ---
 0.12 release page: https://cwiki.apache.org/qpid/012-release.html
 
 -
 Apache Qpid - AMQP Messaging Implementation
 Project: http://qpid.apache.org
 Use/Interact: mailto:dev-subscr...@qpid.apache.org

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



[QUESTION] Concerning JIRA QPID-2549

2011-08-11 Thread dsh
Hi,

I created a FreeBSD port of Qpid 0.10 but am stuck at the issue
described in #QPID-2549 [1]. Just to understand it completely - does
the JIRA mean Qpid is completely broken on FreeBSD or would it be
possible to navigate around the Poller related error messages by
specifying --without-poller while configuring Qpid?

PS: I intend to create the Qpid FreeBSD in support of creating an
Apache Tuscany FreeBSD port which has an optional dependency on Apache
Qpid.

[1] https://issues.apache.org/jira/browse/QPID-2549

Thanks and best wishes!

Cheers
Daniel

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org