[zeromq-dev] Attempt to proxying CURVE with a new NOP mechanism and surrogate feature still fails

Laurent Alebarde l.alebarde at free.fr
Thu Dec 5 18:34:41 CET 2013


Hi Devs,

In my attempts to proxy CURVE while sticking to ZMTP, I have failed 
until now. I still think it is possible, but I cannot afford spending 
more time on it. If someone can go on, you are welcome.

Everything is in one commit here - the code is simple : 
https://github.com/lalebarde/libzmq/commit/8e321dde5a96b9ce185ab1016adcf42b4f233257#commitcomment-4783956

For that purpose, I have created a NOP mechanism, with no handcheck and 
intended for the proxy, plus a surrogate feature that enables a socket 
to build its mechanism on what it has been configured for instead of on 
the peer's greeting, and to send a greeting mechanism different from the 
configured one. In other words, the surrogate feature makes it possible 
to avoid any mechanism transaction.

The test "test_surrogate_curve.cpp" fails to proxy CURVE via a NOP proxy:
Client (DEALER, CURVE) --------- (NOP, ROUTER) Proxy (ROUTER, NOP) 
------------ (CURVE, DEALER) Worker

What happens is that the curve_client_t object DTORs just after having 
sent the HELLO command. At least, if I change CURVE to NOP in the client 
and worker, the test passes, either with use of surrogation with any 
mechanism or not using surrogation at all.

I remain available for any question. Following Pieter advices, I am 
going to try another way, with a ZMQ_STREAM proxy.

Cheers,


Laurent.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20131205/087cc810/attachment.htm>


More information about the zeromq-dev mailing list