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 5bf96f64b0
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