On 13 February 2017 at 14:55, Alan Conway <acon...@redhat.com> wrote:
> On Thu, 2017-02-09 at 15:30 +0000, Gordon Sim wrote:
>> On 09/02/17 15:20, Gordon Sim wrote:
>> > It seems that the swigged c++ implementation is now prefered to the
>> > pure
>> > python on. Not sure why that was done; I hadn't even realised it
>> > had
>> > been done.
>>
>> This was done as the fix for
>> https://issues.apache.org/jira/browse/QPID-7432, i.e. in order to
>> allow
>> management tools to work over AMQP 1.0.
>>
>> However, it does not take into account some differences between the
>> c++
>> and python implementations, particularly for SSL configuration.
>>
>> It would be nice to make the preference for the swigged version
>> somehow
>> conditional. E.g. through a command line option that specifically
>> requests AMQP 1.0.
>
> Gah, I had not realized that the SWIG client was not a drop-in
> replacement even aside from protocol differences.
>
> If it was just the URL format, we could easily have the SWIG client use
> the python URL parser instead of the C++ one, but if there are more
> differences (SASL config??) then it is not simple at all.
>
> Can you make a list of all the things that differ between the clients
> so we can figure out how to deal with this? It doesn't sounds as simple
> as a command line flag for AMQP 1.0 if you need to replace your SASL
> configuration as well just to change the protocol the management client
> speaks.
>

I don't think that question was directed at me but I'll chuck in my
tuppence-worth of "user experience" anyway...

SSL config is definitely an issue, but luckily (for us) not a big one
since as we already use a mix of the c++, python and Java clients I
write our certificates to an NSS DB and PEM files (and JKS
keystore/truststore files). This includes the SASL with SSL client
auth config. With that already in place it's easy enough to choose a
URL based on the result of attempting to use the python tools in bash
eg:

if [[ "$(qpid-config -b amqps://localhost)" =~ "Invalid URL" ]]; then
  # use the c++ client url syntax and SSL config from QPID_SSL* env vars
else
  # use the python client url syntax and PEM files named in cli switches
fi

A bit hacky, but it works... albeit with AMQP1.0 in the c++ client and
AMQP-0-10 in the python (I think).

Gordon mentioned switching between the qpid_messaging and
qpid.messaging clients; I was slightly confused by this but hadn't got
around to inquiring further - more specific details would be really
useful. Presumably one of them is the native python client and the
other is the swigged wrapper? Are we talking about only qpid-cpp here
or are is the build type of proton also relevant?

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to