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.kent@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
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(<);
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