zmq: update to version 4.3.3 (security fix)
authorJan Pavlinec <jan.pavlinec@nic.cz>
Tue, 15 Sep 2020 10:42:12 +0000 (12:42 +0200)
committerJan Pavlinec <jan.pavlinec@nic.cz>
Tue, 15 Sep 2020 13:09:15 +0000 (15:09 +0200)
Fixes
CVE-2020-15166

Signed-off-by: Jan Pavlinec <jan.pavlinec@nic.cz>
libs/zmq/Makefile
libs/zmq/patches/010-uclibcxx.patch

index 3d7966fc61ed5151948fc77e26fd2bfabe14ec37..4cb2244b0e5fac0d9e4c3426593af6b88a7aa421 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zeromq
-PKG_VERSION:=4.3.2
-PKG_RELEASE:=3
+PKG_VERSION:=4.3.3
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/zeromq/libzmq/releases/download/v$(PKG_VERSION)
-PKG_HASH:=ebd7b5c830d6428956b67a0454a7f8cbed1de74b3b01e5c33c5378e22740f763
+PKG_HASH:=9d9285db37ae942ed0780c016da87060497877af45094ff9e1a1ca736e3875a2
 
 PKG_MAINTAINER:=Dirk Chang <dirk@kooiot.com>
 PKG_LICENSE:=GPL-3.0-or-later
index 75d5feec2385e37d9a9b8b4faf627d3cd4875961..1c923c75a5830aa0f44101f450bcdf89572ff50b 100644 (file)
@@ -8,13 +8,13 @@
 -#if __cplusplus >= 201103L
 +#include <ios>
 +#if __cplusplus >= 201103L && !defined(__UCLIBCXX_MAJOR__)
+
  #include "radix_tree.hpp"
  #include "trie.hpp"
 --- a/src/atomic_counter.hpp
 +++ b/src/atomic_counter.hpp
 @@ -35,7 +35,7 @@
+
  #if defined ZMQ_FORCE_MUTEXES
  #define ZMQ_ATOMIC_COUNTER_MUTEX
 -#elif (defined __cplusplus && __cplusplus >= 201103L)                          \
@@ -25,7 +25,7 @@
 --- a/src/atomic_ptr.hpp
 +++ b/src/atomic_ptr.hpp
 @@ -34,7 +34,7 @@
+
  #if defined ZMQ_FORCE_MUTEXES
  #define ZMQ_ATOMIC_PTR_MUTEX
 -#elif (defined __cplusplus && __cplusplus >= 201103L)                          \
 @@ -38,7 +38,7 @@
  #include <algorithm>
  #include <ios>
+
 -#if __cplusplus >= 201103L || defined(_MSC_VER) && _MSC_VER > 1700
 +#if __cplusplus >= 201103L && !defined(__UCLIBCXX_MAJOR__) || defined(_MSC_VER) && _MSC_VER > 1700
  #define ZMQ_HAS_MOVE_SEMANTICS
  #define ZMQ_MAP_INSERT_OR_EMPLACE(k, v) emplace (k, v)
  #define ZMQ_PUSH_OR_EMPLACE_BACK emplace_back
---- a/src/ctx.cpp
-+++ b/src/ctx.cpp
-@@ -544,7 +544,7 @@ void zmq::ctx_t::unregister_endpoints (socket_base_t *socket_)
-                                end = _endpoints.end ();
-          it != end;) {
-         if (it->second.socket == socket_)
--#if __cplusplus >= 201103L
-+#if __cplusplus >= 201103L && !defined(__UCLIBCXX_MAJOR__)
-             it = _endpoints.erase (it);
- #else
-             _endpoints.erase (it++);
 --- a/src/msg.hpp
 +++ b/src/msg.hpp
 @@ -30,8 +30,8 @@
  #ifndef __ZMQ_MSG_HPP_INCLUDE__
  #define __ZMQ_MSG_HPP_INCLUDE__
+
 -#include <stddef.h>
 -#include <stdio.h>
 +#include <cstddef>
 +#include <cstdio>
+
  #include "config.hpp"
  #include "err.hpp"
 --- a/src/options.hpp
      static_assert (std::is_trivially_copyable<T>::value,
                     "invalid use of do_getsockopt");
  #endif
+--- a/src/ctx.cpp
++++ b/src/ctx.cpp
+@@ -725,7 +725,7 @@ void zmq::ctx_t::unregister_endpoints (c
+                                end = _endpoints.end ();
+          it != end;) {
+         if (it->second.socket == socket_)
+-#if __cplusplus >= 201103L || (defined _MSC_VER && _MSC_VER >= 1700)
++#if (__cplusplus >= 201103L || (defined _MSC_VER && _MSC_VER >= 1700)) && !defined(__UCLIBCXX_MAJOR__)
+             it = _endpoints.erase (it);
+ #else
+             _endpoints.erase (it++);
 --- a/src/radio.cpp
 +++ b/src/radio.cpp
-@@ -126,7 +126,7 @@ void zmq::radio_t::xpipe_terminated (pipe_t *pipe_)
+@@ -126,7 +126,7 @@ void zmq::radio_t::xpipe_terminated (pip
                                     end = _subscriptions.end ();
           it != end;) {
          if (it->second == pipe_) {
--#if __cplusplus >= 201103L
-+#if __cplusplus >= 201103L && !defined(__UCLIBCXX_MAJOR__)
+-#if __cplusplus >= 201103L || (defined _MSC_VER && _MSC_VER >= 1700)
++#if (__cplusplus >= 201103L || (defined _MSC_VER && _MSC_VER >= 1700)) && !defined(__UCLIBCXX_MAJOR__)
              it = _subscriptions.erase (it);
  #else
              _subscriptions.erase (it++);