[qpid-cpp] Resolves: BZ#1181721

Darryl L. Pierce mcpierce at fedoraproject.org
Fri Jan 16 14:29:51 UTC 2015


commit 796d6582be6dec653e007ee6906895f4abf7fdd4
Author: Darryl L. Pierce <mcpierce at gmail.com>
Date:   Fri Jan 16 09:29:51 2015 -0500

    Resolves: BZ#1181721

 ...JIRA-qpidd.service-file-for-use-on-Fedora.patch |    4 +-
 0002-NO-JIRA-Remove-dead-unused-code.patch         |    4 +-
 ...D-6128-Fix-compiling-SocketAddress-on-ARM.patch |    4 +-
 ...dd-__init__.py-to-setup.py-for-linear-sto.patch |    4 +-
 ...nge-python.i-to-qpid_messaging.i-in-extra.patch |   34 +++++++++++++
 ...dds-build-support-for-aarch64-and-ppc64le.patch |   52 ++++++++++++++++++++
 ...nsure-session-is-attached-even-for-unsupp.patch |   26 ++++++++++
 ...andle-case-where-content-bearing-method-i.patch |   29 +++++++++++
 ...heck-validity-of-ranges-when-decoding-seq.patch |   31 ++++++++++++
 qpid-cpp.spec                                      |   10 ++++
 10 files changed, 190 insertions(+), 8 deletions(-)
---
diff --git a/0001-NO-JIRA-qpidd.service-file-for-use-on-Fedora.patch b/0001-NO-JIRA-qpidd.service-file-for-use-on-Fedora.patch
index b4a5440..c92841a 100644
--- a/0001-NO-JIRA-qpidd.service-file-for-use-on-Fedora.patch
+++ b/0001-NO-JIRA-qpidd.service-file-for-use-on-Fedora.patch
@@ -1,7 +1,7 @@
 From d377a75fc454bd329f9dc340dd13aaab080fcf3a Mon Sep 17 00:00:00 2001
 From: "Darryl L. Pierce" <mcpierce at gmail.com>
 Date: Wed, 3 Apr 2013 10:07:37 -0400
-Subject: [PATCH 1/6] NO-JIRA: qpidd.service file for use on Fedora
+Subject: [PATCH 1/9] NO-JIRA: qpidd.service file for use on Fedora
 
 This patch provides the needed systemd file for running the Qpid broker
 as a service.
@@ -54,5 +54,5 @@ index 0000000..10a99d1
 +[Install]
 +WantedBy=multi-user.target
 -- 
-1.9.3
+2.1.0
 
diff --git a/0002-NO-JIRA-Remove-dead-unused-code.patch b/0002-NO-JIRA-Remove-dead-unused-code.patch
index d504f3c..fee7264 100644
--- a/0002-NO-JIRA-Remove-dead-unused-code.patch
+++ b/0002-NO-JIRA-Remove-dead-unused-code.patch
@@ -1,7 +1,7 @@
 From 49e0b769ce4a2f4bfc4a499adaedbf43a4cf7ffd Mon Sep 17 00:00:00 2001
 From: "Darryl L. Pierce" <dpierce at redhat.com>
 Date: Tue, 30 Sep 2014 10:27:54 -0400
-Subject: [PATCH 2/6] NO-JIRA: Remove dead/unused code
+Subject: [PATCH 2/9] NO-JIRA: Remove dead/unused code
 
 ---
  qpid/cpp/src/qpid/ha/ReplicatingSubscription.cpp   | 7 -------
@@ -45,5 +45,5 @@ index 763deb3..dc00ec4 100644
  bool test(const Variant::Map& options, const std::string& name)
  {
 -- 
-1.9.3
+2.1.0
 
diff --git a/0003-QPID-6128-Fix-compiling-SocketAddress-on-ARM.patch b/0003-QPID-6128-Fix-compiling-SocketAddress-on-ARM.patch
index abc46dd..2fc0815 100644
--- a/0003-QPID-6128-Fix-compiling-SocketAddress-on-ARM.patch
+++ b/0003-QPID-6128-Fix-compiling-SocketAddress-on-ARM.patch
@@ -1,7 +1,7 @@
 From 3e22a83f7247cd0c2b0da1e3a55de78952d99391 Mon Sep 17 00:00:00 2001
 From: "Darryl L. Pierce" <dpierce at redhat.com>
 Date: Wed, 1 Oct 2014 11:12:49 -0400
-Subject: [PATCH 3/6] QPID-6128: Fix compiling SocketAddress on ARM
+Subject: [PATCH 3/9] QPID-6128: Fix compiling SocketAddress on ARM
 
 ---
  qpid/cpp/src/qpid/sys/posix/SocketAddress.cpp | 16 ++++++++++++----
@@ -37,5 +37,5 @@ index b96348f..4c860a7 100644
      } else {
          assert (false);
 -- 
-1.9.3
+2.1.0
 
diff --git a/0004-QPID-6150-Add-__init__.py-to-setup.py-for-linear-sto.patch b/0004-QPID-6150-Add-__init__.py-to-setup.py-for-linear-sto.patch
index 81a404a..ee5a93f 100644
--- a/0004-QPID-6150-Add-__init__.py-to-setup.py-for-linear-sto.patch
+++ b/0004-QPID-6150-Add-__init__.py-to-setup.py-for-linear-sto.patch
@@ -1,7 +1,7 @@
 From 6a980bbf9648e3529d2722de4aa6efd58e0f6206 Mon Sep 17 00:00:00 2001
 From: "Darryl L. Pierce" <mcpierce at apache.org>
 Date: Tue, 14 Oct 2014 17:08:53 +0000
-Subject: [PATCH 4/6] QPID-6150: Add __init__.py to setup.py for linear store.
+Subject: [PATCH 4/9] QPID-6150: Add __init__.py to setup.py for linear store.
 
 The file was not being included in the source tarball.
 
@@ -25,5 +25,5 @@ index 5f6c4ec..e58270b 100755
                      "src/py/qlslibs/err.py",
                      "src/py/qlslibs/jrnl.py",
 -- 
-1.9.3
+2.1.0
 
diff --git a/0005-NO-JIRA-Change-python.i-to-qpid_messaging.i-in-extra.patch b/0005-NO-JIRA-Change-python.i-to-qpid_messaging.i-in-extra.patch
new file mode 100644
index 0000000..b414c24
--- /dev/null
+++ b/0005-NO-JIRA-Change-python.i-to-qpid_messaging.i-in-extra.patch
@@ -0,0 +1,34 @@
+From 6c77d9085b00b265264a1bb6f508d0658c091c40 Mon Sep 17 00:00:00 2001
+From: "Darryl L. Pierce" <dpierce at redhat.com>
+Date: Mon, 6 Oct 2014 08:12:38 -0400
+Subject: [PATCH 5/9] NO-JIRA: Change python.i to qpid_messaging.i in extra
+ build
+
+---
+ qpid/cpp/bindings/qpid/python/extra_dist/CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/qpid/cpp/bindings/qpid/python/extra_dist/CMakeLists.txt b/qpid/cpp/bindings/qpid/python/extra_dist/CMakeLists.txt
+index 8ddd786..6240a05 100644
+--- a/qpid/cpp/bindings/qpid/python/extra_dist/CMakeLists.txt
++++ b/qpid/cpp/bindings/qpid/python/extra_dist/CMakeLists.txt
+@@ -44,13 +44,13 @@ FIND_LIBRARY (QPID_LIBRARY_DIR
+ ## Generate the Swig bindings
+ ## --------------------------
+ 
+-SET_SOURCE_FILES_PROPERTIES (${CMAKE_CURRENT_SOURCE_DIR}/python.i
++SET_SOURCE_FILES_PROPERTIES (${CMAKE_CURRENT_SOURCE_DIR}/qpid_messaging.i
+   PROPERTIES CPLUSPLUS ON)
+-SET_SOURCE_FILES_PROPERTIES (${CMAKE_CURRENT_SOURCE_DIR}/python.i
++SET_SOURCE_FILES_PROPERTIES (${CMAKE_CURRENT_SOURCE_DIR}/qpid_messaging.i
+   PROPERTIES SWIG_FLAGS "-I${QPID_INCLUDE_DIR}")
+ 
+ SWIG_ADD_MODULE (qpid_messaging_python python
+-  ${CMAKE_CURRENT_SOURCE_DIR}/python.i)
++  ${CMAKE_CURRENT_SOURCE_DIR}/qpid_messaging.i)
+ 
+ SWIG_LINK_LIBRARIES (qpid_messaging_python
+   qpidmessaging
+-- 
+2.1.0
+
diff --git a/0006-QPID-6170-Adds-build-support-for-aarch64-and-ppc64le.patch b/0006-QPID-6170-Adds-build-support-for-aarch64-and-ppc64le.patch
new file mode 100644
index 0000000..438d962
--- /dev/null
+++ b/0006-QPID-6170-Adds-build-support-for-aarch64-and-ppc64le.patch
@@ -0,0 +1,52 @@
+From d74c6441a1e4cb364337f338287b4790ca9c98fd Mon Sep 17 00:00:00 2001
+From: "Darryl L. Pierce" <dpierce at redhat.com>
+Date: Wed, 29 Oct 2014 11:13:04 -0400
+Subject: [PATCH 6/9] QPID-6170: Adds build support for aarch64 and ppc64le
+ architectures.
+
+Contributed by Marcin Juszkiewicz <mjuszkiewicz at redhat.com>
+---
+ qpid/cpp/src/qpid/legacystore/jrnl/jcfg.h | 21 ++++++++++-----------
+ 1 file changed, 10 insertions(+), 11 deletions(-)
+
+diff --git a/qpid/cpp/src/qpid/legacystore/jrnl/jcfg.h b/qpid/cpp/src/qpid/legacystore/jrnl/jcfg.h
+index 01d92ee..6fa8471 100644
+--- a/qpid/cpp/src/qpid/legacystore/jrnl/jcfg.h
++++ b/qpid/cpp/src/qpid/legacystore/jrnl/jcfg.h
+@@ -33,23 +33,22 @@
+ #ifndef QPID_LEGACYSTORE_JRNL_JCFG_H
+ #define QPID_LEGACYSTORE_JRNL_JCFG_H
+ 
+-#if defined(__i386__) || (__arm__) /* little endian, 32 bits */
++#include <endian.h>
++
++#if __BYTE_ORDER == __LITTLE_ENDIAN
+ #define JRNL_LITTLE_ENDIAN
+-#define JRNL_32_BIT
+-#elif defined(__PPC__) || defined(__s390__)  /* big endian, 32 bits */
++#else
+ #define JRNL_BIG_ENDIAN
++#endif
++
++#include <bits/wordsize.h>
++
++#if __WORDSIZE == 32
+ #define JRNL_32_BIT
+-#elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) || (__arm64__) /* little endian, 64 bits */
+-#define JRNL_LITTLE_ENDIAN
+-#define JRNL_64_BIT
+-#elif defined(__powerpc64__) || defined(__s390x__) /* big endian, 64 bits */
+-#define JRNL_BIG_ENDIAN
+-#define JRNL_64_BIT
+ #else
+-#error endian?
++#define JRNL_64_BIT
+ #endif
+ 
+-
+ /**
+ * <b>Rule:</b> Data block size (JRNL_DBLK_SIZE) MUST be a power of 2 such that
+ * <pre>
+-- 
+2.1.0
+
diff --git a/0007-QPID-6310-ensure-session-is-attached-even-for-unsupp.patch b/0007-QPID-6310-ensure-session-is-attached-even-for-unsupp.patch
new file mode 100644
index 0000000..2a2e0ba
--- /dev/null
+++ b/0007-QPID-6310-ensure-session-is-attached-even-for-unsupp.patch
@@ -0,0 +1,26 @@
+From 1d3f332d59c7571003ea4fe48b8cde0236f7f778 Mon Sep 17 00:00:00 2001
+From: Gordon Sim <gsim at apache.org>
+Date: Tue, 13 Jan 2015 10:25:02 +0000
+Subject: [PATCH 7/9] QPID-6310 ensure session is attached even for unsupported
+ controls
+
+git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1651319 13f79535-47bb-0310-9956-ffa450edef68
+---
+ qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp b/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp
+index 43f39c2..bd0dcbf 100644
+--- a/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp
++++ b/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.cpp
+@@ -276,6 +276,7 @@ void SessionHandler::flush(bool expected, bool confirmed, bool completed) {
+ }
+ 
+ void SessionHandler::gap(const SequenceSet& /*commands*/) {
++    checkAttached();
+     throw NotImplementedException("session.gap not supported");
+ }
+ 
+-- 
+2.1.0
+
diff --git a/0008-QPID-6310-handle-case-where-content-bearing-method-i.patch b/0008-QPID-6310-handle-case-where-content-bearing-method-i.patch
new file mode 100644
index 0000000..9e4401e
--- /dev/null
+++ b/0008-QPID-6310-handle-case-where-content-bearing-method-i.patch
@@ -0,0 +1,29 @@
+From 6e4a35b4de81556e768dc7a5b1a2c3a8983ef155 Mon Sep 17 00:00:00 2001
+From: Gordon Sim <gsim at apache.org>
+Date: Tue, 13 Jan 2015 10:25:08 +0000
+Subject: [PATCH 8/9] QPID-6310: handle case where content bearing method is
+ not in fact a message-transfer, which is the only one currently supported by
+ qpidd
+
+git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1651320 13f79535-47bb-0310-9956-ffa450edef68
+---
+ qpid/cpp/src/qpid/broker/MessageBuilder.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/qpid/cpp/src/qpid/broker/MessageBuilder.cpp b/qpid/cpp/src/qpid/broker/MessageBuilder.cpp
+index 7cb9951..f5e9332 100644
+--- a/qpid/cpp/src/qpid/broker/MessageBuilder.cpp
++++ b/qpid/cpp/src/qpid/broker/MessageBuilder.cpp
+@@ -45,6 +45,9 @@ void MessageBuilder::handle(AMQFrame& frame)
+     switch(state) {
+     case METHOD:
+         checkType(METHOD_BODY, type);
++        if (!frame.getMethod()->isA<qpid::framing::MessageTransferBody>())
++            throw NotImplementedException(QPID_MSG("Unexpected method: " << *(frame.getMethod())));
++
+         exchange = frame.castBody<qpid::framing::MessageTransferBody>()->getDestination();
+         state = HEADER;
+         break;
+-- 
+2.1.0
+
diff --git a/0009-QPID-6310-check-validity-of-ranges-when-decoding-seq.patch b/0009-QPID-6310-check-validity-of-ranges-when-decoding-seq.patch
new file mode 100644
index 0000000..aec0775
--- /dev/null
+++ b/0009-QPID-6310-check-validity-of-ranges-when-decoding-seq.patch
@@ -0,0 +1,31 @@
+From aa2a9247305b4363f2f1bebec9dd6cc0a518496e Mon Sep 17 00:00:00 2001
+From: Gordon Sim <gsim at apache.org>
+Date: Tue, 13 Jan 2015 10:25:15 +0000
+Subject: [PATCH 9/9] QPID-6310: check validity of ranges when decoding
+ sequence set
+
+git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1651321 13f79535-47bb-0310-9956-ffa450edef68
+---
+ qpid/cpp/src/qpid/framing/SequenceSet.cpp | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/qpid/cpp/src/qpid/framing/SequenceSet.cpp b/qpid/cpp/src/qpid/framing/SequenceSet.cpp
+index 72fcd8a..845bf8b 100644
+--- a/qpid/cpp/src/qpid/framing/SequenceSet.cpp
++++ b/qpid/cpp/src/qpid/framing/SequenceSet.cpp
+@@ -54,7 +54,11 @@ void SequenceSet::decode(Buffer& buffer)
+         throw IllegalArgumentException(QPID_MSG("Invalid size for sequence set: " << size)); 
+ 
+     for (uint16_t i = 0; i < count; i++) {
+-        add(SequenceNumber(buffer.getLong()), SequenceNumber(buffer.getLong()));
++        SequenceNumber a(buffer.getLong());
++        SequenceNumber b(buffer.getLong());
++        if (b < a)
++            throw IllegalArgumentException(QPID_MSG("Invalid range in sequence set: " << a << " -> " << b));
++        add(a, b);
+     }
+ }
+ 
+-- 
+2.1.0
+
diff --git a/qpid-cpp.spec b/qpid-cpp.spec
index 8583c28..e0b9d00 100644
--- a/qpid-cpp.spec
+++ b/qpid-cpp.spec
@@ -16,6 +16,10 @@ Patch0003:     0003-QPID-6128-Fix-compiling-SocketAddress-on-ARM.patch
 Patch0004:     0004-QPID-6150-Add-__init__.py-to-setup.py-for-linear-sto.patch
 Patch0005:     0005-NO-JIRA-Change-python.i-to-qpid_messaging.i-in-extra.patch
 Patch0006:     0006-QPID-6170-Adds-build-support-for-aarch64-and-ppc64le.patch
+# BZ#1181721
+Patch0007:     0007-QPID-6310-ensure-session-is-attached-even-for-unsupp.patch
+Patch0008:     0008-QPID-6310-handle-case-where-content-bearing-method-i.patch
+Patch0009:     0009-QPID-6310-check-validity-of-ranges-when-decoding-seq.patch
 
 BuildRequires: gcc-c++
 BuildRequires: cmake
@@ -418,6 +422,9 @@ storage using a libaio-based asynchronous journal.
 %patch0003 -p3
 %patch0005 -p3
 %patch0006 -p3
+%patch0007 -p3
+%patch0008 -p3
+%patch0009 -p3
 
 pushd qpid-tools-%{version}
 %patch0004 -p3
@@ -503,6 +510,9 @@ rm -rf %{buildroot}/usr/local/%{_lib}/ruby/site_ruby
 
 
 %changelog
+* Fri Jan 16 2015 Darryl L. Pierce <dpierce at redhat.com> - 0.30-5
+- Resolves: BZ#1181721
+
 * Wed Oct 29 2014 Darryl L. Pierce <dpierce at redhat.com> - 0.30-4
 - QPID-6170: Fixes builds on aarch64 and ppc64le architectures.
 


More information about the scm-commits mailing list