1. 27 Jun, 2019 1 commit
  2. 11 Jun, 2019 1 commit
  3. 10 Jun, 2019 1 commit
  4. 18 May, 2019 1 commit
  5. 02 Feb, 2019 1 commit
  6. 15 Aug, 2018 1 commit
  7. 30 May, 2018 1 commit
  8. 28 May, 2018 2 commits
  9. 26 May, 2018 3 commits
  10. 25 May, 2018 1 commit
  11. 22 May, 2018 1 commit
  12. 18 May, 2018 1 commit
  13. 10 May, 2018 1 commit
  14. 14 Mar, 2018 1 commit
    • Pontus Sköldström's avatar
      Support application metadata through ZMQ_METADATA · dd5eec35
      Pontus Sköldström authored
      Lets the application set per-connection metadata.
      Metadata is specified as "X-key:value" and set using zmq_setsockopt, eg:
      zmq_setsockopt (s, ZMQ_METADATA, "X-key:value", 11);
      
      The peer can then obtain the metadata from a received message:
      char *data = zmq_msg_gets(msg, "X-key");
      dd5eec35
  15. 10 Mar, 2018 2 commits
    • Luca Boccassi's avatar
      Problem: formatting issues in the CI · 8d544ef1
      Luca Boccassi authored
      Solution: commit clang-format-diff
      8d544ef1
    • Manuel Segura's avatar
      Pull request to merge porting to WindRiver VxWorks 6.x (#2966) · 4726f726
      Manuel Segura authored
      * Problem: Still need to port over more files to VxWorks 6.x
      
      Solution: Port more files to VxWorks 6.x
      
      * Problem: Need to port over remaining files to VxWorks 6.x. Also remove POSIX thread dependency for VxWorks (because of priority inversion problem in POSIX mutexes with VxWorks 6.x processes)
      
      Solution: Port over remaining files to VxWorks 6.x. Also removed POSIX thread dependency for VxWorks
      
      * Problem: Needed to modify TCP, UDP, TIPC classes with #ifdefs to be compatible with VxWorks 6.x.
      
      Solution:  Modify TCP, UDP, TIPC classes with #ifdefs to be compatible with VxWorks 6.x
      4726f726
  16. 06 Mar, 2018 2 commits
    • Luca Boccassi's avatar
      Problem: build broken with gcc-4.7 · e0b1992d
      Luca Boccassi authored
      Solution: initialise variable in options.cpp to dummy value to fix
      compiler complaint:
      
       src/options.cpp: In function
        'int zmq::do_setsockopt_int_as_bool_strict(const void*, size_t, bool*)':
       src/options.cpp:121:5: error: 'value' may be used uninitialized in
        this function [-Werror=maybe-uninitialized]
       src/options.cpp: In function
        'int zmq::do_setsockopt_int_as_bool_relaxed(const void*, size_t, bool*)':
       src/options.cpp:135:31: error: 'value' may be used uninitialized in
        this function [-Werror=maybe-uninitialized]
      e0b1992d
    • Simon Giesecke's avatar
      Problem: code duplication in getsockopt/setsockopt · 6f967c3a
      Simon Giesecke authored
      Solution: extracted common code into do_getsockopt/do_setsockopt functions
      6f967c3a
  17. 05 Mar, 2018 1 commit
    • Stefan Kaes's avatar
      Problem: enormous memory increase due to zero copy decoding · fcbd2a57
      Stefan Kaes authored
      The zero copy decoding strategy implemented for 4.2.0 can lead to a large
      increase of main memory usage in some cases (I have seen one program go up to
      40G from 10G after upgrading from 4.1.4). This commit adds a new option to
      contexts, called ZMQ_ZERO_COPY_RECV, which allows one to switch to the old
      decoding strategy.
      fcbd2a57
  18. 09 Feb, 2018 1 commit
  19. 08 Feb, 2018 1 commit
  20. 02 Feb, 2018 1 commit
  21. 09 Oct, 2017 1 commit
  22. 19 Sep, 2017 1 commit
  23. 07 Sep, 2017 1 commit
  24. 06 Sep, 2017 1 commit
  25. 31 Jul, 2017 1 commit
    • Brian Russell's avatar
      Add socket option BINDTODEVICE · b963542e
      Brian Russell authored
      Linux now supports Virtual Routing and Forwarding (VRF) as per:
      
      https://www.kernel.org/doc/Documentation/networking/vrf.txt
      
      In order for an application to bind or connect to a socket with an
      address in a VRF, they need to first bind the socket to the VRF device:
      
          setsockopt(sd, SOL_SOCKET, SO_BINDTODEVICE, dev, strlen(dev)+1);
      
      Note "dev" is the VRF device, eg. VRF "blue", rather than an interface
      enslaved to the VRF.
      
      Add a new socket option, ZMQ_BINDTODEVICE, to bind a socket to a device.
      In general, if a socket is bound to a device, eg. an interface, only
      packets received from that particular device are processed by the socket.
      
      If device is a VRF device, then subsequent binds/connects to that socket
      use addresses in the VRF routing table.
      b963542e
  26. 25 Apr, 2017 1 commit
    • Jim Garlick's avatar
      gssapi: drop unnecessary ifdefs · 53918fc1
      Jim Garlick authored
      Problem: GSSAPI DRAFT code was made conditional on
      ZMQ_BUILD_DRAFT_API, but zmq_draft.h duplicates the DRAFT
      symbols definitions from zmq.h so this is unnecessary.
      
      Solution: drop the extra ifdefs
      53918fc1
  27. 24 Apr, 2017 2 commits
    • Jim Garlick's avatar
      gssapi: add NAMETYPE options to zmq_getsockopt · 8892087e
      Jim Garlick authored
      Problem: GSSAPI NAMETYPE options were added to zmq_setsockopt()
      but not zmq_getsockopt().
      
      Add them to zmq_getsockopt().
      8892087e
    • Jim Garlick's avatar
      gssapi: move new options to DRAFT section · 9fbf2e2e
      Jim Garlick authored
      Problem: The new GSSAPI NAMESPACE options should have been
      added to the DRAFT section of the API so they can be changed
      until stabilized.
      
      Solution:
      - Move defines to the DRAFT section of zmq.h
      - Duplicate them in zmq_draft.h, as is the local custom
      - Compile only if defined (ZMQ_BUILD_DRAFT_API)
      - Refactor internals slightly to avoid #ifdef hell
      9fbf2e2e
  28. 21 Apr, 2017 1 commit
    • Jim Garlick's avatar
      gssapi: add NAMETYPE socket options · 0b185e82
      Jim Garlick authored
      Problem: principals are looked up unconditionally
      with the GSS_C_NT_HOSTBASED_SERVICE name type.
      
      Solution: Add two new socket options to set the name type
      for ZMQ_GSSAPI_PRINCIPAL and ZMQ_GSSAPI_SERVICE_PRINCIPAL:
      
      ZMQ_GSSAPI_PRINCIPAL_NAMETYPE
      ZMQ_GSSAPI_SERVICE_PRINCIPAL_NAMETYPE
      
      They take an integer argument which must be one of
      ZMQ_GSSAPI_NT_HOSTBASED (0) - default
      ZMQ_GSSAPI_NT_USER_NAME (1)
      ZMQ_GSSAPI_NT_KRB5_PRINCIPAL (2)
      
      These correspond to GSSAPI name types of:
      GSS_C_NT_HOSTBASED_SERVICE
      GSS_C_NT_USER_NAME
      GSS_KRB5_NT_PRINCIPAL_NAME
      
      Fixes #2542
      0b185e82
  29. 19 Dec, 2016 1 commit
  30. 16 Dec, 2016 2 commits
  31. 03 May, 2016 1 commit
  32. 18 Feb, 2016 1 commit
  33. 16 Feb, 2016 1 commit
    • Luca Boccassi's avatar
      Problem: curve keys getsockopt uninitialised read · f8679535
      Luca Boccassi authored
      Solution: always initialised zmq::options_t class variables arrays to
      avoid reading uninitialised data when CURVE is not yet configured and
      a getsockopt ZMQ_CURVE_{SERVER | PUBLIC | SECRET]KEY is issued.
      f8679535