Hello community,

here is the log from the commit of package biboumi for openSUSE:Factory checked 
in at 2020-08-29 20:37:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/biboumi (Old)
 and      /work/SRC/openSUSE:Factory/.biboumi.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "biboumi"

Sat Aug 29 20:37:35 2020 rev:3 rq:829827 version:8.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/biboumi/biboumi.changes  2018-06-20 
15:33:16.393904552 +0200
+++ /work/SRC/openSUSE:Factory/.biboumi.new.3399/biboumi.changes        
2020-08-29 20:37:52.193352242 +0200
@@ -1,0 +2,7 @@
+Wed Aug 26 19:30:32 UTC 2020 - Dirk Mueller <[email protected]>
+
+- update to 8.5:
+  * Fix a build failure with GCC 10
+  * Fix a possible crash that could be caused by a very well timed identd query
+
+-------------------------------------------------------------------

Old:
----
  biboumi-8.3.tar.xz

New:
----
  biboumi-8.5.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ biboumi.spec ++++++
--- /var/tmp/diff_new_pack.MStnCH/_old  2020-08-29 20:37:54.061353029 +0200
+++ /var/tmp/diff_new_pack.MStnCH/_new  2020-08-29 20:37:54.065353030 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package biboumi
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 # Copyright (c) 2018 Tomáš Čech <[email protected]>
 #
 # All modifications and additions to the file contributed by third parties
@@ -13,18 +13,18 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 Name:           biboumi
-Version:        8.3
+Version:        8.5
 Release:        0
 Summary:        XMPP to IRC gateway
 License:        Zlib
 Group:          Productivity/Networking/IRC
 URL:            https://biboumi.louiz.org/
-Source0:        %{name}-%{version}.tar.xz
+Source0:        
https://git.louiz.org/biboumi/snapshot/biboumi-%{version}.tar.xz
 BuildRequires:  cmake
 BuildRequires:  gcc-c++
 BuildRequires:  git
@@ -67,7 +67,7 @@
 
 %build
 %cmake
-make %{?_smp_mflags}
+%make_build
 
 %install
 %cmake_install

++++++ biboumi-8.3.tar.xz -> biboumi-8.5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/biboumi-8.3/CHANGELOG.rst 
new/biboumi-8.5/CHANGELOG.rst
--- old/biboumi-8.3/CHANGELOG.rst       2018-06-01 12:43:34.000000000 +0200
+++ new/biboumi-8.5/CHANGELOG.rst       2020-05-09 14:44:00.000000000 +0200
@@ -1,3 +1,14 @@
+Version 8.5 - 2020-05-09
+========================
+
+- Fix a build failure with GCC 10
+
+Version 8.4 - 2020-02-25
+========================
+
+- Fix a possible crash that could be caused by a very well timed identd
+  query
+
 Version 8.3 - 2018-06-01
 ========================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/biboumi-8.3/CMakeLists.txt 
new/biboumi-8.5/CMakeLists.txt
--- old/biboumi-8.3/CMakeLists.txt      2018-06-01 12:43:34.000000000 +0200
+++ new/biboumi-8.5/CMakeLists.txt      2020-05-09 14:44:00.000000000 +0200
@@ -3,7 +3,7 @@
 project(biboumi)
 
 set(${PROJECT_NAME}_VERSION_MAJOR 8)
-set(${PROJECT_NAME}_VERSION_MINOR 3)
+set(${PROJECT_NAME}_VERSION_MINOR 5)
 set(${PROJECT_NAME}_VERSION_SUFFIX "")
 
 if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/biboumi-8.3/packaging/biboumi.spec.cmake 
new/biboumi-8.5/packaging/biboumi.spec.cmake
--- old/biboumi-8.3/packaging/biboumi.spec.cmake        2018-06-01 
12:43:34.000000000 +0200
+++ new/biboumi-8.5/packaging/biboumi.spec.cmake        2020-05-09 
14:44:00.000000000 +0200
@@ -63,6 +63,12 @@
 
 
 %changelog
+* Sat May 9 2020 Le Coz Florent <[email protected]> - 8.5-1
+  Update to version 8.5
+
+* Tue Feb 25 2020 Le Coz Florent <[email protected]> - 8.4-1
+  Update to version 8.4
+
 * Wed Jun 1 2018 Le Coz Florent <[email protected]> - 8.3-1
   Update to version 8.3
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/biboumi-8.3/src/identd/identd_server.hpp 
new/biboumi-8.5/src/identd/identd_server.hpp
--- old/biboumi-8.3/src/identd/identd_server.hpp        2018-06-01 
12:43:34.000000000 +0200
+++ new/biboumi-8.5/src/identd/identd_server.hpp        2020-05-09 
14:44:00.000000000 +0200
@@ -24,6 +24,7 @@
     if (this->poller->is_managing_socket(this->socket))
       this->poller->remove_socket_handler(this->socket);
     ::close(this->socket);
+    this->sockets.clear();
   }
   void clean()
   {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/biboumi-8.3/src/identd/identd_socket.cpp 
new/biboumi-8.5/src/identd/identd_socket.cpp
--- old/biboumi-8.3/src/identd/identd_socket.cpp        2018-06-01 
12:43:34.000000000 +0200
+++ new/biboumi-8.5/src/identd/identd_socket.cpp        2020-05-09 
14:44:00.000000000 +0200
@@ -25,10 +25,12 @@
       std::istringstream line(this->in_buf.substr(0, line_end));
       this->consume_in_buffer(line_end + 1);
 
-      uint16_t local_port;
-      uint16_t remote_port;
+      uint16_t local_port{};
+      uint16_t remote_port{};
       char sep;
       line >> local_port >> sep >> remote_port;
+      if (line.fail()) // Data did not match the expected format, ignore the 
line entirely
+        continue;
       const auto& xmpp = this->server.get_biboumi_component();
       auto response = this->generate_answer(xmpp, local_port, remote_port);
 
@@ -47,7 +49,7 @@
     {
       for (const auto& pair: bridge->get_irc_clients())
         {
-          if (pair.second->match_port_pairt(local, remote))
+          if (pair.second->match_port_pair(local, remote))
             {
               std::ostringstream os;
               os << local << " , " << remote << " : USERID : OTHER : " << 
hash_jid(bridge->get_bare_jid()) << "\r\n";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/biboumi-8.3/src/network/dns_handler.cpp 
new/biboumi-8.5/src/network/dns_handler.cpp
--- old/biboumi-8.3/src/network/dns_handler.cpp 2018-06-01 12:43:34.000000000 
+0200
+++ new/biboumi-8.5/src/network/dns_handler.cpp 2020-05-09 14:44:00.000000000 
+0200
@@ -9,6 +9,7 @@
 
 #include <udns.h>
 #include <cerrno>
+#include <stdexcept>
 #include <cstring>
 
 class Resolver;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/biboumi-8.3/src/network/resolver.cpp 
new/biboumi-8.5/src/network/resolver.cpp
--- old/biboumi-8.3/src/network/resolver.cpp    2018-06-01 12:43:34.000000000 
+0200
+++ new/biboumi-8.5/src/network/resolver.cpp    2020-05-09 14:44:00.000000000 
+0200
@@ -21,6 +21,7 @@
     {DNS_E_TEMPFAIL, "Timeout while contacting DNS servers"},
     {DNS_E_PROTOCOL, "Misformatted DNS reply"},
     {DNS_E_NXDOMAIN, "Domain name not found"},
+    {DNS_E_NODATA, "Domain name not found"},
     {DNS_E_NOMEM, "Out of memory"},
     {DNS_E_BADQUERY, "Misformatted domain name"}
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/biboumi-8.3/src/network/tcp_client_socket_handler.cpp 
new/biboumi-8.5/src/network/tcp_client_socket_handler.cpp
--- old/biboumi-8.3/src/network/tcp_client_socket_handler.cpp   2018-06-01 
12:43:34.000000000 +0200
+++ new/biboumi-8.5/src/network/tcp_client_socket_handler.cpp   2020-05-09 
14:44:00.000000000 +0200
@@ -261,8 +261,10 @@
   return this->port;
 }
 
-bool TCPClientSocketHandler::match_port_pairt(const uint16_t local, const 
uint16_t remote) const
+bool TCPClientSocketHandler::match_port_pair(const uint16_t local, const 
uint16_t remote) const
 {
+  if (!this->is_connected())
+    return false;
   const auto remote_port = static_cast<uint16_t>(std::stoi(this->port));
-  return this->is_connected() && local == this->local_port && remote == 
remote_port;
+  return local == this->local_port && remote == remote_port;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/biboumi-8.3/src/network/tcp_client_socket_handler.hpp 
new/biboumi-8.5/src/network/tcp_client_socket_handler.hpp
--- old/biboumi-8.3/src/network/tcp_client_socket_handler.hpp   2018-06-01 
12:43:34.000000000 +0200
+++ new/biboumi-8.5/src/network/tcp_client_socket_handler.hpp   2020-05-09 
14:44:00.000000000 +0200
@@ -34,7 +34,7 @@
   /**
    * Whether or not this connection is using the two given TCP ports.
    */
-  bool match_port_pairt(const uint16_t local, const uint16_t remote) const;
+  bool match_port_pair(const uint16_t local, const uint16_t remote) const;
 
  protected:
   bool hostname_resolution_failed;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/biboumi-8.3/src/utils/empty_if_fixed_server.hpp 
new/biboumi-8.5/src/utils/empty_if_fixed_server.hpp
--- old/biboumi-8.3/src/utils/empty_if_fixed_server.hpp 2018-06-01 
12:43:34.000000000 +0200
+++ new/biboumi-8.5/src/utils/empty_if_fixed_server.hpp 2020-05-09 
14:44:00.000000000 +0200
@@ -7,17 +7,11 @@
 
 namespace utils
 {
-  inline std::string empty_if_fixed_server(std::string&& str)
+  inline const std::string& empty_if_fixed_server(const std::string& str)
   {
+    static const std::string empty{};
     if (!Config::get("fixed_irc_server", "").empty())
-      return {};
-    return str;
-  }
-
-  inline std::string empty_if_fixed_server(const std::string& str)
-  {
-    if (!Config::get("fixed_irc_server", "").empty())
-      return {};
+      return empty;
     return str;
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/biboumi-8.3/src/utils/get_first_non_empty.hpp 
new/biboumi-8.5/src/utils/get_first_non_empty.hpp
--- old/biboumi-8.3/src/utils/get_first_non_empty.hpp   2018-06-01 
12:43:34.000000000 +0200
+++ new/biboumi-8.5/src/utils/get_first_non_empty.hpp   2020-05-09 
14:44:00.000000000 +0200
@@ -6,13 +6,13 @@
 bool is_empty(const int& val);
 
 template <typename T>
-T get_first_non_empty(T&& last)
+T& get_first_non_empty(T&& last)
 {
   return last;
 }
 
 template <typename T, typename... Args>
-T get_first_non_empty(T&& first, Args&&... args)
+T& get_first_non_empty(T&& first, Args&&... args)
 {
   if (!is_empty(first))
     return first;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/biboumi-8.3/tests/end_to_end/__main__.py 
new/biboumi-8.5/tests/end_to_end/__main__.py
--- old/biboumi-8.3/tests/end_to_end/__main__.py        2018-06-01 
12:43:34.000000000 +0200
+++ new/biboumi-8.5/tests/end_to_end/__main__.py        2020-05-09 
14:44:00.000000000 +0200
@@ -108,10 +108,10 @@
             if self.biboumi:
                 self.biboumi.stop()
 
-    @asyncio.coroutine
-    def accept_routine(self):
-        self.accepting_server = yield from self.loop.create_server(lambda: 
self,
-                                                                   
"127.0.0.1", 8811, reuse_address=True)
+
+    async def accept_routine(self):
+        self.accepting_server = await self.loop.create_server(lambda: self,
+                                                              "127.0.0.1", 
8811, reuse_address=True)
 
     def check_stanza_against_all_expected_xpaths(self):
         pass
@@ -220,13 +220,11 @@
         self.signal_sent = False
         self.create = None
 
-    @asyncio.coroutine
-    def start(self):
-        self.process = yield from self.create
-
-    @asyncio.coroutine
-    def wait(self):
-        code = yield from self.process.wait()
+    async def start(self):
+        self.process = await self.create
+
+    async def wait(self):
+        code = await self.process.wait()
         return code
 
     def stop(self):


Reply via email to