1
1
Fork 0
mirror of https://github.com/pbatard/rufus.git synced 2026-07-09 06:55:39 +00:00
Commit graph

2,396 commits

Author SHA1 Message Date
Valdemar
c4d6a00c28
[loc] fix typos in Russian translation
* Closes #2859.
2025-11-12 17:42:34 +00:00
Mr-Update
2af24e460e
[loc] fix typos and improve German translation
* Also remove typos in English .loc comments and MSG_355 that's a duplicate of MSG_036.
* Closes #2851.
2025-11-12 17:34:53 +00:00
Grant
b2fd426028
[misc] correct the spelling of 'zstd' in ChangeLog.txt
* Closes #2860.
2025-11-12 17:19:39 +00:00
dependabot[bot]
d755303a10
[internal] bump actions/upload-artifact from 4 to 5
* Closes #2847.
2025-11-12 17:18:27 +00:00
Pete Batard
9d074f8591
[core] strengthen the pre-formatting partition cleanup code
* This aims at reducing errors with Windows and other apps trying to keep a hook into
  existing ESPs and other partitions, thereby causing access errors.
* This is expected to potentially help with #2776 and similar issues.
* Closes #2776.
2025-11-12 17:16:05 +00:00
Pete Batard
6629ef0941
[wue] fix wimlib not being able to modify boot.wim's larger than 2 GB
* Thank the C standard for choosing not to "standardize" the size of long (as
  one would rightfully expect from a *standard*) and instead going for a
  "should be at least" super vague definition, that led to lseek() on Windows
  and UNIX effectively using different offset sizes, and programmers everywhere
  getting bitten when taking a UNIX codebase and porting it to Windows...
* Closes #2837.
2025-10-20 13:44:33 +01:00
Pete Batard
af58b1cecd
[dbx] update DBXs to latest
* Also add 1% to projected size due to user-reported "no space on disk"
  errors when using Windows 11 25H2 against 8 "GB" UFDs.
2025-10-16 17:52:04 +01:00
Pete Batard
05526d4e6a
[iso] improve error reporting on ISO extraction issues
* Also disable NTFS cluster size that no longer work in recent versions of Windows.
2025-10-16 14:03:13 +01:00
Pete Batard
920a4c5c90
[ui] persist the toggle dark mode setting
* Note that if you use this toggle even once, then you will no longer be able to use
  system settings to toggle Dark Mode, unless you *MANUALLY* delete the registry key.
* Closes #2821.
* Also update github/codeql-action to v4.
* Closes #2833.
2025-10-14 13:22:59 +01:00
Pete Batard
90370405ad
[iso] disable splitting for ESDs
* Closes #2823.
* Also silence a MinGW warning in stdlg.c.
2025-10-13 16:48:43 +01:00
Pete Batard
fda1362eb0
[iso] fix saving to an ISO path that contains spaces
* Closes #2829.
* Also set rufus-next to 4.12.
2025-10-11 16:54:51 +01:00
Pete Batard
10694ae42e
Rufus 4.11 (Build 2285) v4.11
* Alter the WUE CA 2023 option text and remove duplicate translation for "ISO Image".
* Force cache-only when invoking CertGetCertificateChain (This should address #2781).
2025-10-02 17:53:22 +01:00
Pete Batard
56b4b9f249
[dbx] update SBAT/SVN to latest and improve reporting
* Explicitly report the SVN/SBAT number comparison in the log.
* Also don't perform revocation checks on unsigned bootloaders.
* Also add provision for CRLF handling when parsing our remote SBAT.
2025-10-01 13:08:58 +01:00
Pete Batard
2a8c066b72
[core] fix an application crash when the platform has a missing/failed dynamic disk
* With massive thanks to @amoki455 for helping figure that one out!
* Closes #2794.
* Also make sure we release pDisk on all conditions.
2025-10-01 11:42:25 +01:00
Pete Batard
bb11c037d7
[ui] add Ctrl-Alt-D cheat mode to toggle between Dark Mode and Light Mode
* Closes #2814.
2025-09-30 18:42:25 +01:00
Pete Batard
0de4db13d8
[ui] fix some GRUB/Syslinux downloads popups only showing a 'Close' button
* Because of Dark Mode support, and the fact that Microsoft does not offer system
  dialogs that support Dark Mode (even the more "modern" Task Dialog is a joke in
  that respect, with people having to resort to using detours to fix this massive
  letdown from Microsoft. See https://github.com/SFTRS/DarkTaskDialog), we had to
  switch to use our own custom dialogs instead of using MessageBox().
* And of course, since we had to recreate the whole smorgasbord of what Microsoft
  offers in terms of button configuration, it's unsurprising that we forgot to add
  support for one conf (MB_YESNOCANCEL) that some of the download prompts use.
* Closes #2813.
2025-09-26 13:50:12 +01:00
Pete Batard
6a1c2b4087
[wue] fix assert being triggered when using the CA 2023 option on its own...
...or with an option that doesn't require poking into boot.wim.

* Closes #2815.
* Also report the use of the CA 2023 option in the log.
* Also set rufus-next to 4.11.
2025-09-26 13:38:59 +01:00
Pete Batard
1c201cc01f
Rufus 4.10 (Build 2279) v4.10
* Improve persistence support for Linux Mint.
* Closes #2807.
* Also fix the Swedish translation.
2025-09-24 12:26:56 +01:00
Pete Batard
329e9705e2
[wue] remove an unneeded condition
* Also update ChangeLog.txt for BETA.
2025-09-10 13:30:08 +01:00
VenusGirl❤
3619bad538
[loc] update Korean translation
* Closes #2792.
2025-09-10 13:06:25 +01:00
Pete Batard
1740def709
[wue] finally add a working WUE option for creating Windows CA 2023 compatible installation media
* Requires Windows 11 25H2 or later.
2025-09-10 11:55:29 +01:00
Pete Batard
3ec2ac3aab
[vhd] fix no error being reported back when there's an issue with saving to VHD
* Closes #2799.
* Also fix some more Coverity warnings.
2025-09-08 13:45:58 +01:00
Pete Batard
10fc6727da
[ui] Use our own Dark Mode compatible Notification() instead of MessageBox()
* Also fix return values for Notification() and add MB_ABORTRETRYIGNORE support.
* Also fix one last Coverity warning with size_t and printf.
2025-09-05 20:06:07 +01:00
Pete Batard
7b8ddbe3ec
[ui] improve notification dialog handling
* Use MessageBox()'s MB_ constants instead of redefining our own.
* Fix the *BROKEN* 200% scaling that Microsoft uses for warnings, that includes a pixel
  that should have been set to transparent but that instead was set to white.
* This'll allow us to switch to using our Dark Mode compatible notifications dialogs in
  a future commit, instead of relying on the non Dark Mode compatible MessageBox().
2025-09-03 20:51:53 +01:00
Pete Batard
99c04a9f46
[misc] fix various printf issues
* Also bump actions/checkout to v5.
* Closes #2791.
2025-09-03 11:32:12 +01:00
ozone10
8ec08c1f9e
[ui ] fix broken dark mode on old Windows 10 builds
* Closes #2780.
* Closes #2766.
2025-07-29 17:57:36 +01:00
Kazkans
00f7bd193f
[vhd] return an error if there is not enough space on disk to save VHD/VHDX
* Closes #2779.
2025-07-29 16:52:21 +01:00
Pete Batard
e43d6bbc8a
[core] fix crash when trying to open a Windows ISO with a very long path
* The current wimlib code makes repeated attempts to close stdin (0) on cleanup when a WIM cannot
  be opened, which doesn't sit too well with MSFT's _close() as it invokes an invalid parameter
  exception handler that can make the application crash...
* This may happen when we try to open the WIM from an ISO that has been truncated because it
  resides on a path that is longer than MAX_PATH on account that wimlib repeatedly attempts to
  close the phantom stdin fd's it sees assigned to its internal (and unused) WIMStruct after it
  errors out on trying to open the image.
* So we declare stdin as invalid for use with Visual Studio compiled apps.
* For good measure we also increase the size of the string arrays we used for WIM paths to 1024
  UTF-8 characters, and add explicit asserts in case we have to truncate these paths (since we
  are quite curious about real-life scenarios where people need paths longer than 1024).
* Closes #2777.
* Also improve the safe_strcp() and safe_sprintf() macros and fix some unwarranted "Command was
  terminated by user" messages introduced in commit ea01cd41c0.
2025-07-25 17:52:42 +01:00
Pete Batard
c93793092a
[internal] rename the if_not_assert() macro to a more explicit if_assert_fails()
* Also add a new if_assert_succeeds() macro.
2025-07-25 14:56:22 +01:00
Pete Batard
1a4175891b
[iso] fix a situation where no file system might be proposed in ISO mode
* The Nutanix phoenix.x86_64-fnd_5.6.1_patch-aos_6.8.1_ga.iso contains a GRUB bootloader that somehow stripped
  the 'fshelp' source string from the fat module, and therefore prevents Rufus from detecting that FAT32 support
  is available.
* As a result, since NTFS is also not supported, no file system able to be selected by the user for ISO mode,
  and the media creation process fails with "Could Not Partition Drive".
* Fix this by only disabling FAT32 in ISO mode if NTFS is available, and producing a warning in the log if we
  have to forcefully enable FAT32 even if we didn't detect FAT32 compatibility.
* Closes #2769.
* Also add the setup wrapper binaries produced from previous commit and harmonise the casing of WARNING messages.
2025-07-16 14:07:24 +01:00
Pete Batard
3bbdd6624e
[wue] cd to wrapper directory before looking for setup.dll
* Closes #2757.
2025-07-10 10:52:17 +01:00
Pete Batard
c6a85b09ae
[ui] fix wrong colour for disabled text in dark mode
* Closes #2764.
* Also fix signature not being properly applied to MinGW GitHub Actions ALPHA builds.
2025-07-03 22:28:42 +02:00
Pete Batard
e571996525
[misc] sign the GitHub ALPHA builds using self-signed credentials
* Obviously, this does not use the same Authenticode credentials we use for actual releases
  (which we wouldn't be able to export anyway, as it resides on a hardware token), but it
  should help officialize our GitHub builds, as well as remove an extra prompt.
* Also move the revoked UEFI bootloader check before the DD vs ISO check, so that people
  choosing DD mode still get alerted about the revoked bootloaders.
* Also don't refresh the device list after saving to image, and fix a Coverity warning.
2025-07-01 14:23:34 +01:00
Pete Batard
a2dd380e93
[iso] add save selected drive to ISO feature
* Requires the download of oscdimg.exe, courtesy of Microsoft's symbol servers.
* UDF only, since this is mostly intended for Windows and even with Joliet, Microsoft's
  implementation of ISO-9660 is crippled (fails to use multi-extent for >4GB files, which
  results in BROKEN ISO images) and too limited.
* Note that this is different from our other save to ISO feature (Alt-O), that dumped
  the first optical media found on the system to an ISO.
* Also fix a Coverity warning as well as a possible crash in PopulateWindowsVersion()
  when opening an invalid image (such as the ISO-9660 ones created by oscdimg).
2025-06-30 11:54:36 +01:00
Pete Batard
a8901f5e58
[core] switch to jserv/cregex for the regexp parser
* We need group support for group matches and tiny-regex-c doesn't support them.
2025-06-27 15:29:08 +01:00
Minh Nguyễn Quang
8cf88ffe7a
[loc] update Vietnamese translation 2025-06-26 12:21:16 +01:00
Pete Batard
446e71f56d
[dbx] fix UTC epoch being interpreted as local time for DBX timestamp comparison
* Per MS documentation, _mktime64() *ALTERS* the time being passed to first add/substract
  the timezone offset before converting to an epoch.
* This resulted in our evaluated epoch from the DBX GitHub commit being a few hours more
  recent than the epoch we store for our embedded files (which is UTC) for timezones that
  are behind of UTC, since their epoch have an offset added to convert localtime to UTC.
* Fix this by using _mkgmtime64() that does not suffer an unwanted time manipulation.
* For safety, also use -u for epoch format conversion in our script just in case.
* Closes #2762.
* Also comment the "unsupported check; not verifying file integrity" warning for XZ
  decompression, improve XZ ARM64 support and add an exception for some Samsung UFDs.
2025-06-25 10:54:10 +01:00
Pete Batard
94a2c7c2fb
[ui] fix checkboxes being erroneously enabled
* The "Quick Format" and "Create extended label" checkbox could be enabled when no device
  is detected by checking the "List USB Hard Drives". Fix that.
* Also fix/silence some Coverity warnings (div by zero, overflow, unreachable code, uninit'd mem).
* Also ad @ozone10 to the credits for the Dark Mode UI.
2025-06-18 15:42:13 +01:00
ozone10
170440e51c
[ui] add dark mode support
* Also fix erroneous use of EndDialog() instead of DestroyWindow() in rufus.c,
  which resulted in WM_DESTROY/WM_NCDESTROY messages not being generated.
* Closes #2713.
* Closes #2510.
* Closes #1453.
2025-06-17 14:41:31 +01:00
Pete Batard
e9f451dfe0
[dbx] prettify JSON output for parsing since GitHub/curl may return monoblock JSON data
* Also set rufus-next to 4.10.
2025-06-16 13:50:02 +01:00
Pete Batard
9a32dba290
Rufus 4.9 (Build 2256) v4.9
* This is a bugfix release, that addresses critical issue #2756 as well as minor issue #2754.
2025-06-15 21:22:13 +01:00
Pete Batard
3791b96fcd
[net] fix downloads no longer working after the recent GitHub server update
* GitHub appears to have updated their HTTP servers to enable gzip compression when requested.
* Unfortunately, the default from Rufus was to attempt to use compression where possible
  (ironically in an effort to save GitHub some bandwidth), which doesn't seem to sit too well
  with Windows' HttpQueryInfoA(HTTP_QUERY_CONTENT_LENGTH) API, as it errors out on trying to
  produce the content-length *DESPITE* the field being reported by GitHub in the HTTP header.
* As a result, we switch all HTTP downloads *not* to try to use compression by forcing
  "Accept-Encoding: identity".
* Unfortunately, besides affecting the download of resources such as GRUB/Syslinux ones, it
  also affects the ability to look for updates, which means that NONE of the version of Rufus
  prior to 4.9 (outside of the Windows Store ones) will be able to find that there exists a
  newer version to update to... :(
* Closes #2756.
2025-06-15 21:17:32 +01:00
Pete Batard
e128727521
[wue] fix WUE dialog not being presented on WIMs with a single image
* As opposed to what we used with the old parser, ezxml's indexes now start at 0 rather than 1.
* Closes #2754.
* Also set rufus-next to 4.9.
2025-06-13 16:37:46 +01:00
Pete Batard
d06b729659
Rufus 4.8 (Build 2253) v4.8
* Also update x64 DBX to latest (since Microsoft has to update the DBX the very same day we pushed a new release)
2025-06-11 12:34:08 +01:00
Josef Šimánek
dab438d814
[loc] fix typo in Czech translation
* Closes #2746.
2025-06-10 16:58:28 +01:00
Pete Batard
fe9b137902
[wue] forward wrapper parameters to original setup.exe
* Also fix MinGW builds from outside of root directory
* Closes #2751
* Closes #2752
2025-06-09 17:30:18 +01:00
Pete Batard
688f011f31
[iso] improve UEFI bootloader reporting
* Add systemd-boot version reporting and fix GRUB version detection for CentOS
* Add notes about the various Secure Boot gotchas (log only)
* Enable download of remote active/revoked Secure Boot certificate thumbprints
* Also rename the ceiling/floor align macros
2025-05-26 20:56:26 +01:00
Pete Batard
207a330979
[core] fix a crash due to overzealous MSVC optimizations
* Visual 2022 version 17.14.2 changes the way it performs optimizations with /O2
  which results in innocuous C statements, such as invoking strtoul() twice on
  the same line, and using the pointer returned by the first call in the second,
  crashing the application with a read access violation (when built as RELEASE).
* To alleviate that, we break down the Syslinux strtoul() invocation, as well as
  harden our Syslinux version processing while we're at it.
* Hopefully this is the only line of code where the new mode of MSVC optimisation
  creates a problem with...
* Closes #2740.
2025-05-23 14:50:51 +01:00
Pete Batard
be5642ef33
[iso] add more DD-only exceptions for openSUSE and Nobara
* The openSUSE maintainers don't care about their users, so we have to care in their stead.
* As for Nobara images, that use the Red Hat GRUB bootloaders with no support for NTFS and
  that include files larger than 4 GB, we now attempt to detect the filesystems supported
  by EFI GRUB, in order to decide how we can proceed with the writing of such images.
  We take this opportunity to improve our reporting on the GRUB bootloaders we detect.
* Plus the usual Coverity dance.
2025-05-19 17:24:48 +01:00
Pete Batard
bb8f231c07
[misc] fix Coverity warnings for Syslinux and libcdio
* Also increase libcdio's ISO9660 read buffer sanity check to 1 GB.
2025-05-19 13:28:23 +01:00