[zeromq-dev] Another attempt to proxying CURVE

Laurent Alebarde l.alebarde at free.fr
Fri Dec 20 13:11:00 CET 2013


Hi Pieter,

Thank you for your great suggestion, because now it becomes an ambitious 
project.
it's here : https://github.com/lalebarde/streamq-proxy
with a RFC.

Shall I create a dedicated mauiling list, or is it preferable to discuss 
it here ?

Cheers,

Laurent.


Le 20/12/2013 09:34, Pieter Hintjens a écrit :
> Hi Laurent,
>
> This approach is the only one that can work, without real protocol
> changes, as I explained initially.
>
> I'd advise you *strongly* to work outside libzmq, on simple and
> separate test cases that people can take and run. Just create a new
> GitHub project. For building, you can use a hand-made Bash script that
> invokes g++. Using libzmq as your codebase makes it too tricky for
> others to take and play with this. Certainly I'm not comfortable
> taking a fork of libzmq to test your specific case.
>
> A minimal test case fits into a pastebin and builds and runs alone, as
> I've always done for the Guide examples.
>
> (You're going to argue that it's just one test program to try, and I'm
> going to repeat that I won't run test code that's mixed into libzmq
> like this. :-)
>
> When you move your proxy to a separate project, I'll take a look at it.
>
> -Pieter
>
>
>
>
> On Thu, Dec 19, 2013 at 5:35 PM, Laurent Alebarde <l.alebarde at free.fr> wrote:
>> Hi all,
>>
>> I am trying a more straight forward approach to proxy CURVE :
>>
>> client (CURVE DEALER) --------- frontend (ZMQ_STREAM) proxy (ZMQ_STREAM)
>> backend ------- (CURVE DEALER) worker
>>
>> I have sticked to test_stream.cpp. The idea here is the proxy pools only
>> workers at the beginning. When a worker connects, we pool also the client
>> and the backend stays on standby until the client is identified. Then the
>> proxy forwards all the messages from one to the other. There is a little
>> state machine for the frontend and for the backend in the proxy.
>>
>> The code is simplified and works only with one client and one worker. So, I
>> don't have to manage any pairing.
>>
>> It starts well, both client and worker are identified in the proxy, then
>> both backend and frontend forward the identity and signature of one peer to
>> the other.
>>
>> The problem is that just after the frontend has sent them, it receive back
>> from the client its identity (as expected), and a 1 byte message (content =
>> 3) instead of the greeting.
>>
>> All this is in my repository here :
>> https://github.com/lalebarde/libzmq/commits/master
>> File to consider is: test_curve_proxying.cpp
>>
>> Any help is welcome. Thanks.
>>
>> Laurent
>>
>>
>>
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

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


More information about the zeromq-dev mailing list