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

Compare commits

...

1763 commits

Author SHA1 Message Date
Dmytro Hissa
20881ceea6
[loc] fix the translation of 'cancel' for Ukrainian 2024-07-25 13:32:11 +01:00
Pete Batard
d5302c0bad
[misc] fix Coverity warnings
* Also use a new if_not_assert() construct where possible.
2024-07-19 13:46:42 +01:00
Pete Batard
78608c35fe
[wue] fix TimeZone option not being applied to the right parent
* Closes #2519.
* Also update MinGW's base WINVER to Windows 10.
2024-07-15 17:35:08 +01:00
Mohmed abdel-fattah
9b3c11122b
[misc] reinstate delay-loading of wininet and virtdisk DLLs
* Per #2272 and #1877, MinGW has issues when delay loading libraries, but
  it is possible to apply a workaround to alleviate them, by redefining
  DECLSPEC_IMPORT before including the corresponding headers.
* This is a bit more tricky to accomplish for virtdisk, as MinGW's windows.h
  header does include virtdisk.h on its own (rather than expect a formal
  include as MSVC does), so we have to prevent the virtdisk.h inclusion
  first, by defining a macro, and then apply our workaround.
* Per ea87573f-65ea-44a2-b4bb-ca96c0a136ab%40akeo.ie/#msg58793876
  we are hoping that this should be a temporary workaround and that the root
  cause of the issue will be fixed in binutils.
* Closes #2513.
2024-07-13 17:43:40 +01:00
Pete Batard
10d33c6658
[wue] add TimeZone to regional options replication
* Closes #2499.
2024-07-08 13:56:15 +01:00
Pete Batard
83b1e73062
[dev] add exception for Samsung uSD Card devices
* Closes #2506.
2024-07-08 13:22:37 +01:00
Pete Batard
6d29120b38
[wue] add 'Local' to the list of disallowed local account names
* Closes #2493.
* Also add 'KRBTGT' as it is mentioned at https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/manage/understand-default-user-accounts#default-local-accounts-in-active-directory
  along with 'Administrator' and 'Guest' and is probably disallowed too.
2024-07-08 13:13:21 +01:00
wallrik
7c6dbdc1ce
[msic] update Windows To Go docs link
* Old link is still fine, but we might as well point to the Windows 10 version.
* Closes #2511.
2024-07-08 11:01:47 +01:00
Mark Peek
6f764ab637
[dev] allow the use of FreeBSD bhyve virtual disks
* Closes #2504.
2024-07-08 10:59:48 +01:00
Pete Batard
bdff2dc45c
[core] work around Windows' moronic behaviour for mounted VHDs
* If you attempt to read past the end of a mounted VHD, not only will Windows happily
  return data that doesn't exist (instead of returning End of Disk), but it will also
  corrupt the existing data!
* So, to appease the capricious Windows gods, we now make sure that we never attempt
  to read (or write) past the boundaries of the source or target when writing images.
* This should address the last issue from #2468.
* Also set version to rufus-next and make some small improvement in winio.h.
2024-06-03 12:58:37 +01:00
Dayking Cheng
ae3c65e7f8
[loc] update Chinese Traditional translation to latest 2024-05-26 11:50:42 +01:00
Pete Batard
9551655103
Rufus 4.5 (Build 2180)
* "Yeah, well, I'm gonna go build own translations, with blackjack (Google translate), and hookers (DeepL)!"
2024-05-22 12:02:44 +01:00
Pete Batard
59fd550c46
[core] do not set the UEFI:NTFS partition to ESP type
* As usual, Microsoft products are so poorly designed that they can't deal with
  multiple instances of one thing. In this case, if the Windows installer sees
  two ESPs after you select the drive where you want to install Windows and it
  creates its own ESP there, it will fail during the "CopyinG Windows Files"
  step.
* So make sure that the UEFI:NTFS partition is *not* set to ESP type, even
  though it is really an ESP, which is something that we used to do, but that
  got reverted in 0f23c47184.
2024-05-22 09:56:38 +01:00
Hugo Carvalho
fcf5e2eede
[loc] update Portuguese (Portugal) translation to latest 2024-05-20 22:59:53 +01:00
Pete Batard
a50d390767
[ui] don't preserve the UEFI runtime validation setting between sessions
* I don't think we want to make this setting permanent for the time being as
  this may result in drawbacks like people using the UEFI Shell going through
  an unwanted MD5Sum check because they forgot to turn it off.
2024-05-20 11:08:49 +01:00
Ana Pevac
c5ade8c811
[loc] update Slovenian translation to latest 2024-05-20 10:41:46 +01:00
Костянтин Сергійович
1d4eea4926
[loc] update Ukrainian translation to latest 2024-05-16 11:11:23 +01:00
Pete Batard
e596e1a550
[loc] update Pollock to prevent an issue with Outlook and whitespaces 2024-05-14 16:49:04 +01:00
Riku Brander
49be8c34b5
[loc] update Finnish translation to latest 2024-05-14 16:36:18 +01:00
Aldis Tutins
3fdf6e121f
[loc] update Latvian translation to latest 2024-05-14 16:25:46 +01:00
a1346054
97d69d84c6
[misc] correct author's name
* Closes #2477.
2024-05-13 17:07:59 +01:00
Pete Batard
45423becd5
[vhd] fix VHDX being inadvertently saved as VHD
* Addresses the error reported in #2468.
* Also use memmove instead of memcpy where overlapping data is involved.
2024-05-12 13:06:23 +01:00
Martin Kubánik
fb43dc8957
[loc] update Slovak translation to latest 2024-05-12 12:26:17 +01:00
Roberto Boriotti
d12e845b9a
[loc] update Italian translation to latest 2024-05-12 12:14:48 +01:00
Miloš Ljubičić
236b4e60eb
[loc] update Serbian translation to latest 2024-05-11 11:40:56 +01:00
Jakub Zieciak
b2f06d746b
[loc] update Norwegian and Polish translations 2024-05-10 11:21:38 +01:00
Ben Gamer
8727d3b3f6
[loc] update Croatian translation to latest 2024-05-10 11:13:29 +01:00
Marco A. Ramirez Madrid
ef2cac008d
[loc] update Spanish translation to latest 2024-05-10 11:08:51 +01:00
Csizmadia Gábor
9476bb41ad
[loc] update Hungarian translation to latest 2024-05-10 10:47:34 +01:00
五月雨
412f1c63da
[loc] update Japanese translation to latest 2024-05-10 10:42:13 +01:00
Christos Alvanos
0c38268665
[loc] update Greek translation to latest 2024-05-10 10:39:25 +01:00
Pete Batard
03d46b3d87
[misc] silence a benign log warning
* Also update ChangeLog for 4.5 BETA.
2024-05-08 15:44:32 +01:00
Pete Batard
d0bc05077a
[misc] improve size based constants
* Make them more explicit by ensuring that they use a size suffix.
* Also improve whitespace consistency.
* Also make sure that we display the search for conflicting process message
  in the status on a search operation that may timeout.
2024-05-07 12:53:40 +01:00
Pete Batard
180a61736c
[misc] move the revoked UEFI bootloader prompt before the ISO → ESP one
* Also fix a potential buffer overflow when displaying the detailed HDD vs UFD score due to the
  safe_sprintf() macro re-evaluating the expression passed as parameter.
* Also refactor and clean up the the safe_###() macros to avoid similar issues.
* Also use FOF_NO_UI as flag for SHDeleteDirectoryExU(), which may alleviate some Alt-D errors.
2024-05-06 19:47:36 +01:00
Pete Batard
2106be0c3b
[iso] fix an assertion with mt86plus_7.00_64.grub.iso
* Also fix a couple typos in Brazilian Portuguese translation.
2024-05-06 19:39:26 +01:00
Marcos Mello
ddc7f1b89d
[loc] update Portuguese (Brazilian) translation to latest 2024-05-03 20:12:35 +01:00
Pete Batard
39a5ae6d36
[core] fix "drive cannot find the sector requested" when writing VHDs
* As opposed to the ERROR_HANDLE_EOF we get when reading sectors from the VHD file directly, now that we mount
  VHD/VHDX for reading, and access them as regular disks, we also need to process ERROR_SECTOR_NOT_FOUND as an
  indicator for the end of the drive.
* Also switch to using GetOverlappedResultEx() with a timeout since we no longer have to cater for Windows 7.
* Closes #2468.
2024-05-01 12:48:42 +01:00
Pete Batard
cba95f7710
[grub] update GRUB to 2.12 release 2024-04-30 11:59:40 +01:00
Erfan Al
4df3fd8d16
[loc] update Persian translation to latest 2024-04-30 11:57:20 +01:00
VenusGirl
d38664dde8
[loc] update Korean translation to latest 2024-04-29 10:44:27 +01:00
Mehmetali Kuran
7d63b78571
[loc] update Turkish translation to latest 2024-04-29 10:39:27 +01:00
Wang JiaWei
2767fdbfd3
[loc] update Chinese Simplified translation to latest 2024-04-29 10:36:34 +01:00
Ahmed Rasnaama
569b1e2971
[loc] update Arabic translation to latest 2024-04-29 10:31:15 +01:00
Pete Batard
2a6df95cad
[iso] fix persistence option not being added for Ubuntu 24.04
* Ubuntu changed their GRUB config format yet again, so our search for the kernel
  config no longer works, and the 'persistent' option doesn't get added.
* Switch to a more generic '/casper/vmlinuz' search, though it might have unintended
  consequences...
* Also fix a possible double free in FormatExtFs().
2024-04-28 13:56:18 +01:00
Pete Batard
83e0bdad7a
[md5sum] fix unwanted partial matches in is_in_md5sum()
* is_in_md5sum() could partially match a string against another one, which, aside from matching
  unwanted files, could also lead to files not being identified as being in the md5sum.txt if
  the previous partial match happened to be with the current search target.
* Fix this by making sure that we always match a whole path followed by '/n', '/r' or '/0'.
2024-04-28 13:26:38 +01:00
Pete Batard
df9e333f3a
[md5sum] fix bootloaders not being extracted unless referenced in md5sum.txt
* Not all md5sum.txt (e.g. Ubuntu 24.04) will reference the UEFI bootloader,
  so we can't rely on using that data for the bootloader extraction.
* Instead, formally test for the presence of the bootloader on disk.
2024-04-27 18:21:57 +01:00
Pete Batard
4ec57dc5d7
[iso] fix improper size being returned by ExtractISOFile()
* The call returned the size occupied in blocks rather than the actual file size,
  leading to issues such as Rufus not being able to identify the GRUB version used
  by Ubuntu 24.04.
2024-04-26 21:54:43 +01:00
Pete Batard
6ac2dfb0df
[misc] fix temp_dir not being properly initialized
* The static_/safe_ string macros were not properly designed to handle the case where
  an expression such as strlen() rather than a static value was passed for the count,
  leading to unexpected results, such as excessive truncation of strings. Fix that.
* Also fix a buffer overflow in GetDevices() due to using a wrong string length.
2024-04-26 19:15:48 +01:00
Suttirak Mattayawerakiat
00dc0473b5
[loc] update Thai translation to latest 2024-04-26 12:57:20 +01:00
Pete Batard
4286871f50
[loc] fix versioning for Russian and French
* Also update README for upcoming feature.
2024-04-26 11:06:37 +01:00
Thilo Langbein
2c3e560ba3
[loc] update German translation to latest 2024-04-26 10:54:32 +01:00
Thomas De Rocker
2ecb8b54b2
[loc] upate Dutch translation to latest 2024-04-26 10:52:09 +01:00
Sopor
4019bc135f
[loc] update Swedish translation to latest 2024-04-26 10:46:05 +01:00
Дмитрий Ерохин
0a956f38b0
[loc] update Russian translation to latest 2024-04-26 10:19:13 +01:00
Itiel
37ccc8d1e1
[loc] update Hebrew translation to latest 2024-04-26 10:12:20 +01:00
Mike Handberg Hovedskov
13ae9b3339
[loc] update Danish translation to latest 2024-04-26 10:09:45 +01:00
Richard Kahl
11f74cde01
[loc] update Czech translation to latest 2024-04-26 10:05:09 +01:00
Fedorovici Constantin-Robert
b28eb88e3b
[loc] update Romanian translation to latest 2024-04-26 10:01:50 +01:00
Minh Nguyễn Quang
8b0531e4dc
[loc] update Vietnamese translation to latest 2024-04-26 09:56:56 +01:00
Pete Batard
855a06d3a0
[loc] update French translation to latest
* Also change the time of cron execution for the lock issues workflow.
2024-04-25 12:51:28 +01:00
Pete Batard
eb45c97667
[bled] fix memory allocation issue for 32-bit in unpack_lzma_stream()
* Vulnerability discovered and reported by Mansour Gashasbi (@gashasbi).
* Also update the lock thread workflow to try to avoid recent failures.
2024-04-22 12:56:28 +01:00
Pete Batard
513c5f44a5
[misc] fix possible buffer overflows in _snprintf()
* _snprintf() is not always guaranteed to NUL terminate a string which could
  lead to  buffer overflows in iso_extract_files() and iso_extract_files().
* Fix this by switching to using the more secure _snprintf_s().
* Vulnerability discovered and reported by Mansour Gashasbi (@gashasbi).
* For good measure, we also switch to the strncat_s() where possible and also
  use memmove() instead of memcpy()/strcpy() as the behaviour of the latter on
  overlapping memory regions is undefined.
* Also fix some additional MinGW warnings regarding casts and nb_blocks.
2024-04-17 17:19:03 +01:00
Pete Batard
92ac1c770c
[wue] don't display WUE when '/sources/$OEM$/$$/Panther/unattend.xml' exists
* Closes #2451.
* Also update Coverity workflow to use latest actions/upload-artifact.
2024-04-15 16:35:52 +01:00
Pete Batard
f813eb05d8
[iso] fix a buffer overflow in syslinux.c
* p[safe_strlen(p)] = 0; was pointless and could lead to a buffer overflow if
  the string was not already NUL terminated, so remove it and make sure we
  process a buffer that either contains legitimate Syslinux version strings
  (that are NUL terminated always) or that has been read through read_file()
  (that always adds a NUL terminator to the buffer).
* Also fix some whitespaces in related code sections and switch to using
  read_file() for GRUB version lookup.
* Vulnerability discovered and reported by Mansour Gashasbi (@gashasbi).
2024-04-10 10:26:31 +02:00
Pete Batard
34e6e43a97
[efi] update UEFI:NTFS to latest
* This updates UEFI:NTFS to the v2.5 release:
  https://github.com/pbatard/uefi-ntfs/releases/tag/v2.5
2024-04-09 22:49:31 +02:00
Pete Batard
8a8e418751
[iso] fix a buffer overflow in iso9660/iso9660_fs.c
* Whereas the length of the buffer allocated for the UTF-8 filename string is
  the same length as the UCS-2 (which means it can store twice as many UTF-8
  bytes as there are characters in the filename), it is still possible for the
  converted UTF-8 string to overflow this buffer if the name contains glyphs
  that use 3 or 4-byte sequences.
* As a result, use strncpy with the actual size of the UTF-8 filename buffer
  (the following bytes are calloc'd to zero so the truncated string will be
  NUL terminated) and produce a warning if the filename is truncated.
* Vulnerability discovered and reported by Mansour Gashasbi (@gashasbi).
2024-04-09 00:09:21 +02:00
Pete Batard
4eda8d9d5c
[process] add extra exception handling on NtClose()
* Also fix a typo in Norwegian translation (Closes #2453).
2024-04-04 17:40:20 +01:00
Pete Batard
5061af2b7c
[md5sum] compute and add md5sum_totalbytes to pre-existing md5sum.txt 2024-04-04 17:28:00 +01:00
Pete Batard
dd8314b2f0
[ui] add runtime UEFI media validation as a selectable advanced option
* Also add Ctrl-A as a new cheat-mode to toggle the use of Rufus MBR (which is enabled by default)
  which replaces the previous UI checkbox. The Disk ID field is now completely removed as we now
  use the default values for XP and non XP installs, and will expect people with multiple disks to
  disconnect all except the one where they plan to install Windows.
2024-04-02 17:18:06 +01:00
Pete Batard
6dac531552
[misc] don't pass an output size in DeviceIoControl() when not needed
* Also improve partition creation and address 2 Coverity warnings.
2024-04-01 14:56:06 +01:00
Pete Batard
8a5a5a318a
[misc] improve readability of error code handling
* Also don't pass a read size value in WriteFileWithRetry() if we don't use it.
2024-04-01 02:16:41 +01:00
Pete Batard
52ca79816f
[md5sum] Add md5sum.txt creation and runtime UEFI validation
* This allows *runtime* validation of UEFI bootable media, such as Windows
  or Linux installers, which, considering the unreliability of USB flash
  drives, we assert is a a much better proposal than write-time validation
  that utilities like balenaEcther (and to a lesser extent MCT) provide.
* Based on uefi-md5sum (https://github.com/pbatard/uefi-md5sum).
* Unconditionally activated on ISO extraction for GPT targets for now.
  This will be changed to a user selectable option later.
2024-03-29 00:48:05 +00:00
Pete Batard
b7568ab30a
[uefi] add the uefi-md5sum resources
* See https://github.com/pbatard/uefi-md5sum.
* The ia32, x64 and aa64 have been Secure Boot signed by Microsoft.
2024-03-28 23:50:41 +00:00
Pete Batard
a59389e1e1
[misc] move hash definitions to rufus.h
* Also always add an extra NUL to read_file(), some additional macros in missing.h
  and fix some warnings in process.c.
2024-03-27 19:02:24 +00:00
Pete Batard
d3f78c4e01
[efi] update UEFI:NTFS to latest
* Also fix missing original translator for Korean and remove an unwanted warning message.
2024-03-25 18:56:23 +00:00
Pete Batard
5eae8a6441
[cmp] Enable extraction of zip archives outside of ISO copy mode
* This enables the use of Ctrl-SELECT to also extract files from a .zip
  when using non-bootable, DOS, UEFI-NTFS, etc.
* Also clean up some uprintf line terminations and some additional code.
* Also fix some Coverity and MinGW warnings.
2024-03-12 17:41:27 +00:00
Pete Batard
abc33122a0
[iso] increase write buffer size to work around a bug in the AMI UEFI NTFS driver
* The AMI UEFI NTFS driver (version 0x10000), which is used in many modern systems from
  ASUS, Gigabyte, intel and so on, has a major bug whereas depending on the size of the
  buffers that are used to write the data onto the NTFS volume from Windows, as well as
  read the data from the NTFS volume from UEFI, the data being read may be incorrect
  (for details on this, see https://github.com/pbatard/AmiNtfsBug).
* Especially, it appears that if the size of the buffer used to write data on Windows is
  smaller than the NTFS cluster size, the bug may be triggered.
* Because of this, we increase the size of ISO write buffer to 64 KB since, per
  https://support.microsoft.com/en-gb/topic/default-cluster-size-for-ntfs-fat-and-exfat-9772e6f1-e31a-00d7-e18f-73169155af95
  this is the maximum cluster size that can be used for NTFS volumes.
* This increase in size should also help with performance somewhat.
* Also add support for C11's _Static_assert() which may come handy.
2024-03-12 12:53:30 +00:00
Pete Batard
8738e7a7de
[vhd] fix truncated write operation when using a VHDX image as source
* The legacy code we used for writing disk images used the size of the source image as
  the maximum number of bytes we should copy, which is fine for uncompressed DD or VHD
  images, but not so much for compressed VHDX ones. So we now make sure to use the
  actual size of the virtual disk, which we obtain when mounting the VHD/VHDX.
* Also fix log progress update as well as a MinGW warning.
2024-03-04 00:49:57 +00:00
Bella Zhang
026afa7e3d
[iso] add Circle Linux to the list of Red-Hat derivatives
* Closes #2414.
2024-02-09 17:04:40 +00:00
Pete Batard
172888ac32
[dos] fix a CodeQL warning and harmonize code 2024-02-09 17:00:42 +00:00
Pete Batard
15e3886499
[iso] enable persistence support for Linux Mint
* Mint users sure are lucky that one of them *lied their way through* pretending that
  persistence actually used to work with previous version of Mint, when it never did,
  because they got us going through a whole refactor of the partition creation process
  just so we could make Mint persistence work.
* Closes #2428.
* Also fix a Coverity warning.
2024-02-09 16:59:28 +00:00
Pete Batard
0f23c47184
[misc] refactor partition creation 2024-02-08 14:17:03 +00:00
Pete Batard
164d4b0ab0
[misc] update workflows to use upload-artifact@v4
* See actions/upload-artifact#483, actions/upload-artifact#472#issuecomment-1861571655
  and ultimately https://github.com/actions/upload-artifact/blob/main/merge/README.md.
2024-02-07 20:11:09 +00:00
Pete Batard
1be7eaf306
[net] fix Fido script not being able to be launched again on user cancel
* Also update workflows to latest setup-msbuild
* Closes #2419
2024-02-07 19:24:17 +00:00
Pete Batard
ac9a3f42d8
[misc] fix revoked bootloaders message does not display when using MBR
* Also update version to rufus-next
2024-02-06 20:02:36 +00:00
Pete Batard
c2b2624b62
[vhd] improve handing of user selected filename on save to VHD/FFU
* Use of '*.*' as pattern in file save dialog could lead to assert and crash, so
  we now try to derive the type of image to be saved from the file extension. We
  also did not properly handle user cancellation in the file save dialog.
* Also update iso9660/iso9660_fs.c to latest proposal of El Torito image handling.
* Also add a couple asserts in the hash table functions so that, if these ever get
  triggered we will pick them from Windows Store reports, and clean up code.
2024-02-03 18:39:44 +00:00
Pete Batard
018ed3414b
[iso] improve El Torito image handling
* Update to latest libcdio proposal and fix incorrect image size.
* Also remove unnecessary calls in packme.cmd.
2024-01-24 17:51:40 +00:00
Pete Batard
f6fd520d2a
[appstore] prevent packaging of ALPHA or BETA versions
* Also add package version override
2024-01-18 14:24:53 +00:00
Pete Batard
b63f9ae93c
Rufus 4.4 (Build 2103) 2024-01-17 14:11:50 +00:00
Pete Batard
fff39c56e8
[misc] fix UEFI:NTFS partition not being added when needed in MBR mode
* Also add support for SD card readers identifying themselves as SDXC.
2024-01-17 14:10:46 +00:00
Pete Batard
710bfe7f4d
[iso] work around ISOs that use broken symbolic links for UEFI bootloaders
* Per linuxmint/linuxmint#622 some ISOs may have a /EFI/boot/bootx64.efi that
  is a symbolic to a nonexisting file.
* This is originally due to a Debian bug that was fixed in:
  5bff71fea2
* Work around this by trying to extract a working bootx64.efi from the El-Torito image.
* Also improve DumpFatDir() to not replace already existing files.
2024-01-16 17:27:37 +00:00
Pete Batard
ae6732c07b
[iso] add basic El-Torito image parsing to libcdio
* Based on El-Torito specs found at https://pdos.csail.mit.edu/6.828/2014/readings/boot-cdrom.pdf.
* Follows 7-zip's virtual '[BOOT]/#...' naming conventions (though we don't check for the full name).
* Limited to 8 NoEmul images.
2024-01-16 17:21:32 +00:00
Fred
2cebf914fd
[fat] align start of data region to MB
* Closes #2387
2024-01-10 13:36:50 +00:00
Pete Batard
70e87482c1
[misc] add some more Windows edition names
* Closes #2380
* Also fix a typo in the Norwegian translation, with thanks to @Legendarion
* Closes #2397
2024-01-10 12:53:07 +00:00
Pete Batard
ebe01cc7b6
[dev] filter out Microsoft Dev Drives
* Microsoft Dev Drives are VHDs consisting of a small MSR followed by a large (50 GB or more)
  ReFS partition. See https://learn.microsoft.com/en-us/windows/dev-drive/.
* Closes #2395.
2024-01-08 16:43:52 +00:00
Pete Batard
51569d9e13
[misc] silence Coverity warnings
* Also update copyright year and improve uprintf error handling
* Also bump GitHub Actions dependencies. Note that we do NOT want to update to
  upload-artifact v4 because it BREAKS the creation of artifacts from matrix.
  See: https://github.com/actions/upload-artifact#v4---whats-new
* Closes #2382
* Closes #2383
2024-01-08 14:34:57 +00:00
dependabot[bot]
965d82c425
bump dessant/lock-threads from 4 to 5 (#2359)
Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 4 to 5.
- [Release notes](https://github.com/dessant/lock-threads/releases)
- [Changelog](https://github.com/dessant/lock-threads/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dessant/lock-threads/compare/v4...v5)

---
updated-dependencies:
- dependency-name: dessant/lock-threads
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-25 18:24:40 +00:00
johnloopi
b6d14d46df
[loc] Fixed typo in Norwegian translation
* Closes #2351
2023-11-14 12:13:49 +00:00
Pete Batard
89c1f8a72c
[iso] add BIOS support for Artix Linux
* Unfortunately, the Artix maintainers decided *NOT* to include the fat
  GRUB module for UEFI, so this will only work for BIOS boot...
2023-11-09 18:06:06 +00:00
Pete Batard
e0b5c6d96f
[misc] improve the code related to the commandline hogger deletion
* Also small additional code improvements
2023-11-09 17:39:38 +00:00
Pete Batard
58c56eb398
[vhd] fix a crash when saving .ffu images with release version
* Also update Rufus next to 4.4
2023-10-27 22:45:24 +02:00
Pete Batard
020e0b7c3a
Rufus 4.3 (Build 2090)
* Also fix a CodeQL warning in process.c
2023-10-19 10:31:19 +01:00
Pete Batard
8edb487ac9
[misc] update ChangeLog for 4.3 BETA
* Also minor code cleanups and improvements.
2023-10-12 19:46:10 +01:00
Pete Batard
1630e912d4
[iso] add exception for Mint's LMDE
* Mint have decided to make their installation rely on a working /live/ ➔ /casper/ symlink for LMDE
  thereby breaking the promise of File System Transposition that all Debian derivatives should have.
* Because of this, trying to use FAT32 with LMDE will fail, as reported in linuxmint/live-installer#152.
* Therefore, now that we can replicate symlinks on NTFS, we add an exception to always enforce the use
  of NTFS for LMDE.
2023-10-12 18:28:56 +01:00
Pete Batard
e9d588a6e0
[iso] add symlink support for target file systems that support it
* For now that means only NTFS. And we only do that for ISO-9660/Rock Ridge images.
2023-10-12 17:32:20 +01:00
Pete Batard
0bd38abd4e
[syslinux] improve support for Syslinux based Slax ISOs
* For some weird reason appending the base directory to the root syslinux.cfg
  we create does not appear to work with Slax. So we now always patch ldlinux.sys
  to include the base directory.
* Also add an exception to move the /slax/boot/EFI directory to /EFI.
* It should be noted that, as of slax-64bit-slackware-15.0.3.iso, the Slax UEFI
  Syslinux bootloaders appear to be broken (since creating a media without using
  Rufus at all per the Slax documentation does *not* produce a USB drive that was
  bootable in UEFI mode on 2 of the machines I tried).
* Also clean up some iso.c code and fix some unreachable code in ntfssect.c.
* Closes #2336.
* Closes #2338.
2023-10-11 20:46:46 +01:00
Pete Batard
45a5f22d43
[process] move the search for conflicting process to a background thread
* Removes the annoyance of having to wait for the process search to complete before media creation can start.
* Also update the "Process Hacker" references to its new "System Informer" name.
2023-10-10 22:22:45 +01:00
Pete Batard
8859c59548
[iso] count Rock Ridge duplicated files into the total size to process
* Duplicated symlinked Rock Ridge files were not counted into the total size needed
  to process the image and as a result, progress could go over 100% when extracting
  data (e.g. debian-live-12.1.0-amd64-lxqt.iso).
* Fix this by adding the duplicated files twice in the total block size.
2023-09-23 17:07:55 +01:00
Pete Batard
1fc790295c
[efi] update UEFI:NTFS to latest
* Add Windows bootmgr detection to report a more explicit error on security issues.
2023-09-08 17:33:25 +01:00
Pete Batard
99bffe8364
[misc] add '.wic' to the list of default image extensions
* '.wic' are DD images used by the Yocto project.
* Why Yocto chose to use their own extension instead of using the de-facto '.img' is beyond me but hey...
* Also update GitHub Actions dependencies to latest.
* Closes #2319.
2023-09-08 17:14:09 +01:00
Pete Batard
98725a0d5f
[misc] fix improper processing of net related errors
* With thanks to @Wack0
* Also silence a Coverity warning
2023-09-08 16:58:41 +01:00
Pete Batard
94ecf74c5f
[misc] use FORMAT_MESSAGE_FROM_HMODULE where possible and drop our custom message tables 2023-09-04 11:41:35 +01:00
Pete Batard
d5bf53054b
[misc] improve retrieval of core directories
* This *might* help with the issue reported in #2296.
2023-08-28 11:08:03 +01:00
Pete Batard
866aa22a8b
[iso] fix Debian 12 Live not using persistence in BIOS mode
* The Isolinux/Syslinux append line has been moved to /isolinux/live.cfg
  so make sure we patch that file when persistence is enabled.
2023-08-27 23:03:43 +01:00
Pete Batard
9c6b1ad977
[vhd] fix Rufus being unable to open .vhd images
* Due to a typo in vhd.c where the second safe_stricmp() should be against ".vhd" and not ".vhdx" again.
* Also enable the ignore boot marker bypass for VHD/VHDX/FFU and don't misreport those images as
  "compressed disk images".
* Closes #2309.
2023-08-20 13:12:38 +01:00
Pete Batard
5b6574d6f6
[misc] add S Mode detection to Windows version reporting
* With thanks to @Wack0
2023-08-18 17:38:12 +01:00
Pete Batard
c5ad16fdeb
[wue] add an expert feature to restrict a Windows installation to S Mode
* This is placed behind an expert wall (Ctrl-Alt-E) on account that:
  - If you happen to boot a Windows To Go drive in S Mode on a computer, it may set any
    existing Windows installation there to S Mode as well, *even if their disk is offline!*
  - It can be *exceedingly* tricky to get out of S Mode, as the SkuPolicyRequired registry
    trick alone may not be enough (i.e. You can have very much a Windows install in S Mode
    *without* SkuPolicyRequired being set anywhere).
* Also set version to rufus-next and fix a ChangeLog typo.
2023-08-15 11:15:16 +01:00
Pete Batard
5084317dd7
Rufus 4.2 (Build 2074)
* Also update UEFI:NTFS's NTFS driver to v1.7
2023-07-26 12:54:49 +01:00
AJIOB
b81b440a20
[uefi] fix search for bootloaders in FAT images that have an 'EFI' volume label
* Per https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#Directory_entry it
  is possible to have a FAT directory entry with a 'EFI' volume label alongside with
  a 'EFI' subdirectory.
* If that happens, then the current Syslinux libfat_searchdir() code may treat the
  'EFI' volume label as an empty subdirectory and say that there are no bootloaders,
  even if the 'EFI\Boot\Boot###.efi' binaries really do exist.
* Fix this by filtering out entries with the 'volume label' attribute (0x08).
* For good measure, also filter out entries with the 'device' attribute (0x40), as
  it is technically possible to create a 'EFI' device leading to the same issue.
* Closes #2288.
* Closes #2289.
2023-07-24 23:55:47 +01:00
Pete Batard
64e85ed09a
[uefi] don't revoke Windows 11 or post Windows 10 20H1 boot media yet
* As opposed to what we originally asserted, Microsoft did enact a blanket revocation
  in SkuSiPolicy.p7b for all post 1703 up to 2305 Windows UEFI bootloaders.
* As a result, unconditionally copying SkuSiPolicy.p7b will result in media as recent
  as Windows 11 22H2 (v1) being flagged as revoked, which we don't want to enforce as
  long as Microsoft themselves haven't entered the enforcing phase of their Black
  Lotus mitigation (currently planned for early 2024).
* Because of this, while we add some revocation detection for post 1703 bootloaders,
  we set it to only go as far as 20H1 for now, which means that all post 20H1 Windows
  10 media and all Windows 11 media will not yet be flagged by Rufus as revoked and
  will still boot in a Secure Boot environment due to lack of an SkuSiPolicy.p7b.
* Ultimately, per #2244 we may look for a BOOTMGRSECURITYVERSIONNUMBER resource to
  blanket revoke all post 1703 - pre 2305 Windows UEFI bootloaders.
* Also remove the now unused comdlg32 library from the linker.
2023-07-15 23:20:59 +02:00
Pete Batard
3329304e67
[grub] update DB for GRUB 2.12~rc1
* Also fix some Coverity warnings in stdlg.c.
2023-07-13 10:11:52 +02:00
Pete Batard
65b84ea99d
[loc] update French translation 2023-07-10 12:40:55 +02:00
Pete Batard
5191c68337
[ui] keep user preferred image type when saving drive to VHD
* Also fix a Coverity warning and use a better description for SELECT image types.
2023-07-10 11:34:50 +02:00
Pete Batard
5bbcba8534
[vhd] add write support for .vhdx and .ffu images
* Also move VHD mounting function calls from iso.c to vhd.c and remove unused VHD footer elements.
2023-07-06 19:47:26 +01:00
Pete Batard
f411d526d6
[misc] attempt to fix DLL address resolver for ARM64
* SymLoadModuleEx() on the DLL fails (with ERROR_SUCCESS, sic) on ARM64, so we have to resort
  to loading the DLL in memory and look for the "RSDS" section to access the GUID and Age.
* Except that, once you sort that, you end up with SymEnumSymbols() producing two separate
  addresses for each symbol, on account that the Windows 11 ARM64 DLLs are actually an
  unholy union of X64 and ARM64 *in the same binary*, under an abomination that Microsoft
  calls ARM64X (See https://learn.microsoft.com/en-us/windows/arm/arm64x-pe for details).
* And, of course, Microsoft did not provide any means during PDB enumeration to tell which
  address is for which arch. Especially, the bloody pSymInfo->TypeIndex, that they could
  easily have used for this, is utterly pointless as it remains set to 0...
* This means that, even after all this effort, we're still nowhere close to have a solution
  that can make DLL address resolution work on Windows 11 ARM64.
2023-07-05 22:25:25 +01:00
Pete Batard
0363bfe503
[misc] add an address resolver for internal DLL function calls
* Not sure if we'll use this to hook into FfuCaptureImage()/FfuApplyImage()/FfuMountImage()
  directly. But at least, if we ever need it, it's there...
2023-07-05 18:36:58 +01:00
Pete Batard
ef345bf106
[uefi] fix UEFI bootloader extraction when case doesn't match
* With ISO-9660 being case sensitive, we could end up in situations where trying to extract
  '/efi/boot/bootx64.efi' for revocation validation would fail if the file on the image was
  stored as '/EFI/boot/bootx64.efi' (e.g. Debian 12).
* Fox this by storing the exact UEFI bootloader path we detected during ISO scan, and using
  this path for file extraction.
* Also add a Cancel choice to the revocation dialog and harmonize whitespaces.
2023-07-04 18:05:30 +01:00
ИEØ_ΙΙØZ
bb66dfc492
[loc] update Traditional Chinese translation
* Closes #2274.
2023-07-04 13:29:27 +01:00
Pete Batard
10dbfdd7e1
[core] make sure the main partition size is aligned to the cluster size
* Having NTFS partitions properly aligned to the cluster size can drastically
  improve the speed of capturing a disk to an FFU image, as, when the size
  is aligned, the FFU capture uses the actual NTFS allocation map to only read
  and capture the clusters that are actually in use, whereas, if no aligned,
  FFU capture falls back to a sector by sector copy that is both much slower
  and also includes unwanted leftover garbage.
* Also only enable FFU when we detect FFUProvider.dll as a system library.
2023-07-04 13:26:04 +01:00
Pete Batard
0b1c68635a
[vhd] add experimental save to Full Flash Update (FFU) image support
* Full Flash Update (FFU) image support was added to dism with Windows 10 1709
  and is an alternate way to save a virtual hard disk for restoration.
* While more modern than VHD/VHDX, FFU creation only works for drives with file
  systems that Windows natively recognizes (FAT, NTFS) and that look like Windows
  installation media, so you can forget about FFU'ing a Linux disk.
* The other *intentional* drawback that Microsoft added is that they don't want
  anybody but themselves being able to create and restore FFU images, so, even
  as they have nice FfuApplyImage()/FfuCaptureImage() calls in FfuProvider.dll
  they have decided not to make these public.
* This means that, since we don't have time to spend on figuring and direct
  hooking internal DLL calls for x86_32, x86_64, ARM and ARM64 (and worrying
  that Microsoft may ever so slightly change their DLL between revs to break
  our hooks), we just call on dism.exe behind the scenes to create the FFU.
2023-07-03 23:57:04 +01:00
Pete Batard
f9370e002e
[iso] fix a crash when parsing Windows ISOs with MinGW x86_32
* MinGW32's delay loading functionality is not yet up to par with MSVC's and especially, for
  some libraries (wininet, virtdisk) attempting to delay load them simply crashes the runtime.
* This results in the MinGW32 version of the app crashing when selecting a Windows ISO, as we
  will then try to mount the ISO using virtdisk to poke the build version. Note that this crash
  does not happen with the MinGW64 version or with MSVC.
* Closes #2272.
* Also fix a Coverity warning in SaveImageThread() and improve the VHD saving code.
2023-07-02 13:15:51 +01:00
Pete Batard
d4c9f2dfa1
[vhd] enable saving device to compressed VHDX
* Now that we don't have to deal with Windows 7, we can use CreateVirtualDisk() to
  automatically dump a physical disk to VHD/VHDX, so do just that
* Also move the relevant VHD/ISO imaging call to the appropriate source.
2023-07-01 20:43:26 +01:00
Pete Batard
1476e9cd8b
[uefi] fix path of SKUSiPolicy.p7b for WOW
* 32-bit x86 running on 64-bit x86 Windows needs to get SKUSiPolicy.p7b from sysnative.
* Also fix automatic extension switching in file dialog and a small MinGW warning in Bled.
2023-07-01 20:22:10 +01:00
Pete Batard
c47ee4c435
[cmp] update Bled to latest
* Adds the provision of default buffer size in bled_init()
2023-06-30 13:05:42 +01:00
Pete Batard
c717c7789b
[cmp] further ZIP64 and overall Bled improvements
* The ZIP64 extra record may not be the first one, so add processing for all extra zip records.
* Also add extra sanity checks to try to appease Coverity and properly detect short writes.
2023-06-29 21:15:35 +01:00
Pete Batard
f233191d54
[cmp] update Bled to latest
* This adds ZIP64 support, which is required to extract zip archives that are larger than 4GB.
* Closes #2264
* Also fix a MinGW warning in pki.c and improve the UEFI revocation messages.
2023-06-28 17:40:11 +01:00
Pete Batard
52a5551749
[uefi] improve revoked UEFI bootloader reporting
* Remove duplicates from Microsoft's SKUSiPolicy.p7b
* Also display the number of revoked from embedded
* Also use Microsoft's official capitalization for SKUSiPolicy.p7b's target path
2023-06-22 11:18:49 +01:00
Pete Batard
16570f8662
[uefi] warn about revoked UEFI bootloaders when creating Windows To Go drives
* Also move the warning after the WUE dialog.
* Also work around another possible access violation in process.c.
2023-06-19 10:38:30 +02:00
Pete Batard
c59e9209eb
[uefi] factorize SkuSiPolicy.p7b copying code and apply it for Windows To Go
* Also don't forget to credit the original authors of the PowerShell gist we derived our code from!
2023-06-19 00:04:08 +02:00
Pete Batard
7eb9a6f16b
[misc] fix some benign Coverity warnings 2023-06-18 19:09:15 +02:00
Pete Batard
be5b590cfb
[uefi] add parsing and copying of the system's SkuSiPolicy.p7b
* Instead of embedding the content of the most recent revoked bootloader hashes in db.h
  we now parse the system's SkuSiPolicy.p7b to do so. This has the drawback of not alerting
  users running Rufus on systems where SkuSiPolicy.p7b is not up to date, but I believe the
  trade-off is worth it.
* We now also copy the system's SkuSiPolicy.p7b to the created media when possible (for
  Windows 10 or later), so that Microsoft's WDAC UEFI revocations can apply during boot.
2023-06-18 19:07:45 +02:00
Pete Batard
43764268de
[uefi] add detection and warning for revoked bootloaders
* Considering that alerting users to potential security breaches that may be
  exploited by boot media should also be performed by application that create
  them, we add detection for all the currently known revoked UEFI bootloaders,
  be it the ones from the official UEFI DBX as well as the ones from Windows'
  SkuSiPolicy.p7b, and warn the user when one such bootloader is detected on
  their source media.
* Note that, to actually be revoked, the bootloaders flagged through SkuSiPolicy
  require the copying of the .p7b to the boot media, which we are currently
  not enacting but will perform in a subsequent commit.
* Also fix a Coverity warning in hash.c.
2023-06-16 20:36:50 +02:00
Pete Batard
c4b1b23832
[hash] add PE256 hash functions
* Mostly copied from U-Boot's https://github.com/u-boot/u-boot/blob/master/lib/efi_loader/efi_image_loader.c
2023-06-13 17:57:34 +02:00
Pete Batard
090bfb9770
[misc] rename checksum.c to hash.c 2023-06-11 16:18:26 +01:00
Pete Batard
3e81b38c2d
[misc] try to support folks who use a symlink for their temp dir
* Microsoft's WIM mounting APIs can't use symlinked directories and
  some folks want to use a symlinked temp dir...
* Closes #2084
2023-06-05 14:08:25 +01:00
Pete Batard
71e99add76
[iso] increase ISO → ESP limit for Debian 12
* Debian 12 ARM64 netinst ISOs have doubled in size to be larger than 512 MB,
  so we need to increase MAX_ISO_TO_ESP_SIZE as a result.
* Also add extra NULL checks in process.c as some people seem to run into
  NULL deref issues.
* Also set version to rufus-next and update some URLs/text files.
2023-06-05 13:29:18 +01:00
Pete Batard
beb847511b
Rufus 4.1 (Build 2045)
* Also revert GRUB 2 core.img to vanilla 2.06, with the hope that GRUB will
  *ACTUALLY* bother to release in 2023 and we will be able to update to
  GRUB 2.12 (or whatever non-sequential version they decide to go with) to
  say a most welcome goodbye to this whole 2.06 incompatibility crap!
2023-05-31 18:24:46 +01:00
Pete Batard
30ccf24ca4
[wue] add TCGSecurityActivationDisabled when BitLocker is disabled
* Closes #2253
2023-05-30 14:42:07 +01:00
Pete Batard
109df708b4
[misc] add an exception for 23A9:EF18 UFDs
* Closes #2247
2023-05-29 18:04:42 +01:00
Pete Batard
4d89e83b5d
[ui] change the log icon to something more explicit
* Hopefully a notepad/logbook icon will be more intuitive.
* Also tweak the new message for diskcopy.dll download and add French translation.
2023-05-27 16:18:22 +01:00
Pete Batard
600b8fc787
[efi] update UEFI:NTFS's NTFS drivers to latest
* Plus small updates to .gitignore and README and update rufus-next to 4.1.
2023-05-26 12:17:52 +01:00
Pete Batard
3afa139d7a
[dos] reinstate MS-DOS boot disk creation for Windows 10 and later platforms
* The BlackLotus malware shows that it is possible to download individual
  executables and DLLs straight from Microsoft's symbol servers, so we use
  that capability to download the missing Windows 8.1 'diskcopy.dll', that
  contains the flat floppy disk image with MS-DOS files we need. See:
  https://randomascii.wordpress.com/2013/03/09/symbols-the-microsoft-way/
* Also reorder entries in the "Boot selection" dropdown.
* Also use CreateFileWithTimeout() in GetLogicalName().
2023-05-24 17:55:25 +01:00
Pete Batard
3a0f7d3813
[iso] attempt to fix the clusterfuck of GRUB 2.06 incompatible versions
* As was *ENTIRELY PREDICTIBLE*, the lack of timely releases from the GRUB
  project has resulted in distro maintainers (Ubuntu, Fedora, etc.) taking
  matters in their own hand and applying patches on top of their 2.06 version.
  However, these patches result in 2.06 bootloaders that are incompatible
  with 2.06 modules that don't have the same patches applied. Especially this
  now results in the infamous "452: out of range pointer" error message when
  using patched modules with unpatched bootloader or unpatched modules with
  patched bootloaders.
* Making this issue worse, we also have distro maintainers who won't add a
  suffix to their GRUB version, AS ONE SHOULD DO WHEN ONE APPLIES TONS OF
  PATCHES ON TOP OF A PROJECT'S SOURCE, and MISreport their non 2.06 GRUB as
  "2.06", and, because we can't detect what patches are needed from modules
  themselves (unlike what is the case for grub_debug_is_enabled), we have no
  way of telling incompatible GRUB 2.06 binaries from one another.
* As a result, we have no choice but to append a sanitized version of the ISO
  label to the GRUB version, as a means to differentiate between incompatible
  versions, and tweak our existing bootloader download mechanism to *ATTEMPT*
  to download a compatible 'core.img' from our server... where we will have
  to waste a lot of time adding new binaries and symlinks to try to make all
  these GRUB "2.06" based images work, and will probably miss quite few with
  the end results that users who are just trying to install Linux will be left
  stranded.
* Again, I have to point out how the end result of regular users wanting to
  try Linux and being unable to do so is the *DIRECT* result of the GRUB project
  maintainers having sat on a 2-year influx of CONTINUOUS patches, and thinking
  that "Release Early, Release Often" is only a gimmick, and not something that
  should apply to their project, even as they have been warned before, by yours
  truly, that *NOT* releasing on a timely basis is causing actual grievances...
  That's because, had the GRUB maintainers released on a timely basis (at least
  once a year) Fedora and Ubuntu would be using vanilla GRUB 2.07 with the memory
  patches, and we wouldn't be trying to mix that with old GRUB 2.06 binaries.
* For more on this, see #2233, noting that we will need to apply a compatibility
  breaking change during the 4.1 release, to revert the patches we applied to
  the default 2.06 'core.img' in pbatard/rufus-web@320b800592.
2023-05-16 14:05:28 +01:00
Pete Batard
23d89d9764
[misc] apply a timeout when querying drives for letters/type
* Some Windows Store reports suggest that the existing call might freeze
  on CreateFile() leading some users to kill the app. So switch to using
  a CreateFile() call that times out instead of waiting forever...
2023-05-03 16:26:54 +01:00
Pete Batard
0df68b6af9
[misc] further Windows 7 specifics removals
* Also remove some unused code in stdlg.c
* Note that virtdisk appears to be a vulnerable library, so we go
  through delay loading yet again...
2023-04-28 17:46:05 +01:00
Pete Batard
0bda98f0ed
[misc] update DB for newer GRUB core.img's
* See pbatard/rufus-web@320b800592
* Also fix © sign not displaying properly in executable details page
2023-04-28 17:34:06 +01:00
Pete Batard
0e14725de8
Rufus 4.0 (Build 2035)
* Also make sure we only upload the x86_64 MinGW binary to VirusTotal
  since the x86_32 will conflict with the MSVC one.
2023-04-26 00:00:03 +01:00
Pete Batard
18645c9e70
update internal GRUB2 bootloader for Ubuntu 23.04
* Yet another example in the long list of how not releasing your project IN A
  TIMELY MANNER is creating HUGE PROBLEMS downstream... Looking at you GRUB!!!
* Closes #2233
2023-04-25 18:18:26 +01:00
Pete Batard
e44cd90639
[loc] bring all remaining translations to latest
* Poedit Pro was used to machine-translate, and thus I make no guarantee
  of translation accuracy.
2023-04-25 13:51:49 +01:00
Abdulmajeed Almarzoqi
08ba77b0ea
[loc] update Arabic translation 2023-04-25 13:10:49 +01:00
Pete Batard
1e51385bed
[misc] revert to using the OS arch rather than app arch for the update download
* This means that someone running Rufus x64 or ARM64 should be
  proposed Rufus ARM64 rather than Rufus x64 as an upgrade.
* Also switch the BETA channel from x86 to x64.
* Also remove the _chdirU(app_dir) when using -i in commandline.
2023-04-24 20:50:53 +01:00
Pete Batard
a354178239
[cmd] fix the use of relative paths with option -i
* Closes #2232
2023-04-23 13:06:32 +01:00
Pete Batard
3177e70e25
[misc] fix CodeQL warnings 2023-04-22 16:36:27 +01:00
Pete Batard
d18260bec3
[misc] update version to 4.0
* With the removal of Windows 7 support, wrong platform archs in the check for updates
  (that has now been fixed) and switch to an x86_64 default MinGW binary, we have enough
  breaking changes to warrant a version bump for the major. So just do that.
* Also fix a couple Coverity warnings and update a URL.
2023-04-22 15:46:03 +01:00
Pete Batard
41ebb9d9ca
[iso] fix persistence support for Ubuntu 23.04
* Closes #2231
2023-04-22 12:46:45 +01:00
Pete Batard
fffd4d1160
[misc] harden usage of uprintf()
* Passing a non-formatting buffer as first parameter of uprintf() can lead
  to an exception if this buffer happens to contain a '%' character, so
  usage of uprintf() with string buffers that may contain '%' should be
  sanitized.
* Also drop the _uprintf/_uprintfs aliases as they are no longer required.
2023-04-20 17:43:24 +01:00
Pete Batard
1a3a155e8c
[dev] fix description of UAS devices
* Having Windows append "SCSI Disk Device" screws up the scoring regarding
  disks that are actually describing themselves as SCSI, so replace that
  with "UAS Device", as it should be.
* Closes #2221.
* Also fix a MinGW warning.
2023-04-19 13:38:19 +01:00
Pete Batard
a6451c6fc7
[misc] further Windows version and arch detection improvements
* Now also populate the underlying Windows arch in the version struct
* Also fix MinGW warnings
2023-04-18 17:32:47 +01:00
Sivert Løkkesveen
4dd40bba2f
[loc] update Norwegian translation to latest 2023-04-17 13:47:57 +01:00
Minh Nguyễn Quang
41e0ed8933
[loc] update Vietnamese translation to latest 2023-04-17 13:41:23 +01:00
Pete Batard
e5f90282ed
[misc] improve Windows version detection
* Also use actual Windows major.minor when checking for updates
2023-04-17 13:33:05 +01:00
Pete Batard
6280e8020a
[net] fix incorrect architectures when querying for updates 2023-04-16 19:47:54 +01:00
Pete Batard
f27dda1164
[efi] update UEFI:NTFS's NTFS drivers to latest
* Closes #2210
2023-04-15 15:57:21 +01:00
五月雨
e3e02f3a3c
[loc] update Japanese translation to latest 2023-04-06 18:41:13 +02:00
Mike Handberg Hovedskov
cb6455fd42
[loc] update Danish translation to latest 2023-04-05 14:08:18 +02:00
Pete Batard
ad809e866c
[loc] fix formatting typos from various languages
* Also update a comment URL in format.c
2023-04-05 14:00:09 +02:00
Pete Batard
e86523e024
[enum] minor improvements to drive size handling
* Also fix a typo when trying to detect x86 running on ARM
2023-04-04 10:28:01 +02:00
Pete Batard
af8f68c305
[msvc] enable Structured Exception Handling (SEH) in process.c
* We are seeing reports of access violation exceptions being generated
  when looking for processes, with the App Store version.
* Since this is not critical code, add an SEH handler to ignore those.
2023-04-01 15:50:59 +02:00
Mattayawerakiat Suttirak
59efc53da7
[loc] update Thai translation to latest 2023-04-01 15:44:25 +02:00
Pete Batard
9285313f28
[iso] fix a possible buffer overflow in GetGrubVersion()
* Also increase the size for "probably a flash drive if under" from 32 GB to 128 GB.
2023-04-01 14:39:25 +02:00
Ahmed Rasnaama
ee6c907415
[loc] update Arabic translation to latest 2023-03-28 17:37:14 +02:00
Pete Batard
018718b2c8
[misc] disable Windows 7 support
* Also set rufus-next to 3.23 and fix a date typo in ChangeLog.txt
2023-03-27 21:45:55 +02:00
Pete Batard
d478e3179b
Rufus 3.22 (Build 2009) 2023-03-25 13:44:19 +00:00
Pete Batard
76ec89032c
[loc] update MSG_199 and MSG_294 for remaining languages
* Also fix double space typos.
2023-03-24 17:16:44 +00:00
Kaloyan Nikolov
426ceed4e1
[loc] update Bulgarian translation to latest 2023-03-23 15:54:10 +00:00
Pete Batard
e524e81e99
[iso] improve Rock Ridge CE handling 2023-03-23 14:47:53 +00:00
Pete Batard
365449fcce
[iso] revert processing of menu.lst
* Usage scenario is too limited and the cost of doing so is simply too high.
* This reverts the relevant changes from 737db33f9c.
2023-03-22 16:52:39 +00:00
Fedorovici Constantin-Robert
c697604f16
[loc] update Romanian translation to latest 2023-03-20 12:59:44 +00:00
Pete Batard
737db33f9c
[iso] enable menu.lst patching
* Closes #2183
* Also improve safe_strdup() and "update" Grub4DOS to latest
  (NB: grldr.mbr has not changed in the last few years)
2023-03-18 14:20:39 +00:00
Marcos Mello
4a0940ad23
[loc] update Brazilian Portuguese translation to latest
* Closes #2202
* Closes #2116
2023-03-17 14:33:02 +00:00
Yanottama Oktabrian
e14fcd8649
[loc] update Indonesian translation to latest 2023-03-17 14:16:19 +00:00
Jakub Mierzejewski
3c7434ee99
[loc] update Polish translation to latest 2023-03-16 00:46:27 +00:00
Marco A. Ramirez Madrid
ff4923112e
[loc] update Spanish translation to latest 2023-03-15 23:16:49 +00:00
Pete Batard
247dbe2f7b
[ui] preserve user-specified label on error/cancel or drive insertion
* Also produce warnings in the log if we detect Windows write-protection policies.
2023-03-14 20:31:51 +00:00
Erfan Al
892996aafd
[loc] update Persian translation to latest 2023-03-13 17:31:02 +00:00
Костянтин Сергійович
ca84a4f6c5
[loc] update Ukrainian translation to latest 2023-03-12 14:11:22 +00:00
Csizmadia Gábor
f9168e8bbb
[loc] update Hungarian translation to latest 2023-03-12 13:57:10 +00:00
Дмитрий Ерохин
50b3d0b634
[loc] update Russian translation to latest 2023-03-10 17:25:22 +00:00
VenusGirl
de29bc5129
[loc] update Korean translation to latest
* Closes #2186
2023-03-10 13:50:44 +00:00
cupofocha
d989a7d148
[loc] update Traditional Chinese translation to latest 2023-03-09 10:06:12 +00:00
Pete Batard
65542b9179
[misc] fix 2 Coverity warnings
* Yay, for once Coverity actually found an actual issue!
2023-03-09 09:55:17 +00:00
Pete Batard
21ac145a4b
[vhd] add force unmount of stale .wim images
* Required because some users appear to force kill Rufus while we're doing WUE patching of boot.wim,
  and Windows prevents a .wim with the same path and index from being mounted twice, even if the
  original .wim has become stale or deleted. Oh, and of course the WIM APIs don't have a force-mount
  flag that would take care of this whole situation.
* Basically, this forces us to parse HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WIMMount\Mounted Images
  and check each instance for a .wim/index match, so that we can access to the existing mount path
  so that we can actually unmout the image (because, in typical Microsoft fashion, WIMUnmountImage
  requires both the mount path and the source image to be provided).
* Closes #2199.
* Also improve the existing VHD code to use a struct where possible.
2023-03-08 20:00:37 +00:00
Pete Batard
ed80d696f4
[core] minor drive.c improvements
* Double the timeout when searching for conflicting processes on error
  and improve the disk extent/drive number error messages.
2023-03-08 13:03:25 +00:00
Christos Alvanos
8449accb55
[loc] update Greek translation to latest 2023-03-04 18:32:14 +00:00
Riku Brander
da746d83dd
[loc] update Finnish translation to latest 2023-03-04 18:18:12 +00:00
Pete Batard
d78a556e4e
[loc] report if an external loc file is used, in the UI log
* Also avoid using LPTSTR in lieu of LPWSTR (even if they do resolve to the exact
  same thing) and force the use of app_dir when looking for a local .loc file.
* Closes #2193
2023-03-04 16:21:25 +00:00
Pete Batard
cb561e7176
[iso] fix libcio processing of Rock Ridge CE fields
* Boy do you not want to use chars in struct iso_su_ce_s as
  from_733() will sign extend the bytes and you will end up
  with an offset like 0xffffffc4 instead of 0x000000c4...
* Addresses the leftover from 6c44dccc10.
* Also some headers clean up and pick up latest libcdio changes.
2023-02-28 18:27:21 +00:00
Pete Batard
6c44dccc10
[iso] duplicate Rock Ridge symbolic links for Debian non-free firmware ISOs
* Note that, because of an unrelated libcdio bug where it does not properly
  detect Rock Ridge symbolic links, some files may still not be instantiated.
* Also remove unneeded checks for ISO9660/UDF function cleanup and remove
  a workaround for an issue that has since been fixed in libcdio.
2023-02-27 17:43:39 +00:00
Martin Kubánik
218cf22fed
[loc] update Slovak translation to latest 2023-02-26 22:19:28 +00:00
Aldis Tutins
83b9de015e
[loc] update Latvian translation to latest 2023-02-26 22:15:07 +00:00
Pete Batard
aed34ca635
[misc] report if running x86 emulation on ARM
* Also fix a static analysis warning.
2023-02-26 22:10:22 +00:00
Pete Batard
4e8375c73c
[loc] misc. small updates and corrections
* Closes #2184
2023-02-24 13:23:08 +00:00
Itiel
284528d79c
[loc] update Hebrew translation to latest 2023-02-24 13:16:32 +00:00
Mehmetali Kuran
c9889ad502
[loc] update Turkish translation to latest 2023-02-23 13:36:37 +00:00
Dinis Medeiros
2e782bfa0b
[loc] update Portuguese Standard translation to latest 2023-02-23 13:23:30 +00:00
Pete Batard
b969b7ec42
[iso] add yet another exception for Red Hat derivatives
* Fedora 37 netinst requires special handling and I don't have all day.
* Closes #2179.
* Also fix a small typo in Italian translations. Closes #2180.
2023-02-21 19:57:27 +00:00
Wang JiaWei
77b6c4d531
[loc] update Simplified Chinese translation to latest 2023-02-20 13:43:30 +00:00
Thilo Langbein
160ff5ebb0
[loc] update German translation to latest 2023-02-18 17:26:10 +00:00
Pete Batard
12bab09a9f
[wue] display user-selected WUE options in the log
* Also fix a Coverity warning
2023-02-17 22:42:45 +00:00
Marcello Gianola
506274687b
[loc] small additional update to the Italian translation 2023-02-17 17:35:24 +00:00
HRxiaohu
d39f82a9e7
[loc] update Chinese (Simplified) translation
* Closes #2110
2023-02-17 17:30:46 +00:00
Miloš Ljubičić
61a2743fc5
[loc] update Serbian translation to latest 2023-02-17 17:23:02 +00:00
Marcello Gianola
65f0a6e266
[loc] update Italian translation to latest
* Closes #2091
2023-02-17 17:13:34 +00:00
Thomas De Rocker
5c75bda39e
[loc] update Dutch translation to latest 2023-02-17 17:05:08 +00:00
Pete Batard
18f1013259
[github] do not run CodeQL for non-code updates 2023-02-17 12:56:10 +00:00
Sopor Spr
5f5bfdf3bf
[loc] update Swedish translation to latest 2023-02-17 12:52:45 +00:00
Richard Kahl
b7baacc3cd
[loc] update Czech translation to latest 2023-02-17 12:33:47 +00:00
Pete Batard
3df8651225
[appstore] update gen_listing.ps1 for relative paths
* https://learn.microsoft.com/en-us/windows/apps/publish/publish-your-app/import-and-export-store-listings?pivots=store-installer-msix#update-listing-info
  and Microsoft support indicate that you need to include the listing folder name and use slashes.
* Import folder still chokes on non en-us languages though :(
* Also fix a typo in the French translation.
2023-02-16 01:14:47 +00:00
Pete Batard
b163b3dfe2
[core] fix default listing of large SanDisk SSD devices
* Closes #2164
* Also add breakdown of score computation when device enumeration debug is active
* Also fix a minor Code Analysis warning in msapi_utf8.h
2023-02-13 13:34:17 +00:00
Pete Batard
3281f6b97e
[loc] set up Windows Store listing translations (part 2)
* Add PowerShell script to generate listing.csv
* Also update relevant messages along with French translation
2023-02-08 17:11:51 +00:00
Pete Batard
fac433a0fe
[loc] set up Windows Store listing translations (part 1)
* MSG_900+ will be used for Windows Store translation, so add them
  and makes sure these get filtered out from embedded.loc.
* Also make sure we don't get a "Translated by:" in the English version
  when compiled with VS2022.
* Also add Store screenshots and update listing.csv so that we can
  autogenerate and upload a complete translation update to the store.
2023-02-03 17:03:06 +00:00
Pete Batard
43c6290143
[misc] generate PDBs for Visual Studio builds
* Even if this makes the resulting executable slightly larger, this should help
  with troubleshooting, especially for the Windows Store releases.
* Also drop the "since 2019" from the Downloads badge, since once you reach 100M
  the start date for the counter becomes a bit meaningless...
2023-01-30 19:21:08 +00:00
Pete Batard
6ebe13eb31
[fido] deactivate Fido for Windows 7
* Also add an extra Fido translation string and improve/fix Fido testing.
* Also add an exception for HP iLO SD-CARD devices (Closes #2136).
2023-01-27 17:23:08 +00:00
Pete Batard
1dc9fab917
[misc] add a cheat mode to preserve the log between sessions
* This new cheatmode (<Ctrl>-<P>) is mostly designed to help with development.
2023-01-13 21:49:57 +00:00
Pete Batard
6eabcb4c9d
[internal] add pull_request_template.md and update issue_template.md
* Also remove .github/ directory from source archives.
2023-01-13 21:45:50 +00:00
Pete Batard
1ce1f47a8b
[wue] add option to Disable BitLocker automatic device encryption
* See https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-bitlocker#disable-bitlocker-automatic-device-encryption
* Closes #2121
2023-01-10 20:43:07 +00:00
Pete Batard
3fbc465d31
[core] fix Large FAT32 not being used in ISO → ESP mode
* Not using our own FAT32 formatting may result in access errors due to
  Microsoft's hare-brain handling of ESP access.
* Also update upcoming translations and copyright year.
2023-01-09 23:19:01 +00:00
Pete Batard
ac7b171eca
[misc] fix badges
* See https://github.com/badges/shields/issues/8671
2022-12-16 00:39:10 +00:00
Pete Batard
8d04e5f1f4
[misc] update GitHub Actions scripts
* Closes #2113
* Also fix a broken URL
* PS: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
  is *WOEFULLY* incomplete, in that it doesn't tell you that:
  1. The new method of setting output is *NO LONGER* shell agnostic (i.e *REGRESSION*)
  2. You need to use bash for the new $GITHUB_OUTPUT to work
2022-12-15 19:53:56 +00:00
Rose
fab095c043
[misc] prefer strtol/strtoull over atol/atoll
* This means we don't need to worry about conversion issues regarding signedess. In addition,
  the behavior will no longer be undefined if for some reason the conversion cannot happen.
* Closes #2104.
2022-12-08 11:21:39 +00:00
dependabot[bot]
2bc1428975
[misc] bump dessant/lock-threads from 3 to 4
* Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 3 to 4.
  - [Release notes](https://github.com/dessant/lock-threads/releases)
  - [Changelog](https://github.com/dessant/lock-threads/blob/master/CHANGELOG.md)
  - [Commits](https://github.com/dessant/lock-threads/compare/v3...v4)
* Closes #2102
* Also bump Rufus version to Rufus next
2022-12-08 11:18:47 +00:00
Jeffrey Walton
36f4716afd
[checksum] enable x86 acceleration if the CPU supports it
* Newer Intel and AMD CPUs have SSE extensions for SHA-1 and SHA-256 acceleration.
* Add new cpu.c/cpu.h sources to detect the extensions, and use them in checksum.c
  if available.
* Acceleration code is taken from https://github.com/noloader/SHA-Intrinsics.
2022-12-08 11:15:48 +00:00
Pete Batard
ddcbe8ed81
v3.21 (Build 1949) 2022-11-28 16:41:27 +00:00
Pete Batard
c2fe08080a
[core] add provision for Windows 7 sunsetting
* Update the relevant loc messages.
* Also add a -z commandline option to force the Windows version (but without letting
  this option work as an override, if running on an unsupported platform).
* Also fix typos and broken URLs.
2022-11-22 13:35:50 +00:00
Pete Batard
419522c803
[efi] update UEFI:NTFS's NTFS and exFAT drivers to latest
* Now uses read-only NTFS drivers v1.4 from https://github.com/pbatard/ntfs-3g.
* Like previous ones, aa64, ia32 and x64 versions are Secure Boot signed (but not arm).
* Fixes the recent potential vulnerabilities found in https://github.com/tuxera/ntfs-3g.
* Also update exFAT drivers to v1.9 from https://github.com/pbatard/efifs.
2022-11-17 10:42:56 +00:00
Pete Batard
9727fd4342
[core] improve/fix file system selection according to current ISO
* Closes #2074.
* Also harmonize whitespaces.
2022-11-16 16:55:41 +00:00
Pete Batard
a6769e4fb2
[core] don't process DBT_DEVNODES_CHANGED when scanning an image
* Since 8814944c35 we may mount an ISO for the lookup of the Windows version,
  which produces DBT_DEVNODES_CHANGED messages being issued when the virtual DVD is being created or removed
* This in turn leads to unwanted device refreshes.
* This patch makes sure we ignore DBT_DEVNODES_CHANGED while scanning.
* Also improve comments in iso.c.
2022-11-16 16:50:53 +00:00
Pete Batard
165127d221
[iso] fix GRUB boot for newer Arch and derivatives
* Arch recently added a "search --no-floppy --set=root --label <LABEL>" into their
  grub.cfg, which we didn't have provision for patching, which means that, as soon
  as the user changed the label or used an Arch derivative with a label that isn't
  compliant with FAT (e.g. Athena Linux), search, and therefore boot would fail.
* Also alter the code so that we modify for more than one token if needed.
* Closes #2086
2022-11-13 20:57:26 +00:00
Pete Batard
4cfe1c9947
[iso] fix UEFI:NTFS not being installed for ISOs that have a >4GB file, when MBR is selected
* GPT was fine but MBR led to the creation of EFI bootable images using NTFS as the file
  system, but without the UEFI:NTFS partition (e.g. UwUntu-22.10-desktop-amd64.iso).
2022-11-07 17:45:42 +00:00
Pete Batard
3cd6d18ef8
[ui] fix 'Image option'/'Persistent partition size' title not toggling when switching ISOs 2022-11-07 17:42:54 +00:00
Pete Batard
c19ef1125d
[wue] allow the provision of an arbitrary local account username
* This is required because, even though it's easy to change a local account name
  post install, doing so does not change the directory name in C:\Users\
2022-10-18 13:58:38 +01:00
Pete Batard
cee21b1981
[wue] prevent 'Administrator' and 'Guest' from being set as username
* These are reserved usernames that are created by default, so we should not use them.
* Also fix missing format specifier in ApplyWindowsCustomization() and make sure we
  print wim_index for both mount and unmount.
* Closes #2067 (with thanks to marcosfrm)
2022-10-15 12:24:43 +01:00
Pete Batard
76ff620714
[ui] fix tab order not working on WUE dialog
* Also add minor improvements and update Bled to latest
2022-10-07 17:43:46 +01:00
Pete Batard
fcae51a446
[grub] force server download for nonstandard GRUB (Fedora 37, openSUSE Live, GeckoLinux)
* This reverts most of 3528ca773d in order to download 'core.img' from our server instead of patching it.
* Also solve the issue of downloading a custom 'core.img' for Fedora 37, that introduced
  a new 'grub_debug_is_enabled' symbol without altering their GRUB version string.
* This is accomplished by doing what the distro maintainers should have done on their
  own, by appending a custom suffix to the GRUB version string.
2022-10-06 23:39:32 +01:00
Pete Batard
8814944c35
[wue] improve Windows version reporting from ISO/.wim
* Pick the version and build number directly from the install[.wim|.esd] XML index.
  This forces us to mount the ISO during scan, but it's the only way to get an accurate Build number...
* Also drop linking to version.dll (along with the whole version.dll delay-loading shenanigans).
2022-10-04 11:58:30 +01:00
Pete Batard
4d6c8b72d8
[loc] improve fatal error handling on application launch
* Remove last ditch effort on systems that are clearly broken for localization
  and always report an explicit error to the user.
* Also update GitHub Actions actions/checkout (Closes #2036).
2022-09-19 10:37:23 +02:00
Pete Batard
07d1fdcc2f
[cmp] update Bled to latest
* Also try to fix the fallthrough Coverity warning in format_ext.c
2022-09-14 23:37:46 +02:00
Pete Batard
2cf183e9f1
[misc] fix Y2K38 related Coverity warnings 2022-09-14 10:58:18 +02:00
Pete Batard
d9e8b8caeb
[iso] fix incorrect detection of GRUB with nonstandard prefixes
* Existing code was trying to detect if GRUB patching was needed for GRUB bootloaders
  even if they were using standard prefixes, and as a result dropped GRUB support for
  any versions that wasn't 2.04 or 2.06, since we don't have a patch for those.
* This patch restores the expected behaviour to ensure that we don't disable GRUB if
  a standard prefix is being used, regardless of the version being reported.
* Note that this issue only affected BIOS GRUB boot. UEFI GRUB boot was unaffected.
* Also set rufus-next to 3.21.
2022-09-07 18:10:30 +01:00
Pete Batard
861d1473ac
[misc] add a notice about hidden VHDs limiting the drives Rufus can list
* See #2029
2022-08-28 15:24:57 +01:00
Pete Batard
ae839d96ef
[appstore] fix invalid country code for Serbia
* sr-SR is not a country code that Microsoft accepts (and from what I can see
  is not valid, because it should be sr-RS).
* This has the unfortunate effect of preventing the installation of Rufus from
  the Windows Store, which fails with error 0x80070057 (Invalid parameter).
* Fix this by using a country code for Serbia that Microsoft does accept: sr-Latn-RS
* Closes #2015
2022-08-12 11:09:04 +01:00
Pete Batard
55ce65af6c
[appstore] try to fix error code 0x80070057 during App install
* First thing I'm gonna say is that, if your app validation process is unable to catch universal
  installation errors like the one above, then your app validation process *SUCKS*, Microsoft!
* Hopefully, this has to do with the additional languages not being passed to MakePri's /dq
  option. And there I also have to say thanks to Microsoft for *NOT* documenting how the heck
  one is supposed to pass multiple languages with /dq, so that you actually end up with
  <qualifier name="Language" value="en-US;ar-SA;bg-BG;..."> in priconfig.xml.
* What's that quote again? "Show me an App Store than only triples my work, and I will happily
  let it take a third of my revenue"...?
2022-08-10 23:46:13 +01:00
Pete Batard
b2bf29f652
v3.20 (Build 1929)
* Fix a Coverity warning and lock.yml syntax
2022-08-03 16:49:31 +01:00
Pete Batard
fbad63666e
[wue] add fallback to index 1 if boot.wim index 2 is not available
* Some "unofficial" Windows ISOs use a custom boot.wim that only includes the Setup
  image at index 1, rather than at index 2, after the PE image, for official ISOs.
* Also refactor to add a long needed vhd.h header.
* Also fix a MinGW warning.
2022-08-02 20:14:29 +01:00
Pete Batard
eda1f59a38
[iso] fix GRUB version detection for Fedora Rawhide
* How nice of "Open Source proponent" IBM/Red-Hat/Fedora to fix double space typos while making sure the
  provenance of the software they are using is hidden:
  https://src.fedoraproject.org/rpms/grub2/blob/rawhide/f/0024-Don-t-say-GNU-Linux-in-generated-menus.patch
* Long story short: Fedora fixed the double space in "GRUB  version", but of course they didn't upstream
  this change since it is part of a patch that removes every possible mention of GNU. This made our GRUB
  version detection break, since it relies on finding a "GRUB  version" string.
* Fix this by looking for both "GRUB  version" and "GRUB version".
* This, however, does not fix Fedora Rawhide BIOS boot, since they also added custom GRUB calls such as
  'grub_debug_is_enabled', which we don't have in our vanilla produced GRUB binary.
* Closes #2002.
2022-07-28 15:47:05 +01:00
Pete Batard
a2e9b6fee0
[appstore] ensure the Windows Store page does report the 38 languages Rufus is translated into 2022-07-27 17:15:37 +01:00
Pete Batard
2c26f838f4
[wue] enable applicable WUE options for Windows 10
* Also ensure that we print a message on the status bar while applying options.
2022-07-27 11:49:26 +01:00
Pete Batard
8790c480dd
[ui] resize SelectionDialog() according to the text content 2022-07-26 16:49:10 +01:00
Pete Batard
01dbb3d957
[wue] fix WUE options not being applied for ARM64 images
* Closes #1996
* Also set Coverity GitHub Actions workflow to use windows-latest
2022-07-25 16:48:57 +01:00
Pete Batard
a19828c9d1
[wue] move WUE, Windows To Go and WinPE calls to their own source 2022-07-25 13:18:14 +01:00
Pete Batard
c34cbab3b5
[wue] remove non-existent min disk size bypass
* Closes #1990
* Also group all of SB, TPM and min RAM into a single option and update French translation
2022-07-22 13:02:02 +01:00
Pete Batard
9073962faf
[wue] add automatic local account creation and regional settings duplication
* Local account is created with the same name as the current user along with an *empty* password
  (which we force the user to change on next logon). This is done to assuage users who might be
  weary of entering a password in a third party application, and has the benefit of enabling
  autologon when the install is complete.
* Note that the creation of a local account through an answer file prevents Windows 11 22H2
  from bugging users about MSA *even with an active network connection*.
* For convenience reasons, only duplication of the current username is enabled. We *may* add a
  dialog to enter any random username in a future version, but for 3.20, this is all you get.
* Likewise, the locale duplication is only carried out during OOBE and *not* WinPE (which means
  that you still get the initial "Windows setup language and user preferences" prompt). This is
  intentional as otherwise the default screen and "Repair Windows" options are not presented.
* It's not my fault that the Windows password change screen is super ill conceived, whereas it
  doesn't hide the current password field as it should when the current password is blank, and
  one needs to click on a very small arrow to get the changes applied, instead of a PROMINENT
  button that should intuitively have been positioned right next to "Cancel".
* If you want to complain that we should just "present the user with XYZ and be done with it",
  please bear in mind that we can't add new dialogs to Rufus as willy-nilly as you believe we
  can. *ANY* new UI interface requires major planning, which is the reason why, for the time
  being, we are limited to reusing a simple dissociated list of checkboxes for all WUE options.
2022-07-19 19:11:06 +01:00
Pete Batard
5117a3b4a8
[wue] fix MSA bypass not being applied unless SB/TPM or RAM/Disk bypass is also selected
* In a manner that defies logic, Microsoft designed Windows setup to parse Autounattend.xml
  for windowsPE tasks in the PE environment, but only carry out the copying of that file
  to %WINDIR%\Panther for subsequent processing with the other passes *IF* there exist an
  actual windowsPE section.
* In short, when using the Autounattend.xml method, Microsoft have made all passes there
  dependent on the existence of a windowsPE pass, regardless of whether that pass has any
  use or not.
* Working around this would be fine and all (just add an empty windowsPE pass so that the
  later passes get executed) if the absence of a windowsPE pass didn't also determine
  whether the user will be presented with the default Windows setup screens that include
  the "Repair your computer" option or a completely different set of screens (c.f. #1971).
* This means that, to keep users happy, we need to add yet another method to carry out
  tasks that should have remained the realm of boot.wim's Autounattend.xml, and instead
  create a \sources\$OEM$\$$\Panther\unattend.xml when there are no windowsPE tasks (on
  account that setup copies anything found under \sources\$OEM$\$$\ to %WINDIR%\).
  Only through this can we have the specialize and oobeSystem tasks actually carried out
  (for bypassing MSA requirements of skipping the data collection screens) while keeping
  the original Windows Setup look and feel.
* Closes #1981
2022-07-13 18:31:11 +01:00
Pete Batard
2b7b81808f
[misc] improve/factorize '/' ↔ '\' conversions 2022-07-09 18:16:42 +01:00
Pete Batard
14f19e5275
[wue] revert to inserting the bypass registry keys directly where possible
* The use of an unattend.xml to create the TPM/Secure Boot/Disk/RAM bypass keys was
  prompted by Microsoft restricting the ability of Windows Store app from manipulating
  offline registry hives.
* However, the use of a windowsPE phase in unattend.xml to insert the keys results in
  a windows command prompt briefly appearing when setup launches, as well as slightly
  different Windows setup screens from the default.
* So we are now reverting to trying to edit the boot.wim registry hive offline (which
  should work for the non Store version of Rufus) while falling back to using a PE
  unattend section if that doesn't work.
* Closes #1971
2022-07-08 18:48:02 +01:00
Pete Batard
2be4470bc5
[iso] add workaround for ISOs that have a syslinux symbolic link to isolinux
* This is for Knoppix images that have a /boot/syslinux that links to /boot/isolinux/
  with EFI Syslinux trying to use /boot/syslinux/syslnx[32|64].cfg as its config file.
* Note to Knoppix devs, you could have ensured EFI File System transposition by using
  the same approach as we do here, which is to create non-symlinked /boot/syslinux
  config files that point back to the isolinux ones.
2022-07-08 13:34:34 +01:00
Pete Batard
f17e287e39
[wue] make WUE choices persist between sessions 2022-07-07 11:22:39 +01:00
Pete Batard
d9a7a03834
[vhd] improve mounting/unmounting of WIM
* Also fix wininet not having been removed from DelayLoadDLLs except x64.
2022-07-07 11:20:30 +01:00
Pete Batard
110f4025b7
[wue] fix Windows User Experience dialog appearing twice with Windows To Go
* Issue was introduced with the fix for #1956
* Closes #1968
* Also set rufus-next to 3.20
2022-07-05 14:09:41 +01:00
Pete Batard
8fb602b8ee
[mbr] use 80x25:16 text mode rather than 640x480:16 VGA mode
* This should produce the same output while improving compatibility with systems that have a broken VGA implementation.
* Also fix an LD error with newer gcc toolchains.
2022-07-04 15:08:55 +01:00
Pete Batard
3cf41abf2e
v3.19 (Build 1911) 2022-07-01 22:42:02 +01:00
jb66
8c25bf4b69
[loc] fix typos in French translation
* Closes #1961
2022-06-30 11:27:56 +01:00
Marcos Mello
6c8432ebf6
[loc] update Brazilian Portuguese translation to latest
* Closes #1948
2022-06-28 00:16:50 +01:00
Thomas Schmitt
ae377ae8ca
[iso] fix support for multi-extent files when Joliet is in use
* See https://lists.gnu.org/archive/html/libcdio-devel/2022-06/msg00000.html
* This partially fixes ISO mode support for Gentoo Live, though, since the Gentoo
  maintainers appear not to have a kernel NTFS driver in the current images, the
  installer still fails to mount the installation media.
2022-06-27 20:42:41 +01:00
Pete Batard
d457a0bafe
[ui] fix Windows 11 customization options not appearing with MBR
* Fixes #1956
2022-06-25 15:39:05 +01:00
Pete Batard
65f05f4d58
[loc] update French translation to latest
* Also update ChangeLog for Rufus 3.19 BETA
2022-06-24 18:32:49 +01:00
Pete Batard
e043a49fa7
[ui] add option to set internal drives offline for Windows 11 To Go
* This is enabled by default for Windows 11 images and is done to prevent the
  annoying behaviour of Windows 11 *automatically* upgrading all ReFS drives
  it sees to latest version, thereby instantly preventing you from accessing
  these drives ever again with Windows 10.
* See: https://gist.github.com/0xbadfca11/da0598e47dd643d933dc#Mountability.
2022-06-24 17:47:08 +01:00
Pete Batard
a25af06b3c
[ui] drop the option to remove the "unsupported hardware" watermark
* I've never seen that watermark in the first place, therefore can't test if the option is
  working, and, as opposed to the other options, users can deal with it post install anyway.
* Also ensure that we prompt for customization when selecting an install.wim.
2022-06-24 14:27:02 +01:00
dependabot[bot]
7391b342db
[misc] update dependabot dependencies
* Closes #1952
* Closes #1953
2022-06-23 14:26:39 +01:00
Pete Batard
43761aba43
[misc] add dependabot.yml 2022-06-23 14:17:40 +01:00
Pete Batard
d0844bfc70
[misc] minor update to pollock
* Also reinstate CodeQL since github/codeql-action#850 is supposed to be fixed.
* Also fix a false Coverity warning.
2022-06-23 14:05:52 +01:00
Pete Batard
a0d669232c
[ui] add a new selection dialog for Windows 11 setup customization
* This moves the extended Windows 11 options (bypass TPM & Secure Boot) away from
  "Image options" into a new explicit dialog, along with supplementary customization
  such as enabling offline account (for Windows 11 22H2) and skipping all data
  collection questions.
* This customization is now enacted through an unattend.xml file rather than offline
  registry manipulation, so that this *should* also work with the Windows Store version.
* Also update arch detection and rework/reorganize upcoming translation changes.
* Note: The 'Remove "unsupported hardware" desktop watermark' option is *UNTESTED*.
2022-06-23 13:34:24 +01:00
Pete Batard
9690742d91
[ui] extend SelectionDialog() to support checkbox selection 2022-06-20 13:47:43 +01:00
Pete Batard
a9a97b6f10
[efi] update UEFI:NTFS's NTFS drivers to latest
* Now uses read-only NTFS drivers v1.3 from https://github.com/pbatard/ntfs-3g.
* Like previous ones, aa64, ia32 and x64 versions are Secure Boot signed (but not arm).
* Fixes the recent potential vulnerabilities found in https://github.com/tuxera/ntfs-3g.
* Note that we have asked Microsoft to add the previous signed NTFS drivers to the UEFI
  Revocation List, even as we believe that the ntfs-3g vulnerabilities are not exploitable
  in the limited context of UEFI:NTFS.
2022-06-16 11:54:00 +01:00
Pete Batard
cd9d3737b1
[core] add the ability to ignore USBs through VID:PID
* This enables the provision of Registry/Settings key IgnoreUsb01 to IgnoreUsb08 where
  one can specify a USB device to ignore by providing its VID:PID as a 32-bit hex value.
* Closes #1879.
* Also update rufus.ini sample for current Rufus version.
* Also fix status display for Alt-Q.
2022-06-14 23:29:33 +01:00
Pete Batard
d8af83dd14
[core] use Linux Data GUID for ext GPT partitions
* Also add an IS_EXT() macro
2022-06-08 19:37:24 +01:00
Pete Batard
c2cd5185a3
[iso] enforce DD mode for Proxmox ISOHybrid images 2022-06-07 16:39:03 +01:00
Maison
df5cfe94c1
[loc] update Brazilian Portuguese translation
* Closes #1940
2022-06-07 16:30:00 +01:00
Marcos Mello
591bec3cbe
[iso] add versions 9.x for Red Hat derivative exceptions
* Closes #1943
2022-06-07 16:19:47 +01:00
Pete Batard
746f91acc7
[core] work around Windows refusing to mount Linux MBR partitions on FIXED drives
* Fixes #1922.
* Also fix a typo and apply minor updates for GitHub Actions workflows.
2022-05-31 16:30:19 +01:00
Pete Batard
c76327f96e
[ui] list drives by increasing order of size
* Also silence MSVC and MinGW obnoxious warnings about bidirectional Unicode characters.
2022-05-25 13:22:47 +01:00
Pete Batard
1dcfd69dee
[ext2fs] return a more explicit error on directory corruption 2022-05-14 10:19:36 +02:00
Pete Batard
4cdbad283a
[loc] update Polish translation
* Closes #1916
* Also removes wininet.dll from MSVC vcxproj.
2022-05-02 11:21:16 +01:00
Pete Batard
cc293c0512
[core] add exception for LaCie XtremKey USB 3.0
* Closes #1912
2022-04-27 11:36:59 +01:00
Pete Batard
a3c75e480e
[core] revert to direct-hooking into wininet.dll
* This reverts 3194a4dac4 on account that MinGW's delay loading of
  wininet.dll causes the application to prematurely close.
* Yet another episode of the never ending #1877 saga...
2022-04-27 10:41:19 +01:00
Vlad
48574f10d6
[loc] update Ukrainian translation
* This fixes multibyte indexes
* Closes #1908
2022-04-26 00:00:32 +01:00
Pete Batard
f5abae6442
[core] fix Boot selection dropdown not being reset on unsupported images
* Closes #1903
2022-04-15 11:43:22 +01:00
Pete Batard
d029551929
[core] drop direct hooking into dwmapi DLL and use delay-loading instead
* Now that we can delay-load DLLs for both MinGW and MSVC, we can also remove
  the direct DLL hook that was added into dwmapi.dll due to side loading and
  revert to using a direct API call instead.
* This reverts part of e1d864f755.
* Also attempt to silence that damn Coverity warning.
2022-04-12 13:55:33 +01:00
Pete Batard
3194a4dac4
[net] drop direct hooking into wininet DLL and use delay-loading instead
* Now that we can delay-load DLLs for both MinGW and MSVC, we can remove the
  cumbersome direct DLL hooks into wininet.dll (which is vulnerable to side
  loading when not delay-loaded) and revert to using direct API calls instead.
* This reverts part of e1d864f755.
* Also attempt to silence a Coverity warning.
2022-04-12 13:35:41 +01:00
Pete Batard
e7b66e7e4c
[mingw] use delay loading for DLLs that are subject to side loading
* This reverts much of commits f6ac559f4d and 1947266837
  so that we call the Windows APIs directly again, while ensuring that, by the time we load the DLLs,
  sideloading mitigation has already been applied by the application.
* This is a continuation of #1877, and should help prevent re-introducing side-loading issues when we
  link against new libraries, as well as allow us to drop some of the manual DLL hooking we've been
  doing to prevent it, to clean up the code.
* Note that this is a bit more complex than what the stackoverflow post suggests, because we need to
  create delayloaded libs for both 32-bit and 64-bit, which use a different calling convention and
  therefore need to use different .def files. So there's a lot of gymkhana involved, with Makefiles
  and whatnot, to get us there.
* Also simplify the use of CM_Get_DevNode_Registry_PropertyA() in dev.c since recent versions of
  MinGW now have support for it.
* Also fix 2 small issues in net.c (potential overflow) and format.c (memory leak).
2022-04-12 11:09:59 +01:00
Pete Batard
3528ca773d
[iso] add support for distros using a NONSTANDARD GRUB 2.0 prefix directory
* Looking at you, openSUSE Live and GeckoLinux!
2022-04-07 01:58:22 +01:00
Pete Batard
f669f05403
[iso] add ISOHybrid "CD" partition and ISO9660 file system detection
* Notably for openSUSE-Leap-15.3-XFCE-Live-x86_64-Build9.427-Media.iso
2022-04-05 18:31:03 +01:00
Dinis Medeiros
50d81af6cf
[loc] update Portuguese translation
* Add MSG_322, 323, 324
* Closes #1886
2022-04-01 13:03:59 +01:00
Pete Batard
8ec570570f
[core] reassign a letter for drives written in DD mode that don't have an ESP
* This should help with the CoreELEC usage case described in #1842
* Also add MBR handling for ESP ↔ FAT cheat mode (Alt-P)
* Also set rufus-next to 3.19
2022-03-24 17:24:39 +00:00
Pete Batard
0de209ee53
v3.18 (Build 1877)
* Formally disable Windows 11 bypass for Windows 7 and AppStore version since it can't be applied.
2022-03-11 16:51:59 +00:00
Pete Batard
1947266837
[pki] don't link with wintrust.lib
* WinTrust.lib is responsible for the MSASN1.dll sideloading issue described in #1877,
  so, since we only use it for WinVerifyTrustEx(), hook into that function manually.
* Closes #1877 for the MinGW side.
* Note that we will probably try to use the method suggested by @assarbad and documented at
  70416894 (70416894)
  to try to put an end to the problem of DLL side loading.
2022-03-03 17:41:43 +00:00
Pete Batard
d07ec87b3a
[mingw] fix compilation breakage due to MinGW header screwup
* See 1900092904
* Guys, I know VDS is fundamentally broken... but that's no reason to break it further!
2022-02-28 22:00:41 +00:00
Pete Batard
cef651c52c
[msvc] actually apply DLL delay loading to the Release builds
* ef2ff7179d was supposed to apply delay loading to our DLLs, for all MSVC builds,
  thereby preventing sideloading attacks, but the patch actually only set the DelayLoadDLLs
  property for Debug builds and not Release builds, with the result that side loading could
  still be triggered for the Release executables, as demonstrated in #1877.
* This patch therefore properly sets the DelayLoadDLLs for all builds, which should take care
  of the side loading vulnerability at least for MSVC executables.
* A subsequent patch will still be needed for MinGW, since there is no equivalent to DelayLoadDLLs.
* This addresses part of #1877.
2022-02-25 18:05:49 +00:00
Pete Batard
42483d23ed
[dos] update FreeDOS to version 1.3
* FreeDOS 1.3 has just been released. Yay! :)
* Closes #1740
* Also addresses 2 warnings reported by Coverity.
2022-02-21 20:02:53 +00:00
Pete Batard
89db56acbc
[net] add fallback to InternetGetConnectedState() when INetworkListManager service dependencies are missing
* INetworkListManager appears to depend on specific services to be able to work,
  which one can actually disable while still getting full Internet connectivity.
* If that is the case, HRESULT_FROM_WIN32(ERROR_SERVICE_DEPENDENCY_FAIL) will be
  returned, therefore we add a fallback to using InternetGetConnectedState(), which
  does not have such dependencies (but has other limitations per b2492908be)
  when we detect a dependency error.
* Also take this opportunity to switch to using INetworkListManager::get_IsConnectedToInternet().
* Also fix Coverity breakage due to Synopsys having upgraded their toolchain.
* Closes #1801
2022-02-18 17:18:34 +00:00
Pete Batard
209fb18b1c
[iso] add bypass of Windows 11 restrictions for in-place upgrades 2022-02-16 17:25:43 +00:00
Matthias Kruk
23e79ad907
[iso] add Miracle Linux 8 to the list of Red Hat exceptions
* MIRACLE LINUX is a Red Hat derivative, so it needs the same special
  treatment as Red Hat, CentOS, etc to work around issues in anaconda.
* This commit adds MIRACLE LINUX to the list of Red Hat derivatives.
* Closes #1866
2022-02-11 18:47:41 +00:00
Tatsuhito KATO
108424ecf4
[loc] update Japanese translation
* Closes #1863
2022-02-11 18:44:46 +00:00
Pete Batard
4223fe9681
[misc] fix inverted memset() parameters
* Also fix artifact name for VS2022 builds.
2022-02-11 18:42:38 +00:00
Pete Batard
ebaa7d561a
[core] add file System detection from superblock
* Also prevent GitHub Actions from failing on VirusTotal upload
2022-02-04 17:41:44 +00:00
Pete Batard
036f6260c5
[ui] fix regression in conditional expression and use %c always
* This fixes the regression introduced in c28f9bc491.
* 'if ((a && !b) || (!a && b))' can not always be simplified as 'if (a != b)' when the types for 'a' and 'b' are not straight booleans.
* Closes #1862
* Also drop the use of '%C' in printf() expression, as it is intended to print wide characters and not turn a char to uppercase.
2022-01-31 16:55:42 +00:00
Csizmadia Gábor
891eb45549
[loc] update Hungarian translation to latest 2022-01-25 09:39:44 +01:00
SiderealArt
2e19b4958b
[loc] update Chinese Traditional translation
* Closes #1849
2022-01-20 16:10:01 +01:00
Pete Batard
00a802ca1d
[iso] fix ISO→ESP creation for Windows 11
* In their great "wisdom", Microsoft made it even harder to access ESPs on Windows 11,
  meaning that we have to use even more convoluted ways of providing the ISO→ESP feature.
* Closes #1855
2022-01-20 15:24:35 +01:00
Pete Batard
14847a1a89
[misc] update copyright year
* Also update signing certificate hash
2022-01-09 15:02:50 +00:00
Pete Batard
a47072c3c6
[ui] produce a more explicit error message when an image can't be opened/read
* Closes #1843
* Also publish Coverity artifacts since upload to Coverity seems to be broken atm.
2022-01-07 13:27:15 +00:00
Jeon Hyun-seok
52d05aa228
[loc] update Korean translation 2022-01-07 12:27:41 +00:00
marcellogianola
7fa83aa479
[loc] update Italian translation
* Closes #1841
2022-01-05 18:37:47 +00:00
Austin Wise
ef2ff7179d
[msvc] add provision to prevent DLL search order hijacking through delay loading
* Hypothetically if the user's current directory contains a malicious DLL that DLL
  could be loaded instead of the one in System32.
* Whereas the previous patch should have taken care of the one DLL referenced by
  Rufus that may be vulnerable to this attack (version.dll), we nonetheless add
  delay loading for all the libraries we reference as a precautionary measure.
* One can confirm that this works by using dumpbin.exe /IMPORTS to make sure
  a specific DLL is delay loaded. Then putting a breakpoint in the delay load
  hook should also confirm that the hook is used.
* Closes #1838
2022-01-05 18:33:59 +00:00
Pete Batard
f6ac559f4d
[iso] don't link with version.lib to prevent DLL sideloading issues
* This is part of #1838, where we need to sort the version.dll sideloading problem for MinGW.
* A subsequent patch will be applied to MSVC, to more generally delay the loading of DLLs.
* Also fix a typo with an assert expression.
2022-01-05 16:49:06 +00:00
Pete Batard
e495c691ea
[misc] fix GitHub Actions' MinGW compilation 2022-01-05 12:51:29 +00:00
Pete Batard
c28f9bc491
[misc] fix PVS-Studio warnings 2022-01-05 12:57:26 +01:00
Pete Batard
eeca1f279c
[iso] add 'inst.repo' Red-Hat workaround for CentOS Stream
* Since CentOS Stream does not use the 'CentOS-8.*' labelling scheme.
* This is a follow up to #1777.
* Also fix Windows Kit location for signing scripts.
2021-11-22 20:11:47 +00:00
Dimitri Papadopoulos
d840083a32
[misc] fix typos found by codespell
* 3rd party software was left out.
* Most changes are in code comments, but one user-visible string has also been fixed.
* Closes #1817
2021-11-16 18:53:52 +00:00
marcellogianola
5030c1520d
[loc] fix typos in Italian translation
* Closes #1813
2021-11-16 18:48:48 +00:00
Pete Batard
9692e6709d
[misc] forget CodeQL until they fix VS2022 support
* I don't have time for this bullshit. Of course the irony is that a Microsoft product (CodeQL)
  hosted on a Microsoft platform (GitHub) hasn't been updated to work with the latest Microsoft
  compiler (VS2022).
* Also removed the stuff CodeQL complains about and updated README badges.
2021-11-16 18:44:43 +00:00
Pete Batard
f5072e45de
[misc] update solution to VS2022
* Also fix a possible mishandling of compounded strings in safe string macros
2021-11-16 17:50:20 +00:00
Mihai-Octavian STRĂUȚ
1de1c2a94a
[loc] update Romanian translation to latest 2021-11-13 11:41:31 +00:00
Pete Batard
3aac3f5583
[misc] improve Windows edition reporting
* Closes #1808
* Also update rufus-next to 3.18
2021-10-27 09:51:28 +01:00
Pete Batard
ca4e009ffc
[appstore] revert to using a script to build AppStore bundle
* Having two separate Visual Studio solution files, while more convenient, was a major
  pain in the ass and it also required us to update versioning in the .appxmanifest for
  each commit.
* Also, this new AppStore build process enables us to use the GitHub Actions executables
  to further foster the complete transparency of our build process.
2021-10-27 09:47:27 +01:00
Pete Batard
d5dc8ee5e7
v3.17 (Build 1845)
* Also update README.md
2021-10-23 15:40:06 +01:00
Pete Batard
a519e3b03b
[misc] fix console hogger not being deleted on exit
* Also update hash DB and readme for latest Grub4DOS
2021-10-23 15:14:46 +01:00
marcellogianola
c516c1e38b
[loc] update Italian translation
* Fix typo and upper case to lower case
* Closes #1800
2021-10-23 13:10:44 +01:00
Pete Batard
b39e2f8615
[misc] improve GetLibraryHandle() fallback
* This is a follow up to 1c2884ceba where the error code returned by Windows 7 platforms
  that don't have KB2533623 is expected to be ERROR_INVALID_PARAMETER rather than ERROR_PROC_NOT_FOUND.
* Also update the Windows 11 'Extended' installation mode translations.
2021-10-23 13:08:13 +01:00
Pete Batard
b30e3b387a
[efi] update UEFI:NTFS to latest
* Also remove Secure Boot notice since (outside of 32-bit ARM and exFAT)
  our bootloaders and NTFS drivers are now Secure Boot signed.
2021-10-23 02:49:15 +01:00
Pete Batard
05382d8c7d
[core] ReFS improvements
* Allow 4K/64K cluster size selection
* Only enable ReFS on relevant platforms
* Also recognize a few more Windows editions
2021-10-21 02:02:17 +01:00
Pete Batard
32b083e535
[misc] improve path display for Sylinux/GRUB resources 2021-10-21 01:59:03 +01:00
Pete Batard
1c2884ceba
[misc] fallback to using LoadLibrary() when LoadLibraryEx() fails or doesn't apply
* Per 2a3e82fa96, it looks like some Windows 7 system have trouble with
  LoadLibraryEx() if they don't have KB2533623 installed (which fixes a MAJOR Windows
  vulnerability. Some people sure want to leave their system open to hackers...).
* Work around this by adding a fallback to LoadLibrary() in GetLibraryHandle()
* Also switch to using GetLibraryHandle() in dos.c and using LoadLibrary() in sections
  where we have the full path (since these calls are not vulnerable).
2021-10-18 13:15:41 +01:00
Pete Batard
d8a2c29a67
[core] fix MBR cleanup regression
* Commit 9dc045a701 introduced a regression on account that we didn't set the
  file pointer to 0 before clearing the disk.
* This leads to the MBR not being properly cleared, with the result that Windows may in turn
  produce errors when trying to repartition the disk.
* Fix this by making sure we do invoke SetFilePointerEx() before calling WriteFileWithRetry().
* Also set rufus-next to 3.17
* Also fix a MinGW warning
2021-10-17 13:35:31 +01:00
Pete Batard
0b618f3de7
[misc] misc improvements and fixes
* Remove BypassRAMCheck from Extended Windows 11 installation since the minimum
  RAM requirements for Windows 11 are 4 GB and not 8 GB as pointed out in #1791.
* Display Windows edition code when we can't resolve it.
* VS2019 wants us to have PackageOptionalProjectsInIdeBuilds enabled? So be it.
2021-10-15 13:13:36 +01:00
Pete Batard
8a09b9b9fc
v3.16 (build 1836)
* Also update French translation to latest
2021-10-13 12:22:04 +01:00
Pete Batard
56a99e6394
[misc] use application dir for storage in portable mode
* Also improve path reporting in the log.
* Also fix MinGW warnings
2021-10-11 20:11:06 +01:00
Pete Batard
9cd7adaaaa
[iso] finalize workaround for Red Hat 8 derivatives
* See #1777
2021-10-11 17:55:46 +01:00
Pete Batard
957ec183c9
[ui] improve progress report when disabling Windows 11 installation restrictions
* Also fix Image Options content being lost when switching language.
2021-10-09 16:18:45 +01:00
Pete Batard
b043db33e6
[core] add option to bypass TPM 2.0/Secure Boot/RAM requirements for Windows 11 ISOs
* If 'Extended Windows 11 Installation' mode is selected, the system registry hive of
  'sources\boot.wim' is patched to add the Setup\LabConfig registry keys that bypass
  the TPM 2.0/Secure Boot/8GB+ RAM Windows 11 system requirements.
2021-10-08 19:24:10 +01:00
Pete Batard
a10b8e8c54
[iso] add Windows ISO version report
* Use sources/compatresources.dll, when available, to try to detect the Windows ISO version and build.
* Also report what facility we use for formatting.
2021-10-08 19:24:07 +01:00
Pete Batard
e6a967c5c9
[misc] update Changelog for 3.16_BETA 2021-10-04 14:29:38 +02:00
Pete Batard
ce8aaa99f7
[core] add VDS detection and print a notice if VDS is unavailable 2021-10-04 14:29:09 +02:00
Pete Batard
c09ede16b3
[iso] add kernel options update for Red Hat derivatives
* Since version 8.2, and rhinstaller/anaconda@a766101954,
  Red Hat derivatives have changed their CD-ROM detection policy which leads to
  the installation source not being found when writing the media in ISO mode.
* Replace 'inst.stage2' by 'inst.repo' in the kernel options.
* Closes #1777 (See also rhinstaller/anaconda#rhinstaller/anaconda#3529).
* Note that this reverts part of 9c8fa40995.
2021-10-03 16:04:34 +02:00
Pete Batard
83ea7103e3
[ci] set VS2019 to produce ALPHA or BETA off release 2021-09-28 20:00:59 +01:00
Pete Batard
df8058b4f3
[core] add workaround for Windows 11's locking issue
* Windows 11 appears to be a lot more proactive in locking system partitions (ESPs, MSRs)
  than previous versions of Windows were, resulting in format or access errors.
* Try to work around these by disabling exclusive drive locking as needed.
2021-09-28 16:17:35 +01:00
Pete Batard
fba24170e1
[ci] set MinGW to produce ALPHA or BETA off release
* Also avoid tagged release duplication
2021-09-28 16:03:36 +01:00
Pete Batard
aba6c7d996
[misc] small Windows versioning improvement
* Actually define a WINDOWS_11 version and use it when Windows 11 is detected.
* Also some comment cleanup.
2021-09-28 15:39:51 +01:00
Pete Batard
d203c91403
[core] report Windows edition
* Also use build number to detect Windows Server 2019 and Windows 11
  since Microsoft are COMPLETE ASSES about their version reporting.
* Also fix a compilation warning.
2021-09-26 16:20:46 +01:00
Pete Batard
2761c72187
[parser] fix unwanted removal of lines that don't match a token
* In replace_in_token_data() when looking for lines starting with a specific
  token but finding lines containing a larger version of the token (e.g. looking
  for 'linux' but finding 'linux16') we would forget to output the non matching
  line as we rejected it.
* This produced issues such as the one described at:
  https://ubuntuforums.org/showthread.php?t=2465291&page=10&p=14052629#post14052629
* Fix this by ensuring that we always output the lines that we reject.
2021-09-20 16:11:47 +01:00
Pete Batard
deee38d4e5
[misc] fix log potentially not being saved on exit
* Also ensures that if the user deleted the directory we don't recreate it for the log.
* Also fix typos and Coverity warnings.
2021-09-19 21:01:45 +01:00
Pete Batard
9dc045a701
[core] speed up the clearing of MBR/GPT sectors
* write_sector() should really only be used when writing single sectors as it
  is way to slow for anything else => Switch to using WriteFileWithRetry().
* Also revert an unwarranted change from f0047986e7.
2021-09-19 14:29:30 +01:00
Pete Batard
f0047986e7
[dev] add support for intel NUC card readers
* Also make sure that cards larger than 200 GB are not listed by default.
2021-09-09 22:20:57 +02:00
Pete Batard
366ce99712
[misc] fix Coverity and CodeQL warnings
* Also make sure to build Release for static analysis.
2021-09-07 23:39:04 +01:00
Pete Batard
a787fb34b3
[iso] fix loader/entries/*.conf labels for Arch derivatives...
* ...that didn't get the memo about using UPPERCASE 11-chars max ISO labels.
* There's a reason why Arch labels its ISOs 'ARCH_YYYYMM', people!
* Anyway, EndeavourOS should now work in ISO mode when booted from UEFI.
2021-09-07 01:07:37 +01:00
Pete Batard
8e2a9797cd
[ci] clean up CI yml scripts 2021-09-07 01:01:56 +01:00
Pete Batard
c38ff63183
[misc] add SECURITY.md file 2021-09-04 01:39:48 +01:00
Pete Batard
f4be099f08
[ci] add codeQL static analysis 2021-09-04 01:20:12 +01:00
Pete Batard
405fc6bfae
[misc] report UEFI Shell download feature in README
* See pbatard/Fido@2ee5f896d3 along with https://github.com/pbatard/UEFI-Shell.
* Also set rufus-next to 3.16.
2021-08-25 15:24:56 +02:00
Pete Batard
02aa03078b
v3.15 (build 1812) 2021-08-03 11:33:07 +01:00
Pete Batard
8538ce0590
[misc] fix some Coverity warnings 2021-08-02 13:22:49 +01:00
Pete Batard
436584fcc0
[appstore] revert AppStore version detection to rufus.app presence check
* This basically reverts the changes from 9dfa31db03.
2021-08-01 21:50:11 +01:00
Pete Batard
723b6c98a2
[grub] add workaround for openSUSE Live ISOs
* In their great wisdom, the openSUSE maintainers added a 'set linux=linux'
  line to their grub.cfg, which means that their kernel option token is no
  longer 'linux' but '$linux'... and we have to add a workaround for that.
2021-07-29 22:37:09 +01:00
Pete Batard
94a2789296
[ci] add SHA-256 display and VirusTotal upload 2021-07-29 14:42:08 +01:00
Pete Batard
9da4a49ab8
[misc] switch to GitHub actions for CI 2021-07-29 01:10:53 +01:00
Pete Batard
7afa7348cf
[misc] update ChangeLog for BETA 2021-07-28 16:51:32 +01:00
Pete Batard
41a9436649
[core] automatically save log to %LocalAppData%\Rufus\rufus.log on exit 2021-07-28 16:37:45 +01:00
Pete Batard
8ceb0045fa
[grub] update embedded GRUB to 2.06
* Also enable NTFS and ext# as GRUB2 compatible file systems.
2021-07-27 18:10:29 +01:00
Pete Batard
6ed7524c1b
[ui] fix download status message remaining indefinitely
* Closes #1727
2021-07-26 17:19:45 +01:00
Pete Batard
0475f4796a
[cmp] fix some Coverity warnings 2021-07-26 16:57:48 +01:00
Pete Batard
57af9e7106
[misc] set rufus-next to 3.15
* Also update DB for GRUB 2.06 binary and fix a line break when writing images
2021-06-22 19:08:34 +01:00
longpanda
49eefa2e03
[cmp] add support for Ventoy Sparse Image (.vtsi) 2021-06-22 19:08:33 +01:00
Pete Batard
4f97cdfdc3
[ui] increase projected size to prevent persistence overflow
* If users set the persistent size to max, we may run into a situation
  where projected size (which is always a rough estimation) is too low.
* When persistence is in use, we increase the projected size by 10%, to
  ensure that the above scenario cannot happen.
* Also work around potential issues with Windows APIs when the application
  is launched from the root of a drive.
2021-06-10 17:18:40 +01:00
Pete Batard
9d7e96e293
[core] move downloads from <app_location>\rufus_files\ to %LOCALAPPDATA%\Rufus\
* While this is intended to solve the issue of saving GRUB/Syslinux files for the
  App Store version, we apply this change globally, as it allows the user to move
  the Rufus executable around while preserving access to existing downloads.
* Closes #1744
2021-05-31 16:54:11 +01:00
Pete Batard
aeae66e971
[efi] prevent a drive letter to be assigned to the UEFI:NTFS partition
* Closes pbatard/uefi-ntfs#25
* Also make the UEFI:NTFS partition read-only for release version
2021-05-29 13:59:59 +01:00
Pete Batard
702a60630f
[appstore] update supported languages 2021-05-28 22:02:19 +01:00
Pete Batard
3db3bf527f
[appstore] add French to app listing 2021-05-27 16:49:46 +01:00
Pete Batard
f26fd2fbe3
[fido] add additional Authenticode validation before running the script
* This basically means that the script is validate *TWICE*, using two
  completely independent signatures, before it is allowed to run, which
  should add another mitigation layer against TOCTOU (which we already
  friggin' mitigated against anyway) and other potential vectors of
  attack.
* Also remove -DisableFirstRunCustomize option and the associated cookie
  prompt monitoring, which the latest version of Fido no longer requires.
* Also update WDK version for signtool and flesh out PKI error messages.
2021-05-27 00:19:25 +01:00
Pete Batard
3083324a0e
[internal] switch to using workflows to lock old issues
* GitHub's Lock bot has been replaced with a new lock action -> Use this.
2021-05-26 13:07:26 +01:00
Pete Batard
3bb83709da
[core] avoid the creation of 'System Volume Information' for ESPs written in DD mode
* Trying to mount accessible partitions after writing an image may lead to the
  creation of the infamous 'System Volume Information' folder on ESPs, which in
  turn leads to checksum errors for Ubuntu's boot/grub/efi.img (that maps to the
  Ubuntu ESP). So comment out that code.
* Also fix a missing CRLFs in the log after displaying write progress.
2021-05-18 15:18:28 +01:00
Oree111
03ef8aa024
[loc] fix a typo in Polish translation
* Closes #1730
2021-05-09 13:20:16 +01:00
Pete Batard
e22955aa2b
[core] fix fast-zeroing assertion 2021-05-04 21:04:30 +01:00
Sasa Vujanic
7e114ad55a
[loc] updated Croatian translation 2021-05-03 11:50:48 +01:00
Pete Batard
1c470a5ec2
v3.14 (build 1788) 2021-04-30 13:36:17 +01:00
Sasa Vujanic
2b5329037b
[loc] update Croatian translation to latest 2021-04-30 13:28:44 +01:00
Gintaras Venslovas
73f26d74b9
[loc] update Lithuanian translation to latest 2021-04-30 00:11:11 +01:00
anni deer
410f6e8170
[loc] update Danish translation to latest 2021-04-29 16:15:47 +01:00
Matej Horvat
e49ef606ab
[loc] update Slovenian translation to latest 2021-04-29 11:49:47 +01:00
Tiryoh
5553c8f2fd
[loc] update Japanese translation to latest 2021-04-27 21:28:06 +01:00
Костянтин Сергійович
3fdfa478ed
[loc] update Ukrainian translation to latest 2021-04-25 12:32:47 +01:00
Pete Batard
2bcb68efd8
[misc] update ChangeLog for BETA
* Since Ubuntu 21.04 forces a new release...
* Also update DB for latest GRUB "2.04" and fix a minor loc capitalization issue
2021-04-23 22:25:56 +01:00
Pete Batard
9c8fa40995
[ui] add forced DD mode exceptions for Red Hat based distros
* Anaconda broke ISO compatibility, most likely with the following commit:
  84529204fe
* However, Ret Hat, and its followers, have drunk the "DD only" kool aid, and
  appear to be blissfully unaware of the very real drawbacks that enforcing a
  "DD only" mode for ISOHybrid can actually place on distro users.
* Rather than spend another wasted effort trying get people, who appear to be
  impervious to even remotely consider the idea that DD imaging can have flaws,
  to look into the possibility that Red Hat might indeed have introduced a
  regression, and given the downright hostility I have been subjected to from
  trying to state this *very verifiable* fact, we'll just force DD mode for the
  affected Red Hat and derivatives, whilst trusting that users will be smart
  enough to compare their more limited installation experience against the ones
  from other distros (such as Arch, Debian or Ubuntu, which, unlike Red Hat and
  co., appear to fully understand that the whole ISOHybrid vs DD mode situation
  is not all black and white), and see for themselves which distros do actually
  place *their* interests first, rather than just the interests of the distro
  maintainers...
2021-04-23 17:04:55 +01:00
Pete Batard
16c0e8e2a2
[misc] UFD vs HDD detection improvements 2021-04-23 12:03:43 +01:00
Pete Batard
252759eb91
[grub] add yet another frigging patch to GRUB "2.04"
* GRUB 2.0 maintainer think they're doing a fine job, even when there are
  CRITICAL SECURITY FIXES that should warrant an immediate out of bound
  release, and instead consider that waiting MONTHS or YEARS to release
  anything is not a big deal at all.
* Ergo, distros, such as Ubuntu, start to pick whatever security patches
  they see fit, since they can simply not RELY on the upstream project to
  produce security releases in a timely manner. One such patch is:
  https://lists.gnu.org/archive/html/grub-devel/2021-03/msg00012.html
* But since there is no new GRUB release per se, they still call their GRUB
  version, onto which they applied patches that have come into existence
  more than 2 years after the actual 2.04 release, "GRUB 2.04".
* Obviously, since GRUB 2.04 + literally hundreds of cherry picked patches
  does deviate a lot from the last release, THINGS BREAK IN SPECTACULAR
  FASHION, such as the recently released Ubuntu 21.04 failing to boot with
  the error: grub_register_command_lockdown not found.
* Oh, and of course, regardless of all the above, if you ask anyone, they'll
  tell you that there's nothing fundamentally wrong with the GRUB release
  process (even if they should long have released 2.05, 2.05-1 and 2.05-2,
  were their maintainer ready to acknowledge that delaying releases DOES
  CREATES MAJOR ISSUES DOWSTREAM, as many people REPEATEDLY pointed to them
  on the GRUB mailing list) or with the Ubuntu GRUB versioning process (that
  really shouldn't be calling their version of GRUB "grub-2.04" but instead
  something like "grub-2.04_ubuntu"). Oh no siree! Instead, the problem must
  all be with Rufus and its maintainer, who should either spend their lives
  pre-emptively figuring which breaking patch every other distro applied out
  there, or limit media creation to DD mode, like any "sensible" person
  would do, since DD mode is the ultimate panacea (Narrator: "It wasn't").
* So, once again, a massive thanks to all the people who have been involved
  in the current GRUB 2.0 shit show, whose DIRECT result is to make end
  users' lives miserable, while GRUB maintainers are hell bent on continuing
  to pretend that everything's just peachy and are busy patting themselves
  on the back on account that "Fedora recently dropped more than 100 of the
  custom patches they had to apply to their GRUB fork" (sic). Nothing to see
  here, it's just GRUB maintainer's Jedi business as usual. Besides, who the
  hell cares about Windows users trying to transition to Linux in a friendly
  manner anyway. I mean, as long as something doesn't affect existing Linux
  users, it isn't a REAL problem, right?...
2021-04-23 12:01:23 +01:00
Pete Batard
8f0d248a56
[misc] add regexp engine
* From https://github.com/kokke/tiny-regex-c
2021-04-22 22:43:20 +01:00
Pete Batard
a0904cad35
[core] switch to async I/O for image writing
* Combined with the increase in buffer size from previous commits, this
  should help us get close to a device's maximum write speed.
* Also add async write support to winio.h
* Also increase the buffer size for bad blocks check operations
2021-04-22 01:01:56 +01:00
Pete Batard
80eca5739d
[core] split zeroing and dd write operations
* This is in preparation for async reads
* Also move open/close image operations to WriteDrive()
* Also increase DD buffer size to 32 MB to improve performance
2021-04-21 22:58:41 +01:00
Pete Batard
d77a825ffd
[misc] don't overdo CoUninitialize calls
* 2e1833e91e introduced issues with VDS since, despite what
  Microsoft's documentation says, balancing CoInitialize with CoUninitialize
  leads to VDS not properly relinquishing disk access.
2021-04-14 18:13:36 +01:00
Suttirak Mattayawerakiat
c9a0fcd0bf
[loc] update Thai translation to latest 2021-04-13 17:36:18 +01:00
Jakub Zieciak
5abdce4b3c
[loc] update Polish translation to latest 2021-04-11 21:33:48 +01:00
Jakub Zieciak
a370a8ddc6
[loc] update Norwegian translation to latest 2021-04-11 21:32:30 +01:00
Pete Batard
2e1833e91e
[misc] improve CoInitialize calls
* Balance with CoUninitialize and add COINIT_DISABLE_OLE1DDE
* Also add /BREPRO linker flag for reproducible VS2019 release builds
2021-04-09 12:36:30 +01:00
Pete Batard
2a3e82fa96
[misc] switch to using LoadLibraryEx everywhere
* This allows us to further mitigate DLL side loading by enforcing
  LOAD_LIBRARY_SEARCH_SYSTEM32 / LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR.
2021-04-09 11:31:52 +01:00
Pete Batard
c9e71de898
[ui] disable drag and drop during drive creation
* Closes #1672
* Also fix Rufus MBR not being selected when switching partition scheme to MBR
* Also fix users being prompted twice for ISO → ESP
2021-04-08 17:29:13 +01:00
MaKK
f2ca5a3121
[loc] update Spanish translation to latest 2021-04-07 21:06:19 +01:00
Martin Kubánik
19326d151a
[loc] update Slovak translation 2021-04-07 10:43:33 +01:00
Riku Brander
6e6d3227a3
[loc] update Finnish translation to latest 2021-04-06 13:06:17 +01:00
Dinis Medeiros
9f1b37b77a
[loc] update Portuguese (Portugal) translation to latest 2021-04-03 20:43:32 +01:00
Chocobo1
629ae34fbd
[loc] update Chinese (Traditional) translation to latest
* Closes #1712
2021-04-03 20:38:37 +01:00
Jiawei Wang
574114d0ee
[loc] update Chinese (Simplified) translation 2021-04-03 20:38:34 +01:00
Thilo Langbein
2b87f89325
[loc] update German translation to latest 2021-04-02 22:07:56 +01:00
Miloš
4edb99e462
[loc] update Serbian translation to latest 2021-04-02 22:04:55 +01:00
Itiel
0e65eab27f
[loc] update Hebrew translation to latest 2021-04-02 17:01:32 +01:00
Aldis Tutins
06e6a3cbee
[loc] update Latvian translation to latest 2021-04-02 12:42:04 +01:00
Roberto Boriotti
6ae66d1adf
[loc] update Italian translation to latest 2021-04-02 12:39:19 +01:00
Thomas De Rocker
bba6684928
[loc] update Dutch translation to latest 2021-04-02 12:13:43 +01:00
Uk-Jin Jang
4f5246c7a9
[loc] update Korean translation to latest 2021-04-02 11:53:52 +01:00
Arif Budiman
0ae9c617f4
[loc] update Indonesian translation to latest 2021-04-02 11:30:56 +01:00
Sopor
286480e50a
[loc] update Swedish translation to latest 2021-04-01 23:32:59 +01:00
Mehmetali Kuran
be7f9d815e
[loc] update Turkish translation to latest
* Also fix a translation ChangeLog.txt typo
2021-04-01 23:29:31 +01:00
Pete Batard
fbd6521789
[loc] fix incorrect use of KB instead of byte in Russian translation 2021-03-31 19:11:43 +01:00
Pete Batard
5803d7ad8a
[loc] update French translation
* Also fix MinGW warning
2021-03-31 16:38:09 +01:00
Pete Batard
b3eca3451d
[loc] update for new translation round 2021-03-31 13:21:57 +01:00
Pete Batard
9dfa31db03
[appstore] improve AppStore version detection
* Also fix ESP prompt no longer appearing
2021-03-31 13:21:52 +01:00
Pete Batard
9aea069f84
[misc] update autotools support files 2021-03-25 23:57:34 +00:00
Pete Batard
29c10d3ee0
Update Grub4DOS and signature DB to latest
* Of course, since Grub4DOS's grldr.mbr hasn't changed from previous releases
  there's not much to update there, but then again, people like version bumps.
2021-03-25 21:19:13 +00:00
Pete Batard
480214bbb6
[ui] add a message for ISOHybrids that don't allow for ISO mode
* Also limit VDS refresh to DD image writing
* Also increase the number of loc messages
2021-03-25 20:49:45 +00:00
Pete Batard
a3df3b0fb3
[ui] move Syslinux/GRUB downloads after the ISO vs DD mode selection 2021-03-25 19:52:33 +00:00
Pete Batard
1f4a2aaf30
[misc] fix a warning in msapi_utf8.h
Also set the AppStore default codepage to UTF-8
2021-03-25 19:27:27 +00:00
Pete Batard
bb291df342
[appstore] disable update related elements and enable Fido always
* The check for update is not necessary or even desirable for the AppStore
  version, since the Windows Store takes care of updating the app.
2021-02-08 21:02:01 +00:00
Pete Batard
1062dde076
[appstore] add AppStore version detection
* Also make sure we don't include appstore.listing.csv in the app
  and remove unneeded call to GetModuleHandle() in pki.c.
2021-02-07 20:25:21 +00:00
Pete Batard
b3daef6a67
[appstore] use a separate solution for App packaging
* Also update _chver.sh and fix version in Package.appxmanifest
2021-02-07 20:19:53 +00:00
Pete Batard
b2492908be
[net] switch to INetworkListManager::GetConnectivity to detect connectivity
* InternetGetConnectedState() is next to useless and doesn't provide
  coherent outcome on the ARM64 platform I'm testing with. This results
  in Rufus declaring that Internet is unavailable on platforms that do
  have actual Internet connectivity.
* Swicth to using INetworkListManager::GetConnectivity(), which actually
  reports a dependable result.
* Closes #1691
* Also remove the mutex for uprintf(), which may produce thread lockout
  and remove an unwanted double GetSignatureName() call on startup.
2021-02-06 18:58:42 +00:00
Pete Batard
e4372a9f57
[appstore] don't exit on unhandled parameters
* Looks like executables installed from the Windows Store launch with a "/InvokerPRAID"
  added parameter, which of course BREAKS apps that have a defined set of parameters
  and don't except that Microsoft would gingerly add random unwanted stuff there...
* The provision of this extra parameter also appears to be tied to using one of:
  - <TargetDeviceFamily Name="Windows.Universal" ...>
  - <uap:SplashScreen ...>
  - <Application EntryPoint="$targetentrypoint$" ...>
  in the appxmanifest.
* This resulted in our argument processing loop to cause early exit on account that an
  unexpected option was provided.
* Fix this by adding an explicit check for /InvokerPRAID and not exiting on unhandled
  params and removing or altering the 3 appxmanifest options listed above.
* Also set an explicit Windows.FullTrustApplication and remove splash screen.
* Also update _pre-commit.sh to update appstore build number automatically.
* Also remove splash screen images, add store listing CSV and toggle App builds to manual.
* Closes #1690
2021-02-05 17:47:48 +00:00
Pete Batard
2707f11313
[internal] add Windows AppStore project files
* These are the settings used to publish the official app at:
  https://www.microsoft.com/store/apps/9PC3H3V7Q9CH
2021-02-04 12:26:27 +00:00
Pete Batard
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
68a5a26956
[core] fix FAT32 not proposed for Win ISOs with <4 GB install.wim 2020-09-23 16:06:15 +02: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
anni deer
16b292cf4d [loc] update Danish translation to latest 2018-08-26 11:36:59 +01:00
Thomas De Rocker
f5606aaab2 [loc] update Dutch translation to latest 2018-08-23 10:26:48 +01:00
caobach
50667be68e [loc] update Vietnamese translation to latest 2018-08-22 17:42:00 +01:00
Muhammad Ikmal
31630d3ec8 [loc] update Malay translation to latest 2018-08-21 12:39:52 +01:00
Pete Batard
619dd9862b [misc] use GetWindowLongPtr/SetWindowLongPtr everywhere
* Also remove WS_EX_RIGHT style from IDC_PERSISTENCE_SIZE since we apply it manually
2018-08-20 09:46:23 +01:00
Pete Batard
efcdbe30e5 [pki] clear buffer on invalid signature
* Avoid keeping potentially nasty stuff in memory for too long...
2018-08-20 08:12:28 +01:00
Riku Brander
8920d5222d [loc] update Finnish translation to latest 2018-08-20 08:02:17 +01:00
Ahmad Zahiruddin Azaman
1ff3b8ebf7 [loc] update Malay translation
* Some more work is still needed, but this should be a good start to complete it.
2018-08-18 18:15:24 +01:00
Na Jiyoun
b77bd6f72b [loc] update Korean translation to latest 2018-08-18 18:06:59 +01:00
Zia Azimi
7389372aa7 [loc] update Persian translation to latest 2018-08-18 17:48:31 +01:00
Pete Batard
c832814af0 [ui] small fixes for RTL languages 2018-08-18 17:38:23 +01:00
Кирилл Иванов
0adbbd6f97 [loc] update Russian translation to latest 2018-08-16 17:02:49 +01:00
Pete Batard
e8745339e4 [ui] fix multiple persistence slider issues
* Range not being set when plugging a drive
* Set position to zero when no drive is selected
* Make sure the restored position can not be greater than the max
2018-08-14 23:05:52 +01:00
Aleksandar Predić
e591868555 [loc] update Serbian translation to latest 2018-08-11 20:39:07 +01:00
Kaloyan Nikolov
2d2a5a5597 [loc] update Bulgarian translation to latest 2018-08-07 20:43:48 +01:00
Jiawei Wang
e5bf18d456 [loc] update Simplified Chinese translation to latest 2018-08-06 23:51:45 +01:00
Piotr Halama
a530dbd86b [loc] update Polish translation to latest 2018-08-02 18:24:46 +01:00
Pete Batard
71578459d7 [loc] fix spaces before full stops
* Also: "Asserts, it's not just for debug any more!"
2018-07-31 20:47:24 +01:00
Mehmetali KURAN
d5f9c568ad [loc] update Turkish translation to latest 2018-07-31 11:39:43 +01:00
Martin Kubánik
adeb7fe4c0 [loc] update Slovak translation to latest 2018-07-28 12:11:16 +01:00
Pete Batard
ff2548b559 [internal] align msapi_utf8.h to the one we use for libwdi 2018-07-28 11:59:44 +01:00
Pete Batard
038e835886 [loc] punctuation improvements & harmonization 2018-07-26 11:49:25 +01:00
Richard Kahl
6fb4e51f9b [loc] update Czech translation to latest 2018-07-26 11:30:39 +01:00
Itiel
0cdbd2d119 [loc] update Hebrew translation to latest 2018-07-25 22:59:29 +01:00
Pete Batard
275493c3f5 [net] add additional error messages
* Also update 7-zip URL
2018-07-24 14:07:08 +01:00
Tiago Rinaldi
3b8b16cd23 [loc] update Portuguese Brazilian translation to latest
* Closes #1184
2018-07-23 11:08:58 +01:00
Aldis Tutins
36661bfb74 [loc] update Latvian translation to latest 2018-07-22 15:08:39 +01:00
Thilo Langbein
2beec7608c [loc] update German translation to latest 2018-07-22 00:22:44 +01:00
Chocobo1
bfa4f54fe4 [loc] update Traditional Chinese translation to latest
* Closes #1182
2018-07-21 18:20:42 +01:00
Roberto Boriotti
9ed49ada3a [loc] update Italian translation to latest 2018-07-21 18:15:41 +01:00
Gîrlea Alexandru
a6a2c09b4e [loc] update Romanian translation to latest 2018-07-21 16:14:58 +01:00
Feras n
9491cf2af6 [loc] update Arabic translation to latest 2018-07-21 16:11:39 +01:00
Pete Batard
91a18be258 [pollock] update maintainer mode
* Also add maintenance script
2018-07-21 15:55:32 +01:00
Pete Batard
4483a6b17d [internal] update appveyor rule to actually ignore res/ recursively
* As per https://github.com/appveyor/ci/issues/838, 'res/*' means
  all files within directory, non-recursive, whereas we want 'res/'
  for all files within directory, recursive.
2018-07-21 13:56:37 +01:00
Sopor Spr
4d18c8bbbf [loc] update Swedish translation to latest 2018-07-21 13:30:41 +01:00
Pete Batard
5d3631f9ee [pollock] fix inability of Windows 7 to handle github SSL
* Also increase the console width if needed
2018-07-21 13:03:05 +01:00
Pete Batard
f18b3fec1b [loc] use better terminology for NAND types 2018-07-20 21:06:39 +01:00
Pete Batard
bb00983ad8 [pollock] small fixes & improvements
* Make sure translations that are the same as English are removed in the .po
* Automate digital signature
* Add a more distinguishable icon
* Also update French translation
2018-07-20 14:59:39 +01:00
Pete Batard
6b584d420a [loc] update French translation to latest 2018-07-18 17:41:06 +01:00
Pete Batard
1612064c66 [loc] finalize new translations for 3.2
* Also fix a MinGW warning
2018-07-18 16:59:35 +01:00
Pete Batard
1004a6e066 [ui] update persistence size controls
* Also refactor ToggleImageOptions()
2018-07-18 12:22:37 +01:00
Pete Batard
0fa19d7019 [internal] reorganize localization resources 2018-07-16 16:38:40 +01:00
Pete Batard
704fd9dd22 [pollock] finalize application 2018-07-16 15:35:40 +01:00
Pete Batard
59aab9b61d [core] refactor fast-zeroing code and fix warnings
* Fox coverity and MinGW warnings
2018-07-15 12:27:21 +01:00
Pete Batard
f9275e4780 [loc] update the processing of version numbers
* Now only use major.minor for version references
* Drop the use of LOC_FRAMEWORK_VERSION. We'll use custom handling if we ever need a framework change.
* Also update/fix some of the UI elements for persistent partition
* Also reposition the language selection menu when we don't have a large number of them
2018-07-15 01:05:05 +01:00
Pete Batard
1014b8008d [pollock] fix a sequential download issue
* Apparently you need to close the request/response as the Garbage Collection
  will not do that for you. High level language my ass!
2018-07-15 00:20:13 +01:00
Pete Batard
d9d0feadb6 [pollock] add automatic PO generation and update detection
* Also use Rufus application version in .loc
2018-07-14 23:40:21 +01:00
Pete Batard
af9cca5fb3 [pollock] add rufus.loc download and menu selection
* Also handle duplicate messages in .pot/.po
2018-07-13 01:39:13 +01:00
Pete Batard
092ea937c6 [pollock] add comment preservation
* Also fix last lang message not being properly processed
* Also update loc file comments in preparation for the new framework
* Also update Rufus version data
2018-07-11 18:02:03 +01:00
Pete Batard
5ac9ee68af [loc] add .po ↔ .loc conversion utility
* Alos update .loc to remove unnecessary \n
2018-07-10 21:01:46 +01:00
René van der Zee
77bf5c8a49 [core] add alternate cheat mode for fast zeroing
* Ctrl-Alt-Z can now be used to zero a drive, while skipping blocks that are detected empty
* Depending on your hardware, as well as the existing drive content, this strategy can greatly
  speed up zeroing operations, especially if the flash memory's read speed is much higher than
  its write speed.
* Closes #1174
2018-07-06 13:29:20 +01:00
Pete Batard
a394b9731a [ui] add positioning, resizing & filling of the persistence controls
* Also add a test ISO to display these controls
* The intent is to use the next round of translation to get these new UI elements localized,
  as any translation work takes _months_, and it is a precondition to start working on #691.
* Also fix new issues with image options when switching language
2018-07-06 11:23:57 +01:00
Pete Batard
05f8400451 [misc] reorganize UI function calls into their own source
* Also fix ARM/ARM64 broken compilation due to missing __popcnt()
2018-07-06 05:46:36 +01:00
Pete Batard
a34cb1194e [ui] initial work for the display of a persistence option
* This doesn't mean we'll get persistence support any time soon, but any UI work
  on this needs to be carried out *MONTHS* in advance because of the translators.
2018-07-06 00:40:52 +01:00
Pete Batard
5602494690 [ui] fix application exit when cancelling the ISO scan 2018-07-04 22:50:26 +01:00
Pete Batard
c12640b547 [ui] fix progress not being displayed for syslinux/grub downloads
* Also make download of .sig files a bit less verbose
2018-07-03 22:54:06 +01:00
Pete Batard
7c142fadbc [net] improve handling of invalid signatures
* Also make bPromptOnError an actual parameter to the download function calls
* Also prefer the use of assert() to custom assertion messages
2018-06-30 22:45:15 +01:00
Pete Batard
fdfc9ff82d [pki] add RSA-2048 signature validation for all server downloads
* Closes #1172
* Also fix a MinGW warning in badblocks.c
2018-06-29 18:19:05 +01:00
Pete Batard
2d262df8f3 [bb] bad blocks check improvement
* Use a default block size of 128 KB (can speed up read operations)
* Reorganise patterns to suit different types of NAND cells (SLC, MLC and TLC)
* Only run fake drive test on first pass
* Also update rufus-next to 3.2
2018-06-28 16:25:13 +01:00
Mattiwatti
d4a4506b16 [iso] improve write performance during ISO extraction
* Now preallocate the file size for each extracted file, to help the target
  filesystem avoid fragmentation issues and thus increase writing speed.
* Closes #1170
2018-06-25 15:51:55 +01:00
Mattiwatti
dbc92e3adc [core] add support for Windows XP x64 and Server 2003 x64 ISOs
* Closes #1167
2018-06-25 15:51:19 +01:00
Pete Batard
16cddefff9 [internal] improve AppVeyor build handling
* Also fix some typos
2018-06-24 14:01:57 +01:00
Pete Batard
faebe1040f v3.1 (build 1320)
* Also update GitHub issue template for 3.0 UI
* Also increase size of the ESP to 300MB, for Windows To Go drives using GPT (See #979)
2018-06-19 12:00:28 +01:00
Pete Batard
e4b7b9cfd6 [internal] update AppVeyor build script and add Coverity support
* Also only apply a git tag if on the master branch
2018-06-18 17:37:59 +01:00
Pete Batard
9afd1d05dd [misc] silence an unwarranted coverity warning 2018-06-15 16:50:37 +01:00
Pete Batard
5ab67c03d6 [core] improve write retry handling
* Add a proper delay before retrying a write operation and increase retry count to 4
* Add retries when clearing boot records or when zeroing a drive
* Also improve log output from USB device reset
2018-06-13 19:23:24 +01:00
Pete Batard
3ba7c9eab0 [grub] update grub4dos to latest and update db entry for grub 2.03
* Also improve PowerShell invocation for Controlled Folder Access detection
2018-06-12 16:01:14 +01:00
Pete Batard
e36fdb6736 [core] add detection and warning about Controller Access Folder 2018-06-11 14:02:23 +01:00
Pete Batard
8238de67e1 [ui] fix more potential notification message truncation
* Some Thai UTF-8 notification messages went over the buffer size limit we used for vsnprintf()
* Also, revert part of 645184f11e and use LRE+PDF marks instead:
  Don't handle in the code what is better handled in the loc file.
2018-06-08 16:29:41 +01:00
Pete Batard
d6e6f46029 [ui] fix notification dialog messages being truncated
* We now auto resize the height of the Notification dialog according to the
  number of lines of the message.
* Also harmonize local RECT variable names according to what we do elsewhere.
2018-06-08 13:02:39 +01:00
Pete Batard
645184f11e [ui] fix some unwanted display of LTR or RTL strings
* Some English messages could appear RTL in the log
* Folder paths with RTL strings could appear scrambled in the UI
2018-06-07 22:30:53 +01:00
Pete Batard
4ad249338f [loc] fix whitespace issues 2018-06-07 17:34:16 +01:00
Pete Batard
60e21ed910 [ui] fix an issue where 2 dialogs could exist onscreen when switching languages 2018-06-06 23:15:41 +01:00
Pete Batard
fca4e2d59b [ui] fix Windows To Go option unconditional display when switching languages
* Also update version to rufus-next
2018-06-05 15:47:48 +01:00
Pete Batard
e1d864f755 [misc] work around Microsoft's broken SetDllDirectory()
* *THIS* is what you need to do to replace Microsoft's broken SetDllDirectory("")
  implementation and mitigate DLL sideloading from local directories.
* Also fix some comment typos
2018-06-05 13:02:28 +01:00
Pete Batard
b80f7c0785 [iso] update libcdio to latest
* Also clean up some of the code in iso.c
2018-06-04 12:20:14 +01:00
Pete Batard
b274388f95 [iso] fix file extraction for GRUB/Grub4DOS based ISOs
* We were switching the global boot type variable to something other than BT_IMAGE,
  which prevented ISO extraction whenever a GRUB secondary boot record was written.
* Closes #1145
2018-06-04 12:12:24 +01:00
marcellogianola
0b4146af56 [loc] fix another typo in the Italian translation
* Closes #1140
2018-05-29 16:45:08 +01:00
Pete Batard
dd1bf3b998 [core] fix unable to format as FAT32 for RTL languages
* This is a "stealth" update for the 3.0 release
* The issue was that we are picking the UTF16 file system name from
  the dropdown, and where we use the "(Default)" suffixed version,
  it now has an RLE at the beginning which we must skip.
* This prevented RTL languages from being able to format a drive as FAT32...
2018-05-29 12:57:26 +01:00
Pete Batard
98ada80b1b v3.0 (build 1303)
* Fix a 64-bit compilation warning
* Fix appx generation
2018-05-29 11:19:21 +01:00
marcellogianola
c3b79a06b7 [loc] fix a typo in the Italian translation
* Closes #1139
2018-05-28 09:53:32 +01:00
Gintaras Venslovas
3d53884332 [loc] update Lithuanian translation to latest
* Also revert unwanted previous translation changes
2018-05-28 09:49:42 +01:00
Pete Batard
add0e156df [iso] better fix for processing of openSUSE Leap ISOs
* From the discussion on the libcdio mailing list, and simplified
  since the only archs we support are little-endian.
2018-05-27 21:46:34 +01:00
Margaritis Nikolaos
6451a090f3 [loc] update Greek translation to latest
* Closes #1138
2018-05-27 21:31:27 +01:00
Pete Batard
31d1b396c7 [iso] fix processing of openSUSE Leap ISOs
* Looks like the openSUSE people are abusing the ISO9660 file system,
  and libcdio should be a bit more relaxed about it.
  So we alter libcdio to be more chill...
* Also relax the annoying 'from_733: broken byte order' messages
* Closes #1136
2018-05-26 14:40:52 +01:00
Matej Horvat
c43c49eb17 [loc] update Slovenian translation to latest 2018-05-25 23:21:17 +01:00
Na Jiyoun
dbe2e664ac [loc] minor update to Korean translation 2018-05-25 10:36:18 +01:00
anni deer
7172da4c05 [loc] update Danish translation to latest 2018-05-25 02:02:02 +01:00
Itiel
6d754c595e [loc] update and overhaul Hebrew translation 2018-05-23 22:02:27 +01:00
Pete Batard
d1d6e0f8b4 [ui] improve centering of the toolbar icons
* Microsoft, how I loathe thee!!!
2018-05-22 17:14:31 +01:00
Pete Batard
f48dec11c3 [ui] fix display of RTL text in progress bar
* Another case of if you really want RTL, you have to tell Windows that you don't want it...
* Also fix the URL for Super Grub disk in .loc file
2018-05-21 10:51:12 +01:00
Na Jiyoun
645bc2bf88 [loc] update Korean translation to latest 2018-05-21 10:40:23 +01:00
Viszokai György
68938c472c [loc] update Hungarian translation to latest 2018-05-19 17:42:57 +01:00
Константин В
7ac28a0b34 [loc] update Ukrainian translation to latest 2018-05-19 17:28:45 +01:00
Pete Batard
c7cd7e4a71 [misc] update log messages to reflect the new UI
* Also fix a typo in the English translation base
2018-05-19 13:01:35 +01:00
Martin Kubánik
213728a922 [loc] update Slovak translation to latest 2018-05-18 22:43:34 +01:00
Pete Batard
c3aaa0c252 [loc] fix various RTL localization issues
With thanks to Itiel

* Fix a potential buffer overflow in lmprintf for RTL languages
* Automatically apply RLE/PDF to all RTL messages, and remove the RLE/PDFs from the .loc
* Fix Windows messing up of multiline RTL tooltips (The trick is, if you want actually
  want RTL, you need to *disable* RTL... Sure, Microsoft, that makes a lot of sense?!?)
* Also properly scale the length of the multiline tooltips according to the zoom factor
* Closes #1132
2018-05-18 00:55:35 +01:00
Pete Batard
34ee2f6382 [ui] Move the save and hash tooltips to the toolbar parent
* Also fix a .loc typo
2018-05-17 15:05:09 +01:00
Pete Batard
0d0ad389ce [ui] avoid intempestive log tooltip display and fix partition type preservation
* Because of Windows' poor handling of toolbar buttons' tooltips, an unwanted
  tooltip could be displayed onscreen after closing the log.
* Also fix an issue when Rufus would reset the partition type to GPT after a
  user created an MBR flash drive (e.g. after creating a Windows bootable USB).
2018-05-16 12:56:31 +01:00
marcellogianola
b6809679f9 [loc] fix a typo in Italian translation
* Closes #1134
2018-05-15 10:25:02 +01:00
Pete Batard
4a8c5be9c5 [misc] fix coverity warnings in drive.c
* Also apply minor fixes to rufus.loc and _set_git_hooks.sh
2018-05-15 10:23:45 +01:00
marcellogianola
6513b5e0b4 [loc] update Italian translation
* Closes #1131
2018-05-14 13:38:23 +01:00
Arif Budiman
c84ff4d121 [loc] update Indonesian translation to latest 2018-05-13 10:53:53 +01:00
Pete Batard
be2f7342f7 [net] force a disk flush after downloading a file
* Also add a retry in PKI's GetSignatureName()
* This should help with getting a "The downloaded executable is
  missing a digital signature" message when launching an update.
* Closes #1130
2018-05-13 10:36:23 +01:00
Pete Batard
1f6e09720a [loc] remove unused MSG_199/MSG_200 2018-05-12 11:43:20 +01:00
Pete Batard
63555cd04d [internal] add auto detection of 'git commit --amend'
* Finally!
* Also improve UPX compression
2018-05-12 11:39:05 +01:00
Pete Batard
9815a18009 [ui] fix tabbing order for the new UI design
* Accessibility *IS* a thankless job...
2018-05-11 17:35:48 +01:00
Pete Batard
40b0d9e0d2 [ui] minor cosmetic improvements 2018-05-11 09:29:14 +01:00
Feras n
70a06c7901 [loc] update Arabic translation to latest 2018-05-10 12:08:51 +01:00
Pete Batard
db6a5bb749 [loc] fix tooltip justification for RTL languages
* Left alignment was used instead of right
* Also improve device tooltip display
2018-05-10 12:07:21 +01:00
Pete Batard
070e28aa5a [ui] fix display of icons for RTL languages
* Ensure that the 'Save', 'Hash' and 'World' icons are not mirrored for RTL
* Also call DestroyIcon() where required and clean up code
2018-05-10 10:51:31 +01:00
MaKK
c709d3c030 [loc] update Spanish translation to latest 2018-05-09 18:39:04 +01:00
Pete Batard
13e7b0226d [ui] improve log window positioning
* Now seriously what the $%^& is wrong with Microsoft?!?
2018-05-09 15:55:30 +01:00
Pete Batard
cdacc6f342 [ui] fix whole screen refresh and progress bar issues
* Whole screen was being refreshed when calling InvalidateRect() in ResizeMoveCtrl()
* Progress bar bounding rectangle could be erased at 0.0%
* No progress was displayed when writing ISOHybrid images in DD mode
* Also fix an issue when write error would not display the error string
2018-05-08 20:28:23 +01:00
Pete Batard
39cb35e20c [core] improve UEFI:NTFS detection
* Check the label for MBR partitions to avoid false positives (such as with Debian live)
2018-05-08 15:25:53 +01:00
Roberto Pino
4c37b413f9 [loc] update Dutch translation to latest 2018-05-08 00:49:59 +01:00
Pete Batard
8cd59d7e6d [loc] fix missing messages for Portuguese and Russian translation 2018-05-07 12:59:24 +01:00
Pete Batard
8453c8c44f [ui] try to reselect the last file system explicitly set
* Also remove an duplicate internal call to IDC_FILE_SYSTEM
* Also fix the hash button mention in the Japanese translation
2018-05-06 22:31:42 +01:00
Tiryoh
8aeaa5e3b9 [loc] update Japanese translation 2018-05-02 23:38:56 +01:00
Pete Batard
303978de64 [ui] fix vertical alignment of status bar messages
* Also fix ugly icon scaling at 125%
2018-05-01 23:11:19 +01:00
Pete Batard
de7dde05c4 [ui] use fluent 2-colour scheme PNG icons
* Also switch save and hash to toolbar buttons
* Also fix centering of icons on toolbars
2018-05-01 18:10:48 +01:00
Pete Batard
935c6fff23 [ui] fix a typo and try to preserve user selected partition type
* partition type and target type were mixed up on pressing 'Start'
2018-04-27 16:31:03 +01:00
Pete Batard
91c950dba9 [uefi] add ARM64 support to UEFI:NTFS
* Also update EfiFs NTFS drivers to latest, including compression support
2018-04-26 12:53:02 +01:00
Pete Batard
28cfa5a94e [ui] preserve Windows To Go dropdown when switching language
* Also fix incorrect version number from German translation
2018-04-23 17:41:05 +01:00
Piotr Halama
0ae39f2ba3 [loc] add a rufus.loc validation script and fix multiple issues 2018-04-23 15:57:50 +01:00
Piotr Halama
0eb41e4efb [loc] update Polish translation to latest 2018-04-23 14:05:18 +01:00
Aldis Tutins
befc9d9b88 [loc] update Latvian translation to latest 2018-04-23 10:42:46 +01:00
Pete Batard
7221dee4d1 [core] disable file indexing by default
* File indexing is too much of an annoyance on removable drives anyway
  and this should help with perf and access issues
* Alt-Q cheat mode is now changed to re-enable file indexing
* Also fix a rogue 'else' in the code
2018-04-19 16:02:07 +01:00
Seyed Zia Azimi
2c7e7030a3 [loc] update Persian translation to latest
* Closes #1113
2018-04-19 12:54:10 +01:00
Dario Komar
6e0caea1ac [loc] update Croatian translation to latest 2018-04-19 12:45:44 +01:00
Pete Batard
5c57703c70 [ui] add marquee progress bar mode
* Also fix x86_64 warnings
2018-04-19 12:25:11 +01:00
Pete Batard
42c158917c [ui] fix quick format not always being disabled for Large FAT32
* Also remove no longer needed 'progress_in_use' variable
2018-04-17 09:22:27 +02:00
Tiryoh
3b8ef8d308 [loc] update Japanese translation to latest 2018-04-16 21:16:41 +02:00
Pete Batard
2f2a8c6d44 [internal] Switch timestamp server since Comodo are useless
* Comodo demonstrating yet again their substandard grasp of security matters...
2018-04-16 17:28:48 +02:00
Pete Batard
7fef3c6434 [ui] use our own custom bar with text
* Needed because native Windows produces obnoxious tearing on redrawing.
* Also rename global partition scheme variable back to 'pt'
* Also fix major and minor version numbers in the .rc
2018-04-16 17:05:23 +02:00
Tiago Rinaldi
2fbe7be870 [loc] update Brazilian Portuguese translation to latest
* Closes #1110
2018-04-14 00:46:19 +02:00
Pete Batard
65ac40e750 [ui] preserve Windows To Go setting when changing boot selection 2018-04-13 12:17:09 +02:00
marcellogianola
977aabbf2c [loc] apply minor fixes to the Italian translation
* Closes #1101
2018-04-12 14:46:59 +02:00
Riku Brander
99cfa84a5d [loc] update Finnish translation to latest 2018-04-12 14:41:05 +02:00
Roberto Boriotti
64c6f1e57f [loc] update Italian translation to latest 2018-04-12 14:36:07 +02:00
Mehmetali Kuran
d13f94a8c8 [loc] update Turkish translation to latest 2018-04-03 13:51:38 +01:00
Jan-Erik Drangevåg
dcdae34b40 [loc] update Norwegian translation to latest 2018-04-02 15:07:08 +01:00
Sippapas Wangsri
3919e2a132 [loc] update Thai translation to latest 2018-04-02 14:58:01 +01:00
Pete Batard
9545123711 [core] eliminate querying of floppy drives during enumeration 2018-04-02 14:57:39 +01:00
Pete Batard
efe7ccb43c [ui] fix an issue where the advanced toolbars may not display
* Super-strange behaviour, that happens on Windows 7, at low zoom
  factors, only when compiled with MSVC (MinGW is fine) and only
  when the advanced options are set to be displayed on startup...
* Looks like TB_GETIDEALSIZE is screwy - Thanks a lot Microsoft!
2018-03-30 15:52:44 +01:00
Pete Batard
bbfdd23316 [iso] make support for EFI .img files more generic
* This improves support for void Linux as per
  https://www.reddit.com/r/linuxmasterrace/comments/7hqfpj/void_linux_iso_flagged_as_nonuefi_by_rufus/dqu09sk/
2018-03-29 22:29:44 +01:00
Thilo Langbein
78a6190365 [loc] update German translation to latest 2018-03-29 15:37:29 +01:00
Dinis Medeiros
b905d999ef [loc] update Portuguese (Standard) translation to latest 2018-03-28 13:50:07 +01:00
Richard Kahl
e89d107a43 [loc] update Czech translation to latest 2018-03-28 12:08:04 +01:00
Кирилл Иванов
f5478fce41 [loc] update Russian translation to latest 2018-03-28 12:03:17 +01:00
Chocobo1
9eb9cf4a93 [loc] update Traditional Chinese translation to latest
* Closes #1100
2018-03-28 11:46:00 +01:00
Jiawei Wang
a83d4318b8 [loc] update Simplified Chinese translation to latest
* Closes #1099
2018-03-28 11:40:50 +01:00
Pete Batard
74bacf7b4e [loc] fix some issues in Malay translation 2018-03-28 10:22:42 +01:00
Sopor
bdf69234c1 [loc] update Swedish translation to latest 2018-03-27 22:23:59 +01:00
Girlea Alex
f14755a503 [loc] update Romanian translation to latest 2018-03-27 22:17:47 +01:00
Elvin Melikov
a425ef0334 [loc] update Azerbaijani translation to latest 2018-03-27 22:04:32 +01:00
Pete Batard
e6d8f25bf1 [net] switch to SSL and use https://rufus.ie as our main domain 2018-03-27 22:03:51 +01:00
Pete Batard
fbe47c1abd [loc] finalize translation changes for 3.0
* Also add truncated ISO test image to our repo
* Also don't trigger portable version detection for ALPHA
2018-03-27 13:23:11 +01:00
Pete Batard
1dbbe69a4b [ui] improve partition scheme default selection
* Also rename our variable to PartitionStyle/ps for clarity
2018-03-26 19:06:55 +01:00
Pete Batard
61f46f7cdc [loc] more translation updates for 3.0 2018-03-24 13:47:56 +00:00
Pete Batard
a44518355f [ui] UI redesign
* Better guide the user through the flow of operations
* Also follow a concept design by Fahad Al-Riyami
* Closes #117
2018-03-22 23:14:21 +00:00
Pete Batard
95db209b04 [usb] fix default listing for Elecom card reader
* Closes #1083
2018-02-14 20:35:11 +00:00
ryo-a
3717171725 [loc] improve Japanese Translation
* Closes #1075
2017-12-24 16:11:50 +01:00
Tiago
c3355ee8ac [loc] update Brazilian Portuguese translation
* Closes #1067
2017-12-06 19:19:21 +00:00
Thorbjørn Bruarøy
bfc8cb0240 [loc] update Norwegian translation
* Closes #1063
2017-12-06 13:11:17 +00:00
Pete Batard
8dfb760cf2 [misc] set Windows SDK to 10.0.16299 2017-11-20 11:39:53 +00:00
Pete Batard
7c5238f23b [misc] fix SDK path 2017-11-17 18:28:44 +01:00
Pete Batard
903ac993f2 [misc] remove no longer needed XP workarounds 2017-11-13 14:30:25 +00:00
Pete Batard
c5f4e5a2ee [misc] drop Clang support and move VS2017 project files to .vs 2017-11-11 15:41:04 +00:00
Pete Batard
9c8cb59253 v2.18 (build 1213) 2017-11-07 13:24:17 +00:00
Pete Batard
9b5cd92029 [arm] add Visual Studio ARM64 compilation support
* Windows 10 ARM users *WILL* be able to run Rufus natively
  the very same day they got their new device!
2017-11-03 18:04:33 +00:00
Pete Batard
9cd04be529 [grub] update grub4dos to latest and add db entry for grub 2.03 2017-11-02 12:49:05 +00:00
Pete Batard
79a03637d6 update ChangeLog for BETA release 2017-11-01 13:22:51 +00:00
Pete Batard
63eb747cde [iso] make the lookup for updatable .cfg file more generic
* For ESET and other ISOs, such as Arch derivatives
* Closes #1013
2017-11-01 12:30:29 +00:00
ip_gpu
fa94abcc8e [misc] fix a potential resource leak
* IsFontAvailable() could exit without releasing its 'hDC' handle resulting in a resource leak
* Fix V773 from PSV-Studio
* Closes #1050
2017-10-28 19:01:49 +01:00
Pete Batard
6a45a678b3 [ui] ensure that the same drive is re-selected on device refresh 2017-10-23 17:09:18 +01:00
embar-
1af0e16e91 [loc] update Lithuanian translation
* Closes #1034
2017-10-13 16:38:57 +01:00
Will Thompson
88631806da [cmp] propagate decompression errors from bled
* If, for example, you have a truncated gz-compressed file and try to
  write it to disk, bled_uncompress_with_handles() will return an error.
  Previously, this was not reported back to the user.
* Closes #1040
2017-10-13 10:48:37 +01:00
Pete Batard
293440b2e9 [pki] fix a minor initialization issue 2017-10-13 10:47:26 +01:00
jzeferino
7f82dbf0fc [loc] fix some Portuguese (Portugal) translation
* Closes #1032
2017-10-03 14:08:03 +02:00
Andrea Wood
bb311f0042 [loc] update Danish translation to latest 2017-09-28 19:10:14 +02:00
Pete Batard
8286a0f63a [core] add a cheat mode to reset the current USB device (cycle port)
* Will not work on Vista, Windows 7 or Server 2008
* Also update Windows version info
2017-09-15 13:56:01 +01:00
Pete Batard
13ba3e75b3 [misc] fix VS2017 code analysis warnings
* Also set rufus-next to 2.18
2017-09-14 19:06:04 +01:00
Pete Batard
44c9cb0b82 [iso] add support for ISO9660 multiextent files
* Closes #1007
2017-09-14 17:36:54 +01:00
Pete Batard
14d2a629c9 v2.17 (build 1198) 2017-09-12 10:48:10 +01:00
Pete Batard
92c05556d1 [iso] add a warning for unsupported multi-extent ISO-9660 files
* This is related to issue #1007, which libcdio still needs to fix.
2017-09-11 19:06:51 +01:00
Pete Batard
e3fbfb30d3 [pki] add country code validation on signature check
* Also validate against the CN rather than the simple name, and require an exact match
2017-09-11 12:13:47 +01:00
Roberto Pino
f89f97d4ab [loc] update Dutch translation to latest 2017-09-09 00:17:50 +01:00
Pete Batard
c22b378f9a [misc] display image and disk size in the log
* Also fix 2 Coverity warnings
* Also remove unneeded LFs in drive.c
2017-09-08 15:38:30 +01:00
Pete Batard
4a213c3ba0 [core] allow the use of A: and B: as drive letters and fix in-use detection for Z:
* Closes #1016
* Also expand support for Arch Linux derivatives Syslinux config files
2017-09-06 14:00:31 +01:00
Pete Batard
9464ae94a4 [pki] more ASN.1 parser improvements 2017-09-05 22:21:34 +01:00
Pete Batard
94e4c0905b [pki] improve ASN.1 parser
* Enable search from OIDs expressed as strings and ignore non UNIVERSAL classes
2017-09-04 14:32:56 +01:00
Pete Batard
a73e695ba4 [pki] timestamp validation improvements
* Add timestamp processing for nested signature and check for anomalous differences
* Also prevent attack scenarios that may attempt to leverage multiple nested signatures or countersigners
* Simplify code by using CryptDecodeObjectEx/WinVerifyTrustEx and improve timestamp reporting
2017-09-03 13:54:07 +01:00
Pete Batard
c74d7bce1f [misc] update ChangeLog for BETA 2017-09-02 16:06:41 +01:00
Pete Batard
35da381a11 [pki] check timestamp chronology during update validation
* Done to address the second "vulnerability" proposed in #1009, independently
  of the protocol used.
2017-09-02 15:27:56 +01:00
Pete Batard
c3c39f7f8a [pki] fix https://www.kb.cert.org/vuls/id/403768
* This commit effectively fixes https://www.kb.cert.org/vuls/id/403768 (CVE-2017-13083) as
  it is described per its revision 11, which is the latest revision at the time of this commit,
  by disabling Windows prompts, enacted during signature validation, that allow the user to
  bypass the intended signature verification checks.
* It needs to be pointed out that the vulnerability ("allow(ing) the use of a self-signed
  certificate"), which relies on the end-user actively ignoring a Windows prompt that tells
  them that the update failed the signature validation whilst also advising against running it,
  is being fully addressed, even as the update protocol remains HTTP.
* It also need to be pointed out that the extended delay (48 hours) between the time the
  vulnerability was reported and the moment it is fixed in our codebase has to do with
  the fact that the reporter chose to deviate from standard security practices by not
  disclosing the details of the vulnerability with us, be it publicly or privately,
  before creating the cert.org report. The only advance notification we received was a
  generic note about the use of HTTP vs HTTPS, which, as have established, is not
  immediately relevant to addressing the reported vulnerability.
* Closes #1009
* Note: The other vulnerability scenario described towards the end of #1009, which
  doesn't have to do with the "lack of CA checking", will be addressed separately.
2017-08-31 12:19:11 +01:00
Pete Batard
fe3004d17f [misc] use UTF-8 compatible _unlinkU() when deleting files 2017-08-30 11:24:47 +01:00
Ino-Bagaric
bf09842fd2 [misc] remove duplicate definition
* Closes #1011
2017-08-29 11:57:01 +01:00
Pete Batard
36cadcfcca [pki] improve error handling
* FormatMessage() does not handle PKI errors
* Also fix an issue with non-official version detection when the language is not English
2017-08-27 15:07:35 +01:00
Pete Batard
868eea5069 [loc] fix Spanish translation 2017-08-26 11:32:40 +01:00
Pete Batard
8b094e840b [net] use http instead of https for downloads
* Since 2.17 will be the last version to support XP, and the native XP SSL
  implementation is too old to access our downloads though https.
2017-08-17 13:33:20 +01:00
Feras n
9de244c10e [loc] update Arabic translation to latest 2017-08-16 16:39:20 +01:00
Pete Batard
58a38145b7 [misc] finally, set .editorconfig to use UTF-8 *without* BOM
* The new VS2017 15.3 appears to have fixed this annoying bug at long last:
  https://developercommunity.visualstudio.com/content/problem/22922/editorconfig-support-interprets-charset-utf-8-as-u.html
2017-08-14 21:40:56 +01:00
Pete Batard
5348591729 [core] add support for more non-USB card readers
* Closes #998
2017-08-13 21:03:01 +01:00
Pete Batard
c82842ce2a [core] add Super Floppy Disk support 2017-08-12 15:12:00 +01:00
Pete Batard
65f5ccd28b [ui] fix log no longer automatically scrolling to the last line
* Introduced in 369a392af0 because, of course when Microsoft has a
  call that goes (###, param1, param2) they define a macro for it that goes (param2, param1)...
2017-08-11 11:47:27 +01:00
Pete Batard
3a150ddeda [core] add support for more non-USB card readers
* Closes #994
2017-08-11 11:43:37 +01:00
Pete Batard
90dc847e24 [misc] add static_strcat & static_strcpy and use static_ calls wherever possible
* Also set Rufus next to 2.17 and fix a warning
2017-08-10 19:43:52 +01:00
Pete Batard
5d371088cb [iso] add EFI boot support from 'efi.img' FAT images
* Required to support Debian Live 9.1 in ISO mode
* Note that this only works if the efi.img boot files do not require
  additional content besides the one extracted from the ISO.
2017-08-09 16:27:11 +01:00
Na Jiyoun
3d33493c6f [loc] update Korean translation to latest 2017-08-07 18:11:04 +01:00
Pete Batard
eb5087d504 [togo] fix a typo in index selection and add support for nonofficial ISOs
* Closes #991
2017-08-02 18:59:45 +01:00
Jeroen Sack
65fd9770cb [misc] fix typo in Changelog
* Closes #990
2017-07-31 12:31:26 +01:00
Pete Batard
925837e4d3 v2.16 (build 1170) 2017-07-31 10:55:41 +01:00
Zia Azimi
9740e94876 [loc] update Persian translation to latest 2017-07-29 17:40:10 +01:00
Pete Batard
d620d8848d [loc] fix RTL display of ISO truncation notification
* Also don't use MessageBoxU where unneeded
2017-07-29 17:34:11 +01:00
Nikolaos Margaritis
d7d6caebe1 [loc] update Greek translation to latest 2017-07-29 15:45:55 +01:00
Martin Kubánik
e68df21a16 [loc] update Slovak translation to latest 2017-07-29 15:42:32 +01:00
Krasimir Newenow
6db159be9e [loc] update Bulgarian translation to latest 2017-07-28 15:33:23 +01:00
Matej Horvat
0887368988 [loc] update Slovenian translation to latest 2017-07-28 13:10:51 +01:00
Arif Budiman
a96a615a66 [loc] update Indonesian translation to latest 2017-07-28 13:08:15 +01:00
Gintaras Venslovas
1baf1b7d1a [loc] update Lithuanian translation to latest 2017-07-26 11:48:56 +01:00
Pete Batard
bb00e220ac [ui] more info field fixes
* Prevent text selection and try to force a redraw, to ensure the text is centered on update
* Also update the libcdio 'AL' workaround
2017-07-26 11:47:02 +01:00
Pete Batard
0a3c04379b [misc] fix Coverity warnings 2017-07-25 12:19:50 +01:00
Ivan Strugar
3622b441ed [loc] update Serbian translation to latest 2017-07-25 00:19:35 +01:00
Tiago Rinaldi
32b8b5b232 [loc] update Portuguese (Brazilian) translation to latest
* Closes #981
2017-07-24 17:34:44 +01:00
Pete Batard
93c2d7851e [ui] fix info box when downloading Syslinux/GRUB files
* Don't duplicate the PrintInfo() from DownloadFile()
* Make sure caret is disabled and displayed text will not appear selected
* Also update MSG_085 and remove unneeded MSG_240
2017-07-24 17:20:17 +01:00
Pete Batard
7ef65b551a [misc] yay, more XP fixes...
* Since I half expect 2.16 to be the last version of Rufus to support Windows XP
2017-07-24 16:29:09 +01:00
Noam Sarusi
811f3cc1bc [loc] update Hebrew translation to latest 2017-07-24 12:11:13 +01:00
Константин В
2b3f1be78c [loc] update Ukrainian translation to latest 2017-07-24 11:57:30 +01:00
Tiryoh
4fe6ffb9d4 [loc] update Japanese translation to latest 2017-07-24 11:52:42 +01:00
Dario Komar
7a929b36b4 [loc] update Croatian translation to latest 2017-07-24 11:49:59 +01:00
Pete Batard
369a392af0 [process] improve the search for conflicting processes check
* Add a WaitForSingleObjectWithMessages() call so that we can process Windows messages
  while waiting on events (prevents lockup while issuing log messages)
* Limit the total duration of CheckDriveAccess() to 2 seconds
* Allow for user cancellation
* Also update code to use the Edit_####() predefined macros for Edit controls instead of EM_### messages
2017-07-24 11:36:06 +01:00
Riku Brander
5e609f022f [loc] update Finnish translation to latest 2017-07-22 19:12:11 +01:00
Pete Batard
d5babb5e72 [ui] disable controls prior to format checks
* Also send Unicode strings to the debug output facility, since Windows 10
  *FINALLY* added Unicode processing support there...
2017-07-22 15:17:24 +01:00
Pete Batard
39e418fbe9 [iso] add work around for ISOs that use nonstandard Rock Ridge extensions
* Looking at you Kali Linux!
* Also silence the annoying 'from_733: broken byte order' warning
2017-07-21 13:11:44 +01:00
Elvin Məlikov
f1aeb63267 [loc] update Azerbaijani translation to latest 2017-07-20 17:49:20 +01:00
Pete Batard
4617ba786d [process] add a timeout for the process search
* The process search appears to be blocking on some platform, and we
  also don't want users to have to wait too long on format startup
* Also update the update check for Windows XP SSL errors
2017-07-20 17:43:38 +01:00
Sippapas Wangsri
5c3437f6de [loc] update Thai translation to latest 2017-07-19 16:57:52 +01:00
Pete Batard
9f8f5517fe [loc] update Vietnamese translation to latest 2017-07-19 13:50:35 +01:00
Chocobo1
0137de5c3a [loc] update Chinese Traditional translation to latest
* Closes #985
2017-07-19 13:45:09 +01:00
Pete Batard
e34f5ac528 [process] fix executable paths on Windows 7 or earlier 2017-07-18 17:10:15 +01:00
Gîrlea Alexandru
476ef267d2 [loc] update Romanian translation to latest 2017-07-18 15:39:29 +01:00
Mehmetali Kuran
980dc53d37 [loc] update Turkish translation to latest 2017-07-18 13:01:09 +01:00
Pete Batard
77e40d1373 [syslinux] remove unwanted 'isolinux.tmp' on error
* Also use a global 'temp_dir' variable and fix a small issue with Swedish translation
2017-07-18 12:57:22 +01:00
Thilo Langbein
ae6fa7af39 [loc] update German translation to latest 2017-07-18 12:16:22 +01:00
Piotr Halama
90761165de [loc] update Polish translation to latest 2017-07-18 12:12:45 +01:00
Aldis Tutins
09538a2456 [loc] update Latvian translation to latest 2017-07-18 12:09:56 +01:00
Jan-Erik Drangevåg
172ba1e795 [loc] update Norwegian translation to latest 2017-07-18 12:06:59 +01:00
Richard Kahl
b556c4dece [loc] update Czech translation 2017-07-18 12:03:17 +01:00
Jiawei Wang
b4800cd206 [loc] update Chinese Simplified translation to latest
* Closes #982
2017-07-18 11:56:15 +01:00
Sopor
a4cf6aea8f [loc] update Swedish translation to latest 2017-07-18 11:50:39 +01:00
Dinis Medeiros
ca9cdaf14b [loc] update Portuguese (Standard) translation to latest 2017-07-17 22:10:29 +01:00
Roberto Boriotti
bb828fda2b [loc] update Italian translation to latest 2017-07-17 22:07:21 +01:00
MaKK
6d8da601c7 [loc] update Spanish translation to latest 2017-07-17 17:40:17 +01:00
Pete Batard
f01043feda [misc] fix minor MinGW warnings
* Also update localization to version 1.0.22
2017-07-17 17:18:18 +01:00
Pete Batard
b4a2c06a2e [ui] ask user if they want proceed when conflicting processes are found
* Rufus now checks for processes with handles opened on the drives/volumes before
  starting the format operation and asks the user if they want to continue.
* This mimics Windows' behaviour when formatting drives, and actually uses the
  same message as the one from shell32.dll.mui.
* Closes #773
2017-07-16 22:42:19 +01:00
Pete Batard
bed889718e [core] attempt to continue if the only conflicting handles we found are for read-only
* Also clean-up the process code and update for rufus-next
2017-07-13 21:53:44 +01:00
Pete Batard
a528bb3d83 [ui] report process(es) that are preventing access on error
* Also revert loc file changes that were introduced in f53b22a077
2017-07-11 17:50:38 +01:00
Pete Batard
c00557900b [misc] drop WDK compilation support 2017-07-10 13:10:23 +01:00
marcellogianola
86c530ac50 [loc] Fix typos in Italian translation
* Closes #975
2017-07-05 15:29:24 +01:00
Pete Batard
92d046e663 [ui] produce a sound and flash taskbar icon on success/error
* Closes #973
2017-07-04 14:51:25 +01:00
Tiago Rinaldi
bfecb9e29f [loc] Update Portuguese (Brazilian) translation
* Closes #974
2017-06-29 11:31:52 +01:00
Pete Batard
150be52479 [iso] notify if the file size on disk is smaller than expected ISO size
* Closes #963
* Also fix a potential issue with Notification()
2017-06-24 17:23:06 +01:00
Pete Batard
390c134b7a [togo] be more verbose about the files being applied 2017-06-20 14:10:22 +01:00
Pete Batard
54ee68f6fc [pki] have GetSignatureName() use the current binary on NULL parameter 2017-06-15 17:25:13 +01:00
Pete Batard
92d8ac26b0 v2.15 (build 1117) 2017-05-16 12:37:46 +01:00
Pete Batard
9e2d0239e6 [grub] update Grub4DOS to latest
* Also update AppVeyor build script
2017-05-15 12:45:03 +01:00
Pete Batard
23d71ae0f1 [arm] add ARM compilation support (MSVC)
* Yay!
* Also remove unneeded stdint.h/stdbool.h/inttypes.h
2017-05-15 12:04:03 +01:00
Pete Batard
32b5987387 [misc] finally make the Appx taskbar icon transparent
* It's wasn't an underscore but a dot!
2017-05-14 14:42:58 +01:00
Pete Batard
09181454dd [misc] try to make that darn Appx taskbar icon transparent
* Still doesn't work though :(
* Also some minor .sln and _pre-commit.sh improvements
2017-05-14 13:23:45 +01:00
Pete Batard
3d1b3bac40 [misc] update project files to VS2017 2017-05-12 12:08:17 +01:00
Pete Batard
a4b19ddf1a [misc] move appx generation to Makefile 2017-05-09 10:54:13 +01:00
Pete Batard
7ec8db5602 [process] check for volumes open with executable access rights
* This allows us to properly identify an open command prompt as a blocking process
* Also, since FSCTL_LOCK_VOLUME is slow, switch to using an actual timeout
2017-05-08 16:58:26 +01:00
Pete Batard
f53b22a077 [ui] tell users to check the log on access errors
* Also make sure to have big fat WARNING there if we detect conflicting processes
2017-05-05 23:32:01 +01:00
Pete Batard
e52947f300 [grub] update GRUB to 2.02 release
* Just update the headers really, since all the core.img
  from 2.02~rc1 upwards have been binary identical.
* Also fix a potential small issue in process.c
2017-05-05 19:21:53 +01:00
dmex
302f108d79 [process] add a more efficient method to search for processes
* As suggested in #773
* Don't switch to using this method though, as it requires a handle to the disk or volume
  to be obtained, and we use the process search in case there is an issue doing so.
2017-05-05 18:09:38 +01:00
Pete Batard
867177c5cd [misc] expand lock cheat mode to also apply to write sharing
* Also improve log messages
2017-05-03 14:48:24 +01:00
Pete Batard
ea940114ee [process] enable SE_DEBUG_PRIVILEGE so we can enumerate Windows Services
* Closes #948
* Also set COINIT_DISABLE_OLE1DDE on init as advised by Microsoft
2017-05-02 14:07:41 +01:00
Pete Batard
23390bf911 [core] relax the FILE_SHARE_WRITE rules during enumeration
* Should allow enumeration of drives, that other process have open
  with RW access, back again (looking at you, Paragon!!!)
2017-05-02 00:56:07 +01:00
Pete Batard
3b4b742772 [wintogo] add an error popup if we can't select the version 2017-05-02 00:38:40 +01:00
Pete Batard
9950f5c088 [misc] enable DEP (Data Execution Prevention) on MinGW
* Also fix minor warnings
2017-05-01 23:55:58 +01:00
Pete Batard
7b37208820 [process] print access rights
* Also clean up the code
2017-05-01 19:50:47 +01:00
Pete Batard
7b86943266 [ui] don't report an error on chkdsk failure 2017-05-01 16:40:14 +01:00
Pete Batard
30137de7cb [iso] improve handling of image size
* Don't use the projected size where the actual image size should be used
* Also fix an issue with the projected size computation
2017-05-01 16:22:34 +01:00
Pete Batard
0c76dbf075 [process] restrict search to handles that have R or W access
* Also fix loop overflow
2017-04-30 21:59:18 +01:00
Pete Batard
d1927ac1ef [core] handle search improvements
* Fix memory leaks due to not releasing the heap
* Also speed up lookups by not reopening the same process twice in a row
* Also make the usb_debug variable global so we can use uuprintf everywhere
2017-04-29 17:14:16 +01:00
Pete Batard
fec0813073 [misc] fix MSVC builds 2017-04-27 23:27:19 +01:00
Pete Batard
d5f6ddb653 [core] list potentially blocking processes on disk access error
* Using functionality from Process Hacker:
  https://github.com/processhacker2/processhacker2/
* Part of the #773 enhancement
* Also fix minor MinGW and WDK warnings
2017-04-27 23:06:42 +01:00
Konrad Becker
27bc4cb02b [loc] fixed two German spelling errors
* One missing and one surplus character.
2017-04-26 00:07:58 +01:00
Pete Batard
55b7d5c2da [misc] code cleanup
* Also fix WDK compilation issues
2017-04-25 20:25:50 +01:00
Pete Batard
afec69c428 [ui] improve logging data
* Display the selected locate as well as LGP info in the log
* Also fix some potential Coverity warnings
2017-04-25 14:32:19 +01:00
Pete Batard
3924d2847d [misc] add build data for Windows Apps Store
* Rather useless, since elevated apps are neither accepted by Microsoft nor
  will they run by default when sideloaded. But, hey, I can has apps!
* Also update sign and sed scripts
2017-04-20 12:59:46 +01:00
Pete Batard
aec2736245 [togo] improve Windows To Go support for Windows 10 Creators Update
* Enable the use of GPT on REMOVABLE drives, if the host is Windows 10 CU
* Don't display the message about REMOVABLE boot, if the target is Windows 10 CU
2017-04-19 11:30:24 +01:00
Pete Batard
fff4465b1d [core] improve Unicode support
* Microsoft's version of _wgetenv() is *BROKEN*!
* Also set rufus-next to 2.15
2017-04-19 11:16:20 +01:00
Pete Batard
e2481efcd9 [pki] application security improvements
* Also clean up registry variables and add IsRegistryNode() call
2017-04-12 20:40:43 +01:00
Pete Batard
caa9b06426 [core] work around Windows 10 CU potentially selecting the UEFI:NTFS partition for formatting
* Should only happen with Windows 10 Creator Update (1703)
* Closes #931
* Also silence the flow of bcdboot benign errors on WinToGo creation (unless USB Debug is enabled)
* Also ensure WaitForLogical() will not actually spends 15 seconds max before giving up
2017-04-11 22:15:05 +01:00
Pete Batard
42e8d714e8 v2.14 (build 1086) 2017-04-10 11:20:08 +01:00
Pete Batard
854620d0ba [core] relax the rule for exclusive write access
* If we can't get a write handle for more than 5 seconds, retry with FILE_SHARE_WRITE
* This is a partial revert of 2f81e4f177, in order to address #924.
2017-04-09 21:08:34 +01:00
Pete Batard
2417ea7409 [misc] update Rufus URLs to https
* Also set rufus-next to 2.14
2017-04-09 21:00:02 +01:00
Pete Batard
477ff95f93 [core] display device paths in GetHandle()
* Also reorder bLockDrive and bWriteAccess parameters
2017-04-08 21:58:10 +01:00
Pete Batard
eb57d116cc [misc] update Visual Studio references in README 2017-04-06 13:44:41 +01:00
Pete Batard
4670cfaf35 v2.13 (build 1081) 2017-04-06 11:50:31 +01:00
Pete Batard
cbd31af448 [grub] update GRUB to 2.02~rc2 2017-04-05 11:12:58 +01:00
Pete Batard
be1bdb7c85 [misc] miscellaneous cleanup
* Also add CreateWindowExU() method
* Also add the 'DisableFileIndexing' to the ini template
2017-04-04 17:26:45 +01:00
Pete Batard
da7a5bb30d [iso] revert overzealous filename sanitization
* slash and backslash must be kept, as we are sanitizing paths
2017-04-02 14:51:37 +01:00
Pete Batard
e33b4589b6 [misc] small improvements for 2.13 release 2017-04-01 17:32:15 +01:00
Pete Batard
abce1a2aa0 [ui] prefer GPT if the user switched to it before ISO selection
* This should help with the myriad of people not noticing that
  this setting was reset after selecting an ISO.
2017-03-30 12:07:49 +01:00
Mayuso
893a2e63d7 [loc] more Spanish translation fixes
* Closes #915
2017-03-17 15:03:31 +01:00
Darío Hereñú
1c5ff3dd7c [loc] fix Spanish translation
* Closes #914
2017-03-16 21:20:59 +01:00
Pete Batard
ee67019129 [misc] add .editorconfig
* Also update getopt project file to remove missing file
2017-03-14 18:44:14 +01:00
Sopor
5f679edf4d [loc] update Swedish translation 2017-03-13 11:32:19 +01:00
Pete Batard
edcfd43ed5 [misc] fix multiple VS Code Analysis warnings 2017-03-10 19:07:48 +01:00
Pete Batard
97b4e623cd [iso] update libcdio to latest
* Also update .gitignore for VS2017 files
2017-03-09 15:34:37 +01:00
Pete Batard
8a491e9877 [misc] update Clang solution for VS2017 2017-03-09 12:37:53 +01:00
Pete Batard
a51d17742b [internal] update coverity script 2017-03-09 12:10:47 +01:00
Pete Batard
21ce17302d [misc] fix coverity and VS analysis warnings 2017-03-08 21:22:24 +01:00
Pete Batard
c021b7bfd8 [core] fix Microsoft's inconsistent casing for device IDs
* Microsoft inconsistently lists similar Device IDs with either upper or
  lower case values. e.g. USB\VID_1908&PID_0226\5&23CE17BD&0&3 vs.
  USB\VID_1908&PID_0226\5&23ce17bd&0&3
* Of course this creates issues when using a case sensitive hash table...
* We now convert all Device IDs to uppercase before hashing them.
2017-02-20 12:26:06 +00:00
Wang JiaWei
659f2fae34 [loc] update Simplified Chinese translation to latest
* Also fix a typo
* Closes #905
2017-02-17 11:54:15 +00:00
Pete Batard
136fd7a37e [syslinux] fix non release of the volume handle with NTFS
* Closes #904
2017-02-17 11:05:49 +00:00
Pete Batard
2f81e4f177 [core] avoid the use of FILE_SHARE_WRITE
* Not having FILE_SHARE_WRITE on a disk or volume handle helps
  prevent spurious accesses from the OS or other apps while we
  are repartitioning/refomatting.
2017-02-16 14:13:30 +00:00
Na Jiyoun
c877284d2a [loc] update Korean translation to latest 2017-02-15 12:16:02 +00:00
Pete Batard
1e7299afa2 [misc] set rufus-next to 2.13 2017-02-15 12:14:32 +00:00
Pete Batard
c72aa7be0a [core] don't clean up partition data before writing a disk image
* This workaround seems to be needed for the upcoming Windows 10 rs2_release (see #883)
* Also some minor fixes
* Closes #883
2017-02-14 12:44:25 +00:00
Pete Batard
f7b839c596 [ui] fix restore when a dialogbox is displayed while the main window is minimized
* Closes #896
2017-02-06 12:08:11 +00:00
Pete Batard
54004f7f6c [enum] fix default listing for Toshiba TransMemory UFDs 2017-01-31 11:37:25 +00:00
Pete Batard
4373f0c452 [ui] fix notification sound when closing using X
* Closes #893
2017-01-30 17:52:37 +00:00
Tiryoh
e7148c97b5 [loc] update Japanese translation to latest 2017-01-28 23:53:10 +00:00
Ivan Strugar
a970e572d2 [loc] update Serbian (Latin) translation to latest 2017-01-27 21:47:48 +00:00
Pete Batard
b1ce0cfeeb v2.12 (build 1054) 2017-01-27 20:40:40 +00:00
Gintaras Venslovas
1ee61d5fe5 [loc] update Lithuanian translation to latest 2017-01-27 15:46:16 +00:00
Nikolaos Margaritis
0ed4e7947a [loc] update Greek translation to latest 2017-01-27 13:51:03 +00:00
Piotr Halama
d722ad6dda [loc] update Polish translation to latest 2017-01-27 13:47:07 +00:00
Aldis Tutins
a75133cbd1 [loc] update Latvian translation to latest 2017-01-27 10:57:39 +00:00
MaKK
b72de29b5e [loc] fix a typo in the Spanish translation 2017-01-27 10:55:13 +00:00
Roberto Pino
f8e39471fb [loc] update Dutch translation to latest 2017-01-26 12:14:10 +00:00
MaKK
933193ded9 [loc] update Spanish translation to latest 2017-01-25 18:20:02 +00:00
Dario Komar
064fffa6f6 [loc] update Croatian translation 2017-01-24 22:31:47 +00:00
Matej Horvat
269bc569a9 [loc] update Slovenian translation to latest 2017-01-24 18:49:06 +00:00
Кирилл Иванов
90f564cc53 [loc] update Russian translation to latest 2017-01-23 11:20:17 +00:00
Krasimir Newenow
9f05d5d1e6 [loc] update Bulgarian translation to latest
* Also remove trailing whitespaces
2017-01-21 16:25:07 +00:00
Elvin Məlikov
789b8caf51 [loc] update Azerbaijani translation to latest 2017-01-20 10:42:56 +00:00
Gîrlea Alexandru
eb0890de08 [loc] update Romanian translation to latest 2017-01-19 20:07:47 +00:00
Riku Brander
ccdc1f2115 [loc] update Finish translation to latest 2017-01-19 15:43:13 +00:00
Sippapas Wangsri
43b260b617 [loc] update Thai translation to latest
* Also fix a small typo in Hebrew translation (with thanks to pinim)
2017-01-19 15:42:24 +00:00
Константин В
4dc7653a57 [loc] update Ukrainian translation to latest 2017-01-18 19:28:19 +00:00
Martin Kubánik
8df177f561 [loc] update Slovak translation to latest 2017-01-18 19:26:16 +00:00
Pete Batard
db234442e3 [ui] improve selection dialog when there exist more than 6 options
* Closes #891
2017-01-18 13:48:44 +00:00
thanhtai2009
371b1b4d94 [loc] update Vietnamese translation to latest 2017-01-18 13:09:32 +00:00
Zia Azimi
e1e7d88d38 [loc] update Persian translation to latest 2017-01-17 23:56:39 +00:00
Sopor
59cb5f227c [loc] update Swedish translation to latest 2017-01-17 15:52:31 +00:00
Noam Sarusi
7a00adcf5d [loc] update Hebrew translation to latest
* Closes #890
2017-01-17 15:46:12 +00:00
Chocobo1
34b3feb3a8 [loc] update Traditional Chinese translation to latest
* Closes #889
2017-01-17 13:12:35 +00:00
Jan-Erik Drangevåg
3db181c202 [loc] update Norwegian translation to latest 2017-01-17 12:29:14 +00:00
Mehmetali Kuran
d1e6457269 [loc] update Turkish translation to latest 2017-01-17 12:27:18 +00:00
Thilo Langbein
1e3549df9a [loc] update German translation to latest 2017-01-17 12:25:20 +00:00
Dinis Medeiros
c5527f0784 [loc] update Portuguese (Standard) translation to latest 2017-01-17 12:20:24 +00:00
Roberto Boriotti
d4756303ce [loc] update Italian translation to latest 2017-01-17 12:18:21 +00:00
Richard Kahl
06f7602c8a [loc] update Czech translation 2017-01-17 12:13:47 +00:00
Tiago Rinaldi
1757481f2e [loc] update Portuguese Brazilian translation to latest 2017-01-17 12:07:40 +00:00
Pete Batard
9f1f164aff [dev] adjust score for Alcor based UFDs
* Closes #888
2017-01-17 12:04:18 +00:00
Pete Batard
0d45bae5e5 [loc] commit latest localization updates 2017-01-16 18:02:22 +00:00
Pete Batard
8626ca949e [grub] update Grub4DOS to latest
* Also update the SHA256 DB
2017-01-13 11:12:57 +00:00
Pete Batard
ee453b0088 [dos] update FreeDOS
* Also capitalize some files to match the FreeDOS archives.
2017-01-13 11:10:52 +00:00
Pete Batard
fd093127d2 [enum] add workaround for the lousy ASMedia USB 3.0 stack
* This occurs on Windows 7 with the ASMedia proprietary USB 3.0
  controller drivers.
2017-01-12 11:47:28 +00:00
Pete Batard
e62ab37e38 [bled] improve error reporting
* Also make the use of a FIXED drive more noticeable in the log
2017-01-11 01:12:00 +00:00
Pete Batard
8aeaa4d645 [grub] add fallback to same major version 2017-01-06 16:15:31 +00:00
Pete Batard
08b6ce38c2 [core] fix a potential Could not get Disk Extents message
* Reported in #880
2017-01-05 15:42:24 +00:00
Pete Batard
5170706695 [misc] fix coverity warnings 2017-01-04 18:07:58 +00:00
Pete Batard
d7e977e1f1 [core] enable FAT32 for Windows install when dual UEFI+BIOS is enabled 2017-01-03 16:56:30 +00:00
Pete Batard
5b544c6a4a [misc] update copyright year 2017-01-01 15:30:03 +00:00
Tiago Rinaldi
0cb8aff561 [loc] fix typos in Portuguese Brazilian translation
# Closes #879
2017-01-01 15:24:00 +00:00
Pete Batard
d783573178 [syslinux] enable NTFS selection for Syslinux 6.x or later
* Tested with latest Arch, Debian and Ubuntu
2016-12-15 16:28:00 +00:00
Pete Batard
f4ebe1b6c2 [togo] prompt user to select a version before formatting 2016-12-15 12:04:19 +00:00
Pete Batard
104b33a7ba [core] remove 'MBR for BIOS' option for pure UEFI images
* Closes #832
* Also refactor image property macros
2016-12-14 23:27:41 +00:00
Pete Batard
7d302d340f [togo] enable selection of Windows version
* Closes #847
* Also set rufus-next to 2.12
2016-12-13 14:26:27 +00:00
Pete Batard
5113be0a39 [iso] add dumping of ISOs from optical media (Alt-O) 2016-12-06 11:47:19 +00:00
פלוני אלמוני
abead192d3 [loc] complete Hebrew translation
* Closes #204
2016-12-05 11:21:46 +00:00
Noam Sarusi
18607a623b [loc] add Hebrew translation (incomplete) 2016-12-05 11:04:58 +00:00
Pete Batard
4891500f40 [loc] fix license display for RTL languages 2016-12-05 10:52:37 +00:00
Pete Batard
8128d34e35 [bb] fix rand() initialization
* What do you know, srand() is thread-local...
2016-11-29 11:02:02 +00:00
Pete Batard
cbf01071ab [misc] add an indication in the log for portable mode
* Closes #854
2016-11-14 11:29:54 +00:00
Adrian Perez de Castro
03e01f2a19 [misc] Linux cross compilation fixes
* Closes #850
2016-11-11 11:58:05 +00:00
Pete Batard
73b39c1fb4 [internal] update issue template 2016-11-11 10:59:18 +00:00
Martin Schiel
e427800895 [loc] fix a typo in German translation 2016-11-04 11:30:09 +01:00
Aldis Tutins
098dff5b74 [loc] update Latvian translation 2016-10-03 11:41:44 +01:00
Robert McQueen
234b0a3fde [ms-sys] fix for detecting windows MBRs with localised messages
* Windows MBRs contain localised strings which mean the bytes between the
  executable code and the disk signature / partition table can change depending
  on locale. This patch adds lengths to reflect the offsets which are the same
  for every locale, and only compares these lengths when detecting existing
  Windows MBRs.
2016-09-21 17:37:16 +01:00
Daniel Peukert
c4b9ec4a62 [loc] fix two strings in the Czech translation
* Closes #827
2016-09-12 09:42:20 +01:00
Pete Batard
b3c76b1f61 v2.11 (build 995) 2016-09-08 17:33:41 +01:00
Pete Batard
aa4baab194 [core] add a workaround for >1TB HDDs that mistakenly report short writes
* It appears that 1.5TB and 2TB HDDs, accessed trough some Seagate ow WD USB ↔ SATA
  controllers, can report that 0 bytes were written on WriteFile(), even though all
  the data was effectively written. 1TB HDDs, accessed through the same controller,
  do not report this issue. So add a workaround for that.
* Also see #787
2016-09-06 18:31:30 +01:00
Pete Batard
8ca644de5a [core] fix sanitizing of exFAT labels
* Closes #818
2016-08-31 13:01:39 +01:00
Pete Batard
08566fa127 [core] add half workaround for an XP issue
* This is not a complete workaround, but it will do for
  until we drop support for XP altogether.
* Closes #810
2016-08-31 12:21:10 +01:00
Pete Batard
9872cad1e8 [appveyor] remove unneeded project duplication for MinGW 2016-08-30 12:10:08 +01:00
Pete Batard
cc758f58a0 [ui] fix UI font for XP users
* DIE, XP, DIE!!!!
* Closes #820
2016-08-29 18:17:43 +01:00
Pete Batard
5d3be6ca51 [misc] add a cheat mode to disable file indexing after format
* New cheat mode is Alt-Q, and gets preserved between sessions
* Only for file systems that support it (NTFS, UDF and ReFS)
2016-08-27 18:06:06 +01:00
Pete Batard
d9a928f5bc [core] fix handling of BFD drives
* A BFD (Big Floppy Disk) is a disk that isn't actually partitioned,
  but where the first data sector starts at sector 0
* Closes #814
2016-08-21 14:06:15 +02:00
Pete Batard
2b0cc9349f [misc] fix a couple code analysis warnings 2016-08-20 10:15:48 +02:00
Pete Batard
ce6ded2111 [iso] add label update workaround for ArchLinux derivatives 2016-08-14 15:45:29 +02:00
pluto00987
ce8fbd9934 [misc] align ms-sys source with upstream
* This adds the (currently unused) fat32pe boot records
* Closes #801
2016-08-11 17:05:39 +02:00
Pete Batard
6d3b1c856f [iso] prevent usage of FAT32 for WinPE4 ISOs
* This is part of #801
2016-08-10 18:59:35 +02:00
Pete Batard
ab44cde7ac [misc] don't download BIOS-related files if selected target isn't BIOS
* Part of #799
* Also set rufus-next to 2.11
2016-08-08 13:46:50 +02:00
Pete Batard
e7578bc12d [syslinux] support ISOs that use boot.bin instead of isolinux.bin
* Such as WebConverger (webc-35.1.iso)
* Also fix non installation of Syslinux if Alt-E (dual UEFI/BIOS) is set
* Also update README and AppVeyor script
2016-08-07 18:41:47 +02:00
Pete Batard
19536ddd1a [appveyor] this versioning sure isn't intuitive... 2016-08-06 19:04:34 +02:00
Pete Batard
b808b67769 [appveyor] match AppVeyor version with git tag or SHA-1
* Also add a GPLv3 badge
2016-08-06 19:01:05 +02:00
Pete Batard
6a4cc1acb5 [appveyor] fix AppVeyor script
* This should build for all of the VS2015 targets as well as MinGW32 + MinGW-w64
2016-08-06 00:00:08 +02:00
Pete Batard
1e9aa1e646 [appveyor] try without an explicit SDK setup call for x86_64 2016-08-05 21:11:32 +02:00
Pete Batard
3c0c1b7e9a [misc] and now we try for fix AppVeyor... 2016-08-05 18:01:46 +02:00
Pete Batard
a1f433b1b4 [misc] add AppVeyor CI support 2016-08-05 17:30:49 +02:00
Pete Batard
09482d53fe [iso] fix a libcdio log message 2016-07-31 18:23:50 +02:00
Pete Batard
b204065f88 [clang] use the July Clang/C2 framework VS2015 update 2016-07-21 15:58:11 +01:00
Pete Batard
b32c7149eb v2.10 (build 973)
* Also fix an indentation warning from gcc 6.1
2016-07-20 10:51:08 +01:00
Pete Batard
dcb0d561d5 [uefi] update UEFI:NTFS and add support for compressed NTFS partitions
* UEFI:NTFS now uses the latest efifs drivers, with NTFS compression supported
* Because the executables are now compiled with Clang, we can also revert to a 256KB partition
2016-07-18 13:25:49 +01:00
Pete Batard
56eb635879 [internal] use smart card keys for code signing
* Also fix a Coverity warning
2016-07-15 13:32:22 +01:00
Pete Batard
cee50bd189 [grub] update Grub4DOS 0.4.6a to latest
* Also update Changelog
2016-07-10 21:51:46 +01:00
Pete Batard
9dd06e93bc [ui] improve Windows format prompt autoclose
* Closes #794
* Also reorder some messages (so that RUFUS_TEST comes first)
* Also update issue template
2016-07-09 16:20:58 +01:00
Pete Batard
cebfa4cc7a [ui] delay hotplug event when the user has pressed Start
* Closes #793
* Also update issue template
2016-07-08 12:09:46 +01:00
Pete Batard
91eec034b1 [core] try not to clear MBR/GPT sectors higher than the lowest partition
* This ensures that a drive can be reformatted without error after writing
  an image such as super_grub2_disk_x86_64_efi_2.02s4.iso
2016-07-07 18:13:01 +01:00
Pete Batard
2f88286dc1 [misc] update issue template 2016-07-06 11:25:38 +01:00
Pete Batard
473e7467e8 [misc] add issue template 2016-07-05 16:18:09 +01:00
Pete Batard
a207d967a5 [uefi] add support for EBC boot loader
* Closes #791
2016-07-04 13:16:04 +01:00
Pete Batard
ed1b3fd72e [iso] reload label after formatting
* The Windows APIs may further modify the label compared to our proposed
  version (e.g. remove trailing spaces), and we need an exact label for
  the Syslinux/GRUB config file update.
* This issue was reported against Springdale Linux, where the isolinux.cfg
  label was patched using 'SPRINGDALE\x20' instead of 'SPRINGDALE'
* Closes #784
* Also ensure that we don't replace NULL buffers in msapi_utf8.h and add
  GetVolumeInformationU()
2016-06-26 22:24:16 +02:00
Na Jiyoun
60517f1e50 [loc] update Korean translation to latest 2016-06-25 11:35:43 +02:00
Pete Batard
4f3e27b089 [syslinux] try to match version detection with the config directory 2016-06-19 23:33:00 +02:00
Pete Batard
d3f7e1c1aa [grub] limit GRUB2 support to BIOS/x86
* EFI should take care of itself and this will avoid benign warnings
  such as the ones produces by the latest Ubuntu
2016-06-17 16:14:54 +02:00
Pete Batard
d85a4e4307 [efi] ensure that the UEFI:NTFS partition is properly sized 2016-06-16 18:29:15 +02:00
Pete Batard
e76f60a3e8 [misc] use the more univerasal _mm_alloc() instead of _aligned_malloc()
* Also ensure that our buffers are aligned
* Also remove the use of static buffers in ms-sys
2016-06-10 12:42:43 +01:00
Pete Batard
3fdf622933 [syslinux] fix Syslinux installation for some media
* Some disk devices, such as O2Micro PCI-E SD card readers, return ERROR_INVALID_PARAMETER
  when attempting to use ReadFile() on a volume against a non 8-byte aligned buffer.
* This patch ensures that the Syslinux buffers for sector patching are 16-byte aligned.
* HUGE THANKS to 424778940z, for the numerous testing that allowed to troubleshoot this issue.
* Closes #767
2016-06-09 17:49:58 +01:00
Pete Batard
c0393aec08 [misc] add a few more missing calloc checks
* Also use the relevant macro in msapi_utf8.h
2016-06-08 16:32:31 +01:00
Pete Batard
a10ea1498b [misc] add more check for malloc() errors
* Closes #772
* With thanks to @elfring
2016-06-07 19:47:01 +01:00
Pete Batard
f1f620411c [syslinux] use SetFilePointerEx and other improvements 2016-06-06 19:39:53 +01:00
Pete Batard
f31a90bba2 [enum] add support for O2Micro PCI-E card readers
* Part of #767
2016-06-06 00:36:56 +01:00
Pete Batard
66534640a4 [enum] use Unicode when retrieving the device friendly name
* This should fix the improper display of some localized strings such as
  "Microsoft Virtual Disk"
2016-06-05 20:21:16 +01:00
Pete Batard
de386329e4 [clang] fix breakage when opening ISO9660 images
* Even in MS compatibility mode, clang needs to be told how to pack structs
* Also fix a compilation warning with Link Time Code Generation
2016-06-04 22:09:25 +01:00
Pete Batard
3b0c4e8083 add Clang/C2 support for Visual Studio (EXPERIMENTAL)
* When I say EXPERIMENTAL, I mean it!!
* Currently, opening an ISO9660 image fails with 'Could not access directory'
2016-06-04 18:57:55 +01:00
Pete Batard
f0b13361be [msvc] harmonize compilation options 2016-06-04 17:50:16 +01:00
Pete Batard
39d6b90447 [misc] fixes for Clang/C2 compilation support 2016-06-04 17:13:50 +01:00
Pete Batard
2e530d5ce7 [dev] add exception for Intenso Speed Line flash drives
* This flash drive seems to declare itself as FIXED which resulted in a +1 score
2016-06-03 11:21:25 +01:00
Pete Batard
07497fc231 [misc] fix the use of invalid "%luX" formatter
* "%luX" is invalid as "X" already means unsigned hexadecimal so there's no need for "u"
2016-06-02 21:20:29 +01:00
Pete Batard
c2fc113f8a [loc] update Simplified Chinese translation to latest
* Also fix an issue with the translation for MSG_031
* Thanks go to choleraehyq for spotting the issue and 424778940z for providing the new translations
* Closes #766
2016-05-31 23:21:00 +01:00
Pete Batard
bbafd128c1 [net] fix https downloads
* Closes #712
2016-05-31 16:35:48 +01:00
Pete Batard
2495f2d444 [misc] fix a new set of MinGW warnings 2016-05-30 17:49:32 +01:00
Pete Batard
b9da0cf057 [ui] fix missing partition scheme tooltip after selecting an ISO
* Tooltips can only be manipulated from the same thread as the one that created their parent
* Also increase the SetLGP() timeout as this seems to be problematic
* Closes #764
2016-05-30 17:32:49 +01:00
Pete Batard
bf679271b8 [misc] prevent application launch if running non elevated
* Since, despite what Microsoft states, having 'requireAdministrator' in a manifest STILL isn't
  enough to prevent an app from launching as non elevated for some weird account configurations...
* Closes #757
2016-05-26 21:47:01 +01:00
Pete Batard
790aacd49a [core] add SHA-256 validation DB for downloadable content
* Downloadable content will now be indicating, in the log, whether it can be trusted with ✓ (validated) or ✗ (caution)
* Of course this validation only applies for files we know of, i.e. the downloadable content that existed at the time the DB was
  created. So, if Syslinux 8.x gets released tomorrow and we put it on our server, you'll get an ✗ regardless of its integrity.
* Closes #758
2016-05-25 12:20:20 +01:00
Pete Batard
04d6ac0cdd [checksum] add an individual checksum function call
* Part of #758
* Also define checksum types and fix a missing change in smart.c
2016-05-24 13:21:23 +01:00
Pete Batard
a41bca3183 [checksum] fix wrong checksums for content that isn't a multiple of 64 bytes
* Leading odd-sized chunks needs to be tested *before* updating the bytecount
* Closes #761
2016-05-24 11:48:10 +01:00
Pete Batard
81673ade26 [core] clean up the RUFUS_DRIVE_INFO struct
* Remove the duplication of DISK_GEOMETRY to keep only the variables we actually use
* Also set rufus-next to 2.10
2016-05-23 12:19:43 +01:00
Pete Batard
258a4f7ca0 [core] work around a Windows bug that may render a disk inaccessible on cleanup
* The root of the issue is that Windows IOCTL_DISK_CREATE_DISK does not properly
  zero all of the MBR/GPT/PBR structure with PARTITION_STYLE_RAW (which is what
  diskpart uses to clean a disk), and leaves plenty of partition artefacts behind.
* This means that, when an image with complex partitioning has been applied, such
  as Chromium/ChromeOS, you may end up with a drive that can not be repartitioned
  or reformatted in Windows (and this is completely independent of whether Rufus
  was used to perform these operations - For instance you will get the same issue
  if you use Win32DiskImager and diskpart + clean).
* The only option left for users then is to reset/repartition their drives in Linux
  or some other OS, as Windows' VDS becomes incapacitated to handle the drive, as
  the problem persists independently of reset/re-plug/Windows platform being used.
* To work around this, we ensure that we zero the MBR/GPT/PBR sectors BEFORE calling
  IOCTL_DISK_CREATE_DISK.
* Also move zeroing of the drive before partition reset.
* Closes #759
2016-05-21 16:34:34 +01:00
Pete Batard
935679dd85 [misc] silence a couple Coverity warnings
* We're not doing crypto here, so using rand() is fine...
2016-05-18 10:35:50 +01:00
Pete Batard
e177144258 v2.9 (build 934) 2016-05-17 10:46:18 +01:00
Nikolaos Margaritis
83147e5158 [loc] update Greek translation to latest 2016-05-17 09:57:35 +01:00
Ivan Strugar
b4e93d3652 [loc] update Serbian translation to latest 2016-05-17 09:55:07 +01:00
thanhtai2009
27f4a92be2 [loc] update Vietnamese translation to latest 2016-05-17 09:53:01 +01:00
Pete Batard
39c4b51069 [loc] fix a typo in the French translation 2016-05-16 20:46:51 +01:00
Roberto Pino
6762e6febb [loc] update Dutch translation to latest 2016-05-16 20:33:38 +01:00
Martin Kubánik
807ef70879 [loc] update Slovak translation to latest 2016-05-16 20:12:36 +01:00
Pete Batard
1a24e5bbd7 [syslinux] fix a typo that reintroduced a possible crash
* a10a207790 reintroduced the crash that was fixed in ad68ccfac9
  due to the missing semicolon.
* Also fix a minor output message issue
* Closes #752
2016-05-16 16:33:53 +01:00
Viszokai György
0abd745a87 [loc] update Hungarian translation to latest 2016-05-16 15:29:29 +01:00
Dario Komar
fc6b3be052 [loc] update Croatian translation to latest 2016-05-16 15:28:03 +01:00
Richard Kahl
25f03ff407 [loc] update Czech translation to latest 2016-05-16 12:25:10 +01:00
Krasimir Newenow
eb07933939 [loc] update Bulgarian translation to latest 2016-05-13 10:43:33 +01:00
Tiryoh
cb9c1d05a3 [loc] update Japanese translation to latest
* Closes #755
2016-05-13 10:41:13 +01:00
Matej Horvat
2c3745f459 [loc] update Slovenian translation to latest 2016-05-12 13:11:26 +01:00
Piotr Halama
0bfce8655e [loc] update Polish translation to latest 2016-05-12 13:05:06 +01:00
Gintaras Venslovas
a05d0a5ac2 [loc] update Lithuanian translation to latest 2016-05-12 13:03:55 +01:00
Jan-Erik Drangevåg
387ae477cb [loc] update Norwegian translation to latest 2016-05-11 11:31:49 +01:00
Arif Budiman
ddd019f2e6 [loc] update Indonesian translation to latest 2016-05-10 19:42:21 +01:00
Elvin Məlikov
e44c35613a [loc] update Azerbaijani translation to latest 2016-05-10 19:41:10 +01:00
Sippapas Wangsri
1747df09d9 [loc] additional Thai translation updates 2016-05-10 11:59:37 +01:00
Roberto Boriotti
bf73a6c451 [loc] update Italian translation to latest 2016-05-10 11:51:45 +01:00
Zia Azimi
16690df5cb [loc] update Persian translation to latest 2016-05-10 11:49:55 +01:00
Sippapas Wangsri
7d5d95efbf [loc] update Thai translation to latest 2016-05-10 11:45:29 +01:00
Chocobo1
dc1b8bd94d [loc] update Chinese (Traditional) translation to latest
* Closes #751
2016-05-10 11:42:11 +01:00
Кирилл Иванов
7c2088fee6 [loc] update Russian translation to latest 2016-05-10 11:40:04 +01:00
Sopor
e34d2ab126 [loc] update Swedish translation to latest 2016-05-10 11:38:27 +01:00
Dinis Medeiros
0915370cc8 [loc] update Portuguese (Standard) translation to latest 2016-05-10 11:36:48 +01:00
Pete Batard
55b01502ff [misc] update ChangeLog 2016-05-10 11:34:18 +01:00
Thilo Langbein
e1cd763dd2 [loc] update German translation to latest 2016-05-10 11:31:50 +01:00
Riku Brander
2ecaed9d1d [loc] update Finnish translation to latest 2016-05-10 11:29:57 +01:00
Aldis Tutins
5fd158d50b [loc] update Latvian translation to latest 2016-05-10 11:26:45 +01:00
Константин В
887ce483e8 [loc] update Ukrainian translation to latest 2016-05-10 11:24:31 +01:00
MaKK
7387d891f1 [loc] update Spanish translation to latest 2016-05-10 11:18:33 +01:00
Tiago Rinaldi
3227e2e5d1 [loc] update Brazilian Portuguese translation to latest 2016-05-10 10:51:02 +01:00
Pete Batard
f08afb4492 [loc] add missing MSG_286 to translation ChangeLog
* Also fix some spacing issues with French translation
2016-05-09 17:40:28 +01:00
Gîrlea Alexandru
2aac772974 [loc] update Romanian translation to latest 2016-05-09 17:33:22 +01:00
Tmp341
d79264846e [loc] update Turkish translation to latest
* Added and translated two lines. But i don't know, whether or not Turkish localization is 100% synchronized with English.
* Closes #750
2016-05-09 17:24:53 +01:00
Pete Batard
f65dbb11c0 [loc] add new message for listing of non-USB removable drives
* Also increase status display timeout for cheat modes
2016-05-09 13:40:54 +01:00
Pete Batard
8bd9055d6c [misc] add a retry on commandline hogger deletion
* Trying to delete the hogger could result in access denied on first attempt,
  which would leave a rufus.com behind
* Part of #714
2016-05-02 12:06:38 +01:00
Pete Batard
b6c0dd1b23 [core] fix a typo in exFAT cluster selection for >32GB drives
* Closes #745
2016-05-02 11:11:22 +01:00
Pete Batard
d7c4cb088f [core] update UEFI:NTFS to latest
* Should fix the long-standing HP firmware compatibility as per #615, #549 and others
* See 22370067f5 for details
2016-04-28 22:40:16 +02:00
Pete Batard
d4c518a4ae [misc] update UEFI:NTFS partition detection 2016-04-28 11:06:32 +02:00
Pete Batard
43d9ac046b [core] don't list non-USB removable devices by default
* Unless specifically requested with Ctrl-Alt-H
* Closes #727
* Also rename usb.c to dev.c, since we may be listing more than USB devices
2016-04-26 14:57:07 +02:00
Pete Batard
fc5d64618a update UEFI:NTFS to latest
* This introduces ARM boot support
* Also set rufus-next to 2.9 and add ARM64 UEFI detection
2016-04-24 14:19:19 +02:00
VGPlayer
99046919a5 [loc] update Malay translation to latest 2016-04-24 11:28:28 +02:00
Pete Batard
0d310d1c6b [misc] fix Coverity warnings 2016-03-25 16:38:01 +00:00
Pete Batard
e4bb1a6eb8 drop support for WDK's Windows XP targets
* Die, XP, die!!!
* Also fix a Coverity warning in checksum.c
2016-03-24 12:56:26 +00:00
Pete Batard
2c90a06668 use IFileDialog when running on Vista or later
* When compiled with MinGW, this was always disabled due to forcing XP as
  the lowest common denominator and using #ifdefs
* This should also help with OFN_NOCHANGEDIR seemingly being ignored
* Sadly, this change also adds ~20KB to our *compressed* size... :(
2016-03-24 12:55:54 +00:00
Pete Batard
cbf1a60365 v2.8 (build 886) 2016-03-22 16:03:18 +00:00
Pete Batard
3fe6894f8b [misc] increase SetLGP thread wait delay
* Someone running Rufus in a VirtualBox environment, where their CPU
  was also seeing 100% usage, reported getting the following message:
  "SetLGP: Killing stuck thread!"
2016-03-17 21:56:36 +00:00
Na Jiyoun
b1c5545205 [loc] update Korean translation to latest 2016-03-17 21:48:37 +00:00
Pete Batard
03a97ee261 [misc] improve genericity of registry functions
* Ensure that we can also handle non app specific keys
2016-03-14 13:41:20 +00:00
Pete Batard
b82462bb7d [ui] improve progress bar refresh
* Closes #699
2016-03-10 16:13:16 +00:00
Pete Batard
a10a207790 [syslinux] fallback to embedded on version match if download fails
* Could be useful for current tails user (6.03 based, same as ours)
  who want to create an UFD without downloading files.
* Also improve the buffer overflow check in syslinux/libinstaller/syslxmod.c
2016-03-08 17:28:45 +00:00
Pete Batard
1cc7fca4c5 [ui] disable BIOS boot when MBR for UEFI is selected in dual UEFI/BIOS mode
* Closes #708
2016-03-07 16:15:18 +00:00
Pete Batard
5afffd1018 [checksum] additional cleanup and optimization
* Use the commonly used function names for SHA-256 (Sigma, etc.)
* Use the same xxx_write for all, and avoid unwarranted memcpy
* Remove the bitcount
* Use nested ROR() speedup
2016-03-05 21:20:09 +00:00
Pete Batard
71520baf31 [core] factorize the img/zero disk writing code
* Also fix a WDK warning
2016-03-04 16:34:50 +00:00
Pete Batard
d385a097c0 [misc] make the affinity setup fn more generic and move it to stdfn
* Also align checksum context to 64 bytes (cache line)
2016-03-03 17:24:54 +00:00
Pete Batard
0313e5ca54 [checksum] additional cleanup 2016-03-03 14:58:49 +00:00
Pete Batard
00ffbae61f [checksum] switch to 7-zip's SHA-256 algorithm
* That's more like it! When compiled in 64-bit we get about the same speed as 7-zip
  (slower when 32-bit, but shhh, or people will ask for a 64-bit version of Rufus...)
* Looks like what was holding us back was the sha256_write() from Brad Conte's
* Also fix WDK compilation and harmonize the BE->LE conversions
2016-03-02 18:51:43 +00:00
Pete Batard
07114edc6f [checksum] more cleanup and optimization
* Why... can't I stop... trying to optimize... this thing?!?
2016-03-02 13:40:37 +00:00
Pete Batard
b89beceedf [grub] update GRUB to 2.02~beta3 2016-03-02 11:00:27 +00:00
Pete Batard
e1c7c9670b [checksum] more load balancing optimizations
* SetChecksumAffinity() now spreads the affinity evenly between cores
* Also increase the read buffer size to help with performance
* At this stage, the only limiting factor regarding performance seems
  to be the speed of the SHA-256 algorithm...
2016-03-01 17:13:37 +00:00
Pete Batard
e6d3653cac [checksum] use multiple threads and double buffering
* Can reduce the duration of checksum computations by about
  1/3rd, if you have quad core CPU or better.
2016-02-29 21:36:28 +00:00
Pete Batard
bab3453f4d [checksum] factorize common algorithm elements 2016-02-27 22:51:43 +00:00
Pete Batard
b9caf8b605 [core] fix computation of FAT size for Large FAT32
* Ridgecropt's GetFATSizeSectors() computation was incorrect
  and resulted in data sectors being "wasted" (unaddressable)
* See: http://www.syslinux.org/archives/2016-February/024850.html
* Also revert the minfatsize check of Syslinux, since it no longer fails.
2016-02-26 13:26:34 +00:00
Pete Batard
ade5639c00 [misc] more headers cleanup 2016-02-25 18:21:31 +00:00
Pete Batard
250d46e401 [core] use GetTickCount64() always where possible
* Damn you XP!!!
* Also some more code cleanup
2016-02-24 16:10:54 +00:00
Pete Batard
d20eb9262b [misc] fix MinGW compilation
* Makefile was missing from previous patch
2016-02-24 14:35:51 +00:00
Pete Batard
db0880e534 [syslinux] update Syslinux to better align with its official source
* This means disabling some warnings and removing explicit casts, but so be it...
* Also fix the minfatsize check for Large FAT32
2016-02-23 20:52:06 +00:00
Pete Batard
0e65b1c920 [ui] fix flickering of Status and Info fields
* Closes #634
2016-02-23 11:21:36 +00:00
Pete Batard
3a266d92a7 [misc] improve the reporting of ISO props 2016-02-22 12:51:27 +00:00
Pete Batard
64828934e0 [usb] fix processing of sibling device instances
* Issue introduced in f88faf1a4f
* Closes #696
2016-02-21 19:58:48 +00:00
Pete Batard
c3f47ada06 [misc] add missing.h header
* Also clean up code
2016-02-20 22:52:32 +00:00
Pete Batard
d3c9afa2fd [ui] improve removal of <8MB devices
* Closes #692
2016-02-19 12:10:17 +00:00
Pete Batard
9ebdecc124 [ui] fix label not being blanked on device removal
* Part of #694
* Also set rufus-next to 2.8
2016-02-17 11:40:10 +00:00
Pete Batard
f88faf1a4f [usb] enable listing of non USB card readers
* Also fix the VID:PID population of USB card readers
* Also improve enumeration debugging
* Also add an unofficial cheat mode to list non USB *REMOVABLE* drives
* Closes #693
2016-02-16 20:43:30 +00:00
Pete Batard
58755c1bc4 [loc] ensure that the log content is displayed LTR
* Part of #694
* This avoids weird interpretation of content from Windows' RTL logic
* Also fix a WDK compilation error
2016-02-15 23:02:02 +00:00
Pete Batard
140236acd6 [loc] display a note in the log when a translation is behind
* Also make sure the messages regarding language pack availability
  are visible to the users in the log
* Also fix a typo in the Malay translation
2016-02-15 12:50:06 +00:00
Pete Batard
5e8a459828 v2.7 (build 855) 2016-02-14 21:20:47 +00:00
VGPlayer
b288ec118b [loc] update Malay translation
* Note: This translation is still missing completion for
  MSG_096, MSG_098, MSG_116, MSG_196, MSG_198 and MSG_199
  hence v1.0.18
2016-02-14 21:18:07 +00:00
Pete Batard
8473e9ef56 [misc] disable loading of DLLs from current directory
* This is done to prevent potential DLL sideloading attacks
2016-02-09 12:38:09 +00:00
Pete Batard
e7f9ec6f0b [net] fix OS version in user agent string 2016-02-08 18:55:52 +00:00
Tiryoh
b91dfd8048 [loc] update Japanese translation to latest
* Closes #674
2016-02-08 00:17:47 +00:00
Pete Batard
0e91b4cf3d [iso] set ISOHybrids to DD mode if we can't support any ISO boot modes
* Closes #689
2016-02-06 23:46:30 +00:00
Arif Budiman
f66b789071 [loc] update Indonesian translation to latest 2016-02-06 16:17:39 +00:00
Pete Batard
e1499c4db0 [misc] fix WDK warnings 2016-02-05 22:24:47 +00:00
Pete Batard
9de7d0db84 [grub] update Grub4DOS to latest
* NB: While the MBR itself didn't change, the Grub4DOS files  were also
  updated on the server. See http://rufus.akeo.ie/files/grub4dos-0.4.5c/
  and http://rufus.akeo.ie/files/grub4dos-0.4.6a/
* Closes #676
2016-02-05 17:19:57 +00:00
Pete Batard
65bbe984fd [loc] remove nagging about lost translators
* All things considered, this was probably more detrimental than helpful
* Reverts 26af32b522
2016-02-05 13:14:22 +00:00
Margaritis Nikolaos
8bb20f3d7c [loc] update Greek localisation to latest
* Closes #688
2016-02-05 13:02:46 +00:00
Pete Batard
1809ac933a [core] update UEFI:NTFS to latest
* Also update signing script
2016-02-05 10:29:14 +00:00
Pete Batard
9814a638a3 [pki] add both SHA-1 and SHA-256 digital signatures
* "[Grumble] Stupid Microsoft... [Grumble] Couldn't push updated PKI algorithms
   to Windows platforms... [Grumble] Even if their lives depended on it..."
2016-02-03 23:29:34 +00:00
Pete Batard
92cb7d68fa [misc] add support for a 'test' release channel
* This gets enabled only for TEST builds
* Also flesh out the sample rufus.ini
2016-02-03 17:41:27 +00:00
Pete Batard
4474642863 [ui] fix shutdown prevention issues
* Also minor UI improvements for High DPI
* Part of issue #676
2016-02-02 16:14:22 +00:00
Pete Batard
23aa486161 [ui] adaptive height resizing of SHA-256 checksum control 2016-01-31 20:17:08 +00:00
Pete Batard
1f2b73dfac [vhd] fix an issue when extracting WIM with 7z
* 7z has a quirk in that one MUST specify the image index
  when a WIM has multiple images, but the same index MUST
  be omitted if there is only one.
* Because of this, Windows 7 Enterprise images reported a
  (nonfatal) extraction error when trying 7z.
* Closes #680
* Also fix a typo in registry.h
2016-01-26 18:00:20 +00:00
marvelade
3b8b7fb7be [loc] update Dutch translation to latest 2016-01-20 12:45:52 +00:00
Dario Komar
53cc0038d5 [loc] update Croatian translation to latest 2016-01-20 00:40:50 +00:00
Pete Batard
35e02ae8ce [ms-sys] upgrade ms-sys to v2.5.2 2016-01-18 12:20:49 +00:00
Martin Kubánik
8ca9866179 [loc] update Slovak translation to latest 2016-01-15 18:33:15 +00:00
SeymourApps
96f421f7d2 [ui] add drag and drop support
* This feature is only available for Vista or later
* Closes #316
* Closes #668
2016-01-15 17:20:45 +00:00
Nguyễn Thanh Tài
b4128c5ac3 [loc] update Vietnamese translation to latest
* Closes #675
2016-01-15 14:09:32 +00:00
Pete Batard
0fe0086c8f [core] improve WriteFileWithRetry() and move it to stdio.c
* Also fix uprintf() generating an error code if the log window
  is not instantiated yet.
2016-01-15 12:26:31 +00:00
Pete Batard
f2a539a48c [core] add and use WriteFileWithRetry() where possible 2016-01-14 17:43:02 +00:00
marvelade
2430c66a68 [loc] update Dutch translation
* Fixes some typos, language constructs and different ways of saying things.
* From marvelade/rufus@947bd451ca
2016-01-14 00:07:06 +00:00
ヨール
ca5e38d83b [loc] update Japanese translation to latest 2016-01-13 23:36:54 +00:00
Pete Batard
48219af36a [misc] also use SHA-256 for timestamping
* This should ensure that we are SHA-256 everywhere now
2016-01-12 17:53:08 +00:00
Pete Batard
a952221a9b [loc] fix Cyrillic not displaying properly in About dialog
* Issue was introduced in 0f56c2d1ef
* Closes #670
2016-01-11 13:06:33 +00:00
SeymourApps
4b3969e475 [misc] fix ISO label being used on non-bootable format
* Closes #490
* Closes #668
2016-01-10 20:07:35 +00:00
Pete Batard
92631d1204 [misc] use SHA-256 for signing hash
* Should have done that some time ago, especially in light of
  http://social.technet.microsoft.com/wiki/contents/articles/32288.windows-enforcement-of-authenticode-code-signing-and-timestamping.aspx
2016-01-08 16:56:54 +00:00
Pete Batard
b77561bb9b [ms-sys] update ms-sys to current
* NB: This includes an updated Syslinux MBR
2016-01-07 15:49:58 +00:00
Pete Batard
cc65d0494d [misc] update README.md
* Also update copyright year
2016-01-03 22:53:13 +00:00
Sippapas Wangsri
41fe7f3511 [loc] add Thai translation
* Closes #217
2016-01-03 22:41:11 +00:00
Pete Batard
0f56c2d1ef [ui] use 'Segoe UI Symbol' when available
* This is required to display Thai in RTF fields (#217)
* Also fix the position of the Advanced groupbox
2015-12-30 15:27:52 +01:00
Pete Batard
4757a4ac48 [ui] fix second line of SHA-256 not displaying at 100% scaling
* Also set rufus-next to 2.7
2015-12-29 12:37:57 +01:00
Pete Batard
961ca93a51 [iso] fix a possible crash when scanning the install.wim version
* Closes #659
* Issue and fix reported by DaPa
2015-12-28 20:56:10 +01:00
Pete Batard
b7d1b77e4f v2.6 (build 818) 2015-12-22 21:17:54 +01:00
Pete Batard
fe3241d092 [core] ensure that drive zeroing is reset on user cancel
* Closes #651
2015-12-11 23:17:12 +00:00
Pete Batard
d048cc108f [core] don't check for other options when zeroing the drive 2015-12-10 13:14:27 +00:00
Pete Batard
9ef4df6f1f [misc] update Changelog for 2.6 2015-12-10 12:43:22 +00:00
Gabor Csizmadia
a22cbd4020 [loc] update Hungarian translation to latest
* Also corrected typos and replaced some incorrect translations.
* From gcsizmadia/rufus@9b9e025439
2015-12-09 12:40:01 +00:00
Chantella Jackson
241e782e13 [loc] partially update Japanese translation
* Only the ISOHybrid dialog for now...
2015-12-05 22:47:29 +00:00
Tiryoh
aff55d2b6c [loc] update Japanese localization
* From Tiryoh/rufus@f576bc40d7
2015-12-05 15:45:13 +00:00
Pete Batard
77636d948e [core] disable FAT32 option for Windows ISOs in BIOS/CSM mode
* This was inadvertently enabled in Rufus 2.4 (commit 49e5490) and
  is causing all kind of issues, such as #641.
2015-12-05 15:40:35 +00:00
Pete Batard
d7c43e7f60 [misc] ensure 'missing' is checked out as LF 2015-11-18 00:21:56 +00:00
Pete Batard
f5813e9cbd [dos] add missing locale name for CP-720
* Closes #640
2015-11-15 01:34:31 +00:00
Sopor
7082f5552c [loc] minor update for Swedish translation 2015-11-10 23:44:05 +00:00
Pete Batard
60e90f7cef [misc] fix VS2015 warnings when compiling ms-sys for x64
* Closes #637
2015-11-09 18:45:08 +00:00
Ivan Strugar
549b9812cf [loc] add Serbian (Latin) translation 2015-11-08 21:54:00 +00:00
Cristian Stoica
42ae2f26f0 [loc] update Romanian translation
* Closes #636
2015-11-07 16:27:07 +00:00
Pete Batard
549bf731a6 [ui] fix UEFI/BIOS mode never being disabled once enabled
* Closes #635
* Also fix minor logic issue and trailing whitespaces
2015-11-05 22:54:38 +00:00
Pete Batard
759599221c [usb] fix detection for some Innostor UFDs 2015-11-05 21:32:08 +00:00
Pete Batard
b66401b355 [core] add a cheat mode to zero the USB device
* Alt-Z to zap!
* Also set rufus-next to 2.6
2015-11-04 13:58:19 +00:00
Gintaras Venslovas
521ffc11df [loc] update Lithuanian translation to latest 2015-11-04 11:31:21 +00:00
Pete Batard
ad68ccfac9 [syslinux] fix a crash if the downloaded Syslinux content has been modified
* Some stupid corporate firewalls will return garbage content for ldlinux.bss/ldlinux.sys
  instead of a 403 (as they really should), which creates an issue with the code written
  by the Syslinux people, as they forgot to check for potential overflows...
2015-10-28 23:17:55 +00:00
Pete Batard
c12977a164 v2.5 (build 799) 2015-10-26 19:08:11 +00:00
Krasimir Newenow
013a4ae082 [loc] update Bulgarian translation to latest 2015-10-26 19:01:13 +00:00
Piotr Halama
ab08187c42 [loc] update Polish translation to latest 2015-10-26 12:23:45 +00:00
Bik Mung
ac11e761b7 [loc] update Chinese (Simplified) translation to latest 2015-10-26 12:16:24 +00:00
Pete Batard
fb95409114 [misc] fix XP support... again
* Also add a close button to log dialog
* Also improve README.md
2015-10-23 22:31:23 +01:00
Kevin Vu
764b20b6b0 [misc] fix a typo in README.md 2015-10-23 11:45:40 +01:00
Pete Batard
621d1cae16 [misc] fix WDK compilation 2015-10-22 23:20:50 +01:00
ziaa
a5de551d98 [loc] Add Persian translation
* From ziaa/Rufus_Persian_Translation@ba4603011f
* Closes #384
2015-10-22 19:19:39 +01:00
Chocobo1
5e02379af4 [loc] update Chinese (Traditional) translation to latest
* Also trim trailing spaces
* Closes #622
* Closes #624
2015-10-22 19:10:57 +01:00
Elvin Məlikov
d0aa467de0 [loc] add Azerbaijani translation 2015-10-22 18:32:57 +01:00
Pete Batard
36bf6c7036 [loc] fix RTL display for the Info box
* Another issue from #621
* Also add ETO_NUMERICSLOCAL flag
2015-10-22 18:25:40 +01:00
Константин В
c461cc8148 [loc] update Ukrainian translation to latest 2015-10-22 00:44:20 +01:00
Roberto Boriotti
874ac5507f [loc] update Italian translation to latest 2015-10-22 00:43:15 +01:00
Pete Batard
805d44a5b8 [loc] fix additional right-to-left issues
* Fix mishandling of spaces after period, comma, colon, etc.
* Fix Test/Alpha notifications not displaying properly in RTL mode
* Part of #621
2015-10-22 00:40:59 +01:00
Thilo Langbein
5e85d4e47a [loc] update German translation to latest 2015-10-19 22:48:49 +01:00
Кирилл Иванов
a7948dd41e [loc] update Russian translation to latest 2015-10-19 22:46:56 +01:00
Pete Batard
0e34d7aa8d [loc] fix centering of update settings dialog for RTL languages
* This is part of #621
2015-10-19 22:15:11 +01:00
Pete Batard
916eaa4113 [ui] fix an issue with automatic resizing of the update policy
* Closes #620
2015-10-18 22:00:03 +01:00
Aldis Tutins
4bd7d5f44f [loc] update Latvian translation to latest 2015-10-18 21:39:41 +01:00
Pete Batard
e1f8b276c8 [loc] fix various RTL issues
* MSG_002 doesn't display in RTL
* Update Policy dialog loses RTL setting after the first paragraph
* Some text displayed in native Windows message boxes is not using RTL
 (even as the Message Box itself will display the rest of the UI elements as RTL)
* Detect if the relevant language pack is installed and use MessageBoxEx to
  display native message box buttons using the selected language.
* All theses issues are part of #621
* Also remove trailing whitespaces
2015-10-18 21:37:58 +01:00
Sopor
236bf77c24 [loc] update Swedish translation to latest 2015-10-18 19:34:51 +01:00
Dinis Medeiros
45acfad11b [loc] update Portuguese (Portugal) translation to latest 2015-10-18 19:31:56 +01:00
Riku Brander
2eee1a7a96 [loc] update Finnish translation to latest 2015-10-18 19:29:23 +01:00
Richard Kahl
508c86289a [loc] update Czech translation to latest 2015-10-18 19:27:52 +01:00
Mads Haupt
362e05ff64 [loc] update Danish translation to latest 2015-10-17 23:19:47 +01:00
Matej Horvat
1f74a23cf2 [loc] update Solvene translation to latest 2015-10-17 23:17:30 +01:00
Mehmetali Kuran
cfe53aafd0 [loc] update Turkish translation to latest 2015-10-17 23:14:59 +01:00
Jan-Erik Drangevåg
50d8cbaaa7 [loc] update Norwegian translation to latest 2015-10-17 01:58:32 +01:00
Gîrlea Alexandru
4601d62234 [loc] update Romanian translation to latest 2015-10-17 01:57:06 +01:00
MaKK
ec3f9594d9 [loc] update Spanish translation to latest 2015-10-17 01:54:11 +01:00
trinaldi
24edf49313 [loc] update Brazilian Portuguese translation to latest
* Closes #619
2015-10-17 01:50:44 +01:00
Pete Batard
a228919263 [loc] update base translation to v1.0.19
* Also update French translation to latest
* Also improve signature check for downloaded updates
2015-10-15 23:51:06 +01:00
Pete Batard
7b3b96cd9e [pki] add signature check on update downloads - part 2
* Closes #158
2015-10-13 23:29:30 +01:00
Pete Batard
cd911ad738 [pki] add signature check on update downloads - part 1
* This is part of enhancement #158
2015-10-12 22:03:41 +01:00
Pete Batard
e1d0ab73a5 [usb] fix default listing for ADATA USB HDDs
* Also improve debug print statement in USB enumeration
* Closes #610
2015-10-03 23:47:06 +01:00
Bik Mung
2cfb53c34e [loc] update Chinese Simplified translation to latest 2015-10-02 23:04:28 +01:00
Pete Batard
af53d11718 [misc] add a cheat mode to not lock the physical drive during partitioning and formatting
* In some circumstances, this *might* help with the infamous #312 issue, though
  I will still recommend to figure out which application is keeping a lock instead
  of trying to cheat...
2015-10-01 22:22:20 +01:00
Pete Batard
4a5aa4bd2f [misc] add build number to Windows version for Windows 8 or later
* Also set rufus-next to 2.5
2015-09-30 23:08:07 +01:00
Dario Komar
809d94bf09 [loc] update Croatian translation to latest 2015-09-30 00:14:56 +01:00
Chocobo1
9be8bc3bb0 [loc] update Traditional Chinese translation to latest
* Closes #606
2015-09-30 00:04:58 +01:00
Pete Batard
c2293b5177 [misc] add SHA-256 checksum computation
* Closes #607
2015-09-30 00:00:55 +01:00
MaKK
3238c9e637 [loc] update Spanish translation to latest
* Also complete missing Danish translation (by Mads Haupt)
2015-09-28 22:53:09 +01:00
Pete Batard
5025e27228 [misc] fix XP breakage
* Can't wait until XP support is dropped from Rufus altogether...
2015-09-28 02:32:11 +01:00
Pete Batard
9411716074 [misc] fix a coverity report in msapi_utf8.h 2015-09-28 01:28:29 +01:00
Pete Batard
ae06a39d2f v2.4 (build 755)
* Also set global scaling factor before the dialog is initialized and
  remove unneeded scaling initialization.
2015-09-27 20:01:38 +01:00
Viszokai György
2b390aaf80 [loc] update Hungarian translation to latest 2015-09-26 23:48:45 +01:00
Mads Haupt
fb1d2b5efa [loc] update Danish translation to latest 2015-09-26 00:45:28 +01:00
Pete Batard
585469b8d9 [ui] resize the About and Update dialogs according to content
* Also update credits for Polish translation
2015-09-26 00:30:16 +01:00
Gîrlea Alexandru
b7a0126c3b [loc] update Romanian translation 2015-09-25 01:38:26 +01:00
Pete Batard
daf039ee18 [ui] fix an UI scaling issue with high DPI displays for non English languages
* Closes #601
2015-09-24 23:59:10 +01:00
Margaritis Nikolaos
ec0c41d4c2 [loc] update Greek translation to latest
* Closes #599
2015-09-24 22:11:36 +01:00
Arif Budiman
ad305ca162 [loc] update Indonesian translation to latest
* Also add a missed update for Korean translation
2015-09-23 18:35:47 +01:00
Pete Batard
00a4909ff7 [misc] update Changelog for 2.4 release 2015-09-21 23:05:21 +01:00
Na Jiyoun
b26106d40f [loc] update Korean translation to latest 2015-09-21 23:03:17 +01:00
Roberto Pino
2f34444ece [loc] update Dutch translation to latest 2015-09-21 18:43:53 +01:00
Pete Batard
7618913c47 [ui] more high contrast fixes
* Closes #592
2015-09-21 00:20:19 +01:00
Pete Batard
703e169a8c [core] fix elimination of card readers that contain no media
* Closes #400
2015-09-19 17:00:51 +01:00
Riku Brander
e8b6d70fb8 [loc] update Finnish translation to latest 2015-09-18 21:11:58 +01:00
Chefrour Djalel
2218eafda1 [loc] update Arabic translation to latest 2015-09-18 21:08:15 +01:00
Thilo Langbein
3ac164132b [loc] update German translation to latest 2015-09-17 00:24:51 +01:00
Pete Batard
a9b681976a [ui] enable some settings and cheat modes to be persisted
* Currently, the user settings that are persisted are:
  - Advanced mode (UI)
  - Timestamps preservation (Alt-T)
  - Proper unit Display (Alt-U)
  - USB debug (Alt.)
  - Fake drives detection (Alt-B)
  - Dual UEFI+BIOS for Windows images (Alt-E)
  - Force Large FAT32 formatting (Alt-L)
  - VMWare Disk Detection (Alt-W)
* Settings that are *NOT* persisted include:
  - UDB HDD listing (too dangerous!)
  - NTFS compression (Alt-N)
  - ISO/Joliet/Rock-Ridge (too confusing if not reset)
  - Disabling of size limits (Alt-S)
* Closes #436
2015-09-17 00:20:22 +01:00
Mehmetali Kuran
1dc974bb24 [loc] additional update to Turkish translation 2015-09-15 23:23:24 +01:00
Pete Batard
c45ff77b55 [core] fix a bug with hub assignation
* Also improve detection for OCZ UFDs
* Closes #596
2015-09-14 23:15:59 +01:00
Martin Kubánik
249d1adcbd [loc] update Slovak translation to latest 2015-09-14 22:05:04 +01:00
Константин В
c78f841af5 [loc] update Ukrainian translation to latest 2015-09-13 02:08:52 +01:00
Aldis Tutins
14add44938 [loc] update Latvian translation to latest 2015-09-13 01:57:30 +01:00
Slovenian: Matej Horvat
c1c7b2cede [loc] update Slovene translation to latest 2015-09-11 02:47:44 +01:00
Richard Kahl
0377bd30a9 [loc] updated Czech translation 2015-09-09 17:57:36 +01:00
Mehmetali Kuran
eccc89f3d4 [loc] update Turkish translation to latest 2015-09-09 15:32:23 +01:00
Pete Batard
1aae24903a [core] fix detection of some Samsung UFDs 2015-09-09 01:14:49 +01:00
Piotr Halama
b73e2d80de [loc] update Polish translation to latest 2015-09-06 23:19:26 +01:00
Pete Batard
7ad71a34f8 [core] fix detection of some SanDisk Extreme UFDs
* Also add a debug mode for troubleshooting user reports of HDDs vs UFDs
* Closes #593
2015-09-06 17:47:39 +01:00
Dinis Medeiros
84c95598a0 [loc] update Portuguese (Standard) translation 2015-09-06 14:21:55 +01:00
Krasimir Newenow
f40e944f83 [loc] update Bulgarian translation to latest 2015-09-06 14:18:05 +01:00
Pete Batard
67081fac6e [cmp] update Bled to latest
* Also fix a possible buffer overflow in msapi_utf8.h
2015-09-05 18:22:52 +01:00
Pete Batard
ff9eae4e6d [vhd] fix broken save to VHD cheat mode
* vhd_save wasn't static, which of course created all kind of issues
  when the VHD save thread tried to use it while it was being freed...
* Closes #591
2015-09-04 14:15:22 +01:00
Pete Batard
4788ee25d2 [misc] fix a WDK warning 2015-09-04 13:53:35 +01:00
Johannes Holzhäuer
387b1fbce7 [misc] do not declare _CRT_SECURE_NO_WARNINGS and use secure functions
* From NickPapagiorgio/rufus@c144d76852
2015-09-04 13:42:55 +01:00
Кирилл Иванов
16d178e720 [loc] update Russian translation to latest 2015-09-04 12:03:49 +01:00
Roberto Boriotti
e13b190cf6 [loc] update Italian translation to latest 2015-09-04 12:00:07 +01:00
Tiago Rinaldi
2fe6570490 [loc] update Brazilian Portuguese translation to latest 2015-09-04 11:47:10 +01:00
thanhtai2009
ccad5921e9 [loc] update Vietnamese translation to latest
* Closes #590
2015-09-04 11:37:37 +01:00
Sopor
11eb8b848a [loc] update Swedish translation to latest 2015-09-04 11:31:30 +01:00
Pete Batard
af684cd700 [loc] fix a small typo 2015-09-04 00:37:19 +01:00
Jan-Erik Drangevåg
855fa59f9a [loc] update Norwegian translation to latest 2015-09-04 00:31:03 +01:00
Pete Batard
67d143dbff [loc] set current translation scheme to v1.0.18
* Also make the menu_c32_test.iso an ISOHybrid
2015-09-03 13:13:26 +01:00
Pete Batard
49e54904c2 [core] fix population of label and filesystem for ISOHybrid images
* Also fix a misleading error about incompatible file system for pure EFI images (such as Acronis 2016)
* Closes #588
2015-09-02 23:34:20 +01:00
Pete Batard
5024e7f65e [internal] refactor iso_report -> img_report
* Also set rufus-next to 2.4
2015-09-02 23:20:00 +01:00
Pete Batard
102e17699a [core] fix detection of some Corsair UFDs
* Closes #584
2015-08-31 12:11:35 +01:00
Pete Batard
87892e24cc [misc] remove unwanted debug statements
* Also clarify ChangeLog
2015-08-29 17:15:39 +01:00
Pete Batard
3839bf42ce v2.3 (build 709)
* Closes #476
* Also removes the stacksize warning during VS code analysis
2015-08-28 23:12:55 +01:00
Pete Batard
64e3512fdc [loc] update French translation
* Also update translator notes in anticipation of 1.0.18
2015-08-28 00:49:13 +01:00
Pete Batard
6162c980ae [grub] update Grub4DOS to latest
* Well, the MBR hasn't changed, but since we updated grldr on the server...
2015-08-28 00:09:40 +01:00
Pete Batard
6a9a14bfb2 [misc] fix coverity defects
* Also update coverity build script
2015-08-27 18:37:04 +01:00
Pete Batard
cc10821361 [iso] disable To Go mode for Windows 10 ESD ISOs
* Microsoft somehow managed to make their ESD WIMs incompatible with their own APIs
  (yes, EVEN the Windows 10 WIM API), so we must filter them out...
2015-08-27 18:22:27 +01:00
Pete Batard
dd5d6faed3 [misc] update ChangeLog 2015-08-23 18:03:53 +01:00
Pete Batard
d1eccbd107 [togo] fix bcdboot errors
* Closes #558
2015-08-23 17:03:35 +01:00
Pete Batard
7ff5b3ca6e [core] fix the retrieval of VID:PID for grandfathered devices
* Closes #576
2015-08-22 21:44:31 +01:00
Pete Batard
7943f77914 [ui] fix potentially truncated SHA1 sum field
* Also update licensing terms
* Closes #577
2015-08-22 15:57:23 +01:00
Pete Batard
fb09802c0f [ui] prompt users how they want to write ISOHybrid images
* Closes #543
* Also update localization messages and image analysis report
2015-08-22 15:21:48 +01:00
Pete Batard
1106c22acc [ui] fix Alt-I cheat mode
* Also move VHD save into a separate function
* Closes #569
2015-08-14 23:09:45 +01:00
Pete Batard
ab6f0ef0bb [iso] fix Fedora UEFI support
* One of the ANNOYING distros that relies on an extended label to
  find the install media and is now doing that for Grub/EFI.
* Closes #547
2015-08-13 23:31:12 +01:00
Pete Batard
29588ac684 [core] USB detection improvements
* Properly handle errors in GetUSBProperties and fix an issue
  where devices were not being listed as a result
* Add more USB debug messages
2015-08-12 20:03:51 +01:00
Pete Batard
5004374277 [misc] update to VS2015 and fix VS code analysis issues
* Also update Bled to latest, as well as build scripts
* Note: Considering that Visual Studio 2015 is both freely and legally
  available for anyone who wants to use it to compile Rufus, starting
  with this commit, I will NOT be supporting any other version of Visual
  Studio but 2015.
2015-08-10 23:30:23 +01:00
Pete Batard
b854f70bae [misc] fix MinGW-w64 compilation issues
* Closes #553
2015-08-05 22:36:22 +01:00
Pete Batard
e1f76a5dd1 [core] make check for portable version case insensitive
* Closes #482
2015-08-04 22:31:37 +01:00
Pete Batard
289e12dbbb [ui] adjust status bar button for XP 2015-07-09 01:20:21 +01:00
Pete Batard
c7c83a16ed [ui] use a toolbar button for the checksum
* Also fix tabbing order for controls
* Also provide the name of the image in the checksum report
2015-07-06 22:23:24 +01:00
Pete Batard
957bb9c495 [ui] add new dialog to display MD5 & SHA-1 2015-07-04 22:48:11 +01:00
Pete Batard
485b016f17 [internal] use DialogIndirect to reduce the number of dialogs in the RC
* Since Microsoft forces our hand, we hack away into our compiled RC
  resources and change dialog attributes on the fly so that:
  - we can switch between LTR & RTL
  - change the font for Windows XP
* Note that the base RC font has been changed to "Segoe UI Symbols"
  so that it looks the same in the editor (at least for English) but
  can accommodate the length required for "MS Shell Dlg"
2015-07-04 18:27:15 +01:00
Pete Batard
91e699d38a [ui] use a hidden button on the status bar to generate the hash
* Also add a tooltip for the language bar
* Also reduce the size of the icon in README.md
2015-07-03 17:23:00 +01:00
Pete Batard
3ccae1d2e2 disable MS-DOS creation for Windows 10 or later
* Microsoft removed the diskcopy.dll that contained the MS-DOS floppy image
  Not a big loss, since we have FreeDOS... ;)
* Closes #545
* Also apply a long overdue refactoring for boot and target types
* Also update the README to add an icon
2015-07-01 21:26:41 +01:00
Pete Batard
14b8ab6a43 [ui] add a status bar button to initiate checksum computation
* Just click the "hash" sign to get a hash
* Also clean up status bar related functions
2015-06-30 23:22:10 +01:00
Pete Batard
e0422f4596 [misc] fix WDK compilation and optimize checksums 2015-06-30 23:11:37 +01:00
Pete Batard
c95910e268 [misc] add MD5 and SHA-1 computation for current image
* Uses the Alt-M cheat mode for now
* Closes #475
2015-06-29 23:43:49 +01:00
Pete Batard
477674016e [core] make sure the system disk is never listed
* When using VHD or VMDK drives, it was possible for the system disk to be listed.
* Closes #541
2015-06-27 22:12:30 +01:00
Pete Batard
f04167c51c [core] add enumeration debugging
* Alt-. to toggle
* Also add configure option for test releases
2015-06-26 22:49:32 +01:00
Pete Batard
d2576a9f5e [misc] fix a buffer overflow issue in RunCommand
* The size in CreatePipe is a suggested size, not an absolute one.
* As a result, we could overflow our fixed size buffer.
2015-06-25 19:51:42 +01:00
Pete Batard
8b880a7d31 [iso] add timestamp preservation
* Enabled through the Alt-T cheat mode
* Closes #389
2015-06-25 19:48:37 +01:00
Jaka Smrekar
c8cefb4f2a [misc] convert README file to MarkDown
* Closes #539
2015-06-24 20:10:09 +01:00
Pete Batard
cc6234296d [togo] don't apply the 'set internal disks offline' policy
* This creates issue due to dism incompatibilities between Windows versions
  and some users are puzzled why they don't see their internal disks.
* Also make the bcdboot call more robust by using the system one if the USB one fails
* Also fix small issues in RunCommand() and MountVolume()
2015-06-24 20:00:20 +01:00
Pete Batard
a9ee79bdad [ui] fix accessibility issues for high contrast scheme
* Also make sure we use system colours everywhere, rather than our own
* Closes #535
2015-06-21 17:59:59 +01:00
Pete Batard
517a14ccb1 [cmp] add pkzip decompression support
* Now you can install a Raspbian image without having to decompress it first ;)
2015-06-20 18:40:55 +01:00
Pete Batard
7567ddef07 [ui] fix cursor being displayed within Info field
* Also fix an MSVC code analysis warning in iso.c
* Closes #527
2015-06-17 18:32:19 +01:00
Pete Batard
00947eb865 [misc] fix getopt build path for Visual Studio
* getopt was being built outside of the project directory
* Also add a scripts to create git hooks and .amend
2015-06-16 19:04:43 +01:00
Wédney Yuri
a282b09a47 [loc] fix a typo in Brazilian Portuguese translation
* Closes #529
2015-06-14 00:03:46 +01:00
Arif Budiman
0de5c525a1 [loc] update Indonesian translation 2015-06-13 23:58:56 +01:00
Pete Batard
4c8cd053f0 [misc] fix WDK compilation
* Also ensure that the VHD extension is properly set on proposed dump name
2015-06-08 02:42:02 +01:00
Pete Batard
4f0e8a24a8 [vhd] add cheat mode to save the current device to VHD
* Alt-V = Save to VHD
2015-06-07 22:51:54 +01:00
Pete Batard
0e59b86abc [ui] fix dropdown being populated on ISO selection when no device is present
* Also remove unneeded code in libfat.h
* Also set rufus-next to 2.3
2015-06-06 23:13:39 +01:00
Pete Batard
9e7b0bad89 [syslinux] add support for 4K sector size
* Also add 4K sector size support in ms-sys
2015-06-02 21:47:44 +01:00
Pete Batard
bf967dc39b v2.2 (build 668)
* Also fix display of some of the buttons on Windows XP
2015-05-31 20:10:26 +01:00
جلال شفرور
2b212c0c88 [loc] update Arabic translation to latest 2015-05-31 01:14:33 +01:00
Pete Batard
93d0cf7fbe [grub] update Grub4DOS to latest
* Closes #516
2015-05-28 19:14:53 +01:00
Pete Batard
ac213a16e9 [core] fix an enumeration issue and add support for ASUS UASP Turbo Mode
* Our detection for a match in the hash table, during USB enumeration, always
  pointed to the first hub when no match was found.
* Also, some USB mass storage devices (ASUS Turbo Mode devices, iPods) may
  have an additional driver inserted, which we now try to handle by looking
  up the grandparent.
* Thanks to NaoDarkness for helping investigate this
* Closes #513
2015-05-28 13:33:51 +01:00
Pete Batard
94e7e41082 [misc] use BOOLEAN in structs rather than BOOL
* int vs byte
* Also gear up for 2.2 release
2015-05-24 23:06:36 +01:00
Pete Batard
5e131a7f56 [ui] indicate to the user if UEFI-CSM mode is used
* Also fixes Japanese for UEFI-CSM
* Closes #508
2015-05-24 21:50:50 +01:00
Pete Batard
3edb9d93f7 [misc] don't prevent Windows shutdown if Rufus is running
* Closes #512
2015-05-22 00:01:42 +01:00
Pete Batard
cf391d693d [ui] fix issues with the Info field
* Make the field a tab stop for screen readers
* Ensure the font is consistent
* Clip text so that it doesn't overflow
* Closes #503
2015-05-21 23:51:48 +01:00
Pete Batard
c84075385e [ui] improve application look on high DPI displays
* Fix Quick Format option overlapping boot option dropdown
* Fix vertical spacing between "Create bootable disk" and "Create extended label and icon files"
* Fix vertical spacing of progress bar in non advanced mode
* Align and resize Advanced Options button
* Align and resize Select Image button
* Fix vertical centering of Status text
* Add 64x64px icon so that the About dialog looks better at 200% size
2015-05-15 00:36:42 +01:00
Pete Batard
28e3cf2537 [misc] alright, alright, Visual Studio, you win!
* I'm tired of tiptoeing around the resource editor, so that it doesn't
  conflate ES_XYZ and WS_XYZ codes into a non intuitive hex value.
2015-05-12 19:14:57 +01:00
Pete Batard
d593e03c2b [ui] improve accessibility
* Ensure that focus is set back to a button after some operations
* Remove a confusing forced focus on Start after boot type dropdown selection
* Ensure that the Advanced Options and Select Image buttons have a label that
  can be picked up by screen readers such as nvda
* Closes #243
* Closes #499
2015-05-08 23:37:22 +01:00
Dinis Medeiros
a6ec806770 [loc] update Portuguese (Portugal) translation
* Closes #210
* Also update LOST_TRANSLATORS
2015-05-04 13:04:24 +01:00
Pete Batard
d4b663b222 [ui] hint that UEFI/CSM is used when BIOS+UEFI is selected for target system
* Also drop "Computer" from all languages (except Japanese as I think it would be incorrect)
* Also rename the manifest
2015-05-02 14:41:46 +01:00
Quppa
629cfa68ad [ui] fix keyboard accessibility
* The tab and arrow keys can now be used to navigate around the various dialogs.
* This should fix part of #243
* Closes #491
2015-04-19 13:45:20 +01:00
Pete Batard
5669c3c885 [loc] Keep Portuguese (Brazilian) and Portuguese (Portugal) as separate translations
* Trying to base the Brazilian translation on the Standard one is problematic - don't bother
2015-04-19 13:14:40 +01:00
Quppa
3579c770a2 [ui] modernize the language button
* The language button is now a toolbar button with a dropdown arrow.
* Its icon is a globe for Windows XP to Windows 7 and a globe with characters
  on it for Windows 8 and above (same as the icon for the 'Languages' control
  panel).
* Closes #488
2015-04-19 01:52:39 +01:00
Pete Batard
fa5f8702c3 [misc] change default number of bad blocks passes to 1
* Also fix a potential issue if the server adds a charset
  to plain/text data on update check
2015-04-18 23:14:55 +01:00
Bik Mung
c1cd6c7762 [loc] update Simplified Chinese translation
* Also remove Simplified Chinese from lost translators
2015-04-04 00:01:45 +01:00
Pete Batard
8ab3847694 [syslinux] partially improve support for openSuse based live ISOs
* Using /syslinux.cfg creates issues, so we force the use of /boot/[i386|x86_64]/loader/isolinux.cfg
* IMPORTANT: This does NOT fix openSuse based live ISO support as the openSuse boot scripts are NOT
  designed to handle anything else but an ISO9660 filesystem. Especially, they cannot handle FAT.
* Closes #478
* Also set rufus-next to 2.2
2015-03-30 02:09:52 +01:00
Pete Batard
eee9458984 v2.1 (build 649)
* Reduce log verbosity on format tasks
* Also update "lost translators" list
2015-03-23 22:18:29 +00:00
Roberto Pino
2ab2372cf6 [loc] update Dutch translation 2015-03-23 22:16:01 +00:00
Pete Batard
7f621b9648 [core] enable the installation of a bare UEFI:NTFS in advanced mode
* Closes #468
* Also prevent drives with UEFI:NTFS from being listed as multi-partitions
* Also add a label for the UEFI:NTFS FAT partition
* Also fix internal chver script
2015-03-18 21:34:28 +00:00
Pete Batard
ee5af9f8fc [grub] disable support for ISOs that don't report a proper GRUB version
* Also update localization for supported boot methods
* Closes #467
2015-03-17 01:18:09 +00:00
Pete Batard
66edd53b2c [core] add x86_32 boot for UEFI:NTFS
* NB: This increases the compressed executable size by 25K :(
* Also set rufus-next to 2.1
2015-03-16 20:34:04 +00:00
Bo Riis
af965e8ff9 [loc] update Danish translation 2015-03-15 21:42:46 +00:00
Pete Batard
528add160f [core] fix creation of Windows 10 Preview x32 UFDs
* Rufus was detecting the ISO as needing the Windows 7 EFI workaround
  despite the presence of bootia32.efi
* Closes #462
2015-03-11 21:45:06 +00:00
Pete Batard
0905e932c1 [core] set UEFI:TOGO GPT partition type to Basic Data
* It was set to EFI System, however the Windows installer fails if it
  detects 2 EFI system partitions on the same system (and it creates
  one during standard installation).
* This caused UEFI/GPT/NTFS installation to fail with Rufus 2.0
* Closes #461
* Also add the missing copyright notices for Grub4DOS and GRUB2
2015-03-11 21:43:08 +00:00
Pete Batard
0f4067f591 [misc] add notification on forced update check when no update is found
* Closes #455
2015-03-09 02:49:11 +00:00
Nguyễn Thanh Tài
716dad8a8e [loc] Add Vietnamese translation
* Closes #235
* Closes #457
2015-03-09 02:30:13 +00:00
Pete Batard
80406bac08 v2.0 (build 639)
* Also fix a Syslinux/MinGW warning
2015-03-03 21:32:41 +00:00
Gintaras Venslovas
07bc55aed3 [loc] update Lithuanian translation
* Also fix missing quotes in Norwegian translation
2015-03-02 23:26:43 +00:00
Chantella Jackson
175104356c [loc] update Japanese translation 2015-02-28 16:41:43 +00:00
Tiago Rinaldi
c8e5c1ce6f [loc] update Brazilian Portuguese translation
* Also fix a typo in Swedish
2015-02-27 23:20:25 +00:00
Kyle
c489788aa8 [loc] update Traditional Chinese translation
* Also update "Ready" message for Swedish (Courtesy of Sopor)
2015-02-27 18:11:27 +00:00
Pete Batard
000f60c535 [core] improve support for multipart install.wim
* Closes #450
2015-02-26 23:47:20 +00:00
Pete Batard
785150dcb2 [core] fix "Requesting Disk Access" issue with Syslinux/NTFS
* See http://reboot.pro/topic/17902-rufus-v130-has-been-released/?p=190958
* Also fix non continuation of format operation after Syslinux has been downloaded
* Also fix missing Syslinux installation for ReactOS
2015-02-26 00:15:13 +00:00
Pete Batard
d22933636c [core] fix precedence of Syslinux over Grub
* Closes #449
* Also fix Coverity builds
2015-02-25 01:45:47 +00:00
Margaritis Nikolaos
f2f638c60e [loc] update Greek translation
* Closes #448
2015-02-24 15:30:37 +00:00
Pete Batard
821a9df1c8 [cmd] add -g option to disable the commandline hogger (rufus.com)
* This can be useful when launching Rufus from the commandline or a batch file with 'start /wait'
* Also fix a crash when specifying an unknown commandline option
* Also fix the commandline usage help
2015-02-22 01:14:00 +00:00
Riku Brander
fe55f30277 [loc] update Finnish translation 2015-02-19 00:48:51 +00:00
Pete Batard
c53b80ba29 [ui] fix artifacts when toggling To Go mode 2015-02-16 23:05:27 +00:00
Константин В
44e3c44727 [loc] update Ukrainian translation 2015-02-16 22:46:18 +00:00
Gîrlea Alexandru
a2186f7b48 [loc] update Romanian translation to latest 2015-02-16 22:34:18 +00:00
Pete Batard
1dc55596d5 [grub] update Grub4DOS to 0.4.6a
* Also fix Grub4DOS and Grub2.0 versioning issues
* Also ensures that operation gets canceled on missing download
* Also fix German translation and remove trailing whitespaces in .loc file
* Also fix inverted display status for VMWare disk detection
2015-02-16 22:29:23 +00:00
Pete Batard
24b435648e [misc] update sample rufus.ini
* Also minute updates to ChangeLog.txt
2015-02-16 10:47:58 +00:00
Krasimir Newenow
6ba3a8e70a [loc] update Bulgarian translation 2015-02-15 21:17:03 +00:00
Pete Batard
3ab11afcb1 [loc] update Korean translation 2015-02-14 23:25:40 +00:00
Pete Batard
a783eeef22 [misc] fix some Coverity issues
* Also add a Coverity build script and update Bled to latest
2015-02-13 19:51:30 +00:00
Aldis Tutins
6bf699a3f8 [loc] minor updates to the Lavtian translation 2015-02-13 14:04:33 +00:00
Pete Batard
18b267c80a [ui] add compressed format to DD image listing
* Also add a reference to BusyBox/Bled in additional copyrights
2015-02-13 00:37:21 +00:00
Viszokai György
ee1b38e428 [loc] update Hungarian translation
* Also remove Hungarian from M.I.A. list
2015-02-12 16:22:57 +00:00
Thilo Langbein
38d0cdaa60 [loc] update German translation 2015-02-12 16:05:50 +00:00
MaKK
42f9bb28bb [loc] update Spanish translation
* Also remove Spanish from the M.I.A. list
2015-02-12 16:00:35 +00:00
Pete Batard
818fa4da88 [misc] pocketful of enhancement and fixes - part 5
* Check compressed DD images for boot capability
* Add DisableLGP setting
* Silence libcdio errors when scanning non ISO images
* Ensure UI displays "No image selected" when relevant
* Also update Bled to latest
2015-02-11 23:22:18 +00:00
Кирилл Иванов
63bb91493a [loc] update Russian translation 2015-02-11 21:38:25 +00:00
Pete Batard
cf7e52e051 [misc] pocketful of enhancement and fixes - part 4
* Fix disappearance of "Start" button when selecting an ISO with
  no target (reported by Sopor)
* Add commented sample ini file
* Add AC_PROG_AR macro in configure.ac
* Update ChangeLog for BETA
2015-02-10 22:45:48 +00:00
Pete Batard
0e1625975c [misc] fix default listing of Samsung DriveDroid devices
* Closes #401
2015-02-10 01:16:48 +00:00
Pete Batard
e4e9e87768 [misc] handle multipart install.swm Windows images
* Closes #437
2015-02-09 19:34:41 +00:00
Pete Batard
9fef4065b4 [ui] fix Info box display
* Text artifacts were being left due to not filling the background
* Also add Danish to the list of languages for which we lost a translator :(
2015-02-09 13:36:03 +00:00
Pete Batard
1c322aba56 [misc] drop the micro from the version
* Closes #439
2015-02-08 22:59:09 +00:00
Piotr Halama
61d2efc6b7 [loc] update Polish translation 2015-02-08 21:08:12 +00:00
Aldis Tutins
2d2beaebae [loc] update Latvian translation 2015-02-08 01:18:16 +00:00
Martin Kubánik
3563f95787 [loc] update Slovak translation 2015-02-08 01:00:03 +00:00
Richard Kahl
91da434c88 [loc] update Czech translation 2015-02-08 00:55:32 +00:00
Sopor
baff7aff1e [loc] update Swedish translation 2015-02-08 00:50:31 +00:00
Pete Batard
58d7eaed58 [loc] remove the dots on "READY" and other status messages
* Also fix a typo and some sizing in the Turkish translation
2015-02-08 00:49:07 +00:00
Pete Batard
a13351b656 [ui] fix multiple UI issues
* Disable Windows To Go support for Windows 7 and earlier
* Fix placement of the advanced button on high DPI displays
* Reposition the log window for Windows 10
* Use a slightly larger and better scaling font for the info field,
  and also fix the vertical text alignment
2015-02-08 00:38:21 +00:00
Pete Batard
09d24551b8 [misc] fix Unicode support for MinGW
* Looks like GetWindowTextW/GetWindowTextU were set to fail in release
  versions due to UNICODE not being enabled... Dammit!
2015-02-08 00:34:22 +00:00
Mehmetali Kuran
b565405c80 [loc] update Turkish translation 2015-02-06 23:50:50 +00:00
Roberto Boriotti
52ad7d20c2 [loc] update Italian translation 2015-02-06 23:35:44 +00:00
Jan-Erik Drangevåg
9111b00c61 [loc] updated Norwegian translation 2015-02-06 23:33:21 +00:00
Dario Komar
942a11c67f [loc] update Croatian translation 2015-02-06 16:47:31 +00:00
Matej Horvat
c02fc1fc9f [loc] update Slovene translation 2015-02-05 22:35:11 +00:00
Pete Batard
e01585246c [loc] updated English and French translations to v1.0.17
* Also add details of the changes in ChangeLog.txt
2015-02-04 23:48:35 +00:00
Pete Batard
b90bab6a16 [loc] remove MSG_096 - MSG_098
* These messages will need to be replaced for the 2.0 release
2015-02-04 12:08:44 +00:00
Pete Batard
26af32b522 [loc] add random request for translator help where needed
* This will randomly produce a message for users of a translation that
  hasn't been updated in a while requesting help and pointing them to:
  http://rufus.akeo.ie/translate
* Closes #435
* Also fix a WDK compilation issue with strtoll
2015-02-03 23:42:27 +00:00
Pete Batard
474e136e52 [loc] add Windows To Go dummy ISO
* This is meant to be used by translator for testing the UI
2015-02-03 22:10:13 +00:00
Pete Batard
7b8c51e425 [ui] fix FS selection when switching between To Go and regular install 2015-02-03 00:28:08 +00:00
Pete Batard
d1d16ce1c5 [ui] fix progress display of network downloads
* Also fix a memory leak with the GRUB download buffer
2015-02-02 21:16:53 +00:00
Pete Batard
b830c040d2 [misc] fix XP compatibility
* MinGW's gcc 4.9.2 seems to implement a broken "%lld" format 64 bit integer is
  followed by more variables and the app executes on XP => use PRI macros
* Also fix partition ID being ignored when using Rufus MBR
* Also fix some global vars shadowing and add other improvements
2015-01-28 23:22:11 +00:00
Pete Batard
5638519ca0 [misc] update version detection for Windows 10
* And work around Microsoft's moronic decision to PREVENT regular apps
  from being able to determine the ACTUAL Windows version (Without the
  extra manifest section, Windows 10 Preview 2 is detected as Windows 8.0)
2015-01-28 01:06:51 +00:00
Pete Batard
5d8483c359 [togo] fix zeroing of MSR
* Also fix broken debug messages
2015-01-26 23:20:39 +00:00
Pete Batard
17872dc1de [core] add INI file/portable support
* Application will start in portable mode if its name contains a 'p'
  eg. "rufus_portable.exe" or "prufus.exe"
* Closes #264
* Also fix a couple smaller issues
2015-01-25 00:58:06 +00:00
Pete Batard
7b0a5abab1 [loc] delete translations for the removed progress dialog 2015-01-24 02:30:42 +00:00
Pete Batard
f965c5cd23 [misc] fix multiple warnings
* Fix Visual Studio code analysis warnings
* Also rename VS targets to x86_32 and x86_64
2015-01-23 02:26:41 +00:00
Pete Batard
eb9e5ab899 [loc] fix memory leak introduced by removal of separate progress dialog
* Commit a327bb114c
* Also fix typo in French translation
2015-01-22 23:09:44 +00:00
Pete Batard
fdcb17aa7a [misc] pocketful of enhancement and fixes - part 3
* Add Windows To Go tooltips
* Set UEFI:TOGO partition type to EFI System Partition
* Improve apply-image progress report
* Fix MBR analysis for 4k disks
* Do not select Rufus MBR for Windows To Go
2015-01-22 22:31:34 +00:00
JED
705b59970c [loc] update Norwegian translation 2015-01-21 22:59:03 +00:00
Pete Batard
4b76cb2555 [togo] Add Windows To Go support - part 4
* Ignore partitions we don't care about
* Fix issues with AltMountVolume()
* Try to support 4k drives when setting up MS EFI partition
* Zero the start of the MSR partition to prevent leftover detection
* Fix unwanted use of MBR hidden sectors and redundant CloseHandle()
* Fix addon of BIOS compatibility extra partition
* Print apply image progress to info box
2015-01-20 21:54:29 +00:00
Pete Batard
ed9fae7c81 [togo] Add Windows To Go support - part 2
* Enable the creation of MSR and MS EFI partition in GPT mode
* Closes #432
2015-01-20 02:56:17 +00:00
Pete Batard
ec761dfb41 [core] refactor CreatePartition()
* Also add groundwork for optional creation of MSR (see #432)
* Also fix a few minor issues
2015-01-19 01:23:32 +00:00
JED
0440e1fb3d [loc] add Norwegian translation
* Also add a list (in comments) of all the included translations
* Closes #207
2015-01-19 01:19:54 +00:00
Pete Batard
d32e9dcb45 [efi] fix UEFI:TOGO detection on some platforms
* Closes #431
2015-01-17 00:09:03 +00:00
Pete Batard
032d4413c8 [togo] Add Windows To Go support - part 2
* Closes #126
* Only supported on Windows 8 or later for now
* Also fix MinGW and WDK compilation issues
2015-01-16 01:53:24 +00:00
Pete Batard
295650a8b4 [togo] Add Windows To Go support - part 1
* Add apply support to WIM image handling
* Requires Windows 8 or later (Windows 7+ for WIM API support but Windows 8+ for ISO mount)
* Also fix an issue for Windows 7 x64 EFI mode
2015-01-15 01:45:10 +00:00
Pete Batard
99c24d6c88 [iso] add ISO mounting capabilities for Windows 8 or later 2015-01-14 00:51:41 +00:00
Pete Batard
3444a48fce [ui] display ToGo radio selection according to ISO content
* Also simplify EFI detection and reporting
2015-01-13 02:11:57 +00:00
Pete Batard
bca23cc676 [loc] add message for dual EFI/BIOS cheat mode
* Also update copyright year for about dialog
2015-01-12 00:53:09 +00:00
Pete Batard
817c026720 [ui] enable ToGo selection through a radio button
* Part of #126
2015-01-12 00:34:09 +00:00
Peter Dave Hello
b9355e85be [loc] update Traditional Chinese translation
* Closes #425
* Closes #428
2015-01-10 23:10:41 +00:00
Pete Batard
9e2f85cb9d [misc] pocketful of enhancement and fixes - part 2
* Add a warning for 4K drives
* Also fix a typo in .loc comments
2015-01-08 23:21:08 +00:00
Pete Batard
2e817ae944 [misc] pocketful of enhancement and fixes - part 1
* Add a cheat mode for VMWare disk detection
* Add a cheat mode to delete the rufus_files directory
* Don't attempt a grub2 download in case we couldn't read the version
* Don't use a shared message buffer between info and status and also
  use a more logical handling of low pri/high pri and timeout
* Also fix unwanted selection of info text on restore from minimize
* Also fix the localization generation and add more messages
2015-01-08 00:22:56 +00:00
Pete Batard
c56a1c87de [misc] set Rufus next to 2.0
* With all the new features being introduced and latest UI changes,
  it's time to up the ante with regards to the major version.
2015-01-01 23:47:15 +00:00
Pete Batard
a327bb114c [ui] Remove the separate progress dialog
* Closes #125
* Also provide more intuitive info for bad blocks check
* Also update Bled to latest to enable cancelling
2015-01-01 23:39:28 +00:00
Pete Batard
e90eaa4abc [grub] add GRUB 2.0 versioning and enable external core.img download
* Closes #419
* Also updated Bled to latest
2014-12-30 19:46:13 +00:00
Pete Batard
7599715ae6 [cmp] add decompression support
* Adds .Z, .gz, .lzma, .xz and .bz2 decompression support for DD images
  using the Bled library (https://github.com/pbatard/bled).
* Closes #269
2014-12-29 20:34:41 +00:00
Pete Batard
3f0e71f3ba [efi] fix incorrect offset for UEFI:TOGO partition
* Also remove the use of hardcoded value for the size of the UEFI:TOGO
  partition and fix a WDK warning.
2014-12-21 01:56:36 +00:00
Pete Batard
a4e12f5c12 [vhd] fix VHD detection on localized versions of Windows
* SPDRP_FRIENDLYNAME is localized, so we can't use it.
* Closes #417
2014-12-20 17:30:12 +00:00
Pete Batard
d81f83c110 [core] enable UEFI NTFS support
* This allows no-sweat UEFI support of Windows installation ISOs
  that contain a >4GB file for instance
* This is done through UEFI:TOGO (https://github.com/pbatard/uefi-togo)
  and the efifs NTFS driver (http://efi.akeo.ie)
* Closes #414
* This will also be part of our implementation of #126
2014-12-20 00:22:00 +00:00
Pete Batard
420db67ce1 [misc] add dual UEFI/BIOS cheat mode for Windows
* Suggested by Jacob Boyce
2014-12-18 16:29:03 +00:00
Pete Batard
08e7757e84 [ui] fix progress dialog issues when app is minimized
* Closes #415
2014-12-18 13:45:09 +00:00
Pete Batard
2faf36ffb4 [core] add FreeNAS support
* And reverted grub2 to the one from b3947fc026 (reverts commit 8b47e95eb5)
  since FreeNAS doesn't work with the older one.
  Sorry "Super Grub2 Disk" and other older GRUB2 based tools, but you'll need to
  update the Grub version you use if you want to be compatible with Rufus.
* Closes #244
2014-12-16 23:28:07 +00:00
Peter Dave Hello
020cff2373 [loc] improve Traditional Chinese translation
* Closes #413
2014-12-15 18:48:58 +00:00
Pete Batard
e72d6546d1 [misc] update MinGW build chain for msys2
* Use autoconf and automake 1.14
* reinstate parallel build flags
* Also fix MinGW warnings and errors
2014-12-15 18:42:21 +00:00
Pete Batard
ea28080e0a [core] fix write error when using non sector aligned DD images
* Closes #410
2014-12-03 21:28:24 +00:00
Pete Batard
efd22d1fe3 [vhd] fix VHD detection on Windows 7
* Revert to using strstr
* Also fix a potential issue with GetTextExtentPoint
2014-12-03 18:44:00 +00:00
Pete Batard
8e8a2bc827 [ui] more UI improvements
* Automatically position the advanced button
* Improve UI display for some locales
* Small Windows 7 improvements
2014-11-28 22:42:22 +00:00
Pete Batard
4c8b022042 [internal] enable ALPHA/BETA from configure
* Pass --enable-alpha or --enable-beta to configure/_release.sh
2014-11-28 00:22:57 +00:00
Pete Batard
79ea0b2b94 [core] add support for additional VHD drivers
* Closes #407
2014-11-27 23:36:28 +00:00
Pete Batard
5863db3ef3 [loc] update translations for 1.5.0 UI 2014-11-27 23:24:50 +00:00
Pete Batard
c56d1a0545 [core] fix a crash when an image is selected with no target device
* Closes #405
2014-11-21 20:01:03 +00:00
Pete Batard
6b433c7fc0 [iso] fix sanitization of paths during ISO during extraction
* Also add sanitization for Syslinux downloaded content
* Also factorize printout of extracted file
* Closes #397
2014-11-20 23:00:59 +00:00
Pete Batard
1210e47df2 [ui] add Alpha/Beta title marquers (and extra popup)
* Closes #404
2014-11-20 22:57:22 +00:00
Pete Batard
018aabf6f7 [ui] increase dialog width to better fit boot type
* Since we want to display the full version, "Grub4DOS 0.4.5" needs to fit in advanced mode.
  Plus, the extra width should help when we drop the separate progress dialog.
* Also ensure that the "Select ISO" button is the one that gets defaulted to when no USB is present.
2014-11-20 00:15:31 +00:00
Pete Batard
8b47e95eb5 [grub] switch to the more compatible Grub 2.00-22
* Also enable Old BIOS fixes with Syslinux, Grub installation and fix related UI issues
* Also add a check to confirm that Grub SBR will fit
2014-11-18 23:49:29 +00:00
Pete Batard
b3947fc026 [grub] add Grub 2.0 support
* Also moves secondary Grub boot record as a resource
* Also fix a typo in README.txt and update signtool path
* Closes #340
2014-11-17 23:41:46 +00:00
Pete Batard
306191fb85 [grub] add Grub4DOS support
* Also adds some stubs for Grub 2.0
* Also add a note about VS2013 CE in the readme
* Addresses the first part of #340
2014-11-14 23:46:56 +00:00
Pete Batard
ca5a9dde5f [misc] upgrade solution files for Visual Studio 2013 Community Edition
* Visual Studio 2013 is now free for Open Source developers, so make
  it our default.
* See http://www.visualstudio.com/news/vs2013-community-vs
2014-11-13 11:04:37 +00:00
Pete Batard
2396ef8c28 [misc] improve silent automake rules 2014-11-12 23:45:49 +00:00
Pete Batard
2be12ff3b6 [ui] use "Segoe UI" as default font on Vista and later
* Greatly improves the display of non western character sets, such as CJK.
* Note: Since I'm no longer willing to go the extra mile for XP, the way we
  handle the non availability of the Segoe font there is by doing the lazy
  thing and duplicating all our UI resources, in a similar way as what we do
  for RTL, and setting them with the old "MS Shell Dlg".
* Also update some Syslinux V5 refs to Syslinux V6.
* Closes #308
2014-11-12 02:39:12 +00:00
Pete Batard
6ca024ae3b [syslinux] update Syslinux to v6.03
* Also add experimental support for Syslinux/NTFS
* Closes #391
2014-11-11 19:54:05 +00:00
Pete Batard
37ffbabaaf [misc] set rufus-next to 1.5.0 2014-11-11 19:28:01 +00:00
Pete Batard
d46342c16c [core] ensure AutoMount is enabled while the app is running
* Having AutoMount disabled when a Fixed drive is being used can
  result in a failure during formatting (issue #386).
* Also set explicit FILE_ATTRIBUTE_NORMAL flag an normalize CreateFile usage
* Closes #386
2014-11-11 19:17:39 +00:00
Pete Batard
c6fee8709e v1.4.12 (build 535)
* Also address a memory leak in fix_syslinux()
2014-11-09 19:56:40 +00:00
doktornotor
0ed4a813ed Fix Czech translation
* Closes #395
2014-11-08 00:44:51 +00:00
Pete Batard
b2628e05d0 [net] add platform to user agent when checking for updates
* Also update Windows version strings for Windows 10
* Also set rufus-next to 1.4.12
* Closes #393
2014-11-08 00:29:42 +00:00
Pete Batard
55a5eb07e7 [iso] fix handling of label-based ISOs
* Linux has a MAJOR quirk in that labels such as "Contains Space"
  get converted to "/dev/disk/by-label/Contains\x20Space".
* While Rufus already had smart label Syslinux handling (by replacing
  the ones found in isolinux.cfg to their more limited FAT32 version)
  there was absolutely NO WAY of guessing this quirk until ISOs
  such as Red Hat 7 or CentOS 7 started to use spaces in their ISO
  labels and people reported breakage!
* This commit also fixes an issue where psz_fullpath was modified when
  it shouldn't, which broke Debian 7.7.0, and most likely any ISO
  containing a subdirectory in the directory where a syslinux/isolinux
  config file is located.
* Closes #396
* Closes #394
* Closes #388
* Closes #380
2014-11-07 23:57:17 +00:00
Pete Batard
ed45184aed [core] fix detection of Mushkin Ventura Ultra drives
* Closes #390
2014-11-07 18:43:12 +00:00
Pete Batard
ed7f635368 v1.4.11 (build 530) 2014-11-04 20:16:59 +00:00
Richard Kahl
087987a657 [loc] add Czech translation
* Closes #199
2014-11-04 00:08:06 +00:00
Pete Batard
3056703097 [core] Set local group policies using a thread with timeout
* Closes #392
2014-11-01 22:08:20 +00:00
Pete Batard
02697a025a [ui] improve download dialog handling for new versions
* Prevent closing of the dialog during download
* Fix behaviour of the Abort button
2014-11-01 01:38:40 +00:00
Pete Batard
356b0ddaff [loc] fix a minor issue with Japanese translation 2014-11-01 00:56:43 +00:00
Pete Batard
fbd0e00458 [oops] fix non Visual Studio builds
* ...that got broken in ea817cbc2c
2014-10-31 20:32:42 +00:00
Pete Batard
131df52482 [ui] fix unwanted behaviour when ISO is unsupported
* Remove "Scanning Image..." from status, and prevent the Start from being enabled when no drive is selected
* Closes #375
2014-10-31 19:06:05 +00:00
Pete Batard
b6a52756cd [misc] fix the display of "task x/y" when formatting
* Using the famous URS™ (Under Rug Swept) technology
* Closes #182
2014-10-31 19:03:51 +00:00
Pete Batard
ea817cbc2c [iso] update libcdio to v0.93
* Also fix a memory leak introduced vy v0.93 in cdio_free()
2014-10-31 18:52:23 +00:00
Pete Batard
7090a0371a [misc] add Ctrl-A selection for log dialog
* Also fix a couple of minor issues with x64 and LGP
* Closes #368
2014-10-29 19:16:29 +00:00
Pete Batard
1934ee7598 [ui] minor cosmetic improvements
* Fix label control being reduced in size when a translation modifies it
* Minute adjustments to make the application look better on Windows 8
* Closes #356
2014-10-29 18:27:17 +00:00
Pete Batard
0c9c7a9569 [syslinux] fix dual EFI+BIOS support for tails and other ISOs
* Closes #381
2014-10-29 02:00:46 +00:00
Pete Batard
91565477ed [core] fix formatting for drives with nonstandard sector size
* Issue #385
* Also bump version to 1.4.11
2014-10-28 19:19:17 +00:00
Pete Batard
432edfa9c5 [ui] add minimize button
* Closes #377
2014-10-21 01:06:22 +01:00
Константин В
93ab04455b [loc] add Ukrainian translation 2014-10-16 19:13:51 +01:00
Pete Batard
104ef277b7 [core] fix listing of devices when all 26 drive letters are in use
* Issue reported by Alex
2014-09-08 18:23:50 +01:00
Pete Batard
533d49a950 v1.4.10 (build 514) 2014-08-15 22:46:46 +01:00
Pete Batard
b39cb627de [core] prevent detection of non Microsoft virtual disk
* Some people complained that Stablebit Drivepool devices were being listed
2014-08-09 23:48:53 +01:00
Pete Batard
45714cf5fb [ui] UI fixes and improvements
* Fix missing DD-Image option when no drive is present
* Prevent formatting of a drive when using an image residing on same drive
* Fix ignored bootable checkbox when using a DD-Image
* Fix wrong title for error messages (due to too many concurrent loc messages)
2014-08-09 00:10:12 +01:00
Pete Batard
79a871be63 [core] improve handling of DD images and formatting task order
* Add logic to mount/remount a DD image if it contains a partition we can handle
* Clear GPT structures before copying DD image in case it doesn't overwrites them
* Add a call to refresh the drive layout after copying a DD image
* Move the unlocking of logical drive further down. This may help with the
  infamous "device in use by another process" error.
2014-08-07 01:45:46 +01:00
Pete Batard
f6ab32c95d [misc] fix a crash when scanning a DD image with no UFD plugged in
* Also set the block size to 512 when scanning MBR and PBR
* Closes #352
2014-08-06 23:17:20 +01:00
Pete Batard
0fceb38433 [syslinux] fix tails breakage and add support for fine grained versions
* With that obscene an amount of pre-releases of 6.03 (seriously, how
  many more YEARS pre-release of the same version do you actually need?),
  of course the syslinux people have managed to break the last remnants
  of compatibility they had between a single major version, so we are now
  forced to provide a smorgasbord of pre-release and out of band syslinux
  binaries on our server, and make sure we detect and handle incompatible
  syslinux versions clientside...
  For instance, even after fixing the EFI vs isolinux issue, we find
  that tails 1.1 is incompatible with 'pre19'. But it also uses its own
  '20131220' extended identifier, instead of 'pre1', its closest
  relative. So we have to multiply files and symbolic links to try to
  keep everybody happy.
  Talk about a MAJOR LETDOWN from the syslinux project...
* Closes #363
2014-08-06 01:52:36 +01:00
Pete Batard
60c66ef813 [misc] fix division by zero if the sector size is misreported
* It looks like some disks may report a sector size of zero
* Hopefully, this will address #352 (but some report about the
  detected sector size from people observing the crash would be nice)
2014-08-03 19:34:01 +01:00
Pete Batard
270ad743ab [misc] fix detection of OCZ drives
* Reported by Chevy
* Also set Rufus next to 1.4.10
2014-08-03 19:27:18 +01:00
Pete Batard
201843dbf3 v1.4.9 (build 506)
* Fix listing of drives on Windows XP and Windows Vista (Could not allocate Device ID list)
* Closes #343
2014-06-08 18:03:03 +01:00
Pete Batard
8007fc0915 v1.4.8 (build 505)
* Also fix a couple coverity warnings
2014-06-03 22:42:42 +01:00
Pete Batard
8da527e16e [misc] minor pre-release fixes
* mention KolibriOS in the license
* duprintf usage improvements
2014-06-03 22:16:40 +01:00
Chateaubriand Vieira Moura
b9b630a84c [loc] update Portuguese Brazilian translation to v1.0.12
* Also fix more typos in the Portuguese Standard translation
2014-06-03 19:06:51 +01:00
Kostantinos Margaritis
78f2b91bb5 [loc] update Greek translation to v1.0.12 2014-06-03 00:57:47 +01:00
Pete Batard
3ca0858541 [loc] update both Portuguese translations
* Use b "pt-PT" for Brazilian Portuguese
* Also fix case and typos in Standard Portuguese
2014-06-02 16:01:24 +01:00
Muhammad Aman
740b399414 [loc] update Malay translation to v1.0.12 2014-06-02 14:45:04 +01:00
Na Jiyoun
f05b37412b [loc] update Korean translation to v1.0.12 2014-06-02 02:20:25 +01:00
Chateaubriand Vieira Moura
8202977066 [loc] add Portuguese Brazilian translation
* Closes #209
2014-06-02 02:07:40 +01:00
Pete Batard
8b9c180404 [core] re-add the VID:PID lookup fallback using the Device ID string
* The call for the node connection information will fail for device such as Mp3 media players
* In that case, we can still obtain the VID:PID from the Device ID
* Also improve mutex release for commandline hogger
2014-06-02 00:51:35 +01:00
Pete Batard
d5bb6bfe6f [core] fix wrong detection of Buffalo, Lacie, Samsung, Toshiba and Verbatim drives as HDDs
* Remove the ill-advised (and problematic) table lookup microoptimization
* Also display score when running in debug mode
2014-06-02 00:45:54 +01:00
Roberto Pino
c3eaaf86a3 [loc] update Dutch translation to v1.0.12 2014-06-01 23:39:00 +01:00
Sopor
5076f753c8 [loc] update Swedish translation to v1.0.12 2014-06-01 20:35:10 +01:00
Simone
ba8d1b9624 [loc] correct Italian translation
* Closes #339
2014-06-01 19:47:33 +01:00
martinco78
d612fcc77f [loc] update Slovak translation to v1.0.12 2014-05-29 22:22:22 +01:00
Gintaras Venslovas
5c3e1e3178 [loc] update Lithuanian translation to v1.0.12 2014-05-28 22:07:05 +01:00
Pete Batard
ae08fe3ac2 [misc] fix an issue with Far Manager
* Closes #161
* Also fix a couple warnings from MinGW and VS
2014-05-27 02:02:50 +01:00
Riku Brander
70d2784165 [loc] update Finnish translation to v1.0.12 2014-05-26 00:27:06 +01:00
Krasimir Newenow
7bf6301da2 [loc] update Bulgarian translation to v1.0.12 2014-05-26 00:24:07 +01:00
Dario Komar
689866021b [loc] update Croatian translation to v1.0.12 2014-05-26 00:22:38 +01:00
Wayne Ying
98fe4724e2 [loc] update Chinese Simplified translation to v1.0.12 2014-05-26 00:18:39 +01:00
770021ab03 [loc] update Chinese Traditional translation to v1.0.12 2014-05-26 00:12:39 +01:00
Pete Batard
04bd5116a7 [vhd] add backup to uncompressed VHD image
* Part of #321
* NOTE: This feature will be enabled after the 1.4.8 release
2014-05-23 01:03:01 +01:00
Pete Batard
1e121d2025 [misc] simplify the declaration of extensions for FileDialog()
* Also update the Changelog
2014-05-22 22:46:36 +01:00
Jens Hansen
abae44f198 [loc] add Danish translation
* Closes #200
2014-05-22 02:10:44 +01:00
Piotr Halama
82148c9b4b [loc] update Polish translation to v1.0.12 2014-05-22 01:55:40 +01:00
Pete Batard
bfa1656488 [core] Add VHD source image support
* As part of #321
* Also improve FileDialog so that it can support multiple extensions
* Also fix a typo in rufus.loc
2014-05-22 01:52:25 +01:00
Aldis Tutins
36d226e101 [loc] update Latvian translation to v1.0.12 2014-05-20 20:10:31 +01:00
Matej Horvat
565552a03e [loc] update Slovene translation to v1.0.12 2014-05-20 20:06:54 +01:00
Thilo Langbein
12c4a1c29b [loc] update German translation to v1.0.12 2014-05-20 20:02:27 +01:00
Chantella Jackson
b3aa56a704 [loc] update Japanese translation to v1.0.12 2014-05-20 20:00:18 +01:00
Кирилл Иванов
c804e0922e [loc] update Russian translation to v1.0.12 2014-05-20 19:57:45 +01:00
Roberto Boriotti
f8178c49a0 [loc] update Italian translation to v1.0.12 2014-05-20 19:54:28 +01:00
Gîrlea Alexandru
5ff9dba85f [loc] update Romanian translation to v1.0.12 2014-05-20 19:44:46 +01:00
MehmetAli Kuran
b2eb76a057 [loc] update Turkish translation to v1.0.12 2014-05-20 19:31:23 +01:00
Pete Batard
c0d3f8e57c [core] fix VHD support
* Also fix various typos
2014-05-20 19:28:46 +01:00
Pete Batard
9df63b3b2a [loc] update translation base to v1.0.12
* Also change UM_ISO_ constants to the more generic UM_PROGRESS_
2014-05-19 23:25:00 +01:00
Pete Batard
420bb1d0d8 [core] clean up and simplify USB port & speed detection
* Also fix non-present devices being enumerated
* Also add a message in the log when an USB 3.0 device is detected operating at lower speed
2014-05-19 01:16:11 +01:00
Pete Batard
c85670f7b7 [core] report detected USB device speed
* Yes, it takes about all of the changes below, to basically add 3 extra characters in the log...
  That's Microsoft Windows for you, baby!
* Closes #314
2014-05-18 00:37:01 +01:00
Aldis Tutins
4026083da8 [loc] update Latvian translation 2014-05-16 00:00:23 +01:00
عمر الصمد
4b352fd8a4 [loc] add Arabic translation
* Closes #196
2014-05-15 23:57:43 +01:00
Pete Batard
34dd36d7c2 [loc] fix various RTL issues
* Tooltips were not properly displaying
* When displaying human readable size, the order for the size and suffix was wrong
* First character of "0x##" in the BIOS ID would not display as zero on an Arabic machine
2014-05-15 23:53:39 +01:00
Pete Batard
b6bc17b7f4 [core] add KolibriOS support
* Closes #331
2014-05-15 21:17:12 +01:00
Aldis Tutins
ffc9a4e80a [loc] add Latvian translation 2014-05-13 22:38:36 +01:00
Pete Batard
7a3fb515ea [misc] more DLL handling improvements
* also set rufus-next to 1.4.8
2014-05-13 00:50:44 +01:00
Pete Batard
266599e6fd [misc] fix various Coverity issues
* update DLL load/unload
* fix resources not being freed and potentially unsafe calls
* add extra checks
2014-05-10 22:20:22 +01:00
Pete Batard
9aa308213d [core] fix UEFI bootable DD images
* A DD image may have a zeroed MBR, yet be bootable through UEFI
* Also improve AnalyzePBR()
* Closes #320
2014-05-09 21:57:27 +01:00
Roberto Pino
6390aa3968 [loc] fix additional issues with Dutch translation 2014-04-29 01:00:28 +01:00
Roberto Pino
15a40b2eb9 [loc] update Dutch translation to v1.0.11 2014-04-25 01:56:07 +01:00
Dario Komar
a5f7e3177b [loc] Add Croatian translation
* Closes #237
2014-04-24 12:50:08 +01:00
ROBERTO
5e39c9c71f [loc] small improvements to Italian translation 2014-04-24 00:19:22 +01:00
Pete Batard
daa7a6effd v1.4.7 (build 455) 2014-04-22 12:28:41 +01:00
Pete Batard
7ae21ddf50 [misc] fix listing of VHD drives when they have been partitioned
* Also harmonize some of our text output
2014-04-16 22:08:22 +01:00
Pete Batard
f78eb4de99 [misc] fix FAT32 cluster boundaries and add cheat mode to force DD
* Closes #310
* Alt-I can now be used to disable ISO support. This is meant to be
  used for dual ISO/DD images so that DD (disk image) mode will be used
* Also issue a message in the log to indicate whether slow or quick format is used
* Also change the cheat mode keys for force update and proper unit to C and U
2014-04-13 16:13:59 +01:00
Sopor
1c8f57a4e7 [loc] add Swedish translation
* Closes #216
2014-04-12 23:45:49 +01:00
Pete Batard
4cc3d77123 [misc] fix human readable sizes
* byte sizes were ignored, and rounding tolerance was a bit too high
2014-04-10 22:01:48 +01:00
martinco78
4f513e85fd [loc] add Slovak translation
* Also fix duplicate in the German translation
* Closes #213
2014-04-09 20:18:45 +01:00
Chantella Jackson
e501c0d56b [loc] Add Japanese translation
* Closes #205
2014-04-04 18:22:00 +01:00
Pete Batard
3462ae1062 [misc] set default size for ReFS and fix multiple other issues
* ReFS only applies for drives that are larger than 512MB
* Also fix error handling and messages in format.c
* Also add Alt-Q cheat mode for proper size units, and improve human readable size output
2014-04-02 22:47:35 +01:00
Scott
0def2bacef [core] fix VHD detection for Windows 7
* Windows 8 or later uses "Microsoft Virtual Disk" whereas Windows 7
  uses "Msft Virtual Disk SCSI Disk Device", so we just search for a
  "Virtual Disk" substring.
* Closes #306
2014-03-29 18:30:20 +00:00
Scott
3f0d9d108f [core] add VHD target support
* Adds Microsoft VHD/VHDX mounted image support
* Also fix an issue where some devices would not be detected due to CM_Get_Device_ID_List_Size() returning a list size larger than actually required
* Closes #305
* Closes #139
2014-03-29 01:58:25 +00:00
Pete Batard
b343d9b86d [misc] fix issues with unpartitioned drives and bad blocks reports
* Listing an unpartitioned could result in all controls besides
  drive selection dropdown being blank
* The bad blocks report was not displaying the right values
* Also update version to Rufus next
2014-03-29 01:57:19 +00:00
Pete Batard
027d0d7c3a [core] add ReFS formatting support
* Windows 8.1 or later and fixed disks ONLY
2014-03-29 00:22:54 +00:00
Pete Batard
5519212dd3 [core] improve drive geometry detection
* Try IOCTL_DISK_GET_DRIVE_GEOMETRY_EX if IOCTL_DISK_GET_DRIVE_GEOMETRY fails in Large Fat32 code
* Report actual IOCTL errors
* Use a larger buffer for geometry
* Also add (guessed) FCC_DEVICE_NOT_READY handling to FormatEx
2014-03-29 00:17:41 +00:00
Muhammad Aman
28c1bd6688 [loc] update Malay translation to v1.0.10
* Also fix a small typo in the Polish translation
2014-03-28 23:47:44 +00:00
Gintaras Venslovas
5e7830e961 [loc] update Lithuanian translation to v1.0.10 2014-03-20 23:17:54 +00:00
Pete Batard
00646b4b21 v1.4.6 (build 440) 2014-03-17 21:19:53 +00:00
Pete Batard
77d9e919d2 [ui] ensure the default download directory for updates is the current app dir
* Closes #299
* Also fix update save dialog not retrieving the path when compiled for Vista or later
2014-03-17 20:42:10 +00:00
Pete Batard
54b7fdcddc [ui] don't remove the checkboxes when formatting
* Previous patch was creating an issue when creating an XP bootable drive for instance
* Also use our IsChecked() macro rather than IsDlgButtonChecked()
2014-03-15 14:14:10 +00:00
Pete Batard
8ffd87e77a [ui] improve checkboxes handling
* Closes #294
2014-03-14 23:13:04 +00:00
Pete Batard
ac9ddca792 [net] fix an exception in DownloadFile()
* As per the MSDN, HttpOpenRequest's 6th parameter should be a NULL
  terminated list
2014-03-14 23:08:49 +00:00
Pete Batard
5c2d7aa21e [syslinux] fix vesamenu.c32 errors
* Closes #298
2014-03-13 22:13:46 +00:00
Pete Batard
6ff666bafb [iso] fix unwanted 'Unsupported NM flag settings' messages
* Closes #297
2014-03-13 22:02:49 +00:00
Кирилл Иванов
c060ef81d0 [loc] minor updates to Russian translation 2014-03-13 21:44:34 +00:00
Krasimir Nevenov
91315fa64b [loc] Add Bulgarian translation
* Closes #295
2014-03-10 22:45:42 +00:00
Pete Batard
19b94a9352 [misc] set Rufus next to v1.4.6 2014-03-10 22:43:54 +00:00
Pete Batard
94ce19d11f [ui] display size in the dropdown entry
* Also remove the "(Default)" from the FS selected, in the log messages
2014-03-01 00:09:40 +00:00
Pete Batard
9927cc2619 [loc] restore Arabic template, for rtl translators
* Was erroneously removed in the previous commit
2014-02-27 21:53:53 +00:00
608 changed files with 184734 additions and 22272 deletions

4
.gitattributes vendored
View file

@ -3,6 +3,8 @@
*.am eol=lf
*.in eol=lf
*.m4 eol=lf
missing eol=lf
compile eol=lf
configure eol=lf
install-sh eol=lf
*.sln eol=crlf
@ -12,7 +14,9 @@ install-sh eol=lf
*.txt eol=crlf
*.loc eol=crlf
*.sh export-ignore
*.cmd export-ignore
.gitattributes export-ignore
.gitignore export-ignore
.github export-ignore
*.creole export-ignore

6
.github/dependabot.yml vendored Normal file
View file

@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"

47
.github/issue_template.md vendored Normal file
View file

@ -0,0 +1,47 @@
<!--
PLEASE READ THIS CAREFULLY:
1. You *MUST* read and complete the steps from the checklist below, by placing
an x into each [ ] (so that it shows '[x]', NOT '[ x]' or '[x ]'), BEFORE
clicking on 'Submit new issue'.
2. Failure to perform these steps, WHICH ARE ONLY THERE TO HELP *YOU*, will
usually result in your issue being dismissed without notice.
3. If you are reporting an issue when trying to run Rufus, or when trying to
boot a media created by Rufus, you *MUST* provide a log, period. Please do
not assume that the developer(s) will be able to "guess" the specifics of
your environment, what image you used, what type of media you used it with
or the many many other critical parameters that the log provides data for.
To investigate an issue, a log from Rufus is ALWAYS required.
4. If you still *choose* not to provide a log when reporting a problem, you
agree that your issue will be closed without any further investigation.
YOU HAVE BEEN WARNED.
-->
Checklist
---------
- [ ] I looked at https://github.com/pbatard/rufus/wiki/FAQ to see if my question has already been answered.
- [ ] I performed a search in the issue tracker for similar issues using keywords relevant to my problem, such as the error message I got from the log.
- [ ] I clicked the 'Log' button (🗒️) or pressed <kbd>Ctrl</kbd>-<kbd>L</kbd> in Rufus, or used [DebugView](https://learn.microsoft.com/en-us/sysinternals/downloads/debugview), and copy/pasted the log into the section that says `<FULL LOG>` below.
- [ ] The log I am copying is the FULL log, starting with the line `Rufus version: x.y.z` - I have NOT removed any part of it.
Additionally (if applicable):
- [ ] I ran a bad blocks check, by clicking _Show advanced format options_ then _Check device for bad blocks_, and confirmed that my USB is not defective.
- [ ] I also tried one or more of the following:
- [ ] Using a different USB drive.
- [ ] Plugging the USB into a different port.
- [ ] Running Rufus on a different computer.
- [ ] If using an image, I clicked on the `(✓)` button to compute the MD5, SHA1 and SHA256 checksums, which are therefore present in the log I copied. I confirmed, by performing an internet search, that these values match the ones from the official image.
Issue description
-----------------
<Please describe your issue here>
Log
---
```
<FULL LOG>
```

4
.github/pull_request_template.md vendored Normal file
View file

@ -0,0 +1,4 @@
<!--
Please do not create an unsolicited Pull Requests for a translation update.
See https://github.com/pbatard/rufus/wiki/FAQ#user-content-Why_dont_you_accept_unsolicited_translation_updates.
-->

59
.github/workflows/codeql.yml vendored Normal file
View file

@ -0,0 +1,59 @@
name: "CodeQL"
on:
push:
branches: [master]
paths-ignore:
- '.gitignore'
- '.gitattributes'
- 'res/**'
- '**.cmd'
- '**.md'
- '**.rc'
- '**.sh'
- '**.txt'
- '**.xml'
pull_request:
branches: [master]
paths-ignore:
- '.gitignore'
- '.gitattributes'
- 'res/**'
- '**.cmd'
- '**.md'
- '**.rc'
- '**.sh'
- '**.txt'
- '**.xml'
env:
SOLUTION_FILE_PATH: ./rufus.sln
BUILD_CONFIGURATION: Release
TARGET_PLATFORM: x64
jobs:
CodeQL-Build:
runs-on: windows-latest
permissions:
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: cpp
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
with:
msbuild-architecture: x64
- name: Build
run: msbuild ${{env.SOLUTION_FILE_PATH}} /m /p:Configuration=${{ env.BUILD_CONFIGURATION}},Platform=${{ env.TARGET_PLATFORM }}
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3

64
.github/workflows/coverity.yml vendored Normal file
View file

@ -0,0 +1,64 @@
name: Coverity
on:
push:
branches: [master]
paths-ignore:
- '.gitignore'
- '.gitattributes'
- 'res/**'
- '**.cmd'
- '**.md'
- '**.rc'
- '**.sh'
- '**.txt'
- '**.xml'
env:
SOLUTION_FILE_PATH: ./rufus.sln
EMAIL: pete@akeo.ie
BUILD_CONFIGURATION: Release
TARGET_PLATFORM: x64
COVERITY_PROJECT_NAME: pbatard%2Frufus
jobs:
Coverity-Build:
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: Download Coverity
run: |
curl -d "token=${{ secrets.COVERITY_SCAN_TOKEN }}&project=${{ env.COVERITY_PROJECT_NAME }}" -L https://scan.coverity.com/download/cxx/win64 -o cov-analysis-win64.zip
7z x cov-analysis-win64.zip
del cov-analysis-win64.zip
move cov-analysis-win64* cov-analysis-win64
- name: Add Coverity to PATH
shell: bash
run: echo "${{github.workspace}}/cov-analysis-win64/bin" >> $GITHUB_PATH
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Build with Coverity
run: |
cov-configure --msvc
cov-build.exe --dir cov-int msbuild ${{ env.SOLUTION_FILE_PATH }} /m /p:Configuration=${{ env.BUILD_CONFIGURATION }},Platform=${{ env.TARGET_PLATFORM }}
- name: Publish Coverity artifacts
uses: actions/upload-artifact@v4
with:
name: cov-int
path: cov-int/
- name: Upload Coverity build for analysis
run: |
7z a -r cov-int.zip cov-int
curl --form email=${{ env.EMAIL }} --form token=${{ secrets.COVERITY_SCAN_TOKEN }} --form file=@cov-int.zip --form version="${{ env.GITHUB_SHA }}" --form description="Automated build" https://scan.coverity.com/builds?project=${{ env.COVERITY_PROJECT_NAME }}

19
.github/workflows/lock.yml vendored Normal file
View file

@ -0,0 +1,19 @@
# Configuration for https://github.com/dessant/lock-threads
name: '[cron] Lock stale issues'
on:
schedule:
- cron: '33 22 * * *'
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v5
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
issue-inactive-days: '90'
issue-comment: >
This thread has been automatically locked since there has not been
any recent activity after it was closed. Please open a new issue
if you think you have a related problem or query.

113
.github/workflows/mingw.yml vendored Normal file
View file

@ -0,0 +1,113 @@
name: MinGW
on:
push:
paths-ignore:
- '.gitignore'
- '.gitattributes'
- 'res/**'
- '**.cmd'
- '**.md'
- '**.rc'
- '**.sh'
- '**.txt'
- '**.xml'
pull_request:
branches: [master]
paths-ignore:
- '.gitignore'
- '.gitattributes'
- 'res/**'
- '**.cmd'
- '**.md'
- '**.rc'
- '**.sh'
- '**.txt'
- '**.xml'
jobs:
MinGW-Build:
runs-on: windows-latest
strategy:
matrix:
include:
- { sys: mingw64, env: x86_64, exe: rufus.exe }
- { sys: mingw32, env: i686, exe: rufus_x86.exe }
defaults:
run:
shell: msys2 {0}
steps:
- name: Install MinGW
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.sys }}
update: true
install: >-
mingw-w64-${{ matrix.env }}-toolchain
base-devel
autotools
git
upx
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: Set ALPHA
id: set_alpha
shell: bash
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
# This ONLY works if the shell is bash or if using $env:GITHUB_OUTPUT
run: |
echo "option=--enable-alpha" >> $GITHUB_OUTPUT
sed -b -i 's/VALUE "InternalName", "Rufus"/VALUE "InternalName", "Rufus (ALPHA)"/' ./src/rufus.rc
- name: Set BETA
id: set_beta
shell: bash
if: ${{ startsWith(github.ref, 'refs/tags/') && contains(github.ref, 'BETA') }}
# This ONLY works if the shell is bash or if using $env:GITHUB_OUTPUT
run: |
echo "option=--enable-beta" >> $GITHUB_OUTPUT
sed -b -i 's/VALUE "InternalName", "Rufus"/VALUE "InternalName", "Rufus (BETA)"/' ./src/rufus.rc
- name: Build
run: |
./configure --disable-debug ${{ steps.set_alpha.outputs.option }} ${{ steps.set_beta.outputs.option }}
make -j4
mv ./src/rufus.exe ./${{ matrix.exe }}
strip ./${{ matrix.exe }}
upx --lzma --best ./${{ matrix.exe }}
- name: Display SHA-256
run: sha256sum ./${{ matrix.exe }}
- name: Upload to VirusTotal
if: ${{ github.event_name == 'push' && matrix.env == 'x86_64' }}
continue-on-error: true
run: |
curl --request POST --url https://www.virustotal.com/vtapi/v2/file/scan --form apikey=${{ secrets.VIRUSTOTAL_API_KEY }} --form file=@./${{ matrix.exe }}
curl --request POST --url https://www.virustotal.com/api/v3/monitor/items --header 'x-apikey: ${{ secrets.VIRUSTOTAL_API_KEY }}' --form path='/${{ matrix.exe }}' --form file=@./${{ matrix.exe }}
- name: Upload artifacts
if: ${{ github.event_name == 'push' }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.sys }}
path: ./*.exe
Extra-Step-To-Merge-Artifacts-Thanks-To-Upload-Artifact-v4-Breaking-Backwards-Compatibility:
runs-on: windows-latest
needs: MinGW-Build
steps:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@v4
if: ${{ github.event_name == 'push' }}
with:
name: MinGW
delete-merged: true

106
.github/workflows/vs2022.yml vendored Normal file
View file

@ -0,0 +1,106 @@
name: VS2022
on:
push:
paths-ignore:
- '.gitignore'
- '.gitattributes'
- 'res/**'
- '**.cmd'
- '**.md'
- '**.rc'
- '**.sh'
- '**.txt'
- '**.xml'
pull_request:
branches: [master]
paths-ignore:
- '.gitignore'
- '.gitattributes'
- 'res/**'
- '**.cmd'
- '**.md'
- '**.rc'
- '**.sh'
- '**.txt'
- '**.xml'
env:
SOLUTION_FILE_PATH: ./rufus.sln
BUILD_CONFIGURATION: Release
jobs:
VS2022-Build:
runs-on: windows-latest
strategy:
matrix:
TARGET_PLATFORM: [x64, x86, arm64, arm]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
with:
msbuild-architecture: x64
- name: Set ALPHA
id: set_alpha
shell: bash
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
# This ONLY works if the shell is bash or if using $env:GITHUB_OUTPUT
run: |
echo "option=/DALPHA" >> $GITHUB_OUTPUT
sed -b -i 's/VALUE "InternalName", "Rufus"/VALUE "InternalName", "Rufus (ALPHA)"/' ./src/rufus.rc
- name: Set BETA
id: set_beta
shell: bash
if: ${{ startsWith(github.ref, 'refs/tags/') && contains(github.ref, 'BETA') }}
# This ONLY works if the shell is bash or if using $env:GITHUB_OUTPUT
run: |
echo "option=/DBETA" >> $GITHUB_OUTPUT
sed -b -i 's/VALUE "InternalName", "Rufus"/VALUE "InternalName", "Rufus (BETA)"/' ./src/rufus.rc
- name: Build
shell: cmd
run: |
set ExternalCompilerOptions=${{ steps.set_alpha.outputs.option }} ${{ steps.set_beta.outputs.option }}
msbuild ${{ env.SOLUTION_FILE_PATH }} /m /p:Configuration=${{ env.BUILD_CONFIGURATION }},Platform=${{ matrix.TARGET_PLATFORM }},ForceImportBeforeCppTargets=%GITHUB_WORKSPACE%\.vs\Generate.PDB.props
move .\${{ matrix.TARGET_PLATFORM }}\Release\rufus.exe .\rufus_${{ matrix.TARGET_PLATFORM }}.exe
move .\${{ matrix.TARGET_PLATFORM }}\Release\rufus.pdb .\rufus_${{ matrix.TARGET_PLATFORM }}.pdb
- name: Display SHA-256
run: sha256sum ./rufus_${{ matrix.TARGET_PLATFORM }}.exe
- name: Upload to VirusTotal
continue-on-error: true
if: ${{ github.event_name == 'push' }}
run: |
curl --request POST --url https://www.virustotal.com/vtapi/v2/file/scan --form apikey=${{ secrets.VIRUSTOTAL_API_KEY }} --form file=@./rufus_${{ matrix.TARGET_PLATFORM }}.exe
curl --request POST --url https://www.virustotal.com/api/v3/monitor/items --header 'x-apikey: ${{ secrets.VIRUSTOTAL_API_KEY }}' --form path='/rufus_${{ matrix.TARGET_PLATFORM }}.exe' --form file=@./rufus_${{ matrix.TARGET_PLATFORM }}.exe
- name: Upload artifacts
uses: actions/upload-artifact@v4
if: ${{ github.event_name == 'push' }}
with:
name: ${{ matrix.TARGET_PLATFORM }}
path: |
./*.exe
./*.pdb
Extra-Step-To-Merge-Artifacts-Thanks-To-Upload-Artifact-v4-Breaking-Backwards-Compatibility:
runs-on: windows-latest
needs: VS2022-Build
steps:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@v4
if: ${{ github.event_name == 'push' }}
with:
name: VS2022
delete-merged: true

42
.gitignore vendored
View file

@ -1,34 +1,68 @@
*.a
*.aps
*.appx
*.appxupload
*.bak
*.db
*.db-shm
*.db-wal
*.dep
*.diff
*.dll
*.efi
*.exe
*.htm
*.idb
*.ipch
*.la
*.lib
*.lo
*.lock
*.log
*.mac
*.mo
*.mp4
*.ncb
*.nope
*.o
*.obj
*.old
*.opendb
*.opt
*.org
*.p7x
*.patch
*.pc
*.pdb
*.pdf
*.plg
*.res
*.sig
*.sdf
*.suo
*.swp
*.tlog
*.user
*.opensdf
*.o_manifest
.deps
.libs
x86_32
x86_64
Makefile
/arm
/arm64
/x64
/x86
autom4te.cache
compile
config.guess
./config.h
/config.h
config.log
config.status
config.sub
depcomp
embedded.loc
/res/loc/pollock/.vs
/res/loc/pollock/bin
/res/loc/pollock/obj
/rufus_files
stamp-h1
/.vs/rufus

31
.mingw/Makefile.am Normal file
View file

@ -0,0 +1,31 @@
# Create delay-loaded libraries from a DLL, that aren't vulnerable to side-loading
AM_V_DLLTOOL_0 = @echo " LIB $@";$(DLLTOOL)
AM_V_DLLTOOL_1 = $(DLLTOOL)
AM_V_DLLTOOL_ = $(AM_V_DLLTOOL_$(AM_DEFAULT_VERBOSITY))
AM_V_DLLTOOL = $(AM_V_DLLTOOL_$(V))
AM_V_SED_0 = @echo " SED $<";$(SED)
AM_V_SED_1 = $(SED)
AM_V_SED_ = $(AM_V_SED_$(AM_DEFAULT_VERBOSITY))
AM_V_SED = $(AM_V_SED_$(V))
# Ah the joys of Windows DLL calling conventions, that require an @## suffix in the .def
# for x86_32 and but no @## for x86_64, thereby forcing us to strip stuff according to the
# target arch. Oh, and we can't use 'target_cpu' or AC definitions on account that we are
# switching archs when building on our local machine, and don't want to have to go though
# a costly reconf each time when we can simply issue a 'make clean'.
TUPLE := $(shell $(CC) -dumpmachine)
TARGET := $(word 1,$(subst -, ,$(TUPLE)))
DEF_SUFFIX := $(if $(TARGET:x86_64=),.def,.def64)
.PHONY: all
all: dwmapi-delaylib.lib version-delaylib.lib virtdisk-delaylib.lib wininet-delaylib.lib wintrust-delaylib.lib
%.def64: %.def
$(AM_V_SED) "s/@.*//" $< >$@
%-delaylib.lib: %$(DEF_SUFFIX)
$(AM_V_DLLTOOL) --input-def $< --output-delaylib $@ --dllname $(basename $<).dll
clean:
$(RM) -rf *.lib

383
.mingw/Makefile.in Normal file
View file

@ -0,0 +1,383 @@
# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
subdir = .mingw
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
depcomp =
am__depfiles_maybe =
SOURCES =
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_LDFLAGS = @AM_LDFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EXEEXT = @EXEEXT@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
RM = @RM@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SUFFIX = @SUFFIX@
VERSION = @VERSION@
VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@
WINDRES = @WINDRES@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
am__leading_dot = @am__leading_dot@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
# Create delay-loaded libraries from a DLL, that aren't vulnerable to side-loading
AM_V_DLLTOOL_0 = @echo " LIB $@";$(DLLTOOL)
AM_V_DLLTOOL_1 = $(DLLTOOL)
AM_V_DLLTOOL_ = $(AM_V_DLLTOOL_$(AM_DEFAULT_VERBOSITY))
AM_V_DLLTOOL = $(AM_V_DLLTOOL_$(V))
AM_V_SED_0 = @echo " SED $<";$(SED)
AM_V_SED_1 = $(SED)
AM_V_SED_ = $(AM_V_SED_$(AM_DEFAULT_VERBOSITY))
AM_V_SED = $(AM_V_SED_$(V))
# Ah the joys of Windows DLL calling conventions, that require an @## suffix in the .def
# for x86_32 and but no @## for x86_64, thereby forcing us to strip stuff according to the
# target arch. Oh, and we can't use 'target_cpu' or AC definitions on account that we are
# switching archs when building on our local machine, and don't want to have to go though
# a costly reconf each time when we can simply issue a 'make clean'.
TUPLE := $(shell $(CC) -dumpmachine)
TARGET := $(word 1,$(subst -, ,$(TUPLE)))
DEF_SUFFIX := $(if $(TARGET:x86_64=),.def,.def64)
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps .mingw/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign --ignore-deps .mingw/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
tags TAGS:
ctags CTAGS:
cscope cscopelist:
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean-am: clean-generic mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic cscopelist-am \
ctags-am distclean distclean-generic dvi dvi-am html html-am \
info info-am install install-am install-data install-data-am \
install-dvi install-dvi-am install-exec install-exec-am \
install-html install-html-am install-info install-info-am \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags-am \
uninstall uninstall-am
.PHONY: all
all: dwmapi-delaylib.lib version-delaylib.lib virtdisk-delaylib.lib wininet-delaylib.lib wintrust-delaylib.lib
%.def64: %.def
$(AM_V_SED) "s/@.*//" $< >$@
%-delaylib.lib: %$(DEF_SUFFIX)
$(AM_V_DLLTOOL) --input-def $< --output-delaylib $@ --dllname $(basename $<).dll
clean:
$(RM) -rf *.lib
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

2
.mingw/dwmapi.def Normal file
View file

@ -0,0 +1,2 @@
EXPORTS
DwmGetWindowAttribute@16

4
.mingw/version.def Normal file
View file

@ -0,0 +1,4 @@
EXPORTS
GetFileVersionInfoSizeW@8
GetFileVersionInfoW@16
VerQueryValueA@16

8
.mingw/virtdisk.def Normal file
View file

@ -0,0 +1,8 @@
EXPORTS
AttachVirtualDisk@24
CreateVirtualDisk@36
DetachVirtualDisk@12
GetVirtualDiskInformation@16
GetVirtualDiskPhysicalPath@12
GetVirtualDiskOperationProgress@12
OpenVirtualDisk@24

12
.mingw/wininet.def Normal file
View file

@ -0,0 +1,12 @@
EXPORTS
HttpQueryInfoA@20
HttpOpenRequestA@32
HttpSendRequestA@20
InternetCloseHandle@4
InternetConnectA@32
InternetCrackUrlA@16
InternetGetConnectedState@8
InternetGetLastResponseInfoA@12
InternetOpenA@20
InternetReadFile@16
InternetSetOptionA@16

2
.mingw/wintrust.def Normal file
View file

@ -0,0 +1,2 @@
EXPORTS
WinVerifyTrustEx@12

8
.vs/Generate.PDB.props Normal file
View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup>
<Link>
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
</Project>

316
.vs/bled.vcxproj Normal file
View file

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\bled\bled.c" />
<ClCompile Include="..\src\bled\crc32.c" />
<ClCompile Include="..\src\bled\data_align.c" />
<ClCompile Include="..\src\bled\data_extract_all.c" />
<ClCompile Include="..\src\bled\data_skip.c" />
<ClCompile Include="..\src\bled\decompress_bunzip2.c" />
<ClCompile Include="..\src\bled\decompress_gunzip.c" />
<ClCompile Include="..\src\bled\decompress_uncompress.c" />
<ClCompile Include="..\src\bled\decompress_unlzma.c" />
<ClCompile Include="..\src\bled\decompress_unxz.c" />
<ClCompile Include="..\src\bled\decompress_unzip.c" />
<ClCompile Include="..\src\bled\decompress_vtsi.c" />
<ClCompile Include="..\src\bled\filter_accept_all.c" />
<ClCompile Include="..\src\bled\filter_accept_list.c" />
<ClCompile Include="..\src\bled\filter_accept_reject_list.c" />
<ClCompile Include="..\src\bled\find_list_entry.c" />
<ClCompile Include="..\src\bled\header_list.c" />
<ClCompile Include="..\src\bled\header_skip.c" />
<ClCompile Include="..\src\bled\header_verbose_list.c" />
<ClCompile Include="..\src\bled\init_handle.c" />
<ClCompile Include="..\src\bled\open_transformer.c" />
<ClCompile Include="..\src\bled\seek_by_jump.c" />
<ClCompile Include="..\src\bled\seek_by_read.c" />
<ClCompile Include="..\src\bled\xz_dec_bcj.c" />
<ClCompile Include="..\src\bled\xz_dec_lzma2.c" />
<ClCompile Include="..\src\bled\xz_dec_stream.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\bled\bb_archive.h" />
<ClInclude Include="..\src\bled\bled.h" />
<ClInclude Include="..\src\bled\libbb.h" />
<ClInclude Include="..\src\bled\platform.h" />
<ClInclude Include="..\src\bled\xz.h" />
<ClInclude Include="..\src\bled\xz_config.h" />
<ClInclude Include="..\src\bled\xz_lzma2.h" />
<ClInclude Include="..\src\bled\xz_private.h" />
<ClInclude Include="..\src\bled\xz_stream.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>bled</ProjectName>
<ProjectGuid>{FB6D52D4-A2F8-C358-DB85-BBCAECFDDD7D}</ProjectGuid>
<RootNamespace>bled</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src</AdditionalIncludeDirectories>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src</AdditionalIncludeDirectories>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Lib>
<LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src</AdditionalIncludeDirectories>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Lib>
<LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src</AdditionalIncludeDirectories>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Lib>
<LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ModuleDefinitionFile>.\7z.def</ModuleDefinitionFile>
</Link>
<Lib>
<LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>

120
.vs/bled.vcxproj.filters Normal file
View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{396df203-84ec-49b8-ae11-074c50a020f0}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{0147b833-dc8f-4666-be99-77dfae5e6679}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\bled\bled.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\crc32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\data_extract_all.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\data_skip.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\data_align.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\filter_accept_all.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\filter_accept_list.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\filter_accept_reject_list.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\find_list_entry.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\header_list.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\header_skip.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\header_verbose_list.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\init_handle.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\seek_by_jump.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\seek_by_read.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\decompress_bunzip2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\decompress_gunzip.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\decompress_uncompress.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\decompress_unlzma.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\decompress_unxz.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\open_transformer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\xz_dec_bcj.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\xz_dec_lzma2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\xz_dec_stream.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\decompress_unzip.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\bled\decompress_vtsi.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\bled\bb_archive.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\bled\bled.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\bled\libbb.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\bled\platform.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\bled\xz.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\bled\xz_config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\bled\xz_lzma2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\bled\xz_private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\bled\xz_stream.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

355
.vs/ext2fs.vcxproj Normal file
View file

@ -0,0 +1,355 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\ext2fs\alloc.c" />
<ClCompile Include="..\src\ext2fs\alloc_sb.c" />
<ClCompile Include="..\src\ext2fs\alloc_stats.c" />
<ClCompile Include="..\src\ext2fs\alloc_tables.c" />
<ClCompile Include="..\src\ext2fs\badblocks.c" />
<ClCompile Include="..\src\ext2fs\bb_inode.c" />
<ClCompile Include="..\src\ext2fs\bitmaps.c" />
<ClCompile Include="..\src\ext2fs\bitops.c" />
<ClCompile Include="..\src\ext2fs\blkmap64_ba.c" />
<ClCompile Include="..\src\ext2fs\blkmap64_rb.c" />
<ClCompile Include="..\src\ext2fs\blknum.c" />
<ClCompile Include="..\src\ext2fs\block.c" />
<ClCompile Include="..\src\ext2fs\bmap.c" />
<ClCompile Include="..\src\ext2fs\closefs.c" />
<ClCompile Include="..\src\ext2fs\crc16.c" />
<ClCompile Include="..\src\ext2fs\crc32c.c" />
<ClCompile Include="..\src\ext2fs\csum.c" />
<ClCompile Include="..\src\ext2fs\dirblock.c" />
<ClCompile Include="..\src\ext2fs\dirhash.c" />
<ClCompile Include="..\src\ext2fs\dir_iterate.c" />
<ClCompile Include="..\src\ext2fs\extent.c" />
<ClCompile Include="..\src\ext2fs\ext_attr.c" />
<ClCompile Include="..\src\ext2fs\fallocate.c" />
<ClCompile Include="..\src\ext2fs\fileio.c" />
<ClCompile Include="..\src\ext2fs\freefs.c" />
<ClCompile Include="..\src\ext2fs\gen_bitmap.c" />
<ClCompile Include="..\src\ext2fs\gen_bitmap64.c" />
<ClCompile Include="..\src\ext2fs\get_num_dirs.c" />
<ClCompile Include="..\src\ext2fs\hashmap.c" />
<ClCompile Include="..\src\ext2fs\ind_block.c" />
<ClCompile Include="..\src\ext2fs\initialize.c" />
<ClCompile Include="..\src\ext2fs\inline.c" />
<ClCompile Include="..\src\ext2fs\inline_data.c" />
<ClCompile Include="..\src\ext2fs\inode.c" />
<ClCompile Include="..\src\ext2fs\io_manager.c" />
<ClCompile Include="..\src\ext2fs\i_block.c" />
<ClCompile Include="..\src\ext2fs\link.c" />
<ClCompile Include="..\src\ext2fs\lookup.c" />
<ClCompile Include="..\src\ext2fs\mkdir.c" />
<ClCompile Include="..\src\ext2fs\mkjournal.c" />
<ClCompile Include="..\src\ext2fs\mmp.c" />
<ClCompile Include="..\src\ext2fs\namei.c" />
<ClCompile Include="..\src\ext2fs\newdir.c" />
<ClCompile Include="..\src\ext2fs\nt_io.c" />
<ClCompile Include="..\src\ext2fs\openfs.c" />
<ClCompile Include="..\src\ext2fs\punch.c" />
<ClCompile Include="..\src\ext2fs\rbtree.c" />
<ClCompile Include="..\src\ext2fs\read_bb.c" />
<ClCompile Include="..\src\ext2fs\rw_bitmaps.c" />
<ClCompile Include="..\src\ext2fs\sha512.c" />
<ClCompile Include="..\src\ext2fs\symlink.c" />
<ClCompile Include="..\src\ext2fs\valid_blk.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\ext2fs\bitops.h" />
<ClInclude Include="..\src\ext2fs\bmap64.h" />
<ClInclude Include="..\src\ext2fs\com_err.h" />
<ClInclude Include="..\src\ext2fs\config.h" />
<ClInclude Include="..\src\ext2fs\crc16.h" />
<ClInclude Include="..\src\ext2fs\crc32c_defs.h" />
<ClInclude Include="..\src\ext2fs\crc32c_table.h" />
<ClInclude Include="..\src\ext2fs\e2image.h" />
<ClInclude Include="..\src\ext2fs\ext2fs.h" />
<ClInclude Include="..\src\ext2fs\ext2fsP.h" />
<ClInclude Include="..\src\ext2fs\ext2_err.h" />
<ClInclude Include="..\src\ext2fs\ext2_ext_attr.h" />
<ClInclude Include="..\src\ext2fs\ext2_fs.h" />
<ClInclude Include="..\src\ext2fs\ext2_io.h" />
<ClInclude Include="..\src\ext2fs\ext2_types.h" />
<ClInclude Include="..\src\ext2fs\ext3_extents.h" />
<ClInclude Include="..\src\ext2fs\ext4_acl.h" />
<ClInclude Include="..\src\ext2fs\hashmap.h" />
<ClInclude Include="..\src\ext2fs\jfs_compat.h" />
<ClInclude Include="..\src\ext2fs\kernel-jbd.h" />
<ClInclude Include="..\src\ext2fs\kernel-list.h" />
<ClInclude Include="..\src\ext2fs\rbtree.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>ext2fs</ProjectName>
<ProjectGuid>{B01F5886-2B39-4B66-B65C-6427135B6A02}</ProjectGuid>
<RootNamespace>ext2fs</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<DisableSpecificWarnings>4018;4146;4244;4267;4996</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4018;4146;4244;4267;4996</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4018;4146;4244;4267;4996</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<DisableSpecificWarnings>4018;4146;4244;4267;4996</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<DisableSpecificWarnings>4018;4146;4244;4267;4996</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Lib>
<LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4018;4146;4244;4267;4996</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
</Link>
<Lib>
<LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4018;4146;4244;4267;4996</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
</Link>
<Lib>
<LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<DisableSpecificWarnings>4018;4146;4244;4267;4996</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
</Link>
<Lib>
<LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
</Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>

237
.vs/ext2fs.vcxproj.filters Normal file
View file

@ -0,0 +1,237 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{396df203-84ec-49b8-ae11-074c50a020f0}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{0147b833-dc8f-4666-be99-77dfae5e6679}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\ext2fs\initialize.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\nt_io.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\alloc_sb.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\blknum.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\freefs.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\bitmaps.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\closefs.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\gen_bitmap.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\gen_bitmap64.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\inode.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\io_manager.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\csum.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\bitops.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\get_num_dirs.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\blkmap64_ba.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\blkmap64_rb.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\rbtree.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\crc16.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\crc32c.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\rw_bitmaps.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\mmp.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\dir_iterate.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\inline.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\block.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\extent.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\alloc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\alloc_stats.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\dirblock.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\inline_data.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\fileio.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\ext_attr.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\i_block.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\punch.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\ind_block.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\bmap.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\read_bb.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\badblocks.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\symlink.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\valid_blk.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\lookup.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\link.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\alloc_tables.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\mkdir.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\newdir.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\bb_inode.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\hashmap.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\sha512.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\mkjournal.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\fallocate.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\openfs.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\namei.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ext2fs\dirhash.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\ext2fs\ext2_fs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\ext2fs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\ext3_extents.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\ext2_io.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\ext2_ext_attr.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\com_err.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\bitops.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\ext2_err.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\ext2_types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\ext2fsP.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\rbtree.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\crc16.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\crc32c_defs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\bmap64.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\ext4_acl.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\e2image.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\crc32c_table.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\hashmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\kernel-list.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\kernel-jbd.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ext2fs\jfs_compat.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

252
.vs/getopt.vcxproj Normal file
View file

@ -0,0 +1,252 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}</ProjectGuid>
<RootNamespace>getopt</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>HAVE_STRING_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
<Optimization>Disabled</Optimization>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Lib>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<PreprocessorDefinitions>HAVE_STRING_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Lib>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<PreprocessorDefinitions>HAVE_STRING_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Lib>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<PreprocessorDefinitions>HAVE_STRING_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
<Optimization>Disabled</Optimization>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Lib>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>HAVE_STRING_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>HAVE_STRING_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>HAVE_STRING_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<PreprocessorDefinitions>HAVE_STRING_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\src\getopt\getopt.c" />
<ClCompile Include="..\src\getopt\getopt1.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\getopt\getopt.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -11,15 +11,15 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\getopt.c">
<ClCompile Include="..\src\getopt\getopt.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\getopt1.c">
<ClCompile Include="..\src\getopt\getopt1.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\getopt.h">
<ClInclude Include="..\src\getopt\getopt.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>

300
.vs/libcdio-driver.vcxproj Normal file
View file

@ -0,0 +1,300 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\libcdio\driver\disc.c" />
<ClCompile Include="..\src\libcdio\driver\ds.c" />
<ClCompile Include="..\src\libcdio\driver\logging.c" />
<ClCompile Include="..\src\libcdio\driver\memory.c" />
<ClCompile Include="..\src\libcdio\driver\read.c" />
<ClCompile Include="..\src\libcdio\driver\sector.c" />
<ClCompile Include="..\src\libcdio\driver\track.c" />
<ClCompile Include="..\src\libcdio\driver\utf8.c" />
<ClCompile Include="..\src\libcdio\driver\util.c" />
<ClCompile Include="..\src\libcdio\driver\_cdio_stdio.c" />
<ClCompile Include="..\src\libcdio\driver\_cdio_stream.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\libcdio\cdio\cdio.h" />
<ClInclude Include="..\src\libcdio\cdio\ds.h" />
<ClInclude Include="..\src\libcdio\cdio\logging.h" />
<ClInclude Include="..\src\libcdio\cdio\memory.h" />
<ClInclude Include="..\src\libcdio\cdio\sector.h" />
<ClInclude Include="..\src\libcdio\cdio\types.h" />
<ClInclude Include="..\src\libcdio\cdio\util.h" />
<ClInclude Include="..\src\libcdio\cdio\version.h" />
<ClInclude Include="..\src\libcdio\config.h" />
<ClInclude Include="..\src\libcdio\driver\cdio_assert.h" />
<ClInclude Include="..\src\libcdio\driver\cdio_private.h" />
<ClInclude Include="..\src\libcdio\driver\filemode.h" />
<ClInclude Include="..\src\libcdio\driver\portable.h" />
<ClInclude Include="..\src\libcdio\driver\_cdio_stdio.h" />
<ClInclude Include="..\src\libcdio\driver\_cdio_stream.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{FA1B1093-BA86-410A-B7A0-7A54C605F812}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>driver</RootNamespace>
<ProjectName>libcdio-driver</ProjectName>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
@ -11,78 +11,84 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\_cdio_stdio.c">
<ClCompile Include="..\src\libcdio\driver\_cdio_stdio.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\_cdio_stream.c">
<ClCompile Include="..\src\libcdio\driver\_cdio_stream.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\logging.c">
<ClCompile Include="..\src\libcdio\driver\logging.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\ds.c">
<ClCompile Include="..\src\libcdio\driver\ds.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\read.c">
<ClCompile Include="..\src\libcdio\driver\read.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\util.c">
<ClCompile Include="..\src\libcdio\driver\util.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\sector.c">
<ClCompile Include="..\src\libcdio\driver\sector.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\disc.c">
<ClCompile Include="..\src\libcdio\driver\disc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\track.c">
<ClCompile Include="..\src\libcdio\driver\track.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\utf8.c">
<ClCompile Include="..\src\libcdio\driver\utf8.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\libcdio\driver\memory.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\_cdio_stdio.h">
<ClInclude Include="..\src\libcdio\driver\_cdio_stdio.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\_cdio_stream.h">
<ClInclude Include="..\src\libcdio\driver\_cdio_stream.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\cdio_assert.h">
<ClInclude Include="..\src\libcdio\driver\cdio_assert.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\cdio_private.h">
<ClInclude Include="..\src\libcdio\driver\cdio_private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\filemode.h">
<ClInclude Include="..\src\libcdio\driver\filemode.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\logging.h">
<ClInclude Include="..\src\libcdio\cdio\logging.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\util.h">
<ClInclude Include="..\src\libcdio\cdio\util.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\cdio.h">
<ClInclude Include="..\src\libcdio\cdio\cdio.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\ds.h">
<ClInclude Include="..\src\libcdio\cdio\ds.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\types.h">
<ClInclude Include="..\src\libcdio\cdio\types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\config.h">
<ClInclude Include="..\src\libcdio\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\portable.h">
<ClInclude Include="..\src\libcdio\cdio\sector.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\sector.h">
<ClInclude Include="..\src\libcdio\cdio\version.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\version.h">
<ClInclude Include="..\src\libcdio\driver\portable.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\libcdio\cdio\memory.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>

293
.vs/libcdio-iso9660.vcxproj Normal file
View file

@ -0,0 +1,293 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\libcdio\cdio\bytesex.h" />
<ClInclude Include="..\src\libcdio\cdio\cdio.h" />
<ClInclude Include="..\src\libcdio\cdio\cdtext.h" />
<ClInclude Include="..\src\libcdio\cdio\iso9660.h" />
<ClInclude Include="..\src\libcdio\cdio\logging.h" />
<ClInclude Include="..\src\libcdio\cdio\portable.h" />
<ClInclude Include="..\src\libcdio\cdio\rock.h" />
<ClInclude Include="..\src\libcdio\cdio\utf8.h" />
<ClInclude Include="..\src\libcdio\cdio\util.h" />
<ClInclude Include="..\src\libcdio\config.h" />
<ClInclude Include="..\src\libcdio\driver\cdio_assert.h" />
<ClInclude Include="..\src\libcdio\driver\cdio_private.h" />
<ClInclude Include="..\src\libcdio\driver\filemode.h" />
<ClInclude Include="..\src\libcdio\driver\_cdio_stdio.h" />
<ClInclude Include="..\src\libcdio\iso9660\iso9660_private.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\libcdio\iso9660\iso9660.c" />
<ClCompile Include="..\src\libcdio\iso9660\iso9660_fs.c" />
<ClCompile Include="..\src\libcdio\iso9660\rock.c" />
<ClCompile Include="..\src\libcdio\iso9660\xa.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{D4E80F35-2604-40AC-B436-97B052ECB572}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>iso9660</RootNamespace>
<ProjectName>libcdio-iso9660</ProjectName>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
@ -11,54 +11,63 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\iso9660_private.h">
<ClInclude Include="..\src\libcdio\iso9660\iso9660_private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\config.h">
<ClInclude Include="..\src\libcdio\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\driver\cdio_assert.h">
<ClInclude Include="..\src\libcdio\driver\cdio_assert.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\bytesex.h">
<ClInclude Include="..\src\libcdio\cdio\bytesex.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\iso9660.h">
<ClInclude Include="..\src\libcdio\cdio\iso9660.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\util.h">
<ClInclude Include="..\src\libcdio\cdio\util.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\cdio.h">
<ClInclude Include="..\src\libcdio\cdio\cdio.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\utf8.h">
<ClInclude Include="..\src\libcdio\cdio\utf8.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\driver\_cdio_stdio.h">
<ClInclude Include="..\src\libcdio\driver\_cdio_stdio.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\driver\cdio_private.h">
<ClInclude Include="..\src\libcdio\driver\cdio_private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\logging.h">
<ClInclude Include="..\src\libcdio\cdio\logging.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\driver\filemode.h">
<ClInclude Include="..\src\libcdio\driver\filemode.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\libcdio\cdio\cdtext.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\libcdio\cdio\portable.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\libcdio\cdio\rock.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\iso9660_fs.c">
<ClCompile Include="..\src\libcdio\iso9660\iso9660_fs.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\rock.c">
<ClCompile Include="..\src\libcdio\iso9660\rock.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\xa.c">
<ClCompile Include="..\src\libcdio\iso9660\xa.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\iso9660.c">
<ClCompile Include="..\src\libcdio\iso9660\iso9660.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>

286
.vs/libcdio-udf.vcxproj Normal file
View file

@ -0,0 +1,286 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\libcdio\udf\filemode.c" />
<ClCompile Include="..\src\libcdio\udf\udf.c" />
<ClCompile Include="..\src\libcdio\udf\udf_file.c" />
<ClCompile Include="..\src\libcdio\udf\udf_fs.c" />
<ClCompile Include="..\src\libcdio\udf\udf_time.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\libcdio\cdio\bytesex.h" />
<ClInclude Include="..\src\libcdio\cdio\udf.h" />
<ClInclude Include="..\src\libcdio\config.h" />
<ClInclude Include="..\src\libcdio\driver\cdio_assert.h" />
<ClInclude Include="..\src\libcdio\driver\filemode.h" />
<ClInclude Include="..\src\libcdio\udf\udf_fs.h" />
<ClInclude Include="..\src\libcdio\udf\udf_private.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{0CEC40A6-A195-4BE5-A88B-0AB00EB142EC}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>udf</RootNamespace>
<ProjectName>libcdio-udf</ProjectName>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>HAVE_CONFIG_H;_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;_FILE_OFFSET_BITS=64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\libcdio;..\src\libcdio\driver;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -11,42 +11,42 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\filemode.c">
<ClCompile Include="..\src\libcdio\udf\filemode.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\udf.c">
<ClCompile Include="..\src\libcdio\udf\udf.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\udf_file.c">
<ClCompile Include="..\src\libcdio\udf\udf_file.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\udf_fs.c">
<ClCompile Include="..\src\libcdio\udf\udf_fs.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\udf_time.c">
<ClCompile Include="..\src\libcdio\udf\udf_time.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\udf_fs.h">
<ClInclude Include="..\src\libcdio\udf\udf_fs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\udf_private.h">
<ClInclude Include="..\src\libcdio\udf\udf_private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\udf.h">
<ClInclude Include="..\src\libcdio\cdio\udf.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\config.h">
<ClInclude Include="..\src\libcdio\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\driver\filemode.h">
<ClInclude Include="..\src\libcdio\driver\filemode.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\cdio\bytesex.h">
<ClInclude Include="..\src\libcdio\cdio\bytesex.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\driver\cdio_assert.h">
<ClInclude Include="..\src\libcdio\driver\cdio_assert.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>

337
.vs/ms-sys.vcxproj Normal file
View file

@ -0,0 +1,337 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\ms-sys\inc\br.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat12_0x0.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat12_0x3e.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat16fd_0x3e.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat16ros_0x0.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat16ros_0x3e.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat16_0x0.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat16_0x3e.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32fd_0x3f0.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32fd_0x52.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32kos_0x52.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32nt_0x1800.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32nt_0x3f0.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32nt_0x52.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32pe_0x1800.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32pe_0x3f0.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32pe_0x52.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32ros_0x1c00.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32ros_0x3f0.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32ros_0x52.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32_0x0.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32_0x3f0.h" />
<ClInclude Include="..\src\ms-sys\inc\br_fat32_0x52.h" />
<ClInclude Include="..\src\ms-sys\inc\br_ntfs_0x0.h" />
<ClInclude Include="..\src\ms-sys\inc\br_ntfs_0x54.h" />
<ClInclude Include="..\src\ms-sys\inc\fat12.h" />
<ClInclude Include="..\src\ms-sys\inc\fat16.h" />
<ClInclude Include="..\src\ms-sys\inc\fat32.h" />
<ClInclude Include="..\src\ms-sys\inc\file.h" />
<ClInclude Include="..\src\ms-sys\inc\label_11_char.h" />
<ClInclude Include="..\src\ms-sys\inc\libintl.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_2000.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_95b.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_dos.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_dos_f2.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_gpt_syslinux.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_grub.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_grub2.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_kolibri.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_msg_rufus.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_reactos.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_rufus.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_syslinux.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_vista.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_win7.h" />
<ClInclude Include="..\src\ms-sys\inc\mbr_zero.h" />
<ClInclude Include="..\src\ms-sys\inc\nls.h" />
<ClInclude Include="..\src\ms-sys\inc\ntfs.h" />
<ClInclude Include="..\src\ms-sys\inc\partition_info.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\ms-sys\br.c" />
<ClCompile Include="..\src\ms-sys\fat12.c" />
<ClCompile Include="..\src\ms-sys\fat16.c" />
<ClCompile Include="..\src\ms-sys\fat32.c" />
<ClCompile Include="..\src\ms-sys\file.c" />
<ClCompile Include="..\src\ms-sys\ntfs.c" />
<ClCompile Include="..\src\ms-sys\partition_info.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{2B1D078D-8EB4-4398-9CA4-23457265A7F6}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>mssys</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src\ms-sys\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src\ms-sys\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/analyze:stacksize32850 /utf-8 %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src\ms-sys\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/analyze:stacksize32850 /utf-8 %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src\ms-sys\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src\ms-sys\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/analyze:stacksize32850 /utf-8 %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src\ms-sys\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/analyze:stacksize32850 /utf-8 %(AdditionalOptions)</AdditionalOptions>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src\ms-sys\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src\ms-sys\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>28252;28253</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

185
.vs/ms-sys.vcxproj.filters Normal file
View file

@ -0,0 +1,185 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\ms-sys\inc\br.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\partition_info.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat12_0x0.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat12_0x3e.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat16_0x0.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat16_0x3e.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat16fd_0x3e.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32_0x0.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32_0x3f0.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32_0x52.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32fd_0x3f0.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32fd_0x52.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32nt_0x1800.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32nt_0x3f0.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32nt_0x52.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\fat12.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\fat16.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\fat32.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\file.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\label_11_char.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_2000.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_95b.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_dos.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_dos_f2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_syslinux.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_vista.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_win7.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_zero.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\ntfs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_ntfs_0x0.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_ntfs_0x54.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_reactos.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32ros_0x1c00.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32ros_0x3f0.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32ros_0x52.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat16ros_0x3e.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat16ros_0x0.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_rufus.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32kos_0x52.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_kolibri.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_grub.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_grub2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\nls.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\libintl.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32pe_0x3f0.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32pe_0x52.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\br_fat32pe_0x1800.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_gpt_syslinux.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ms-sys\inc\mbr_msg_rufus.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\ms-sys\br.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ms-sys\file.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ms-sys\fat12.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ms-sys\fat16.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ms-sys\fat32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ms-sys\partition_info.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ms-sys\ntfs.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

492
.vs/rufus.vcxproj Normal file
View file

@ -0,0 +1,492 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>rufus</ProjectName>
<ProjectGuid>{731858A7-0303-4988-877B-9C0DD6471864}</ProjectGuid>
<RootNamespace>rufus</RootNamespace>
<Keyword>Win32Proj</Keyword>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<BuildLog />
<ClCompile>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;COBJMACROS;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<Optimization>Disabled</Optimization>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;virtdisk.lib;wininet.lib;wintrust.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;virtdisk.dll;wininet.dll;wintrust.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<BuildLog />
<ClCompile>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;COBJMACROS;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;virtdisk.lib;wininet.lib;wintrust.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\um\arm</AdditionalLibraryDirectories>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;virtdisk.dll;wininet.dll;wintrust.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>
</Culture>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<BuildLog />
<ClCompile>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;COBJMACROS;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;virtdisk.lib;wininet.lib;wintrust.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\arm64</AdditionalLibraryDirectories>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;virtdisk.dll;wininet.dll;wintrust.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>
</Culture>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<BuildLog />
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;COBJMACROS;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<Optimization>Disabled</Optimization>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;virtdisk.lib;wininet.lib;wintrust.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;virtdisk.dll;wininet.dll;wintrust.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<BuildLog />
<ClCompile>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;COBJMACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<UndefinePreprocessorDefinitions>NDEBUG</UndefinePreprocessorDefinitions>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;virtdisk.lib;wininet.lib;wintrust.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;virtdisk.dll;wininet.dll;wintrust.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<BuildLog />
<ClCompile>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;COBJMACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<UndefinePreprocessorDefinitions>NDEBUG</UndefinePreprocessorDefinitions>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;virtdisk.lib;wininet.lib;wintrust.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\um\arm</AdditionalLibraryDirectories>
<AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;virtdisk.dll;wininet.dll;wintrust.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>
</Culture>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<BuildLog />
<ClCompile>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;COBJMACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<UndefinePreprocessorDefinitions>NDEBUG</UndefinePreprocessorDefinitions>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;virtdisk.lib;wininet.lib;wintrust.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\arm64</AdditionalLibraryDirectories>
<AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;virtdisk.dll;wininet.dll;wintrust.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>
</Culture>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<BuildLog />
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<PreprocessorDefinitions>_OFF_T_DEFINED;_off_t=__int64;off_t=_off_t;COBJMACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;..\src\ms-sys\inc;..\src\syslinux\libinstaller;..\src\syslinux\libfat;..\src\syslinux\win;..\src\libcdio;..\src\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<ExceptionHandling>Async</ExceptionHandling>
<DisableSpecificWarnings>4091;5255;28251;28252;28253;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<UndefinePreprocessorDefinitions>NDEBUG</UndefinePreprocessorDefinitions>
<AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<AdditionalDependencies>advapi32.lib;comctl32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;version.lib;virtdisk.lib;wininet.lib;wintrust.lib;%(AdditionalDependencies)</AdditionalDependencies>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
<AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions>
<DelayLoadDLLs>advapi32.dll;comctl32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;version.dll;virtdisk.dll;wininet.dll;wintrust.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<PreBuildEvent>
<Command>type $(SolutionDir)res\loc\rufus.loc | findstr /v MSG_9 &gt; $(SolutionDir)res\loc\embedded.loc</Command>
<Message>Generating 'embedded.loc' file</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\src\badblocks.c" />
<ClCompile Include="..\src\cpu.c" />
<ClCompile Include="..\src\dos_locale.c" />
<ClCompile Include="..\src\drive.c" />
<ClCompile Include="..\src\format.c" />
<ClCompile Include="..\src\dos.c" />
<ClCompile Include="..\src\format_ext.c" />
<ClCompile Include="..\src\format_fat32.c" />
<ClCompile Include="..\src\icon.c" />
<ClCompile Include="..\src\iso.c" />
<ClCompile Include="..\src\localization.c" />
<ClCompile Include="..\src\net.c" />
<ClCompile Include="..\src\parser.c" />
<ClCompile Include="..\src\pki.c" />
<ClCompile Include="..\src\process.c" />
<ClCompile Include="..\src\re.c" />
<ClCompile Include="..\src\rufus.c" />
<ClCompile Include="..\src\hash.c" />
<ClCompile Include="..\src\smart.c" />
<ClCompile Include="..\src\stdfn.c" />
<ClCompile Include="..\src\stdio.c" />
<ClCompile Include="..\src\stdlg.c" />
<ClCompile Include="..\src\syslinux.c" />
<ClCompile Include="..\src\dev.c" />
<ClCompile Include="..\src\ui.c" />
<ClCompile Include="..\src\vhd.c" />
<ClCompile Include="..\src\wue.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\res\grub2\grub2_version.h" />
<ClInclude Include="..\res\grub\grub_version.h" />
<ClInclude Include="..\src\badblocks.h" />
<ClInclude Include="..\src\bled\bled.h" />
<ClInclude Include="..\src\cpu.h" />
<ClInclude Include="..\src\drive.h" />
<ClInclude Include="..\src\format.h" />
<ClInclude Include="..\src\gpt_types.h" />
<ClInclude Include="..\src\hdd_vs_ufd.h" />
<ClInclude Include="..\src\mbr_types.h" />
<ClInclude Include="..\src\missing.h" />
<ClInclude Include="..\src\process.h" />
<ClInclude Include="..\src\re.h" />
<ClInclude Include="..\src\settings.h" />
<ClInclude Include="..\src\libcdio\cdio\cdio.h" />
<ClInclude Include="..\src\libcdio\cdio\iso9660.h" />
<ClInclude Include="..\src\libcdio\cdio\udf.h" />
<ClInclude Include="..\src\localization.h" />
<ClInclude Include="..\src\localization_data.h" />
<ClInclude Include="..\src\msapi_utf8.h" />
<ClInclude Include="..\src\dos.h" />
<ClInclude Include="..\src\registry.h" />
<ClInclude Include="..\src\resource.h" />
<ClInclude Include="..\src\rufus.h" />
<ClInclude Include="..\src\license.h" />
<ClInclude Include="..\src\db.h" />
<ClInclude Include="..\src\smart.h" />
<ClInclude Include="..\src\dev.h" />
<ClInclude Include="..\src\ui.h" />
<ClInclude Include="..\src\ui_data.h" />
<ClInclude Include="..\src\vhd.h" />
<ClInclude Include="..\src\winio.h" />
<ClInclude Include="..\src\wue.h" />
</ItemGroup>
<ItemGroup>
<Manifest Include="..\src\rufus.manifest" />
</ItemGroup>
<ItemGroup>
<None Include="..\res\down.ico" />
<None Include="..\res\rufus.ico" />
<None Include="..\res\up.ico" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\src\rufus.rc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include=".\bled.vcxproj">
<Project>{fb6d52d4-a2f8-c358-db85-bbcaecfddd7d}</Project>
</ProjectReference>
<ProjectReference Include=".\getopt.vcxproj">
<Project>{ae83e1b4-ce06-47ee-b7a3-c3a1d7c2d71e}</Project>
</ProjectReference>
<ProjectReference Include=".\libcdio-driver.vcxproj">
<Project>{fa1b1093-ba86-410a-b7a0-7a54c605f812}</Project>
</ProjectReference>
<ProjectReference Include=".\libcdio-iso9660.vcxproj">
<Project>{d4e80f35-2604-40ac-b436-97b052ecb572}</Project>
</ProjectReference>
<ProjectReference Include=".\libcdio-udf.vcxproj">
<Project>{0cec40a6-a195-4be5-a88b-0ab00eb142ec}</Project>
</ProjectReference>
<ProjectReference Include=".\ms-sys.vcxproj">
<Project>{2b1d078d-8eb4-4398-9ca4-23457265a7f6}</Project>
</ProjectReference>
<ProjectReference Include=".\syslinux-libfat.vcxproj">
<Project>{8390dce0-859d-4f57-ad9c-aaeac4d77eef}</Project>
</ProjectReference>
<ProjectReference Include=".\syslinux-libinstaller.vcxproj">
<Project>{266502ac-cd74-4581-b707-938a7d05ad7a}</Project>
</ProjectReference>
<ProjectReference Include=".\syslinux-win.vcxproj">
<Project>{7d2e9784-ddf7-4988-a887-cf099bc3b340}</Project>
</ProjectReference>
<ProjectReference Include="ext2fs.vcxproj">
<Project>{b01f5886-2b39-4b66-b65c-6427135b6a02}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

222
.vs/rufus.vcxproj.filters Normal file
View file

@ -0,0 +1,222 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\rufus.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\stdlg.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\dos.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\stdio.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\format.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\drive.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\badblocks.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\dos_locale.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\syslinux.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\iso.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\icon.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\parser.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\net.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\vhd.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\stdfn.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\localization.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\smart.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\hash.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\pki.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\dev.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\process.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ui.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\format_ext.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\format_fat32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\re.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\wue.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\cpu.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\rufus.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\msapi_utf8.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\license.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\dos.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\format.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\badblocks.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\resource.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\libcdio\cdio\cdio.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\libcdio\cdio\iso9660.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\libcdio\cdio\udf.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\registry.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\localization.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\localization_data.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\smart.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\hdd_vs_ufd.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\drive.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\bled\bled.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\settings.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\missing.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\dev.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\db.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\process.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ui.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\ui_data.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\mbr_types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\gpt_types.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\winio.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\re.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\res\grub\grub_version.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\res\grub2\grub2_version.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\wue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\vhd.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\src\cpu.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\res\rufus.ico">
<Filter>Resource Files</Filter>
</None>
<None Include="..\res\up.ico">
<Filter>Resource Files</Filter>
</None>
<None Include="..\res\down.ico">
<Filter>Resource Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Manifest Include="..\src\rufus.manifest">
<Filter>Resource Files</Filter>
</Manifest>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\src\rufus.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>

291
.vs/syslinux-libfat.vcxproj Normal file
View file

@ -0,0 +1,291 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\syslinux\libfat\fat.h" />
<ClInclude Include="..\src\syslinux\libfat\libfat.h" />
<ClInclude Include="..\src\syslinux\libfat\libfatint.h" />
<ClInclude Include="..\src\syslinux\libfat\ulint.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\syslinux\libfat\cache.c" />
<ClCompile Include="..\src\syslinux\libfat\dumpdir.c" />
<ClCompile Include="..\src\syslinux\libfat\fatchain.c" />
<ClCompile Include="..\src\syslinux\libfat\open.c" />
<ClCompile Include="..\src\syslinux\libfat\searchdir.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{8390DCE0-859D-4F57-AD9C-AAEAC4D77EEF}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>libfat</RootNamespace>
<ProjectName>syslinux-libfat</ProjectName>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4018;4244</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4018;4244</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4018;4244</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>inline=__inline;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4018;4244</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>inline=__inline;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4018;4244</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>inline=__inline;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4018;4244</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4018;4244</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>inline=__inline;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4018;4244</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -11,30 +11,33 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\fat.h">
<ClInclude Include="..\src\syslinux\libfat\fat.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\libfat.h">
<ClInclude Include="..\src\syslinux\libfat\libfat.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\libfatint.h">
<ClInclude Include="..\src\syslinux\libfat\libfatint.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\ulint.h">
<ClInclude Include="..\src\syslinux\libfat\ulint.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\cache.c">
<ClCompile Include="..\src\syslinux\libfat\cache.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\fatchain.c">
<ClCompile Include="..\src\syslinux\libfat\fatchain.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\open.c">
<ClCompile Include="..\src\syslinux\libfat\open.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\searchdir.c">
<ClCompile Include="..\src\syslinux\libfat\searchdir.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\syslinux\libfat\dumpdir.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>

View file

@ -0,0 +1,290 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\syslinux\libinstaller\advconst.h" />
<ClInclude Include="..\src\syslinux\libinstaller\syslinux.h" />
<ClInclude Include="..\src\syslinux\libinstaller\syslxcom.h" />
<ClInclude Include="..\src\syslinux\libinstaller\syslxfs.h" />
<ClInclude Include="..\src\syslinux\libinstaller\syslxint.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\syslinux\libinstaller\fs.c" />
<ClCompile Include="..\src\syslinux\libinstaller\setadv.c" />
<ClCompile Include="..\src\syslinux\libinstaller\syslxmod.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{266502AC-CD74-4581-B707-938A7D05AD7A}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>libinstaller</RootNamespace>
<ProjectName>syslinux-libinstaller</ProjectName>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>inline=__inline;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>inline=__inline;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>inline=__inline;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>inline=__inline;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -11,30 +11,30 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\advconst.h">
<ClInclude Include="..\src\syslinux\libinstaller\advconst.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\syslinux.h">
<ClInclude Include="..\src\syslinux\libinstaller\syslinux.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\syslxint.h">
<ClInclude Include="..\src\syslinux\libinstaller\syslxint.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\syslxfs.h">
<ClInclude Include="..\src\syslinux\libinstaller\syslxfs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\syslxcom.h">
<ClInclude Include="..\src\syslinux\libinstaller\syslxcom.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\fs.c">
<ClCompile Include="..\src\syslinux\libinstaller\fs.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\setadv.c">
<ClCompile Include="..\src\syslinux\libinstaller\setadv.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\syslxmod.c">
<ClCompile Include="..\src\syslinux\libinstaller\syslxmod.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>

284
.vs/syslinux-win.vcxproj Normal file
View file

@ -0,0 +1,284 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\syslinux\win\ntfssect.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\syslinux\win\ntfssect.c" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{7D2E9784-DDF7-4988-A887-CF099BC3B340}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>win</RootNamespace>
<ProjectName>syslinux-win</ProjectName>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v143</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(SolutionDir)arm\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">$(SolutionDir)arm64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)x86\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)x64\$(Configuration)\$(ProjectName)\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267;4996</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267;4996</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267;4996</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>inline=__inline;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267;4996</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib>
<TargetMachine>MachineX86</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>inline=__inline;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267;4996</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>inline=__inline;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267;4996</DisableSpecificWarnings>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib />
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;_CRTDBG_MAP_ALLOC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267;4996</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>inline=__inline;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\src;..\src\msvc-missing;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4244;4267;4996</DisableSpecificWarnings>
<CompileAs>CompileAsC</CompileAs>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<TargetMachine>MachineX64</TargetMachine>
</Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\syslinux\win\ntfssect.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\syslinux\win\ntfssect.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View file

@ -1,3 +1,575 @@
o Version 4.5 (2024.05.22)
Add new advanced option to perform runtime UEFI media validation of suitable images (Windows, most Linux)
Move the 'Use Rufus MBR' advanced option to a cheat mode (Alt-A)
Fix truncation of VHDX images, as well as a benign error message when writing VHD/VHDX
Fix support for Linux persistence in some configurations (Mint, Ubuntu 24.04)
Fix multiple potential vulnerabilities (with thanks to Mansour Gashasbi)
Update internal GRUB to version 2.12
Update UEFI:NTFS to latest (now always uses the ntfs-3g driver, rather than the buggy AMI NTFS one)
Increase buffer size when copying ISO files, in an attempt to minimize the AMI NTFS UEFI driver bug
Improve partition creation handling
Don't display the WUE dialog when a conflicting 'unattend.xml' already exists
o Version 4.4 (2024.01.17)
Add workaround for distros that use broken symbolic links as their UEFI bootloaders (such as Mint 21.3)
Add support for GRUB 2.12
Fix a crash when saving .ffu images
Fix UEFI:NTFS partition not being added, in MBR mode, for some Linux ISOs
Prevent Microsoft Dev Drives from being listed
Improve support for SDXC card readers
Improve Large FAT32 formatting by aligning start of data regions to 1 MB (courtesy of Fred)
o Version 4.3 (2023.10.19)
Add support for Rock Ridge symbolic links preservation when NTFS is used
Add an exception to enforce NTFS for Linux Mint's LMDE
Add an expert feature to restrict a Windows installation to S Mode
Fix persistence support for Debian 12 when booted in BIOS mode
Fix a regression that prevented the opening of .vhd images
Update UEFI:NTFS to report a more explicit error on bootmgr security issues
Improve the search for conflicting processes by running it in a background thread
Improve support for Slax Linux
o Version 4.2 (2023.07.26)
Add detection and warning for UEFI revoked bootloaders (including ones revoked through SkuSiPolicy.p7b)
Add ZIP64 support, to extract .zip images that are larger than 4 GB
Add saving and restoring current drive to/from compressed VHDX image
Add saving and restoring current drive to/from compressed FFU (Full Flash Update) image [EXPERIMENTAL]
Fix a crash when trying to open Windows ISOs, with the MinGW compiled x86 32-bit version
Fix an issue where ISOs that contain a boot image with an 'EFI' label are not detected as bootable
Increase the ISO → ESP limit for Debian 12 netinst images
Ensure that the main partition size is aligned to the cluster size
o Version 4.1 (2023.05.31)
Add timeouts on enumeration queries that may stall on some systems
Restore MS-DOS drive creation through the download of binaries from Microsoft
Update the log button icon
Fix UEFI:NTFS incompatibility with Windows Dev Kit 2023 platform
Fix more GRUB 'out of range pointer' errors with Ubuntu/Fedora when booting in BIOS mode
o Version 4.0 (2023.04.26)
Fix persistent partition not working with Ubuntu 23.04
Fix out of range pointer error with Ubuntu 23.04 when booting in BIOS mode
Fix boot freeze with Ubuntu Studio when Secure Boot is enabled
Fix incorrect architecture detection when checking for updates
Fix a Windows Store application crash when processing GRUB bootloaders
Fix a Windows Store application crash when enumerating processes that contain a % sign
Fix a Windows Store application crash when using German localization
Note that the major version was bumped on account of:
- New versions of Rufus requiring Windows 8 or later
- New versions of Rufus defaulting to a 64-bit executable
- Old versions of Rufus potentially not being able to update properly
o Version 3.22 (2023.03.25)
Add SHA-1 and SHA-256 x86 acceleration on CPUs that support it (courtesy of Jeffrey Walton)
Add an option to disable BitLocker device encryption in the Windows User Experience dialog
Add a cheat mode (Ctrl-P) to preserve the log between sessions
Fix potential media creation errors by forcing the unmount of stale WIM images
Fix potential access errors in ISO → ESP mode by forcing Large FAT32 formatting
Fix user-specified label not being preserved on error/cancel
Fix some large SSD devices being listed by default
Fix processing of Rock Ridge CE fields
Work around the use of Rock Ridge symbolic links for Linux firmware packages (Debian)
Remove the ISO download feature on Windows 7
Note: This is the last version of Rufus that can run on Windows 7
o Version 3.21 (2022.11.28)
Allow the provision of an arbitrary local account username in the Windows User Experience dialog
Improve Windows version reporting from ISO/.wim
Update UEFI:NTFS' NTFS drivers to v1.4 and exFAT drivers to v1.9
Switch to remote download for nonstandard GRUB (Fedora 37, openSUSE Live, GeckoLinux)
Fix UEFI:NTFS partition not being set in MBR mode for ISOs with a >4GB file (UwUntu)
Fix GRUB support for Arch and derivatives, when a non FAT compliant label is used
Fix incorrect detection of GRUB with nonstandard prefixes
Fix tab order not working on the Windows User Experience dialog
o Version 3.20 (2022.08.03)
Enable applicable Windows User Experience options for Windows 10
Remember last Windows User Experience selection between sessions
Add automatic local account creation and regional options duplication
(NB: This is limited to creating an account with the same name as the current user and
with an empty password that the user will be prompted to change after first reboot)
Add a workaround for ISOs that have a 'syslinux' symbolic link to '/isolinux/' (Knoppix)
Revert to offline insertion of registry keys for the TPM/SB/RAM bypass where possible
Remove storage bypass, since this is a bogus bypass that doesn't do anything
Improve BIOS compatibility when displaying the "UEFI boot only" alert message
Fix Windows User Experience dialog appearing twice for Windows To Go
Fix Windows User Experience options not being applied for ARM64
Fix Microsoft Account bypass not being applied unless TPM/SB/RAM bypass is selected
Fix overeager detection of GRUB2 bootloaders with nonstandard prefixes
o Version 3.19 (2022.07.01)
Add a new selection dialog for Windows 11 setup customization:
- Secure Boot and TPM bypass have now been moved to this dialog
- Also allows to bypass the mandatory requirement for a Microsoft account on Windows 11 22H2
(NB: Network *MUST* be temporarily disabled for the local account creation to be proposed)
- Also add an option to skip all collection questions (Sets all answers to "Don't allow")
- Also add an option for setting internal drives offline for Windows To Go
Note: These customization options are only proposed when using a Windows 11 image.
Add support for distros using a nonstandard GRUB 2.0 prefix directory (openSUSE Live, GeckoLinux)
Add the ability to ignore USBs (See https://github.com/pbatard/rufus/blob/master/res/rufus.ini)
Change drive listing to always list in increasing order of size
Update exceptions needed by Red Hat and derivatives for the 9.x releases
Update UEFI:NTFS drivers to latest
Reassign a letter for drives written in DD mode that don't have an ESP (e.g. CoreELEC)
Fix Windows refusing to mount Linux MBR partitions on FIXED drives
Fix support for multiextent files when Joliet is in use
o Version 3.18 (2022.03.11)
Fix DLL sideloading vulnerabilities
Fix ISO → ESP creation when running on Windows 11
Fix an issue when detecting network connectivity when the DHCP service is disabled
Update FreeDOS to version 1.3
Add bypass of Windows 11 restrictions for in-place upgrades
Add Miracle Linux 8 to the list of Red Hat exceptions
Other internal fixes and improvements
o Version 3.17 (2021.10.23) [BUGFIX RELEASE]
Fix MBR not being properly cleared
Fix commandline hogger not being deleted on exit
Improve ReFS handling for platforms that support it
Update UEFI:NTFS to latest and remove Secure Boot notice since this version is Secure Boot signed
Update Grub4DOS to latest
o Version 3.16 (2021.10.13)
Fix ISO mode support for Red Hat 8.2+ and derivatives
Fix BIOS boot support for Arch derivatives
Fix removal of some boot entries for Ubuntu derivatives
Fix log not being saved on exit
Add Windows 11 "Extended" installation support (Disables TPM/Secure Boot requirements)
Add UEFI Shell ISO downloads
Add support for Intel NUC card readers
Improve Windows 11 support
Improve Windows version reporting
Speed up clearing of MBR/GPT
o Version 3.15 (2021.08.03)
Update GRUB to version 2.06
Add support for .vtsi files (Ventoy Sparse Image, courtesy of longpanda/ventoy)
Add workaround for openSUSE Live ISOs
Move default app directory to %LocalAppData%\Rufus\ and always save a log there on exit
Fix AppStore version of Rufus not being able to store downloaded files
Fix failure to open Syslinux/GRUB files when Rufus is located at the root of a drive
Prevent the creation of 'System Volume Information' on ESPs written in DD mode
Prevent drive letter assignation to the UEFI:NTFS partition
Prevent persistent partition creation errors due to size
Enhance safety checks before running the Fido ISO download script
Other internal fixes and improvements
o Version 3.14 (2021.04.30)
Improve DD write speed (uncompressed images only)
Improve checksum computation speed
Improve network connectivity detection
Only prompt for additional GRUB/Syslinux downloads when not writing in DD mode
Fix potential "loss" of disk after writing Ubuntu 20.10 in DD mode
Fix GRUB compatibility issue with Ubuntu 21.04
Fix Rufus MBR not being selected by default for Windows ISOs
Fix drag and drop being enabled during drive creation
Add more "exceptions" for forced DD image writing
o Version 3.13 (2020.11.20)
Add a cheat mode (Alt-M) to accept disk images without a Boot Marker
Add marquee operation progress to the taskbar icon
Add zeroing/image writing progress to the log
Switch to using 0x55 and 0xAA instead of 0x00 and 0xFF for low pass badblock check
Switch to using fake/manufacturer units when computing the default label
Fix overnumerous write retries on error when writing a disk image
Work around Windows' abysmal handling of removable drives that contain an ESP
Improve mounting/unmounting of volumes
Update UEFI:NTFS file system drivers to version 1.7
Other internal fixes and improvements (VDS, error reporting, etc.)
o Version 3.12 (2020.10.14)
Add optional SHA-512 digest algorithm (Alt-H)
Add a cheat mode (Alt +/-) to increase/decrease application priority
Enable direct provision of install.wim/install.esd for Windows To Go
Move Windows To Go ESP to the beginning of the drive, on systems that allow it
Enforce a minimum volume size of 256 MB for ext2/ext3 partitions
Speed up the scanning of ISOs with lots of Rock Ridge deep directory entries
Fix detection of GRUB version and update embedded GRUB for Ubuntu 20.10 support
Fix user interface labels for accessibility
Work around a Windows bug where the wrong drive letter may be returned
o Version 3.11 (2020.06.18)
Add Rock Ridge deep directory support
Add an option to write small ISOs to an ESP (GPT only)
Add a cheat mode (Ctrl-SELECT) to extract content from an additional zip archive on top of the ISO
Add a cheat mode (Alt-G) to disable Virtual Hard Disk listing
Add a cheat mode (Alt-P) to toggle a GPT ESP to Basic Data (Windows 10 only)
Fix improper x86 32-bit NTFS driver being used for UEFI:NTFS
Improve UEFI:NTFS compatibility with older UEFI firmwares
Improve startup time by running the ISO download feature check in the background
Remove Ubuntu's splash screen for persistent UEFI drives
Enable ASLR for the Rufus executable
o Version 3.10 (2020.04.22)
Improve support for Ubuntu 20.04
Improve detection of FIXED drives with no mounted partitions
Improve extfs formatting (courtesy of Marcos Mello)
Update UEFI:NTFS file system drivers to v1.5
Fix progress not being updated when using the German localization
Fix primary GPT being overwritten when adding the protective MBR message
Fix a regression with lousy security solutions that prevent the creation of an 'autorun.inf'
Fix an assert during FreeDOS drive creation when the Windows system locale is set to UTF-8
Fix invalid label errors when using a non-Western locale
o Version 3.9 (2020.02.29)
Add exFAT support when creating blank UEFI:NTFS drives [EXPERIMENTAL]
Fix ext2/ext3 corruption for partitions larger than 4 GB
Fix early boot files not being usable on compressed NTFS partitions
Fix writing of compressed streams that don't end on sector boundary
Fix percent not being displayed on slow format
Improve file preallocation and speed up ISO extraction (courtesy of Mattiwatti)
Improve ext2/ext3 formatting speed
Improve protective MBR message for GPT partitioned drives
Improve reporting of Syslinux/GRUB download errors
Improve reporting of partition types and of Windows' version
Report the usage of UDF symbolic links
Update embedded Syslinux to 6.04-pre1
o Version 3.8 (2019.09.16) [BUGFIX RELEASE]
Fix regression where some ISOs (Debian) would produce a Syslinux error when booted in BIOS mode
Fix potential 0xC0030057 errors when trying to create a persistent partitions on a non-FIXED drive
o Version 3.7 (2019.09.09)
Finalize persistent partition support for Debian and Ubuntu [EXPERIMENTAL]:
- Debian with persistence should work out of the box with any recent "Debian Live" ISO.
- Ubuntu with persistence should also work *IF* using a post 2019.08.01 ISO. Note that,
because of bug #1489855, trying to use persistence with Ubuntu ISOs that were released
before August 2019 will only result in rescue mode during boot - You have been warned!
- Other distros may work with persistence as long as they use a Debian-like or Ubuntu-like
method, and, in the case of Ubuntu-like, if they use casper with the #1489855 bugfix.
- Persistence and ext formatting support should still be considered EXPERIMENTAL at this stage.
Add cheat mode (<Alt>) to switch between percent/speed/ETA on *some* operations [EXPERIMENTAL]
Report SuperSpeed+ devices in the log (Come on USB-IF, just add "Ludicrous Speed" already!)
Fix UI checkboxes (Extended label, Fixes for old BIOSes) being cleared on START
Fix "Can't mount GUID volume" regression when creating Windows To Go drives
Fix "Volume label is invalid" error with empty labels on Windows 7
Fix stale progress bar during standalone ext2/ext3 formatting
Fix an extraction failure with R-Drive Image bootable ISOs
Disable ISO mode for Pop_OS
Other cosmetic and internal improvements
o Version 3.6 (2019.07.18)
Add support for persistent partitions [EXPERIMENTAL]
(Note: The above won't work with Ubuntu until Ubuntu bug #1489855 is properly fixed)
Add a mode to use VDS when partitioning/formatting (Alt-V) [EXPERIMENTAL]
Add full extraction support for efi.img (Solus)
Fix listing of potentially blocking processes
Fix NTFS not being selectable when using Grub4DOS
Fix download script not being launched when the user name contains a space
Fix translated messages potentially being truncated (e.g. Thai)
Fix progress bar report for screen readers (Accessibility issue)
Fix a regression where Windows format prompts would not be suppressed
Improve(?) Windows To Go support by following Microsoft's recommended partition order
Don't enumerate Windows Sandbox VHDs
Disable ISO mode when Manjaro ISOHybrids are being used
Update embedded GRUB to version 2.04
o Version 3.5 (2019.03.28)
Add a feature to download official retail Windows 8.1 or Windows 10 ISOs
(Note: 'Check for updates' must be enabled for the above to be active)
Add Windows To Go support for MCT generated Windows ISOs
Add a notice about the 'WppRecorder.sys' Microsoft bug for Windows 10 1809 ISOs
Add a notice about trying to format a drive larger than 2 TB in MBR mode
Add a notice about Legacy boot when trying to boot UEFI-only media in Legacy mode
Report the full PID and command line of potentially blocking processes in the log
Fix a potential silent abort when the drive is in use
Fix 'Quick Format' option always being activated
Fix potential change of the selected file system after an ISO has been loaded
Fix Win7 x64 EFI bootloader not being extracted in dual BIOS+UEFI mode (Alt-E)
o Version 3.4 (2018.12.05)
Set the default image selection directory to Downloads\ instead of My Documents\
Add ARM/ARM64 automatic update support
Improve UEFI:NTFS compatibility
Improve access issues by using VDS to delete all partitions
Update the .appx to include all architectures as well as request elevation
Fix broken detection of some EFI based images
Fix broken update check due to server switch
UI and accessibility fixes and improvements
o Version 3.3 (2018.09.17) [BUGFIX RELEASE]
Fix a regression when processing uncompressed bootable DD images
Fix Windows To Go drive creation for ARM64 Windows ISOs
o Version 3.2 (2018.09.11)
Add RSA-2048 signature validation on all the server downloads
Add "Fast zeroing" cheat mode (courtesy of René van der Zee)
Add support for XP/Server 2003 x64 ISOs (courtesy of Mattiwatti)
Improve ISO extraction performance by preallocating files (courtesy of Mattiwatti)
Improve bad blocks check algorithm (from suggestions by AL.Skywalker)
Fix progress not being displayed for Syslinux or GRUB downloads
Fix unwanted application close when cancelling an image scan
Fix an issue where FAT32 could still be selected for ISOs containing a >4GB file
o Version 3.1 (2018.06.19)
Fix extraction of ISO content for GRUB based ISOs (Manjaro, Kaspersky, etc.)
Fix text being truncated on some dialogs (mostly Russian and Thai)
Add detection & warning about the 'Controlled Folder Access' Windows 10 feature
Improve retry attempts for transient errors
Increase size of the ESP to 300MB, for Windows To Go drives partitioned as GPT
Update GRUB 2.0 and Grub4DOS to latest
Update libcdio to latest
o Version 3.0 (2018.05.29)
UI redesign to follow the flow of user operations (with thanks to Fahad Al-Riyami for the concept)
Drop XP and Vista platform support
Switch all downloads to SSL and use https://rufus.ie as the new base URL
Add ARM64 support for UEFI:NTFS
Fix delays when querying floppy drives during device enumeration
Improve support of efi.img files on Linux ISOs
Improve support for non-ISO9660 compliant openSUSE Leap ISOs
Improve translation support and remove manual positioning
Internal fixes and improvements
o Version 2.18 (2017.11.07)
Ensure that the same drive is reselected on device refresh
Add a cheat mode to cycle the USB port of currently selected device
Make lookup for updatable .cfg file more generic (e.g. ESET SysRescue)
Fix handling of multiextent ISOs (e.g. BlackArch Linux)
Fix propagation of image decompression errors
Update grub4dos to latest
IMPORTANT: THIS IS THE LAST RELEASE TO SUPPORT WINDOWS XP AND WINDOWS VISTA
SUBSEQUENT RUFUS RELEASES ARE *NO LONGER* COMPATIBLE WITH THESE PLATFORMS
o Version 2.17 (2017.09.12)
Add support for Debian 9 live ISOs in UEFI mode
Add support for Super Floppy Disk "partitioning" mode
Add support for more non-USB card readers
Strengthen download update checks, to prevent attack scenarios that leverage user unawareness
Fix an issue with Spanish translation prompts not displaying properly
Fix an issue with Windows To Go support on some non-official Windows ISOs
Fix an issue with log autoscrolling
Fix an issue when using A: or B: as drive letters
o Version 2.16 (2017.07.31)
Add an audiovisual cue on completion/error
Add a workaround for ISOs using nonstandard Rock Ridge extensions (looking at you Kali Linux!)
Notify user when an ISO is broken or truncated
Notify user if other processes are accessing the drive before format
List processes that are locking a drive on failure
Improve verbosity of the Windows To Go process
Other fixes and improvements
o Version 2.15 (2017.05.17)
Fix non-listing of drives that are opened for write access by another process
Report external processes that may be preventing disk access (in the log)
Improve Windows To Go support for Windows 10 Creators Update
Don't report an error on checkdisk failure
Update GRUB 2.0 and Grub4DOS to latest
Other fixes and improvements
o Version 2.14 (2017.04.10) [BUGFIX RELEASE]
Fix inability to create BIOS-bootable drives, in some circumstances, due to write sharing permissions
o Version 2.13 (2017.04.06)
Preserve 'GPT for UEFI' option if the user changed it before selecting an ISO
Fix unwanted notification sound when closing with the X button (#893)
Fix inability to restore the minimized application after a popup is displayed (#896)
Fix an issue when trying to install Syslinux/NTFS twice in a row (#904)
Work around Microsoft's inconsistent casing of device IDs during device enumeration
Work around Microsoft's aggressive locking of partitions in Windows 10 Creators Update (#883)
Restrict write sharing permissions when accessing a device
Update libcdio and GRUB 2.0 to latest
o Version 2.12 (2017.01.27)
Add Hebrew translation, courtesy of NSBuilder and פלוני אלמוני
Add a cheat mode (Alt-O) to create an ISO from the first optical media found
Enable target system selection for Windows To Go
Enable NTFS selection for Syslinux 6.x (EXPERIMENTAL)
Fix an issue that allowed BIOS target selection with pure UEFI images
Fix license display for RTL languages
Update Grub4DOS and FreeDOS to latest
Additional fixes and improvements
o Version 2.11 (2016.09.08)
Do not download BIOS related files unless BIOS boot is selected
Improve support for Arch Linux derivatives
Add a cheat mode to disable drive indexing (Alt-Q) on format
Fix handling of 'Super Floppy Disk' formatted drives
Fix handling of misleading short write reports, for drives larger than 1 TB
Fix an issue that enabled FAT32 file system selection on some Windows images
Fix broken UI font for XP users
Fix sanitizing of exFAT labels
o Version 2.10 (2016.07.20)
Add SHA-256 validation for downloaded files. You will now see an ✓ or ✗ in the log for relevant content
Add support for O2Micro PCI-E card readers
Add compressed NTFS support for UEFI:NTFS
Improve automatic closure of the Windows default format prompt
Improve support for Ubuntu (silence a benign warning), Springdale (use the actual label) and Antergos (Syslinux version detection)
Work around a Windows bug that can render a GPT disk inaccessible after cleanup (e.g. ChromeOS image)
Fix hash computation for content that isn't a multiple of 64 bytes (NB: This did not affect ISOs)
Fix Syslinux installation on some media, with huge thanks to 424778940z for the tests
Fix a corner case where settings could be altered after Start had been pressed, if a hotplug event also occurred
Additional fixes and improvements
o Version 2.9 (2016.05.17)
Add ARM support for UEFI:NTFS
Fix UEFI:NTFS support for HP and Gigabyte firmwares (with thanks to Rod Smith and linnaea)
Fix unwanted listing of some internal removable drives
Fix the resurgence of a possible Syslinux installation crash
Fix missing default cluster size default on exFAT for >32GB drives
Fix the non-removal of the commandline hogger in some corner cases
Use "modern" file selection dialog on Vista or later (if you can spot the difference, good for you...)
o Version 2.8 (2016.03.22)
Enable listing of non-USB card readers (EXPERIMENTAL)
Major speed improvement for checksum computation
Fix UI flicker during progress actualization
Fix computation of FAT size for Large FAT32 (with thanks to Ady)
Syslinux improvements
Update GRUB to 2.02~beta3
o Version 2.7 (2016.02.14)
Add Thai translation, courtesy of Sippapas Wangsri
Add Drag and Drop support, courtesy of SeymourApps
Add a retry for most write operations
Update UEFI:NTFS, ms-sys and Grub4DOS to latest
Dual sign Rufus with both SHA-1 and SHA-256
Fix 2nd line of SHA-256 being hidden on some platforms
Fix shutdown prevention issues
Additional fixes & translation updates
o Version 2.6 (2015.12.22)
Add Serbian (Latin) translation, courtesy of Ivan Strugar
Add a cheat mode to zero a device (Alt-Z)
Fix dual BIOS/UEFI mode not being disabled once enabled (Alt-E)
Fix a crash when Syslinux downloaded files are modified by a firewall
Fix FAT32 not being disabled for Windows ISOs in BIOS/CSM mode
Additional translation updates
o Version 2.5 (2015.10.26)
Add SHA-256 checksum verification
Add a cheat mode to disable exclusive USB drive locking (Alt-,)
Add digital signature check on update downloads
Add Azerbaijani translation, courtesy of Elvin Məlikov
Add Persian translation, courtesy of Seyed Zia Azimi (ziaa)
Fix an issue where the update settings dialog may not display properly
Report Windows build number in the log (Windows 8 or later)
Many localization improvements and fixes, especially for right-to-left languages
Additional translation updates
o Version 2.4 (2015.09.27)
Allow some settings and cheat modes to be persisted between sessions
Fix multiple issues with flash drive detection
Fix listing of drives that contain no media
Fix cheat mode to save the current USB to *uncompressed* VHD (Alt-V)
Fix an UI scaling issue with high DPI displays for non English languages
Update most of the translations
Additional cosmetic improvements
o Version 2.3 (2015.08.28)
Detect ISOHybrid images and ask users how they should be written
Add MD5/SHA1 checksum verification ('#' button on the status bar)
Add Zip decompression support for DD Images
Add a cheat mode to save the current USB to *uncompressed* VHD (Alt-V)
Add a cheat mode for ISO timestamp preservation (Alt-T)
Add a cheat mode for USB enumeration debugging (Alt-.)
Disable MS-DOS creation for Windows 10 or later (FreeDOS is still available)
Fix Windows To Go creation issues, and enable access to internal disks
Fix UEFI support for Fedora ISOs
Fix some USB enumeration issues
Other improvements and fixes, including translation updates
o Version 2.2 (2015.05.31)
Modernize the language selection button, courtesy of David Warner
Add keyboard accessibility, courtesy of David Warner
Add a clear indication of when UEFI-CSM is to be used
Fix an USB detection issue and add support for ASUS UASP "Turbo Mode"
Fix prevention of Windows shutdown when Rufus is idle
Improve UI on high DPI monitors
Update Grub4DOS to 0.4.6a [2015.05.18]
Other UI improvements and fixes, including translation updates
o Version 2.1 (2015.03.23)
Add 32 bit support to UEFI:NTFS boot
Add standalone UEFI:NTFS boot installation, in advanced mode
Add Vietnamese translation, courtesy of thanhtai2009
Disable support for ISOs that don't report their GRUB version (looking at you Kaspersky!)
Fix broken Windows UEFI installation when using GPT/NTFS
Fix creation of 32 bit UEFI Windows 10 installation flash drives
Other improvements
o Version 2.0 (2015.03.03)
Major UI improvements (improved font, new info field, no separate progress dialog, etc.)
Add support for Windows To Go (if Rufus is running on Windows 8 or later)
Add support for Grub4DOS and GRUB 2 based images (e.g. FreeNAS)
Add portable application support, through a 'rufus.ini' file
Add native decompression support for DD images (.Z, .gz, .lzma, .bz2 and .xz)
Add seamless UEFI boot of NTFS partitions, for Windows ISOs with large files (>4GB)
Add support for Windows multipart 'install.swm'
Add support for non Microsoft VHD drivers
Add Norwegian translation, courtesy of JED
Fix a crash on image selection when no device is present
Fix broken VHD support for non-English version of Windows
Fix write error for DD images that are not a multiple of the sector size
Fix broken Unicode support
Update embedded Syslinux to 6.03
Other improvements and fixes
o Version 1.4.12 (2014.11.09) [BUGFIX RELEASE]
Fix support for Red Hat 7 and CentOS 7
Fix support for Debian 7.x
Fix default listing of Mushkin Ventura Ultra USB 3.0 drives
Fix Czech translation, courtesy of Jakub Moc
Update Windows version listing for Windows 10
o Version 1.4.11 (2014.11.04)
Add Czech translation, courtesy of Richard Kahl
Add Ukrainian translation, courtesy of VKS
Fix formatting of drives with a large sector size (2K, 4K)
Fix UEFI boot for Tails and other Syslinux/EFI based ISOs
Fix listing of devices when all 26 drive letters are in use
Add a minimize button and minor UI changes
Other improvements
o Version 1.4.10 (2014.08.15)
Fix a crash when scanning disk images with no USB drive plugged
Fix default detection of some OCZ flash drives
Improve Syslinux 6.x support (for Tails 1.x and other ISOs)
Improve disk image handling (refresh partitions, remount drive, etc.)
Other fixes and improvements
o Version 1.4.9 (2014.06.08) [BUGFIX RELEASE]
Fix listing of drives for Windows XP and Windows Vista (reported by Alex Andrews)
o Version 1.4.8 (2014.06.03)
Add KolibriOS ISO support
Add Arabic translation, courtesy of عمر الصمد
Add Croatian translation, courtesy of Dario Komar
Add Danish translation, courtesy of Jens Hansen
Add Latvian translation, courtesy of Aldis Tutins
Add Portuguese Brazilian translation, courtesy of Chateaubriand Vieira Moura
Allow the use of VHDs as DD image source (fixed disk/uncompressed only)
Report the detected USB speed in the log
Fix a long standing issue when launching Rufus using Far Manager
Fix support for pure UEFI bootable disk images
Fix detection for some Buffalo, Lacie, Samsung, Toshiba and Verbatim drives
Various other fixes and improvements
o Version 1.4.7 (2014.04.22)
Add VHD support as a target, courtesy of Scott
Add ReFS support (only for Windows 8.1 or later and only for fixed drives)
Add a cheat mode to force the use of DD image writing for dual ISOs
Add Japanese translation, courtesy of Chantella Jackson
Add Slovak translation, courtesy of martinco78
Add Swedish translation, courtesy of Sopor
Improve the display of filesizes when copying content
Fix FAT32 cluster transitions
Fix unpartitioned drives not always being listed
Fix bad blocks report
o Version 1.4.6 (2014.03.17)
Display USB size in the dropdown list
Add Bulgarian translation, courtesy of Krasimir Nevenov
Improve checkbox handling in the UI and fix UDF/exFAT formatting issues
Fix replacement of obsolete vesamenu.c32 (reported by Liang)
Fix an issue that could prevent the download of files from the Rufus website
Fix untimely libcdio messages when processing Rock-Ridge ISOs (such as Ubuntu)
Other fixes
o Version 1.4.5 (2014.02.27) [BUGFIX RELEASE]
Fix detection of fixed drives (reported by dominiquesb)
@ -10,7 +582,7 @@ o Version 1.4.4 (2014.02.26)
Ignore failure on ISO autorun.inf creation, to keep dumb security applications happy
Improve hotplug detection
Improve Syslinux v5+ support (requires an internet connection to download extra files)
Fix support for latest gparted, ArchLinux, and other Syslinux v5+ based ISOs
Fix support for latest gparted, ArchLinux, and other Syslinux v5+ based ISOs
Fix detection for Toshiba drives (again)
Fix UDF Unicode support

View file

@ -1,11 +1,14 @@
SUBDIRS = src
TARGET = rufus
TAGVER = $(shell git log --oneline | wc -l)
SEDCMD = s/^\([ \t]*\)Version="\([0-9]*\)\.\([0-9]*\)\.[0-9]*\.\([0-9]*\)"\(.*\)/\1Version="\2.\3.@@TAGVER@@.\4"\5/
# This step produces the UPX compressed and signed releases that are made available for public download
# NB: UPX v3.09 or later is needed for LZMA compression (http://upx.sourceforge.net/)
release: all
@mv src/$(TARGET)$(EXEEXT) .
@sleep 1
@$(STRIP) $(TARGET)$(EXEEXT)
@upx --lzma $(TARGET)$(EXEEXT)
@mv $(TARGET)$(EXEEXT) $(TARGET)-$(VERSION)$(EXEEXT)
@cmd.exe /k _sign.cmd $(TARGET)-$(VERSION)$(EXEEXT)
@upx --lzma --best $(TARGET)$(EXEEXT)
@mv $(TARGET)$(EXEEXT) $(TARGET)-$(VERSION)$(SUFFIX)$(EXEEXT)
@cmd.exe //c _sign.cmd $(TARGET)-$(VERSION)$(SUFFIX)$(EXEEXT)

View file

@ -1,9 +1,8 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -15,6 +14,51 @@
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@ -43,34 +87,69 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
depcomp =
am__depfiles_maybe =
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
install-html-recursive install-info-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_LDFLAGS = @AM_LDFLAGS@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@ -80,6 +159,7 @@ CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DLLTOOL = @DLLTOOL@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@ -110,6 +190,7 @@ SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
SUFFIX = @SUFFIX@
VERSION = @VERSION@
VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@
WINDRES = @WINDRES@
@ -145,6 +226,7 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
@ -155,10 +237,12 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = src
TARGET = rufus
TAGVER = $(shell git log --oneline | wc -l)
SEDCMD = s/^\([ \t]*\)Version="\([0-9]*\)\.\([0-9]*\)\.[0-9]*\.\([0-9]*\)"\(.*\)/\1Version="\2.\3.@@TAGVER@@.\4"\5/
all: all-recursive
.SUFFIXES:
am--refresh:
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
@ -194,22 +278,25 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__aclocal_m4_deps):
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@ -224,57 +311,12 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@ -290,12 +332,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@ -307,15 +344,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@ -324,9 +357,31 @@ GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
clean-cscope:
-rm -f cscope.files
cscope.files: clean-cscope cscopelist
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
check-am: all-am
check: check-recursive
all-am: Makefile
@ -342,10 +397,15 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
@ -426,31 +486,31 @@ ps-am:
uninstall-am:
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
install-am install-strip tags-recursive
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \
ctags ctags-recursive distclean distclean-generic \
distclean-tags dvi dvi-am html html-am info info-am install \
install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
tags-recursive uninstall uninstall-am
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-am clean clean-cscope clean-generic \
cscope cscopelist-am ctags ctags-am distclean \
distclean-generic distclean-tags dvi dvi-am html html-am info \
info-am install install-am install-data install-data-am \
install-dvi install-dvi-am install-exec install-exec-am \
install-html install-html-am install-info install-info-am \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
pdf-am ps ps-am tags tags-am uninstall uninstall-am
# This step produces the UPX compressed and signed releases that are made available for public download
# NB: UPX v3.09 or later is needed for LZMA compression (http://upx.sourceforge.net/)
release: all
@mv src/$(TARGET)$(EXEEXT) .
@sleep 1
@$(STRIP) $(TARGET)$(EXEEXT)
@upx --lzma $(TARGET)$(EXEEXT)
@mv $(TARGET)$(EXEEXT) $(TARGET)-$(VERSION)$(EXEEXT)
@cmd.exe /k _sign.cmd $(TARGET)-$(VERSION)$(EXEEXT)
@upx --lzma --best $(TARGET)$(EXEEXT)
@mv $(TARGET)$(EXEEXT) $(TARGET)-$(VERSION)$(SUFFIX)$(EXEEXT)
@cmd.exe //c _sign.cmd $(TARGET)-$(VERSION)$(SUFFIX)$(EXEEXT)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

64
README.md Normal file
View file

@ -0,0 +1,64 @@
Rufus: The Reliable USB Formatting Utility
==========================================
[![VS2022 Build Status](https://img.shields.io/github/actions/workflow/status/pbatard/rufus/vs2022.yml?branch=master&style=flat-square&label=VS2022%20Build)](https://github.com/pbatard/rufus/actions/workflows/vs2022.yml)
[![MinGW Build Status](https://img.shields.io/github/actions/workflow/status/pbatard/rufus/mingw.yml?branch=master&style=flat-square&label=MinGW%20Build)](https://github.com/pbatard/rufus/actions/workflows/mingw.yml)
[![Coverity Scan Status](https://img.shields.io/coverity/scan/2172.svg?style=flat-square&label=Coverity%20Analysis)](https://scan.coverity.com/projects/pbatard-rufus)
[![Latest Release](https://img.shields.io/github/release-pre/pbatard/rufus.svg?style=flat-square&label=Latest%20Release)](https://github.com/pbatard/rufus/releases)
[![Licence](https://img.shields.io/badge/license-GPLv3-blue.svg?style=flat-square&label=License)](https://www.gnu.org/licenses/gpl-3.0.en.html)
[![Download Stats](https://img.shields.io/github/downloads/pbatard/rufus/total.svg?label=Downloads&style=flat-square)](https://github.com/pbatard/rufus/releases)
[![Contributors](https://img.shields.io/github/contributors/pbatard/rufus.svg?style=flat-square&label=Contributors)](https://github.com/pbatard/rufus/graphs/contributors)
![Rufus logo](https://raw.githubusercontent.com/pbatard/rufus/master/res/icons/rufus-128.png)
Rufus is a utility that helps format and create bootable USB flash drives.
Features
--------
* Format USB, flash card and virtual drives to FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3
* Create DOS bootable USB drives using [FreeDOS](https://www.freedos.org) or MS-DOS
* Create BIOS or UEFI bootable drives, including [UEFI bootable NTFS](https://github.com/pbatard/uefi-ntfs)
* Create bootable drives from bootable ISOs (Windows, Linux, etc.)
* Create bootable drives from bootable disk images, including compressed ones
* Create Windows 11 installation drives for PCs that don't have TPM or Secure Boot
* Create [Windows To Go](https://en.wikipedia.org/wiki/Windows_To_Go) drives
* Create VHD/DD, VHDX and FFU images of an existing drive
* Create persistent Linux partitions
* Compute MD5, SHA-1, SHA-256 and SHA-512 checksums of the selected image
* Perform runtime validation of UEFI bootable media
* Improve Windows installation experience by automatically setting up OOBE parameters (local account, privacy options, etc.)
* Perform bad blocks checks, including detection of "fake" flash drives
* Download official Microsoft Windows 8, Windows 10 or Windows 11 retail ISOs
* Download [UEFI Shell](https://github.com/pbatard/UEFI-Shell) ISOs
* Modern and familiar UI, with [38 languages natively supported](https://github.com/pbatard/rufus/wiki/FAQ#What_languages_are_natively_supported_by_Rufus)
* Small footprint. No installation required.
* Portable. Secure Boot compatible.
* 100% [Free Software](https://www.gnu.org/philosophy/free-sw) ([GPL v3](https://www.gnu.org/licenses/gpl-3.0))
Compilation
-----------
Use either Visual Studio 2022 or MinGW and then invoke the `.sln` or `configure`/`make` respectively.
#### Visual Studio
Rufus is an OSI compliant Open Source project. You are entitled to
download and use the *freely available* [Visual Studio Community Edition](https://www.visualstudio.com/vs/community/)
to build, run or develop for Rufus. As per the Visual Studio Community Edition license,
this applies regardless of whether you are an individual or a corporate user.
Additional information
----------------------
Rufus provides extensive information about what it is doing, either through its
easily accessible log, or through the [Windows debug facility](https://docs.microsoft.com/en-us/sysinternals/downloads/debugview).
* [__Official Website__](https://rufus.ie)
* [FAQ](https://github.com/pbatard/rufus/wiki/FAQ)
Enhancements/Bugs
-----------------
Please use the [GitHub issue tracker](https://github.com/pbatard/rufus/issues)
for reporting problems or suggesting new features.

View file

@ -1,37 +0,0 @@
Rufus: The Reliable USB Formatting Utility
Features:
- Formats USB flash drives to FAT/FAT32/NTFS/UDF/exFAT
- Creates DOS bootable USB drives, using FreeDOS or MS-DOS with no external files required
- Creates MBR or GPT/UEFI bootable USB drives
- Creates bootable USB drives from bootable ISOs (Windows, Linux, etc.)
- Twice as fast as Microsoft's USB/DVD tool or UNetbootin, on ISO->USB (1)
- Can perform bad blocks check, with fake drive detection
- Modern and familiar UI, with more than 20 languages supported natively (2)
- Small footprint, no installation required
- 100% Free Software (GPL v3)
Compilation:
Use either Visual Studio 2012, WDK 7.1 (Windows Driver Kit) or MinGW and then
invoke the .sln, wdk_build.cmd or configure/make respectively.
Additional information:
Rufus provides extensive information about what it is doing, either through
its easily accessible log, or through the Windows debug facility.
More info:
http://rufus.akeo.ie
http://rufus.akeo.ie/FAQ
Enhancements/Bugs
https://github.com/pbatard/rufus/issues
(1) Tests carried out with a 16 GB USB 3.0 ADATA pen drive on a
Core 2 duo/4 GB RAM platform running Windows 7 x64.
ISO: en_windows_7_ultimate_with_sp1_x64_dvd_618240.iso
- Windows 7 USB/DVD Download Tool v1.0.30: 8 mins 10s
- UNetbootin v1.1.1.1: 6 mins 20s
- Rufus v1.1.0: 3 mins 25s
(2) http://rufus.akeo.ie/translations

7
SECURITY.md Normal file
View file

@ -0,0 +1,7 @@
# Reporting a Vulnerability
To report a vulnerability for Rufus, please e-mail support@akeo.ie.
If you find a vulnerability, we will ask you to respect [responsible disclosure](https://en.wikipedia.org/wiki/Responsible_disclosure) practices.
In return, we will endeavour to respond to vulnerability reports within 48 hours.

33
_chver.sh Normal file → Executable file
View file

@ -5,12 +5,11 @@
type -P sed &>/dev/null || { echo "sed command not found. Aborting." >&2; exit 1; }
if [ ! -n "$1" ]; then
echo "you must provide a version number (eg. 1.0.2)"
echo "you must provide a version number (eg. 2.1)"
exit 1
else
MAJOR=`echo $1 | sed "s/\(.*\)[.].*[.].*/\1/"`
MINOR=`echo $1 | sed "s/.*[.]\(.*\)[.].*/\1/"`
MICRO=`echo $1 | sed "s/.*[.].*[.]\(.*\)/\1/"`
MAJOR=`echo $1 | sed "s/\(.*\)[.].*/\1/"`
MINOR=`echo $1 | sed "s/.*[.]\(.*\)/\1/"`
fi
case $MAJOR in *[!0-9]*)
echo "$MAJOR is not a number"
@ -20,23 +19,19 @@ case $MINOR in *[!0-9]*)
echo "$MINOR is not a number"
exit 1
esac
case $MICRO in *[!0-9]*)
echo "$MICRO is not a number"
exit 1
esac
echo "changing version to $MAJOR.$MINOR.$MICRO"
sed -i -e "s/^AC_INIT(\[\([^ ]*\)\], \[[^ ]*\]\(.*\)/AC_INIT([\1], [$MAJOR.$MINOR.$MICRO]\2/" configure.ac
echo "changing version to $MAJOR.$MINOR"
sed -i -e "s/^AC_INIT(\[\([^ ]*\)\], \[[^ ]*\]\(.*\)/AC_INIT([\1], [$MAJOR.$MINOR]\2/" configure.ac
cat > cmd.sed <<\_EOF
s/^[ \t]*FILEVERSION[ \t]*.*,.*,.*,\(.*\)/ FILEVERSION @@MAJOR@@,@@MINOR@@,@@MICRO@@,\1/
s/^[ \t]*PRODUCTVERSION[ \t]*.*,.*,.*,\(.*\)/ PRODUCTVERSION @@MAJOR@@,@@MINOR@@,@@MICRO@@,\1/
s/^\([ \t]*\)VALUE[ \t]*"FileVersion",[ \t]*".*\..*\..*\.\(.*\)"/\1VALUE "FileVersion", "@@MAJOR@@.@@MINOR@@.@@MICRO@@.\2"/
s/^\([ \t]*\)VALUE[ \t]*"ProductVersion",[ \t]*".*\..*\..*\.\(.*\)"/\1VALUE "ProductVersion", "@@MAJOR@@.@@MINOR@@.@@MICRO@@.\2"/
s/^\(.*\)"Rufus \(.*\)\.\(.*\)"\(.*\)/\1"Rufus @@MAJOR@@.@@MINOR@@.@@MICRO@@.\3"\4/
s/^\([ \t]*\)\(FILE\|PRODUCT\)VERSION\([ \t]*\)[0-9]*,[0-9]*\(.*\)/\1\2VERSION\3@@MAJOR@@,@@MINOR@@\4/
s/^\([ \t]*\)VALUE\([ \t]*\)"\(File\|Product\)Version",\([ \t]*\)"[0-9]*\.[0-9]*\.\(.*\)/\1VALUE\2"\3Version",\4"@@MAJOR@@.@@MINOR@@.\5/
s/^\([ \t]*\)VALUE\([ \t]*\)"OriginalFilename",\([ \t]*\)"rufus-[0-9]*\.[0-9]*\.exe\(.*\)/\1VALUE\2"OriginalFilename",\3"rufus-@@MAJOR@@.@@MINOR@@.exe\4/
s/^\(.*\)"Rufus [0-9]*\.[0-9]*\.\(.*\)"\(.*\)/\1"Rufus @@MAJOR@@.@@MINOR@@.\2"\3/
s/^\([ \t]*\)Version="[0-9]*\.[0-9]*\.\(.*\)"\(.*\)/\1Version="@@MAJOR@@.@@MINOR@@.\2"\3/
s/^set VERSION=[0-9]*\.[0-9]*/set VERSION=@@MAJOR@@.@@MINOR@@/
_EOF
# First run sed to substitute our variable in the sed command file
sed -i -e "s/@@MAJOR@@/$MAJOR/g" -e "s/@@MINOR@@/$MINOR/g" -e "s/@@MICRO@@/$MICRO/g" cmd.sed
sed -i -f cmd.sed src/rufus.rc
sed -i 's/$/\r/' src/rufus.rc
sed -i -e "s/@@MAJOR@@/$MAJOR/g" -e "s/@@MINOR@@/$MINOR/g" cmd.sed
sed -b -i -f cmd.sed src/rufus.rc
rm cmd.sed
source bootstrap.sh
source ./bootstrap.sh

26
_coverity.cmd Normal file
View file

@ -0,0 +1,26 @@
@rem *** Internal developer script to run Coverity ***
@echo off
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"
set COV_DIR=B:\cov-analysis-win64-2019.03
set PATH=%PATH%;%COV_DIR%\bin
set PWD=%~dp0
set TARGET=x86
rmdir cov-int /s /q >NUL 2>NUL
rmdir %TARGET% /s /q >NUL 2>NUL
del cov-int.zip >NUL 2>NUL
mkdir cov-int
cov-build --dir cov-int msbuild rufus.sln /p:Configuration=Release,Platform=%TARGET% /maxcpucount
rem *** for when/if Coverity manage to clean their act
rem cov-build --dir cov-int C:\msys64\usr\bin\bash -cl "export PATH=/mingw32/bin:$PATH; cd /c/rufus; ./configure --build=i686-w64-mingw32 --host=i686-w64-mingw32 --disable-debug; make -j4"
rem *** zip script by Peter Mortensen - http://superuser.com/a/111266/286681
echo Set objArgs = WScript.Arguments> zip.vbs
echo InputFolder = objArgs(0)>> zip.vbs
echo ZipFile = objArgs(1)>> zip.vbs
echo CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" ^& Chr(5) ^& Chr(6) ^& String(18, vbNullChar)>> zip.vbs
echo Set objShell = CreateObject("Shell.Application")>> zip.vbs
echo Set source = objShell.NameSpace(InputFolder)>> zip.vbs
echo objShell.NameSpace(ZipFile).CopyHere(source)>> zip.vbs
echo wScript.Sleep 8000>> zip.vbs
CScript zip.vbs %PWD%cov-int %PWD%cov-int.zip
del zip.vbs
pause

21
_detect-amend.sh Normal file
View file

@ -0,0 +1,21 @@
#!/bin/sh
#
# This script detects whether git commit is being executed in amend or regular mode
# Needed to determine whether the build number should be incremented or not.
#
# Need to figure out if we are running on Windows or *NIX
if [ "$(uname -o)" = "Msys" ]; then
type -P PowerShell &>/dev/null || { echo "PowerShell command not found. Aborting." >&2; exit 1; }
type -P grep &>/dev/null || { echo "grep command not found. Aborting." >&2; exit 1; }
GITCMD=`PowerShell -command "Get-WmiObject win32_process -Filter \"name like '%git.exe'\" | select CommandLine"`
if $(echo $GITCMD | grep -q -- --amend); then
echo AMEND detected
touch ./.amend
fi
else
if $(ps -fp $PPID | grep -q -- --amend); then
echo AMEND detected
touch ./.amend
fi
fi

View file

@ -1,16 +0,0 @@
#!/bin/sh
#
# Creates a tag according to the number of commits on this branch
#
# To have git run this script on commit, create a "post-commit" text file in
# .git/hooks/ with the following content:
# #!/bin/sh
# if [ -x ./_post-commit.sh ]; then
# source ./_post-commit.sh
# fi
type -P git &>/dev/null || { echo "git command not found. Aborting." >&2; exit 1; }
TAGVER=`cat ./.tag`
git tag "b$TAGVER"
rm ./.tag

36
_pre-commit.sh Normal file → Executable file
View file

@ -1,45 +1,43 @@
#!/bin/sh
#
# Bumps the nano version according to the number of commits on this branch
# Bumps the micro version according to the number of commits on this branch
#
# To have git run this script on commit, create a "pre-commit" text file in
# .git/hooks/ with the following content:
# #!/bin/sh
# if [ -x ./_pre-commit.sh ]; then
# source ./_pre-commit.sh
# . ./_pre-commit.sh
# fi
type -P sed &>/dev/null || { echo "sed command not found. Aborting." >&2; exit 1; }
type -P git &>/dev/null || { echo "git command not found. Aborting." >&2; exit 1; }
VER=`git log --oneline | wc -l`
if [ -x ./_detect-amend.sh ]; then
. ./_detect-amend.sh
fi
BUILD=`git rev-list HEAD --count`
# adjust so that we match the github commit count
TAGVER=`expr $VER + 1`
# there may be a better way to prevent improper nano on amend. For now the detection
((BUILD++))
# there may be a better way to prevent improper micro on amend. For now the detection
# of a .amend file in the current directory will do
if [ -f ./.amend ]; then
TAGVER=`expr $TAGVER - 1`
git tag -d "b$TAGVER"
((BUILD--))
rm ./.amend;
fi
echo "setting nano to $TAGVER"
echo $TAGVER > .tag
echo "setting micro to $BUILD"
cat > cmd.sed <<\_EOF
s/^[ \t]*FILEVERSION[ \t]*\(.*\),\(.*\),\(.*\),.*/ FILEVERSION \1,\2,\3,@@TAGVER@@/
s/^[ \t]*PRODUCTVERSION[ \t]*\(.*\),\(.*\),\(.*\),.*/ PRODUCTVERSION \1,\2,\3,@@TAGVER@@/
s/^\([ \t]*\)VALUE[ \t]*"FileVersion",[ \t]*"\(.*\)\..*"/\1VALUE "FileVersion", "\2.@@TAGVER@@"/
s/^\([ \t]*\)VALUE[ \t]*"ProductVersion",[ \t]*"\(.*\)\..*"/\1VALUE "ProductVersion", "\2.@@TAGVER@@"/
s/^\(.*\)"Rufus \(.*\)\.\(.*\)"\(.*\)/\1"Rufus \2.@@TAGVER@@"\4/
s/^\([ \t]*\)*\(FILE\|PRODUCT\)VERSION\([ \t]*\)\([0-9]*\),\([0-9]*\),[0-9]*,\(.*\)/\1\2VERSION\3\4,\5,@@BUILD@@,\6/
s/^\([ \t]*\)VALUE\([ \t]*\)"\(File\|Product\)Version",\([ \t]*\)"\(.*\)\..*"[ \t]*/\1VALUE\2"\3Version",\4"\5.@@BUILD@@"/
s/^\(.*\)"Rufus \(.*\)\..*"\(.*\)/\1"Rufus \2.@@BUILD@@"\3/
s/^\([ \t]*\)Version="\([0-9]*\)\.\([0-9]*\)\.[0-9]*\.\([0-9]*\)"\(.*\)/\1Version="\2.\3.@@BUILD@@.\4"\5/
_EOF
# First run sed to substitute our variable in the sed command file
sed -i -e "s/@@TAGVER@@/$TAGVER/g" cmd.sed
sed -i -e "s/@@BUILD@@/$BUILD/g" cmd.sed
# Run sed to update the nano version
sed -i -f cmd.sed src/rufus.rc
# MinGW's sed has the bad habit of eating CRLFs - make sure we keep 'em
sed -i 's/$/\r/' src/rufus.rc
sed -b -i -f cmd.sed src/rufus.rc
# NB: we need to run git add else the modified files may be ignored
git add src/rufus.rc

6
_release.sh Normal file → Executable file
View file

@ -1,5 +1,5 @@
#!/bin/sh
rm -f rufus*.exe
./configure --disable-debug
make clean
make release
./configure --disable-debug "$@"
make -j12 clean
make -j12 release

12
_set_git_hooks.sh Executable file
View file

@ -0,0 +1,12 @@
#!/bin/sh
# Sets the git hooks on a new git development system
if [ -e ".git/hooks/pre-commit" ]; then
echo 'pre-commit git hook is already set, aborting.'
exit
fi
echo 'Creating pre-commit git hook...'
echo '#!/bin/sh' > .git/hooks/pre-commit
echo 'if [ -x ./_pre-commit.sh ]; then' >> .git/hooks/pre-commit
echo ' . ./_pre-commit.sh' >> .git/hooks/pre-commit
echo 'fi' >> .git/hooks/pre-commit

View file

@ -1,6 +1,2 @@
:retry
@set /p password=Please enter PFX password:
@"C:\Program Files (x86)\Windows Kits\8.0\bin\x64\signtool" sign /v /f D:\Secured\akeo\akeo.p12 /p %password% /tr http://timestamp.comodoca.com/rfc3161 %1 %2 %3 %4
@if ERRORLEVEL 1 goto retry
@set password=
@exit
@echo off
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\signtool" sign /v /sha1 3dbc3a2a0e9ce8803b422cfdbc60acd33164965d /fd SHA256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td SHA256 %*

600
aclocal.m4 vendored
View file

@ -1,7 +1,7 @@
# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -11,15 +11,16 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
[m4_warning([this file was generated for autoconf 2.68.
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
[m4_warning([this file was generated for autoconf 2.71.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
To do so, use the procedure documented by the package, typically 'autoreconf'.])])
# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# Copyright (C) 2002-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -31,10 +32,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.])
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.11'
[am__api_version='1.14'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.11.1], [],
m4_if([$1], [1.14.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@ -50,22 +51,22 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.11.1])dnl
[AM_AUTOMAKE_VERSION([1.14.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory. The problem is that $srcdir (and
@ -84,7 +85,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir. In an in-source build this is usually
# harmless because $srcdir is `.', but things will broke when you
# harmless because $srcdir is '.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@ -110,22 +111,19 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
# AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
# Free Software Foundation, Inc.
# Copyright (C) 1997-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 9
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
AC_DEFUN([AM_CONDITIONAL],
[AC_PREREQ(2.52)dnl
ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
[AC_PREREQ([2.52])dnl
m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE])dnl
AC_SUBST([$1_FALSE])dnl
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
@ -146,18 +144,21 @@ fi])])
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 16
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
m4_define([AC_PROG_CC],
m4_defn([AC_PROG_CC])
[_AM_PROG_CC_C_O
])
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
@ -170,7 +171,7 @@ fi])])
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_PREREQ([2.62])dnl
[AC_PREREQ([2.65])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@ -199,31 +200,40 @@ AC_SUBST([CYGPATH_W])
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
[AC_DIAGNOSE([obsolete],
[$0: two- and three-arguments forms are deprecated.])
m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
m4_if(
m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
[ok:ok],,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
_AM_IF_OPTION([no-define],,
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo)
AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
AM_MISSING_PROG([AUTOCONF], [autoconf])
AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
AM_MISSING_PROG([AUTOHEADER], [autoheader])
AM_MISSING_PROG([MAKEINFO], [makeinfo])
AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
AC_REQUIRE([AM_PROG_MKDIR_P])dnl
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# For better backward compatibility. To be removed once Automake 1.9.x
# dies out for good. For more background, see:
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
@ -234,34 +244,78 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
[_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
[_AM_DEPENDENCIES(CC)],
[define([AC_PROG_CC],
defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
[_AM_DEPENDENCIES([CC])],
[m4_define([AC_PROG_CC],
m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
[_AM_DEPENDENCIES(CXX)],
[define([AC_PROG_CXX],
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
[_AM_DEPENDENCIES([CXX])],
[m4_define([AC_PROG_CXX],
m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
[_AM_DEPENDENCIES(OBJC)],
[define([AC_PROG_OBJC],
defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
[_AM_DEPENDENCIES([OBJC])],
[m4_define([AC_PROG_OBJC],
m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
[_AM_DEPENDENCIES([OBJCXX])],
[m4_define([AC_PROG_OBJCXX],
m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
])
_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_REQUIRE([AM_SILENT_RULES])dnl
dnl The testsuite driver may need to know about EXEEXT, so add the
dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
])
dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
# POSIX will say in a future version that running "rm -f" with no argument
# is OK; and we want to be able to make that assumption in our Makefile
# recipes. So use an aggressive probe to check that the usage we want is
# actually supported "in the wild" to an acceptable degree.
# See automake bug#10828.
# To make any issue more visible, cause the running configure to be aborted
# by default if the 'rm' program in use doesn't match our expectations; the
# user can still override this though.
if rm -f && rm -fr && rm -rf; then : OK; else
cat >&2 <<'END'
Oops!
Your 'rm' program seems unable to run without file operands specified
on the command line, even when the '-f' option is present. This is contrary
to the behaviour of most rm programs out there, and not conforming with
the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
Please tell bug-automake@gnu.org about your system, including the value
of your $PATH and any error possibly output before this message. This
can help us improve future automake versions.
END
if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
echo 'Configuration will proceed anyway, since you have set the' >&2
echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
echo >&2
else
cat >&2 <<'END'
Aborting the configuration process, to ensure you take notice of the issue.
You can download and install GNU coreutils to get an 'rm' implementation
that behaves properly: <http://www.gnu.org/software/coreutils/>.
If you want to complete the configuration process using your problematic
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
to "yes", and re-run configure.
END
AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
fi
fi])
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
@ -283,7 +337,7 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -302,16 +356,14 @@ if test x"${install_sh}" != xset; then
install_sh="\${SHELL} $am_aux_dir/install-sh"
esac
fi
AC_SUBST(install_sh)])
AC_SUBST([install_sh])])
# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
# Copyright (C) 2003-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 2
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
@ -327,15 +379,12 @@ AC_SUBST([am__leading_dot])])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
# Free Software Foundation, Inc.
# Copyright (C) 1997-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 6
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
@ -343,11 +392,10 @@ AC_DEFUN([AM_MISSING_PROG],
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])
# AM_MISSING_HAS_RUN
# ------------------
# Define MISSING if not defined so far and test if it supports --run.
# If it does, set am_missing_run to use it, otherwise, to nothing.
# Define MISSING if not defined so far and test if it is modern enough.
# If it is, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
@ -360,63 +408,35 @@ if test x"${MISSING+set}" != xset; then
esac
fi
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
if eval "$MISSING --is-lightweight"; then
am_missing_run="$MISSING "
else
am_missing_run=
AC_MSG_WARN([`missing' script is too old or missing])
AC_MSG_WARN(['missing' script is too old or missing])
fi
])
# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_PROG_MKDIR_P
# ---------------
# Check for `mkdir -p'.
AC_DEFUN([AM_PROG_MKDIR_P],
[AC_PREREQ([2.60])dnl
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
dnl while keeping a definition of mkdir_p for backward compatibility.
dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
dnl Makefile.ins that do not define MKDIR_P, so we do our own
dnl adjustment using top_builddir (which is defined more often than
dnl MKDIR_P).
AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
case $mkdir_p in
[[\\/$]]* | ?:[[\\/]]*) ;;
*/*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
esac
])
# Helper functions for option handling. -*- Autoconf -*-
# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 4
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
# ------------------------------
# --------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
# _AM_SET_OPTIONS(OPTIONS)
# ----------------------------------
# ------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
@ -427,24 +447,82 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
# Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
# Free Software Foundation, Inc.
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 5
# _AM_PROG_CC_C_O
# ---------------
# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
# to automatically call this.
AC_DEFUN([_AM_PROG_CC_C_O],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([compile])dnl
AC_LANG_PUSH([C])dnl
AC_CACHE_CHECK(
[whether $CC understands -c and -o together],
[am_cv_prog_cc_c_o],
[AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
# Make sure it works both with $CC and with simple cc.
# Following AC_PROG_CC_C_O, we do the test twice because some
# compilers refuse to overwrite an existing .o file with -o,
# though they will create one.
am_cv_prog_cc_c_o=yes
for am_i in 1 2; do
if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
&& test -f conftest2.$ac_objext; then
: OK
else
am_cv_prog_cc_c_o=no
break
fi
done
rm -f core conftest*
unset am_i])
if test "$am_cv_prog_cc_c_o" != yes; then
# Losing compiler, so override with the script.
# FIXME: It is wrong to rewrite CC.
# But if we don't then we get into trouble of one sort or another.
# A longer-term fix would be to have automake use am__CC in this case,
# and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
CC="$am_aux_dir/compile $CC"
fi
AC_LANG_POP([C])])
# For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_RUN_LOG(COMMAND)
# -------------------
# Run COMMAND, save the exit status in ac_status, and log it.
# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
AC_DEFUN([AM_RUN_LOG],
[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
(exit $ac_status); }])
# Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
# Just in case
sleep 1
echo timestamp > conftest.file
# Reject unsafe characters in $srcdir or the absolute working directory
# name. Accept space and tab only in the latter.
am_lf='
@ -455,32 +533,40 @@ case `pwd` in
esac
case $srcdir in
*[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
esac
# Do `set' in a subshell so we don't clobber the current shell's
# Do 'set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$[*]" = "X"; then
# -L didn't work.
set X `ls -t "$srcdir/configure" conftest.file`
fi
rm -f conftest.file
if test "$[*]" != "X $srcdir/configure conftest.file" \
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
am_has_slept=no
for am_try in 1 2; do
echo "timestamp, slept: $am_has_slept" > conftest.file
set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
if test "$[*]" = "X"; then
# -L didn't work.
set X `ls -t "$srcdir/configure" conftest.file`
fi
if test "$[*]" != "X $srcdir/configure conftest.file" \
&& test "$[*]" != "X conftest.file $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
if test "$[2]" = conftest.file || test $am_try -eq 2; then
break
fi
# Just in case.
sleep 1
am_has_slept=yes
done
test "$[2]" = conftest.file
)
then
@ -490,36 +576,85 @@ else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
AC_MSG_RESULT(yes)])
AC_MSG_RESULT([yes])
# If we didn't sleep, we still need to ensure time stamps of config.status and
# generated files are strictly newer.
am_sleep_pid=
if grep 'slept: no' conftest.file >/dev/null 2>&1; then
( sleep 1 ) &
am_sleep_pid=$!
fi
AC_CONFIG_COMMANDS_PRE(
[AC_MSG_CHECKING([that generated files are newer than configure])
if test -n "$am_sleep_pid"; then
# Hide warnings about reused PIDs.
wait $am_sleep_pid 2>/dev/null
fi
AC_MSG_RESULT([done])])
rm -f conftest.file
])
# Copyright (C) 2009 Free Software Foundation, Inc.
# Copyright (C) 2009-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 1
# AM_SILENT_RULES([DEFAULT])
# --------------------------
# Enable less verbose build rules; with the default set to DEFAULT
# (`yes' being less verbose, `no' or empty being verbose).
# ("yes" being less verbose, "no" or empty being verbose).
AC_DEFUN([AM_SILENT_RULES],
[AC_ARG_ENABLE([silent-rules],
[ --enable-silent-rules less verbose build output (undo: `make V=1')
--disable-silent-rules verbose build output (undo: `make V=0')])
case $enable_silent_rules in
yes) AM_DEFAULT_VERBOSITY=0;;
no) AM_DEFAULT_VERBOSITY=1;;
*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
[AC_ARG_ENABLE([silent-rules], [dnl
AS_HELP_STRING(
[--enable-silent-rules],
[less verbose build output (undo: "make V=1")])
AS_HELP_STRING(
[--disable-silent-rules],
[verbose build output (undo: "make V=0")])dnl
])
case $enable_silent_rules in @%:@ (((
yes) AM_DEFAULT_VERBOSITY=0;;
no) AM_DEFAULT_VERBOSITY=1;;
*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
esac
dnl
dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
dnl do not support nested variable expansions.
dnl See automake bug#9928 and bug#10237.
am_make=${MAKE-make}
AC_CACHE_CHECK([whether $am_make supports nested variables],
[am_cv_make_support_nested_variables],
[if AS_ECHO([['TRUE=$(BAR$(V))
BAR0=false
BAR1=true
V=1
am__doit:
@$(TRUE)
.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
am_cv_make_support_nested_variables=yes
else
am_cv_make_support_nested_variables=no
fi])
if test $am_cv_make_support_nested_variables = yes; then
dnl Using '$V' instead of '$(V)' breaks IRIX make.
AM_V='$(V)'
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
else
AM_V=$AM_DEFAULT_VERBOSITY
AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
fi
AC_SUBST([AM_V])dnl
AM_SUBST_NOTMAKE([AM_V])dnl
AC_SUBST([AM_DEFAULT_V])dnl
AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
AM_BACKSLASH='\'
AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
])
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
# Copyright (C) 2001-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -527,34 +662,32 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
# AM_PROG_INSTALL_STRIP
# ---------------------
# One issue with vendor `install' (even GNU) is that you can't
# One issue with vendor 'install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
# is unlikely to handle the host's binaries.
# Fortunately install-sh will honor a STRIPPROG variable, so we
# always use install-sh in `make install-strip', and initialize
# always use install-sh in "make install-strip", and initialize
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'. However `strip' might not be the right
# Installed binaries are usually stripped using 'strip' when the user
# run "make install-strip". However 'strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the `STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
# will honor the 'STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
# Copyright (C) 2006-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 2
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
@ -562,24 +695,22 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
AC_DEFUN([_AM_SUBST_NOTMAKE])
# AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# --------------------------
# Public sister of _AM_SUBST_NOTMAKE.
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
# Copyright (C) 2004-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 2
# _AM_PROG_TAR(FORMAT)
# --------------------
# Check how to create a tarball in format FORMAT.
# FORMAT should be one of `v7', `ustar', or `pax'.
# FORMAT should be one of 'v7', 'ustar', or 'pax'.
#
# Substitute a variable $(am__tar) that is a command
# writing to stdout a FORMAT-tarball containing the directory
@ -589,75 +720,114 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
# $(am__untar) < result.tar
#
AC_DEFUN([_AM_PROG_TAR],
[# Always define AMTAR for backward compatibility.
AM_MISSING_PROG([AMTAR], [tar])
m4_if([$1], [v7],
[am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
[m4_case([$1], [ustar],, [pax],,
[m4_fatal([Unknown tar format])])
AC_MSG_CHECKING([how to create a $1 tar archive])
# Loop over all known methods to create a tar archive until one works.
[# Always define AMTAR for backward compatibility. Yes, it's still used
# in the wild :-( We should find a proper way to deprecate it ...
AC_SUBST([AMTAR], ['$${TAR-tar}'])
# We'll loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
_am_tools=${am_cv_prog_tar_$1-$_am_tools}
# Do not fold the above two line into one, because Tru64 sh and
# Solaris sh will not grok spaces in the rhs of `-'.
for _am_tool in $_am_tools
do
case $_am_tool in
gnutar)
for _am_tar in tar gnutar gtar;
do
AM_RUN_LOG([$_am_tar --version]) && break
done
am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
am__untar="$_am_tar -xf -"
;;
plaintar)
# Must skip GNU tar: if it does not support --format= it doesn't create
# ustar tarball either.
(tar --version) >/dev/null 2>&1 && continue
am__tar='tar chf - "$$tardir"'
am__tar_='tar chf - "$tardir"'
am__untar='tar xf -'
;;
pax)
am__tar='pax -L -x $1 -w "$$tardir"'
am__tar_='pax -L -x $1 -w "$tardir"'
am__untar='pax -r'
;;
cpio)
am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
am__untar='cpio -i -H $1 -d'
;;
none)
am__tar=false
am__tar_=false
am__untar=false
;;
esac
# If the value was cached, stop now. We just wanted to have am__tar
# and am__untar set.
test -n "${am_cv_prog_tar_$1}" && break
m4_if([$1], [v7],
[am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
# tar/untar a dummy directory, and stop if the command works
[m4_case([$1],
[ustar],
[# The POSIX 1988 'ustar' format is defined with fixed-size fields.
# There is notably a 21 bits limit for the UID and the GID. In fact,
# the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
# and bug#13588).
am_max_uid=2097151 # 2^21 - 1
am_max_gid=$am_max_uid
# The $UID and $GID variables are not portable, so we need to resort
# to the POSIX-mandated id(1) utility. Errors in the 'id' calls
# below are definitely unexpected, so allow the users to see them
# (that is, avoid stderr redirection).
am_uid=`id -u || echo unknown`
am_gid=`id -g || echo unknown`
AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
if test $am_uid -le $am_max_uid; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
_am_tools=none
fi
AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
if test $am_gid -le $am_max_gid; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
_am_tools=none
fi],
[pax],
[],
[m4_fatal([Unknown tar format])])
AC_MSG_CHECKING([how to create a $1 tar archive])
# Go ahead even if we have the value already cached. We do so because we
# need to set the values for the 'am__tar' and 'am__untar' variables.
_am_tools=${am_cv_prog_tar_$1-$_am_tools}
for _am_tool in $_am_tools; do
case $_am_tool in
gnutar)
for _am_tar in tar gnutar gtar; do
AM_RUN_LOG([$_am_tar --version]) && break
done
am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
am__untar="$_am_tar -xf -"
;;
plaintar)
# Must skip GNU tar: if it does not support --format= it doesn't create
# ustar tarball either.
(tar --version) >/dev/null 2>&1 && continue
am__tar='tar chf - "$$tardir"'
am__tar_='tar chf - "$tardir"'
am__untar='tar xf -'
;;
pax)
am__tar='pax -L -x $1 -w "$$tardir"'
am__tar_='pax -L -x $1 -w "$tardir"'
am__untar='pax -r'
;;
cpio)
am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
am__untar='cpio -i -H $1 -d'
;;
none)
am__tar=false
am__tar_=false
am__untar=false
;;
esac
# If the value was cached, stop now. We just wanted to have am__tar
# and am__untar set.
test -n "${am_cv_prog_tar_$1}" && break
# tar/untar a dummy directory, and stop if the command works.
rm -rf conftest.dir
mkdir conftest.dir
echo GrepMe > conftest.dir/file
AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
rm -rf conftest.dir
if test -s conftest.tar; then
AM_RUN_LOG([$am__untar <conftest.tar])
AM_RUN_LOG([cat conftest.dir/file])
grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
fi
done
rm -rf conftest.dir
mkdir conftest.dir
echo GrepMe > conftest.dir/file
AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
rm -rf conftest.dir
if test -s conftest.tar; then
AM_RUN_LOG([$am__untar <conftest.tar])
grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
fi
done
rm -rf conftest.dir
AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
AC_MSG_RESULT([$am_cv_prog_tar_$1])])
AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
AC_MSG_RESULT([$am_cv_prog_tar_$1])])
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR

2
bootstrap.sh Normal file → Executable file
View file

@ -1,5 +1,7 @@
#!/bin/sh
mkdir -p m4
aclocal || exit 1
automake -a -c || exit 1
autoconf || exit 1
rm -rf autom4te.cache
rm -d m4

347
compile Normal file
View file

@ -0,0 +1,347 @@
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-10-14.11; # UTC
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*|MSYS*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*|msys/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
if test -f "$dir/lib$lib.a"; then
found=yes
lib=$dir/lib$lib.a
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

3116
configure vendored Normal file → Executable file

File diff suppressed because it is too large Load diff

View file

@ -1,26 +1,27 @@
AC_INIT([rufus], [1.4.5], [https://github.com/pbatard/rufus/issues], [rufus], [http://rufus.akeo.ie])
AC_INIT([rufus], [4.6], [https://github.com/pbatard/rufus/issues], [rufus], [https://rufus.ie])
AM_INIT_AUTOMAKE([-Wno-portability foreign no-dist no-dependencies])
AC_CONFIG_SRCDIR([src/rufus.c])
AC_CONFIG_MACRO_DIR([m4])
# Enable silent build rules by default (Automake v1.11 or later).
# Disable by either passing --disable-silent-rules to configure or passing V=1 to make
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
[AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
AM_SILENT_RULES([yes])
AC_PREREQ([2.50])
AC_PROG_CC
# autoconf 2.61 doesn't have AC_PROG_AR, but 2.63 has it
AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
AC_PROG_AR
AC_PROG_RANLIB
AC_PROG_SED
AC_PATH_PROG(RM, rm, rm)
AC_CHECK_TOOL(STRIP, strip, strip)
AC_CHECK_TOOL(WINDRES, windres, windres)
AC_CHECK_TOOL(DLLTOOL, dlltool, :)
AC_CHECK_TOOL(STRIP, strip, :)
AC_CHECK_TOOL(WINDRES, windres, :)
AC_C_INLINE
AC_DEFINE([_GNU_SOURCE], [], [Use GNU extensions])
# Clang needs an explicit WIN32_WINNT defined else it produces warnings
# in msapi_utf8.h - including winver.h only doesn't work
AM_CFLAGS="${AM_CFLAGS} -DWINVER=0x501 -D_WIN32_IE=0x501 -D_WIN32_WINNT=0x501"
AM_LDFLAGS="${AM_LDFLAGS} -Wl,-no-undefined"
AM_CFLAGS="${AM_CFLAGS} -DWINVER=0x0A00 -D_WIN32_WINNT=0x0A00 -D_WIN32_IE=0x0A00"
# "-Wl,--nxcompat" to enable DEP (Data Execution Prevention)
# "-Wl,--dynamicbase" to enable ASLR (Address Space Layout Randomization)
AM_LDFLAGS="${AM_LDFLAGS} -Wl,-no-undefined -Wl,--nxcompat -Wl,--no-insert-timestamp -Wl,--dynamicbase"
# Debug symbols
AC_ARG_ENABLE([debug],
@ -35,6 +36,24 @@ else
LDFLAGS="-s"
fi
# Alpha/Beta/Test
AC_ARG_ENABLE([alpha],[AS_HELP_STRING([--enable-alpha], [build an ALPHA release (default=no)])], [alpha_enabled=$enableval], [alpha_enabled='no'])
if test "x$alpha_enabled" != "xno" ; then
CFLAGS+=" -DALPHA"
SUFFIX=_ALPHA
fi
AC_ARG_ENABLE([beta],[AS_HELP_STRING([--enable-beta], [build a BETA release (default=no)])], [beta_enabled=$enableval], [beta_enabled='no'])
if test "x$beta_enabled" != "xno" ; then
CFLAGS+=" -DBETA"
SUFFIX=_BETA
fi
AC_ARG_ENABLE([test],[AS_HELP_STRING([--enable-test=#], [build a TEST release (default=no)])], [test_enabled=$enableval], [test_enabled='no'])
if test "x$test_enabled" != "xno" ; then
if test "x$test_enabled" == "xyes" ; then $enableval="" ; fi
CFLAGS+=" -DTEST=$enableval"
SUFFIX=_TEST$enableval
fi
AC_MSG_RESULT([enabling Large File Support (ISO support)])
AM_CFLAGS="$AM_CFLAGS -D_FILE_OFFSET_BITS=64 -D_OFF_T_ -D_off_t=off64_t -Doff_t=off64_t -Doff32_t=long"
@ -45,19 +64,24 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
[nopointersign_cflags="-Wno-pointer-sign"], [nopointersign_cflags=""])
CFLAGS="${saved_CFLAGS}"
AM_CFLAGS="$AM_CFLAGS -std=gnu99 -Wshadow -Wall -Wundef -Wunused -Wstrict-prototypes -Werror-implicit-function-declaration $nopointersign_cflags"
AM_CFLAGS="$AM_CFLAGS -DUNICODE -D_UNICODE -UNDEBUG -DCOBJMACROS -D__USE_MINGW_ANSI_STDIO=0 -std=gnu99 -Wshadow -Wall -Wformat-security -Wundef -Wunused -Wstrict-prototypes -Wno-restrict -Wno-array-bounds -Werror-implicit-function-declaration -Wbidi-chars=none $nopointersign_cflags"
AC_SUBST([VISIBILITY_CFLAGS])
AC_SUBST([AM_CFLAGS])
AC_SUBST([AM_LDFLAGS])
AC_SUBST([SUFFIX])
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([.mingw/Makefile])
AC_CONFIG_FILES([src/Makefile])
AC_CONFIG_FILES([src/ms-sys/Makefile])
AC_CONFIG_FILES([src/syslinux/libfat/Makefile])
AC_CONFIG_FILES([src/syslinux/libinstaller/Makefile])
AC_CONFIG_FILES([src/bled/Makefile])
AC_CONFIG_FILES([src/ext2fs/Makefile])
AC_CONFIG_FILES([src/libcdio/iso9660/Makefile])
AC_CONFIG_FILES([src/libcdio/udf/Makefile])
AC_CONFIG_FILES([src/libcdio/driver/Makefile])
AC_CONFIG_FILES([res/localization/Makefile])
AC_CONFIG_FILES([res/loc/Makefile])
AC_CONFIG_FILES([src/ms-sys/Makefile])
AC_CONFIG_FILES([src/syslinux/libfat/Makefile])
AC_CONFIG_FILES([src/syslinux/libinstaller/Makefile])
AC_CONFIG_FILES([src/syslinux/win/Makefile])
AC_OUTPUT

View file

@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2009-04-28.21; # UTC
scriptversion=2020-11-14.01; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@ -35,25 +35,21 @@ scriptversion=2009-04-28.21; # UTC
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# 'make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
tab=' '
nl='
'
IFS=" "" $nl"
IFS=" $tab$nl"
# set DOITPROG to echo to test this script
# Set DOITPROG to "echo" to test this script.
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
if test -z "$doit"; then
doit_exec=exec
else
doit_exec=$doit
fi
doit_exec=${doit:-exec}
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
@ -68,22 +64,16 @@ mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
posix_glob='?'
initialize_posix_glob='
test "$posix_glob" != "?" || {
if (set -f) 2>/dev/null; then
posix_glob=
else
posix_glob=:
fi
}
'
posix_mkdir=
# Desired mode of installed file.
mode=0755
# Create dirs (including intermediate dirs) using mode 755.
# This is like GNU 'install' as of coreutils 8.32 (2020).
mkdir_umask=22
backupsuffix=
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
@ -97,7 +87,7 @@ dir_arg=
dst_arg=
copy_on_change=false
no_target_directory=
is_target_a_directory=possibly
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@ -114,18 +104,28 @@ Options:
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-C install only if different (preserve data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-p pass -p to $cpprog.
-s $stripprog installed files.
-S SUFFIX attempt to back up existing files, with suffix SUFFIX.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
By default, rm is invoked with -f; when overridden with RMPROG,
it's up to you to specify -f if you want it.
If -S is not specified, no backups are attempted.
Email bug reports to bug-automake@gnu.org.
Automake home page: https://www.gnu.org/software/automake/
"
while test $# -ne 0; do
@ -137,42 +137,62 @@ while test $# -ne 0; do
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
case $mode in
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
shift;;
-p) cpprog="$cpprog -p";;
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
shift;;
-S) backupsuffix="$2"
shift;;
-T) no_target_directory=true;;
-t)
is_target_a_directory=always
dst_arg=$2
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
shift;;
-T) is_target_a_directory=never;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
# We allow the use of options -d and -T together, by making -d
# take the precedence; this is for compatibility with GNU install.
if test -n "$dir_arg"; then
if test -n "$dst_arg"; then
echo "$0: target directory not allowed when installing a directory." >&2
exit 1
fi
fi
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
@ -186,6 +206,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
fi
shift # arg
dst_arg=$arg
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
done
fi
@ -194,13 +218,26 @@ if test $# -eq 0; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# It's OK to call 'install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
trap '(exit $?); exit' 1 2 13 15
if test $# -gt 1 || test "$is_target_a_directory" = always; then
if test ! -d "$dst_arg"; then
echo "$0: $dst_arg: Is not a directory." >&2
exit 1
fi
fi
fi
if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
trap "ret=141; $do_exit" 13
trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
@ -211,16 +248,16 @@ if test -z "$dir_arg"; then
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
u_plus_rw=
else
u_plus_rw='% 200'
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
u_plus_rw=
else
u_plus_rw=,u+rw
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
@ -228,9 +265,9 @@ fi
for src
do
# Protect names starting with `-'.
# Protect names problematic for 'test' and other utilities.
case $src in
-*) src=./$src;;
-* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
@ -238,6 +275,10 @@ do
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
# Don't chown directories that already exist.
if test $dstdir_status = 0; then
chowncmd=""
fi
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
@ -252,185 +293,150 @@ do
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
# If destination is a directory, append the input filename.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
if test "$is_target_a_directory" = never; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstbase=`basename "$src"`
case $dst in
*/) dst=$dst$dstbase;;
*) dst=$dst/$dstbase;;
esac
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
dstdir=`dirname "$dst"`
test -d "$dstdir"
dstdir_status=$?
fi
fi
case $dstdir in
*/) dstdirslash=$dstdir;;
*) dstdirslash=$dstdir/;;
esac
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
mkdir_mode=
fi
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
posix_mkdir=false
# The $RANDOM variable is not portable (e.g., dash). Use it
# here however when possible just to lower collision chance.
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
trap '
ret=$?
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
exit $ret
' 0
# Because "mkdir -p" follows existing symlinks and we likely work
# directly in world-writeable /tmp, make sure that the '$tmpdir'
# directory is successfully created first before we actually test
# 'mkdir -p'.
if (umask $mkdir_umask &&
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
test_tmpdir="$tmpdir/a"
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
mkdir_mode=
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writeable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
trap '' 0;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
-*) prefix='./';;
*) prefix='';;
/*) prefix='/';;
[-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
eval "$initialize_posix_glob"
oIFS=$IFS
IFS=/
$posix_glob set -f
set -f
set fnord $dstdir
shift
$posix_glob set +f
set +f
IFS=$oIFS
prefixes=
for d
do
test -z "$d" && continue
test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
@ -443,14 +449,25 @@ do
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
dsttmp=${dstdirslash}_inst.$$_
rmtmp=${dstdirslash}_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
(umask $cp_umask &&
{ test -z "$stripcmd" || {
# Create $dsttmp read-write so that cp doesn't create it read-only,
# which would cause strip to fail.
if test -z "$doit"; then
: >"$dsttmp" # No need to fork-exec 'touch'.
else
$doit touch "$dsttmp"
fi
}
} &&
$doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
@ -465,20 +482,24 @@ do
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
eval "$initialize_posix_glob" &&
$posix_glob set -f &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
$posix_glob set +f &&
set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# If $backupsuffix is set, and the file being installed
# already exists, attempt a backup. Don't worry if it fails,
# e.g., if mv doesn't support -f.
if test -n "$backupsuffix" && test -f "$dst"; then
$doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
fi
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
@ -486,24 +507,24 @@ do
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
@ -512,10 +533,9 @@ do
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC"
# End:

457
missing
View file

@ -1,11 +1,10 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
# Common wrapper for a few potentially missing GNU programs.
scriptversion=2009-04-28.21; # UTC
scriptversion=2013-10-28.13; # UTC
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
# 2008, 2009 Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -26,69 +25,40 @@ scriptversion=2009-04-28.21; # UTC
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
run=:
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
# In the cases where this matters, `missing' is being run in the
# srcdir already.
if test -f configure.ac; then
configure_ac=configure.ac
else
configure_ac=configure.in
fi
msg="missing on your system"
case $1 in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
# Exit code 63 means version mismatch. This often happens
# when the user try to use an ancient version of a tool on
# a file that requires a minimum version. In this case we
# we should proceed has if the program had been absent, or
# if --run hadn't been passed.
if test $? = 63; then
run=:
msg="probably too old"
fi
;;
--is-lightweight)
# Used by our autoconf macros to check whether the available missing
# script is modern enough.
exit 0
;;
--run)
# Back-compat with the calling convention used by older automake.
shift
;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.
Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
--run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
autom4te touch the output file, or create a stub one
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
aclocal autoconf autoheader autom4te automake makeinfo
bison yacc flex lex help2man
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
\`g' are ignored when checking the name.
Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
'g' are ignored when checking the name.
Send bug reports to <bug-automake@gnu.org>."
exit $?
@ -100,272 +70,141 @@ Send bug reports to <bug-automake@gnu.org>."
;;
-*)
echo 1>&2 "$0: Unknown \`$1' option"
echo 1>&2 "Try \`$0 --help' for more information"
echo 1>&2 "$0: unknown '$1' option"
echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
# normalize program name to check for.
program=`echo "$1" | sed '
s/^gnu-//; t
s/^gnu//; t
s/^g//; t'`
# Run the given program, remember its exit status.
"$@"; st=$?
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program). This is about non-GNU programs, so use $1 not
# $program.
case $1 in
lex*|yacc*)
# Not GNU programs, they don't have --version.
# If it succeeded, we are done.
test $st -eq 0 && exit 0
# Also exit now if we it failed (or wasn't found), and '--version' was
# passed; such an option is passed most likely to detect whether the
# program is present and works.
case $2 in --version|--help) exit $st;; esac
# Exit code 63 means version mismatch. This often happens when the user
# tries to use an ancient version of a tool on a file that requires a
# minimum version.
if test $st -eq 63; then
msg="probably too old"
elif test $st -eq 127; then
# Program was missing.
msg="missing on your system"
else
# Program was found and executed, but failed. Give up.
exit $st
fi
perl_URL=http://www.perl.org/
flex_URL=http://flex.sourceforge.net/
gnu_software_URL=http://www.gnu.org/software
program_details ()
{
case $1 in
aclocal|automake)
echo "The '$1' program is part of the GNU Automake package:"
echo "<$gnu_software_URL/automake>"
echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/autoconf>"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
autoconf|autom4te|autoheader)
echo "The '$1' program is part of the GNU Autoconf package:"
echo "<$gnu_software_URL/autoconf/>"
echo "It also requires GNU m4 and Perl in order to run:"
echo "<$gnu_software_URL/m4/>"
echo "<$perl_URL>"
;;
esac
}
give_advice ()
{
# Normalize program name to check for.
normalized_program=`echo "$1" | sed '
s/^gnu-//; t
s/^gnu//; t
s/^g//; t'`
printf '%s\n' "'$1' is $msg."
configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
case $normalized_program in
autoconf*)
echo "You should only need it if you modified 'configure.ac',"
echo "or m4 files included by it."
program_details 'autoconf'
;;
autoheader*)
echo "You should only need it if you modified 'acconfig.h' or"
echo "$configure_deps."
program_details 'autoheader'
;;
automake*)
echo "You should only need it if you modified 'Makefile.am' or"
echo "$configure_deps."
program_details 'automake'
;;
aclocal*)
echo "You should only need it if you modified 'acinclude.m4' or"
echo "$configure_deps."
program_details 'aclocal'
;;
autom4te*)
echo "You might have modified some maintainer files that require"
echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
echo "You should only need it if you modified a '.y' file."
echo "You may want to install the GNU Bison package:"
echo "<$gnu_software_URL/bison/>"
;;
lex*|flex*)
echo "You should only need it if you modified a '.l' file."
echo "You may want to install the Fast Lexical Analyzer package:"
echo "<$flex_URL>"
;;
help2man*)
echo "You should only need it if you modified a dependency" \
"of a man page."
echo "You may want to install the GNU Help2man package:"
echo "<$gnu_software_URL/help2man/>"
;;
makeinfo*)
echo "You should only need it if you modified a '.texi' file, or"
echo "any other file indirectly affecting the aspect of the manual."
echo "You might want to install the Texinfo package:"
echo "<$gnu_software_URL/texinfo/>"
echo "The spurious makeinfo call might also be the consequence of"
echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
echo "want to install GNU make:"
echo "<$gnu_software_URL/make/>"
;;
*)
echo "You might have modified some files without having the proper"
echo "tools for further handling them. Check the 'README' file, it"
echo "often tells you about the needed prerequisites for installing"
echo "this package. You may also peek at any GNU archive site, in"
echo "case some other package contains this missing '$1' program."
;;
esac
}
tar*)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
exit 1
fi
;;
give_advice "$1" | sed -e '1s/^/WARNING: /' \
-e '2,$s/^/ /' >&2
*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
# Could not run --version or --help. This is probably someone
# running `$TOOL --version' or `$TOOL --help' to check whether
# $TOOL exists and not knowing $TOOL uses missing.
exit 1
fi
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case $program in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
;;
autoconf*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
;;
autoheader*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case $f in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
automake*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
autom4te*)
echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
proper tools for further handling them.
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
file=`echo "$*" | sed -n "$sed_output"`
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
echo "#! /bin/sh"
echo "# Created by GNU Automake missing as a replacement of"
echo "# $ $@"
echo "exit 0"
chmod +x $file
exit 1
fi
;;
bison*|yacc*)
echo 1>&2 "\
WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if test $# -ne 1; then
eval LASTARG="\${$#}"
case $LASTARG in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
if test ! -f y.tab.h; then
echo >y.tab.h
fi
if test ! -f y.tab.c; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
lex*|flex*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if test $# -ne 1; then
eval LASTARG="\${$#}"
case $LASTARG in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if test -f "$SRCFILE"; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
if test ! -f lex.yy.c; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
help2man*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
file=`echo "$*" | sed -n "$sed_output"`
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
exit $?
fi
;;
makeinfo*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
file=`echo "$*" | sed -n "$sed_output"`
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -z "$file"; then
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '
/^@setfilename/{
s/.* \([^ ]*\) *$/\1/
p
q
}' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
# If the file does not exist, the user really needs makeinfo;
# let's fail without touching anything.
test -f $file || exit 1
touch $file
;;
tar*)
shift
# We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error
# messages.
if (gnutar --version > /dev/null 2>&1); then
gnutar "$@" && exit 0
fi
if (gtar --version > /dev/null 2>&1); then
gtar "$@" && exit 0
fi
firstarg="$1"
if shift; then
case $firstarg in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
case $firstarg in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
;;
esac
fi
echo 1>&2 "\
WARNING: I can't seem to be able to run \`tar' with the given arguments.
You may want to install GNU tar or Free paxutils, or check the
command line arguments."
exit 1
;;
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and is $msg.
You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequisites for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
;;
esac
exit 0
# Propagate the correct exit status (expected to be 127 for a program
# not found, 63 for a program that failed due to version mismatch).
exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)

View file

@ -0,0 +1,8 @@
# indicate this is the root of the project
root = true
[*]
charset = utf-8-bom
insert_final_newline = true
indent_style = space
trim_trailing_whitespace = true

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 494 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 824 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Some files were not shown because too many files have changed in this diff Show more