- 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
-
- 14 May, 2016 1 commit
-
-
evoskuil authored
-
- 18 Feb, 2016 1 commit
-
-
Osiris authored
Solution: Phase I - make precompiled.hpp be first file included in every source file
-
- 28 Jan, 2016 1 commit
-
-
Constantin Rack authored
Solution: update to 2016
-
- 14 Aug, 2015 2 commits
-
-
reza.ebrahimi authored
-
reza.ebrahimi authored
-
- 02 Jun, 2015 1 commit
-
-
Pieter Hintjens authored
Of course people still "can" distributed the sources under the LGPLv3. However we provide COPYING.LESSER with additional grants. Solution: specify these grants in the header of each source file.
-
- 22 Jan, 2015 1 commit
-
-
Pieter Hintjens authored
Solution: update for 2015 Fixes #1320
-
- 10 Jun, 2014 1 commit
-
-
Jan Kryl authored
-
- 13 Feb, 2014 1 commit
-
-
Bruno Bigras authored
Fixes #880
-
- 03 Feb, 2014 1 commit
-
-
Pieter Hintjens authored
-
- 02 Jan, 2014 1 commit
-
-
Pieter Hintjens authored
-
- 06 Dec, 2013 1 commit
-
-
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.
-
- 25 Nov, 2013 1 commit
-
-
Richard Newton authored
-