mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	[misc] disable Windows 7 support
* Also set rufus-next to 3.23 and fix a date typo in ChangeLog.txt
This commit is contained in:
		
							parent
							
								
									d478e3179b
								
							
						
					
					
						commit
						018718b2c8
					
				
					 10 changed files with 50 additions and 53 deletions
				
			
		|  | @ -1,4 +1,4 @@ | |||
| o Version 3.22 (2022.03.25) | ||||
| o Version 3.22 (2023.03.25) | ||||
|     Add SHA-1 and SHA-256 x86 acceleration on CPUs that support it (courtesy of Jeffrey Walton) | ||||
|     Add an option to disable BitLocker device encryption in the Windows User Experience dialog | ||||
|     Add a cheat mode (Ctrl-P) to preserve the log between sessions | ||||
|  |  | |||
							
								
								
									
										25
									
								
								configure
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								configure
									
										
									
									
										vendored
									
									
								
							|  | @ -1,6 +1,6 @@ | |||
| #! /bin/sh | ||||
| # Guess values for system-dependent variables and create Makefiles. | ||||
| # Generated by GNU Autoconf 2.71 for rufus 3.22. | ||||
| # Generated by GNU Autoconf 2.71 for rufus 3.23. | ||||
| # | ||||
| # Report bugs to <https://github.com/pbatard/rufus/issues>. | ||||
| # | ||||
|  | @ -611,8 +611,8 @@ MAKEFLAGS= | |||
| # Identity of this package. | ||||
| PACKAGE_NAME='rufus' | ||||
| PACKAGE_TARNAME='rufus' | ||||
| PACKAGE_VERSION='3.22' | ||||
| PACKAGE_STRING='rufus 3.22' | ||||
| PACKAGE_VERSION='3.23' | ||||
| PACKAGE_STRING='rufus 3.23' | ||||
| PACKAGE_BUGREPORT='https://github.com/pbatard/rufus/issues' | ||||
| PACKAGE_URL='https://rufus.ie' | ||||
| 
 | ||||
|  | @ -1269,7 +1269,7 @@ if test "$ac_init_help" = "long"; then | |||
|   # Omit some internal or obsolete options to make the list less imposing. | ||||
|   # This message is too long to be a string in the A/UX 3.1 sh. | ||||
|   cat <<_ACEOF | ||||
| \`configure' configures rufus 3.22 to adapt to many kinds of systems. | ||||
| \`configure' configures rufus 3.23 to adapt to many kinds of systems. | ||||
| 
 | ||||
| Usage: $0 [OPTION]... [VAR=VALUE]... | ||||
| 
 | ||||
|  | @ -1336,7 +1336,7 @@ fi | |||
| 
 | ||||
| if test -n "$ac_init_help"; then | ||||
|   case $ac_init_help in | ||||
|      short | recursive ) echo "Configuration of rufus 3.22:";; | ||||
|      short | recursive ) echo "Configuration of rufus 3.23:";; | ||||
|    esac | ||||
|   cat <<\_ACEOF | ||||
| 
 | ||||
|  | @ -1428,7 +1428,7 @@ fi | |||
| test -n "$ac_init_help" && exit $ac_status | ||||
| if $ac_init_version; then | ||||
|   cat <<\_ACEOF | ||||
| rufus configure 3.22 | ||||
| rufus configure 3.23 | ||||
| generated by GNU Autoconf 2.71 | ||||
| 
 | ||||
| Copyright (C) 2021 Free Software Foundation, Inc. | ||||
|  | @ -1504,7 +1504,7 @@ cat >config.log <<_ACEOF | |||
| This file contains any messages produced by compilers while | ||||
| running configure, to aid debugging if configure makes a mistake. | ||||
| 
 | ||||
| It was created by rufus $as_me 3.22, which was | ||||
| It was created by rufus $as_me 3.23, which was | ||||
| generated by GNU Autoconf 2.71.  Invocation command line was | ||||
| 
 | ||||
|   $ $0$ac_configure_args_raw | ||||
|  | @ -1790,9 +1790,7 @@ struct stat; | |||
| /* Most of the following tests are stolen from RCS 5.7 src/conf.sh.  */ | ||||
| struct buf { int x; }; | ||||
| struct buf * (*rcsopen) (struct buf *, struct stat *, int); | ||||
| static char *e (p, i) | ||||
|      char **p; | ||||
|      int i; | ||||
| static char *e (char **p, int i) | ||||
| { | ||||
|   return p[i]; | ||||
| } | ||||
|  | @ -1843,6 +1841,7 @@ extern int puts (const char *); | |||
| extern int printf (const char *, ...); | ||||
| extern int dprintf (int, const char *, ...); | ||||
| extern void *malloc (size_t); | ||||
| extern void free (void *); | ||||
| 
 | ||||
| // Check varargs macros.  These examples are taken from C99 6.10.3.5. | ||||
| // dprintf is used instead of fprintf to avoid needing to declare | ||||
|  | @ -2768,7 +2767,7 @@ fi | |||
| 
 | ||||
| # Define the identity of the package. | ||||
|  PACKAGE='rufus' | ||||
|  VERSION='3.22' | ||||
|  VERSION='3.23' | ||||
| 
 | ||||
| 
 | ||||
| printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h | ||||
|  | @ -5310,7 +5309,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | |||
| # report actual input values of CONFIG_FILES etc. instead of their | ||||
| # values after options handling. | ||||
| ac_log=" | ||||
| This file was extended by rufus $as_me 3.22, which was | ||||
| This file was extended by rufus $as_me 3.23, which was | ||||
| generated by GNU Autoconf 2.71.  Invocation command line was | ||||
| 
 | ||||
|   CONFIG_FILES    = $CONFIG_FILES | ||||
|  | @ -5366,7 +5365,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ | |||
| cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | ||||
| ac_cs_config='$ac_cs_config_escaped' | ||||
| ac_cs_version="\\ | ||||
| rufus config.status 3.22 | ||||
| rufus config.status 3.23 | ||||
| configured by $0, generated by GNU Autoconf 2.71, | ||||
|   with options \\"\$ac_cs_config\\" | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| AC_INIT([rufus], [3.22], [https://github.com/pbatard/rufus/issues], [rufus], [https://rufus.ie]) | ||||
| AC_INIT([rufus], [3.23], [https://github.com/pbatard/rufus/issues], [rufus], [https://rufus.ie]) | ||||
| AM_INIT_AUTOMAKE([-Wno-portability foreign no-dist no-dependencies]) | ||||
| AC_CONFIG_SRCDIR([src/rufus.c]) | ||||
| AC_CONFIG_MACRO_DIR([m4]) | ||||
|  |  | |||
							
								
								
									
										34
									
								
								src/dev.c
									
										
									
									
									
								
							
							
						
						
									
										34
									
								
								src/dev.c
									
										
									
									
									
								
							|  | @ -103,24 +103,22 @@ static BOOL GetUSBProperties(char* parent_path, char* device_id, usb_device_prop | |||
| 		r = TRUE; | ||||
| 	} | ||||
| 
 | ||||
| 	// In their great wisdom, Microsoft decided to BREAK the USB speed report between Windows 7 and Windows 8
 | ||||
| 	if (nWindowsVersion >= WINDOWS_8) { | ||||
| 		size = sizeof(conn_info_v2); | ||||
| 		memset(&conn_info_v2, 0, size); | ||||
| 		conn_info_v2.ConnectionIndex = (ULONG)props->port; | ||||
| 		conn_info_v2.Length = size; | ||||
| 		conn_info_v2.SupportedUsbProtocols.Usb300 = 1; | ||||
| 		if (!DeviceIoControl(handle, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2, &conn_info_v2, size, &conn_info_v2, size, &size, NULL)) { | ||||
| 			uprintf("Could not get node connection information (V2) for device '%s': %s", device_id, WindowsErrorString()); | ||||
| 		} else if (conn_info_v2.Flags.DeviceIsOperatingAtSuperSpeedPlusOrHigher) { | ||||
| 			props->speed = USB_SPEED_SUPER_PLUS; | ||||
| 		} else if (conn_info_v2.Flags.DeviceIsOperatingAtSuperSpeedOrHigher) { | ||||
| 			props->speed = USB_SPEED_SUPER; | ||||
| 		} else if (conn_info_v2.Flags.DeviceIsSuperSpeedPlusCapableOrHigher) { | ||||
| 			props->lower_speed = 2; | ||||
| 		} else if (conn_info_v2.Flags.DeviceIsSuperSpeedCapableOrHigher) { | ||||
| 			props->lower_speed = 1; | ||||
| 		} | ||||
| 	// The USB speed report of modern Windows is a complete mess
 | ||||
| 	size = sizeof(conn_info_v2); | ||||
| 	memset(&conn_info_v2, 0, size); | ||||
| 	conn_info_v2.ConnectionIndex = (ULONG)props->port; | ||||
| 	conn_info_v2.Length = size; | ||||
| 	conn_info_v2.SupportedUsbProtocols.Usb300 = 1; | ||||
| 	if (!DeviceIoControl(handle, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2, &conn_info_v2, size, &conn_info_v2, size, &size, NULL)) { | ||||
| 		uprintf("Could not get node connection information (V2) for device '%s': %s", device_id, WindowsErrorString()); | ||||
| 	} else if (conn_info_v2.Flags.DeviceIsOperatingAtSuperSpeedPlusOrHigher) { | ||||
| 		props->speed = USB_SPEED_SUPER_PLUS; | ||||
| 	} else if (conn_info_v2.Flags.DeviceIsOperatingAtSuperSpeedOrHigher) { | ||||
| 		props->speed = USB_SPEED_SUPER; | ||||
| 	} else if (conn_info_v2.Flags.DeviceIsSuperSpeedPlusCapableOrHigher) { | ||||
| 		props->lower_speed = 2; | ||||
| 	} else if (conn_info_v2.Flags.DeviceIsSuperSpeedCapableOrHigher) { | ||||
| 		props->lower_speed = 1; | ||||
| 	} | ||||
| 
 | ||||
| out: | ||||
|  |  | |||
							
								
								
									
										15
									
								
								src/pki.c
									
										
									
									
									
								
							
							
						
						
									
										15
									
								
								src/pki.c
									
										
									
									
									
								
							|  | @ -1,7 +1,7 @@ | |||
| /*
 | ||||
|  * Rufus: The Reliable USB Formatting Utility | ||||
|  * PKI functions (code signing, etc.) | ||||
|  * Copyright © 2015-2022 Pete Batard <pete@akeo.ie> | ||||
|  * Copyright © 2015-2023 Pete Batard <pete@akeo.ie> | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  | @ -539,14 +539,15 @@ uint64_t GetSignatureTimeStamp(const char* path) | |||
| 	timestamp = GetRFC3161TimeStamp(pSignerInfo); | ||||
| 	if (timestamp) | ||||
| 		uprintf("Note: '%s' has timestamp %s", (path==NULL)?mpath:path, TimestampToHumanReadable(timestamp)); | ||||
| 	// Because we are currently using both SHA-1 and SHA-256 signatures, we are in the very specific
 | ||||
| 	// situation that Windows may say our executable passes Authenticode validation on Windows 7 or
 | ||||
| 	// later (which includes timestamp validation) even if the SHA-1 signature or timestamps have
 | ||||
| 	// been altered.
 | ||||
| 	// This means that, if we don't also check the nested SHA-256 signature timestamp, an attacker
 | ||||
| 	// could alter the SHA-1 one (which is the one we use by default for chronology validation) and
 | ||||
| 	// Because we were using both SHA-1 and SHA-256 signatures during the SHA-256 transition, we were
 | ||||
| 	// in the very specific situation where Windows could say that our executable passed Authenticode
 | ||||
| 	// validation even if the SHA-1 signature or timestamps had been altered.
 | ||||
| 	// This means that, unless we also check the nested signature timestamp, an attacker could alter
 | ||||
| 	// the most vulnerable signature (which may also be the one used for chronology validation) and
 | ||||
| 	// trick us into using an invalid timestamp value. To prevent this, we validate that, if we have
 | ||||
| 	// both a regular and nested timestamp, they are within 60 seconds of each other.
 | ||||
| 	// Even as we are no longer dual signing with two versions of SHA, we keep the code in case a
 | ||||
| 	// major SHA-256 vulnerability is found and we have to go through a dual SHA again.
 | ||||
| 	nested_timestamp = GetNestedRFC3161TimeStamp(pSignerInfo); | ||||
| 	if (nested_timestamp) | ||||
| 		uprintf("Note: '%s' has nested timestamp %s", (path==NULL)?mpath:path, TimestampToHumanReadable(nested_timestamp)); | ||||
|  |  | |||
|  | @ -610,7 +610,7 @@ static DWORD WINAPI SearchProcessThread(LPVOID param) | |||
| 		if (!bGotCmdLine) | ||||
| 			bGotCmdLine = (GetModuleFileNameExU(processHandle, 0, cmdline, MAX_PATH - 1) != 0); | ||||
| 
 | ||||
| 		// The above may not work on Windows 7, so try QueryFullProcessImageName (Vista or later)
 | ||||
| 		// The above may not work on all Windows version, so fall back to QueryFullProcessImageName
 | ||||
| 		if (!bGotCmdLine) { | ||||
| 			bGotCmdLine = (QueryFullProcessImageNameW(processHandle, 0, wexe_path, &size) != FALSE); | ||||
| 			if (bGotCmdLine) | ||||
|  |  | |||
|  | @ -3325,7 +3325,7 @@ FARPROC WINAPI dllDelayLoadHook(unsigned dliNotify, PDelayLoadInfo pdli) | |||
| { | ||||
| 	if (dliNotify == dliNotePreLoadLibrary) { | ||||
| 		// Windows 7 without KB2533623 does not support the LOAD_LIBRARY_SEARCH_SYSTEM32 flag.
 | ||||
| 		// That is is OK, because the delay load handler will interrupt the NULL return value
 | ||||
| 		// That is OK, because the delay load handler will interrupt the NULL return value
 | ||||
| 		// to mean that it should perform a normal LoadLibrary.
 | ||||
| 		return (FARPROC)LoadLibraryExA(pdli->szDll, NULL, LOAD_LIBRARY_SEARCH_SYSTEM32); | ||||
| 	} | ||||
|  | @ -3685,8 +3685,7 @@ skip_args_processing: | |||
| 		nWindowsVersion = forced_windows_version; | ||||
| 
 | ||||
| 	// ...and nothing of value was lost
 | ||||
| 	// TODO: Set to <= for 3.23
 | ||||
| 	if (nWindowsVersion < WINDOWS_7) { | ||||
| 	if (nWindowsVersion <= WINDOWS_7) { | ||||
| 		// Load the translation before we print the error
 | ||||
| 		get_loc_data_file(loc_file, selected_locale); | ||||
| 		right_to_left_mode = ((selected_locale->ctrl_id) & LOC_RIGHT_TO_LEFT); | ||||
|  |  | |||
							
								
								
									
										12
									
								
								src/rufus.rc
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								src/rufus.rc
									
										
									
									
									
								
							|  | @ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL | |||
| IDD_DIALOG DIALOGEX 12, 12, 232, 326 | ||||
| STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||
| EXSTYLE WS_EX_ACCEPTFILES | ||||
| CAPTION "Rufus 3.22.2009" | ||||
| CAPTION "Rufus 3.23.2010" | ||||
| FONT 9, "Segoe UI Symbol", 400, 0, 0x0 | ||||
| BEGIN | ||||
|     LTEXT           "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP | ||||
|  | @ -392,8 +392,8 @@ END | |||
| // | ||||
| 
 | ||||
| VS_VERSION_INFO VERSIONINFO | ||||
|  FILEVERSION 3,22,2009,0 | ||||
|  PRODUCTVERSION 3,22,2009,0 | ||||
|  FILEVERSION 3,23,2010,0 | ||||
|  PRODUCTVERSION 3,23,2010,0 | ||||
|  FILEFLAGSMASK 0x3fL | ||||
| #ifdef _DEBUG | ||||
|  FILEFLAGS 0x1L | ||||
|  | @ -411,13 +411,13 @@ BEGIN | |||
|             VALUE "Comments", "https://rufus.ie" | ||||
|             VALUE "CompanyName", "Akeo Consulting" | ||||
|             VALUE "FileDescription", "Rufus" | ||||
|             VALUE "FileVersion", "3.22.2009" | ||||
|             VALUE "FileVersion", "3.23.2010" | ||||
|             VALUE "InternalName", "Rufus" | ||||
|             VALUE "LegalCopyright", "© 2011-2023 Pete Batard (GPL v3)" | ||||
|             VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" | ||||
|             VALUE "OriginalFilename", "rufus-3.22.exe" | ||||
|             VALUE "OriginalFilename", "rufus-3.23.exe" | ||||
|             VALUE "ProductName", "Rufus" | ||||
|             VALUE "ProductVersion", "3.22.2009" | ||||
|             VALUE "ProductVersion", "3.23.2010" | ||||
|         END | ||||
|     END | ||||
|     BLOCK "VarFileInfo" | ||||
|  |  | |||
|  | @ -1351,7 +1351,7 @@ LONG GetEntryWidth(HWND hDropDown, const char *entry) | |||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * Windows 7 taskbar icon handling (progress bar overlay, etc) | ||||
|  * Windows taskbar icon handling (progress bar overlay, etc) | ||||
|  */ | ||||
| static ITaskbarList3* ptbl = NULL; | ||||
| 
 | ||||
|  |  | |||
|  | @ -636,7 +636,7 @@ char* GetExistingMountPoint(const char* image, int index) | |||
| 	return (path[0] == 0) ? NULL: path; | ||||
| } | ||||
| 
 | ||||
| // Extract a file from a WIM image using wimgapi.dll (Windows 7 or later)
 | ||||
| // Extract a file from a WIM image using wimgapi.dll
 | ||||
| // NB: if you want progress from a WIM callback, you must run the WIM API call in its own thread
 | ||||
| // (which we don't do here) as it won't work otherwise. Thanks go to Erwan for figuring this out!
 | ||||
| BOOL WimExtractFile_API(const char* image, int index, const char* src, const char* dst, BOOL bSilent) | ||||
|  | @ -857,7 +857,7 @@ out: | |||
| 	return r; | ||||
| } | ||||
| 
 | ||||
| // Apply a WIM image using wimgapi.dll (Windows 7 or later)
 | ||||
| // Apply a WIM image using wimgapi.dll
 | ||||
| // https://docs.microsoft.com/en-us/previous-versions/msdn10/dd851944(v=msdn.10)
 | ||||
| // To get progress, we must run this call within its own thread
 | ||||
| static DWORD WINAPI WimApplyImageThread(LPVOID param) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue