0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-02 19:35:29 +08:00

3079 Commits

Author SHA1 Message Date
Laurent Alebarde
9ae6a91fad add a proxy hook 2014-01-24 16:52:30 +01:00
Martin Hurton
a7065519df Merge pull request #852 from hintjens/master
Fixes to test cases
2014-01-23 08:23:23 -08:00
Pieter Hintjens
9c228e9374 Fixes to test cases
- renamed test_stream_disconnect_notifications (too long!)
- removed print statements in that test case
- fixed Makefile.am for test_zap_ipc_creds (was not building)
2014-01-23 09:23:46 -06:00
Pieter Hintjens
8fea78b130 Merge pull request #849 from pijyoi/master
typo fix: RECVHWM -> RCVHWM
2014-01-22 05:24:34 -08:00
KIU Shueng Chuan
e71dfd13d7 typo fix: RECVHWM -> RCVHWM 2014-01-22 08:40:35 +08:00
Pieter Hintjens
9c6aa1e9e0 Merge pull request #848 from Prarrot/master
Changed fail behavior of CONNECT_RID to an assert failure instead of silent failure.
2014-01-21 12:08:00 -08:00
Tim M
188e76a73f Added asserts on socket close in test_conenct_rid. 2014-01-21 11:49:41 -08:00
Tim M
515af9b147 Added assert on duplicate id in ROUTER and STREAM sockets. Updated man to reflect this change. Modified test case to match. 2014-01-21 11:43:34 -08:00
Tim M
141e1b5966 Cleaned up formatting of test_connect_rid. Set LINGER to 0 on sockets. This may address the test failing on some devices. 2014-01-21 11:24:39 -08:00
Pieter Hintjens
14c6cba2a5 Merge pull request #846 from lalebarde/master
factorize code in proxy
2014-01-21 02:14:34 -08:00
Pieter Hintjens
660247066f Merge pull request #847 from Prarrot/master
Added test_connect_rid
2014-01-21 02:12:30 -08:00
Tim M
2d6d8af0b8 added space at end of file 2014-01-20 12:26:26 -08:00
Tim M
2b0fe6d181 Updated AUTHORS 2014-01-20 12:23:48 -08:00
Tim M
7279429cf1 tabs to spaces 2014-01-20 12:21:07 -08:00
Tim M
de1164255a added test_connect_rid file and added to CMakeLists again. 2014-01-20 12:18:04 -08:00
Laurent Alebarde
5bc6737039 factorize code in proxy 2014-01-20 17:00:02 +01:00
Pieter Hintjens
0e94ddf377 Merge pull request #842 from ipechorin/master
Fix compilation of tests on MSVC 2008
2014-01-20 03:40:46 -08:00
Ivan Pechorin
ebb51d7922 Fix CMake tests - delete non-existing test_connect_rid 2014-01-20 21:03:45 +13:00
Ivan Pechorin
1d7a07d919 Fix compilation of tests on MSVC 2008 2014-01-20 20:55:32 +13:00
Pieter Hintjens
aaeae8deb3 Merge pull request #841 from Prarrot/master
ZMQ_CONNECT_RID tests and man
2014-01-19 19:37:13 -08:00
Tim M
3fbc10eba7 Updated man entries, and added behavior in case the user duplicates peer ids. In this case the socket reverts to default behavior. 2014-01-19 17:28:13 -08:00
Tim M
1d9b76c860 Added test for ZMQ_CONNECT_RID 2014-01-19 15:59:43 -08:00
Tim M
2f36f65f8f Fixed duplicate variable declaration. 2014-01-19 15:05:20 -08:00
Ian Barber
2f85447273 Merge pull request #839 from hintjens/master
Cleaned up option to force identity on outgoing connection
2014-01-19 01:38:05 -08:00
Pieter Hintjens
50bd28c037 Cleaned up option to force identity on outgoing connection
- renamed to ZMQ_CONNECT_RID
- fixed whitespace malformating around previous patch
- renamamed next_peer_id to next_rid in preparation for
  larger rename of IDENTITY to ROUTING_ID

Note: ZMQ_CONNECT_RID has no test case and no entry in the man
page, as yet.
2014-01-19 09:27:57 +01:00
Pieter Hintjens
5f07d103a7 Merge pull request #838 from Prarrot/master
Fixed compile issue with missing member of socket_base.  Changed ZMQ_NEX...
2014-01-19 00:09:15 -08:00
Pieter Hintjens
cedca84196 Merge pull request #837 from arsenm/master
Fix cmake build and warnings
2014-01-19 00:08:05 -08:00
Tim M
b1920bdf90 Fixed compile issue with missing member of socket_base. Changed ZMQ_NEXT_IDENTITY to ZMQ_NEXT_CONNECT_PEER_ID.
Fixed case where ZMQ_NEXT_CONNECT_PEER_ID is used in ROUTER, and ROUTER does not read the identity message from the connected pipe.
2014-01-18 17:49:54 -08:00
Matt Arsenault
00aeaddf94 Fix unused parameter and variable warnings. 2014-01-18 13:17:29 -08:00
Matt Arsenault
5a230f7d9e Fix cmake configure error from deleted test. 2014-01-18 12:59:12 -08:00
Pieter Hintjens
d82389a788 Merge pull request #834 from Prarrot/master
Updated STREAM and ROUTER sockets to allow for pre-naming of outbound connections
2014-01-17 23:13:07 -08:00
Pieter Hintjens
a66c47f995 Merge pull request #833 from mrvn/pull_store-fd-on-connect
Store socket FD after connect
2014-01-17 23:11:45 -08:00
Pieter Hintjens
d13b74e955 Merge pull request #832 from mrvn/pull_stream-connect-notification
Add STREAM connect notification.
2014-01-17 23:11:27 -08:00
Tim M
f13512a926 fixed define value in header 2014-01-17 14:41:45 -08:00
Tim M
5d4860ea12 Both STREAM and ROUTER sockets suffer from a naming problem on outbound connections. While these connections can be created, they can't be immediately used. Traffic must be received before it can be sent. This prevents practical, minimal usage of STREAM or ROUTER as a true N fan in/out socket.
This change simply provides the user with a socket option that sets a user defined name of the next outbound connection:

zmq_setsockopt(routerSock,ZMQ_NEXT_IDENTITY,"myname",6);
if(0 > zmq_connect(routerSock,"tcp://127.0.0.1:1234")) return 1;
ret = zmq_send(routerSock,"myname",6,ZMQ_SNDMORE);
zmq_send(routerSock,b.mem,b.used,0);

In this example, the socket is immediately given the name "myname", and is capable of immediately sending traffic.

This approach is more effective in three ways:
1) It prevents all sorts of malicious peer naming attacks that can cause undefined behavior in existing ROUTER connections. (Two connections are made that both transmit the same name to the ROUTER, the ROUTER behavior is undefined)
2) It allows immediate control of connections made to external parties for STREAM sockets. Something that is not possible right now. Before an outbound connection had no name for STREAM or ROUTER sockets because outbound connections cannot be sent to without first receiving traffic.
3) It is simpler and more general than expecting two ROUTER sockets to handshake on assigned connection names. Plus it allows inline sending to new connections on ROUTER.
2014-01-17 14:34:39 -08:00
Goswin von Brederlow
afb24b53e6 Add STREAM connect notification.
Adjust test cases to connection notification.
Increase error checking in test cases.
2014-01-17 23:31:51 +01:00
Goswin von Brederlow
92f8f244e2 Store socket FD after connect 2014-01-17 23:30:17 +01:00
Richard Newton
53d0199e50 Merge pull request #828 from snikulov/cmake_rc_merge_fix
fixed cmake merge related to version.rc.in handling
2014-01-16 05:25:58 -08:00
Sergei Nikulov
f4a67b2520 fixed cmake merge related to version.rc.in handling 2014-01-16 16:29:12 +04:00
Pieter Hintjens
22655d05c7 Merge pull request #827 from EricMCornelius/master
Corrects ypipe initialization when conflate is NOT enabled.
2014-01-15 22:08:19 -08:00
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
Pieter Hintjens
526847b73b Merge pull request #825 from AndreLouisCaron/disconnect-notifications
Adds support for detecting ZMQ_STREAM disconnections.
2014-01-14 22:25:01 -08:00
Pieter Hintjens
f8300d183a Merge pull request #824 from AndreLouisCaron/fix-cmake-build
Fixes CMake build after ZAP test file was deleted.
2014-01-14 22:24:30 -08:00
Andre Caron
21011541e0 Fixes CMake build after ZAP test file was deleted.
File was removed in 5bf96f64b07ff74548495fdf38198a9cc8edb662 a few days ago.
2014-01-14 17:22:52 -08: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
Pieter Hintjens
f253fe5f42 Merge pull request #823 from ricnewton/master
Define NOMINMAN to fix windows build.
2014-01-14 03:29:16 -08:00
Richard Newton
bf06f3bb27 Define NOMINMAN to fix windows build. 2014-01-14 10:27:40 +00:00
Pieter Hintjens
d981d01655 Merge pull request #821 from davipt/master
use version-script only for ELF linux
2014-01-13 09:38:43 -08:00
Bruno D. Rodrigues
d38a0c43b6 use version-script only for ELF linux 2014-01-13 17:31:56 +00:00
Pieter Hintjens
d765a0e7d4 Merge pull request #820 from jtanx/win32
Fix compilation on Windows (MinGW-w64)
2014-01-13 03:40:04 -08:00
Jeremy Tan
5efee6e0d5 Fix compilation on MinGW-w64 2014-01-13 18:38:59 +08:00
Pieter Hintjens
676dada8f6 Merge pull request #819 from hurtonm/master
Implement socket_base_t::get_credential member function
2014-01-12 15:51:56 -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
Ian Barber
ea54669b6f Merge pull request #818 from Debian/s390x
Fix timestamp counter on s390/s390x
2014-01-12 08:33:21 -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
Richard Newton
6e1b1fef8f Merge pull request #816 from snikulov/fix_test_windows
windows: changed tcp port from glrpc assigned to unassigned one
2014-01-10 02:34:39 -08:00
Sergei Nikulov
bd2874a3a0 windows: changed tcp port from glrpc assigned to unassigned one 2014-01-10 13:50:56 +04:00
Richard Newton
266711556d Merge pull request #815 from snikulov/cmake_install_update
cmake: fixed error 'install TARGETS given no ARCHIVE DESTINATION'
2014-01-10 00:29:08 -08:00
Sergei Nikulov
1904f90284 cmake: fixed error 'install TARGETS given no ARCHIVE DESTINATION for static library target' 2014-01-10 10:47:33 +04:00
Pieter Hintjens
ab07f7220d Merge pull request #814 from hurtonm/master
Replace assert with zmq_assert
2014-01-08 13:37:22 -08:00
Martin Hurton
5d41d51ba5 Replace assert with zmq_assert 2014-01-08 21:11:54 +01:00
Richard Newton
1014501679 Merge pull request #813 from hurtonm/master
Fix some comments regarding method overriding
2014-01-08 09:42:24 -08:00
Martin Hurton
a80fb34765 Fix some comments regarding method overriding 2014-01-08 18:29:35 +01:00
Pieter Hintjens
60d6b89c5e Merge pull request #812 from hurtonm/master
Make it explicit that the probe function doesn't modify passed message
2014-01-07 23:49:37 -08: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
23ea1b2b64 typo in docs 2014-01-07 01:13:46 +01: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
Pieter Hintjens
ecb9770947 Merge pull request #809 from hurtonm/master
Simplify ypipe_t and ypipe_base_t template parameters
2014-01-06 04:46:52 -08:00
Martin Hurton
96f5fddc45 Simplify ypipe_t and ypipe_base_t template parameters 2014-01-06 11:34:00 +01:00
Pieter Hintjens
c7e3efba6b Merge pull request #808 from sradomski/master
Allow clients to get remote endpoint per message for TCP connections
2014-01-06 01:48:39 -08: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
Pieter Hintjens
08d897b174 Merge pull request #804 from mattconnolly/master
Update test_filter_ipc to not use abstract socket.
2014-01-02 22:13:46 -08:00
Matt Connolly
8c3e645013 Update test_filter_ipc to not use abstract socket.
This fixes the test on Mac OS X and SmartOS (probably other Solarises).
Also updates the sockets using ipc: to use DEALER sockets instead
of PAIR sockets.
2014-01-03 10:42:57 +10:00
Pieter Hintjens
b5d2239a4e Merge pull request #803 from vortechs2000/fix-libzmq-576
Fix LIBZMQ-576 - Revert "Merge pull request #510 from miniway/master"
2014-01-02 13:10:17 -08: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
Ian Barber
2fa49e96d2 Merge pull request #800 from hintjens/master
Minor cosmetic fixes
2014-01-02 03:19:45 -08: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
adf5b45d71 Reordered socket options
- put into alphabetical order
- there was no consistency in previous ordering
2014-01-01 16:28:30 +01:00
Pieter Hintjens
3ad8c61190 Whitespace fixes 2014-01-01 15:36:47 +01:00
Pieter Hintjens
49a2902c82 Fixed issue #801 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
Pieter Hintjens
384f8522aa Merge pull request #799 from lodagro/patch-1
fix doc typo
2013-12-24 08:29:34 -08:00
Wouter Overmeire
a5f4d823a5 fix doc typo 2013-12-24 15:00:43 +01:00
Pieter Hintjens
5a0d21297e Merge pull request #798 from pijyoi/master
doc bugfix: ZMQ_MSGMORE should be ZMQ_SNDMORE
2013-12-23 09:09:57 -08:00
KIU Shueng Chuan
5fa3f0a045 doc bugfix: ZMQ_MSGMORE should be ZMQ_SNDMORE 2013-12-23 23:06:18 +08:00
Pieter Hintjens
b5aa2b0f1c Merge pull request #797 from agronholm/master
Fixed setting TCP keepalive parameters on Windows
2013-12-22 02:24:15 -08:00
Alex Grönholm
b554757cf0 Fixed setting TCP keepalive parameters on Windows 2013-12-22 02:55:18 +02:00
Ian Barber
93e26efd5d Merge pull request #796 from hintjens/master
Fixes to IPC wildcarding & test cases
2013-12-20 13:36:30 -08:00
Pieter Hintjens
311b6bf9f7 Test was sometimes failing
- was not waiting long enough at socket close
- increased to 50 msec
2013-12-20 14:34:29 +01: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
Ian Barber
32f3fb490a Merge pull request #794 from hintjens/master
Fixed use of deprecated tempnam
2013-12-20 00:49:23 -08:00
Pieter Hintjens
8ba1311e34 Fixed use of deprecated tempnam 2013-12-19 21:06:32 +01:00