1701 Commits

Author SHA1 Message Date
Eric Cornelius
88a8be8231 Update pipe.cpp 2014-01-15 18:11:13 -05:00
Eric Cornelius
589fa57afa Corrects ypipe initialization when conflate is NOT enabled.
Fixes LIBZMQ-584
2014-01-15 18:08:45 -05:00
Andre Caron
17651b9276 Adds support for detecting ZMQ_STREAM disconnections.
When a ZMQ_STREAM socket connection is broken (intentionally, via `shutdown()`
or accidentally via client crash or network failure), there is no way for the
application to dertermine that it should drop per-connection data (such as
buffers).

This contribution makes sure the application receives a 0-length message to
notify it that the connection has been broken.  This is symmetric with the
process of closing the connection from within the application (where the
application sends a 0-length message to tell ZeroMQ to close the connection).

Conflicts:
	CMakeLists.txt
2014-01-14 17:20:46 -08:00
Richard Newton
bf06f3bb27 Define NOMINMAN to fix windows build. 2014-01-14 10:27:40 +00:00
Bruno D. Rodrigues
d38a0c43b6 use version-script only for ELF linux 2014-01-13 17:31:56 +00:00
Jeremy Tan
5efee6e0d5 Fix compilation on MinGW-w64 2014-01-13 18:38:59 +08:00
Martin Hurton
e46ec31209 Implement socket_base_t::get_credential member function
The get_credential () member function returns
credential for the last peer we received message for.
The idea is that this function is used to implement user-level API.
2014-01-13 00:40:27 +01:00
Ian Barber
5c4f3cc603 Merge pull request #817 from Debian/symbols
Only export zmq_* symbols
2014-01-12 08:35:05 -08:00
Alessandro Ghedini
245c75aad6 Fix timestamp counter on s390/s390x
Fixes #811
2014-01-12 12:31:40 +01:00
Alessandro Ghedini
27c050845c Only export zmq_* symbols 2014-01-12 12:30:45 +01:00
Martin Hurton
5d41d51ba5 Replace assert with zmq_assert 2014-01-08 21:11:54 +01:00
Martin Hurton
a80fb34765 Fix some comments regarding method overriding 2014-01-08 18:29:35 +01:00
Martin Hurton
d72ceb93be Make it explicit that the probe function doesn't modify passed message 2014-01-08 08:21:13 +01:00
Pieter Hintjens
629221889d Merge pull request #810 from sradomski/master
ZMQ_SRCFD docs and tests
2014-01-06 20:56:23 -08:00
Stefan Radomski
3aeaa6fab1 ZMQ_SRCFD docs and tests
Also moved the fd field from message content to message itself
2014-01-07 01:09:51 +01:00
Martin Hurton
96f5fddc45 Simplify ypipe_t and ypipe_base_t template parameters 2014-01-06 11:34:00 +01:00
Stefan Radomski
823b7ebeb0 Removed dead code 2014-01-06 10:33:58 +01:00
Stefan Radomski
f30fb8501e Expose remote FD via zmq_msg_get(&msg, ZMQ_SRCFD)
This patch allows client applications to retrieve the remote endpoint from a message that originated from a tcp socket
2014-01-06 10:31:42 +01:00
AJ Lewis
cd2827fb36 Fix LIBZMQ-576 - Revert "Merge pull request #510 from miniway/master"
This reverts commit f27eb67e1abb0484c41050e454404cce30647b63, reversing
changes made to a3ae0d4c16c892a4e6c96d626a7c8b7068450336.

https://zeromq.jira.com/browse/LIBZMQ-576

Conflicts:
	src/stream_engine.cpp

Conflicts were around additional defaults to the constructor after the
'terminating' default.  The additional defaults were left alone, and
the 'terminating' default was removed.
2014-01-02 11:05:39 -06:00
Pieter Hintjens
b3b9e046ee Updated copyright statements for 2014 2014-01-02 12:00:57 +01:00
Pieter Hintjens
ff45caabd1 Fixed copyrights on TIPC code
- corporate copyright statements sit in AUTHORS file
2014-01-02 11:54:13 +01:00
Pieter Hintjens
5bf96f64b0 Removed ZMQ_ZAP_IPC_CREDS option
- 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?
2014-01-01 17:39:14 +01:00
Pieter Hintjens
3ad8c61190 Whitespace fixes 2014-01-01 15:36:47 +01:00
Pieter Hintjens
9d9592f830 Whitespace fixes
Minor layout fix

Whitespace fix
2014-01-01 15:36:33 +01:00
Wouter Overmeire
a5f4d823a5 fix doc typo 2013-12-24 15:00:43 +01:00
Alex Grönholm
b554757cf0 Fixed setting TCP keepalive parameters on Windows 2013-12-22 02:55:18 +02:00
Pieter Hintjens
bf3702395c Fixed wildcard IPC endpoint and added test case 2013-12-20 14:28:54 +01:00
Pieter Hintjens
62f3fdf3b7 Fixed indentation 2013-12-20 14:17:35 +01:00
Pieter Hintjens
8ba1311e34 Fixed use of deprecated tempnam 2013-12-19 21:06:32 +01:00
Trevor Bernard
10a6641ef2 Fix issue #788 - Only allow a single connect per endpoint for SUB, REQ, and DEALER sockets 2013-12-14 23:40:34 -04:00
KIU Shueng Chuan
7f22995e35 use mutex implementation if fixed signaler_port!=5905 2013-12-12 00:39:01 +08:00
Brandon Carpenter
a018ef5e86 Add support for extending ZAP request address with IPC peer credentials.
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.
2013-12-06 14:28:44 -08:00
Brandon Carpenter
dc9b1309b9 Shortened ZMQ_IPC_ACCEPT_FILTER_[UGP]ID to ZMQ_IPC_FILTER_[UGP]ID. 2013-12-06 09:58:10 -08:00
Brandon Carpenter
af808203d7 Fix failing test case in test_filter_ipc.
Add explicit check for primary group.
2013-12-06 00:46:14 -08:00
Pieter Hintjens
f5b6bd70f3 Merge pull request #775 from pijyoi/master
use enum retired_fd instead of -1
2013-12-05 03:25:12 -08:00
KIU Shueng Chuan
fd8d6d471f use enum retired_fd instead of -1
using -1 causes a warning on Windows platform because SOCKET is unsigned.
2013-12-05 07:04:21 +08:00
Brandon Carpenter
2252322acc Add IPC accept filter socket options.
Adds ZMQ_IPC_ACCEPT_FILTER_{PID,UID,GID} socket options to add processs,
user, and group IDs to the IPC filter sets. Fixes LIBZMQ-568.
2013-12-04 14:23:13 -08:00
Brandon Carpenter
8662f44efa Intial IPC accept filter support.
Adds sets of process (Linux only), user, and group IDs for filtering
connections from peer processes over IPC transport.  If all of the
filter sets are empty, every connection is accepted.  Otherwise,
credentials for a connecting process are checked against the filter sets
and the connection is only accepted if a match is found.

This commit is part of LIBZMQ-568 and only adds the filter sets and
implements the filter in the IPC accept method.  The interface for
adding IDs to filter sets are included in a separate commit.

IPC accept filtering is supported only on Linux and OS X.
2013-12-04 14:12:29 -08:00
Martin Hurton
973d13d545 Code cleanup 2013-12-03 15:59:34 +01:00
Brian Knox
ff292d62d0 changing zmq_proxy_steerable to not use null terminated strings 2013-12-01 20:29:03 +00:00
Martin Hurton
cf14c54102 Fix issue #763 2013-11-30 21:25:18 +01:00
KIU Shueng Chuan
bd41087ab9 make win32 signaler support ephemeral ports 2013-11-28 18:25:28 +08:00
Richard Newton
abbe704d9e Fix windows build for type of service. 2013-11-25 09:25:23 +00:00
Chris Laws
38bceca9ca Add ability to set and get DSCP socket option 2013-11-25 13:31:21 +10:30
KIU Shueng Chuan
7bd0b6ada1 remove all asserts during critical section
the size of the critical section is reduced by only entering the critical
section right before the bind().
2013-11-12 01:12:24 +08:00
KIU Shueng Chuan
cf8ba925b4 return error to caller on bind error 2013-11-12 00:07:06 +08:00
Ian Barber
51fa803d63 Merge pull request #751 from psl-felipefarinon/master
Removing C++11 code.
2013-11-11 05:51:12 -08:00
psl-felipefarinon
31cf53f025 issue #583 removing C++11 code. 2013-11-11 10:20:28 -02:00
Bruno D. Rodrigues
750426037d Fix socket creation above sistem limits for all 'other' OS not covered by eventfd, windows or vms; enhanced test to create sockets up to a bigger limit to really test hitting the OS limit 2013-11-10 10:19:19 +00:00
Martin Hurton
05d5962872 Signal that the peer performed orderly shutdown 2013-11-07 21:40:26 +01:00