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-04-18 22:10:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libzypp (Old)
 and      /work/SRC/openSUSE:Factory/.libzypp.new.26366 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libzypp"

Thu Apr 18 22:10:55 2024 rev:490 rq:1168627 version:17.32.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/libzypp/libzypp.changes  2024-04-16 
20:04:44.902444242 +0200
+++ /work/SRC/openSUSE:Factory/.libzypp.new.26366/libzypp.changes       
2024-04-18 22:11:36.855294286 +0200
@@ -1,0 +2,11 @@
+Wed Apr 17 17:07:52 CEST 2024 - m...@suse.de
+
+- Fix creation of sibling cache dirs with too restrictive mode
+  (bsc#1222398)
+  Some install workflows in YAST may lead to too restrictive (0700)
+  raw cache directories in case of newly created repos. Later
+  commands running with user privileges may not be able to access
+  these repos.
+- version 17.32.4 (32)
+
+-------------------------------------------------------------------

Old:
----
  libzypp-17.32.3.tar.bz2

New:
----
  libzypp-17.32.4.tar.bz2

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

Other differences:
------------------
++++++ libzypp.spec ++++++
--- /var/tmp/diff_new_pack.CUGffE/_old  2024-04-18 22:11:37.467316777 +0200
+++ /var/tmp/diff_new_pack.CUGffE/_new  2024-04-18 22:11:37.471316925 +0200
@@ -42,7 +42,7 @@
 %bcond_with enable_preview_single_rpmtrans_as_default_for_zypper
 
 Name:           libzypp
-Version:        17.32.3
+Version:        17.32.4
 Release:        0
 License:        GPL-2.0-or-later
 URL:            https://github.com/openSUSE/libzypp

++++++ libzypp-17.32.3.tar.bz2 -> libzypp-17.32.4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.32.3/VERSION.cmake 
new/libzypp-17.32.4/VERSION.cmake
--- old/libzypp-17.32.3/VERSION.cmake   2024-04-11 16:40:07.000000000 +0200
+++ new/libzypp-17.32.4/VERSION.cmake   2024-04-17 17:10:07.000000000 +0200
@@ -61,8 +61,8 @@
 SET(LIBZYPP_MAJOR "17")
 SET(LIBZYPP_COMPATMINOR "32")
 SET(LIBZYPP_MINOR "32")
-SET(LIBZYPP_PATCH "3")
+SET(LIBZYPP_PATCH "4")
 #
-# LAST RELEASED: 17.32.3 (32)
+# LAST RELEASED: 17.32.4 (32)
 # (The number in parenthesis is LIBZYPP_COMPATMINOR)
 #=======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.32.3/package/libzypp.changes 
new/libzypp-17.32.4/package/libzypp.changes
--- old/libzypp-17.32.3/package/libzypp.changes 2024-04-11 16:40:07.000000000 
+0200
+++ new/libzypp-17.32.4/package/libzypp.changes 2024-04-17 17:10:07.000000000 
+0200
@@ -1,4 +1,15 @@
 -------------------------------------------------------------------
+Wed Apr 17 17:07:52 CEST 2024 - m...@suse.de
+
+- Fix creation of sibling cache dirs with too restrictive mode
+  (bsc#1222398)
+  Some install workflows in YAST may lead to too restrictive (0700)
+  raw cache directories in case of newly created repos. Later
+  commands running with user privileges may not be able to access
+  these repos.
+- version 17.32.4 (32)
+
+-------------------------------------------------------------------
 Thu Apr 11 16:10:46 CEST 2024 - m...@suse.de
 
 - Update RepoStatus fromCookieFile according to the files mtime
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.32.3/zypp/ng/repo/refresh.cc 
new/libzypp-17.32.4/zypp/ng/repo/refresh.cc
--- old/libzypp-17.32.3/zypp/ng/repo/refresh.cc 2024-04-15 18:06:46.000000000 
+0200
+++ new/libzypp-17.32.4/zypp/ng/repo/refresh.cc 2024-04-17 17:10:07.000000000 
+0200
@@ -35,7 +35,7 @@
     using zypp::PathInfo;
     L_DBG("1222398") << "rawCachePath " << PathInfo( rawCachePath ) << 
std::endl;
 #endif
-    zypp::filesystem::TmpDir tmpdir( zypp::filesystem::TmpDir::makeSibling( 
rawCachePath ) );
+    zypp::filesystem::TmpDir tmpdir( zypp::filesystem::TmpDir::makeSibling( 
rawCachePath, 0755 ) );
 #if LEGACY(173205)
     L_DBG("1222398") << "siblinghPath " << PathInfo( tmpdir.path() ) << 
std::endl;
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.32.3/zypp-core/fs/PathInfo.cc 
new/libzypp-17.32.4/zypp-core/fs/PathInfo.cc
--- old/libzypp-17.32.3/zypp-core/fs/PathInfo.cc        2024-03-14 
10:50:10.000000000 +0100
+++ new/libzypp-17.32.4/zypp-core/fs/PathInfo.cc        2024-04-17 
17:10:07.000000000 +0200
@@ -1099,6 +1099,9 @@
       return logResult( 0 );
     }
 
+    int chmodApplyUmask( const Pathname & path, mode_t mode )
+    { return chmod( path, applyUmaskTo( mode ) ); }
+
     int addmod( const Pathname & path, mode_t mode )
     {
       mode_t omode( PathInfo( path ).st_mode() );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.32.3/zypp-core/fs/PathInfo.h 
new/libzypp-17.32.4/zypp-core/fs/PathInfo.h
--- old/libzypp-17.32.3/zypp-core/fs/PathInfo.h 2024-03-14 10:50:10.000000000 
+0100
+++ new/libzypp-17.32.4/zypp-core/fs/PathInfo.h 2024-04-17 17:10:07.000000000 
+0200
@@ -730,6 +730,14 @@
     int chmod( const Pathname & path, mode_t mode );
 
     /**
+     * Similar to '::chmod', but \c mode is modified by the process's
+     * umask in the usual way.
+     *
+     * @return 0 on success, errno on failure
+     **/
+    int chmodApplyUmask( const Pathname & path, mode_t mode );
+
+    /**
      * Add the \c mode bits to the file given by path.
      *
      * @return 0 on success, errno on failure
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.32.3/zypp-core/fs/TmpPath.cc 
new/libzypp-17.32.4/zypp-core/fs/TmpPath.cc
--- old/libzypp-17.32.3/zypp-core/fs/TmpPath.cc 2024-04-03 14:40:08.000000000 
+0200
+++ new/libzypp-17.32.4/zypp-core/fs/TmpPath.cc 2024-04-17 17:10:07.000000000 
+0200
@@ -194,7 +194,7 @@
 
       // create the temp file
       Pathname tmpPath = (inParentDir_r + prefix_r).extend( "XXXXXX");
-      char * buf = ::strdup( tmpPath.asString().c_str() );
+      AutoFREE<char> buf { ::strdup( tmpPath.asString().c_str() ) };
       if ( ! buf )
         {
           ERR << "Out of memory" << endl;
@@ -206,12 +206,10 @@
         {
           // success; create _impl
           ::close( tmpFd );
-          _impl = RW_pointer<Impl>( new Impl( buf ) );
+          _impl = RW_pointer<Impl>( new Impl( Pathname(buf) ) );
         }
       else
         ERR << "Cant create '" << buf << "' " << ::strerror( errno ) << endl;
-
-      ::free( buf );
     }
 
     ///////////////////////////////////////////////////////////////////
@@ -220,6 +218,9 @@
     // METHOD TYPE : TmpFile
     //
     TmpFile TmpFile::makeSibling( const Pathname & sibling_r )
+    { return makeSibling( sibling_r, -1U ); }
+
+    TmpFile TmpFile::makeSibling( const Pathname & sibling_r, unsigned mode )
     {
       TmpFile ret( sibling_r.dirname(), sibling_r.basename() );
       if ( ret ) {
@@ -227,6 +228,8 @@
         PathInfo p( sibling_r );
         if ( p.isFile() ) {
           ::chmod( ret.path().c_str(), p.st_mode() );
+        } else if ( mode != -1U ) {
+          ::chmod( ret.path().c_str(), applyUmaskTo( mode ) );
         }
       }
       return ret;
@@ -275,7 +278,7 @@
 
       // create the temp dir
       Pathname tmpPath = (inParentDir_r + prefix_r).extend( "XXXXXX");
-      char * buf = ::strdup( tmpPath.asString().c_str() );
+      AutoFREE<char> buf { ::strdup( tmpPath.asString().c_str() ) };
       if ( ! buf )
         {
           ERR << "Out of memory" << endl;
@@ -288,8 +291,6 @@
         _impl = RW_pointer<Impl>( new Impl( tmp ) );
       else
         ERR << "Cant create '" << tmpPath << "' " << ::strerror( errno ) << 
endl;
-
-      ::free( buf );
     }
 
     ///////////////////////////////////////////////////////////////////
@@ -298,6 +299,9 @@
     // METHOD TYPE : TmpDir
     //
     TmpDir TmpDir::makeSibling( const Pathname & sibling_r )
+    { return makeSibling( sibling_r, -1U ); }
+
+    TmpDir TmpDir::makeSibling( const Pathname & sibling_r, unsigned mode )
     {
       TmpDir ret( sibling_r.dirname(), sibling_r.basename() );
       if ( ret ) {
@@ -305,6 +309,8 @@
         PathInfo p( sibling_r );
         if ( p.isDir() ) {
           ::chmod( ret.path().c_str(), p.st_mode() );
+        } else if ( mode != -1U ) {
+          ::chmod( ret.path().c_str(), applyUmaskTo( mode ) );
         }
       }
       return ret;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libzypp-17.32.3/zypp-core/fs/TmpPath.h 
new/libzypp-17.32.4/zypp-core/fs/TmpPath.h
--- old/libzypp-17.32.3/zypp-core/fs/TmpPath.h  2024-03-14 10:50:10.000000000 
+0100
+++ new/libzypp-17.32.4/zypp-core/fs/TmpPath.h  2024-04-17 17:10:07.000000000 
+0200
@@ -142,6 +142,10 @@
          * If \c sibling_r exists, sibling is created using the same mode.
          */
         static TmpFile makeSibling( const Pathname & sibling_r );
+        /** \overload If \c sibling_r does not exist, the sibling is created 
using \c mode,
+         * modified by the process's umask in the usual way, rather than the 
default 0700.
+         */
+        static TmpFile makeSibling( const Pathname & sibling_r, unsigned mode 
);
 
         /**
          * Create a temporary file and convert it to a automatically
@@ -192,6 +196,10 @@
          * If \c sibling_r exists, sibling is created using the same mode.
          */
         static TmpDir makeSibling( const Pathname & sibling_r );
+        /** \overload If \c sibling_r does not exist, the sibling is created 
using \c mode,
+         * modified by the process's umask in the usual way, rather than the 
default 0700.
+         */
+        static TmpDir makeSibling( const Pathname & sibling_r, unsigned mode );
 
       public:
         /**

Reply via email to