Commit Graph

165 Commits

Author SHA1 Message Date
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 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 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
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 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 9950f5c088 [misc] enable DEP (Data Execution Prevention) on MinGW
* Also fix minor warnings
2017-05-01 23:55:58 +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 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 edcfd43ed5 [misc] fix multiple VS Code Analysis warnings 2017-03-10 19:07:48 +01: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 db234442e3 [ui] improve selection dialog when there exist more than 6 options
* Closes #891
2017-01-18 13:48:44 +00:00
Pete Batard 5b544c6a4a [misc] update copyright year 2017-01-01 15:30:03 +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 4891500f40 [loc] fix license display for RTL languages 2016-12-05 10:52:37 +00: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 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 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 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 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 c3f47ada06 [misc] add missing.h header
* Also clean up code
2016-02-20 22:52:32 +00:00
Pete Batard e1499c4db0 [misc] fix WDK warnings 2016-02-05 22:24:47 +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
Pete Batard cc65d0494d [misc] update README.md
* Also update copyright year
2016-01-03 22:53:13 +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 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 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
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 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
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
Pete Batard 7618913c47 [ui] more high contrast fixes
* Closes #592
2015-09-21 00:20:19 +01:00
Pete Batard 6a9a14bfb2 [misc] fix coverity defects
* Also update coverity build script
2015-08-27 18:37:04 +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 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 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 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 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 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 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
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
Pete Batard 1c322aba56 [misc] drop the micro from the version
* Closes #439
2015-02-08 22:59:09 +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 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 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 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 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 5863db3ef3 [loc] update translations for 1.5.0 UI 2014-11-27 23:24:50 +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 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 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 8007fc0915 v1.4.8 (build 505)
* Also fix a couple coverity warnings
2014-06-03 22:42:42 +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
Pete Batard 1e121d2025 [misc] simplify the declaration of extensions for FileDialog()
* Also update the Changelog
2014-05-22 22:46:36 +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
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 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 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 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 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 8ae158ba22 [loc] add support for right-to-left languages
* Closes #192
2014-01-24 02:46:06 +00:00
Pete Batard a0dfb06715 [loc] use the system message font for notifications
* Vista and later use a different system message font than MS Shell Dlg
* For languages such as Chinese, it makes custom notifications look quite
  different from system ones, which is not what we want
* Issue reported by Wayne Ying
2014-01-03 01:57:37 +00:00
Pete Batard d5a02c63f1 [loc] fix localization for notification dialog titles
* Also fix double columns from the update dialog
* Issues reported by Wayne Ying
2013-12-25 22:45:29 +00:00
Pete Batard 18c9df18b5 [loc] set log messages to use English locale
* This is done to ensure I can understand logs that are sent to me,
  even when a non English locale is used.
* Closes #188.
2013-12-19 23:56:40 +00:00
Pete Batard cb3de685ee [misc] fix MinGW and Clang warnings
* Also fix "MSG_176 UNTRANSLATED" for English and Chinese
2013-12-02 18:24:54 +00:00
Pete Batard e163ecb9eb [misc] last minute fixes and improvements for v1.4.0
* Fix missing DOS codepages for Asian languages (reported by Kyle)
* Fix wrong label being reported when an USB HDD is present (reported by NaJiyoun)
* Fix potential issue with error message reporting
* Fix ISO button being truncated on high DPI displays
* Improve French and Korean translations
* Improve launch of updated application
2013-11-30 17:39:38 +00:00
Pete Batard af12d0f8d7 [loc] fix resizing in height
* Also clarify some translations
2013-10-28 17:34:18 +00:00
Pete Batard df44b26342 [loc] add language selection menu 2013-10-24 22:59:20 +01:00
Pete Batard 4e840a6995 [loc] fix a crash on exit
* Don't free loc_filename if it points to embedded name
* Also fix resizing of main dialog
2013-10-17 20:42:03 +01:00
Pete Batard ff28e2027c [loc] fix various localization issues
* Fix missing [b]ase for Chinese and French
* Fix infinite loop when [b]ase is not available for default
* Fix resizing of main dialog forces forcing pos to 0,0
2013-10-17 20:12:16 +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 a16d35698f [misc] various fixes and improvements
* add commandline usage guide
* use -w 150 instead of /W for updated app launch
* fix enabling/disabling of advanced options for UEFI/exFAT
* test for >4GB files for UEFI
* fix warning with freopen
2013-02-04 23:15:11 +00:00
Pete Batard d2e7e003c3 [efi] check for 7-zip path in HKLM
* Closes #121
* Also update registry handling
* Issues reported by Ronny Kalusniok
2013-02-02 16:57:46 +00:00
Pete Batard bba1772940 [misc] refactoring and cleanup - part 1
* add stdfn.c and move the relevant standard calls there
* move most of GetDriveInfo() to drive.c
* rename IDC_DOS/hDos to IDC_BOOT/hBoot
2013-01-24 21:30:11 +00:00
Pete Batard 8ff8b41273 [misc] set rufus-next to 1.3.2
* Also fixed a couple Clang, MSVC Analyzer and MinGW64 warnings
2013-01-20 23:34:13 +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 d01749004c [ui] disable initial update policy prompt if executable is called "rufus.exe" 2012-12-16 22:42:30 +00:00
Pete Batard 303f35d5f1 [ui] improve check for updates
* Update policy
* Better status report
* Better UI handling
2012-12-16 00:29:37 +00:00
Pete Batard e8d4ca9785 [ui] disable "Check Now" on initial settings dialog 2012-12-09 21:17:17 +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 2d53ea10ac [net] Check for application update (part 8)
* Closes #102
* Add beta channel check
* Add version and min platform checks
* Also fixes update settings not reflecting the registry
2012-12-07 00:54:40 +00:00
Pete Batard b315805fa4 [ui] Almost there: Check for application update (part 7)
* Add an abort during download
* Add automated launching of the new version
* Make DownloadFile() more generic with regards to progress indicators
2012-12-06 01:40:44 +00:00
Pete Batard 25e999ded9 [ui] Why, it's the check for application update (part 6)
* Use TortoiseGit inspired notification and download dialog
2012-12-05 01:53:10 +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 eed0b78ff0 [net] Check for application update (part 4)
* Also improve Windows version check
2012-12-02 03:50:08 +00:00
Pete Batard 8506e47fd3 [misc] fix Clang warnings 2012-11-30 00:18:28 +00:00
Pete Batard f1929d7014 [ui] factorize code and remove unused one
* Merge Notification and Question
* Remove bold and url related workarounds
* also switch some files to UTF-8
2012-11-29 23:14:36 +00:00
Pete Batard 454010c27c [ui] use richedit for about dialog and other improvements
* Add template for updates policy and settings
2012-11-29 02:59:52 +00:00
Pete Batard bc01064678 [ui] enable automatic hyperlinks in the copyrights section
* Use a RichEdit control with EM_AUTOURLDETECT
2012-11-08 20:36:48 +00:00
Pete Batard 8dc5429d9f [misc] various small improvements
* Less scary message from bad blocks
* Better error report for read/write_sectors
* Fix a WDK warning
2012-11-03 17:22:28 +00:00