1. 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
  2. 28 Jul, 2017 2 commits
  3. 14 Jul, 2017 1 commit
  4. 01 May, 2017 1 commit
  5. 26 Apr, 2017 1 commit
    • Jim Garlick's avatar
      gssapi: add a basic test for GSSAPI security · edd6b0ad
      Jim Garlick authored
      Problem: there is no test coverage for GSSAPI.
      
      Solution: add a test structured like the CURVE test.
      
      The test is not built if libzmq is not configured with
      --with-libgssapi_krb5. It will report SKIPPED status
      if the required environment is missing (see below).
      
      Environment:  KRB5_KTNAME and KRB5_CLIENT_KTNAME
      environment variables must point to a keytab file
      containing creds for a host-based test principal
      (see comment at top of source for details).
      Kerberos must be configured and a KDC containing the
      test principal must be running, otherwise the test
      will fail/hang.
      
      N.B. For now, the test must use the same principal for
      both client and server roles because it seems impossible
      to set them to different principals when they are
      threads in the same process.  Once one principal is
      cached in credential cache, attempts to acquire creds
      for a different "desired name" seem to be ignored and
      the cached principal is used instead.
      edd6b0ad
  6. 20 Apr, 2017 1 commit
    • Jim Garlick's avatar
      gssapi: define HAVE_LIBGSSAPI_KRB5 in configure.ac · 43f4c286
      Jim Garlick authored
      Problem: configure.ac is not setting HAVE_LIBGSSAPI_KRB5
      in src/platform.hpp when --with-libgssapi_krb5 is specified
      
      Commit 09e868b7
      switched the libgssapi_krb5 check from AC_CHECK_LIB
      to AC_SEARCH_LIBS, but neglected to add an AC_DEFINE
      for HAVE_LIBGSSAPI_KRB5, thus the GSSAPI code is
      never compiled.
      
      Solution: Add missing AC_DEFINE of HAVE_LIBGSSAPI_KRB5.
      43f4c286
  7. 19 Mar, 2017 1 commit
  8. 12 Mar, 2017 1 commit
    • Luca Boccassi's avatar
      Problem: ZMQ background threads are unnamed · 3ab4796c
      Luca Boccassi authored
      Solution: use pthread API to set the name. For now call every thread
      "ZMQ b/g thread". Would be nice to number the I/O threads and name
      explicitly the reaper thread, but in reality a bit of internal API
      churn would be necessary, so perhaps it's not worth it.
      This is useful when debugging a process with many threads.
      3ab4796c
  9. 18 Feb, 2017 1 commit
  10. 31 Dec, 2016 2 commits
  11. 26 Dec, 2016 1 commit
  12. 10 Nov, 2016 1 commit
    • Luca Boccassi's avatar
      Problem: linker fails looking for dladdr · 1b3fcbd3
      Luca Boccassi authored
      Solution: search and add it via AC_CHECK_LIB when building with
      libunwind, as the backtrace function uses dladdr. This problem
      only appears on some distributions and with some compiler/toolchain
      versions.
      1b3fcbd3
  13. 06 Nov, 2016 1 commit
  14. 05 Nov, 2016 1 commit
  15. 01 Nov, 2016 1 commit
  16. 27 Sep, 2016 2 commits
    • Luca Boccassi's avatar
      Problem: pkg-config Requires.private is broken · 06d810b4
      Luca Boccassi authored
      Solution: use only Libs.private to avoid breaking application builds.
      Even though Requires.private are supposed to be parsed only if
      pkg-config is called with --static, the --cflags parameter is enough
      to trigger the parsing, causing build failures for applications that
      do not (and should not) depend on libzmq's dependencies.
      06d810b4
    • Luca Boccassi's avatar
      Problem: pkgconfig file does not support static link · 6d941160
      Luca Boccassi authored
      Solution: add dependencies, if necessary, to the .private Libs and
      Requires field of the pkgconfig file at build time.
      This way pkg-config --static --libs libzmq will correctly print
      dependencies if they were used to build the static libzmq.a library.
      6d941160
  17. 31 Jul, 2016 1 commit
  18. 27 Jul, 2016 1 commit
  19. 13 Jun, 2016 1 commit
  20. 04 Jun, 2016 1 commit
  21. 10 May, 2016 1 commit
  22. 09 May, 2016 1 commit
  23. 06 May, 2016 2 commits
  24. 02 May, 2016 1 commit
  25. 12 Apr, 2016 2 commits
  26. 10 Apr, 2016 1 commit
  27. 30 Mar, 2016 1 commit
  28. 19 Mar, 2016 1 commit
    • Luca Boccassi's avatar
      Problem: no Makefile target for Valgrind · 2b2f9046
      Luca Boccassi authored
      Solution: import ax_valgrind_check.m4 macro file to provide a
      conveniente automake hook to run Valgrind on all tests.
      Add --enable-valgrind to ./configure call and then run make
      check-valgrind to run memcheck, helgrind, drd and sgcheck on all
      tests. Run check-valgrind-memcheck to run only memcheck.
      2b2f9046
  29. 13 Mar, 2016 1 commit
    • Luca Boccassi's avatar
      Problem: no code coverage integration · 6df753c5
      Luca Boccassi authored
      Solution: import ax_code_coverage.m4 from autoconf-archive and use it
      in configure.ac and Makefile.am in order to provide a make
      check-code-coverage target behind a --enable-code-coverage configure
      flag, that can be used to generate a gcov/lcov code coverage report.
      Depends on having gcov and lcov installed.
      6df753c5
  30. 04 Mar, 2016 2 commits
  31. 02 Mar, 2016 2 commits
  32. 19 Feb, 2016 2 commits