[zeromq-dev] Implementing zeromq security

Riskybiz riskybizlive at live.com
Fri Dec 12 21:56:58 CET 2014

I'm trying to implement zeromq security for the first time and WITHOUT using
CZMQ.  Reading through http://hintjens.com/blog:49 & ZAP protocol info
http://rfc.zeromq.org/spec:27 & code at
zeromq-4.0.4\tests\tests_security_curve.cpp .  I have a question and hope
someone might be able to enlighten me....


At http://hintjens.com/blog:49 ;


'Internally, the authenticator talks to libzmq across
<http://rfc.zeromq.org/spec:27> a protocol called ZAP, aka RFC 27. Every
single time a client tries to connect to a server, libzmq asks the ZAP
handler (the authenticator), if there is one installed, to allow or deny the


In zeromq-4.0.4\tests\tests_security_curve.cpp ;


//  Spawn ZAP handler

//  We create and bind ZAP socket in main thread to avoid case

//  where child thread does not start up fast enough.

void *handler = zmq_socket (ctx, ZMQ_REP);

assert (handler);

rc = zmq_bind (handler, "inproc://zeromq.zap.01");

assert (rc == 0);

void *zap_thread = zmq_threadstart (&zap_handler, handler);


Question is;


I see that the zap_handler is provided with the pointer to the REP socket
bound to "inproc://zeromq.zap.01" however I don't understand how libzmq is
made aware to direct authentication requests to the particular handler
socket.  I don't see any further references in the code to
"inproc://zeromq.zap.01"?  How does libzmq know where to send the
authentication requests?


One other thing; is there any api documentation for zmq_threadstart &





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

More information about the zeromq-dev mailing list