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");
 


Reply via email to