[zeromq-dev] Protocol Plugins

Benjamin Cordes benjamin.l.cordes at gmail.com
Wed Feb 12 09:07:39 CET 2014

P.S. as I understand the tao of 0mq, the idea is to get rid of all these
idiosyncratic patterns. for example in the socks5 RFC you have this, see
below. the document was written in 1996. now its 2014, so it should be
possible to do this in better ways, unless you have to talk some other
server which only speaks that language (in that case you can write a

  The values currently defined for METHOD are:

          o  X'01' GSSAPI
          o  X'02' USERNAME/PASSWORD
          o  X'03' to X'7F' IANA ASSIGNED

On Wed, Feb 12, 2014 at 9:01 AM, Benjamin Cordes <
benjamin.l.cordes at gmail.com> wrote:

> you can do this quite easily I believe with existing patterns. one auth
> server takes in requests. that server checks the request and if it is valid
> forwards the request to the outside world, sending back the response. here
> is the RFC for socks5: http://www.ietf.org/rfc/rfc1928.txt I assume you
> only want to connect to TCP/IP, not UPD?
> On Wed, Feb 12, 2014 at 3:05 AM, Lyle Thompson <lthompson at ixiacom.com>wrote:
>>  I guess nobody is interested in pluggable protocols. Thanks anyway.
>> *From:* zeromq-dev-bounces at lists.zeromq.org [mailto:
>> zeromq-dev-bounces at lists.zeromq.org] *On Behalf Of *Lyle Thompson
>> *Sent:* Monday, February 10, 2014 3:11 PM
>> *To:* ZeroMQ development list
>> *Subject:* [zeromq-dev] Protocol Plugins
>> Hi ZeroMQ experts,
>> I am investigating how one might add SOCKS proxy support to 0mq, and of
>> course there are several options. But I was thinking that the most elegant
>> would be to add support for a "socks" protocol to 0mq. I took a look at the
>> source code, and I was a bit surprised to find that the protocols are not
>> pluggable. At the first level, I don't think this would be very hard to do
>> (at least for **some** of the protocols); Just add a registration
>> mechanism and change the code that is executed as the result of hard-coded
>> protocol checks into calls through a table of available plugins.
>> This would make it a bit easier to add new protocols (especially if they
>> are similar or running on top of existing ones, as is the case for SOCKS).
>> Presumably, one would just need to compile the module and link it into the
>> code via the make file.
>> Of course it would be nicer if it were dynamically linked (i.e. the
>> "second level"), but I don't know of a platform independent way to do this
>> that would make sense for 0mq. Of course it could be done with #ifdefs and
>> what not, but would it be worth it?
>> My motivation is that my company uses 0mq in a commercial product. And
>> while we don't mind contributing, we'd rather contribute a general
>> improvement than a very specific one (SOCKS), that many people would not
>> need or want.
>> I know this is a very high-level idea at this point, so blast away and
>> let's see if there's anything left that worth implementing J
>> Thanks,
>> Lyle
>> _______________________________________________
>> 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/20140212/11bf76f6/attachment.htm>

More information about the zeromq-dev mailing list