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

1890 commits

Author SHA1 Message Date
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