[zeromq-dev] Another attempt to proxying CURVE

Andrew Hume andrew at research.att.com
Fri Dec 20 14:01:55 CET 2013


i would say keep it here for now, laurent

On Dec 20, 2013, at 4:11 AM, Laurent Alebarde <l.alebarde at free.fr> wrote:

> 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
> 
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev


-----------------------
Andrew Hume
949-707-1964 (VO and best)
732-420-0907 (NJ)
andrew at research.att.com



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


More information about the zeromq-dev mailing list