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