Commit Graph

2060 Commits

Author SHA1 Message Date
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 d4db16a9ca
[checksum] improve performance by switching to async I/O
Yes!!! We are finally *much* faster than 7-zip for SHA-256, even though
we are also computing MD5 and SHA-1 in parallel. Here are some averaged
comparative results, against the 5.71 GB Win10_20H2_EnglishInternational_x64.iso
(SHA-256 = 08535b6dd0a4311f562e301c3c344b4aefd2e69a82168426b9971d6f8cab35e1):
* Windows' PowerShell Get-FileHash: 48s
* 7-zip's SHA-256                 : 31s
* Rufus (64-bit release version)  : 23s
2021-02-03 11:49:57 +00:00
Pete Batard 53b014781d
[misc] improve uprintf() concurrency by using a mutex 2021-02-03 11:36:52 +00:00
Pete Batard 20b8a84595
[core] fix potential "loss" of disk after writing Ubuntu 20.10 in DD mode
* Due to the partition gymnastic that is required by the hack that is ISOHybrid,
  some ISOHybrid images that are written in DD mode, such as Ubuntu 20.10, may
  result in Windows somehow "losing" the target disk from some of its listings.
* This "removal" can be seen for instance if you have diskpart already open and
  issue 'list disk' after Rufus 3.13 completed its image writing.
* In the worst case scenario, Windows may flat out refuse to access the disk at
  the sector level be it in diskpart or disk manager, which forces ones to clear
  the partition tables on Linux or some other OS to be able to "recover" the disk.
* This appears to be mostly due to Windows VDS cache (which Microsoft assures
  should be able to do a proper job of refreshing itself on its own, in the same
  stride as they also feel the need to introduce IVdsService::Refresh whose sole
  purpose appears to work around a limitation that Microsoft knows exists) not
  being in sync with the actual disk layout.
* So we now add calls to VDS layout refresh where needed, to work around the issue.
* Also fix an ext2fs Coverity warning.
2021-01-15 17:50:57 +00:00
Pete Batard 3056d54cc1
[ext2fs] update ext2fs to latest
* Also drop nt_io_manager() as a function call and just use a direct ref to the manager.
2021-01-09 16:15:01 +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 630c508525
[ui] fix ability to toggle progress report during WIM image extraction
* Also add log progress report for compressed images
2020-11-14 19:38:56 +00:00
Pete Batard 29205b3a0e
[core] lock the logical drive when DeletePartition() fails
* Yeah, that's another SUPER EMPIRICAL behaviour you have to figure out
  the hard way when you try to use VDS. Thanks for nothing, Microsoft!
2020-11-13 18:06:50 +00:00
Pete Batard 460ab5dd73
[core] add log progress report when writing an image/zeroing a drive
* Also simplify a nonsensical condition in format_ext
2020-11-13 17:58:56 +00:00
Pete Batard 0e43c5f2ea
[vds] improve VDS error reporting 2020-11-13 17:51:48 +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 77b0d1d366
[ui] display marquee operations on taskbar 2020-11-10 19:46:53 +00:00
Pete Batard a9681c0c2a
[core] fix a possible crash in DeletePartition() with a blank disk
* For blank disks, GetVdsDiskInterface() may return success with a NULL pAdvancedDisk.
* Also silence the annoying "Failed to read label" error on ERROR_UNRECOGNIZED_VOLUME.
2020-11-10 17:30:49 +00:00
Pete Batard 9c71ac25d5
[badblocks] use 0x55 and 0xAA for less than 2 passes checks
* Should be more effective at detecting errors than 0x00 and 0xFF.
2020-11-10 17:24:52 +00:00
Pete Batard f8c951f3d7
[ext2fs] don't override FormatStatus on user cancel 2020-11-09 23:44:23 +00:00
Pete Batard 2538974318
[core] improve VDS calls
* Factorize error setting.
* Use break so as to not leak resources on error.
* Ensure that the error codes are set properly.
2020-11-09 16:48:53 +00:00
Pete Batard e8c717c394
[ui] always use fake units for proposed labels
* Also improve log messages
2020-11-03 12:49:08 +00:00
Pete Batard 65a0c2c42d
[core] reinstate locking of the logical drive when writing images
* When writing images such as tails, that contain a large ESP, Windows forcibly
  removes the media while we are writing it, unless we lock the logical drive.
* Also fix a Bled Coverity warning.
2020-10-28 21:41:43 +00:00
Pete Batard 69bf32dd33
[misc] fix some static analysis warnings
* Also improve fast-zeroing code and upgrade Bled to latest
2020-10-27 10:12:24 +00:00
Pete Batard f027e562b3
[core] work around Windows handling of ESP for removable drives
* Remove early locking of logical volume (no longer necessary due to previous commits).
* Relax exclusive locking of physical drive when an ESP is created.
* This should help with #1637 and #1640
* Also add an extra check for sector size in WriteDrive()
2020-10-26 13:50:19 +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 3758f84b17
[vds] improve VDS calls
* Make sure that instantiated objects are released.
* Factorize the instantiating of disk interfaces.
* Allow the provision of an offset to delete a single partition.
* Add a ListVdsVolumes() call (which is pointless since Microsoft *CRIPPLED* its VDS implementation).
2020-10-25 13:09:32 +00:00
Pete Batard 8085a2846d
[misc] fix small issues
* SetAutoMount()/GetAutoMount() should check for INVALID_HANDLE_VALUE and not NULL.
  Also we don't actually need to open MOUNTMGR_DOS_DEVICE_NAME rw to issue an IOCTL.
* ToggleEsp() failed to exit properly when an ESP offset was specified.
* Introduce PI_MAX to explicitly set the size of the partition_information table.
* write_sectors() has write retry, so there's no need to perform one on top of it.
* When we exit FormatThread(), GetLogicalName() should attempt to look for the the
  main partition and be silent.
2020-10-25 12:31:30 +00:00
Pete Batard a17ca005ce
[misc] add download counter to README 2020-10-14 17:11:09 +01:00
Pete Batard c842ef9023
v3.12 (build 1710) 2020-10-14 12:50:12 +01:00
Pete Batard 318d5ed16d
[iso] fix "ISO has not been properly scanned" error for some ISOs
* Make sure that if we skip a deep directory during scan, we count at
  least one block of data.
* Also produce a note about deep directory long scan times and improve
  the formatting of some messages.
2020-10-12 19:33:54 +01:00
Pete Batard 2d272b7991
[iso] fix md5sum.txt update for Ubuntu 20.10
* Ubuntu switched to using GRUB for BIOS, so our update_md5sum() code was not being called.
* Move update_md5sum() to being called unconditionally to fix this.
* Closes #1616 (again...)
2020-10-05 12:39:52 +01:00
Pete Batard f4c7f2963c
[misc] fix non-English messages appearing in the log 2020-10-02 17:24:17 +01:00
Pete Batard e6ac3782fe
[ext2fs] set a minimum ext partition size of 256 MB
* Not gonna bother with computing the effective minimum size so 256 MB will have to do.
* Closes #1576
2020-10-02 13:58:15 +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
Pete Batard 1bb2b3b126
[syslinux] disable MBR install for images using SysLinux 4.x with a >4 GB file
* The presence of a > 4 GB file forces the use of NTFS which is incompatible with
  SysLinux 4.x or earlier. As such, if an image uses SysLinux only, there's no
  point in enabling MBR as SysLinux won't boot.
* Required for ISOs such as securityonion-2.0.1-rc1.iso.
2020-09-15 21:02:08 +01:00
Pete Batard a8f3c6c572
[iso] fix detection of GRUB version
* Commit 77d319267f broke lookup of ISO filenames since iso9660_open()
  enabled the Rock Ridge extensions by default, despite using ISO_EXTENSION_NONE
  for the internal call, and we addressed a FIXME related to this.
* This resulted in Rufus not being able to lookup 'boot/grub/i386-pc/normal.mod' to parse GRUB's
  version, since without Rock Ridge, 'i386-pc/' is unable to match the ISO-9660 'I386_PC/' dir.
* Closes #1573 and addresses part of #1616.
* Also fix a MinGW compilation warning.
2020-09-11 22:45:47 +01:00
Tiago Filipe Silva 2d63a10920
[misc] lossless optimization of icons
* Closes #1608
2020-09-10 17:57:01 +01:00
Pete Batard ca70b4c213
[iso] fix 'internal error' notice due to bootriscv###.efi support
* These bootloaders will require LFN support. Since we don't expect that
  many people to create bootable media for RISC-V derived from bootloaders
  contained in a 'efi.img`, we simply ignore these for now.
2020-09-10 17:55:07 +01:00
Pete Batard f04ed61805
[ext2fs] use physical + offset always for extfs partition creation 2020-09-10 17:50:06 +01:00
Pete Batard 1e56c8812e
[togo] move ESP to the beginning of the drive on systems that allow it 2020-09-10 17:48:09 +01:00
Pete Batard b3caf638b6
[misc] miscellaneous code cleanup and fixes
* Don't use hDrive handle for longer than necessary
* Move all the popcount() function calls into missing.h
* Ensure that the thread_affinity[] array is properly sized
* Improve timeouts for conflicting process search
2020-09-09 17:00:39 +01:00
Fardin 7df88aa931
[misc] update README.md
* Closes #1603
2020-08-20 12:11:58 +01:00
Pete Batard 3f0d574657
[misc] improve ToggleEsp() call to take an offset
* Also fix a MinGW warning
2020-08-15 14:58:55 +01:00
Pete Batard ba406843f4
[core] work around a Windows bug where GetVolumePathNamesForVolumeName() can return the wrong drive letter
* A user is reporting that, on one of their platforms, Rufus is writing to the wrong target during the file-copy
  phase and using their existing Y: local drive instead of the drive associated to the USB, despite the fact
  that Rufus is passing the right volume name to GetVolumePathNamesForVolumeName().

* Here's the PowerShell wmic output, confirming that the volume GUID obtained by Rufus is the right one:

  DriveLetter : Y:
  DeviceId    : \\?\Volume{000349b1-17d0-69f6-c13f-f31162930600}\
  Capacity    : 118540464128
  FileSystem  : NTFS
  Label       : Y-DISK

  DriveLetter : H:
  DeviceId    : \\?\Volume{b150ff4a-d62b-11ea-86e3-f49634660e54}\
  Capacity    : 15791824896
  FileSystem  : FAT32
  Label       : ADATA16GB

* And here's the Rufus log demonstrating that GetVolumePathNamesForVolumeName() is returning the *WRONG* letter:

  Found volume \\?\Volume{b150ff4a-d62b-11ea-86e3-f49634660e54}\
  \\?\Volume{b150ff4a-d62b-11ea-86e3-f49634660e54}\ is already mounted as Y: instead of H: - Will now use this target instead...

* The last line shows, without the shadow of a doubt, that we did feed "\\?\Volume{b150ff4a-d62b-11ea-86e3-f49634660e54}\" to
  GetVolumePathNamesForVolumeName() and that this API call was successful (returned a non zero size) but ultimately returned
  the wrong letter (Y: instead of H:)...

* Therefore, Windows is BUGGY and the use of GetVolumePathNamesForVolumeName() must be avoided.
2020-08-13 14:49:34 +01:00
Pete Batard c2017ad659
[dev] add exception for SSDs sitting behind a VIA-Labs adapter
* Also adjust the sizes under and above which we consider a drive is UFD/HDD
2020-08-01 15:36:59 +01:00
Pete Batard 6f5ea5f88f
[efi] add RISC-V support
* Also fix Coverity warnings
2020-07-29 19:32:32 +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 4617f91e3b
[misc] introduce hImageOption and ComboBox_GetCurItemData() to simplify code
* Also add retry to ms-sys' write_sectors()
2020-07-17 21:51:15 +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 c35a92cd0c
[iso] speed up scanning of ISOs with lots of deep directory entries
* ISOs with tons of Rock Ridge deep directory entries (such as OPNsense)
  can be very slow to scan due to the nature of deep directory parsing,
  which requires processing the whole ISO9660 fs, for each deep directory
  file, in order to find the relevant LSN entry.
* Since we don't expect much of the content we care about to reside in a
  deep directory entry, we amend the code to cut short the scan of any
  directory that contains such elements.
* Note that this only applies for ISO scan and it does nothing to speed
  up the ISO extraction process.
* Related to issue #1575
2020-07-06 17:30:20 +01:00
Pete Batard 500172a7a3
[core] fix format error when trying to use old BIOS fixes with VHDs
* And other improvements
* Closes #1409
2020-07-03 15:24:37 +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 e011cc8201
[checksum] add SHA512 digest algorithm
* "Is it possible to learn this power?"
2020-06-24 14:08:24 +01:00
Pete Batard 11fb6ec013
[checksum] clean up hash computation
* Also fix a typo in missing.h
2020-06-22 18:37:10 +01:00
Pete Batard c4ee840fb6
[misc] fix Coverity upload - Take 3
* It was a missing @ sign for --form file=
2020-06-19 13:10:41 +01:00
Pete Batard 517e417d44
[misc] fix Coverity upload - Take #2 2020-06-19 12:27:14 +01:00
Pete Batard 3a593211b9
[misc] fix Coverity upload
* Stupid PowerSell aliases "curl" to a non compatible script unless you explicitly use "curl.exe"
2020-06-19 11:25:50 +01:00
Pete Batard c8078b0119
[misc] fix Coverity warnings
* Also re-instate the _coverity.cmd script and try to fix AppVeyor Coverity uploads
2020-06-19 10:53:40 +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 09fb7cd9b4
[iso] update libcdio to latest 2020-06-17 19:24:57 +01:00
Pete Batard 94a2699640
[ui] perform ISO download feature check in a background thread 2020-06-13 13:17:35 +01:00
Pete Batard a1d605f206
[fs] set default cluster sizes for Large FAT32
* Closes #1560
2020-06-12 10:54:46 +01:00
Pete Batard 3e4b03a116
[misc] update ChangeLog for BETA 2020-06-11 16:44:52 +01:00
Pete Batard 68d42d4153
[iso] remove Ubuntu's splash screen for persistent drives
* This is accomplished by removing the 'maybe-ubiquity' option
* UEFI only
2020-06-11 13:52:14 +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
Pete Batard 71ede6d9a0
[cmp] update Bled to latest
* Also ensure that we support Unicode paths for 7-zip
* Also ensure that error messages are displayed in English
2020-06-10 20:13:12 +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
Pete Batard 23057f6124
[core] add a cheat mode (Alt-P) to toggle GPT ESP to Basic Data
* Windows 10 or later *ONLY*
* Also don't report a GPT partition name if it's empty
2020-06-06 16:37:25 +01:00
Pete Batard 22fb8febc5
[misc] fix MinGW compilation
* Oh joy, the MinGW folks broke the use of the STANDARD inttypes formats again...
2020-06-05 17:52:16 +01:00
İlhami Tuğral 775fbb3682
[loc] update Turkish translation
* Closes #1555
2020-06-03 18:04:16 +01:00
Pete Batard 76d8adaaac
[misc] try to fix device dropdown not appearing on startup
* Also add '.usb' to the list of extensions we recognize by default.
2020-06-03 16:06:47 +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 ba3665d990
[dev] add exception for SanDisk SSD U100 2020-06-03 11:20:30 +01:00
dmex 63bb308ad6
[net] add HHTP2, gzip, deflate support
* Closes #1550
2020-06-02 12:05:03 +01:00
Pete Batard ee34bf495a
[misc] enable VS2019 String Pooling for Debug builds
* Also enable incremental linking and debug libraries for Debug builds
2020-06-02 11:50:23 +01:00
Pete Batard a255e0b86e
[misc] report original volume name in case of conversion error 2020-06-02 11:14:32 +01:00
Pete Batard 77d319267f
[iso] add Rock Ridge deep directory support
* Closes #1526
2020-06-02 11:13:47 +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 dcc4463273
[iso] update libcdio to latest 2020-05-24 21:09:28 +01:00
Pete Batard 56e87429d7
[misc] fix MinGW/gcc 10.x multiple definition errors 2020-05-18 21:25:44 +01:00
Pete Batard b3d35b27df
[misc] add _mkdirExU and _rmdirU to msapi_utf8.h 2020-05-17 22:53:48 +01:00
Pete Batard 4bf69215bf
[iso] enable extra libcdio debugging with Alt-.
* Also fix 2 memory leaks
2020-05-12 14:13:44 +01:00
Pete Batard bcca9144b7
[misc] fix warnings reported by Cppcheck
* Closes #1520
2020-05-08 01:25:35 +01:00
Pete Batard 79a6f8942e
[misc] fix a typo in About dialog
* Closes #1529
2020-05-03 15:15:20 +01:00
Pete Batard 083b3db34c
[ext2fs] check for the maximum ext2/ext3 volume size
* Suggested by Marcos Mello
* Closes #1524
2020-04-28 18:34:45 +01:00
Derek Foreman 8a59238022
[core] don't leak logical handle from GetDriveLabel()
* Closes #1525
2020-04-28 17:47:26 +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 44a8e08bc6
[misc] enable ASLR for MinGW builds
* ASLR is enabled by default for Visual Studio builds but that isn't the case
  for MinGW builds. Fix that and also add -Wformat-security while we're at it.
* Closes #1518
* Also ensure that we'll never write protective MBR message for non-bootable
  GPT drives, even as we are not calling WriteSBR() for those anyway.
2020-04-23 16:48:37 +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 cf52f61b9c
[ext2fs] re-enable the sparse_super feature
* Closes #1516
* Also prevent protective message from being written in MBR mode
2020-04-21 10:29:16 +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 155b86bc01
[dev] improve UFD vs HDD/SSD detection
* If the device reports HDD or SSD in its name, take it into account
* Also fix ChangeLog
2020-04-16 17:33:08 +01:00
Pete Batard 11633a318a
[internal] update ChangeLog for BETA
* Also add an extra device to the list of internally unlisted
2020-04-15 16:59:01 +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
Pete Batard 129aa64394
[misc] add alternative test mode
* Also fix some typos and unwanted messages
2020-04-12 23:45:09 +01:00
נועם סרוסי 0e6a5b5871
[loc] update Hebrew translation 2020-04-12 23:33:13 +01:00
Pete Batard 70fb34549b
[misc] fix a VS2019 analysis warning
* Also fix minor whitespace issues.
2020-04-11 15:02:08 +01:00
Pete Batard 3c75ca92b4
[core] fix potential invalid label for non western locales
* If a converted label contains mostly underscore, the proposed
  label is used for FAT32 instead. However this label still has
  the KB/MB/GB symbols localized so it may be invalid.
* Ensure that we use a non-localized version of the size when
  using such a label.
* Closes #1506.
* Also fix a VS2019 static analysis warning in net.c.
2020-04-10 17:59:12 +01:00
Pete Batard 2442aaf76f
[dev] improve FIXED vs REMOVABLE detection for drives with unmounted partitions
* And add an exception for a reported flash drive
* Also fix a couple warnings in msapi_utf8.h and net.c
2020-04-10 13:16:57 +01:00
Pete Batard 1e6e38b180
[iso] update MD5SUMS/md5sums.txt text file for distros that have them
* The upcoming Ubuntu 20.04 comes with MD5 validation turned on by default.
* When creating persistent boot media, we may update some of the validated files
  to add persistence, update the search labels, etc.
* Make sure that the files we modify get their MD5 updated where needed.
* Also add 'loopback.cfg' to the list of config files we can add persistence to.
* Part of #1499
2020-04-06 17:09:48 +01:00
Pete Batard 045f590c3b
[iso] change the Ubuntu-type grub.cfg persistence token
* Among other nefarious things, ubuntu 20.04 added a $casper_flavour suffix
  to their grub.cfg /casper/vmlinuz kernel option, so we can no longer rely
  on 'persistent' being inserted in a proper location.
* Switch to latching on file=/cdrom/preseed and hope that it will work for
  all of Ubuntu & derivatives.
* Part of #1499.
2020-04-04 18:05:22 +01:00
Pete Batard b19f47f9b8
[iso] update the handling of failure of autorun.inf creation
* Commit 4c5adf092e moved us away from using CreateFile()
  when extracting a file on the target media, and as such the error code returned when
  failing to create an 'autorun.inf' due to a security solution has shifted.
* Make sure we handle the new error and don't bail out on 'autorun.inf' creation.
* Also update the actual name of the RtlDosPathNameToNtPathNameXXX function we use.
* Closes #1496
2020-04-01 11:34:13 +01:00
Pete Batard ffa573ba5c
[misc] update msapi_utf8.h for C++ compilation
* Pure C++ compilers may throw cast errors.
2020-03-31 17:26:34 +01:00
Pete Batard c86a62ed69
[misc] update msapi_utf8.h to latest
* Also update appveyor.yml now that MinGW is part of the VS2019 image
2020-03-30 11:09:03 +01:00
Pete Batard 590b89a56a
[parser] add multiple occurrence support to replace_in_token_data()
* Closes #1333
2020-03-23 17:49:40 +00: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 5681c3ba41
[dos] fix assert when system locale is set to UTF-8
* Recent versions of Windows can set the deafult locale to codepage 65001 (UTF-8).
* This produces an assert due to a missing entry in cp_hr_list[], so fix that.
* However, this fix alone is not enough, as a GetOEMCP() that returns 65001 means
  that any systems set to UTF-8 will fall back to codepage 437 for DOS, which is
  definitely not what we want => Add an extra call to determine the actual OEM
  codepage when UTF-8 is detected.
* Closes #1468
2020-03-11 13:21:32 +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
Tsarevich Dmitry 121257c584
[misc] fix PVS-Studio static analyzer warnings
* Surround macro params to ensure expected results
* Fix copy-paste errors
* Fix a potential buffer overflow in SetSectionHeaders()
* Add const modifier where relevant
* Use GetWindowLongPtr() everywhere
* Use proper sprintf format for unsigned int
* Use %s for printf-like funcs (https://www.viva64.com/en/w/v618/print/)
* Closes #1464
2020-02-28 17:08:11 +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
Tsarevich Dmitry 0679fe11df
[ext2fs] fix Status control code not being checked
* Status code assignation was removed when the original code
  was altered to use pfNtFsControlFile(). Fix that and also
  make the code more similar to other calls.
* Closes #1459
2020-02-19 20:38:21 +00:00
Pete Batard 3d1ec358b5
[core] improve protective MBR for GPT media
* Use the upgraded msg.bin MBR along with its more comprehensive message.
* Also fixes and issue in GetResource().
2020-02-19 19:51:32 +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
Pete Batard b8579c04da
[misc] add arbitrary buffer allocation to GetResource()
* If duplicate is TRUE and len is non-zero, then a buffer of len size,
  padded with zeroes, is allocated for the resource.
2020-02-19 12:43:05 +00:00
Pete Batard 841b79f45d
[misc] fix a broken link
* Closes #1460
2020-02-18 22:58:48 +00:00
Pete Batard 45acbeba2c
[misc] extend previous patch to all confs and archs
* 9d8790bdda was only for x64/Release
2020-02-15 14:54:41 +00:00
crazyZhang 9d8790bdda
[misc] fix VS2019 compilation for non western locales
* VS2019 produces C2001 when compiling ext2fs due to the /utf-8 option
  being missing → Add it.
* Closes #1456
2020-02-15 14:49:51 +00:00
Pete Batard 761953fdbf
[vds] enable device cycling when using VDS
* Hopefully using DICS_FLAG_CONFIGSPECIFIC instead of DICS_FLAG_GLOBAL is all that was needed
  to get device disabling/re-enabling work without creating zombie devices, because we sure
  need to force Windows' hand when it comes to detecting logical volumes...
2020-02-15 14:46:00 +00:00
Pete Batard 4ee90a9546
[ui] fix Quick Format being disabled when no device is plugged 2020-02-15 14:40:05 +00:00
Pete Batard f1f6e4b4ea
[process] remove Vista-specific code 2020-02-15 00:09:43 +00:00
Mattiwatti 4c5adf092e
[iso] use NtCreateFile() to create files with preallocated sizes
* Implement CreatePreallocatedFile() which uses NtCreateFile() to create files with preallocated sizes.
  This is used during ISO extraction to improve performance.
* Remove now-unused preallocate_filesize which was called after CreateFileU().
* Closes #1445
2020-02-14 23:39:57 +00:00
Derek Foreman 493d818cea
[core] fix MBR/GPT sectors being zeroed more than once
* ClearMBRGPT() attempts to write WRITE_RETRIES times, even if all those times succeed.
* Instead, skip the remaining retries on success.
* Also improve code readability.
* Closes #1454
2020-02-14 02:59:14 +00:00
Pete Batard 70419d31e9
[ui] report timeout errors for logical drive access
* Also update ChangeLog
2020-02-12 17:49:29 +00:00
Pete Batard 65523bbdf9
[misc] fix 32-bit arithmetic overflow operation warnings
* Also disable C28251 annotation warning
2020-02-12 17:23:23 +00:00
Pete Batard 67d324f82b
[extfs] fix inodes not being initialized above 4 GB
* So, as it happens, when assigning the product of two 32-bit variables into a 64-bit one,
  compilers default to being *DUMB* and, against all reasonable expectations, do not perform
  that multiplication as a 64-bit operation (even when the code is compiled as x64). Wow,
  that's really great decision making by compiler designers if I ever saw some... Whoever
  decided that C developers would much rather want truncation and 32-bit overflows, instead
  of the expected *LOGICAL* behaviour of conducting arithmetic operations as 64-bit when the
  result will be assigned to a 64-bit variable, need to be condemned to a lifetime of trying
  to help elderly folks trying to conduct simple computing tasks as a punishment...
  Anyhoo, nt_write_blk()'s offset.QuadPart = block * channel->block_size + nt_data->offset
  was overflowing 32-bit as soon as block * channel->block_size went over the 4 GB mark,
  with the disastrous results one can expect. Considering that this is code we practically
  lifted verbatim from e2fsprogs, I guess e2fsprogs' NT I/O manager was never properly
  tested with anything larger than a 4 GB. Awesome!
* We fix the above by doing what unix_io.c does and setting the 32-bit read/write_blk()
  calls to be wrappers around their 64-bit counterpart (since, once you deal with a 64-bit
  block variable, the computation is conducted as 64-bit).
* Also remove a bunch of stuff we don't need from config.h
* Closes #1396
2020-02-12 16:27:32 +00:00
Pete Batard 9edd7492db
[ext2fs] improve formatting speed
* Fix use of EXT2_BLOCK_SIZE() instead of EXT2_INODE_SIZE() during inode
  initialization, that made us zero way many more blocks than was needed.
* Also disable sparse_super feature and improve block setup.
* Also explicitly use IS_POWER_OF_2 macro where required.
2020-02-11 19:22:22 +00:00
Pete Batard 35af4cbacb
[misc] move Large FAT32 and ext formatting to their own source
* Also add randomization to test images
2020-02-10 13:04:50 +00:00
David Stumph 3c9acb0d3c
[misc] use $(srcdir) in Makefiles
* Picked from #1449
2020-02-10 12:08:04 +00:00
Pete Batard 88be86d3d4
[core] improve reporting of partition types
* Add GPT partition types and improve MBR partition type handling
2020-02-06 18:23:19 +00:00
Pete Batard 4ebed1eac2
[iso] report usage of UDF symbolic links
* These may dramatically increase the size required for extraction
  so users may want to have some hints about these.
* Closes #1446
2020-02-05 13:23:49 +00:00
Pete Batard 50d119ba0b
[cmp] update Bled to latest
* This should increase the write speed when writing compressed images...
2020-02-04 12:09:47 +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 87a7228d38
[ui] improve error reporting for download issues
* This is part of #1444
2020-02-03 12:35:49 +00:00
Pete Batard b8b22ee890
[misc] update copyright year to 2020 2020-01-30 13:57:33 +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
Joseph mendoza 8672feeb0a
[efi] leave .efi files in efi/boot/ uncompressed on NTFS
* While compressed EFI bootloaders are not an issue for UEFI:NTFS, some UEFI firmwares
  embed an NTFS driver that doesn't support NTFS compression.
  To address that, also uncompress the EFI bootloaders on NTFS.
* Closes #1424
2020-01-11 12:33:52 +00:00
Pete Batard 5dce5fb56a
[loc] update spelling of Persian to پارسی
Closes #1420
2019-12-27 18:22:25 +01:00
Pete Batard 4f0335a4a4
[cmp] fix writing of compressed streams that don't end on sector boundary
* Closes #1422
2019-12-27 00:41:53 +01:00
Pete Batard c1613ab7fc
[cmp] upgrade Bled to latest 2019-12-27 00:21:22 +01:00
Pete Batard 72cfb89154
[misc] fix dos_locale.c warning
* Also fix _detect-amend.sh script since Windows 1909 broke wmic for me
2019-11-25 17:39:56 +00:00
ichikuma7 df60eabd5f
[misc] Readme improvements
* Closes #1412
2019-11-19 20:31:11 +00:00
Pete Batard fa8be68c54
[misc] display Windows Update Build Revision (UBR) when available
Yet another link in the long chain of Microsoft making it UNFATHOMABLY DIFFICULT
to figure out what version of Windows an application is actually running on...
2019-11-14 22:43:24 +00:00
Pete Batard 80a2bce5b3
[misc] mention that ext and persistence support should still be viewed as EXPERIMENTAL
* This is in relation to #1396
* Also fix a small typo
2019-11-09 13:38:30 +00:00
Pete Batard 7ec7331200
[net] fix a small memory leak in the update check
* A 257-byte signature buffer was not being freed if check for BETAs was enabled.
2019-10-24 13:05:07 +01:00
Pete Batard 8719412667
[iso] leave bootmgr and bootmgr.efi uncompressed on compressed NTFS
* When using compressed NTFS, having a compressed bootmgr prevents BIOS boot, so we
  now call `compress -u` where needed to leave the relevant bootmgr files uncompressed.
* Closes #1381
* Also fix a minor warning in ext2fs
2019-10-22 17:17:07 +01:00
TotalCaesar659 91e4f9ade3
[misc] update FreeDOS URL to HTTPS
* Closes #1383
2019-10-16 23:32:00 +01:00
Pete Batard 1b02181f74
[ui] fix percent not being displayed on slow format 2019-09-21 22:39:00 +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 bf8d888b21
[ext2fs] fix creation of persistent partitions for pre-1703 platforms
* Windows platforms prior to Windows 10 1703 cannot access any logical partition besides the
  first one (we don't even get a volume for those).
* This fix enables the use of physical + offset for ext# formatting to work around this,
  which is file since we don't actually need to mount the partition.
* Also fix ext2fs_open2() not handling normalized versions of Windows drive paths ("\\?\...")
* Also fix an issue where we would make the drive letter unavailable after formatting a
  standalone partition to ext#.
* Also ensure that we return an error if the drive we attempt to locate a partition on
  through an offset does not match the currently selected one.
* Also remove some unused calls in drive.c.
* Closes #1374
2019-09-14 23:33:46 +01:00
Pete Batard 0a24940c85
[iso] fix detection of 'txt.cfg' as a main Syslinux config file
* While we need to detect that 'txt.cfg' is a Syslinux config file, so that
  we can alter it for persistence, it should never be used as a main config
  file, such as the one we link to when we create /syslinux.cfg.
* Closes #1375
2019-09-12 13:18:29 +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 38ba8d366c
[ui] use GNU wget's algorithms for rate/ETA display 2019-09-07 12:12:28 +01:00
Pete Batard 4c816a519e
[misc] update license URLs and align ms-sys's write_data buffer to 4K
* Also remove some obsolete TODOs
2019-09-06 11:32:37 +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 798029237f
[iso] improve fallback for dual UDF+ISO9660 images
* Also add private filtering of LM90X USB⟷SSD devices
2019-08-28 11:00:32 +01:00
Pete Batard 94b28390b6
[internal] update ChangeLog for BETA 2019-08-26 12:43:12 +01:00
Pete Batard 398baf23d8
[ui] fix WIM image application progress
* Use UpdateProgressWithInfo() always
* Remove cubic progress and use an estimated overhead instead
2019-08-25 14:09:28 +01:00
Pete Batard 0f6794a72b
[ui] improve handling of the Quick Format and Extended Label options
* Make sure they are always unchecked for pure DD images
* Make sure Quick Format is checked and disabled for ReFS or Large FAT32
* Also make sure Fixes for old BIOSes is disabled for pure DD images
2019-08-24 23:45:53 +01:00
Pete Batard e11113f802
[ui] fix stale progress bar during standalone ext2/ext3 format
* Also rename the FormatXXX function calls
2019-08-23 16:58:36 +01:00
Pete Batard ccbf632a7c
[internal] fix AppVeyor MinGW builds 2019-08-22 20:14:52 +01:00
Pete Batard 62dad2ef2f
[misc] update to Visual Studio 2019 2019-08-22 16:41:12 +01:00
Pete Batard 21351b9fbe
[misc] refactor the "operation in progress" detection
* Remove unused iso_op_in_progress and use a single op_in_progress that gets
  set when we disable the controls.
* Also fix an issue where Ctrl-L was being processed as Alt-L due yet another
  completely backwards Windows behaviour where the message that is meant to
  indicating whether Alt is pressed is also sometimes used to indicate that
  another key is being pressed if the dialog doesn't have keyboard focus...
2019-08-22 14:04:41 +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
Pete Batard 94e2015edf
[core] use offset rather than index to identify a partition
* Also fix potential bcdboot invocation failure by introducing a new AltGetLogicalName() call.
* Also use the AltMount calls for ext# formatting
2019-08-18 14:13:09 +01:00
Pete Batard 1fa0aaf325
[iso] relax isolinux cfg file detection for persistence and force DD mode for Pop_OS 2019-08-15 21:14:30 +01:00
LaszloEr 076b13c469
[loc] improve German translation
* Closes #1356
2019-08-13 09:23:03 +01:00
Pete Batard 936bd9beb0
[core] revert to having the ESP as the last partition
* This is to avoid Microsoft's appalling refresh of the partition layout,
  which can result in partitions not being assigned a volume GUID.
* Mostly reverts a change that was applied in 1c39a80d72.
* Also add some more enum output and bail if we can't get a logical drive.
* Closes #1351
2019-08-13 09:14:13 +01:00
Pete Batard f0c843fcdc
[ext2fs] add BIOS persistence for Debian Live & Ubuntu 2019-08-06 18:50:07 +01:00
Pete Batard 4c8dd29935
[misc] silence more Coverity false positives
* "Show me static analysis framework that only triples my work and I will kiss its feet."
2019-08-06 17:02:28 +01:00
Pete Batard 84427d12dd
[core] add an exception for JMicron flash drives
* Also fix another round of Coverity trigger-happy warnings (Seriously, those FALSE
  POSITIVES about fwprintf can £$%^&* off — fix your frigging detection, Synopsys!)
2019-08-05 20:18:34 +01:00
Pete Batard fcb15ab6e9
[ext2fs] automated persistence set up for Debian Live & Ubuntu
* Only UEFI boot for now (GRUB) & requires a post 2019.07.26 ISO for Ubuntu.
* This adds the relevant persistence/persistent kernel option to the conf file, sets the
  expected volume label and creates a /persistence.conf file where needed.
* Also improve token parsing by ensuring a token is followed by at least one white space.
2019-08-02 17:57:10 +01:00
Pete Batard 307e2f7075
[core] fix 'Bad label' errors with empty labels
* Only happens on Win7 due to MinGW not automatically initializing variables to zero on that platform.
* Root of the problem was that GetWindowTextU() did not properly handle empty text controls, due to
  GetWindowTextW() returning 0 on empty strings. As a result, the UTF-8 label was not properly set to
  the empty string, but kept whatever data it contained, which is garbage on Windows 7 and resulted in
  an invalid label (even after sanitizing, since we don't sanitize low-level ASCII characters).
* Closes #1352
2019-08-01 18:42:51 +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 17d4d6c6fe
[core] fix regression with checkboxes being cleared on START
* Regression was introduced with 3c1ef23ff3 and 2ff6da49f0.
* Because of it extended label and icon, fixes for old BIOSes and Rufus MBR were not applied.
* Closes #1348
2019-07-30 11:41:04 +01:00
Pete Batard 8afb6f220f
v3.6 (build 1551) 2019-07-18 13:31:29 +01:00
Pete Batard f95aa94c57
[core] prevent the enumeration of Windows 10 19H1 sandbox VHDs
* The new 19H1 Windows Sandbox feature relies on VHDs labelled 'PortableBaseLayer' → Don't list those
2019-07-15 12:35:22 +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 3e1d0b309f
[ui] fix Windows format prompts not being suppressed 2019-07-08 19:21:40 +01:00
Pete Batard 1bbb053f70
[misc] update ChangeLog for BETA 2019-07-08 16:03:52 +01:00
Pete Batard 4a39f32165
[grub] update embedded GRUB to 2.04 2019-07-05 13:31:22 +01:00
Pete Batard 0186949255
[ui] prevent the toolbars from disappearing
* Seriously, who at Microsoft devised this utterly broken TB_GETIDEALSIZE call?
2019-07-05 12:24:50 +01:00
Pete Batard 180e6d4364
[iso] disable ISO mode for incompatible Manjaro 2019-07-03 23:07:24 +01:00
Pete Batard 3c1ef23ff3
[ui] remove check box when old BIOS/Rufus MBR is disabled
* Also use ChangeWindowMessageFilterEx() instead of ChangeWindowMessageFilter()
2019-07-02 17:49:33 +01:00
fufunelaf 1ae4cb722e
[loc] update Latvian translation
* Closes #1329
2019-06-14 13:06:59 +01:00
Pete Batard 24e8307d9a
[ui] update progress bar position for screen readers
* Make sure to call the original winproc on PBM_SETPOS and friends.
* Closes #1289
2019-06-14 13:02:35 +01:00
Mehmetali Kuran 861f51169e
[loc] update Turkish translation 2019-06-11 15:23:35 +01:00
Pete Batard 249beabb86
[internal] silence a MinGW GCC 9.x warning
fs.c:61:25: warning: taking address of packed member of 'struct fat_boot_sector' may result in an unaligned pointer value [-Waddress-of-packed-member]
   61 |     sectorsize = get_16(&sectbuf->bsBytesPerSec);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~
2019-06-05 17:08:40 +01:00
Pete Batard f6687e729b
[ui] fix unwanted persistence unit overlay
* Also fix a typo and make sure to quote more paths when invoking Fido.
2019-06-05 17:00:21 +01:00
Pete Batard a89ed8bc60
[net] make sure Fido script path is quoted
* Fixes pbatard/Fido#11
2019-06-05 16:29:54 +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 2607dfabc1
[loc] fix truncation of notification messages 2019-05-15 13:42:33 +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
Pete Batard a696e041e1
[misc] fix MinGW compilation
* Updated header was missing from previous commit
2019-05-02 16:03:15 +01:00
Pete Batard 5ae6e4f494
[ext2fs] improve error reporting
* Also clean up VDS error messages
2019-05-02 15:41:42 +01:00
Pete Batard 5f9e65707f
[core] partitioning improvements
* Improve report and make sure we zero leftovers from the start of a partition
* Also add VDS error codes
* Also fix Coverity warnings
2019-04-27 16:04:47 +01:00
Pete Batard 1c39a80d72
[core] partial overhaul of the partitioning and formatting facilities
* Add VDS formatting support (through an Alt-V cheat mode)
* Add partition index support
* Improve(?) Windows To Go support by following Microsoft recommended partition order
* Code refactoring & cleanup
2019-04-25 18:58:55 +01:00
Pete Batard 4b38483a68
[ext2fs] improve persistence partition creation's progress report
* Closes #691
2019-04-19 13:24:20 +01:00
Pete Batard d93ae1e598
[core] fix 2.x → 3.x regression that removed NTFS for Grub4DOS
* Also update file hash DB
2019-04-18 12:53:12 +01:00
Pete Batard 0a3600f9ff
[ext2fs] add registry setting to specify which ext fs version we should use
* Also improve log progress report
* Also move ext formatting to before we format the main partition
2019-04-17 20:34:39 +01:00
Pete Batard 0ad3f8c1d3
[ext2fs] integrate ext3 formatting into UI operations
* Add display of persistence controls on relevant images
* Add progress on ext3 formatting and improve error reporting
* Also improve MountVolume() and fix some Coverity warnings
2019-04-16 20:44:13 +01:00
Pete Batard ccf0f1bf3c
[ext2fs] add journal support for ext3 formatting
* Also clean up code, handle errors and fix issues
2019-04-15 17:04:39 +01:00
Mohamad Ikhwan bin Kori ddda1561ae
[loc] update Malay translation to latest 2019-04-14 15:22:09 +01:00
Pete Batard 5159b1eb87
[ext2fs] fix Coverity warnings 2019-04-13 17:17:23 +01:00
Pete Batard 9610e3a63b
[misc] refactor some global variables' names so we can reinstate -Wshadow
* Also remove no longer used _coverity.cmd and update .gitignore
2019-04-13 15:29:27 +01:00
Pete Batard cec443ef61
[ext2fs] update to latest e2fsprogs
* e2fsprogs commit [cecc2bc78b39ddcd34a819a4d7e7cd30897958cb]
* Also add LGPLv2 license text
2019-04-13 14:52:29 +01:00
Pete Batard cda716c1ff
[ext2fs] initial ext2fs support 2019-04-12 21:32:40 +01:00
Pete Batard f4d70345af
[loc] update MSG_068 and MSG_100
* Closes #1281
2019-04-11 14:24:18 +01:00
Pete Batard 38d82612cd
[core] fix a memory leak when search for process is interrupted 2019-04-10 12:17:47 +01:00
Pete Batard d4a663991b
[core] report write errors more explicitly
* Also issue a port cycle on ERROR_NOT_READY
* Also run a check for conflicting processes during write retries
2019-04-09 21:37:08 +01:00
alex f b7ab196a97
[loc] update Greek translation to latest 2019-04-08 16:37:08 +01:00
Pete Batard 06b33f94e4
[core] alter the drive letter we use when Windows has already remounted it
* Our code should be flexible enough to do just that and this will also
  alleviate requiring end users to retry an operation.
2019-04-08 16:29:17 +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
Pete Batard bd099b9cca
[internal] add auto-locking of closed issues after 90 days of inactivity 2019-04-06 12:08:51 +01:00
Uk-Jin Jang ce8f025820
[loc] update Korean translation to latest 2019-04-06 11:37:28 +01:00
Pete Batard 5dbf537dfb
[core] add listing exception for Apple SD card readers
* Also fix a Coverity warning
2019-04-05 22:02:36 +01:00
Pete Batard f02fbe3acc
[core] add full extraction support for efi.img
* Also, Solus distro maintainers, I hate you!
2019-04-04 19:12:48 +01:00
Pete Batard dd9f9ce1e9
[process] fix retrieval of full process commandline for MinGW32
* NtWow64QueryInformationProcess64() fails because sizeof(PVOID64) happens to be 4 instead of 8 in MinGW32 (WTF?!?) and
  therefore sizeof(pbi) is set to 44 instead of 48, resulting in NTSTATUS code 0xC0000004: STATUS_INFO_LENGTH_MISMATCH...
  => Use an ULONGLONG instead and don't rely on MinGW32's improper definitions.
* Also fix an issue whereas, when we find multiple conflicting processes, the first one's path is duplicated to all others...
2019-04-02 12:31:41 +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
Pete Batard 661ba7b64c
[core] fix Win7 EFI boot file extraction when dual BIOS+UEFI is in use
* Closes #1292
* Also add "RISD" (Ricoh IDE SD Card reader) to list of card readers (#551)
* Also make running Fido script read-only
2019-03-27 12:21:41 +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
Pete Batard 4271e42b50
[fido] download an LZMA compressed version of the script
* Since we have compression available through Bled we might as well use it
* Also validate that the download URL comes from https://github.com/pbatard/Fido
* Also prevent the check for update from running while we are downloading ISOs
2019-03-23 13:59:20 +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
Pete Batard 3aecbf371b
[net] fix display of download filesize for RTL languages
* Closes #1279
2019-03-20 13:28:42 +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
Pete Batard 82bb497c1b
[fido] add a log notice to explain why ISO downloads are disabled
* Also fix an issue where Rufus doesn't report an error if 'fmifs.dll' can't be found (#1284)
* Also improve GitHub issue template to mention that Ctrl-L can also be used to access the log
2019-03-19 12:04:29 +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
Pete Batard efd6d9f345
[misc] fix Coverity warnings
* What would be nicer was if half these Coverity issues weren't false positives...
* Also update Readme and fix progress bar colour not being reset after error
2019-03-15 11:00:13 +00:00
Itiel 6252636aff
[loc] update Hebrew translation 2019-03-15 10:43:20 +00:00
Pete Batard 9cc9d3fefe
[misc] update the Changelog
* Also fix a warning about uninitialized variable
2019-03-14 23:16:31 +00:00
Gîrlea Alexandru 5c4324f827
[loc] update Romanian translation to latest 2019-03-14 20:34:22 +00:00
Pete Batard 25a4666911
[ui] fix fs selection and remove prompt for GRUB/Syslinux downloads in GPT mode
* FS selection might default to NTFS instead of FAT32 after having selected a Linux ISO if
  no drive was plugged in when the ISO was selected and then a drive was plugged using NTFS.
* Also display Fido's exist code
* Closes #1255
2019-03-14 18:53:08 +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 924c6b1a79
[loc] fix alert hook handling when switching language
* Because the localized title/button text lookup was only executed once
  on startup, it wouldn't apply to the new language on relaunch. Fix that.
2019-03-13 17:01:26 +00:00
Pete Batard 7e21f8a60c
[misc] add /utf-8 to MSVC compiler options
* Closes #1277
2019-03-12 20:15:57 +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 9d1a2bc25e
[net] fix session variables not being cleared in ResolveRedirect()
* Also set default network timeouts to 3500ms
* Also add '-Sta' option when running Fido so that at at least the UI can display on Windows 7
2019-03-05 16:25:14 +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 8823c0cf9c
[net] always download latest release of Fido
* Also clean up/factorize some of the net code
2019-03-04 19:14:54 +00:00
Pete Batard 2a77763dc3
[net] add ISO selection after successful download
* Also use UM_TIMER_START message to start timed operations
2019-03-04 11:57:33 +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 595f74f70c
[loc] fix human readable size display for RTL languages
* Closes #1254
2019-02-14 19:34:05 +01:00
Pete Batard 555397403a
[ui] fix quickformat option being ignored when unchecked 2019-02-11 16:10:27 +01:00
Pete Batard 078aaf7714
[net] disable BETA version check for anything but x86_32 2019-02-05 17:49:27 +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 f98c243eb8
[iso] fix crash when opening Windows ISOs
* Closes #1268
* Issue was introduced in 521034da99 and has
  to do with VS2017's handling of static strings in RELEASE mode.
  Fix is to use a static char array instead.
* Also fix MinGw build warnings and increase process search timeout
2019-01-31 13:50:03 +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 081d7b3a0b
[misc] remove the need for endpoint duplication in RunCommand() 2019-01-30 00:21:50 +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 befe2606cf
[misc] use %S to print wchar_t strings where possible
* Also fix some Coverity warnings
2019-01-03 12:29:28 +00:00
Pete Batard 5309dc88e2
[process] report the full commandline for blocking processes
* This can be useful to find which Service instance an 'svchost.exe'
  is attached to.
2019-01-02 16:36:34 +00:00
Pete Batard 7b2edbfd6f
[process] also report the PID of conflicting processes
* Also update copyright year
2019-01-02 12:24:34 +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 4cd308a1c0
[core] don't analyse boot records of deleted partition
* Also revert a472e96e87 as this is creating
  unwanted detection issues as per #1239. We'll try to devise a better way
  to avoid intempestive refreshes later on.
2018-11-28 11:12:54 +00:00
Pete Batard c0526b3e8b
[core] invoke VDS to delete all partitions before format/write 2018-11-28 10:50:00 +00:00
Pete Batard 7745edbb92
[misc] use COBJMACROS for COM calls 2018-11-27 11:59:19 +00:00
Pete Batard f8592959bd
[misc] update components for 3.4 BETA 2018-11-22 15:34:21 +00:00
Pete Batard 04a5793ee7
[misc] use compilation flag to undefine NDEBUG for assert 2018-11-21 17:45:18 +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
Charles Stevens 2ba62fa891
[misc] fix application closing when terminating console, when -g is used
* Closes #1243
* Closes #1244
2018-11-12 12:58:19 +00:00
Pete Batard 08019ea67c
[iso] fix non detection of some EFI based images
* efi.img was not always being properly process (e.g. proxmox-ve_5.2-1.iso)
* Note that this doesn't mean that the ISO will properly boot, just that we will
  now properly detect and install the EFI bootloaders that reside within the .img
2018-11-01 19:18:57 +00:00
Pete Batard c2ba8fc0d2 [ui] fix UI elements that don't match commandline parameters 2018-10-30 16:14:07 +00:00
Charles Stevens 865678b4b7 [misc] add file system selection to commandline options
* Closes #1236
2018-10-30 12:53:14 +00:00
Pete Batard c2c2249207 [internal] fix AppVeyor builds 2018-10-27 16:45:56 +01:00
Pete Batard d90676542b [misc] report executable arch in the log
* Also update VS2017 solution to use 10.0.17134 SDK
* Also update README
2018-10-27 14:22:09 +01: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 92b66e02eb [vs2017] revert to using x86/x64 for x86 output directories
* Instead of x86_32 and x86_64.
* This should aid with our appxbundle creation and if Microsoft want to
  be wholly incorrect in their arch designations, who am I to judge?...
2018-10-26 12:54:20 +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
Pete Batard fd08cf4745 [ui] fix file system being reset when switching languages
* Also add a <Ctrl>-<L> cheat mode to toggle the log window
2018-10-23 22:35:39 +01:00
Pete Batard 7757cab3c5 [ui] fix possible truncation of short image path
* Closes #1233
* Also fix MinGW builds due to missing PROCESSOR_ARCHITECTURE_ARM64 define
2018-10-22 22:28:20 +01:00
Pete Batard 6109d91c38 [net] add automated update support for ARM/ARM64 2018-10-22 17:42:40 +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 6d7a938058 [internal] update hooks to remove automated tagging
* Also update AppVeyor builds wrt the above
2018-10-19 14:36:48 +01:00
Pete Batard bc6e23ec11 [net] drop the requirement for text/plain MIME on the .ver files
* This should fix the update check when picking off the .ver off github
* Also update non working links
* Closes #1229
2018-10-16 21:51:40 +01:00
Pete Batard e587997f4e [ui] fix an issue where target system could appear blank for UEFI:NTFS
* Also fix a regression introduced in 790b188b3d
2018-10-08 19:00:24 +02:00
Pete Batard 846857a549 [ui] use Downloads as initial image directory rather than My Documents
* With thanks to win32diskimager for figuring that one out
2018-10-06 14:21:13 +02:00
Pete Batard 19d9bdbed0 [ui] fix missing description of some buttons for screen readers
* Closes #1215
2018-10-05 10:55:00 +02:00
Pete Batard b8c0e7b095 [dev] add exception for Prolific SD/TF Card Reader
* Closes #1221
2018-10-04 12:24:08 +02:00
Pete Batard 790b188b3d [ui] fix disabling of Quick Format checkbox
* Closes #1211
* Also fix MBR analysis report displayed each time the user changes boot selection
2018-10-03 19:14:40 +02: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 1b63e59ee2 v3.3
* Also be more lenient about erasing the backup GPT
2018-09-17 12:09:54 +01:00
Pete Batard 97315a238d [togo] fix bcdboot invocation for ISOs that aren't dual BIOS and UEFI
* Closes #1111
2018-09-14 14:10:40 +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
Pete Batard e52a5206ba [ui] fix FAT32 sometimes becoming available for ISOs with >4GB files
* FAT32 would become available and selected as default FS when
  selecting a Windows ISO with a >4GB file and then clicking
  "Show advanced drive properties".
2018-09-07 14:11:25 +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
Pete Batard ed82c82d46 [misc] update ChangeLog for 3.2 BETA 2018-09-04 12:33:58 +01:00
Roberto Boriotti b358316fbf [loc] small update to Italian translation 2018-09-04 12:33:07 +01:00
Pete Batard 6275c5b724 fix MinGW-w64 warnings 2018-09-03 13:41:29 +01:00
Pete Batard a472e96e87 [misc] prevent unwanted device refreshes 2018-09-03 13:04:05 +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