1. 13 Aug, 2014 1 commit
  2. 08 Aug, 2014 2 commits
  3. 12 Jul, 2014 1 commit
  4. 09 Jul, 2014 1 commit
  5. 02 Jul, 2014 1 commit
  6. 27 Jun, 2014 1 commit
    • Pieter Hintjens's avatar
      Problem: two header files for a single library · a087ce55
      Pieter Hintjens authored
      Users who need e.g. zmq_curve_keypair() have to remember to include
      zmq_utils.h, which is counter-intuitive. The whole library should be
      represented by a single include file.
      
      Solution: merge all contents of zmq_utils.h into zmq.h, and deprecate
      zmq_utils.h. Existing apps can continue unchanged. New apps can ignore
      zmq_utils.h completely.
      a087ce55
  7. 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
  8. 19 Jun, 2014 1 commit
  9. 18 Jun, 2014 1 commit
    • Pieter Hintjens's avatar
      Problem: need way to probe library capabilities · f11d673b
      Pieter Hintjens authored
      As libzmq is compiled with optional transports and security mechanisms,
      there is no clean way for applications to determine what capabilities
      are actually available in a given libzmq instance.
      
      Solution: provide an API specifically for capability reporting. The
      zmq_has () method is meant to be open ended. It accepts a string so
      that we can add arbitrary capabilities without breaking existing
      applications.
      
      zmq.h also defines ZMQ_HAS_CAPABILITIES when this method is provided.
      f11d673b
  10. 09 May, 2014 1 commit
  11. 02 May, 2014 2 commits
  12. 30 Apr, 2014 2 commits
  13. 29 Apr, 2014 1 commit
  14. 28 Apr, 2014 1 commit
    • Pieter Hintjens's avatar
      Problem: zmq_socket_monitor code is dirty · 9753de85
      Pieter Hintjens authored
      Specifically:
      
      * zmq_event_t should not be used internally in libzmq, it was
        meant to be an outward facing structure.
      
      * In 4.x, zmq_event_t does not correspond to monitor events, so
        I removed the structure entirely.
      
      * man page for zmq_socket_monitor is incomplete and the example
        code was particularly nasty.
      
      * test_monitor.cpp needed rewriting, it was not clean.
      9753de85
  15. 24 Apr, 2014 4 commits
  16. 10 Apr, 2014 1 commit
  17. 12 Mar, 2014 1 commit
  18. 03 Mar, 2014 1 commit
  19. 14 Feb, 2014 1 commit
  20. 13 Feb, 2014 3 commits
  21. 28 Jan, 2014 1 commit
  22. 24 Jan, 2014 1 commit
  23. 19 Jan, 2014 2 commits
    • Pieter Hintjens's avatar
      Cleaned up option to force identity on outgoing connection · 50bd28c0
      Pieter Hintjens authored
      - renamed to ZMQ_CONNECT_RID
      - fixed whitespace malformating around previous patch
      - renamamed next_peer_id to next_rid in preparation for
        larger rename of IDENTITY to ROUTING_ID
      
      Note: ZMQ_CONNECT_RID has no test case and no entry in the man
      page, as yet.
      50bd28c0
    • Tim M's avatar
      Fixed compile issue with missing member of socket_base. Changed… · b1920bdf
      Tim M authored
      Fixed compile issue with missing member of socket_base.  Changed ZMQ_NEXT_IDENTITY to ZMQ_NEXT_CONNECT_PEER_ID.
      
      Fixed case where ZMQ_NEXT_CONNECT_PEER_ID is used in ROUTER, and ROUTER does not read the identity message from the connected pipe.
      b1920bdf
  24. 17 Jan, 2014 2 commits
    • Tim M's avatar
      fixed define value in header · f13512a9
      Tim M authored
      f13512a9
    • Tim M's avatar
      Both STREAM and ROUTER sockets suffer from a naming problem on outbound… · 5d4860ea
      Tim M authored
      Both STREAM and ROUTER sockets suffer from a naming problem on outbound connections. While these connections can be created, they can't be immediately used. Traffic must be received before it can be sent. This prevents practical, minimal usage of STREAM or ROUTER as a true N fan in/out socket.
      
      This change simply provides the user with a socket option that sets a user defined name of the next outbound connection:
      
      zmq_setsockopt(routerSock,ZMQ_NEXT_IDENTITY,"myname",6);
      if(0 > zmq_connect(routerSock,"tcp://127.0.0.1:1234")) return 1;
      ret = zmq_send(routerSock,"myname",6,ZMQ_SNDMORE);
      zmq_send(routerSock,b.mem,b.used,0);
      
      In this example, the socket is immediately given the name "myname", and is capable of immediately sending traffic.
      
      This approach is more effective in three ways:
      1) It prevents all sorts of malicious peer naming attacks that can cause undefined behavior in existing ROUTER connections. (Two connections are made that both transmit the same name to the ROUTER, the ROUTER behavior is undefined)
      2) It allows immediate control of connections made to external parties for STREAM sockets. Something that is not possible right now. Before an outbound connection had no name for STREAM or ROUTER sockets because outbound connections cannot be sent to without first receiving traffic.
      3) It is simpler and more general than expecting two ROUTER sockets to handshake on assigned connection names. Plus it allows inline sending to new connections on ROUTER.
      5d4860ea
  25. 07 Jan, 2014 1 commit
  26. 06 Jan, 2014 1 commit
  27. 02 Jan, 2014 1 commit
  28. 01 Jan, 2014 1 commit
    • Pieter Hintjens's avatar
      Removed ZMQ_ZAP_IPC_CREDS option · 5bf96f64
      Pieter Hintjens authored
      - This seems redundant; is there a use case for NOT providing
        the IPC credentials to the ZAP authenticator?
      
      - More, why is IPC authentication done via libzmq instead of ZAP?
        Is it because we're missing the transport type on the ZAP request?
      5bf96f64
  29. 06 Dec, 2013 2 commits