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}.
