Commit Graph

4459 Commits

Author SHA1 Message Date
Luca Boccassi
6681bcf08c Problem: tweetnacl/contrib/randombytes need C++0x
Solution: disable -pedantic when building with tweetnacl to avoid
warning about "long long" not existing in ISO C++ 98
2016-02-08 12:31:05 +00:00
Pieter Hintjens
c59670dbc2 Merge pull request #1782 from minrk/configure-with-tweetnacl
fallback on tweetnacl if libsodium is not found and not explicitly requested
2016-02-08 12:00:40 +01:00
Min RK
e86650794f fallback on tweetnacl if libsodium is not found and not explicitly requested 2016-02-08 11:58:30 +01:00
Min RK
2902fd60b9 add --with-tweetnacl to configure
allows building with tweetnacl without cmake
2016-02-08 11:40:50 +01:00
Luca Boccassi
135c4112c8 Merge pull request #1780 from hintjens/master
Fixes to Windows builds
2016-02-07 11:33:43 +00:00
Pieter Hintjens
58059939fc Problem: compile warnings on Windows in new radio/dish code
Solution: fix these.
2016-02-07 12:27:23 +01:00
Pieter Hintjens
e0f02bdfb8 Problem: libzmq uses different build.bat style than zproject
Solution: at least for vs2015, add vs2015/build.bat to work the
same was as zproject.
2016-02-07 10:36:17 +01:00
Pieter Hintjens
07cba2307d Merge pull request #1779 from obache/neatsrc/fix-a-typo-for-ZMTP-heartbeats
Fix a typo in "Add ZMTP heartbeats" changes
2016-02-07 10:31:33 +01:00
Pieter Hintjens
8a1dcca8c2 Merge pull request #1778 from obache/neatsrc/fix1768
Change to detect POSIX Thread priority support properly
2016-02-07 10:31:19 +01:00
Pieter Hintjens
4c6753346b Merge pull request #1777 from brian-peloton/master
Use memcpy instead of assuming option values are aligned
2016-02-07 10:31:06 +01:00
OBATA Akio
99495bbab8 Fix a typo in "Add ZMTP heartbeats" changes 2016-02-07 17:09:19 +09:00
OBATA Akio
7cd60fae59 Change to detect POSIX Thread priority support properly 2016-02-07 16:43:46 +09:00
Brian Silverman
273b54715e Use memcpy instead of assuming option values are aligned
Otherwise, it's undefined behavior. ubsan catches alignment issues in
the libzmq test suite without this.
2016-02-06 22:22:51 -05:00
Constantin Rack
ffe4a1c615 Merge pull request #1776 from hintjens/master
Refinement of #f4fe375
2016-02-06 14:26:03 +01:00
Pieter Hintjens
a1f51b695f Problem: unclear rules for passing null arguments
Solution: be more explicit in the code, and in the zmq_recv man
page (which is the most unobvious case). Assert if length is not
zero and buffer is nonetheless null.
2016-02-06 14:13:13 +01:00
Pieter Hintjens
27a8961c37 Problem: resolution of int optval_ was made more verbose
There's no value in this as the same pattern is repeated in several
places and it's fair to expect people to understand it.

Solution: revert to the old, one-liner style.
2016-02-06 14:12:43 +01:00
Pieter Hintjens
c8318912f5 Problem: test case is using internal API
It is poor style for test cases to use the internal API (i.e.
libzmq classes or header files), as this code serves the purpose
of teaching developers how to use the library (it doesn't do this
very well, it's an ambition).

Also, including headers in src/ creates problems when compiling.

Solution: remove use of src/macros.hpp.
2016-02-06 14:12:43 +01:00
Pieter Hintjens
0d7e7bfac0 Problem: MSVC project filters were out of date
Solution: update (with correct one from VS2015)
2016-02-06 14:12:43 +01:00
Pieter Hintjens
39563d70c5 Merge pull request #1775 from CommanderBubble/patch-2
updates for bumped _WIN32_WINNT version with mingw builds
2016-02-06 13:56:45 +01:00
Michael
7270d4de65 windows.hpp needs to be included before zmq.h
windows.hpp must be included first due to increases _WIN32_WINNT version
2016-02-06 23:31:56 +11:00
Pieter Hintjens
a9666d7f0c Merge pull request #1774 from brian-peloton/master
Don't call memcpy with 0 size and NULL pointer(s)
2016-02-06 13:19:31 +01:00
Michael
d06314df84 added windows includes as well as unix includes
added conditional includes for unix / windows
2016-02-06 23:19:10 +11:00
Michael
75bea4bc13 update for mingw's default _WIN32_WINNT
mingw defaults with _WIN32_WINNT as 0x0502 which doesn't define inet_pton(), so add a conditional check
2016-02-06 23:03:12 +11:00
Michael
05b5633b8d update for mingw's default _WIN32_WINNT
mingw defaults with _WIN32_WINNT as 0x0502 which doesn't define inet_pton(), so add a conditional check
2016-02-06 23:01:26 +11:00
Michael
596fd2408a added ZMQ_HAVE_WINDOWS check to _WIN32_WINNT usage 2016-02-06 22:59:58 +11:00
Michael
b98b1495af added ZMQ_HAVE_WINDOWS check to _WIN32_WINNT usage 2016-02-06 22:59:13 +11:00
Michael
595181d301 added ZMQ_HAVE_WINDOWS check to _WIN32_WINNT usage 2016-02-06 22:58:38 +11:00
Michael
56efddd182 remove c++11 requirement and -Werror=sign-compare
used static_cast<signed int> around WSA_WAIT_FAILED as it is an unsigned implicitly defined as (0xFFFFFFFF ion winbase.h) and causes a comparison error.

removed use of c++11 style initialiser list for 'sockaddr addr { 0 }' and changed it to 'sockaddr addr = { 0 }'
2016-02-06 22:55:24 +11:00
Michael
988d33bcf8 added windows.hpp with include check
includes windows.hpp if on windows build for mingw build errors from including zmq.h before windows.h
2016-02-06 22:39:53 +11:00
Michael
f472893da1 changed order of includes 2016-02-06 22:37:45 +11:00
Michael
3cdc9218c2 remove include that is already in header 2016-02-06 22:36:37 +11:00
Michael
def0336e9a increase mingw's minimum _WIN32_WINNT version 2016-02-06 22:26:50 +11:00
Brian Silverman
f4fe375bd1 Don't call memcpy with 0 size and NULL pointer(s)
It's undefined behavior, and ubsan flags it.
2016-02-05 14:04:22 -05:00
Joe Eli McIlvain
c9c9a777d6 Merge pull request #1773 from bluca/libsodium_stable
Problem: CI builds libsodium from dev branch
2016-02-04 16:45:27 -08:00
Luca Boccassi
3641f705e1 Problem: CI builds libsodium from dev branch
Solution: checkout stable branch instead.
Several warnings are printed when building from the master branch,
and developers recommend using the stable branch instead.
2016-02-04 23:47:16 +00:00
Joe Eli McIlvain
b9e4fa82a2 Merge pull request #1772 from hintjens/master
Problem: commit a464eec7 really broke VS2015 builds
2016-02-04 15:40:39 -08:00
Pieter Hintjens
86aa7bb1bc Problem: commit a464eec7 really broke VS2015 builds
Took me over 8 hours to track down the cause of bizarre link
errors when building with libsodium. The VS project files are
not simple things.

Note to self and other maintainers: when someone is obviously
out of their depth, do not merge their changes to build scripts
without cynical appraisal.

Solution: undo the damage.
2016-02-05 00:25:59 +01:00
Joe Eli McIlvain
02120203b2 Merge pull request #1771 from bluca/valgrind_iterator
Problem: Valgrind reports read of freed memory
2016-02-04 14:36:59 -08:00
Luca Boccassi
a9aeb492dc Problem: Valgrind reports read of freed memory
Solution: when iterating over a map and conditionally deleting
elements, an erased iterator gets invalidated. Call erase using postfix
increment on iterator to avoid using an invalid element in the next
iteration.
2016-02-04 22:21:29 +00:00
Pieter Hintjens
c5bf0dc0a4 Merge pull request #1770 from bluca/systemd
Problem: no support for pre-allocated file descriptors [systemd | upstart socket-based activation]
2016-02-04 18:51:28 +01:00
Luca Boccassi
84ad4bf0ff Problem: cannot use new pre-allocated FD with TCP
Solution: parse the value set by the ZMQ_PRE_ALLOCATED_FD sockopt
when creating a new TCP socket and use it if valid.
Add new tests/test_pre_allocated_fd_tcp.cpp unit test.
2016-02-04 16:57:26 +00:00
Luca Boccassi
9b885b7c00 Problem: cannot use new pre-allocated FD with IPC
Solution: parse the value set by the ZMQ_PRE_ALLOCATED_FD sockopt
when creating a new IPC socket and use it if valid.
Add new tests/test_pre_allocated_fd_ipc.cpp unit test.
2016-02-04 16:57:26 +00:00
Luca Boccassi
4bcbb3055e Problem: cannot use pre-allocated FDs. Fixes #777
Solution: add new [set|get]sockopt ZMQ_PRE_ALLOCATED_FD to allow
users to let ZMQ use a pre-allocated file descriptor instead of
allocating a new one. Update [set|get]sockopt documentation and
test accordingly.

The main use case for this feature is a socket-activated systemd
service. For more information about this feature see:
http://0pointer.de/blog/projects/socket-activation.html
2016-02-04 16:57:26 +00:00
Constantin Rack
8b0fdd94d3 Merge pull request #1767 from hintjens/master
Problem: Android build is slow and noisy
2016-02-04 11:59:12 +01:00
Pieter Hintjens
a3d9b46a60 Problem: Android build is slow and noisy
Solution: use --without-docs (changed from --without-documentation)
and also --quiet.
2016-02-04 11:24:25 +01:00
Joe Eli McIlvain
08cfbdef7d Merge pull request #1766 from hintjens/master
Problem: MSVC build does not detect libsodium
2016-02-03 15:12:02 -08:00
Pieter Hintjens
31d181effb Problem: MSVC build does not detect libsodium
Caused by error in last commit which used HAVE_LIBSODIUM instead
of HAVE_SODIUM.

Solution: use HAVE_LIBSODIUM as we do in other configure scripts.

The project is called 'libsodium' and not 'sodium'.
2016-02-03 23:45:01 +01:00
Constantin Rack
8fad51c270 Merge pull request #1765 from hintjens/master
Windows command-line build is now configurable
2016-02-03 22:52:02 +01:00
Pieter Hintjens
6a9af8ed62 Problem: can't build without libsodium from command line (MSVC)
There is an option to enable/disable libsodium via the Visual Studio
UI. This is not practical for command-line usage (via msbuild).

Solution: add configure.bat that searches for libsodium in sibling
directory to libzmq; if it finds it, defines HAVE_LIBSODIUM 1.

This is consistent with zproject, which has the same problem and
is getting the same solution for all dependency resolution on
Windows.

Note that this approach also provides a way to support tweetnacl
via a configure option.

Also, removed duplicate props files and re-copy in configure.bat
as it was an insane nightmare to update these by hand. (and not
clear that they were identical. Now it's forced.)
2016-02-03 22:44:06 +01:00
Pieter Hintjens
984699c427 Problem: was ignoring directories with build files
Solution: fix .gitignore
2016-02-03 21:13:54 +01:00