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
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
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
c82842ce2a
[core] add Super Floppy Disk support
2017-08-12 15:12:00 +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
d620d8848d
[loc] fix RTL display of ISO truncation notification
...
* Also don't use MessageBoxU where unneeded
2017-07-29 17:34:11 +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
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
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
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
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
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
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
Pete Batard
92d046e663
[ui] produce a sound and flash taskbar icon on success/error
...
* Closes #973
2017-07-04 14:51:25 +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
54ee68f6fc
[pki] have GetSignatureName() use the current binary on NULL parameter
2017-06-15 17:25:13 +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
3b4b742772
[wintogo] add an error popup if we can't select the version
2017-05-02 00:38:40 +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
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
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
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
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
e2481efcd9
[pki] application security improvements
...
* Also clean up registry variables and add IsRegistryNode() call
2017-04-12 20:40:43 +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
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
Pete Batard
21ce17302d
[misc] fix coverity and VS analysis warnings
2017-03-08 21:22:24 +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
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
4373f0c452
[ui] fix notification sound when closing using X
...
* Closes #893
2017-01-30 17:52:37 +00:00
Pete Batard
8aeaa4d645
[grub] add fallback to same major version
2017-01-06 16:15:31 +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
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
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
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
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
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
56eb635879
[internal] use smart card keys for code signing
...
* Also fix a Coverity warning
2016-07-15 13:32:22 +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
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
39d6b90447
[misc] fixes for Clang/C2 compilation support
2016-06-04 17:13:50 +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
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
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
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
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
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
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
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
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
3a266d92a7
[misc] improve the reporting of ISO props
2016-02-22 12:51:27 +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
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
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
Pete Batard
e1499c4db0
[misc] fix WDK warnings
2016-02-05 22:24:47 +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
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
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
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
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
cc65d0494d
[misc] update README.md
...
* Also update copyright year
2016-01-03 22:53:13 +00: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
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
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
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
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
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
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
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
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