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 2022-01-28 22:11:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory:NonFree/unrar (Old) and /work/SRC/openSUSE:Factory:NonFree/.unrar.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "unrar" Fri Jan 28 22:11:58 2022 rev:99 rq:949589 version:6.1.4 Changes: -------- --- /work/SRC/openSUSE:Factory:NonFree/unrar/unrar.changes 2021-12-12 00:55:14.246486660 +0100 +++ /work/SRC/openSUSE:Factory:NonFree/.unrar.new.1898/unrar.changes 2022-01-28 22:11:59.119116073 +0100 @@ -1,0 +2,20 @@ +Fri Jan 28 07:17:34 UTC 2022 - Kyrill Detinov <lazy.k...@opensuse.org> + +- Update to 6.1.4. + * Based on final RAR 6.10. + * Switch -si can be used when extracting or testing to read archive + data from stdin. + * New -ep4<path> switch excludes the path prefix when extracting if + this path is found in the beginning of archived name. + * New -mes switch skips encrypted files when extracting or testing. + It replaces former -p- switch. + * New -op<path> switch sets the destination directory for 'x' and 'e' + extraction commands. + * If 'p' command is used to print a file to stdout, informational + messages are suppressed automatically to prevent them mixing + with file date. + * Warning is issued if entered password exceeds the allowed limit + of 127 characters and is truncated. Previously such passwords + had been truncated silently. + +------------------------------------------------------------------- Old: ---- unrarsrc-6.1.3.tar.gz New: ---- unrarsrc-6.1.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ unrar.spec ++++++ --- /var/tmp/diff_new_pack.YWUQ26/_old 2022-01-28 22:12:00.055109677 +0100 +++ /var/tmp/diff_new_pack.YWUQ26/_new 2022-01-28 22:12:00.059109649 +0100 @@ -1,7 +1,7 @@ # # spec file for package unrar # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,9 +18,9 @@ # majorversion should match the major version number. %define majorversion 6 -%define libsuffix 6_1_3 +%define libsuffix 6_1_4 Name: unrar -Version: 6.1.3 +Version: 6.1.4 Release: 0 Summary: A program to extract, test, and view RAR archives License: NonFree ++++++ unrarsrc-6.1.3.tar.gz -> unrarsrc-6.1.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/consio.cpp new/unrar/consio.cpp --- old/unrar/consio.cpp 2021-12-09 20:25:17.000000000 +0100 +++ new/unrar/consio.cpp 2022-01-24 08:33:17.000000000 +0100 @@ -267,6 +267,7 @@ Array<char> StrA(n*4); // Up to 4 UTF-8 characters per wchar_t. File SrcFile; SrcFile.SetHandleType(FILE_HANDLESTD); + SrcFile.SetLineInputMode(true); int ReadSize=SrcFile.Read(&StrA[0],StrA.Size()-1); if (ReadSize<=0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/dll.rc new/unrar/dll.rc --- old/unrar/dll.rc 2021-12-09 20:20:52.000000000 +0100 +++ new/unrar/dll.rc 2022-01-24 02:37:50.000000000 +0100 @@ -2,8 +2,8 @@ #include <commctrl.h> VS_VERSION_INFO VERSIONINFO -FILEVERSION 6, 10, 3, 343 -PRODUCTVERSION 6, 10, 3, 343 +FILEVERSION 6, 10, 100, 389 +PRODUCTVERSION 6, 10, 100, 389 FILEOS VOS__WINDOWS32 FILETYPE VFT_APP { @@ -14,9 +14,9 @@ VALUE "CompanyName", "Alexander Roshal\0" VALUE "ProductName", "RAR decompression library\0" VALUE "FileDescription", "RAR decompression library\0" - VALUE "FileVersion", "6.10.3\0" - VALUE "ProductVersion", "6.10.3\0" - VALUE "LegalCopyright", "Copyright ? Alexander Roshal 1993-2021\0" + VALUE "FileVersion", "6.10.0\0" + VALUE "ProductVersion", "6.10.0\0" + VALUE "LegalCopyright", "Copyright ? Alexander Roshal 1993-2022\0" VALUE "OriginalFilename", "Unrar.dll\0" } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/file.cpp new/unrar/file.cpp --- old/unrar/file.cpp 2021-12-09 20:25:18.000000000 +0100 +++ new/unrar/file.cpp 2022-01-24 08:33:17.000000000 +0100 @@ -7,6 +7,7 @@ NewFile=false; LastWrite=false; HandleType=FILE_HANDLENORMAL; + LineInput=false; SkipClose=false; ErrorType=FILE_SUCCESS; OpenShared=false; @@ -420,13 +421,17 @@ } TotalRead+=ReadSize; // If ReadSize is -1, TotalRead is also set to -1 here. - if (HandleType==FILE_HANDLESTD && ReadSize>0 && (uint)ReadSize<Size) + if (HandleType==FILE_HANDLESTD && !LineInput && ReadSize>0 && (uint)ReadSize<Size) { // Unlike regular files, for pipe we can read only as much as was // written at the other end of pipe. We had seen data coming in small // ~80 byte chunks when piping from 'type arc.rar'. Extraction code // would fail if we read an incomplete archive header from stdin. // So here we ensure that requested size is completely read. + // But we return the available data immediately in "line input" mode, + // when processing user's input in console prompts. Otherwise apps + // piping user responses to multiple Ask() prompts can hang if no more + // data is available yet and pipe isn't closed. Data=(byte*)Data+ReadSize; Size-=ReadSize; continue; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/file.hpp new/unrar/file.hpp --- old/unrar/file.hpp 2021-12-09 20:25:18.000000000 +0100 +++ new/unrar/file.hpp 2022-01-24 08:33:17.000000000 +0100 @@ -59,6 +59,16 @@ FileHandle hFile; bool LastWrite; FILE_HANDLETYPE HandleType; + + // If we read the user input in console prompts from stdin, we shall + // process the available line immediately, not waiting for rest of data. + // Otherwise apps piping user responses to multiple Ask() prompts can + // hang if no more data is available yet and pipe isn't closed. + // If we read RAR archive or other file data from stdin, we shall collect + // the entire requested block as long as pipe isn't closed, so we get + // complete archive headers, not split between different reads. + bool LineInput; + bool SkipClose; FILE_READ_ERROR_MODE ReadErrorMode; bool NewFile; @@ -112,6 +122,7 @@ virtual bool IsOpened() {return hFile!=FILE_BAD_HANDLE;} // 'virtual' for MultiFile class. int64 FileLength(); void SetHandleType(FILE_HANDLETYPE Type) {HandleType=Type;} + void SetLineInputMode(bool Mode) {LineInput=Mode;} FILE_HANDLETYPE GetHandleType() {return HandleType;} bool IsSeekable() {return HandleType!=FILE_HANDLESTD;} bool IsDevice(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/version.hpp new/unrar/version.hpp --- old/unrar/version.hpp 2021-12-09 20:25:19.000000000 +0100 +++ new/unrar/version.hpp 2022-01-24 08:33:19.000000000 +0100 @@ -1,6 +1,6 @@ #define RARVER_MAJOR 6 #define RARVER_MINOR 10 -#define RARVER_BETA 3 -#define RARVER_DAY 10 -#define RARVER_MONTH 12 -#define RARVER_YEAR 2021 +#define RARVER_BETA 0 +#define RARVER_DAY 24 +#define RARVER_MONTH 1 +#define RARVER_YEAR 2022 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/volume.cpp new/unrar/volume.cpp --- old/unrar/volume.cpp 2021-12-09 20:25:19.000000000 +0100 +++ new/unrar/volume.cpp 2022-01-24 08:33:19.000000000 +0100 @@ -46,15 +46,18 @@ bool FailedOpen=false; // No more next volume open attempts if true. #if !defined(SILENT) - if (Cmd->VolumePause) - { - // If next volume can't be opened exclusively, it might be still - // downloading, so in -vp mode user may prefer to pause until completion - // even if volume is exist. FMF_OPENEXCLUSIVE works in Windows only. - File TestOpen; - if (!TestOpen.Open(NextName,FMF_OPENEXCLUSIVE) && !uiAskNextVolume(NextName,ASIZE(NextName))) - FailedOpen=true; - } + // In -vp mode we force the pause before next volume even if it is present + // and even if we are on the hard disk. It is important when user does not + // want to process partially downloaded volumes preliminary. + // 2022.01.11: In WinRAR 6.10 beta versions we tried to ignore VolumePause + // if we could open the next volume with FMF_OPENEXCLUSIVE. But another + // developer asked us to return the previous behavior and always prompt + // for confirmation. They want to control when unrar continues, because + // the next file might not be fully decoded yet. They write chunks of data + // and then close the file again until the next chunk comes in. + + if (Cmd->VolumePause && !uiAskNextVolume(NextName,ASIZE(NextName))) + FailedOpen=true; #endif uint OpenMode = Cmd->OpenShared ? FMF_OPENSHARED : 0;