[Buildroot] [PATCH 1/2] zeromq: bump to version 4.1.3
Gustavo Zacarias
gustavo at zacarias.com.ar
Tue Dec 1 18:14:38 UTC 2015
Add upstream patch to fix build failure of zeromq with latest
libsodium, since sodium_init() has a retval and is now declared to warn
on unused result, with zeromq treating warnings as errors.
Signed-off-by: Gustavo Zacarias <gustavo at zacarias.com.ar>
---
...return-code-of-sodium_init-is-not-checked.patch | 73 ++++++++++++++++++++++
package/zeromq/zeromq.hash | 6 +-
package/zeromq/zeromq.mk | 2 +-
3 files changed, 77 insertions(+), 4 deletions(-)
create mode 100644 package/zeromq/0003-Problem-return-code-of-sodium_init-is-not-checked.patch
diff --git a/package/zeromq/0003-Problem-return-code-of-sodium_init-is-not-checked.patch b/package/zeromq/0003-Problem-return-code-of-sodium_init-is-not-checked.patch
new file mode 100644
index 0000000..fcdbc9c
--- /dev/null
+++ b/package/zeromq/0003-Problem-return-code-of-sodium_init-is-not-checked.patch
@@ -0,0 +1,73 @@
+From 479db2113643e459c11db392e0fefd6400657c9e Mon Sep 17 00:00:00 2001
+From: Constantin Rack <constantin at rack.li>
+Date: Sat, 8 Nov 2014 10:50:17 +0100
+Subject: [PATCH] Problem: return code of sodium_init() is not checked.
+
+There are two todo comments in curve_client.cpp and curve_server.cpp that suggest
+checking the return code of sodium_init() call. sodium_init() returns -1 on error,
+0 on success and 1 if it has been called before and is already initalized:
+https://github.com/jedisct1/libsodium/blob/master/src/libsodium/sodium/core.c
+
+Signed-off-by: Gustavo Zacarias <gustavo at zacarias.com.ar>
+---
+Status: Upstream
+
+diff --git a/src/curve_client.cpp b/src/curve_client.cpp
+index 6019c54..77fc420 100644
+--- a/src/curve_client.cpp
++++ b/src/curve_client.cpp
+@@ -38,6 +38,7 @@ zmq::curve_client_t::curve_client_t (const options_t &options_) :
+ cn_peer_nonce(1),
+ sync()
+ {
++ int rc;
+ memcpy (public_key, options_.curve_public_key, crypto_box_PUBLICKEYBYTES);
+ memcpy (secret_key, options_.curve_secret_key, crypto_box_SECRETKEYBYTES);
+ memcpy (server_key, options_.curve_server_key, crypto_box_PUBLICKEYBYTES);
+@@ -47,12 +48,12 @@ zmq::curve_client_t::curve_client_t (const options_t &options_) :
+ unsigned char tmpbytes[4];
+ randombytes(tmpbytes, 4);
+ #else
+- // todo check return code
+- sodium_init();
++ rc = sodium_init ();
++ zmq_assert (rc != -1);
+ #endif
+
+ // Generate short-term key pair
+- const int rc = crypto_box_keypair (cn_public, cn_secret);
++ rc = crypto_box_keypair (cn_public, cn_secret);
+ zmq_assert (rc == 0);
+ }
+
+diff --git a/src/curve_server.cpp b/src/curve_server.cpp
+index a3c4243..22c32d6 100644
+--- a/src/curve_server.cpp
++++ b/src/curve_server.cpp
+@@ -42,6 +42,7 @@ zmq::curve_server_t::curve_server_t (session_base_t *session_,
+ cn_peer_nonce(1),
+ sync()
+ {
++ int rc;
+ // Fetch our secret key from socket options
+ memcpy (secret_key, options_.curve_secret_key, crypto_box_SECRETKEYBYTES);
+ scoped_lock_t lock (sync);
+@@ -50,12 +51,12 @@ zmq::curve_server_t::curve_server_t (session_base_t *session_,
+ unsigned char tmpbytes[4];
+ randombytes(tmpbytes, 4);
+ #else
+- // todo check return code
+- sodium_init();
++ rc = sodium_init ();
++ zmq_assert (rc != -1);
+ #endif
+
+ // Generate short-term key pair
+- const int rc = crypto_box_keypair (cn_public, cn_secret);
++ rc = crypto_box_keypair (cn_public, cn_secret);
+ zmq_assert (rc == 0);
+ }
+
+--
+2.4.10
+
diff --git a/package/zeromq/zeromq.hash b/package/zeromq/zeromq.hash
index 6c7916e..b744740 100644
--- a/package/zeromq/zeromq.hash
+++ b/package/zeromq/zeromq.hash
@@ -1,4 +1,4 @@
-# Locally calculated from download (no sig, hash)
-sha256 f9162ead6d68521e5154d871bac304f88857308bb02366b81bb588497a345927 zeromq-4.1.2.tar.gz
# From http://download.zeromq.org/SHA1SUMS:
-sha1 86c17096f7f4bf46cbcd2ad242cf8fec8a7cfb7b zeromq-4.1.2.tar.gz
+sha1 b7185724f2fd56d0face50047757ac2a04d26ca4 zeromq-4.1.3.tar.gz
+# Calculated based on the hash above
+sha256 61b31c830db377777e417235a24d3660a4bcc3f40d303ee58df082fcd68bf411 zeromq-4.1.3.tar.gz
diff --git a/package/zeromq/zeromq.mk b/package/zeromq/zeromq.mk
index a58a6fe..ab30b78 100644
--- a/package/zeromq/zeromq.mk
+++ b/package/zeromq/zeromq.mk
@@ -4,7 +4,7 @@
#
################################################################################
-ZEROMQ_VERSION = 4.1.2
+ZEROMQ_VERSION = 4.1.3
ZEROMQ_SITE = http://download.zeromq.org
ZEROMQ_INSTALL_STAGING = YES
ZEROMQ_DEPENDENCIES = util-linux
--
2.4.10
More information about the buildroot
mailing list