Hello community, here is the log from the commit of package unrar for openSUSE:Factory:NonFree checked in at 2018-10-15 09:47:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory:NonFree/unrar (Old) and /work/SRC/openSUSE:Factory:NonFree/.unrar.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "unrar" Mon Oct 15 09:47:38 2018 rev:74 rq:641726 version:5.6.8 Changes: -------- --- /work/SRC/openSUSE:Factory:NonFree/unrar/unrar.changes 2018-10-02 19:49:50.825679713 +0200 +++ /work/SRC/openSUSE:Factory:NonFree/.unrar.new/unrar.changes 2018-10-15 09:48:13.323051273 +0200 @@ -1,0 +2,8 @@ +Fri Oct 12 13:24:01 UTC 2018 - Kyrill Detinov <lazy.k...@opensuse.org> + +- Update to 5.6.8. + * Based on final RAR 5.61. + * Fixed a crash when processing corrupt RAR archives. This issue + may be also associated with security risks. + +------------------------------------------------------------------- Old: ---- unrarsrc-5.6.7.tar.gz New: ---- unrarsrc-5.6.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ unrar.spec ++++++ --- /var/tmp/diff_new_pack.dZkANM/_old 2018-10-15 09:48:13.831050708 +0200 +++ /var/tmp/diff_new_pack.dZkANM/_new 2018-10-15 09:48:13.831050708 +0200 @@ -18,10 +18,10 @@ # majorversion should match the major version number. %define majorversion 5 -%define libsuffix 5_6_7 +%define libsuffix 5_6_8 Name: unrar -Version: 5.6.7 +Version: 5.6.8 Release: 0 Summary: A program to extract, test, and view RAR archives License: NonFree ++++++ unrarsrc-5.6.7.tar.gz -> unrarsrc-5.6.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/arcread.cpp new/unrar/arcread.cpp --- old/unrar/arcread.cpp 2018-09-30 20:05:39.000000000 +0200 +++ new/unrar/arcread.cpp 2018-10-03 19:07:09.000000000 +0200 @@ -815,6 +815,8 @@ // but it was already used in RAR 1.5 and Unpack needs to distinguish // them. hd->UnpVer=(CompInfo & 0x3f) + 50; + if (hd->UnpVer!=50) // Only 5.0 compression is known now. + hd->UnpVer=VER_UNKNOWN; hd->HostOS=(byte)Raw.GetV(); size_t NameSize=(size_t)Raw.GetV(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/dll.cpp new/unrar/dll.cpp --- old/unrar/dll.cpp 2018-09-30 20:05:40.000000000 +0200 +++ new/unrar/dll.cpp 2018-10-03 19:07:10.000000000 +0200 @@ -253,10 +253,7 @@ D->UnpSize=uint(hd->UnpSize & 0xffffffff); D->UnpSizeHigh=uint(hd->UnpSize>>32); D->HostOS=hd->HSType==HSYS_WINDOWS ? HOST_WIN32:HOST_UNIX; - if (Data->Arc.Format==RARFMT50) - D->UnpVer=Data->Arc.FileHead.UnpVer==0 ? 50 : 200; // If it is not 0, just set it to something big. - else - D->UnpVer=Data->Arc.FileHead.UnpVer; + D->UnpVer=Data->Arc.FileHead.UnpVer; D->FileCRC=hd->FileHash.CRC32; D->FileTime=hd->mtime.GetDos(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/dll.rc new/unrar/dll.rc --- old/unrar/dll.rc 2018-09-30 20:00:39.000000000 +0200 +++ new/unrar/dll.rc 2018-10-03 09:30:49.000000000 +0200 @@ -2,8 +2,8 @@ #include <commctrl.h> VS_VERSION_INFO VERSIONINFO -FILEVERSION 5, 61, 100, 2834 -PRODUCTVERSION 5, 61, 100, 2834 +FILEVERSION 5, 61, 100, 2835 +PRODUCTVERSION 5, 61, 100, 2835 FILEOS VOS__WINDOWS32 FILETYPE VFT_APP { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/headers.hpp new/unrar/headers.hpp --- old/unrar/headers.hpp 2018-09-30 20:05:42.000000000 +0200 +++ new/unrar/headers.hpp 2018-10-03 19:07:11.000000000 +0200 @@ -14,10 +14,11 @@ #define SIZEOF_UOHEAD 18 #define SIZEOF_STREAMHEAD 26 -#define VER_PACK 29 -#define VER_PACK5 50 // It is stored as 0, but we subtract 50 when saving an archive. -#define VER_UNPACK 29 -#define VER_UNPACK5 50 // It is stored as 0, but we add 50 when reading an archive. +#define VER_PACK 29U +#define VER_PACK5 50U // It is stored as 0, but we subtract 50 when saving an archive. +#define VER_UNPACK 29U +#define VER_UNPACK5 50U // It is stored as 0, but we add 50 when reading an archive. +#define VER_UNKNOWN 9999U // Just some large value. #define MHD_VOLUME 0x0001U @@ -174,7 +175,7 @@ struct FileHeader:BlockHeader { byte HostOS; - byte UnpVer; + uint UnpVer; // It is 1 byte in RAR29 and bit field in RAR5. byte Method; union { uint FileAttr; @@ -190,7 +191,7 @@ int64 PackSize; int64 UnpSize; - int64 MaxSize; // Reserve size bytes for vint of this size. + int64 MaxSize; // Reserve packed and unpacked size bytes for vint of this size. HashValue FileHash; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/list.cpp new/unrar/list.cpp --- old/unrar/list.cpp 2018-09-30 20:05:42.000000000 +0200 +++ new/unrar/list.cpp 2018-10-03 19:07:11.000000000 +0200 @@ -344,7 +344,8 @@ mprintf(L"\n%12ls: %ls",St(MListHostOS),HostOS); mprintf(L"\n%12ls: RAR %ls(v%d) -m%d -md=%d%s",St(MListCompInfo), - Format==RARFMT15 ? L"3.0":L"5.0",hd.UnpVer,hd.Method, + Format==RARFMT15 ? L"3.0":L"5.0", + hd.UnpVer==VER_UNKNOWN ? 0 : hd.UnpVer,hd.Method, hd.WinSize>=0x100000 ? hd.WinSize/0x100000:hd.WinSize/0x400, hd.WinSize>=0x100000 ? L"M":L"K");