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

230 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
903ac993f2 [misc] remove no longer needed XP workarounds 2017-11-13 14:30:25 +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
Pete Batard
44c9cb0b82 [iso] add support for ISO9660 multiextent files
* Closes #1007
2017-09-14 17:36:54 +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
fe3004d17f [misc] use UTF-8 compatible _unlinkU() when deleting files 2017-08-30 11:24:47 +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
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
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
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
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
2417ea7409 [misc] update Rufus URLs to https
* Also set rufus-next to 2.14
2017-04-09 21:00:02 +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
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
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
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
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
a207d967a5 [uefi] add support for EBC boot loader
* Closes #791
2016-07-04 13:16:04 +01: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
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
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
Pete Batard
0e65b1c920 [ui] fix flickering of Status and Info fields
* Closes #634
2016-02-23 11:21:36 +00:00
Pete Batard
c3f47ada06 [misc] add missing.h header
* Also clean up code
2016-02-20 22:52:32 +00:00
Pete Batard
f2a539a48c [core] add and use WriteFileWithRetry() where possible 2016-01-14 17:43:02 +00: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
621d1cae16 [misc] fix WDK compilation 2015-10-22 23:20:50 +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
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
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
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
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
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
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
8b880a7d31 [iso] add timestamp preservation
* Enabled through the Alt-T cheat mode
* Closes #389
2015-06-25 19:48:37 +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
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
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
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
000f60c535 [core] improve support for multipart install.wim
* Closes #450
2015-02-26 23:47:20 +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
Pete Batard
e4e9e87768 [misc] handle multipart install.swm Windows images
* Closes #437
2015-02-09 19:34:41 +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
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
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
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
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
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
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
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
c6fee8709e v1.4.12 (build 535)
* Also address a memory leak in fix_syslinux()
2014-11-09 19:56:40 +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
0c9c7a9569 [syslinux] fix dual EFI+BIOS support for tails and other ISOs
* Closes #381
2014-10-29 02:00:46 +00: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
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
b6bc17b7f4 [core] add KolibriOS support
* Closes #331
2014-05-15 21:17:12 +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
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
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
b83b087b52 [misc] factorize SizeToHumanReadable() and ensure log sizes are in English
* Also use an allocated buffer for DD operations
2014-02-17 23:15:09 +00:00
Pete Batard
1757e6f081 [iso] fix a libcdio memleak for RR symlinks
* Also handle symlinks more gracefully by telling the user that they are ignored
* Also tell the user which extensions will be used on extraction
2014-02-13 21:25:34 +00:00
Pete Batard
cd4dd3cc47 [img] add a retry for DD Images
* Also try to ignore autorun.inf issues from idiotic antivirus solutions, when writing ISOs
* Also remove the columns in the English labels (improves high DPI display)
* Also update additional ISO related messages to make them more generic
2014-02-09 23:38:16 +00:00
Pete Batard
89a7a3deb1 [core] add uncompressed DD image support
* Also fix an issue with hotplug due to WM_DEVICECHANGE being filtered out
* Also improve AnalyzeMBR() and prevent failure on WriteMBR
* Also fix a couple issues with ISO and Syslinux handling
* Also remove "smart" uncheck of disabled checkboxes - not worth it
2014-02-09 02:54:07 +00:00
Pete Batard
7d1a3d82cc [syslinux] improve handling of 4.x C32 files
* Download the files from files/syslinux-4.07 on the server
* Save local copy in rufus_files/syslinux-4.07
* Move menu.c32/vesamenu.c32 check to BootCheck()
2014-02-04 20:01:28 +00:00
Pete Batard
2577337dec [misc] right-to-left and version handling improvements
* Improve right-to-left consistency and handling
* Drop 'v' from version indicators
* Also update version to 1.4.4
* Also fix French translation typos
2014-01-24 20:02:52 +00:00
Pete Batard
3c2873bbdc [syslinux] fix missing syslinux.cfg creation
* Issue was introduced with 299506056a
* Also improve StrArray definition
2014-01-22 01:28:25 +00:00
Pete Batard
3ae7ec4af5 [core] detect, report and warn when multiple partitions are in use
* Closes #191
* Also fix various minor warnings
2014-01-21 23:09:30 +00:00
Pete Batard
299506056a [syslinux] fix support for recent Syslinux versions
* Detect Syslinux version from isolinux.bin (Closes #272)
* Download required Syslinux v5+ files where needed (Closes #165)
* Also fix an issue where using a Syslinux based ISO didn't switch to ISO mode
* Also alter DownloadFile and ExtractISOFile to return a size
2014-01-21 21:59:09 +00:00
Pete Batard
e9e27d7034 [core] add ReactOS support
* Use Syslinux v4 and mboot.c32 to chainload setupldr.sys
* Closes #266
2014-01-02 23:21:30 +00:00
Pete Batard
24e73c5e10 [efi] set UEFI mode when a pure EFI ISO is selected
* Closes #168
* Also fix various VS Code Analysis warnings
2013-12-22 20:48:57 +00:00
Pete Batard
56c6b15feb [core] (re)add a retry when writing ISO files
* Fixes the issue that caused a revert of 0206e2036e
  (in c93798b877). The issue was that an active index
  was being reused and modified, for ISO9660 images, which could wreck havoc when
  writing the data blocks.
* Closes #176 (again)
2013-12-06 23:31:41 +00:00
Pete Batard
c93798b877 [oops] revert write retry as it breaks Syslinux
* This reverts 0206e2036e
* Closes #240
2013-12-05 11:43:49 +00:00
Pete Batard
0206e2036e [core] add a retry when writing ISO files
* Closes #176
* Also fix a crash when displaying an error message (MSG_043 requires a parameter)
* Also display an informative message on interfering security solutions when writing an autorun.inf
* Also revert x64 MSVC target to non-XP so that it can be used for Code Analysis
2013-11-17 22:24:50 +00:00
Pete Batard
7d2519675c [iso] ignore extra nameless files on some UDF images
* Closes #155
2013-10-30 20:29:55 +00:00
Pete Batard
5354d2f6ca [iso] sanitize invalid FAT & NFTS filenames
* Also fix support for labels containing double quotes
* Closes #135
* Closes #193
2013-10-27 00:05:54 +01:00
Pete Batard
df06727416 [loc] add localization support
* This is a merge up to commit bd319269aa of the localization branch
* Also fixes Clang warnings
2013-10-15 23:25:54 +01:00
Pete Batard
3c438db3fd [iso] add smart testing for Rock Ridge over Joliet
* Some ISO9660 images (such as Ubuntu) use both Joliet and Rock Ridge,
  so we have to make a choice which should be preferred.
* Since Rock Ridge allows a greater filename length compared to Joliet,
  we perform our scan pass with Joliet disabled, to find out if RR is
  being used and if a filename longer than 64 chars exist. If that is
  the case, we'll perform the extraction using RR, else we'll use Joliet.
* Also add Alt-J and Alt-K to toggle Joliet/Rock Ridge
* Closes #178
2013-10-14 00:02:32 +01:00
Pete Batard
0e1c474ca0 [syslinux] add detection for Syslinux/Isolinux v5.0
* This is not full Syslinux v5.0 support, but only to prevent the (vesa)menu.c32 message from displaying
* Uses the mandatory inclusion of ldlinux.c32 in Isolinux v5.x for the detection
* Part of a fix for #142
2013-06-13 23:46:52 +01:00
Pete Batard
26f807530d [iso] fix broken bootmgr detection
* Closes #144
* Also fix broken WDK compilation
2013-05-19 23:02:16 +01:00
Pete Batard
c51bf5ce45 [misc] set rufus-next to 1.3.3, update copyright
* update copyright year
* switch relevant files to UTF-8 (without signature).
  It's 2013 for crying out loud:  if your file editor or file viewer
  can't handle plain UTF-8, go back to the 1980s!
* also rename autogen.sh to bootstrap.sh
2013-02-02 15:47:56 +00:00
Pete Batard
84e4aecfcd [efi] add support for Windows 7 UEFI boot
* Add WIM file handling in vhd.c to extract bootx64.efi
* x64 only, since Microsoft does not provide Win7 x86 EFI support
2013-01-19 04:04:54 +00:00
Pete Batard
997c0a0f28 [gpt] add support for GPT partitioning and EFI boot
* Contains the bulk of the code required to address #11
* Tested with Windows 8 Pro x64 (en-gb_windows_8_x64_dvd_915412.iso)
  and Arch Linux (archlinux-2013.01.04-dual.iso) against an UEFI 2.1 BIOS
* Also fixes missing status report beta versions check
2013-01-18 01:39:24 +00:00
Pete Batard
97576d79cb [iso] re-fix support for Arch Linux
* Can't these guys just use Joliet like everyone else?
* Closes #90 (again!)
2013-01-13 00:41:21 +00:00
Pete Batard
c4cb9d03c1 [misc] fix VS2012 Code Analysis warnings
* Only for files that aren't part of external dependencies
* Also update copyright date
2013-01-09 21:54:28 +00:00
Pete Batard
13a6b6b751 [iso] add support for VMWare ESXi 5.1
* Closes #98
* Also closes #113
* Also improves on the ISO analysis report
2012-12-15 03:27:14 +00:00
Pete Batard
5a53cb3b9c [updates] add "Check Now" button
* Also reword update policy and adjust timings
* Also fix ISO extraction window title
2012-12-09 20:36:29 +00:00
Pete Batard
4251e78fcd [net] Check for application update (part 5)
* Add dialog for new release notification
* Do not check for updates during format or ISO ops
* Add RTF support for parser and security improvements
* Also improve init and exit of progress dialog
2012-12-04 02:09:41 +00:00
Pete Batard
b3ed23647f [net] Check for application update (part 2)
* factorized token parser and added update file parsing
2012-11-12 01:53:34 +00:00
Pete Batard
bf98a552da [iso] update libcdio to v0.90 2012-11-04 01:33:54 +00:00
Pete Batard
a352ad019d [sl] update to syslinux 4.06
* Also fixes MSVC 64 bit warnings in format.c and iso.c
2012-11-04 00:29:24 +00:00
Pete Batard
94851dec7d [misc] fix a potential WinPE 1.0 bug and improve ISO labels
* WinPE 1.x patch used rdisk(!) instead of rdisk(1)
* Remove trailing spaces on ISO labels
* Remove unnecessary comment during format
2012-05-31 00:49:28 +01:00
Pete Batard
bb76f1f636 [ui] report ISO progress in main/icon progressbar
* Also improve granularity for ISO progress
* Also fixes an issue with badblocks report
2012-03-29 20:27:53 +01:00
Pete Batard
b397889ab6 v1.1.6 (#161)
* Add cheat mode for MBR selection (Alt-M)
* fix NTFS default for WinPE
* fix Clang warnings
2012-03-27 23:31:58 +01:00
Pete Batard
db76e396fd [pe] Improve PE and add Windows 2003 support
* Use \i386 always through SetupSourceDevice in txtsetup.sif
  and prevent deletion of install directory
* Removed setupdd.sy_ patch. Now, none of the files in \i386 are modified
* Better /minint detection for MBR setup
* Also fixed an issue where mbr.bin resources would not be included
2012-03-27 20:31:15 +01:00
Pete Batard
4bd017ff07 [pe] initial WinPE support (BartPE, XP install disc)
* also switched MBR to Win7 one
* also switched version to rufus-next
2012-03-16 18:30:44 +00:00
Pete Batard
7426573dc1 [iso] add download & replace of obsolete vesamenu.c32
* adds http/https download capabilities
* closes #46
2012-03-11 01:55:25 +00:00
Pete Batard
7ee5b35551 v1.1.4 (#150)
* closes #49
* closes #60
* closes #64
* should address #59
* set default doe ISOs with bot bootmgr and isolinux to syslinux
* other improvements
2012-03-03 23:12:48 +00:00
Pete Batard
3721b0a570 [misc] improved label and config handling
* add readout and display of extended autorun.inf label if available
* use improved isolinux config parsing
* also fix an issue that could leave drive unmounted on forced removal
* also add Alt-F cheatmode to toggle detection of fixed USB disks
2012-03-01 19:19:12 +00:00
Pete Batard
7e7c75169c [ui] enable setting of icon and extended label
* Creates an UTF-16 autoconf.inf with label, as well as autoconf.ico
* also fixed extended labels not displaying - closes #48
* also bumped version to rufus-next
* also factorized iso props analysis
* additional fixes
2012-02-21 19:46:28 +00:00
Pete Batard
f5939d18ab [iso] Syslinux support improvements
* Allow the use of vanilla Syslinux by creating a /syslinux.cfg
  that references isolinux.cfg
* Fix #40 and #42
* Workaround for #44 by search and replace of ISO label in .cfg
* ISO9660 Joliet fixes
2012-02-21 00:08:31 +00:00
Pete Batard
ce499c95d7 [ui] remember last selected device
* Closes #35
* Also update syslinux resources
2012-02-16 23:43:03 +00:00
Pete Batard
a851d66e7c [iso] libcdio Joliet and UDF fixes
* Fix for broken UDF access with MSVC on some images
  (eg. Arch Linux)
* Fix for broken Joliet access on ISO9660 images and
  proper Joliet support in iso.c
2012-02-16 20:44:16 +00:00
Pete Batard
3cd83869c4 [iso] fixes for Joliet and > 4GB ISO9660 images
* scan would fail on lowercase vs mixed case dir name comparison
  due to Joliet (eg. using Slackware 13.37 ISO)
* extraction would fail for 4 GB ISO9660 ISOs
* also fixes cases issue when checking for isolinux/bootmgr
* also don't restrict NTFS labels
2012-02-15 21:55:41 +00:00
Pete Batard
f4ed6e4650 [misc] fix broken DOS, fix invalid labels and UI improvements
* DOS creation was broken due to missing unlock + close
* added label validation to prevent errors
* added ellipsis to status bar
* also bumped version to rufus next and fixed f/non-f
2012-02-15 00:52:40 +00:00
Pete Batard
e17de3312f [iso] Set drive label according to the one from ISO
* required for Linux distros such as Arch Linux
* also added udf_get_logical_volume_id to libcdio and other fixes
* also prevents overwrite of ldlinux.sys from ISO
* closes #36
2012-02-14 20:52:39 +00:00
Pete Batard
36be65ed23 [iso] add support for isolinux/syslinux ISO images
* use a modified syslinux that can use isolinux config files
* update syslinux to git version
* remove embedding of chain.c32 for the time being
2012-02-14 01:23:42 +00:00
Pete Batard
7753c017d6 v1.1.0 (#131)
* first release with ISO support (bootmgr ISO only)
* fix ISO9660 extraction and error reports
2012-02-08 00:26:37 +00:00
Pete Batard
5d58b83ed8 [iso] cancellation improvements
* remove threaded cancellation, detect blocking and warn instead
* also add hidden shortcut to disable ISO size check
2012-02-07 16:17:14 +00:00
Pete Batard
472db8b592 [iso] bootable NTFS from ISO image [EXPERIMENTAL]
* bootmgr ISOs only
* extraction and ISO support UI improvements
* UTF8 support through CreateFileU
* cancellation on ISO file extraction
* switch to using CreateThread
2012-02-07 02:05:58 +00:00
Pete Batard
fd0e6d4b3b [iso] UI ISO support improvements
* add ISO scan and extract progress dialog
* compute sizes and set properties
* allow cancellation
* minor other updates
2012-02-01 14:26:36 +00:00
Pete Batard
5bd86bc743 [iso] initial ISO image support (EXPERIMENTAL)
* from libcdio: http://www.gnu.org/software/libcdio/
2012-01-31 01:40:22 +00:00