On 09/02/17 14:37, Chris Richardson wrote:
Hi,

Since the integration of the qpid-tools with the main qpid-cpp project
in version 1.35 we've had a problem where in some environments the
tools (tested: qpid-stat, qpid-config) now require the c++ client url
format of <host>:<port> rather than the python format of
amqp[s]://<host>:<port>, resulting in errors such as:

$ qpid-stat -b amqp://localhost -e
Failed: ConnectionError - Invalid URL: amqp://localhost
(/home/chrisr/projects/qpid/qpid-cpp/qpid-cpp-1.36.0/src/qpid/Url.cpp:248)

Confusingly, this hasn't happened on all environments so I'm assuming
some factor such as installation order, previous versions or the
selected Swig bindings affects the outcome.

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. However uninstalling qpid_messaging an installing qpid.messaging should revert to the previous behaviour.

Just for completeness, the c++ URL syntax can also specify a scheme, but it doesn't use the '//' after it. So e.g. amqp:localhost would work, or amqp:ssl:localhost for SSL. However...

Changing to the c++ syntax fixes the problem for plaintext connections
but I'm unsure how to formulate an ssl connection since there is no
way I can see to pass "--connection-options={transport:ssl}" as one
would for a c++ client and the following python-esque syntax also
fails:

$ qpid-stat -b localhost:5671 --ssl-certificate cert.pem --ssl-key key.pem -e
Failed: MessagingError - Invalid option: ssl_certfile not recognised
(/home/chrisr/projects/qpid/qpid-cpp/qpid-cpp-1.36.0/src/qpid/client/amqp0_10/ConnectionImpl.cpp:195)

There seems to be an API mismatch here

... I agree it looks like the switch to prefer the c++ swigged version was not sufficiently tested. My guess is most people have not noticed because they are using the pure python impl.

and even if there wasn't I
can't see how it would work since I assume the c++ client would expect
to get its certs from an NSS db specified by the QPID_SSL_* env vars.



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to