- 27 Jan, 2020 1 commit
-
-
Simon Giesecke authored
Solution: add const
-
- 09 Jan, 2020 1 commit
-
-
Christoph Kahl authored
-
- 23 Dec, 2019 1 commit
-
-
Simon Giesecke authored
Solution: use memcpy with known length
-
- 08 Dec, 2019 1 commit
-
-
Simon Giesecke authored
Solution: remove else
-
- 06 Dec, 2019 3 commits
-
-
Simon Giesecke authored
Solution: Use domain sockets instead if available
-
Simon Giesecke authored
Solution: move to ip.hpp as zmq::create_ipc_wildcard_address
-
Simon Giesecke authored
Solution: Extract TCP/IP loopback variant into zmq_fdpair_tcpip
-
- 29 Oct, 2019 1 commit
-
-
Simon Giesecke authored
Solution: call tune_socket only if connect was successful
-
- 25 Aug, 2019 1 commit
-
-
Andrei Tomashpolskiy authored
* UDP engine aborts on networking-related errors from socket syscalls #2862
-
- 22 Aug, 2019 1 commit
-
-
Andrei Tomashpolskiy authored
* UDP engine aborts on networking-related errors from socket syscalls #2862 * Add relicense statement
-
- 11 Aug, 2019 1 commit
-
-
Luca Boccassi authored
Solution: run make clang-format-diff to fix it
-
- 06 Aug, 2019 1 commit
-
-
Christopher Hall authored
solution: Handle as for OpenBSD by not attemption to set this option on the socket Signed-off-by:
Christopher Hall <hsw@ms2.hinet.net>
-
- 27 Mar, 2019 1 commit
-
-
Simon Giesecke authored
Solution: add WSA_FLAG_OVERLAPPED socket flag
-
- 07 Feb, 2019 1 commit
-
-
Simon Giesecke authored
Solution: return an error to the user instead
-
- 05 Feb, 2019 1 commit
-
-
Simon Giesecke authored
Solution: change to use get_socket_address
-
- 04 Feb, 2019 1 commit
-
-
Simon Giesecke authored
Solution: add const
-
- 14 Dec, 2018 1 commit
-
-
Jacques Germishuys authored
Solution: Set TCP_NODELAY after connect() Reference: https://mail.openvswitch.org/pipermail/ovs-dev/2014-October/290251.html
-
- 10 Aug, 2018 1 commit
-
-
Simon Giesecke authored
-
- 30 May, 2018 1 commit
-
-
Simon Giesecke authored
Solution: mark parameter as unused depending on platform definitions
-
- 26 May, 2018 2 commits
-
-
Simon Giesecke authored
Solution: remove else
-
Simon Giesecke authored
Solution: define and apply parameter naming style: lower_case_
-
- 23 May, 2018 3 commits
-
-
Simon Giesecke authored
Solution: create sockets with WSA_FLAG_NO_HANDLE_INHERIT
-
Simon Giesecke authored
Solution: extracted make_socket_noninheritable function
-
Simon Giesecke authored
Solution: make error handling consistent and use retired_fd to remove code duplication
-
- 18 May, 2018 1 commit
-
-
Simon Giesecke authored
Solution: replace by C++-style casts
-
- 16 May, 2018 1 commit
-
-
Antony Searle authored
-
- 10 Mar, 2018 2 commits
-
-
Luca Boccassi authored
Solution: commit clang-format-diff
-
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
-
- 05 Mar, 2018 1 commit
-
-
Luca Boccassi authored
Solution: run make clang-format-diff and commit the changes.
-
- 13 Feb, 2018 1 commit
-
-
Simon Giesecke authored
reuse Solution: extract into functions defined in ip.hpp Problem: signaler_t::make_fdpair not reusable Solution: move make_fdpair to ip.hpp Problem: epoll worker with no fds cannot be stopped Solution: use interruptible epoll_pwait call Problem: insufficient unit tests for poller Solution: add test cases
-
- 02 Feb, 2018 1 commit
-
-
sigiesec authored
Solution: applied clang-format
-
- 19 Aug, 2017 1 commit
-
-
Luca Boccassi authored
Solution: use LIBZMQ_UNUSED where necessary
-
- 31 Jul, 2017 1 commit
-
-
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.
-
- 22 Jul, 2017 1 commit
-
-
Eamonn Coughlan authored
Solution: skip setsockopt call resulting in EINVAL
-
- 04 Jan, 2017 1 commit
-
-
Luca Boccassi authored
Solution: setsockopt returns EINVAL if the connection was closed by the peer after the accept returned a valid socket. This is a valid network error and should not cause an assert. To handle this we have to extract the setsockopt from the stream engine, as there's no clean way to return an error from the constructor. Instead, try to set this option before creating the engine in the callers, and return immediately as if the accept had failed to avoid churn. Do the same for the connect calls by setting the option in open_socket, so that the option for that case is set even before connecting, so there's no possible race condition. Since this has to be done in 4 places (tcp/ipc listener, socks connecter and open_socket) add an utility function in ip.cpp. Fixes #1442
-
- 01 Jan, 2017 1 commit
-
-
Luca Boccassi authored
Solution: check if IPV6_TCLASS is defined so that when Hurd adds support it will just work. Also it will avoid tripping over this on other similar legacy systems.
-
- 30 Nov, 2016 1 commit
-
-
Luca Boccassi authored
Solution: don't use it on Windows. There is a Windows-specific API for ToS, even IPv4 does not work and it's just a silent no-op on that platform.
-
- 14 Nov, 2016 2 commits
-
-
Luca Boccassi authored
Solution: if setsockopt errors out and errno is set to ENOPROTOOPT (or EINVAL on OSX) ignore it and carry on.
-
Saif Hasan authored
Summary: To set `Type Of Service` for IP layer packets ZMQ provides `ZMQ_TOS` socket option. However this only works for v4 sockets. Considering things are moving to IPv6 heavily (especially within enterprise networks), ZMQ should support setting `traffic class` for v6 based on `ZMQ_TOS`. There is a subtle difference between v4 and v6 in terms of the positioning of field but TOS has same meaning in both v4 and v6. Linux provides following APIs for v4/v6 to set TOS field value. ``` // For v4 setsockopt(fd, IPPROTO_IP, IP_TOS, tos, sizeof(tos)); // For v6 setsockopt(fd, IPPROTO_IPV6, IPV6_TCLASS, tos, sizeof(tos)); ``` Test Plan: Make sure Cmake works fine and all tests passes. Imported this change to `OpenR` project and tested on our local testbed. Captured some packets exchanged between PUB/SUB and ROUTER/ROUTER sockets pairs. Verify that `TCLASS` value is set as per expectation. Tasks: #2208
-
- 17 Sep, 2016 1 commit
-
-
Constantin Rack authored
Solution: replace tabes with spaces
-