Commit Graph

51 Commits

Author SHA1 Message Date
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 c28f9bc491
[misc] fix PVS-Studio warnings 2022-01-05 12:57:26 +01: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 9aea069f84
[misc] update autotools support files 2021-03-25 23:57:34 +00:00
Pete Batard 09fb7cd9b4
[iso] update libcdio to latest 2020-06-17 19:24:57 +01:00
Pete Batard 77d319267f
[iso] add Rock Ridge deep directory support
* Closes #1526
2020-06-02 11:13:47 +01:00
Pete Batard dcc4463273
[iso] update libcdio to latest 2020-05-24 21:09:28 +01:00
David Stumph 3c9acb0d3c
[misc] use $(srcdir) in Makefiles
* Picked from #1449
2020-02-10 12:08:04 +00:00
Pete Batard 6275c5b724 fix MinGW-w64 warnings 2018-09-03 13:41:29 +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 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
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
Pete Batard c5f4e5a2ee [misc] drop Clang support and move VS2017 project files to .vs 2017-11-11 15:41:04 +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 44c9cb0b82 [iso] add support for ISO9660 multiextent files
* Closes #1007
2017-09-14 17:36:54 +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 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 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
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 3d1b3bac40 [misc] update project files to VS2017 2017-05-12 12:08:17 +01:00
Pete Batard 55b7d5c2da [misc] code cleanup
* Also fix WDK compilation issues
2017-04-25 20:25:50 +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 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 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 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 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 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 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 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 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 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 6ff666bafb [iso] fix unwanted 'Unsupported NM flag settings' messages
* Closes #297
2014-03-13 22:02:49 +00:00
Pete Batard fcf16fed25 [iso] update libcdio to latest
* Also remove MSG_176 from English version
* Also perform additional cleanup and remove a Clang warning
* Closes #224
2013-11-23 22:09:39 +00:00
Pete Batard c544429606 [loc] use a single rufus.loc as translator base
* Remove the need to maintain a new_translation.loc
* Add a sed invocation to remove comments and unwanted stuff
  to generate a final embedded.loc
* Note: sed is only invoked for MinGW.
  MS compilers still embed the unmodified rufus.loc.
* Also fix a small bug when parsing the version.
2013-11-01 21:53:48 +00:00
Pete Batard cf3964c8a3 [iso] upgrade to libcdio latest
* This should fix #179
* Also bump rufus-next to v1.4.0
2013-10-14 00:31:20 +01:00
Pete Batard 0329404bf8 [iso] revert b184 ("relax ISO-9660 compliance")
* This was issue #90 and commit 261834e31f
* Unfortunately, the ArchLinux workaround breaks Windows XP installation
  so ArchLinux ISOs will have to fix their ISO9660 compliance themselves...
2013-01-09 22:45:45 +00:00
Pete Batard ae43dfd721 [misc] switch to VS2012 2013-01-07 01:50:51 +00:00
Pete Batard bf98a552da [iso] update libcdio to v0.90 2012-11-04 01:33:54 +00:00
Pete Batard 261834e31f [iso] relax ISO-9660 compliance
* Due to Arch Linux (archlinux-2012.08.04-dual.iso) - See #90
* It is still possible that this patch will have unwanted effect
  for ISO-9660 compliant images...
2012-08-16 01:55:08 +01:00
Pete Batard 51fb4e339f [freedos] Embed FreeDOS always in a single version of rufus.c
* also bump version to rufus-next
* also change build prefix from '#' to 'b' in tags
2012-03-28 19:50:21 +01: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 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 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 013db6a6d8 [msvc] update solution files and add missing config.h 2012-01-31 17:39:54 +00:00