Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package unrar for openSUSE:Factory:NonFree 
checked in at 2026-08-27 18:47:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory:NonFree/unrar (Old)
 and      /work/SRC/openSUSE:Factory:NonFree/.unrar.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "unrar"

Thu Aug 27 18:47:53 2026 rev:122 rq:1373896 version:7.2.7

Changes:
--------
--- /work/SRC/openSUSE:Factory:NonFree/unrar/unrar.changes      2026-06-02 
16:00:11.624663476 +0200
+++ /work/SRC/openSUSE:Factory:NonFree/.unrar.new.1265/unrar.changes    
2026-08-27 18:47:55.144365321 +0200
@@ -1,0 +2,22 @@
+Wed Aug 26 20:37:01 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to version 7.2.7:
+  * The library API version was raised from 9 to 10 and a new
+    ROADOF_SHARED flag was added to RAROpenArchiveDataEx: opening
+    an archive in shared mode is now opt-in, where previous
+    versions always opened shared. Applications relying on the old
+    unconditional behaviour have to set the flag explicitly
+  * Treat a link target path containing an empty component, that is
+    two consecutive path separators, as unsafe, so it can no longer
+    slip past the relative symlink check during extraction
+  * Reject a RAR5 recovery volume set whose data and recovery
+    volume counts disagree between volumes instead of trusting the
+    values of the volume read last
+  * Overwrite prompts now clear the attributes of a symbolic link
+    itself rather than those of its target before replacing it
+  * Let -iver override -idc when -idc comes from the configuration
+    file, and terminate the version output with a newline
+- Rename the shared library subpackage to libunrar7_2_7 following
+  the soname, and update the hardcoded name in baselibs.conf
+
+-------------------------------------------------------------------

Old:
----
  unrarsrc-7.2.6.tar.gz

New:
----
  unrarsrc-7.2.7.tar.gz

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

Other differences:
------------------
++++++ unrar.spec ++++++
--- /var/tmp/diff_new_pack.f7PSou/_old  2026-08-27 18:47:57.054432375 +0200
+++ /var/tmp/diff_new_pack.f7PSou/_new  2026-08-27 18:47:57.058432515 +0200
@@ -18,9 +18,9 @@
 
 # majorversion should match the major version number.
 %define majorversion 7
-%define libsuffix 7_2_6
+%define libsuffix 7_2_7
 Name:           unrar
-Version:        7.2.6
+Version:        7.2.7
 Release:        0
 Summary:        A program to extract, test, and view RAR archives
 License:        NonFree

++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.f7PSou/_old  2026-08-27 18:47:57.125434867 +0200
+++ /var/tmp/diff_new_pack.f7PSou/_new  2026-08-27 18:47:57.130435043 +0200
@@ -1,2 +1,2 @@
-libunrar7_2_6
+libunrar7_2_7
 

++++++ unrarsrc-7.2.6.tar.gz -> unrarsrc-7.2.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/cmdmix.cpp new/unrar/cmdmix.cpp
--- old/unrar/cmdmix.cpp        2026-04-27 10:23:51.000000000 +0200
+++ new/unrar/cmdmix.cpp        2026-06-27 13:35:30.000000000 +0200
@@ -1,6 +1,7 @@
 void CommandData::OutTitle()
 {
-  if (BareOutput || DisableCopyright)
+  // If -idc is present in configuration, -iver shall override it.
+  if (BareOutput || DisableCopyright && !PrintVersion)
     return;
 #ifdef SFX_MODULE
   mprintf(St(MCopyrightS));
@@ -27,7 +28,7 @@
 #endif
   if (PrintVersion)
   {
-    mprintf(L"%s",Version);
+    mprintf(L"%s\n",Version);
     exit(0);
   }
   mprintf(St(MUCopyright),Version,RARVER_YEAR);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/dll.cpp new/unrar/dll.cpp
--- old/unrar/dll.cpp   2026-04-27 10:23:51.000000000 +0200
+++ new/unrar/dll.cpp   2026-06-27 13:35:31.000000000 +0200
@@ -68,8 +68,8 @@
 
     // Open shared mode is added by request of dll users, who need to
     // browse and unpack archives while downloading.
-    Data->Cmd.OpenShared = true;
-    if (!Data->Arc.Open(ArcName,FMF_OPENSHARED))
+    Data->Cmd.OpenShared=(r->OpFlags&ROADOF_SHARED)!=0;
+    if (!Data->Arc.Open(ArcName,Data->Cmd.OpenShared ? FMF_OPENSHARED:0))
     {
       r->OpenResult=ERAR_EOPEN;
       delete Data;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/dll.hpp new/unrar/dll.hpp
--- old/unrar/dll.hpp   2026-04-27 10:23:51.000000000 +0200
+++ new/unrar/dll.hpp   2026-06-27 13:35:31.000000000 +0200
@@ -32,7 +32,7 @@
 #define RAR_VOL_ASK           0
 #define RAR_VOL_NOTIFY        1
 
-#define RAR_DLL_VERSION       9
+#define RAR_DLL_VERSION      10
 
 #define RAR_HASH_NONE         0
 #define RAR_HASH_CRC32        1
@@ -140,7 +140,8 @@
 #define ROADF_ENCHEADERS   0x0080
 #define ROADF_FIRSTVOLUME  0x0100
 
-#define ROADOF_KEEPBROKEN  0x0001
+#define ROADOF_KEEPBROKEN  0x0001 // Preserve extracted files with checksum 
errors.
+#define ROADOF_SHARED      0x0002 // Open an archive in shared mode.
 
 struct RAROpenArchiveDataEx
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/dll.rc new/unrar/dll.rc
--- old/unrar/dll.rc    2026-04-27 10:20:32.000000000 +0200
+++ new/unrar/dll.rc    2026-06-27 12:54:34.000000000 +0200
@@ -2,8 +2,8 @@
 #include <commctrl.h>
 
 VS_VERSION_INFO VERSIONINFO
-FILEVERSION 7, 21, 100, 1946
-PRODUCTVERSION 7, 21, 100, 1946
+FILEVERSION 7, 23, 100, 2007
+PRODUCTVERSION 7, 23, 100, 2007
 FILEOS VOS__WINDOWS32
 FILETYPE VFT_APP
 {
@@ -14,8 +14,8 @@
       VALUE "CompanyName", "Alexander Roshal\0"
       VALUE "ProductName", "RAR decompression library\0"
       VALUE "FileDescription", "RAR decompression library\0"
-      VALUE "FileVersion", "7.21.0\0"
-      VALUE "ProductVersion", "7.21.0\0"
+      VALUE "FileVersion", "7.23.0\0"
+      VALUE "ProductVersion", "7.23.0\0"
       VALUE "LegalCopyright", "Copyright � Alexander Roshal 1993-2026\0"
       VALUE "OriginalFilename", "Unrar.dll\0"
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/extinfo.cpp new/unrar/extinfo.cpp
--- old/unrar/extinfo.cpp       2026-04-27 10:23:52.000000000 +0200
+++ new/unrar/extinfo.cpp       2026-06-27 13:35:31.000000000 +0200
@@ -75,6 +75,9 @@
   for (size_t I=0;I<Name.size();I++)
     if (IsPathDiv(Name[I]))
     {
+      if (IsPathDiv(Name[I+1]))
+        return 0;
+
       bool Dot=Name[I+1]=='.' && (IsPathDiv(Name[I+2]) || Name[I+2]==0);
       bool Dot2=Name[I+1]=='.' && Name[I+2]=='.' && (IsPathDiv(Name[I+3]) || 
Name[I+3]==0);
       if (!Dot && !Dot2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/recvol5.cpp new/unrar/recvol5.cpp
--- old/unrar/recvol5.cpp       2026-04-27 10:23:53.000000000 +0200
+++ new/unrar/recvol5.cpp       2026-06-27 13:35:32.000000000 +0200
@@ -460,9 +460,16 @@
 
   if (Raw.Get1()!=1) // Version check.
     return 0;
-  DataCount=Raw.Get2();
-  RecCount=Raw.Get2();
+
+  uint CurDataCount=Raw.Get2();
+  uint CurRecCount=Raw.Get2();
+  if (!FirstRev && (CurDataCount!=DataCount || CurRecCount!=RecCount))
+    return 0;
+
+  DataCount=CurDataCount;
+  RecCount=CurRecCount;
   TotalCount=DataCount+RecCount;
+
   uint RecNum=Raw.Get2(); // Number of recovery volume.
   if (RecNum>=TotalCount || TotalCount>MaxVolumes)
     return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/uicommon.cpp new/unrar/uicommon.cpp
--- old/unrar/uicommon.cpp      2026-04-27 10:23:53.000000000 +0200
+++ new/unrar/uicommon.cpp      2026-06-27 13:35:32.000000000 +0200
@@ -25,6 +25,8 @@
 
   if (Choice==UIASKREP_R_REPLACE || Choice==UIASKREP_R_REPLACEALL)
   {
+    // When processing a symlink, it clears the symlink attributes and not
+    // target attributes, so we can delete the symlink below.
     PrepareToDelete(Name);
 
     // Overwrite the link itself instead of its target.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/ulinks.cpp new/unrar/ulinks.cpp
--- old/unrar/ulinks.cpp        2026-04-27 10:23:54.000000000 +0200
+++ new/unrar/ulinks.cpp        2026-06-27 13:35:32.000000000 +0200
@@ -143,7 +143,7 @@
   // the destination path as a prefix, which can confuse
   // IsRelativeSymlinkSafe algorithm.
   if (!Cmd->AbsoluteLinks && (IsFullPath(TargetW) ||
-      !IsRelativeSymlinkSafe(Cmd,hd->FileName.c_str(),Name,TargetW.c_str())))
+      !IsRelativeSymlinkSafe(Cmd,hd->FileName,Name,TargetW)))
   {
     uiMsg(UIERROR_SKIPUNSAFELINK,hd->FileName,TargetW);
     ErrHandler.SetErrorCode(RARX_WARNING);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/version.hpp new/unrar/version.hpp
--- old/unrar/version.hpp       2026-04-27 10:23:54.000000000 +0200
+++ new/unrar/version.hpp       2026-06-27 13:35:33.000000000 +0200
@@ -1,6 +1,6 @@
 #define RARVER_MAJOR     7
-#define RARVER_MINOR    21
+#define RARVER_MINOR    23
 #define RARVER_BETA      0
 #define RARVER_DAY      27
-#define RARVER_MONTH     4
+#define RARVER_MONTH     6
 #define RARVER_YEAR   2026

Reply via email to