Commit Graph

1015 Commits

Author SHA1 Message Date
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 8bb31f6ae2
[loc] fix Russian translation for KB/MB/GB...
* Closes #1660
* Also update GPT partition types and set UTF-8 codepage in .rc
2020-12-11 17:10:48 +00:00
Pete Batard 5876495938
v3.13 (build 1730) 2020-11-20 13:25:51 +00:00
Pete Batard 58edfc9d54
update UEFI:NTFS file system drivers to version 1.7 2020-11-19 20:12:04 +00:00
Pete Batard 35b0ab2470
[ui] add cheat mode (Alt-M) to ignore Boot Marker 2020-11-12 17:38:20 +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 f4c7f2963c
[misc] fix non-English messages appearing in the log 2020-10-02 17:24:17 +01:00
Pete Batard e987272287
[grub] update GRUB 2.04 core.img for Ubuntu 20.10 support
* GRUB have cherry-picked patches from the "BootHole" vulnerability fix at
  https://lists.gnu.org/archive/html/grub-devel/2020-07/msg00034.html and
  have applied them to their 2.04 GRUB loader.
* This results in breakage with "error: symbol 'grub_calloc' not found" when
  using the release GRUB 2.04 version of core.img.
* Therefore, we too cherry-picked some patches to apply on top of GRUB 2.04
  release to make our core.img compatible with Ubuntu 20.10.
* Closes #1616
* Also increase the maximum write stride for ms-sys to 64 KB (required to
  write the GRUB 2.05 bootloader which is larger than 32 KB) and update hash DB.
2020-09-16 13:59:06 +01:00
Tiago Filipe Silva 2d63a10920
[misc] lossless optimization of icons
* Closes #1608
2020-09-10 17:57:01 +01:00
Pete Batard 34b1d8a3ca
[core] enable the direct provision of install.wim/install.esd for Windows To Go
* Also remove the use of 'unattend.xml' to disable the recovery environment (use bcdedit instead)
* Also some code cleanup and refactoring
2020-07-19 22:35:30 +01:00
Pete Batard 09d2f2f0ab
[ui] add cheat mode (Alt +/-) to increase/decrease thread priority
* This *may* help improve write speeds if your system is starved for I/O
* Related to #968
2020-07-10 12:00:10 +01:00
Pete Batard 0dc13e5283
[ui] fix missing labels for accessibility
* Closes #1467
* Also ensure that previous element is set when repositioning a
  control to preserve tabbing order
* Also fix x64 version being able to download x86 BETA
2020-07-02 22:55:01 +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 e554d2b4e0
[misc] add Ctrl-SELECT option to provide additional content
* For now only .zip archives are supported
2020-06-10 21:25:33 +01:00
İlhami Tuğral ad918c8f74
[loc] update Turkish translation
* Closes #1557
2020-06-06 22:30:52 +01:00
Pete Batard c601aed054
[core] add option to write a small enough ISO to an ESP
* This is mostly aimed at Debian 11 netinst on the Raspberry Pi 4
* Only available for regular UEFI ISOs if GPT and FAT are selected (no MBR ESPs).
* Also fix a MinGW warning in GetUnusedDriveLetter()
2020-06-06 22:19:20 +01:00
İlhami Tuğral 775fbb3682
[loc] update Turkish translation
* Closes #1555
2020-06-03 18:04:16 +01:00
Pete Batard 3b327bff83
[loc] flag "Deleting partitions" message as a potential lengthy operation
* Also use this update to factorize all "This may take a while" messages.
2020-06-03 16:03:20 +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 077f143252
[core] add cheat mode to disable VHD listing (Alt-G) 2020-04-27 10:28:00 +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 0e3658df1a
[loc] miscellaneous updates
* Fix RTL location of "ISO" in the "Copying ISO files" translation for Arabic and Persian
* Fix whitespace/message ending issues for various translations
* Sync all .po's with .loc to avoid another German progress update is missing issue
2020-04-17 12:39:23 +01:00
Itiel e7e3b40130
[loc] fix RTL location of "ISO" in the "Copying ISO files" translation for Hebrew 2020-04-16 17:46:25 +01:00
Pete Batard 5a1b8cbb3f
[efi] update UEFI:NTFS file system drivers to v1.5
* Note: This may affect #1213
2020-04-15 16:45:57 +01:00
Pete Batard 2dd538b7cb
[core] fix MBR protective message overwriting the primary GPT
* We distractedly chose to populate the message from our protective MBR
  for GPT/UEFI-only boot media into the 4KB that directly followed the
  MBR, which of course is space that is being used by the primary GPT.
* This resulted on systems having to fall back to using the secondary
  GPT, which not all appear to be designed to do.
* Alter the code to ensure the protective message is written at LBA 34,
  after the primary GPT.
* Closes #1507
2020-04-13 17:05:33 +01:00
נועם סרוסי 0e6a5b5871
[loc] update Hebrew translation 2020-04-12 23:33:13 +01:00
Pete Batard 29bc207c35
[misc] update version to rufus-next
* Also fix a typo
2020-03-21 17:33:17 +00:00
İlhami Tuğral 614c9d7a5c
[loc] update Turkish translation
* Closes #1474
2020-03-18 15:53:21 +00:00
Pete Batard cd4ab21e3c
[loc] revert German UI progress report regression
* Commit [e522ef6c55] (PR #1426) regressed the '%s'
  progress messages back to '%0.1f%%' which results in the percentage remaining at
  zero when the UI is in German.
2020-03-09 21:35:47 +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 e0bc2e5ffd
[core] fix reporting of unpartitioned drives
* Also add an extra note to the protective GPT MBR
2020-02-20 11:58:03 +00:00
Pete Batard 98c630d81a
[mbr] finalize protective message MBR
* Note that msg.txt uses codepage 850
2020-02-19 18:49:39 +00:00
Pete Batard bfbb9d2ed5
[mbr] replace gpt.S with a more generic msg.S
* msg.S now reads an ASCII message (with escaped colour sequences)
  from the following blocks, which is both more flexible and allows
  for more content to be displayed.
* Also adds Bochs testing to the MBR build facility
2020-02-19 14:23:42 +00:00
David Stumph 3c9acb0d3c
[misc] use $(srcdir) in Makefiles
* Picked from #1449
2020-02-10 12:08:04 +00:00
User 177c85c4fe
[loc] update Polish translation 2020-02-04 11:21:17 +00:00
Pete Batard 4fdb3088b8
[syslinux] update Syslinux to 6.04-pre1
* Most distros (Debian, Ubuntu) have moved to using Sylinus 6.04 even
  as it has NOT officially been released, so we want our fallback to
  work against this too.
* pre1 since the Syslinux folks advise against using pre2 or later...
* Closes #1444
2020-02-03 13:03:05 +00:00
Pete Batard d1d5c2a7b6
[efi] enable the use of exFAT with UEFI:NTFS
* Only applies for blank UEFI:NTFS drives for now. UEFI:NTFS Windows drives are
  still set to use NTFS only (since Windows 7 doesn't support UEFI exFAT boot).
2020-01-30 13:51:19 +00:00
Mr-Update e522ef6c55
[loc] update German translation
* Closes #1426
2020-01-12 23:15:37 +00:00
Pete Batard 5dce5fb56a
[loc] update spelling of Persian to پارسی
Closes #1420
2019-12-27 18:22:25 +01: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
ImgBotApp e3970ba707
[imgbot] optimize images
* Closes #1371
* /res/icons/rufus-512.png -- 145.04kb -> 142.63kb (1.67%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2019-08-29 18:09:29 +01:00
Pete Batard b251930608
[iso] fix case sensitive comparison when preventing 'ldlinux.sys' overwrite
* Because we install our own ldlinux.sys, we must ensure that if the ISO contains
  an ldlinux.sys in the root directory, this file is not copied over. However, our
  comparison for the 'ldlinux.sys' string was case sensitive which means that some
  ISOs such as R-Drive Image boot ISO, that use 'LDLINUX.SYS' were trying write over
  our file, resulting in a file extraction failure.
* This patch ensures that the string comparison for 'ldlinux.sys' is case insensitive.
* Also add 512px sized icon (upscaled using waifu2x)
2019-08-29 18:03:18 +01:00
Pete Batard 62dad2ef2f
[misc] update to Visual Studio 2019 2019-08-22 16:41:12 +01:00
Pete Batard af95de8198
[ui] add experimental optional display of transfer speed and time remaining
* You can use <Alt> to switch modes during an operation that supports it (e.g. Checksum
  computation, DD image writing or zeroing, save to VHD, download, etc.
* IMPORTANT: This is *NOT* available for all operations. Especially, if you were hoping
  to get transfer speed or ETA during ISO or WIM extraction, you *WILL* be disappointed.
* Also harmonize the code in checksum.c
2019-08-20 18:06:07 +01:00
LaszloEr 076b13c469
[loc] improve German translation
* Closes #1356
2019-08-13 09:23:03 +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 5b1ae09df4
[loc] remove Azerbaijani translation
* Sorry Azerbaijani speaking people, but this was only added out of
  good will and, with no new translator volunteering, this out-of-date
  translation was holding us back.
2019-07-10 11:49:52 +01:00
Pete Batard 4a39f32165
[grub] update embedded GRUB to 2.04 2019-07-05 13:31:22 +01:00
fufunelaf 1ae4cb722e
[loc] update Latvian translation
* Closes #1329
2019-06-14 13:06:59 +01:00
Mehmetali Kuran 861f51169e
[loc] update Turkish translation 2019-06-11 15:23:35 +01:00
Pete Batard 8b18d8ce1d
[core] add CycleDevice and VDS layout refresh
* Also fix some minor issues
2019-05-23 13:09:25 +01:00
Miloš ljubičić bf59239c39
[loc] update Serbian translation to latest 2019-05-21 23:55:52 +01:00
Suttirak ee3dc74c1d
[loc] update Thai translation to latest 2019-05-15 13:46:01 +01:00
Pete Batard 2ff6da49f0
[extfs] add standalone ext2/ext3 formatting
* Only enabled when Advanced format options are shown
* Also enable reading of extfs volume label
* Also improve GRUB lookup fallback
* Also fix possible truncation when sanitizing labels
* Also write a zeroed MBR when non-bootable is selected
2019-05-03 23:51:05 +01:00
Mohamad Ikhwan bin Kori ddda1561ae
[loc] update Malay translation to latest 2019-04-14 15:22:09 +01:00
Pete Batard f4d70345af
[loc] update MSG_068 and MSG_100
* Closes #1281
2019-04-11 14:24:18 +01:00
alex f b7ab196a97
[loc] update Greek translation to latest 2019-04-08 16:37:08 +01:00
Neoheresy 7a04f52f6c
[loc] fix 2 typos in Polish translation 2019-04-06 14:22:43 +01:00
Pete Batard 1ca4c7acb4
[loc] fix typos in French translation
* Closes #1296
* Also add .github to the list of ignored AppVeyor directories
2019-04-06 12:23:57 +01:00
Uk-Jin Jang ce8f025820
[loc] update Korean translation to latest 2019-04-06 11:37:28 +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
marcellogianola f5fb5586c6
[loc] update Italian translation
* Closes #1294
2019-03-31 22:17:52 +01:00
Sasa Vujanic 30f940308a
[loc] update Croatian translation to latest 2019-03-31 22:07:40 +01:00
Кристиан Дочев 1926270833
[loc] update Bulgarian translation to latest 2019-03-30 00:50:39 +00:00
Mehmetali Kuran 3d3ba56be6
[loc] update Turkish translation
* Closes #1293
2019-03-29 16:20:01 +00:00
Jakub Zieciak 032937886e
[loc] update Polish translation to latest 2019-03-29 00:09:51 +00:00
Jakub Zieciak 0ee592bf76
[loc] update Norwegian translation to latest 2019-03-28 23:59:32 +00:00
Gintaras Venslovas de30f2c4e6
[loc] update Lithuanian translation to latest 2019-03-28 23:45:24 +00:00
Pete Batard be4ea5652d
v3.5 (build 1497) 2019-03-28 12:10:08 +00:00
anni deer 1ecc771cbd
[loc] update Danish translation to latest 2019-03-26 23:58:43 +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
Zia Azimi 0e6fb967b3
[loc] update Persian translation to latest 2019-03-26 12:14:20 +00:00
Matej Horvat 912f44c44f
[loc] update Slovenian translation to latest 2019-03-25 19:58:29 +00:00
Tiryoh 519c268aed
[loc] additional Japanese translation updates 2019-03-25 16:16:57 +00:00
Viszokai György 09e82623b0
[loc] update Hungarian translation to latest 2019-03-25 14:13:46 +00:00
Tiryoh ee7accedf1
[loc] update Japanese translation to latest 2019-03-25 13:56:45 +00:00
MaKK 7ad3b31be9
[loc] update Spanish translation to latest 2019-03-21 17:46:58 +00:00
Aldis Tutins e65f432b34
[loc] update Latvian translation to latest 2019-03-21 15:32:14 +00:00
Thilo Langbein 3b654d7a46
[loc] fix a small typo in German translation 2019-03-21 15:23:04 +00:00
Thilo Langbein 6967032082
[loc] update German translation to latest 2019-03-21 09:27:56 +00:00
Arif Budiman eb0fdf58b0
[loc] update Indonesian translation to latest 2019-03-20 17:18:32 +00:00
Martin Kubánik 9fda478e0c
[loc] update Slovak translation to latest 2019-03-20 13:35:47 +00:00
Mehmetali Kuran eac0ea942a
[loc] update Turkish translation to latest 2019-03-19 13:10:09 +00:00
Roberto Boriotti 48f5ccab00
[loc] update Italian translation to latest 2019-03-19 13:05:26 +00:00
Riku Brander 6b74ab7132
[loc] update Finnish translation to latest 2019-03-19 12:58:04 +00:00
Jiawei Wang 77027b40ec
[loc] update Simplified Chinese translation to latest 2019-03-18 12:30:59 +00:00
Костянтин Сергійович 923aa071a4
[loc] update Ukrainian translation to latest 2019-03-18 12:19:42 +00:00
Richard Kahl 6665be18cc
[loc] update Czech translation to latest 2019-03-16 18:54:03 +00:00
Pete Batard 28c1d6eb31
[core] display a notice about Legacy in the protective MBR for GPT
* This should help Windows users who create a GPT/UEFI drive and try to use it in BIOS/Legacy
* Also make sure that we take into account the split space for both "SELECT" and "DOWNLOAD"
2019-03-16 13:12:08 +00:00
Cao Bach 789373ed59
[loc] update Vietnamese translation to latest 2019-03-16 12:28:28 +00:00
Tiago Rinaldi 7b4db95f2f
[loc] update Brazilian Portuguese translation to latest 2019-03-16 12:22:54 +00:00
Itiel 6252636aff
[loc] update Hebrew translation 2019-03-15 10:43:20 +00:00
Gîrlea Alexandru 5c4324f827
[loc] update Romanian translation to latest 2019-03-14 20:34:22 +00:00
Feras Mohammed 38d906deed
[loc] update Arabic translation to latest 2019-03-14 16:09:47 +00:00
Кирилл Иванов d844601ed4
[loc] update Russian translation to latest 2019-03-14 13:06:23 +00:00
Thomas De Rocker 2e5ff00c0c
[loc] update Dutch translation to latest 2019-03-14 13:01:28 +00:00
Chocobo1 bbd33265aa
[loc] update Chinese Traditional translation to latest
* Closes #1280
2019-03-14 12:59:16 +00:00
Sopor e32a029eb8
[loc] update Swedish translation to latest 2019-03-14 12:53:02 +00:00
Dinis Medeiros 5b3966a489
[loc] update Portuguese (Standard) translation to latest 2019-03-14 12:32:17 +00:00
Itiel b043e5023e
[loc] update Hebrew translation to latest 2019-03-14 12:24:06 +00:00
Pete Batard 0c368b4e69
[loc] finalize translations for 3.5
* Also update for latest Fido and simplify SetLGP
2019-03-12 19:53:25 +00:00
Pete Batard 688ccfad66
[pollock] remove call to ValidateDownload()
* It is seeing 403 errors from GitHub even though the download works
2019-03-12 13:46:09 +00:00
Pete Batard 65f886141b
[fido] improve UI handling
* Center dialog on open
* Close dialog on main application exit
* Display ISO short name & size on status bar during download
* Display ISO download progress on taskbar
* Also fix improper detection of EAGET Mass Storage USB Device as HDD
2019-03-07 16:29:43 +00:00
Pete Batard db68bcd7f9
[fido] use Rufus existing alert handler to close Fido's cookie prompts
* Addresses pbatard/Fido#1 while being much more effective than an all-script solution
2019-03-05 12:41:10 +00:00
Pete Batard e073fb47b0
[net] add Windows retail ISO downloads
* This is accomplished through Fido (https://github.com/pbatard/Fido), a *SIGNED*
  PowerShell script, that is downloaded from GitHub and that resides in memory for
  the duration of a session.
* The reason we use a downloaded PS script, rather than an embedded on, is because:
  - Microsoft have regularly been changing the deal with regards to how retail ISOs
    can be downloaded, and not for the better, so we can't simply embed a static
    means of downloading ISOs and expect that to work forever.
  - By using an external script, we can immediately respond to whatever new means of
    *ANNOYING* their legitimate users Microsoft will come up with next, as well as
    make sure that, the minute a new retail version of Windows becomes available, it
    also becomes available for download in Rufus.
* Note that if you are concerned about downloading a remote PS script that is being
  run at the same level as an elevated application, you should understand that:
  - Only scripts downloaded from GitHub, from an account that is protected with 2FA,
    are allowed to run (i.e. someone would first have to steal a *physical* 2FA key
    to be in a position to upload a malicious script).
  - On top of this, only scripts that are signed with a separate private key (RSA +
    AES-256), that is itself also protected with a strong unique password which only
    a single person knows (and must manually enter each time they want to make a new
    version of the script available for download), are allowed to run.
  The above means that there's about as much chance for someone to manage to upload
  a malicious script on the GitHub servers, that Rufus would allow to run, as there
  is for someone to upload a malicious version of Rufus itself.
  Still, if you are paranoid and have concerns that, even as you can validate from
  its source that Rufus does not attempt to execute any remote script unless a user
  actively selected and clicked the DOWNLOAD button, you can also completely disable
  the remote script download feature, if you just set the update check to disabled
  (which, by the way, Rufus *EXPLICITLY* asks you to choose whether you want to
  enable or not, the very first time you run the application).
* Also remove _unlinkU() which duplicates what DeleteFileU() already does.
2019-03-02 23:34:32 +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 5247ffa6ab
[core] add a notice about MBR and >2TB partitions
* Also fix Boot Options not displaying when no drive is plugged in advanced mode
2019-02-01 12:35:09 +00:00
Pete Batard 326ae54f45
[togo] add a notice about WppRecorder.sys BSOD with 1809 ISOs
* Also improve detection of build number
2019-01-30 17:15:25 +00:00
Pete Batard 336e24c8c7
[loc] drop GetMuiString() and use formal loc data instead
* Relying on system MUIs was too brittle and provides us with no guarantee
  that the translated messages we need will actually be there.
* Also fix space before question mark in French translation.
2019-01-09 15:53:44 +00:00
Radosław Serba 78d0cb892e
[loc] fix typos in the Polish translation
* Closes #1260
2019-01-09 11:39:12 +00:00
Arif Budiman d135b62183
[loc] update Indonesian translation to 3.2 2019-01-08 22:10:26 +00:00
Pete Batard 521034da99
[togo] add newer install.wim + install.esd support
* With no thanks whatsoever to Microsoft for *NOT* documenting that you need
  to pass flag 0x2000000 to WIMCreateFile() if you want to avoid an open error.
  One has to wonder if Microsoft isn't deliberately adding *BULLSHIT FLAGS*
  that only they know of, to hinder competing third-party tools...
2019-01-08 18:30:07 +00:00
Pete Batard e7b5a5526f
[loc] update localization script 2018-12-17 17:22:15 +00:00
Sopor 082fa78c40
[loc] fix a typo in Swedish translation 2018-12-17 16:59:29 +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
Pete Batard 52dd78ea34
v3.4 (build 1430) 2018-12-05 16:13:15 +00:00
Pete Batard f8592959bd
[misc] update components for 3.4 BETA 2018-11-22 15:34:21 +00:00
Pete Batard 15806de646
[ui] display a notice about Secure Boot when UEFI:NTFS is applied 2018-11-20 12:33:12 +00:00
Pete Batard 2727f437fd [app] Create full multi-arch app store package
* Package now includes x86_32, x86_64, ARM and ARM64
2018-10-26 14:05:43 +01:00
Pete Batard 1bcdf8249c [efi] update uefi-ntfs to use gnu-efi based NTFS drivers
* This is done to address #1213
* Also update badges on README page and SDK versions used by the scripts
2018-10-24 20:14:15 +01:00
dmex e3fb899f12 [misc] add elevation for .appx
* Note: this only works if you have Windows 10 with 1809 update installed
2018-10-22 12:31:03 +01:00
ImgBotApp 555d628f2c [imgbot] optimize images
* Closes #1231
* Total -- 9.05kb -> 8.33kb (8.01%)
- /res/icons/lang-32.png -- 2.35kb -> 2.04kb (13.25%)
- /res/icons/info-24.png -- 1.17kb -> 1.07kb (9.08%)
- /res/icons/info-32.png -- 1.54kb -> 1.41kb (8.38%)
- /res/icons/hash-32.png -- 1.96kb -> 1.80kb (7.93%)
- /res/icons/hash-24.png -- 1.34kb -> 1.33kb (1.31%)
- /res/icons/info-16.png -- 0.69kb -> 0.68kb (0.85%)
2018-10-19 15:59:32 +01:00
Pete Batard 204908f8e0 [misc] enable MinGW reproducible builds
* -Wl,--no-insert-timestamp seems to do the trick
* Also set rufus-next to 3.4
2018-09-24 23:42:04 +01:00
marcellogianola 1116e941f8 [loc] fix typos in Italian translation
* Closes #1212
2018-09-21 13:57:27 +01:00
Pete Batard 2d99601a5f [core] fix a regression when scanning uncompressed bootable DD images
* Closes #1206
2018-09-13 11:49:51 +01:00
Pete Batard 2d99bbcd41 v3.2 (build 1397) 2018-09-11 16:05:30 +01:00
SIPPAPAS WANGSRI 8c9caba165 [loc] update Thai translation to latest 2018-09-10 00:51:58 +01:00
Dinis Medeiros 45680fb0e4 [loc] update Portuguese Standard translation to latest 2018-09-05 11:16:52 +01:00
Pete Batard 93ebbf7dea [loc] small fix for Dutch translation
* Dutch localized Windows uses kB rather than KB, so we do too
2018-09-05 11:12:13 +01:00
Nikos Margaritis 5b4764aff3 [loc] update Greek translation to latest 2018-09-04 16:21:36 +01:00
Roberto Boriotti b358316fbf [loc] small update to Italian translation 2018-09-04 12:33:07 +01:00
Gintaras Venslovas 3459d89f09 [loc] update Lithuanian translation to latest 2018-09-03 11:57:40 +01:00
Thomas De Rocker 5170ca88f2 [loc] update Dutch translation 2018-08-29 16:42:56 +01:00
MaKK f1e332a810 [loc] update Spanish translation to latest 2018-08-26 23:48:33 +01:00
Tiryoh 11cd32a026 [loc] update Japanese translation to latest 2018-08-26 19:47:23 +01:00
Константин В 897ef2bd2c [loc] update Ukrainian translation to latest 2018-08-26 19:42:38 +01:00
anni deer 16b292cf4d [loc] update Danish translation to latest 2018-08-26 11:36:59 +01:00
Thomas De Rocker f5606aaab2 [loc] update Dutch translation to latest 2018-08-23 10:26:48 +01:00
caobach 50667be68e [loc] update Vietnamese translation to latest 2018-08-22 17:42:00 +01:00
Muhammad Ikmal 31630d3ec8 [loc] update Malay translation to latest 2018-08-21 12:39:52 +01:00
Riku Brander 8920d5222d [loc] update Finnish translation to latest 2018-08-20 08:02:17 +01:00
Ahmad Zahiruddin Azaman 1ff3b8ebf7 [loc] update Malay translation
* Some more work is still needed, but this should be a good start to complete it.
2018-08-18 18:15:24 +01:00
Na Jiyoun b77bd6f72b [loc] update Korean translation to latest 2018-08-18 18:06:59 +01:00
Zia Azimi 7389372aa7 [loc] update Persian translation to latest 2018-08-18 17:48:31 +01:00
Кирилл Иванов 0adbbd6f97 [loc] update Russian translation to latest 2018-08-16 17:02:49 +01:00
Aleksandar Predić e591868555 [loc] update Serbian translation to latest 2018-08-11 20:39:07 +01:00
Kaloyan Nikolov 2d2a5a5597 [loc] update Bulgarian translation to latest 2018-08-07 20:43:48 +01:00
Jiawei Wang e5bf18d456 [loc] update Simplified Chinese translation to latest 2018-08-06 23:51:45 +01:00
Piotr Halama a530dbd86b [loc] update Polish translation to latest 2018-08-02 18:24:46 +01:00
Pete Batard 71578459d7 [loc] fix spaces before full stops
* Also: "Asserts, it's not just for debug any more!"
2018-07-31 20:47:24 +01:00
Mehmetali KURAN d5f9c568ad [loc] update Turkish translation to latest 2018-07-31 11:39:43 +01:00
Martin Kubánik adeb7fe4c0 [loc] update Slovak translation to latest 2018-07-28 12:11:16 +01:00
Pete Batard 038e835886 [loc] punctuation improvements & harmonization 2018-07-26 11:49:25 +01:00
Richard Kahl 6fb4e51f9b [loc] update Czech translation to latest 2018-07-26 11:30:39 +01:00
Itiel 0cdbd2d119 [loc] update Hebrew translation to latest 2018-07-25 22:59:29 +01:00
Tiago Rinaldi 3b8b16cd23 [loc] update Portuguese Brazilian translation to latest
* Closes #1184
2018-07-23 11:08:58 +01:00
Aldis Tutins 36661bfb74 [loc] update Latvian translation to latest 2018-07-22 15:08:39 +01:00
Thilo Langbein 2beec7608c [loc] update German translation to latest 2018-07-22 00:22:44 +01:00
Chocobo1 bfa4f54fe4 [loc] update Traditional Chinese translation to latest
* Closes #1182
2018-07-21 18:20:42 +01:00
Roberto Boriotti 9ed49ada3a [loc] update Italian translation to latest 2018-07-21 18:15:41 +01:00
Gîrlea Alexandru a6a2c09b4e [loc] update Romanian translation to latest 2018-07-21 16:14:58 +01:00
Feras n 9491cf2af6 [loc] update Arabic translation to latest 2018-07-21 16:11:39 +01:00
Pete Batard 91a18be258 [pollock] update maintainer mode
* Also add maintenance script
2018-07-21 15:55:32 +01:00
Sopor Spr 4d18c8bbbf [loc] update Swedish translation to latest 2018-07-21 13:30:41 +01:00
Pete Batard 5d3631f9ee [pollock] fix inability of Windows 7 to handle github SSL
* Also increase the console width if needed
2018-07-21 13:03:05 +01:00
Pete Batard f18b3fec1b [loc] use better terminology for NAND types 2018-07-20 21:06:39 +01:00
Pete Batard bb00983ad8 [pollock] small fixes & improvements
* Make sure translations that are the same as English are removed in the .po
* Automate digital signature
* Add a more distinguishable icon
* Also update French translation
2018-07-20 14:59:39 +01:00
Pete Batard 6b584d420a [loc] update French translation to latest 2018-07-18 17:41:06 +01:00
Pete Batard 1612064c66 [loc] finalize new translations for 3.2
* Also fix a MinGW warning
2018-07-18 16:59:35 +01:00
Pete Batard 1004a6e066 [ui] update persistence size controls
* Also refactor ToggleImageOptions()
2018-07-18 12:22:37 +01:00
Pete Batard 0fa19d7019 [internal] reorganize localization resources 2018-07-16 16:38:40 +01:00
Pete Batard 704fd9dd22 [pollock] finalize application 2018-07-16 15:35:40 +01:00
Pete Batard 1014b8008d [pollock] fix a sequential download issue
* Apparently you need to close the request/response as the Garbage Collection
  will not do that for you. High level language my ass!
2018-07-15 00:20:13 +01:00
Pete Batard d9d0feadb6 [pollock] add automatic PO generation and update detection
* Also use Rufus application version in .loc
2018-07-14 23:40:21 +01:00
Pete Batard af9cca5fb3 [pollock] add rufus.loc download and menu selection
* Also handle duplicate messages in .pot/.po
2018-07-13 01:39:13 +01:00
Pete Batard 092ea937c6 [pollock] add comment preservation
* Also fix last lang message not being properly processed
* Also update loc file comments in preparation for the new framework
* Also update Rufus version data
2018-07-11 18:02:03 +01:00
Pete Batard 5ac9ee68af [loc] add .po ↔ .loc conversion utility
* Alos update .loc to remove unnecessary \n
2018-07-10 21:01:46 +01:00
René van der Zee 77bf5c8a49 [core] add alternate cheat mode for fast zeroing
* Ctrl-Alt-Z can now be used to zero a drive, while skipping blocks that are detected empty
* Depending on your hardware, as well as the existing drive content, this strategy can greatly
  speed up zeroing operations, especially if the flash memory's read speed is much higher than
  its write speed.
* Closes #1174
2018-07-06 13:29:20 +01:00
Pete Batard a394b9731a [ui] add positioning, resizing & filling of the persistence controls
* Also add a test ISO to display these controls
* The intent is to use the next round of translation to get these new UI elements localized,
  as any translation work takes _months_, and it is a precondition to start working on #691.
* Also fix new issues with image options when switching language
2018-07-06 11:23:57 +01:00
Pete Batard 7c142fadbc [net] improve handling of invalid signatures
* Also make bPromptOnError an actual parameter to the download function calls
* Also prefer the use of assert() to custom assertion messages
2018-06-30 22:45:15 +01:00
Pete Batard 2d262df8f3 [bb] bad blocks check improvement
* Use a default block size of 128 KB (can speed up read operations)
* Reorganise patterns to suit different types of NAND cells (SLC, MLC and TLC)
* Only run fake drive test on first pass
* Also update rufus-next to 3.2
2018-06-28 16:25:13 +01:00
Pete Batard 16cddefff9 [internal] improve AppVeyor build handling
* Also fix some typos
2018-06-24 14:01:57 +01:00
Pete Batard faebe1040f v3.1 (build 1320)
* Also update GitHub issue template for 3.0 UI
* Also increase size of the ESP to 300MB, for Windows To Go drives using GPT (See #979)
2018-06-19 12:00:28 +01:00