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
