1
1
Fork 0
mirror of https://github.com/pbatard/rufus.git synced 2024-08-14 23:57:05 +00:00
Commit graph

175 commits

Author SHA1 Message Date
Pete Batard
f4be099f08
[ci] add codeQL static analysis 2021-09-04 01:20:12 +01:00
Pete Batard
405fc6bfae
[misc] report UEFI Shell download feature in README
* See pbatard/Fido@2ee5f896d3 along with https://github.com/pbatard/UEFI-Shell.
* Also set rufus-next to 3.16.
2021-08-25 15:24:56 +02:00
Pete Batard
02aa03078b
v3.15 (build 1812) 2021-08-03 11:33:07 +01:00
Pete Batard
8538ce0590
[misc] fix some Coverity warnings 2021-08-02 13:22:49 +01:00
Pete Batard
436584fcc0
[appstore] revert AppStore version detection to rufus.app presence check
* This basically reverts the changes from 9dfa31db03.
2021-08-01 21:50:11 +01:00
Pete Batard
723b6c98a2
[grub] add workaround for openSUSE Live ISOs
* In their great wisdom, the openSUSE maintainers added a 'set linux=linux'
  line to their grub.cfg, which means that their kernel option token is no
  longer 'linux' but '$linux'... and we have to add a workaround for that.
2021-07-29 22:37:09 +01:00
Pete Batard
94a2789296
[ci] add SHA-256 display and VirusTotal upload 2021-07-29 14:42:08 +01:00
Pete Batard
9da4a49ab8
[misc] switch to GitHub actions for CI 2021-07-29 01:10:53 +01:00
Pete Batard
7afa7348cf
[misc] update ChangeLog for BETA 2021-07-28 16:51:32 +01:00
Pete Batard
41a9436649
[core] automatically save log to %LocalAppData%\Rufus\rufus.log on exit 2021-07-28 16:37:45 +01:00
Pete Batard
8ceb0045fa
[grub] update embedded GRUB to 2.06
* Also enable NTFS and ext# as GRUB2 compatible file systems.
2021-07-27 18:10:29 +01:00
Pete Batard
6ed7524c1b
[ui] fix download status message remaining indefinitely
* Closes #1727
2021-07-26 17:19:45 +01:00
Pete Batard
0475f4796a
[cmp] fix some Coverity warnings 2021-07-26 16:57:48 +01:00
Pete Batard
57af9e7106
[misc] set rufus-next to 3.15
* Also update DB for GRUB 2.06 binary and fix a line break when writing images
2021-06-22 19:08:34 +01:00
longpanda
49eefa2e03
[cmp] add support for Ventoy Sparse Image (.vtsi) 2021-06-22 19:08:33 +01:00
Pete Batard
4f97cdfdc3
[ui] increase projected size to prevent persistence overflow
* If users set the persistent size to max, we may run into a situation
  where projected size (which is always a rough estimation) is too low.
* When persistence is in use, we increase the projected size by 10%, to
  ensure that the above scenario cannot happen.
* Also work around potential issues with Windows APIs when the application
  is launched from the root of a drive.
2021-06-10 17:18:40 +01:00
Pete Batard
9d7e96e293
[core] move downloads from <app_location>\rufus_files\ to %LOCALAPPDATA%\Rufus\
* While this is intended to solve the issue of saving GRUB/Syslinux files for the
  App Store version, we apply this change globally, as it allows the user to move
  the Rufus executable around while preserving access to existing downloads.
* Closes #1744
2021-05-31 16:54:11 +01:00
Pete Batard
aeae66e971
[efi] prevent a drive letter to be assigned to the UEFI:NTFS partition
* Closes pbatard/uefi-ntfs#25
* Also make the UEFI:NTFS partition read-only for release version
2021-05-29 13:59:59 +01:00
Pete Batard
702a60630f
[appstore] update supported languages 2021-05-28 22:02:19 +01:00
Pete Batard
3db3bf527f
[appstore] add French to app listing 2021-05-27 16:49:46 +01:00
Pete Batard
f26fd2fbe3
[fido] add additional Authenticode validation before running the script
* This basically means that the script is validate *TWICE*, using two
  completely independent signatures, before it is allowed to run, which
  should add another mitigation layer against TOCTOU (which we already
  friggin' mitigated against anyway) and other potential vectors of
  attack.
* Also remove -DisableFirstRunCustomize option and the associated cookie
  prompt monitoring, which the latest version of Fido no longer requires.
* Also update WDK version for signtool and flesh out PKI error messages.
2021-05-27 00:19:25 +01:00
Pete Batard
3083324a0e
[internal] switch to using workflows to lock old issues
* GitHub's Lock bot has been replaced with a new lock action -> Use this.
2021-05-26 13:07:26 +01:00
Pete Batard
3bb83709da
[core] avoid the creation of 'System Volume Information' for ESPs written in DD mode
* Trying to mount accessible partitions after writing an image may lead to the
  creation of the infamous 'System Volume Information' folder on ESPs, which in
  turn leads to checksum errors for Ubuntu's boot/grub/efi.img (that maps to the
  Ubuntu ESP). So comment out that code.
* Also fix a missing CRLFs in the log after displaying write progress.
2021-05-18 15:18:28 +01:00
Oree111
03ef8aa024
[loc] fix a typo in Polish translation
* Closes #1730
2021-05-09 13:20:16 +01:00
Pete Batard
e22955aa2b
[core] fix fast-zeroing assertion 2021-05-04 21:04:30 +01:00
Sasa Vujanic
7e114ad55a
[loc] updated Croatian translation 2021-05-03 11:50:48 +01:00
Pete Batard
1c470a5ec2
v3.14 (build 1788) 2021-04-30 13:36:17 +01:00
Sasa Vujanic
2b5329037b
[loc] update Croatian translation to latest 2021-04-30 13:28:44 +01:00
Gintaras Venslovas
73f26d74b9
[loc] update Lithuanian translation to latest 2021-04-30 00:11:11 +01:00
anni deer
410f6e8170
[loc] update Danish translation to latest 2021-04-29 16:15:47 +01:00
Matej Horvat
e49ef606ab
[loc] update Slovenian translation to latest 2021-04-29 11:49:47 +01:00
Tiryoh
5553c8f2fd
[loc] update Japanese translation to latest 2021-04-27 21:28:06 +01:00
Костянтин Сергійович
3fdfa478ed
[loc] update Ukrainian translation to latest 2021-04-25 12:32:47 +01:00
Pete Batard
2bcb68efd8
[misc] update ChangeLog for BETA
* Since Ubuntu 21.04 forces a new release...
* Also update DB for latest GRUB "2.04" and fix a minor loc capitalization issue
2021-04-23 22:25:56 +01:00
Pete Batard
9c8fa40995
[ui] add forced DD mode exceptions for Red Hat based distros
* Anaconda broke ISO compatibility, most likely with the following commit:
  84529204fe
* However, Ret Hat, and its followers, have drunk the "DD only" kool aid, and
  appear to be blissfully unaware of the very real drawbacks that enforcing a
  "DD only" mode for ISOHybrid can actually place on distro users.
* Rather than spend another wasted effort trying get people, who appear to be
  impervious to even remotely consider the idea that DD imaging can have flaws,
  to look into the possibility that Red Hat might indeed have introduced a
  regression, and given the downright hostility I have been subjected to from
  trying to state this *very verifiable* fact, we'll just force DD mode for the
  affected Red Hat and derivatives, whilst trusting that users will be smart
  enough to compare their more limited installation experience against the ones
  from other distros (such as Arch, Debian or Ubuntu, which, unlike Red Hat and
  co., appear to fully understand that the whole ISOHybrid vs DD mode situation
  is not all black and white), and see for themselves which distros do actually
  place *their* interests first, rather than just the interests of the distro
  maintainers...
2021-04-23 17:04:55 +01:00
Pete Batard
16c0e8e2a2
[misc] UFD vs HDD detection improvements 2021-04-23 12:03:43 +01:00
Pete Batard
252759eb91
[grub] add yet another frigging patch to GRUB "2.04"
* GRUB 2.0 maintainer think they're doing a fine job, even when there are
  CRITICAL SECURITY FIXES that should warrant an immediate out of bound
  release, and instead consider that waiting MONTHS or YEARS to release
  anything is not a big deal at all.
* Ergo, distros, such as Ubuntu, start to pick whatever security patches
  they see fit, since they can simply not RELY on the upstream project to
  produce security releases in a timely manner. One such patch is:
  https://lists.gnu.org/archive/html/grub-devel/2021-03/msg00012.html
* But since there is no new GRUB release per se, they still call their GRUB
  version, onto which they applied patches that have come into existence
  more than 2 years after the actual 2.04 release, "GRUB 2.04".
* Obviously, since GRUB 2.04 + literally hundreds of cherry picked patches
  does deviate a lot from the last release, THINGS BREAK IN SPECTACULAR
  FASHION, such as the recently released Ubuntu 21.04 failing to boot with
  the error: grub_register_command_lockdown not found.
* Oh, and of course, regardless of all the above, if you ask anyone, they'll
  tell you that there's nothing fundamentally wrong with the GRUB release
  process (even if they should long have released 2.05, 2.05-1 and 2.05-2,
  were their maintainer ready to acknowledge that delaying releases DOES
  CREATES MAJOR ISSUES DOWSTREAM, as many people REPEATEDLY pointed to them
  on the GRUB mailing list) or with the Ubuntu GRUB versioning process (that
  really shouldn't be calling their version of GRUB "grub-2.04" but instead
  something like "grub-2.04_ubuntu"). Oh no siree! Instead, the problem must
  all be with Rufus and its maintainer, who should either spend their lives
  pre-emptively figuring which breaking patch every other distro applied out
  there, or limit media creation to DD mode, like any "sensible" person
  would do, since DD mode is the ultimate panacea (Narrator: "It wasn't").
* So, once again, a massive thanks to all the people who have been involved
  in the current GRUB 2.0 shit show, whose DIRECT result is to make end
  users' lives miserable, while GRUB maintainers are hell bent on continuing
  to pretend that everything's just peachy and are busy patting themselves
  on the back on account that "Fedora recently dropped more than 100 of the
  custom patches they had to apply to their GRUB fork" (sic). Nothing to see
  here, it's just GRUB maintainer's Jedi business as usual. Besides, who the
  hell cares about Windows users trying to transition to Linux in a friendly
  manner anyway. I mean, as long as something doesn't affect existing Linux
  users, it isn't a REAL problem, right?...
2021-04-23 12:01:23 +01:00
Pete Batard
8f0d248a56
[misc] add regexp engine
* From https://github.com/kokke/tiny-regex-c
2021-04-22 22:43:20 +01:00
Pete Batard
a0904cad35
[core] switch to async I/O for image writing
* Combined with the increase in buffer size from previous commits, this
  should help us get close to a device's maximum write speed.
* Also add async write support to winio.h
* Also increase the buffer size for bad blocks check operations
2021-04-22 01:01:56 +01:00
Pete Batard
80eca5739d
[core] split zeroing and dd write operations
* This is in preparation for async reads
* Also move open/close image operations to WriteDrive()
* Also increase DD buffer size to 32 MB to improve performance
2021-04-21 22:58:41 +01:00
Pete Batard
d77a825ffd
[misc] don't overdo CoUninitialize calls
* 2e1833e91e introduced issues with VDS since, despite what
  Microsoft's documentation says, balancing CoInitialize with CoUninitialize
  leads to VDS not properly relinquishing disk access.
2021-04-14 18:13:36 +01:00
Suttirak Mattayawerakiat
c9a0fcd0bf
[loc] update Thai translation to latest 2021-04-13 17:36:18 +01:00
Jakub Zieciak
5abdce4b3c
[loc] update Polish translation to latest 2021-04-11 21:33:48 +01:00
Jakub Zieciak
a370a8ddc6
[loc] update Norwegian translation to latest 2021-04-11 21:32:30 +01:00
Pete Batard
2e1833e91e
[misc] improve CoInitialize calls
* Balance with CoUninitialize and add COINIT_DISABLE_OLE1DDE
* Also add /BREPRO linker flag for reproducible VS2019 release builds
2021-04-09 12:36:30 +01:00
Pete Batard
2a3e82fa96
[misc] switch to using LoadLibraryEx everywhere
* This allows us to further mitigate DLL side loading by enforcing
  LOAD_LIBRARY_SEARCH_SYSTEM32 / LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR.
2021-04-09 11:31:52 +01:00
Pete Batard
c9e71de898
[ui] disable drag and drop during drive creation
* Closes #1672
* Also fix Rufus MBR not being selected when switching partition scheme to MBR
* Also fix users being prompted twice for ISO → ESP
2021-04-08 17:29:13 +01:00
MaKK
f2ca5a3121
[loc] update Spanish translation to latest 2021-04-07 21:06:19 +01:00
Martin Kubánik
19326d151a
[loc] update Slovak translation 2021-04-07 10:43:33 +01:00
Riku Brander
6e6d3227a3
[loc] update Finnish translation to latest 2021-04-06 13:06:17 +01:00
Dinis Medeiros
9f1b37b77a
[loc] update Portuguese (Portugal) translation to latest 2021-04-03 20:43:32 +01:00
Chocobo1
629ae34fbd
[loc] update Chinese (Traditional) translation to latest
* Closes #1712
2021-04-03 20:38:37 +01:00
Jiawei Wang
574114d0ee
[loc] update Chinese (Simplified) translation 2021-04-03 20:38:34 +01:00
Thilo Langbein
2b87f89325
[loc] update German translation to latest 2021-04-02 22:07:56 +01:00
Miloš
4edb99e462
[loc] update Serbian translation to latest 2021-04-02 22:04:55 +01:00
Itiel
0e65eab27f
[loc] update Hebrew translation to latest 2021-04-02 17:01:32 +01:00
Aldis Tutins
06e6a3cbee
[loc] update Latvian translation to latest 2021-04-02 12:42:04 +01:00
Roberto Boriotti
6ae66d1adf
[loc] update Italian translation to latest 2021-04-02 12:39:19 +01:00
Thomas De Rocker
bba6684928
[loc] update Dutch translation to latest 2021-04-02 12:13:43 +01:00
Uk-Jin Jang
4f5246c7a9
[loc] update Korean translation to latest 2021-04-02 11:53:52 +01:00
Arif Budiman
0ae9c617f4
[loc] update Indonesian translation to latest 2021-04-02 11:30:56 +01:00
Sopor
286480e50a
[loc] update Swedish translation to latest 2021-04-01 23:32:59 +01:00
Mehmetali Kuran
be7f9d815e
[loc] update Turkish translation to latest
* Also fix a translation ChangeLog.txt typo
2021-04-01 23:29:31 +01:00
Pete Batard
fbd6521789
[loc] fix incorrect use of KB instead of byte in Russian translation 2021-03-31 19:11:43 +01:00
Pete Batard
5803d7ad8a
[loc] update French translation
* Also fix MinGW warning
2021-03-31 16:38:09 +01:00
Pete Batard
b3eca3451d
[loc] update for new translation round 2021-03-31 13:21:57 +01:00
Pete Batard
9dfa31db03
[appstore] improve AppStore version detection
* Also fix ESP prompt no longer appearing
2021-03-31 13:21:52 +01:00
Pete Batard
9aea069f84
[misc] update autotools support files 2021-03-25 23:57:34 +00:00
Pete Batard
29c10d3ee0
Update Grub4DOS and signature DB to latest
* Of course, since Grub4DOS's grldr.mbr hasn't changed from previous releases
  there's not much to update there, but then again, people like version bumps.
2021-03-25 21:19:13 +00:00
Pete Batard
480214bbb6
[ui] add a message for ISOHybrids that don't allow for ISO mode
* Also limit VDS refresh to DD image writing
* Also increase the number of loc messages
2021-03-25 20:49:45 +00:00
Pete Batard
a3df3b0fb3
[ui] move Syslinux/GRUB downloads after the ISO vs DD mode selection 2021-03-25 19:52:33 +00:00
Pete Batard
1f4a2aaf30
[misc] fix a warning in msapi_utf8.h
Also set the AppStore default codepage to UTF-8
2021-03-25 19:27:27 +00:00
Pete Batard
bb291df342
[appstore] disable update related elements and enable Fido always
* The check for update is not necessary or even desirable for the AppStore
  version, since the Windows Store takes care of updating the app.
2021-02-08 21:02:01 +00:00
Pete Batard
1062dde076
[appstore] add AppStore version detection
* Also make sure we don't include appstore.listing.csv in the app
  and remove unneeded call to GetModuleHandle() in pki.c.
2021-02-07 20:25:21 +00:00
Pete Batard
b3daef6a67
[appstore] use a separate solution for App packaging
* Also update _chver.sh and fix version in Package.appxmanifest
2021-02-07 20:19:53 +00:00
Pete Batard
b2492908be
[net] switch to INetworkListManager::GetConnectivity to detect connectivity
* InternetGetConnectedState() is next to useless and doesn't provide
  coherent outcome on the ARM64 platform I'm testing with. This results
  in Rufus declaring that Internet is unavailable on platforms that do
  have actual Internet connectivity.
* Swicth to using INetworkListManager::GetConnectivity(), which actually
  reports a dependable result.
* Closes #1691
* Also remove the mutex for uprintf(), which may produce thread lockout
  and remove an unwanted double GetSignatureName() call on startup.
2021-02-06 18:58:42 +00:00
Pete Batard
e4372a9f57
[appstore] don't exit on unhandled parameters
* Looks like executables installed from the Windows Store launch with a "/InvokerPRAID"
  added parameter, which of course BREAKS apps that have a defined set of parameters
  and don't except that Microsoft would gingerly add random unwanted stuff there...
* The provision of this extra parameter also appears to be tied to using one of:
  - <TargetDeviceFamily Name="Windows.Universal" ...>
  - <uap:SplashScreen ...>
  - <Application EntryPoint="$targetentrypoint$" ...>
  in the appxmanifest.
* This resulted in our argument processing loop to cause early exit on account that an
  unexpected option was provided.
* Fix this by adding an explicit check for /InvokerPRAID and not exiting on unhandled
  params and removing or altering the 3 appxmanifest options listed above.
* Also set an explicit Windows.FullTrustApplication and remove splash screen.
* Also update _pre-commit.sh to update appstore build number automatically.
* Also remove splash screen images, add store listing CSV and toggle App builds to manual.
* Closes #1690
2021-02-05 17:47:48 +00:00
Pete Batard
2707f11313
[internal] add Windows AppStore project files
* These are the settings used to publish the official app at:
  https://www.microsoft.com/store/apps/9PC3H3V7Q9CH
2021-02-04 12:26:27 +00:00
Pete Batard
fce645543f
[dev] add exception for Realtek card readers
* Also update copyright year to 2021
* Also update version for rufus-next
* Also set Win32 "A" APIs to UTF-8 and enable long paths in manifest
2021-01-06 19:27:31 +00:00
Pete Batard
5876495938
v3.13 (build 1730) 2020-11-20 13:25:51 +00:00
Pete Batard
b2b621cec7
[core] improve mounting/unmounting of volumes
* Factorize drive letter removal into a RemoveDriveLetters() call.
* Improve MountVolume() and RemountVolume() calls.
* Also bump Rufus version to 3.13
2020-10-26 11:48:33 +00:00
Pete Batard
c842ef9023
v3.12 (build 1710) 2020-10-14 12:50:12 +01:00
Pete Batard
2d6a73e4f4
[checksum] enable toggling of SHA512 (Alt-H)
* Also fix overflow digest test into message length
* Also switch log font to Consolas
* Also update version to rufus-next
2020-06-25 11:58:56 +01:00
Pete Batard
1e85b4dbf5
v3.11 (build 1678)
* Also fix a warning in msapi_utf8.h
2020-06-18 11:43:33 +01:00
Pete Batard
7463fa6da3
[efi] update the UEFI:NTFS image
* Now use version 1.6 of the EfiFs drivers that enables firmwares that
  don't provide EFI_DEVICE_PATH_TO_TEXT_PROTOCOL to mount NTFS partitions
  regardless.
* Also use the latest version of UEFI:NTFS that displays additional info
  about the system.
* Closes #1213.
* Also update version to Rufus-next.
2020-05-26 17:30:09 +01:00
Pete Batard
0085c4a464
v3.10 (build 1647)
* Also fix SBR message not being written for bootable images
* Also add an extra partition refresh after deleting partitions to try
  to further force Windows take its stinking paws off our drive.
2020-04-22 12:38:18 +01:00
Pete Batard
29bc207c35
[misc] update version to rufus-next
* Also fix a typo
2020-03-21 17:33:17 +00:00
Pete Batard
44385829f6
v3.9 (build 1624)
* Fix endianness detection regression for ARM platforms that was
  introduced in [c1613ab7fc].
2020-02-29 11:27:01 +00:00
Pete Batard
996d4254b3
[misc] fix a typo and set rufus-next to 3.9 2019-09-17 18:49:49 +02:00
Pete Batard
2c1ee95dfb
v3.8 (build 1580)
* This is a bugfix release to address #1374 and #1375
2019-09-16 19:37:09 +01:00
Pete Batard
9bd6c31dea
[internal] add automatic copy of ARM and appx binaries to root dir
* Also update some application URLs and set rufus-next to 3.8
2019-09-11 13:45:09 +01:00
Pete Batard
b91a46ea83
v3.7 (build 1576) 2019-09-09 11:58:32 +01:00
Pete Batard
62dad2ef2f
[misc] update to Visual Studio 2019 2019-08-22 16:41:12 +01:00
Pete Batard
c8fda3e4e8
[core] report SuperSpeed+ devices
* Also clean up cfgmgr32 dependencies and set rufus-next to 3.7
2019-07-31 22:45:11 +01:00
Pete Batard
8afb6f220f
v3.6 (build 1551) 2019-07-18 13:31:29 +01:00
Pete Batard
2a1c57c750
[ui] disable button and add a countdown when launching update
* Also disable Launch button while we do so
* Also add new <Ctrl>-<Alt>-<Y> cheat mode
* Also terminate update thread before exiting if running
* Also set version to rufus-next
2019-04-01 16:38:27 +01:00
Pete Batard
be4ea5652d
v3.5 (build 1497) 2019-03-28 12:10:08 +00:00
Pete Batard
727b4e1733
[misc] improve Appx creation workflow
* Automatically build each arch and fix a missing variable
2019-03-26 17:26:01 +00:00
Pete Batard
c5513447c9
[misc] update project to use latest default VS2017 SDK
* Also add missing control in localization_data.h
2019-02-27 18:47:15 +00:00
Pete Batard
f94d2f479f
[core] fix abort if we can't display the "drive in use" message
* Also display the current MUI on startup and set version to rufus-next
2018-12-14 18:19:33 +00:00