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-03-25 21:53:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory:NonFree/unrar (Old)
 and      /work/SRC/openSUSE:Factory:NonFree/.unrar.new.1900 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "unrar"

Fri Mar 25 21:53:57 2022 rev:100 rq:964785 version:6.1.6

Changes:
--------
--- /work/SRC/openSUSE:Factory:NonFree/unrar/unrar.changes      2022-01-28 
22:11:59.119116073 +0100
+++ /work/SRC/openSUSE:Factory:NonFree/.unrar.new.1900/unrar.changes    
2022-03-25 21:53:58.134237973 +0100
@@ -1,0 +2,6 @@
+Thu Mar 24 08:02:45 UTC 2022 - Dirk M??ller <[email protected]>
+
+- update to 6.1.6:
+  * Based on final RAR 6.11 
+
+-------------------------------------------------------------------

Old:
----
  unrarsrc-6.1.4.tar.gz

New:
----
  unrarsrc-6.1.6.tar.gz

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

Other differences:
------------------
++++++ unrar.spec ++++++
--- /var/tmp/diff_new_pack.LkIxYg/_old  2022-03-25 21:53:58.898238700 +0100
+++ /var/tmp/diff_new_pack.LkIxYg/_new  2022-03-25 21:53:58.906238708 +0100
@@ -18,9 +18,9 @@
 
 # majorversion should match the major version number.
 %define majorversion 6
-%define libsuffix 6_1_4
+%define libsuffix 6_1_6
 Name:           unrar
-Version:        6.1.4
+Version:        6.1.6
 Release:        0
 Summary:        A program to extract, test, and view RAR archives
 License:        NonFree

++++++ unrarsrc-6.1.4.tar.gz -> unrarsrc-6.1.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/consio.cpp new/unrar/consio.cpp
--- old/unrar/consio.cpp        2022-01-24 08:33:17.000000000 +0100
+++ new/unrar/consio.cpp        2022-03-03 14:18:29.000000000 +0100
@@ -171,18 +171,33 @@
   {
 #ifdef _WIN_ALL
     HANDLE hConIn=GetStdHandle(STD_INPUT_HANDLE);
-    HANDLE hConOut=GetStdHandle(STD_OUTPUT_HANDLE);
-    DWORD ConInMode,ConOutMode;
-    DWORD Read=0;
+    DWORD ConInMode;
     GetConsoleMode(hConIn,&ConInMode);
-    GetConsoleMode(hConOut,&ConOutMode);
-    SetConsoleMode(hConIn,ENABLE_LINE_INPUT);
-    SetConsoleMode(hConOut,ENABLE_PROCESSED_OUTPUT|ENABLE_WRAP_AT_EOL_OUTPUT);
+    SetConsoleMode(hConIn,ENABLE_LINE_INPUT); // Remove ENABLE_ECHO_INPUT.
 
+    // We prefer ReadConsole to ReadFile, so we can read Unicode input.
+    DWORD Read=0;
     ReadConsole(hConIn,Str,MaxLength-1,&Read,NULL);
     Str[Read]=0;
     SetConsoleMode(hConIn,ConInMode);
-    SetConsoleMode(hConOut,ConOutMode);
+
+    // If entered password is longer than MAXPASSWORD and truncated,
+    // read its unread part anyway, so it isn't read later as the second
+    // password for -p switch. Low level FlushConsoleInputBuffer doesn't help
+    // for high level ReadConsole, which in line input mode seems to store
+    // the rest of string in its own internal buffer.
+    if (wcschr(Str,'\r')==NULL) // If '\r' is missing, the password was 
truncated.
+      while (true)
+      {
+        wchar Trail[64];
+        DWORD TrailRead=0;
+        // Use ASIZE(Trail)-1 to reserve the space for trailing 0.
+        ReadConsole(hConIn,Trail,ASIZE(Trail)-1,&TrailRead,NULL);
+        Trail[TrailRead]=0;
+        if (TrailRead==0 || wcschr(Trail,'\r')!=NULL)
+          break;
+      }
+
 #else
     char StrA[MAXPASSWORD*4]; // "*4" for multibyte UTF-8 characters.
 #if defined(_EMX) || defined (__VMS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/dll.rc new/unrar/dll.rc
--- old/unrar/dll.rc    2022-01-24 02:37:50.000000000 +0100
+++ new/unrar/dll.rc    2022-03-03 14:11:57.000000000 +0100
@@ -2,8 +2,8 @@
 #include <commctrl.h>
 
 VS_VERSION_INFO VERSIONINFO
-FILEVERSION 6, 10, 100, 389
-PRODUCTVERSION 6, 10, 100, 389
+FILEVERSION 6, 11, 100, 427
+PRODUCTVERSION 6, 11, 100, 427
 FILEOS VOS__WINDOWS32
 FILETYPE VFT_APP
 {
@@ -14,8 +14,8 @@
       VALUE "CompanyName", "Alexander Roshal\0"
       VALUE "ProductName", "RAR decompression library\0"
       VALUE "FileDescription", "RAR decompression library\0"
-      VALUE "FileVersion", "6.10.0\0"
-      VALUE "ProductVersion", "6.10.0\0"
+      VALUE "FileVersion", "6.11.0\0"
+      VALUE "ProductVersion", "6.11.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/extract.cpp new/unrar/extract.cpp
--- old/unrar/extract.cpp       2022-01-24 08:33:17.000000000 +0100
+++ new/unrar/extract.cpp       2022-03-03 14:18:30.000000000 +0100
@@ -666,8 +666,11 @@
 
         if (Type==FSREDIR_HARDLINK || Type==FSREDIR_FILECOPY)
         {
+          wchar RedirName[NM];
+          ConvertPath(Arc.FileHead.RedirName,RedirName,ASIZE(RedirName));
+
           wchar NameExisting[NM];
-          
ExtrPrepareName(Arc,Arc.FileHead.RedirName,NameExisting,ASIZE(NameExisting));
+          ExtrPrepareName(Arc,RedirName,NameExisting,ASIZE(NameExisting));
           if (FileCreateMode && *NameExisting!=0) // *NameExisting can be 0 in 
case of excessive -ap switch.
             if (Type==FSREDIR_HARDLINK)
               
LinkSuccess=ExtractHardlink(Cmd,DestFileName,NameExisting,ASIZE(NameExisting));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/isnt.cpp new/unrar/isnt.cpp
--- old/unrar/isnt.cpp  2022-01-24 08:33:18.000000000 +0100
+++ new/unrar/isnt.cpp  2022-03-03 14:18:30.000000000 +0100
@@ -1,6 +1,5 @@
 #include "rar.hpp"
 
-#ifdef _WIN_ALL
 DWORD WinNT()
 {
   static int dwPlatformId=-1;
@@ -22,4 +21,94 @@
 
   return Result;
 }
-#endif
+
+
+// Replace it with documented Windows 11 check when available.
+#include <comdef.h>
+#include <Wbemidl.h>
+#pragma comment(lib, "wbemuuid.lib")
+
+static bool WMI_IsWindows10()
+{
+  IWbemLocator *pLoc = NULL;
+
+  HRESULT hres = CoCreateInstance(CLSID_WbemLocator,0,CLSCTX_INPROC_SERVER,
+                          IID_IWbemLocator,(LPVOID *)&pLoc);
+ 
+  if (FAILED(hres))
+    return false;
+
+  IWbemServices *pSvc = NULL;
+ 
+  hres = 
pLoc->ConnectServer(_bstr_t(L"ROOT\\CIMV2"),NULL,NULL,0,NULL,0,0,&pSvc);
+    
+  if (FAILED(hres))
+  {
+    pLoc->Release();     
+    return false;
+  }
+
+  hres = CoSetProxyBlanket(pSvc,RPC_C_AUTHN_WINNT,RPC_C_AUTHZ_NONE,NULL,
+         RPC_C_AUTHN_LEVEL_CALL,RPC_C_IMP_LEVEL_IMPERSONATE,NULL,EOAC_NONE);
+
+  if (FAILED(hres))
+  {
+    pSvc->Release();
+    pLoc->Release();     
+    return false;
+  }
+
+  IEnumWbemClassObject *pEnumerator = NULL;
+  hres = pSvc->ExecQuery(bstr_t("WQL"), bstr_t("SELECT * FROM 
Win32_OperatingSystem"),
+         WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, 
&pEnumerator);
+    
+  if (FAILED(hres))
+  {
+    pSvc->Release();
+    pLoc->Release();
+    return false;
+  }
+
+  IWbemClassObject *pclsObj = NULL;
+  ULONG uReturn = 0;
+   
+  bool Win10=false;
+  while (pEnumerator!=NULL)
+  {
+    HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn);
+
+    if (uReturn==0)
+      break;
+
+    VARIANT vtProp;
+
+    hr = pclsObj->Get(L"Name", 0, &vtProp, 0, 0);
+    Win10|=wcsstr(vtProp.bstrVal,L"Windows 10")!=NULL;
+    VariantClear(&vtProp);
+
+    pclsObj->Release();
+  }
+
+  pSvc->Release();
+  pLoc->Release();
+  pEnumerator->Release();
+
+  return Win10;
+}
+
+
+// Replace it with actual check when available.
+bool IsWindows11OrGreater()
+{
+  static bool IsSet=false,IsWin11=false;
+  if (!IsSet)
+  {
+    OSVERSIONINFO WinVer;
+    WinVer.dwOSVersionInfoSize=sizeof(WinVer);
+    GetVersionEx(&WinVer);
+    IsWin11=WinVer.dwMajorVersion>10 || 
+          WinVer.dwMajorVersion==10 && WinVer.dwBuildNumber >= 22000 && 
!WMI_IsWindows10();
+    IsSet=true;
+  }
+  return IsWin11;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/isnt.hpp new/unrar/isnt.hpp
--- old/unrar/isnt.hpp  2022-01-24 08:33:18.000000000 +0100
+++ new/unrar/isnt.hpp  2022-03-03 14:18:30.000000000 +0100
@@ -10,4 +10,7 @@
 DWORD WinNT();
 
 
+// Replace it with actual check when available.
+bool IsWindows11OrGreater();
+
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/makefile new/unrar/makefile
--- old/unrar/makefile  2020-05-21 11:13:21.000000000 +0200
+++ new/unrar/makefile  2022-02-22 11:43:06.000000000 +0100
@@ -123,7 +123,7 @@
 LIB_OBJ=filestr.o scantree.o dll.o qopen.o
 
 OBJECTS=rar.o strlist.o strfn.o pathfn.o smallfn.o global.o file.o filefn.o 
filcreat.o \
-       archive.o arcread.o unicode.o system.o isnt.o crypt.o crc.o rawread.o 
encname.o \
+       archive.o arcread.o unicode.o system.o crypt.o crc.o rawread.o 
encname.o \
        resource.o match.o timefn.o rdwrfn.o consio.o options.o errhnd.o 
rarvm.o secpassword.o \
        rijndael.o getbits.o sha1.o sha256.o blake2s.o hash.o extinfo.o 
extract.o volume.o \
   list.o find.o unpack.o headers.o threadpool.o rs16.o cmddata.o ui.o
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/pathfn.cpp new/unrar/pathfn.cpp
--- old/unrar/pathfn.cpp        2022-01-24 08:33:18.000000000 +0100
+++ new/unrar/pathfn.cpp        2022-03-03 14:18:30.000000000 +0100
@@ -1044,7 +1044,9 @@
           else
             if (Devices[J][K]==0)
             {
-              MatchFound=s[K]==0 || s[K]=='.' || IsPathDiv(s[K]);
+              // Names like aux.txt are accessible without \\?\ prefix
+              // since Windows 11. Pure aux is still prohibited.
+              MatchFound=s[K]==0 || s[K]=='.' && !IsWindows11OrGreater() || 
IsPathDiv(s[K]);
               break;
             }
             else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/version.hpp new/unrar/version.hpp
--- old/unrar/version.hpp       2022-01-24 08:33:19.000000000 +0100
+++ new/unrar/version.hpp       2022-03-03 14:18:32.000000000 +0100
@@ -1,6 +1,6 @@
 #define RARVER_MAJOR     6
-#define RARVER_MINOR    10
+#define RARVER_MINOR    11
 #define RARVER_BETA      0
-#define RARVER_DAY      24
-#define RARVER_MONTH     1
+#define RARVER_DAY       3
+#define RARVER_MONTH     3
 #define RARVER_YEAR   2022

Reply via email to