Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libzypp for openSUSE:Factory checked 
in at 2024-10-11 17:01:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libzypp (Old)
 and      /work/SRC/openSUSE:Factory/.libzypp.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libzypp"

Fri Oct 11 17:01:22 2024 rev:500 rq:1206585 version:17.35.12

Changes:
--------
--- /work/SRC/openSUSE:Factory/libzypp/libzypp.changes  2024-09-13 
14:31:19.276314064 +0200
+++ /work/SRC/openSUSE:Factory/.libzypp.new.19354/libzypp.changes       
2024-10-11 17:01:30.316639381 +0200
@@ -1,0 +2,20 @@
+Wed Oct  9 18:21:43 CEST 2024 - [email protected]
+
+- PluginFrame: Send unescaped colons in header values
+  (bsc#1231043)
+  According to the STOMP protocol it would be correct to escape a
+  colon in a header-value, but it breaks plugin receivers which do
+  not expect this. The first colon separates header-name from
+  header-value, so escaping in the header-value is not needed
+  anyway.
+  Escaping in the header-value affects especially the urlresolver
+  plugins. The input URL is passed in a header, but sent back as
+  raw data in the frames body. If the plugin receiver does not
+  correctly unescape the URL we may get back a "https\c//" which is
+  not usable.
+- Do not ignore return value of std::remove_if in MediaSyncFacade
+  (fixes #579)
+- Fix hang in curl code with no network connection (bsc#1230912)
+- version 17.35.12 (35)
+
+-------------------------------------------------------------------

Old:
----
  libzypp-17.35.11.tar.bz2

New:
----
  libzypp-17.35.12.tar.bz2

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

Other differences:
------------------
++++++ libzypp.spec ++++++
--- /var/tmp/diff_new_pack.oxkKQS/_old  2024-10-11 17:01:30.900663673 +0200
+++ /var/tmp/diff_new_pack.oxkKQS/_new  2024-10-11 17:01:30.904663840 +0200
@@ -57,7 +57,7 @@
 %bcond_with enable_preview_single_rpmtrans_as_default_for_zypper
 
 Name:           libzypp
-Version:        17.35.11
+Version:        17.35.12
 Release:        0
 License:        GPL-2.0-or-later
 URL:            https://github.com/openSUSE/libzypp

++++++ libzypp-17.35.11.tar.bz2 -> libzypp-17.35.12.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/CMakeLists.txt 
new/libzypp-17.35.12/CMakeLists.txt
--- old/libzypp-17.35.11/CMakeLists.txt 2024-09-12 09:40:09.000000000 +0200
+++ new/libzypp-17.35.12/CMakeLists.txt 2024-10-08 14:30:08.000000000 +0200
@@ -10,6 +10,11 @@
 INCLUDE(ZyppCommon)
 INCLUDE(CMakePushCheckState)
 
+# use Boost's config file
+if(POLICY CMP0167)
+  cmake_policy(SET CMP0167 NEW)
+endif()
+
 # allow name libraries by name mixed with full
 # paths
 if(COMMAND cmake_policy)
@@ -151,7 +156,6 @@
 
 GENERATE_PACKAGING(${PACKAGE} ${VERSION})
 
-INCLUDE(CPack)
 ####################################################################
 FIND_PACKAGE(Boost REQUIRED COMPONENTS program_options unit_test_framework 
thread)
 IF (Boost_FOUND)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/VERSION.cmake 
new/libzypp-17.35.12/VERSION.cmake
--- old/libzypp-17.35.11/VERSION.cmake  2024-09-12 13:47:43.000000000 +0200
+++ new/libzypp-17.35.12/VERSION.cmake  2024-10-09 18:26:33.000000000 +0200
@@ -61,8 +61,8 @@
 SET(LIBZYPP_MAJOR "17")
 SET(LIBZYPP_COMPATMINOR "35")
 SET(LIBZYPP_MINOR "35")
-SET(LIBZYPP_PATCH "11")
+SET(LIBZYPP_PATCH "12")
 #
-# LAST RELEASED: 17.35.11 (35)
+# LAST RELEASED: 17.35.12 (35)
 # (The number in parenthesis is LIBZYPP_COMPATMINOR)
 #=======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/cmake/modules/Findlibproxy.cmake 
new/libzypp-17.35.12/cmake/modules/Findlibproxy.cmake
--- old/libzypp-17.35.11/cmake/modules/Findlibproxy.cmake       2023-10-12 
10:40:08.000000000 +0200
+++ new/libzypp-17.35.12/cmake/modules/Findlibproxy.cmake       2024-10-08 
14:30:08.000000000 +0200
@@ -2,6 +2,8 @@
 # alternatives like the PacRunner replacement which *just* queries PacRunner
 # directly will only provide a .pc file. So use pkg-config to find it...
 
-INCLUDE ( FindPkgConfig )
+if(NOT PKG_CONFIG_FOUND)
+  include(FindPkgConfig)
+endif()
 
 PKG_CHECK_MODULES( LIBPROXY libproxy-1.0 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/cmake/modules/ZyppCommon.cmake 
new/libzypp-17.35.12/cmake/modules/ZyppCommon.cmake
--- old/libzypp-17.35.11/cmake/modules/ZyppCommon.cmake 2024-07-08 
14:00:08.000000000 +0200
+++ new/libzypp-17.35.12/cmake/modules/ZyppCommon.cmake 2024-10-08 
14:30:08.000000000 +0200
@@ -110,13 +110,7 @@
   "Makefile\\\\.in$"
   )
 
-  #SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Novell's package management core 
engine.")
-  SET(CPACK_PACKAGE_VENDOR "Novell Inc.")
-  #SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
-  #SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
-  #SET(CPACK_PACKAGE_VERSION_MAJOR ${version_major})
-  #SET(CPACK_PACKAGE_VERSION_MINOR ${version_minor})
-  #SET(CPACK_PACKAGE_VERSION_PATCH ${version_patch})
+  SET(CPACK_PACKAGE_VENDOR "SUSE LLC")
   SET( CPACK_GENERATOR "TBZ2")
   SET( CPACK_SOURCE_GENERATOR "TBZ2")
   SET( CPACK_SOURCE_PACKAGE_FILE_NAME "${PACKAGE}-${VERSION}" )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/package/libzypp.changes 
new/libzypp-17.35.12/package/libzypp.changes
--- old/libzypp-17.35.11/package/libzypp.changes        2024-09-12 
13:47:43.000000000 +0200
+++ new/libzypp-17.35.12/package/libzypp.changes        2024-10-09 
18:26:33.000000000 +0200
@@ -1,4 +1,24 @@
 -------------------------------------------------------------------
+Wed Oct  9 18:21:43 CEST 2024 - [email protected]
+
+- PluginFrame: Send unescaped colons in header values
+  (bsc#1231043)
+  According to the STOMP protocol it would be correct to escape a
+  colon in a header-value, but it breaks plugin receivers which do
+  not expect this. The first colon separates header-name from
+  header-value, so escaping in the header-value is not needed
+  anyway.
+  Escaping in the header-value affects especially the urlresolver
+  plugins. The input URL is passed in a header, but sent back as
+  raw data in the frames body. If the plugin receiver does not
+  correctly unescape the URL we may get back a "https\c//" which is
+  not usable.
+- Do not ignore return value of std::remove_if in MediaSyncFacade
+  (fixes #579)
+- Fix hang in curl code with no network connection (bsc#1230912)
+- version 17.35.12 (35)
+
+-------------------------------------------------------------------
 Thu Sep 12 13:44:05 CEST 2024 - [email protected]
 
 - Deprecate librpmDb::db_const_iterator default ctor (bsc#1230267)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/tools/zypp-rpm/BinHeader.cc 
new/libzypp-17.35.12/tools/zypp-rpm/BinHeader.cc
--- old/libzypp-17.35.11/tools/zypp-rpm/BinHeader.cc    2023-07-19 
11:53:07.000000000 +0200
+++ new/libzypp-17.35.12/tools/zypp-rpm/BinHeader.cc    2024-10-08 
15:40:11.000000000 +0200
@@ -90,21 +90,21 @@
     {
 #if RPM_CHAR_TYPE != RPM_INT8_TYPE
       case RPM_CHAR_TYPE:
-        std::vector<long>( (char*)val_r, ((char*)val_r)+cnt_r ).swap( _data );
+        std::vector<long>( static_cast<char*>(val_r), 
static_cast<char*>(val_r)+cnt_r ).swap( _data );
         break;
 #endif
       case RPM_INT8_TYPE:
-        std::vector<long>( (int8_t*)val_r, ((int8_t*)val_r)+cnt_r ).swap( 
_data );
+        std::vector<long>( static_cast<int8_t*>(val_r), 
static_cast<int8_t*>(val_r)+cnt_r ).swap( _data );
         break;
       case RPM_INT16_TYPE:
-        std::vector<long>( (int16_t*)val_r, ((int16_t*)val_r)+cnt_r ).swap( 
_data );
+        std::vector<long>( static_cast<int16_t*>(val_r), 
static_cast<int16_t*>(val_r)+cnt_r ).swap( _data );
         break;
       case RPM_INT32_TYPE:
-        std::vector<long>( (int32_t*)val_r, ((int32_t*)val_r)+cnt_r ).swap( 
_data );
+        std::vector<long>( static_cast<int32_t*>(val_r), 
static_cast<int32_t*>(val_r)+cnt_r ).swap( _data );
         break;
 #ifndef _RPM_5
       case RPM_INT64_TYPE:
-        std::vector<long>( (int64_t*)val_r, ((int64_t*)val_r)+cnt_r ).swap( 
_data );
+        std::vector<long>( static_cast<int64_t*>(val_r), 
static_cast<int64_t*>(val_r)+cnt_r ).swap( _data );
         break;
 #endif
       default:
@@ -312,17 +312,17 @@
           return 0;
 #if RPM_CHAR_TYPE != RPM_INT8_TYPE
         case RPM_CHAR_TYPE:
-          return *((char*)headerget.val());
+          return *(static_cast<char*>(headerget.val()));
 #endif
         case RPM_INT8_TYPE:
-          return *((int8_t*)headerget.val());
+          return *(static_cast<int8_t*>(headerget.val()));
         case RPM_INT16_TYPE:
-          return *((int16_t*)headerget.val());
+          return *(static_cast<int16_t*>(headerget.val()));
         case RPM_INT32_TYPE:
-          return *((int32_t*)headerget.val());
+          return *(static_cast<int32_t*>(headerget.val()));
 #ifndef _RPM_5
         case RPM_INT64_TYPE:
-          return *((int64_t*)headerget.val());
+          return *(static_cast<int64_t*>(headerget.val()));
 #endif
 
         default:
@@ -428,5 +428,5 @@
 std::ostream & BinHeader::dumpOn( std::ostream & str ) const
 {
   ReferenceCounted::dumpOn( str );
-  return str << '{' << (void*)_h << '}';
+  return str << '{' << static_cast<void*>(_h) << '}';
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp/CpeId.cc 
new/libzypp-17.35.12/zypp/CpeId.cc
--- old/libzypp-17.35.11/zypp/CpeId.cc  2024-03-14 10:50:10.000000000 +0100
+++ new/libzypp-17.35.12/zypp/CpeId.cc  2024-10-08 15:40:11.000000000 +0200
@@ -111,11 +111,10 @@
     {
       str::Str ret;
       ret << "cpe:/";
-      std::string val;
       unsigned colon = 0;      // to remember trailing colons
       for ( auto ai : WFN_ATTRIBUTES )
       {
-        val = _wfn[ai].asUri();
+        std::string val = _wfn[ai].asUri();
 
         if ( ai == Attribute::edition )
         {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp/Pattern.cc 
new/libzypp-17.35.12/zypp/Pattern.cc
--- old/libzypp-17.35.11/zypp/Pattern.cc        2024-03-14 10:50:10.000000000 
+0100
+++ new/libzypp-17.35.12/zypp/Pattern.cc        2024-09-13 10:40:08.000000000 
+0200
@@ -305,7 +305,7 @@
       CapabilitySet caps;
       addCaps( caps, depKeeper_r, dep_r );
       sat::WhatProvides prv( caps );
-      for ( ui::Selectable::Ptr sel : prv.selectable() )
+      for ( const ui::Selectable::Ptr& sel : prv.selectable() )
       {
         const PoolItem & pi( sel->theObj() );
         if ( pi.isKind<Package>() )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp/VendorAttr.cc 
new/libzypp-17.35.12/zypp/VendorAttr.cc
--- old/libzypp-17.35.11/zypp/VendorAttr.cc     2024-06-28 17:40:08.000000000 
+0200
+++ new/libzypp-17.35.12/zypp/VendorAttr.cc     2024-09-13 10:40:08.000000000 
+0200
@@ -82,7 +82,7 @@
         lists[el.second].push_back( el.first );
 
       unsigned ret = 0;
-      for ( auto el : lists ) {
+      for ( auto& el : lists ) {
         VendorList & vlist { el.second };
         if ( vlist.empty() )
           continue;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp/ZConfig.cc 
new/libzypp-17.35.12/zypp/ZConfig.cc
--- old/libzypp-17.35.11/zypp/ZConfig.cc        2024-03-14 10:50:10.000000000 
+0100
+++ new/libzypp-17.35.12/zypp/ZConfig.cc        2024-10-08 15:20:08.000000000 
+0200
@@ -664,15 +664,18 @@
                 }
                 else if ( entry == "update.datadir" )
                 {
-                  update_data_path = Pathname(value);
+                  // ignore, this is a constant anyway and should not be user 
configurabe
+                  // update_data_path = Pathname(value);
                 }
                 else if ( entry == "update.scriptsdir" )
                 {
-                  update_scripts_path = Pathname(value);
+                  // ignore, this is a constant anyway and should not be user 
configurabe
+                  // update_scripts_path = Pathname(value);
                 }
                 else if ( entry == "update.messagessdir" )
                 {
-                  update_messages_path = Pathname(value);
+                  // ignore, this is a constant anyway and should not be user 
configurabe
+                  // update_messages_path = Pathname(value);
                 }
                 else if ( entry == "update.messages.notify" )
                 {
@@ -773,9 +776,6 @@
     std::string cfg_kernel_keep_spec;
     Pathname locks_file;
 
-    Pathname update_data_path;
-    Pathname update_scripts_path;
-    Pathname update_messages_path;
     DefaultOption<std::string> updateMessagesNotify;
 
     bool       repo_add_probe;
@@ -1265,22 +1265,28 @@
   bool ZConfig::apply_locks_file() const
   { return _pimpl->apply_locks_file; }
 
-  Pathname ZConfig::update_dataPath() const
+  Pathname ZConfig::update_dataPath()
+#if LEGACY(1735)
+  const
+#endif
   {
-    return ( _pimpl->update_data_path.empty()
-        ? Pathname("/var/adm") : _pimpl->update_data_path );
+    return Pathname("/var/adm");
   }
 
-  Pathname ZConfig::update_messagesPath() const
+  Pathname ZConfig::update_messagesPath()
+#if LEGACY(1735)
+  const
+#endif
   {
-    return ( _pimpl->update_messages_path.empty()
-             ? Pathname(update_dataPath()/"update-messages") : 
_pimpl->update_messages_path );
+    return Pathname(update_dataPath()/"update-messages");
   }
 
-  Pathname ZConfig::update_scriptsPath() const
+  Pathname ZConfig::update_scriptsPath()
+#if LEGACY(1735)
+  const
+#endif
   {
-    return ( _pimpl->update_scripts_path.empty()
-             ? Pathname(update_dataPath()/"update-scripts") : 
_pimpl->update_scripts_path );
+    return Pathname(update_dataPath()/"update-scripts");
   }
 
   std::string ZConfig::updateMessagesNotify() const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp/ZConfig.h 
new/libzypp-17.35.12/zypp/ZConfig.h
--- old/libzypp-17.35.11/zypp/ZConfig.h 2024-06-28 17:40:08.000000000 +0200
+++ new/libzypp-17.35.12/zypp/ZConfig.h 2024-10-08 15:20:08.000000000 +0200
@@ -493,22 +493,37 @@
        */
       bool apply_locks_file() const;
 
+#if LEGACY(1735)
       /**
        * Path where the update items are kept (/var/adm)
        */
       Pathname update_dataPath() const;
 
-     /**
-      * Path where the repo metadata is downloaded and kept 
(update_dataPath()/).
-      * \ingroup g_ZC_REPOCACHE
-      */
+      /**
+       * Path where the update scripts are stored ( /var/adm/update-scripts )
+       */
       Pathname update_scriptsPath() const;
 
-     /**
-      * Path where the repo solv files are created and kept 
(update_dataPath()/solv).
-      * \ingroup g_ZC_REPOCACHE
-      */
+      /**
+       * Path where the update messages are stored ( /var/adm/update-messages )
+       */
       Pathname update_messagesPath() const;
+#else
+      /**
+       * Path where the update items are kept (/var/adm)
+       */
+      static Pathname update_dataPath();
+
+      /**
+       * Path where the update scripts are stored ( /var/adm/update-scripts )
+       */
+      static Pathname update_scriptsPath();
+
+      /**
+       * Path where the update messages are stored ( /var/adm/update-messages )
+       */
+      static Pathname update_messagesPath();
+#endif
 
       /** \name Command to be invoked to send update messages. */
       //@{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp/base/ValueTransform.h 
new/libzypp-17.35.12/zypp/base/ValueTransform.h
--- old/libzypp-17.35.11/zypp/base/ValueTransform.h     2024-03-14 
10:50:10.000000000 +0100
+++ new/libzypp-17.35.12/zypp/base/ValueTransform.h     2024-10-09 
20:40:08.000000000 +0200
@@ -36,7 +36,11 @@
     {
       using RawType = Tp;
       using Transformator = TUnaryFunction;
-      using TransformedType = std::result_of_t<Transformator (RawType)>;
+#if __cplusplus < 201703L
+      using TransformedType = std::result_of_t<Transformator (RawType)>; // 
yast in 15.[23] uses c++11
+#else
+      using TransformedType = std::invoke_result_t<Transformator, RawType>;
+#endif
 
     public:
       ValueTransform()
@@ -94,8 +98,11 @@
       using Transformator = TUnaryFunction;
       using size_type = typename Container::size_type;
       using RawType = typename Container::value_type;
-      using TransformedType = std::result_of_t<Transformator (RawType)>;
-
+#if __cplusplus < 201703L
+      using TransformedType = std::result_of_t<Transformator (RawType)>; // 
yast in 15.[23] uses c++11
+#else
+      using TransformedType = std::invoke_result_t<Transformator, RawType>;
+#endif
     public:
       ContainerTransform()
       {}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp/media/MediaCurl.cc 
new/libzypp-17.35.12/zypp/media/MediaCurl.cc
--- old/libzypp-17.35.11/zypp/media/MediaCurl.cc        2024-04-25 
13:00:08.000000000 +0200
+++ new/libzypp-17.35.12/zypp/media/MediaCurl.cc        2024-10-08 
08:30:08.000000000 +0200
@@ -1447,6 +1447,15 @@
   bool canContinue = true;
   while ( canContinue ) {
 
+    CURLMsg *msg = nullptr;
+    int nqueue = 0;
+    while ((msg = curl_multi_info_read( cMulti->_multi, &nqueue)) != 0) {
+        if ( msg->msg != CURLMSG_DONE  ) continue;
+        if ( msg->easy_handle != _curl ) continue;
+
+        return msg->data.result;
+    }
+
     // copy watched sockets in case curl changes the vector as we go over the 
events later
     std::vector<GPollFD> requestedFds = _curlHelper.socks;
 
@@ -1464,15 +1473,6 @@
       if (mcode != CURLM_OK)
         ZYPP_THROW(MediaCurlException(_url, "curl_multi_socket_action", 
"unknown error"));
     }
-
-    CURLMsg *msg = nullptr;
-    int nqueue = 0;
-    while ((msg = curl_multi_info_read( cMulti->_multi, &nqueue)) != 0) {
-        if ( msg->msg != CURLMSG_DONE  ) continue;
-        if ( msg->easy_handle != _curl ) continue;
-
-        return msg->data.result;
-    }
   }
   return CURLE_OK;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp/media/MediaMultiCurl.cc 
new/libzypp-17.35.12/zypp/media/MediaMultiCurl.cc
--- old/libzypp-17.35.11/zypp/media/MediaMultiCurl.cc   2024-06-07 
10:50:10.000000000 +0200
+++ new/libzypp-17.35.12/zypp/media/MediaMultiCurl.cc   2024-10-08 
08:30:08.000000000 +0200
@@ -1082,6 +1082,8 @@
 
       // if we added a new job we have to call multi_perform once
       // to make it show up in the fd set. do not sleep in this case.
+      // setting timeout to 0 and not -1 will make sure the poll() case 
further down is actually entered, do not change
+      // without adapting the logic around poll
       int timeoutMs = _havenewjob ? 0 : 200;
       if ( _sleepworkers && !_havenewjob ) {
         if (_minsleepuntil == 0) {
@@ -1108,31 +1110,37 @@
       dnsFdCount = waitFds.size(); // remember how many dns fd's we have
       waitFds.insert( waitFds.end(), _curlHelper.socks.begin(), 
_curlHelper.socks.end() ); // add the curl fd's to the poll data
 
-      int r = zypp_detail::zypp_poll( waitFds, timeoutMs );
-      if ( r == -1 )
-        ZYPP_THROW(MediaCurlException(_baseurl, "zypp_poll() failed", "unknown 
error"));
-      if ( r != 0 && _lookupworkers ) {
-        for (auto workeriter = _workers.begin(); workeriter != _workers.end(); 
++workeriter)
-          {
-            multifetchworker *worker = workeriter->get();
-            if (worker->_state != WORKER_LOOKUP)
-              continue;
-            (*workeriter)->dnsevent( waitFds );
-            if (worker->_state != WORKER_LOOKUP)
-              _lookupworkers--;
-          }
-      }
-      _havenewjob = false;
+      // run poll only if we either have a valid timeout or sockets to wait 
for... otherwise we end up waiting forever (bsc#1230912)
+      if ( !waitFds.empty() || timeoutMs != -1) {
+        int r = zypp_detail::zypp_poll( waitFds, timeoutMs );
+        if ( r == -1 )
+          ZYPP_THROW(MediaCurlException(_baseurl, "zypp_poll() failed", 
"unknown error"));
+        if ( r != 0 && _lookupworkers ) {
+          for (auto workeriter = _workers.begin(); workeriter != 
_workers.end(); ++workeriter)
+            {
+              multifetchworker *worker = workeriter->get();
+              if (worker->_state != WORKER_LOOKUP)
+                continue;
+              (*workeriter)->dnsevent( waitFds );
+              if (worker->_state != WORKER_LOOKUP)
+                _lookupworkers--;
+            }
+        }
+
+        // run curl
+        if ( r == 0 ) {
+          CURLMcode mcode = _curlHelper.handleTimout();
+          if (mcode != CURLM_OK)
+            ZYPP_THROW(MediaCurlException(_baseurl, 
"curl_multi_socket_action", "unknown error"));
+        } else {
+          CURLMcode mcode = _curlHelper.handleSocketActions( waitFds, 
dnsFdCount );
+          if (mcode != CURLM_OK)
+            ZYPP_THROW(MediaCurlException(_baseurl, 
"curl_multi_socket_action", "unknown error"));
+        }
 
-      // run curl
-      if ( r == 0 ) {
-        CURLMcode mcode = _curlHelper.handleTimout();
-        if (mcode != CURLM_OK)
-          ZYPP_THROW(MediaCurlException(_baseurl, "curl_multi_socket_action", 
"unknown error"));
-      } else {
-        CURLMcode mcode = _curlHelper.handleSocketActions( waitFds, dnsFdCount 
);
-        if (mcode != CURLM_OK)
-          ZYPP_THROW(MediaCurlException(_baseurl, "curl_multi_socket_action", 
"unknown error"));
+        // reset havenewjobs, we just called into curl_multi_socket_action ... 
no need to call another time just because
+        // we maybe added jobs during checking the dns worker events
+        _havenewjob = false;
       }
 
       double now = currentTime();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp/ng/workflows/mediafacade.cc 
new/libzypp-17.35.12/zypp/ng/workflows/mediafacade.cc
--- old/libzypp-17.35.11/zypp/ng/workflows/mediafacade.cc       2024-06-04 
11:50:11.000000000 +0200
+++ new/libzypp-17.35.12/zypp/ng/workflows/mediafacade.cc       2024-10-08 
08:30:08.000000000 +0200
@@ -248,13 +248,13 @@
           if ( isVolatile ) {
             // filter devices that are mounted, aka used, we can not eject them
             const auto &mountedDevs = zypp::media::Mount::getEntries();
-            std::remove_if( devices.begin (), devices.end(), [&](const 
std::string &dev) {
+            devices.erase( std::remove_if( devices.begin (), devices.end(), 
[&](const std::string &dev) {
               zypp::PathInfo devInfo(dev);
               return std::any_of( mountedDevs.begin (), mountedDevs.end(), 
[&devInfo]( const zypp::media::MountEntry &e ) {
                 zypp::PathInfo pi( e.src );
                 return ( pi.isBlk() && pi.devMajor() == devInfo.devMajor() && 
pi.devMinor() == devInfo.devMinor() );
               });
-            });
+            }), devices.end() );
 
             if ( !devices.size () ) {
               // Jammed, no currently free device
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp/ng/workflows/mediafacade.h 
new/libzypp-17.35.12/zypp/ng/workflows/mediafacade.h
--- old/libzypp-17.35.11/zypp/ng/workflows/mediafacade.h        2024-06-04 
11:50:11.000000000 +0200
+++ new/libzypp-17.35.12/zypp/ng/workflows/mediafacade.h        2024-09-13 
10:40:08.000000000 +0200
@@ -47,7 +47,7 @@
    */
   class ZYPP_API MediaSyncFacade : public Base
   {
-    ZYPP_ADD_CREATE_FUNC(MediaSyncFacade);
+    ZYPP_ADD_CREATE_FUNC(MediaSyncFacade)
   public:
 
     friend class AttachedSyncMediaInfo;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp/parser/xml/Reader.cc 
new/libzypp-17.35.12/zypp/parser/xml/Reader.cc
--- old/libzypp-17.35.11/zypp/parser/xml/Reader.cc      2024-01-09 
14:30:10.000000000 +0100
+++ new/libzypp-17.35.12/zypp/parser/xml/Reader.cc      2024-10-08 
15:40:11.000000000 +0200
@@ -41,7 +41,7 @@
             return reinterpret_cast<InputStream *>(context_r)
                    ->stream().read( buffer_r, bufferLen_r ).gcount();
           }
-        INT << "XML parser error: null pointer check failed " << context_r << 
' ' << (void *)buffer_r << endl;
+        INT << "XML parser error: null pointer check failed " << context_r << 
' ' << static_cast<void *>(buffer_r) << endl;
         return -1;
       }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-core/Url.cc 
new/libzypp-17.35.12/zypp-core/Url.cc
--- old/libzypp-17.35.11/zypp-core/Url.cc       2024-03-14 10:50:10.000000000 
+0100
+++ new/libzypp-17.35.12/zypp-core/Url.cc       2024-10-08 15:40:11.000000000 
+0200
@@ -390,7 +390,7 @@
     {
       std::string scheme = out[1];
       if (scheme.size() > 1)
-        scheme = scheme.substr(0, scheme.size()-1);
+        scheme.pop_back();
       std::string authority = out[2];
       if (authority.size() >= 2)
         authority = authority.substr(2);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-core/base/IOTools.cc 
new/libzypp-17.35.12/zypp-core/base/IOTools.cc
--- old/libzypp-17.35.11/zypp-core/base/IOTools.cc      2024-06-07 
10:50:10.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/base/IOTools.cc      2024-10-08 
15:40:11.000000000 +0200
@@ -54,7 +54,7 @@
 
   bool writeAll(int fd, void *buf, size_t size)
   {
-    char *tmpBuf = ( char *) buf;
+    char *tmpBuf = static_cast<char*>(buf);
 
     size_t written = 0;
     while ( written < size ) {
@@ -68,7 +68,7 @@
 
   ReadAllResult readAll (int fd, void *buf, size_t size )
   {
-    char *tmpBuf = (char *)buf;
+    char *tmpBuf = static_cast<char*>(buf);
     size_t read = 0;
     while ( read != size ) {
       const auto r = zyppng::eintrSafeCall( ::read, fd, tmpBuf+read, size - 
read );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-core/base/LogTools.h 
new/libzypp-17.35.12/zypp-core/base/LogTools.h
--- old/libzypp-17.35.11/zypp-core/base/LogTools.h      2024-04-30 
13:50:07.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/base/LogTools.h      2024-10-08 
15:40:11.000000000 +0200
@@ -495,7 +495,7 @@
   }
   /** \overload */
   inline std::ostream & hexdumpOn( std::ostream & outs, const char *ptr, 
size_t size )
-  { return hexdumpOn( outs, (const unsigned char *)ptr, size ); }
+  { return hexdumpOn( outs, reinterpret_cast<const unsigned char*>(ptr), size 
); }
 
   /*!
    * Write type info to stream
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-core/base/PtrTypes.h 
new/libzypp-17.35.12/zypp-core/base/PtrTypes.h
--- old/libzypp-17.35.11/zypp-core/base/PtrTypes.h      2024-04-30 
15:40:10.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/base/PtrTypes.h      2024-10-08 
15:40:11.000000000 +0200
@@ -141,7 +141,7 @@
   inline std::ostream & operator<<( std::ostream & str, const 
zypp::shared_ptr<void> & obj )
   {
     if ( obj )
-      return str << zypp::str::form( "%p", (void*)obj.get() );
+      return str << zypp::str::form( "%p", static_cast<void*>(obj.get()) );
     return str << std::string("NULL");
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-core/base/String.h 
new/libzypp-17.35.12/zypp-core/base/String.h
--- old/libzypp-17.35.11/zypp-core/base/String.h        2024-04-30 
15:40:10.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/base/String.h        2024-10-08 
15:40:11.000000000 +0200
@@ -851,11 +851,11 @@
           else
             maxWitdh_r -= indent_r.size();
         }
-        unsigned width = 0;
+
         for ( const char * e = text_r.c_str(), * s = e; *e; s = ++e )
         {
           for ( ; *e && *e != '\n'; ++e ) ;/*searching*/
-          width = e-s;
+          unsigned width = e-s;
           if ( maxWitdh_r && width > maxWitdh_r )
           {
             // must break line
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-core/rpc/PluginFrame.cc 
new/libzypp-17.35.12/zypp-core/rpc/PluginFrame.cc
--- old/libzypp-17.35.11/zypp-core/rpc/PluginFrame.cc   2024-06-07 
10:50:10.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/rpc/PluginFrame.cc   2024-10-09 
18:10:07.000000000 +0200
@@ -74,7 +74,7 @@
       void setBody( ByteArray && body_r )
       { _body = std::move(body_r); }
 
-      static std::string escapeHeader( std::string_view val ) {
+      static std::string escapeHeader( std::string_view val, bool 
escapeColon=true ) {
 
         std::string escaped;
         /*
@@ -84,6 +84,11 @@
           \c (octet 92 and 99) translates to : (octet 58)
           \\ (octet 92 and 92) translates to \ (octet 92)
           Undefined escape sequences such as \t (octet 92 and 116) MUST be 
treated as a fatal protocol error.
+
+          bsc#1231043: We do allow a literal ":" in the header value(!) in 
order to stay
+          compatible with with plugin implementations (like zypp-plugin) which 
are not
+          prepared to unescape a ":" there. And in fact it should not be 
necessary because
+          the 1st colon separates header and value.
         */
         for ( auto c = val.begin (); c!= val.end(); c++ ) {
           switch( *c ) {
@@ -103,9 +108,12 @@
               break;
             }
             case ':': {
-              escaped.push_back('\\');
-              escaped.push_back('c');
-              break;
+              if ( escapeColon ) {
+                escaped.push_back('\\');
+                escaped.push_back('c');
+                break;
+              } else
+                [[fallthrough]];
             }
             default:
               escaped.push_back (*c);
@@ -345,8 +353,12 @@
     stream_r << contentLengthHeader() << ':' << str::numstring( _body.size() ) 
<< "\n";
 
     // header
+    // bsc#1231043: We do allow a literal ":" in the header value(!) in order 
to stay
+    // compatible with with plugin implementations (like zypp-plugin) which 
are not
+    // prepared to unescape a ":" there. And in fact it should not be 
necessary because
+    // the 1st colon separates header and value.
     for_( it, _header.begin(), _header.end() )
-      stream_r << escapeHeader(it->first) << ':' << escapeHeader(it->second) 
<< "\n";
+      stream_r << escapeHeader(it->first) << ':' << 
escapeHeader(it->second,/*escapeColon=*/false) << "\n";
 
     // header end
     stream_r << "\n";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-core/url/UrlBase.cc 
new/libzypp-17.35.12/zypp-core/url/UrlBase.cc
--- old/libzypp-17.35.11/zypp-core/url/UrlBase.cc       2024-03-14 
10:50:10.000000000 +0100
+++ new/libzypp-17.35.12/zypp-core/url/UrlBase.cc       2024-10-08 
15:40:11.000000000 +0200
@@ -918,8 +918,6 @@
       std::string s = authority;
       std::string::size_type p = 0,q = 0;
 
-      std::string username, password, host, port;
-
       if ((p=s.find('@')) != std::string::npos)
       {
         q = s.find(':');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-core/url/UrlUtils.cc 
new/libzypp-17.35.12/zypp-core/url/UrlUtils.cc
--- old/libzypp-17.35.11/zypp-core/url/UrlUtils.cc      2024-03-14 
10:50:10.000000000 +0100
+++ new/libzypp-17.35.12/zypp-core/url/UrlUtils.cc      2024-10-08 
15:40:11.000000000 +0200
@@ -36,7 +36,7 @@
                        "abcdefghijklmnopqrstuvwxyz"
                        "0123456789.~_-");
       static const std::string more(URL_SAFE_CHARS);   // ":/?#[]@!$&'()*+,;="
-      size_t      beg = 0, pos = 0, len = 0;
+      size_t      beg = 0, len = 0;
       std::string out;
 
       for(size_t i=0; i<safe.size(); i++)
@@ -49,7 +49,7 @@
       beg = 0;
       while( beg < len)
       {
-        pos = str.find_first_not_of(skip, beg);
+        size_t pos = str.find_first_not_of(skip, beg);
         if(pos != std::string::npos)
         {
           if( pos > beg)
@@ -131,16 +131,15 @@
     std::string
     encode_octet(const unsigned char c)
     {
-      static const unsigned char tab[] = "0123456789ABCDEF";
-      unsigned char      out[4];
+      static const char tab[] = "0123456789ABCDEF";
+      char out[4];
 
       out[0] = '%';
       out[1] = tab[0x0f & (c >> 4)];
       out[2] = tab[0x0f & c];
       out[3] = '\0';
 
-      //snprintf(out, sizeof(out), "%%%02X", c);
-      return std::string((char *)out);
+      return std::string(out);
     }
 
 
@@ -166,7 +165,7 @@
           const std::string &pstr,
                 const std::string &psep)
     {
-      size_t beg = 0, pos = 0, len = 0;
+      size_t beg = 0, len = 0;
       if( psep.empty())
       {
         ZYPP_THROW(UrlNotSupportedException(
@@ -179,7 +178,7 @@
 
       while( beg < len)
       {
-        pos = pstr.find(psep, beg);
+        size_t pos = pstr.find(psep, beg);
         if(pos != std::string::npos)
         {
           pvec.push_back( pstr.substr(beg, pos - beg));
@@ -205,7 +204,6 @@
       ParamVec                 pvec;
       ParamVec::const_iterator pitr;
       std::string              k, v;
-      size_t                   pos = 0;
 
       if( psep.empty() || vsep.empty())
       {
@@ -218,7 +216,7 @@
 
       for( pitr = pvec.begin(); pitr != pvec.end(); ++pitr)
       {
-        pos = pitr->find(vsep);
+        size_t pos = pitr->find(vsep);
         if(pos != std::string::npos)
         {
           if( eflag == E_DECODED)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-core/zyppng/base/base.h 
new/libzypp-17.35.12/zypp-core/zyppng/base/base.h
--- old/libzypp-17.35.11/zypp-core/zyppng/base/base.h   2024-03-14 
10:50:10.000000000 +0100
+++ new/libzypp-17.35.12/zypp-core/zyppng/base/base.h   2024-09-13 
10:40:08.000000000 +0200
@@ -101,7 +101,7 @@
     template<typename T>
     std::vector< std::weak_ptr<T> > findChildren () const {
       std::vector< std::weak_ptr<T> > result;
-      for ( Ptr p : children() ) {
+      for ( const Ptr& p : children() ) {
         std::shared_ptr<T> casted = std::dynamic_pointer_cast<T>(p);
         if ( casted )
           result.push_back( std::weak_ptr<T>(casted) );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libzypp-17.35.11/zypp-core/zyppng/base/eventdispatcher_glib.cc 
new/libzypp-17.35.12/zypp-core/zyppng/base/eventdispatcher_glib.cc
--- old/libzypp-17.35.11/zypp-core/zyppng/base/eventdispatcher_glib.cc  
2024-06-07 10:50:10.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/zyppng/base/eventdispatcher_glib.cc  
2024-10-08 15:40:11.000000000 +0200
@@ -534,7 +534,7 @@
   GlibWaitPIDData data ( pid );
   data.callback = std::move(callback);
 
-  g_source_set_callback ( data.source, (GSourceFunc) 
&EventDispatcherPrivate::waitPidCallback , d_ptr.get(), nullptr );
+  g_source_set_callback ( data.source, 
reinterpret_cast<GSourceFunc>(&EventDispatcherPrivate::waitPidCallback), 
d_ptr.get(), nullptr );
   data.tag = g_source_attach ( data.source, d->_ctx );
   d->_waitPIDs.insert( std::make_pair( pid, std::move(data) ) );
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libzypp-17.35.11/zypp-core/zyppng/base/unixsignalsource.h 
new/libzypp-17.35.12/zypp-core/zyppng/base/unixsignalsource.h
--- old/libzypp-17.35.11/zypp-core/zyppng/base/unixsignalsource.h       
2023-07-19 11:53:07.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/zyppng/base/unixsignalsource.h       
2024-09-13 10:40:08.000000000 +0200
@@ -11,7 +11,7 @@
 
   class UnixSignalSource : public AbstractEventSource
   {
-    ZYPP_DECLARE_PRIVATE (UnixSignalSource);
+    ZYPP_DECLARE_PRIVATE(UnixSignalSource)
   public:
     ~UnixSignalSource() override;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libzypp-17.35.11/zypp-core/zyppng/io/asyncdatasource.h 
new/libzypp-17.35.12/zypp-core/zyppng/io/asyncdatasource.h
--- old/libzypp-17.35.11/zypp-core/zyppng/io/asyncdatasource.h  2024-06-07 
10:50:10.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/zyppng/io/asyncdatasource.h  2024-09-13 
10:40:08.000000000 +0200
@@ -10,7 +10,7 @@
 
   class AsyncDataSource : public IODevice
   {
-    ZYPP_DECLARE_PRIVATE(AsyncDataSource);
+    ZYPP_DECLARE_PRIVATE(AsyncDataSource)
   public:
 
     enum ChannelCloseReason {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libzypp-17.35.11/zypp-core/zyppng/io/forkspawnengine.cc 
new/libzypp-17.35.12/zypp-core/zyppng/io/forkspawnengine.cc
--- old/libzypp-17.35.11/zypp-core/zyppng/io/forkspawnengine.cc 2023-07-19 
11:53:07.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/zyppng/io/forkspawnengine.cc 2024-10-08 
15:40:11.000000000 +0200
@@ -549,7 +549,7 @@
   g_autoptr(GError) error = NULL;
   g_spawn_async_with_fds(
         chdirTo,
-        (gchar **)argv,
+        const_cast<gchar**>(argv),
         envPtrs.data(),
         spawnFlags,
         needCallback ? &GlibSpawnEngine::glibSpawnCallback : nullptr,
@@ -579,12 +579,12 @@
   d->that->resetSignals();
   bool doChroot = !d->that->_chroot.empty();
 
-  std::string execError;
-
   if ( d->that->_switchPgid )
     setpgid( 0, 0);
 
   if ( doChroot ) {
+    std::string execError;
+
     if ( ::chroot( d->that->_chroot.c_str() ) == -1 ) {
       execError = zypp::str::form( "Can't chroot to '%s' (%s).", 
d->that->_chroot.c_str(), strerror(errno).c_str() );
       std::cerr << execError << std::endl;// After fork log on stderr too
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-core/zyppng/io/iodevice.h 
new/libzypp-17.35.12/zypp-core/zyppng/io/iodevice.h
--- old/libzypp-17.35.11/zypp-core/zyppng/io/iodevice.h 2024-06-07 
10:50:10.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/zyppng/io/iodevice.h 2024-09-13 
10:40:08.000000000 +0200
@@ -31,7 +31,7 @@
    */
   class IODevice : public Base
   {
-    ZYPP_DECLARE_PRIVATE(IODevice);
+    ZYPP_DECLARE_PRIVATE(IODevice)
   public:
 
     enum OpenModeFlag {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libzypp-17.35.11/zypp-core/zyppng/io/private/abstractspawnengine_p.h 
new/libzypp-17.35.12/zypp-core/zyppng/io/private/abstractspawnengine_p.h
--- old/libzypp-17.35.11/zypp-core/zyppng/io/private/abstractspawnengine_p.h    
2023-07-19 11:53:07.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/zyppng/io/private/abstractspawnengine_p.h    
2024-09-13 10:40:08.000000000 +0200
@@ -1,6 +1,7 @@
 #ifndef ZYPPNG_IO_PRIVATE_ABSTRACTPROCESSBACKEND_H
 #define ZYPPNG_IO_PRIVATE_ABSTRACTPROCESSBACKEND_H
 
+#include <cstdint>
 #include <string>
 #include <vector>
 #include <map>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libzypp-17.35.11/zypp-core/zyppng/io/private/asyncdatasource_p.h 
new/libzypp-17.35.12/zypp-core/zyppng/io/private/asyncdatasource_p.h
--- old/libzypp-17.35.11/zypp-core/zyppng/io/private/asyncdatasource_p.h        
2023-07-19 11:53:07.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/zyppng/io/private/asyncdatasource_p.h        
2024-09-13 10:40:08.000000000 +0200
@@ -9,7 +9,7 @@
 namespace zyppng {
 
   class AsyncDataSourcePrivate : public IODevicePrivate {
-    ZYPP_DECLARE_PUBLIC(AsyncDataSource);
+    ZYPP_DECLARE_PUBLIC(AsyncDataSource)
   public:
     AsyncDataSourcePrivate ( AsyncDataSource &pub ) : IODevicePrivate(pub) {}
     struct ReadChannelDev {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libzypp-17.35.11/zypp-core/zyppng/io/private/socket_p.h 
new/libzypp-17.35.12/zypp-core/zyppng/io/private/socket_p.h
--- old/libzypp-17.35.11/zypp-core/zyppng/io/private/socket_p.h 2023-07-19 
11:53:07.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/zyppng/io/private/socket_p.h 2024-09-13 
10:40:08.000000000 +0200
@@ -27,7 +27,7 @@
 
   class SocketPrivate : public IODevicePrivate
   {
-    ZYPP_DECLARE_PUBLIC(Socket);
+    ZYPP_DECLARE_PUBLIC(Socket)
   public:
 
     SocketPrivate( int domain, int type, int protocol, Socket &p ) : 
IODevicePrivate(p),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-core/zyppng/io/process.h 
new/libzypp-17.35.12/zypp-core/zyppng/io/process.h
--- old/libzypp-17.35.11/zypp-core/zyppng/io/process.h  2024-06-04 
11:50:11.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/zyppng/io/process.h  2024-09-13 
10:40:08.000000000 +0200
@@ -30,7 +30,7 @@
 
   class Process : public AsyncDataSource
   {
-    ZYPP_DECLARE_PRIVATE(Process);
+    ZYPP_DECLARE_PRIVATE(Process)
   public:
     /**
      * For passing additional environment variables to set
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-core/zyppng/io/socket.h 
new/libzypp-17.35.12/zypp-core/zyppng/io/socket.h
--- old/libzypp-17.35.11/zypp-core/zyppng/io/socket.h   2024-06-07 
10:50:10.000000000 +0200
+++ new/libzypp-17.35.12/zypp-core/zyppng/io/socket.h   2024-09-13 
10:40:08.000000000 +0200
@@ -34,7 +34,7 @@
    */
   class Socket : public IODevice
   {
-    ZYPP_DECLARE_PRIVATE(Socket);
+    ZYPP_DECLARE_PRIVATE(Socket)
   public:
 
     enum SocketError {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-curl/curlhelper.cc 
new/libzypp-17.35.12/zypp-curl/curlhelper.cc
--- old/libzypp-17.35.11/zypp-curl/curlhelper.cc        2024-06-28 
17:40:08.000000000 +0200
+++ new/libzypp-17.35.12/zypp-curl/curlhelper.cc        2024-10-08 
15:40:11.000000000 +0200
@@ -82,7 +82,7 @@
   if ( max_lvl == nullptr )
     return 0;
 
-  long maxlvl = *((long *)max_lvl);
+  long maxlvl = *(static_cast<long*>(max_lvl));
   const char * pfx = "";
   bool isContent = true;  // otherwise it's data
   switch( info )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libzypp-17.35.11/zypp-curl/ng/network/networkrequestdispatcher.cc 
new/libzypp-17.35.12/zypp-curl/ng/network/networkrequestdispatcher.cc
--- old/libzypp-17.35.11/zypp-curl/ng/network/networkrequestdispatcher.cc       
2024-06-28 17:40:08.000000000 +0200
+++ new/libzypp-17.35.12/zypp-curl/ng/network/networkrequestdispatcher.cc       
2024-10-08 08:30:08.000000000 +0200
@@ -329,6 +329,9 @@
     setFinished( req, NetworkRequestErrorPrivate::fromCurlMError( rc ) );
     return false;
   }
+
+  // make sure to wake up once to register what we have now
+  _timer->start(0);
   return true;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libzypp-17.35.11/zypp-curl/ng/network/networkrequesterror.cc 
new/libzypp-17.35.12/zypp-curl/ng/network/networkrequesterror.cc
--- old/libzypp-17.35.11/zypp-curl/ng/network/networkrequesterror.cc    
2023-07-19 11:53:07.000000000 +0200
+++ new/libzypp-17.35.12/zypp-curl/ng/network/networkrequesterror.cc    
2024-10-08 15:40:11.000000000 +0200
@@ -89,16 +89,13 @@
           switch ( httpReturnCode )
           {
             case 401: {
-              std::string auth_hint;
-              {
-                long auth_info = CURLAUTH_NONE;
+              long auth_info = CURLAUTH_NONE;
 
-                CURLcode infoRet =
-                  curl_easy_getinfo(req.nativeHandle(), 
CURLINFO_HTTPAUTH_AVAIL, &auth_info);
+              CURLcode infoRet =
+                curl_easy_getinfo(req.nativeHandle(), CURLINFO_HTTPAUTH_AVAIL, 
&auth_info);
 
-                if(infoRet == CURLE_OK) {
-                  extraInfo.insert( { "authHint", 
zypp::media::CurlAuthData::auth_type_long2str(auth_info) } );
-                }
+              if (infoRet == CURLE_OK) {
+                extraInfo.insert( { "authHint", 
zypp::media::CurlAuthData::auth_type_long2str(auth_info) } );
               }
 
               //if there is already a user:password entry in the settings the 
auth simply failed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libzypp-17.35.11/zypp-curl/ng/network/private/downloaderstates/initial_p.h 
new/libzypp-17.35.12/zypp-curl/ng/network/private/downloaderstates/initial_p.h
--- 
old/libzypp-17.35.11/zypp-curl/ng/network/private/downloaderstates/initial_p.h  
    2023-07-19 11:53:07.000000000 +0200
+++ 
new/libzypp-17.35.12/zypp-curl/ng/network/private/downloaderstates/initial_p.h  
    2024-09-13 10:40:08.000000000 +0200
@@ -30,7 +30,7 @@
 
     InitialState ( DownloadPrivate &parent ) : SimpleState( parent ){}
 
-    void enter ();;
+    void enter ();
     void exit ();
 
     void initiate();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-curl/parser/mediablocklist.cc 
new/libzypp-17.35.12/zypp-curl/parser/mediablocklist.cc
--- old/libzypp-17.35.11/zypp-curl/parser/mediablocklist.cc     2024-03-14 
10:50:10.000000000 +0100
+++ new/libzypp-17.35.12/zypp-curl/parser/mediablocklist.cc     2024-10-08 
15:40:11.000000000 +0200
@@ -335,7 +335,7 @@
 {
   if (blkno >= blocks.size() || bufl < blocks[blkno].size)
     return false;
-  unsigned int rs = updateRsum(0, (const char *)buf, blocks[blkno].size);
+  unsigned int rs = updateRsum(0, reinterpret_cast<const char*>(buf), 
blocks[blkno].size);
   return verifyRsum(blkno, rs);
 }
 
@@ -347,7 +347,7 @@
   Digest dig;
   if (!createDigest(dig))
     return false;
-  dig.update((const char *)buf, blocks[blkno].size);
+  dig.update(reinterpret_cast<const char*>(buf), blocks[blkno].size);
   return verifyDigest(blkno, dig);
 }
 
@@ -384,9 +384,9 @@
     return false;
   size_t size = blocks[blkno].size;
   size_t len = bufl - start > size ? size : bufl - start;
-  dig.update((const char *)buf + start, len);
+  dig.update(reinterpret_cast<const char*>(buf) + start, len);
   if (size > len)
-    dig.update((const char *)buf, size - len);
+    dig.update(reinterpret_cast<const char*>(buf), size - len);
   return verifyDigest(blkno, dig);
 }
 
@@ -415,7 +415,6 @@
 fetchnext(FILE *fp, unsigned char *bp, size_t blksize, size_t pushback, 
unsigned char *pushbackp)
 {
   size_t l = blksize;
-  int c = 0;
 
   if (pushback)
     {
@@ -426,7 +425,7 @@
     }
   while (l)
     {
-      c = getc(fp);
+      int c = getc(fp);
       if (c == EOF)
         break;
       *bp++ = c;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libzypp-17.35.11/zypp-curl/proxyinfo/proxyinfolibproxy.cc 
new/libzypp-17.35.12/zypp-curl/proxyinfo/proxyinfolibproxy.cc
--- old/libzypp-17.35.11/zypp-curl/proxyinfo/proxyinfolibproxy.cc       
2024-05-03 12:38:50.000000000 +0200
+++ new/libzypp-17.35.12/zypp-curl/proxyinfo/proxyinfolibproxy.cc       
2024-10-08 15:40:11.000000000 +0200
@@ -186,7 +186,7 @@
       auto &api = assertProxyApi ();
 
       zypp::AutoDispose<char **> proxies(
-            api.getProxies(_factory, (char *)url_r.asString(vopt).c_str())
+            api.getProxies(_factory, url_r.asString(vopt).c_str())
             , api.freeProxies
       );
       if ( !proxies.value() )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-media/ng/private/provide_p.h 
new/libzypp-17.35.12/zypp-media/ng/private/provide_p.h
--- old/libzypp-17.35.11/zypp-media/ng/private/provide_p.h      2024-06-07 
10:50:10.000000000 +0200
+++ new/libzypp-17.35.12/zypp-media/ng/private/provide_p.h      2024-09-13 
10:40:08.000000000 +0200
@@ -40,7 +40,7 @@
   class ProvideQueue;
   class ProvidePrivate : public BasePrivate
   {
-    ZYPP_DECLARE_PUBLIC(Provide);
+    ZYPP_DECLARE_PUBLIC(Provide)
   public:
     ProvidePrivate( zypp::Pathname &&workDir, Provide &pub );
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libzypp-17.35.11/zypp-media/ng/private/providequeue_p.h 
new/libzypp-17.35.12/zypp-media/ng/private/providequeue_p.h
--- old/libzypp-17.35.11/zypp-media/ng/private/providequeue_p.h 2024-06-07 
10:50:10.000000000 +0200
+++ new/libzypp-17.35.12/zypp-media/ng/private/providequeue_p.h 2024-09-13 
10:40:08.000000000 +0200
@@ -61,7 +61,7 @@
     void cancel  ( ProvideRequest *item, std::exception_ptr error );
     void detach  ( const std::string &id );
     void scheduleNext ();
-    bool canScheduleMore () const;;
+    bool canScheduleMore () const;
     bool empty () const;
 
     /*!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-media/ng/provide.h 
new/libzypp-17.35.12/zypp-media/ng/provide.h
--- old/libzypp-17.35.11/zypp-media/ng/provide.h        2024-06-04 
11:50:11.000000000 +0200
+++ new/libzypp-17.35.12/zypp-media/ng/provide.h        2024-09-13 
10:40:08.000000000 +0200
@@ -110,7 +110,7 @@
 
   class Provide : public Base
   {
-    ZYPP_DECLARE_PRIVATE(Provide);
+    ZYPP_DECLARE_PRIVATE(Provide)
     template<class T> friend class ProvidePromise;
     friend class ProvideItem;
     friend class ProvideMediaHandle;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-media/ng/provideitem.h 
new/libzypp-17.35.12/zypp-media/ng/provideitem.h
--- old/libzypp-17.35.11/zypp-media/ng/provideitem.h    2023-07-19 
11:53:07.000000000 +0200
+++ new/libzypp-17.35.12/zypp-media/ng/provideitem.h    2024-09-13 
10:40:08.000000000 +0200
@@ -27,7 +27,7 @@
    */
   class ProvideItem : public Base
   {
-    ZYPP_DECLARE_PRIVATE(ProvideItem);
+    ZYPP_DECLARE_PRIVATE(ProvideItem)
     friend class Provide;
     friend class ProvidePrivate;
     friend class ProvideQueue;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-media/ng/providemessage.cc 
new/libzypp-17.35.12/zypp-media/ng/providemessage.cc
--- old/libzypp-17.35.11/zypp-media/ng/providemessage.cc        2024-06-07 
10:50:10.000000000 +0200
+++ new/libzypp-17.35.12/zypp-media/ng/providemessage.cc        2024-09-13 
10:40:08.000000000 +0200
@@ -509,7 +509,7 @@
     msg.setValue ( AuthInfoMsgFields::Username, user  );
     msg.setValue ( AuthInfoMsgFields::Password, pw    );
     msg.setValue ( AuthInfoMsgFields::AuthTimestamp, timestamp );
-    for ( auto i : extraValues ) {
+    for ( const auto& i : extraValues ) {
       msg.setValue( i.first, i.second );
     }
     return msg;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp-tui/utils/colors.h 
new/libzypp-17.35.12/zypp-tui/utils/colors.h
--- old/libzypp-17.35.11/zypp-tui/utils/colors.h        2024-03-14 
10:50:10.000000000 +0100
+++ new/libzypp-17.35.12/zypp-tui/utils/colors.h        2024-10-08 
15:40:11.000000000 +0200
@@ -72,7 +72,7 @@
 
 template <ColorContext _ctxt>
 inline ansi::ColorStream & operator<<( ansi::ColorStream & cstr_r, const 
CCString<_ctxt> & cstring_r )
-{ return cstr_r << (const ColorString &)cstring_r; }
+{ return cstr_r << static_cast<const ColorString &>(cstring_r); }
 
 using DEFAULTString = CCString<ColorContext::DEFAULT>;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.35.11/zypp.conf 
new/libzypp-17.35.12/zypp.conf
--- old/libzypp-17.35.11/zypp.conf      2024-07-30 00:13:09.000000000 +0200
+++ new/libzypp-17.35.12/zypp.conf      2024-10-08 15:20:08.000000000 +0200
@@ -597,31 +597,6 @@
 # locksfile.apply = true
 
 ##
-## Where update items are stored
-## (example: scripts, messages)
-##
-## Valid values: path to directory
-## Default value: /var/adm
-##
-# update.datadir = /var/adm
-
-##
-## Where update messages are stored
-##
-## Valid values: path to directory
-## Default value: {update.datadir}/update-messages
-##
-# update.messagesdir = /var/adm/update-messages
-
-##
-## Where update scripts are stored
-##
-## Valid values: path to directory
-## Default value: {update.datadir}/update-scripts
-##
-# update.scriptsdir = /var/adm/update-scripts
-
-##
 ## Command to be invoked to send update messages.
 ##
 ## Packages may leave an update message file in {update.messagesdir}.

Reply via email to