[iso] enable menu.lst patching

* Closes #2183
* Also improve safe_strdup() and "update" Grub4DOS to latest
  (NB: grldr.mbr has not changed in the last few years)
This commit is contained in:
Pete Batard 2023-03-18 14:20:39 +00:00
parent 4a0940ad23
commit 737db33f9c
No known key found for this signature in database
GPG Key ID: 38E0CF5E69EDD671
5 changed files with 23 additions and 10 deletions

View File

@ -1,3 +1,15 @@
o Version 3.22 (2022.03.??)
Add SHA-1 and SHA-256 x86 acceleration on CPUs that support it
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
Fix potential media creation errors by forcing the unmount of stale WIM images
Fix potential access errors in ISO → ESP mode by forcing Large FAT32 formatting
Fix user-specified label not being preserved on error/cancel
Fix some large SSD devices being listed by default
Fix processing of Rock Ridge CE fields
Work around the use of Rock Ridge symbolic links for Linux firmware packages (Debian)
Remove the ISO download feature on Windows 7
o Version 3.21 (2022.11.28)
Allow the provision of an arbitrary local account username in the Windows User Experience dialog
Improve Windows version reporting from ISO/.wim

View File

@ -1,6 +1,6 @@
This directory contains the Grub4DOS boot records that are used by Rufus
* grldr.mbr was taken from the official 2021-10-15 release from
* grldr.mbr was taken from the official 2023-03-06 release from
https://github.com/chenall/grub4dos/releases/tag/0.4.6a
* Note that, for convenience reasons, the first 512 bytes from this grldr.mbr are

View File

@ -103,7 +103,7 @@ static const char* wininst_name[] = { "install.wim", "install.esd", "install.swm
// If the disc was mastered properly, GRUB/EFI will take care of itself
static const char* grub_dirname[] = { "/boot/grub/i386-pc", "/boot/grub2/i386-pc" };
static const char* grub_cfg[] = { "grub.cfg", "loopback.cfg" };
static const char* menu_cfg = "menu.cfg";
static const char* menu_cfg[] = { "menu.cfg", "menu.lst" };
// NB: Do not alter the order of the array below without validating hardcoded indexes in check_iso_props
static const char* syslinux_cfg[] = { "isolinux.cfg", "syslinux.cfg", "extlinux.conf", "txt.cfg" };
static const char* isolinux_bin[] = { "isolinux.bin", "boot.bin" };
@ -200,8 +200,9 @@ static BOOL check_iso_props(const char* psz_dirname, int64_t file_length, const
if (safe_stricmp(psz_basename, grub_cfg[i]) == 0)
props->is_grub_cfg = TRUE;
}
if (safe_stricmp(psz_basename, menu_cfg) == 0) {
props->is_menu_cfg = TRUE;
for (i = 0; i < ARRAYSIZE(menu_cfg); i++) {
if (safe_stricmp(psz_basename, menu_cfg[i]) == 0)
props->is_menu_cfg = TRUE;
}
}

View File

@ -160,7 +160,7 @@
#define static_sprintf(dst, ...) safe_sprintf(dst, sizeof(dst), __VA_ARGS__)
#define safe_atoi(str) ((((char*)(str))==NULL)?0:atoi(str))
#define safe_strlen(str) ((((char*)(str))==NULL)?0:strlen(str))
#define safe_strdup _strdup
#define safe_strdup(str) ((((char*)(str))==NULL)?NULL:_strdup(str))
#if defined(_MSC_VER)
#define safe_vsnprintf(buf, size, format, arg) _vsnprintf_s(buf, size, _TRUNCATE, format, arg)
#else

View File

@ -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.2002"
CAPTION "Rufus 3.22.2003"
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,2002,0
PRODUCTVERSION 3,22,2002,0
FILEVERSION 3,22,2003,0
PRODUCTVERSION 3,22,2003,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.2002"
VALUE "FileVersion", "3.22.2003"
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 "ProductName", "Rufus"
VALUE "ProductVersion", "3.22.2002"
VALUE "ProductVersion", "3.22.2003"
END
END
BLOCK "VarFileInfo"