zeromq/libzmq — pull request #771 by lalebarde (2013-12-03 16:46:09+00:00)
Title: New NOP mechanism that allow proxying CURVE

Here is what it permits to do:

Client (DEALER, CURVE) --------- (NOP, ROUTER) Proxy (ROUTER, NOP) ------------ (CURVE, DEALER) Worker
Surrogate NULL NULL NULL NULL
<--------------------------------------- Server --------------------------------------------->

The rational is to be able to proxy heavy security mechanisms. Actually, I am preparing PARANO. Here, tests are performed with CURVE. With surrogation, the apparent mechanism can be anything. I could try successfuly with PLAIN while the client and the worker use CURVE. By "apparent", I mean only the greetings.

I have still to update the doc, what I will do soon.
I think I can simplify a little the code: in option.cpp, NOP does not need the is_server value.