1. 13 Nov, 2015 1 commit
  2. 08 Nov, 2015 1 commit
  3. 08 Oct, 2015 1 commit
  4. 06 Sep, 2015 1 commit
  5. 06 Aug, 2015 1 commit
  6. 04 Aug, 2015 1 commit
  7. 24 Jun, 2015 1 commit
  8. 05 Jun, 2015 1 commit
  9. 02 Jun, 2015 1 commit
  10. 26 Jan, 2015 1 commit
    • Julien Ruffin's avatar
      Added socket option ZMQ_INVERT_MATCHING. · cf2238f8
      Julien Ruffin authored
      ZMQ_INVERT_MATCHING reverses the PUB/SUB prefix matching. The subscription
      list becomes a rejection list. The PUB socket sends messages to all
      connected (X)SUB sockets that do not have any matching subscription.
      
      Whenever the option is used on a PUB/XPUB socket, any connecting SUB
      sockets must also set it or they will reject everything the publisher
      sends them. XSUB sockets are unaffected because they do not filter out
      incoming messages.
      cf2238f8
  11. 23 Jan, 2015 1 commit
    • Pieter Hintjens's avatar
      Problem: commit afb24b53 broke ZMQ_STREAM contract · 6ced7027
      Pieter Hintjens authored
      Symptom is that ZMQ_STREAM sockets in 4.1.0 and 4.1.1 generate zero
      sized messages on each new connection, unlike 4.0.x which did not do
      this.
      
      Person who made this commit also changed test cases so that contract
      breakage did not show. Same person was later banned for persistently
      poor form in CZMQ contributions.
      
      Solution: enable connect notifications on ZMQ_STREAM sockets using a
      new ZMQ_STREAM_NOTIFY setting. By default, socket does not deliver
      notifications, and behaves as in 4.0.x.
      
      Fixes #1316
      6ced7027
  12. 22 Jan, 2015 1 commit
  13. 12 Aug, 2014 1 commit
  14. 08 Aug, 2014 2 commits
  15. 22 Jun, 2014 1 commit
    • Martin Hurton's avatar
      Add support for SOCKS proxies · f06ca69a
      Martin Hurton authored
      This is still raw and experimental.
      To connect through a SOCKS proxy, set ZMQ_SOCKS_PROXY socket option on
      socket before issuing a connect call, e.g.:
      
          zmq_setsockopt (s, ZMQ_SOCKS_PROXY,
              "127.0.0.1:22222", strlen ("127.0.0.1:22222"));
          zmq_connect (s, "tcp://127.0.0.1:5555");
      
      Known limitations:
      - only SOCKS version 5 supported
      - authentication not supported
      - new option is still undocumented
      f06ca69a
  16. 09 May, 2014 1 commit
  17. 24 Apr, 2014 3 commits
  18. 02 Jan, 2014 1 commit
  19. 06 Dec, 2013 1 commit
    • Brandon Carpenter's avatar
      Add support for extending ZAP request address with IPC peer credentials. · a018ef5e
      Brandon Carpenter authored
      Another take on LIBZMQ-568 to allow filtering IPC connections, this time
      using ZAP.  This change is backward compatible.  If the
      ZMQ_ZAP_IPC_CREDS option is set, the user, group, and process IDs of the
      peer process are appended to the address (separated by colons) of a ZAP
      request; otherwise, nothing changes.  See LIBZMQ-568 and zmq_setsockopt
      documentation for more information.
      a018ef5e
  20. 04 Dec, 2013 1 commit
    • Brandon Carpenter's avatar
      Intial IPC accept filter support. · 8662f44e
      Brandon Carpenter authored
      Adds sets of process (Linux only), user, and group IDs for filtering
      connections from peer processes over IPC transport.  If all of the
      filter sets are empty, every connection is accepted.  Otherwise,
      credentials for a connecting process are checked against the filter sets
      and the connection is only accepted if a match is found.
      
      This commit is part of LIBZMQ-568 and only adds the filter sets and
      implements the filter in the IPC accept method.  The interface for
      adding IDs to filter sets are included in a separate commit.
      
      IPC accept filtering is supported only on Linux and OS X.
      8662f44e
  21. 25 Nov, 2013 1 commit
  22. 17 Sep, 2013 2 commits
  23. 12 Sep, 2013 1 commit
    • Pieter Hintjens's avatar
      Fixed overwrite in zmq_getsockopt · 345bf146
      Pieter Hintjens authored
      On ZMQ_CURVE_xxxKEY fetches, would return 41 bytes into caller's 40-byte
      buffer. Now these fetches only return 41 bytes if the caller explicitly
      provides a 41-byte buffer (i.e. the option size is 41).
      345bf146
  24. 09 Sep, 2013 1 commit
    • Pieter Hintjens's avatar
      Added ZMQ_ZAP_DOMAIN socket option · 6725c464
      Pieter Hintjens authored
      * This is passed to the ZAP handler in the 'domain' field
      
      * If not set, or empty, then NULL security does not call the ZAP handler
      
      * This resolves the phantom ZAP request syndrome seen with sockets where
        security was never intended (e.g. in test cases)
      
      * This means if you install a ZAP handler, it will not get any requests
        for new connections until you take some explicit action, which can be
        setting a username/password for PLAIN, a key for CURVE, or the domain
        for NULL.
      6725c464
  25. 18 Aug, 2013 1 commit
    • Ian Barber's avatar
      Remove delay options · 531d3ebc
      Ian Barber authored
      These were exposed to users, but have subsequently been removed as
      sockopts. They are currently only being used by ZAP, so I've moved it to
      a simpl function call (actually it's only used in one case even in that,
      so there may be a further simplification possible there).
      531d3ebc
  26. 17 Aug, 2013 1 commit
  27. 29 Jun, 2013 1 commit
  28. 28 Jun, 2013 1 commit
    • Pieter Hintjens's avatar
      Added Z85 support · 70417701
      Pieter Hintjens authored
      The use of binary for CURVE keys is painful; you cannot easily copy
      these in e.g. email, or use them directly in source code. There are
      various encoding possibilities. Base16 and Base64 are not optimal.
      Ascii85 is not safe for source (it generates quotes and escapes).
      
      So, I've designed a new Base85 encoding, Z85, which is safe to use
      in code and elsewhere, and I've modified libzmq to use this where
      it also uses binary keys (in get/setsockopt).
      
      Very simply, if you use a 32-byte value, it's Base256 (binary),
      and if you use a 40-byte value, it's Base85 (Z85).
      
      I've put the Z85 codec into z85_codec.hpp, it's not elegant C++
      but it is minimal and it works. Feel free to rewrap as a real class
      if this annoys you.
      70417701
  29. 20 Jun, 2013 2 commits
  30. 17 May, 2013 1 commit
    • Pieter Hintjens's avatar
      plain_mechanism now uses options.as_server · f909b9c7
      Pieter Hintjens authored
      - we need to switch to PLAIN according to options.mechanism
      - we need to catch case when both peers are as-server (or neither is)
      - and to use username/password from options, for client
      f909b9c7
  31. 15 May, 2013 1 commit
    • Pieter Hintjens's avatar
      Added configuration for PLAIN security · e1f797b0
      Pieter Hintjens authored
      * ZMQ_PLAIN_SERVER, ZMQ_PLAIN_USERNAME, ZMQ_PLAIN_PASSWORD options
      * Man page changes to zmq_setsockopt and zmq_getsockopt
      * Man pages for ZMQ_NULL, ZMQ_PLAIN, and ZMQ_CURVE
      * Test program test_security
      e1f797b0
  32. 12 Mar, 2013 2 commits
  33. 31 Jan, 2013 2 commits