Hello community,

here is the log from the commit of package unrar for openSUSE:Factory:NonFree 
checked in at 2015-04-30 11:51:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory:NonFree/unrar (Old)
 and      /work/SRC/openSUSE:Factory:NonFree/.unrar.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "unrar"

Changes:
--------
--- /work/SRC/openSUSE:Factory:NonFree/unrar/unrar.changes      2015-02-16 
21:15:06.000000000 +0100
+++ /work/SRC/openSUSE:Factory:NonFree/.unrar.new/unrar.changes 2015-04-30 
11:51:41.000000000 +0200
@@ -1,0 +2,6 @@
+Sun Apr 26 14:03:11 UTC 2015 - lazy.k...@opensuse.org
+
+- Update to 5.2.7.
+  * No changelog available.
+
+-------------------------------------------------------------------

Old:
----
  unrarsrc-5.2.6.tar.gz

New:
----
  unrarsrc-5.2.7.tar.gz

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

Other differences:
------------------
++++++ unrar.spec ++++++
--- /var/tmp/diff_new_pack.RmtQt5/_old  2015-04-30 11:51:42.000000000 +0200
+++ /var/tmp/diff_new_pack.RmtQt5/_new  2015-04-30 11:51:42.000000000 +0200
@@ -18,10 +18,10 @@
 
 # majorversion should match the major version number.
 %define majorversion 5
-%define libsuffix 5_2_6
+%define libsuffix 5_2_7
 
 Name:           unrar
-Version:        5.2.6
+Version:        5.2.7
 Release:        0
 Summary:        A program to extract, test, and view RAR archives
 License:        SUSE-NonFree

++++++ unrarsrc-5.2.6.tar.gz -> unrarsrc-5.2.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/dll.rc new/unrar/dll.rc
--- old/unrar/dll.rc    2015-02-15 08:58:01.000000000 +0100
+++ new/unrar/dll.rc    2015-03-04 12:45:30.000000000 +0100
@@ -2,8 +2,8 @@
 #include <commctrl.h>
 
 VS_VERSION_INFO VERSIONINFO
-FILEVERSION 5, 21, 100, 1509
-PRODUCTVERSION 5, 21, 100, 1509
+FILEVERSION 5, 21, 100, 1510
+PRODUCTVERSION 5, 21, 100, 1510
 FILEOS VOS__WINDOWS32
 FILETYPE VFT_APP
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/extract.cpp new/unrar/extract.cpp
--- old/unrar/extract.cpp       2015-02-15 09:02:48.000000000 +0100
+++ new/unrar/extract.cpp       2015-03-25 18:35:42.000000000 +0100
@@ -387,9 +387,13 @@
 
     if (Arc.FileHead.Encrypted)
     {
+      // Stop archive extracting if user cancelled a password prompt.
 #ifdef RARDLL
       if (!ExtrDllGetPassword())
+      {
+        Cmd->DllError=ERAR_MISSING_PASSWORD;
         return false;
+      }
 #else
       if (!ExtrGetPassword(Arc,ArcFileName))
       {
@@ -398,6 +402,9 @@
       }
 #endif
       // Skip only the current encrypted file if empty password is entered.
+      // Actually our "cancel" code above intercepts empty passwords too now,
+      // so we keep the code below just in case we'll decide process empty
+      // and cancelled passwords differently sometimes.
       if (!Cmd->Password.IsSet())
       {
         ErrHandler.SetErrorCode(RARX_WARNING);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/filestr.cpp new/unrar/filestr.cpp
--- old/unrar/filestr.cpp       2015-02-15 09:02:48.000000000 +0100
+++ new/unrar/filestr.cpp       2015-03-25 18:35:42.000000000 +0100
@@ -38,16 +38,20 @@
 
   unsigned int DataSize=0,ReadSize;
   const int ReadBlock=4096;
-  Array<char> Data(ReadBlock+3);
+
+  // Our algorithm below needs at least two trailing zeroes after data.
+  // So for Unicode we provide 2 Unicode zeroes and one more byte
+  // in case read Unicode data contains uneven number of bytes.
+  const size_t ZeroPadding=5;
+
+  Array<char> Data(ReadBlock+ZeroPadding);
   while ((ReadSize=SrcFile.Read(&Data[DataSize],ReadBlock))!=0)
   {
     DataSize+=ReadSize;
-    Data.Add(ReadSize);
+    Data.Add(ReadSize); // Always have ReadBlock available for next data.
   }
-
-  // Add trailing Unicode zero after text data. We add 3 bytes instead of 2
-  // in case read Unicode data contains uneven number of bytes.
-  memset(&Data[DataSize],0,3);
+  
+  memset(&Data[DataSize],0,ZeroPadding); // Provide at least 2 Unicode zero 
bytes.
 
   Array<wchar> WideStr;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/strfn.cpp new/unrar/strfn.cpp
--- old/unrar/strfn.cpp 2015-02-15 09:02:48.000000000 +0100
+++ new/unrar/strfn.cpp 2015-03-25 18:35:42.000000000 +0100
@@ -19,7 +19,7 @@
   Dest[DestSize-1]=0;
 #elif defined(_ANDROID)
   wchar DestW[NM];
-  UnkToWide(Src,DestW,ASIZE(DestW));
+  JniCharToWide(Src,DestW,ASIZE(DestW),true);
   WideToChar(DestW,Dest,DestSize);
 #else
   if (Dest!=Src)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/timefn.cpp new/unrar/timefn.cpp
--- old/unrar/timefn.cpp        2015-02-15 09:02:48.000000000 +0100
+++ new/unrar/timefn.cpp        2015-03-25 18:35:42.000000000 +0100
@@ -223,7 +223,7 @@
     RarLocalTime lt;
     GetLocal(&lt);
     if (FullMS)
-      swprintf(DateStr,MaxSize,L"%u-%02u-%02u 
%02u:%02u,%03u",lt.Year,lt.Month,lt.Day,lt.Hour,lt.Minute,lt.Reminder/10000);
+      swprintf(DateStr,MaxSize,L"%u-%02u-%02u 
%02u:%02u:%02u,%03u",lt.Year,lt.Month,lt.Day,lt.Hour,lt.Minute,lt.Second,lt.Reminder/10000);
     else
       if (FullYear)
         swprintf(DateStr,MaxSize,L"%02u-%02u-%u 
%02u:%02u",lt.Day,lt.Month,lt.Year,lt.Hour,lt.Minute);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/uiconsole.cpp new/unrar/uiconsole.cpp
--- old/unrar/uiconsole.cpp     2015-02-15 09:02:48.000000000 +0100
+++ new/unrar/uiconsole.cpp     2015-03-25 18:35:42.000000000 +0100
@@ -9,10 +9,17 @@
   itoa(ExistingFD.Size,SizeText1);
   ExistingFD.mtime.GetText(DateStr1,ASIZE(DateStr1),true,false);
 
-  itoa(FileSize,SizeText2);
-  FileTime->GetText(DateStr2,ASIZE(DateStr2),true,false);
-  
-  eprintf(St(MAskReplace),Name,SizeText1,DateStr1,SizeText2,DateStr2);
+  if (FileSize==INT64NDF || FileTime==NULL)
+  {
+    eprintf(L"\n");
+    eprintf(St(MAskOverwrite),Name);
+  }
+  else
+  {
+    itoa(FileSize,SizeText2);
+    FileTime->GetText(DateStr2,ASIZE(DateStr2),true,false);
+    eprintf(St(MAskReplace),Name,SizeText1,DateStr1,SizeText2,DateStr2);
+  }
 
   bool AllowRename=(Flags & UIASKREP_F_NORENAME)==0;
   int Choice=0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/ulinks.cpp new/unrar/ulinks.cpp
--- old/unrar/ulinks.cpp        2015-02-15 09:02:48.000000000 +0100
+++ new/unrar/ulinks.cpp        2015-03-25 18:35:42.000000000 +0100
@@ -56,7 +56,7 @@
 
     if (!Cmd->AbsoluteLinks && (IsFullPath(Target) ||
         !IsRelativeSymlinkSafe(Arc.FileHead.FileName,Arc.FileHead.RedirName)))
-
+      return false;
     return 
UnixSymlink(Target,LinkName,&Arc.FileHead.mtime,&Arc.FileHead.atime);
   }
   return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/unpack50mt.cpp new/unrar/unpack50mt.cpp
--- old/unrar/unpack50mt.cpp    2015-02-15 09:02:49.000000000 +0100
+++ new/unrar/unpack50mt.cpp    2015-03-25 18:35:42.000000000 +0100
@@ -90,6 +90,9 @@
     DataSize+=ReadSize;
     if (DataSize==0)
       break;
+
+    // First read chunk can be small if we are near the end of volume
+    // and we want it to fit block header and tables.
     if (ReadSize>0 && DataSize<TooSmallToProcess)
       continue;
 


Reply via email to