Commit Graph

34 Commits

Author SHA1 Message Date
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 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 9aea069f84
[misc] update autotools support files 2021-03-25 23:57:34 +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 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 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 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 8a491e9877 [misc] update Clang solution for VS2017 2017-03-09 12:37:53 +01: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 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 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 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 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 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 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 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 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 e661eff9ae [syslinux] silence a MinGW warning in libfat
* Also fix a typo in ChangeLog.txt
2013-07-18 00:10:29 +01:00
Pete Batard 0938c56fdc [syslinux] fix crash when installing syslinux on large drives
* The check for minfatsize seems erroneous, and libfat_open()
  errors weren't checked in syslinux.c anyway
* Closes #156
2013-07-05 22:26:47 +01:00
Pete Batard ae43dfd721 [misc] switch to VS2012 2013-01-07 01:50:51 +00: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 013db6a6d8 [msvc] update solution files and add missing config.h 2012-01-31 17:39:54 +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
Pete Batard b6252a913a [sl] syslinux support (MinGW)
* also fixes memory leak in syslinux.c
* closes #31
2012-01-12 11:05:09 +00:00
Pete Batard acf7d072b0 [sl] syslinux support (EXPERIMENTAL)
* MS platforms only (*BREAKS* MinGW)
2012-01-12 02:52:40 +00:00