mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	Compare commits
	
		
			3 commits
		
	
	
		
			3528ca773d
			...
			d029551929
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | d029551929 | ||
|  | 3194a4dac4 | ||
|  | e7b66e7e4c | 
					 30 changed files with 659 additions and 175 deletions
				
			
		
							
								
								
									
										31
									
								
								.mingw/Makefile.am
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								.mingw/Makefile.am
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,31 @@ | ||||||
|  | # Create delay-loaded libraries from a DLL, that aren't vulnerable to side-loading | ||||||
|  | AM_V_DLLTOOL_0 = @echo "  LIB      $@";$(DLLTOOL) | ||||||
|  | AM_V_DLLTOOL_1 = $(DLLTOOL) | ||||||
|  | AM_V_DLLTOOL_  = $(AM_V_DLLTOOL_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | AM_V_DLLTOOL   = $(AM_V_DLLTOOL_$(V)) | ||||||
|  | 
 | ||||||
|  | AM_V_SED_0     = @echo "  SED      $<";$(SED) | ||||||
|  | AM_V_SED_1     = $(SED) | ||||||
|  | AM_V_SED_      = $(AM_V_SED_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | AM_V_SED       = $(AM_V_SED_$(V)) | ||||||
|  | 
 | ||||||
|  | # Ah the joys of Windows DLL calling conventions, that require an @## suffix in the .def | ||||||
|  | # for x86_32 and but no @## for x86_64, thereby forcing us to strip stuff according to the | ||||||
|  | # target arch. Oh, and we can't use 'target_cpu' or AC definitions on account that we are | ||||||
|  | # switching archs when building on our local machine, and don't want to have to go though | ||||||
|  | # a costly reconf each time when we can simply issue a 'make clean'. | ||||||
|  | TUPLE         := $(shell $(CC) -dumpmachine) | ||||||
|  | TARGET        := $(word 1,$(subst -, ,$(TUPLE))) | ||||||
|  | DEF_SUFFIX    := $(if $(TARGET:x86_64=),.def,.def64) | ||||||
|  | 
 | ||||||
|  | .PHONY: all | ||||||
|  | all: dwmapi-delaylib.lib version-delaylib.lib wininet-delaylib.lib wintrust-delaylib.lib | ||||||
|  | 
 | ||||||
|  | %.def64: %.def | ||||||
|  | 	$(AM_V_SED) "s/@.*//" $< >$@ | ||||||
|  | 
 | ||||||
|  | %-delaylib.lib: %$(DEF_SUFFIX) | ||||||
|  | 	$(AM_V_DLLTOOL) --input-def $< --output-delaylib $@ --dllname $(basename $<).dll | ||||||
|  | 
 | ||||||
|  | clean: | ||||||
|  | 	$(RM) -rf *.lib | ||||||
							
								
								
									
										383
									
								
								.mingw/Makefile.in
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										383
									
								
								.mingw/Makefile.in
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,383 @@ | ||||||
|  | # Makefile.in generated by automake 1.14.1 from Makefile.am.
 | ||||||
|  | # @configure_input@
 | ||||||
|  | 
 | ||||||
|  | # Copyright (C) 1994-2013 Free Software Foundation, Inc.
 | ||||||
|  | 
 | ||||||
|  | # This Makefile.in is free software; the Free Software Foundation
 | ||||||
|  | # gives unlimited permission to copy and/or distribute it,
 | ||||||
|  | # with or without modifications, as long as this notice is preserved.
 | ||||||
|  | 
 | ||||||
|  | # This program is distributed in the hope that it will be useful,
 | ||||||
|  | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
 | ||||||
|  | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 | ||||||
|  | # PARTICULAR PURPOSE.
 | ||||||
|  | 
 | ||||||
|  | @SET_MAKE@ | ||||||
|  | VPATH = @srcdir@ | ||||||
|  | am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' | ||||||
|  | am__make_running_with_option = \
 | ||||||
|  |   case $${target_option-} in \
 | ||||||
|  |       ?) ;; \
 | ||||||
|  |       *) echo "am__make_running_with_option: internal error: invalid" \
 | ||||||
|  |               "target option '$${target_option-}' specified" >&2; \
 | ||||||
|  |          exit 1;; \
 | ||||||
|  |   esac; \
 | ||||||
|  |   has_opt=no; \
 | ||||||
|  |   sane_makeflags=$$MAKEFLAGS; \
 | ||||||
|  |   if $(am__is_gnu_make); then \
 | ||||||
|  |     sane_makeflags=$$MFLAGS; \
 | ||||||
|  |   else \
 | ||||||
|  |     case $$MAKEFLAGS in \
 | ||||||
|  |       *\\[\ \	]*) \
 | ||||||
|  |         bs=\\; \
 | ||||||
|  |         sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
 | ||||||
|  |           | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
 | ||||||
|  |     esac; \
 | ||||||
|  |   fi; \
 | ||||||
|  |   skip_next=no; \
 | ||||||
|  |   strip_trailopt () \
 | ||||||
|  |   { \
 | ||||||
|  |     flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
 | ||||||
|  |   }; \
 | ||||||
|  |   for flg in $$sane_makeflags; do \
 | ||||||
|  |     test $$skip_next = yes && { skip_next=no; continue; }; \
 | ||||||
|  |     case $$flg in \
 | ||||||
|  |       *=*|--*) continue;; \
 | ||||||
|  |         -*I) strip_trailopt 'I'; skip_next=yes;; \
 | ||||||
|  |       -*I?*) strip_trailopt 'I';; \
 | ||||||
|  |         -*O) strip_trailopt 'O'; skip_next=yes;; \
 | ||||||
|  |       -*O?*) strip_trailopt 'O';; \
 | ||||||
|  |         -*l) strip_trailopt 'l'; skip_next=yes;; \
 | ||||||
|  |       -*l?*) strip_trailopt 'l';; \
 | ||||||
|  |       -[dEDm]) skip_next=yes;; \
 | ||||||
|  |       -[JT]) skip_next=yes;; \
 | ||||||
|  |     esac; \
 | ||||||
|  |     case $$flg in \
 | ||||||
|  |       *$$target_option*) has_opt=yes; break;; \
 | ||||||
|  |     esac; \
 | ||||||
|  |   done; \
 | ||||||
|  |   test $$has_opt = yes | ||||||
|  | am__make_dryrun = (target_option=n; $(am__make_running_with_option)) | ||||||
|  | am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) | ||||||
|  | pkgdatadir = $(datadir)/@PACKAGE@ | ||||||
|  | pkgincludedir = $(includedir)/@PACKAGE@ | ||||||
|  | pkglibdir = $(libdir)/@PACKAGE@ | ||||||
|  | pkglibexecdir = $(libexecdir)/@PACKAGE@ | ||||||
|  | am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd | ||||||
|  | install_sh_DATA = $(install_sh) -c -m 644 | ||||||
|  | install_sh_PROGRAM = $(install_sh) -c | ||||||
|  | install_sh_SCRIPT = $(install_sh) -c | ||||||
|  | INSTALL_HEADER = $(INSTALL_DATA) | ||||||
|  | transform = $(program_transform_name) | ||||||
|  | NORMAL_INSTALL = : | ||||||
|  | PRE_INSTALL = : | ||||||
|  | POST_INSTALL = : | ||||||
|  | NORMAL_UNINSTALL = : | ||||||
|  | PRE_UNINSTALL = : | ||||||
|  | POST_UNINSTALL = : | ||||||
|  | subdir = .mingw | ||||||
|  | DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am | ||||||
|  | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||||||
|  | am__aclocal_m4_deps = $(top_srcdir)/configure.ac | ||||||
|  | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 | ||||||
|  | 	$(ACLOCAL_M4) | ||||||
|  | mkinstalldirs = $(install_sh) -d | ||||||
|  | CONFIG_CLEAN_FILES = | ||||||
|  | CONFIG_CLEAN_VPATH_FILES = | ||||||
|  | AM_V_P = $(am__v_P_@AM_V@) | ||||||
|  | am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) | ||||||
|  | am__v_P_0 = false | ||||||
|  | am__v_P_1 = : | ||||||
|  | AM_V_GEN = $(am__v_GEN_@AM_V@) | ||||||
|  | am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) | ||||||
|  | am__v_GEN_0 = @echo "  GEN     " $@; | ||||||
|  | am__v_GEN_1 =  | ||||||
|  | AM_V_at = $(am__v_at_@AM_V@) | ||||||
|  | am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) | ||||||
|  | am__v_at_0 = @ | ||||||
|  | am__v_at_1 =  | ||||||
|  | depcomp = | ||||||
|  | am__depfiles_maybe = | ||||||
|  | SOURCES = | ||||||
|  | am__can_run_installinfo = \
 | ||||||
|  |   case $$AM_UPDATE_INFO_DIR in \
 | ||||||
|  |     n|no|NO) false;; \
 | ||||||
|  |     *) (install-info --version) >/dev/null 2>&1;; \
 | ||||||
|  |   esac | ||||||
|  | am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) | ||||||
|  | ACLOCAL = @ACLOCAL@ | ||||||
|  | AMTAR = @AMTAR@ | ||||||
|  | AM_CFLAGS = @AM_CFLAGS@ | ||||||
|  | AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ | ||||||
|  | AM_LDFLAGS = @AM_LDFLAGS@ | ||||||
|  | AR = @AR@ | ||||||
|  | AUTOCONF = @AUTOCONF@ | ||||||
|  | AUTOHEADER = @AUTOHEADER@ | ||||||
|  | AUTOMAKE = @AUTOMAKE@ | ||||||
|  | AWK = @AWK@ | ||||||
|  | CC = @CC@ | ||||||
|  | CFLAGS = @CFLAGS@ | ||||||
|  | CPPFLAGS = @CPPFLAGS@ | ||||||
|  | CYGPATH_W = @CYGPATH_W@ | ||||||
|  | DEFS = @DEFS@ | ||||||
|  | DLLTOOL = @DLLTOOL@ | ||||||
|  | ECHO_C = @ECHO_C@ | ||||||
|  | ECHO_N = @ECHO_N@ | ||||||
|  | ECHO_T = @ECHO_T@ | ||||||
|  | EXEEXT = @EXEEXT@ | ||||||
|  | INSTALL = @INSTALL@ | ||||||
|  | INSTALL_DATA = @INSTALL_DATA@ | ||||||
|  | INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||||||
|  | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||||||
|  | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||||||
|  | LDFLAGS = @LDFLAGS@ | ||||||
|  | LIBOBJS = @LIBOBJS@ | ||||||
|  | LIBS = @LIBS@ | ||||||
|  | LTLIBOBJS = @LTLIBOBJS@ | ||||||
|  | MAKEINFO = @MAKEINFO@ | ||||||
|  | MKDIR_P = @MKDIR_P@ | ||||||
|  | OBJEXT = @OBJEXT@ | ||||||
|  | PACKAGE = @PACKAGE@ | ||||||
|  | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ | ||||||
|  | PACKAGE_NAME = @PACKAGE_NAME@ | ||||||
|  | PACKAGE_STRING = @PACKAGE_STRING@ | ||||||
|  | PACKAGE_TARNAME = @PACKAGE_TARNAME@ | ||||||
|  | PACKAGE_URL = @PACKAGE_URL@ | ||||||
|  | PACKAGE_VERSION = @PACKAGE_VERSION@ | ||||||
|  | PATH_SEPARATOR = @PATH_SEPARATOR@ | ||||||
|  | RANLIB = @RANLIB@ | ||||||
|  | RM = @RM@ | ||||||
|  | SED = @SED@ | ||||||
|  | SET_MAKE = @SET_MAKE@ | ||||||
|  | SHELL = @SHELL@ | ||||||
|  | STRIP = @STRIP@ | ||||||
|  | SUFFIX = @SUFFIX@ | ||||||
|  | VERSION = @VERSION@ | ||||||
|  | VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@ | ||||||
|  | WINDRES = @WINDRES@ | ||||||
|  | abs_builddir = @abs_builddir@ | ||||||
|  | abs_srcdir = @abs_srcdir@ | ||||||
|  | abs_top_builddir = @abs_top_builddir@ | ||||||
|  | abs_top_srcdir = @abs_top_srcdir@ | ||||||
|  | ac_ct_CC = @ac_ct_CC@ | ||||||
|  | am__leading_dot = @am__leading_dot@ | ||||||
|  | am__tar = @am__tar@ | ||||||
|  | am__untar = @am__untar@ | ||||||
|  | bindir = @bindir@ | ||||||
|  | build_alias = @build_alias@ | ||||||
|  | builddir = @builddir@ | ||||||
|  | datadir = @datadir@ | ||||||
|  | datarootdir = @datarootdir@ | ||||||
|  | docdir = @docdir@ | ||||||
|  | dvidir = @dvidir@ | ||||||
|  | exec_prefix = @exec_prefix@ | ||||||
|  | host_alias = @host_alias@ | ||||||
|  | htmldir = @htmldir@ | ||||||
|  | includedir = @includedir@ | ||||||
|  | infodir = @infodir@ | ||||||
|  | install_sh = @install_sh@ | ||||||
|  | libdir = @libdir@ | ||||||
|  | libexecdir = @libexecdir@ | ||||||
|  | localedir = @localedir@ | ||||||
|  | localstatedir = @localstatedir@ | ||||||
|  | mandir = @mandir@ | ||||||
|  | mkdir_p = @mkdir_p@ | ||||||
|  | oldincludedir = @oldincludedir@ | ||||||
|  | pdfdir = @pdfdir@ | ||||||
|  | prefix = @prefix@ | ||||||
|  | program_transform_name = @program_transform_name@ | ||||||
|  | psdir = @psdir@ | ||||||
|  | runstatedir = @runstatedir@ | ||||||
|  | sbindir = @sbindir@ | ||||||
|  | sharedstatedir = @sharedstatedir@ | ||||||
|  | srcdir = @srcdir@ | ||||||
|  | sysconfdir = @sysconfdir@ | ||||||
|  | target_alias = @target_alias@ | ||||||
|  | top_build_prefix = @top_build_prefix@ | ||||||
|  | top_builddir = @top_builddir@ | ||||||
|  | top_srcdir = @top_srcdir@ | ||||||
|  | 
 | ||||||
|  | # Create delay-loaded libraries from a DLL, that aren't vulnerable to side-loading
 | ||||||
|  | AM_V_DLLTOOL_0 = @echo "  LIB      $@";$(DLLTOOL) | ||||||
|  | AM_V_DLLTOOL_1 = $(DLLTOOL) | ||||||
|  | AM_V_DLLTOOL_ = $(AM_V_DLLTOOL_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | AM_V_DLLTOOL = $(AM_V_DLLTOOL_$(V)) | ||||||
|  | AM_V_SED_0 = @echo "  SED      $<";$(SED) | ||||||
|  | AM_V_SED_1 = $(SED) | ||||||
|  | AM_V_SED_ = $(AM_V_SED_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | AM_V_SED = $(AM_V_SED_$(V)) | ||||||
|  | 
 | ||||||
|  | # Ah the joys of Windows DLL calling conventions, that require an @## suffix in the .def
 | ||||||
|  | # for x86_32 and but no @## for x86_64, thereby forcing us to strip stuff according to the
 | ||||||
|  | # target arch. Oh, and we can't use 'target_cpu' or AC definitions on account that we are
 | ||||||
|  | # switching archs when building on our local machine, and don't want to have to go though
 | ||||||
|  | # a costly reconf each time when we can simply issue a 'make clean'.
 | ||||||
|  | TUPLE := $(shell $(CC) -dumpmachine) | ||||||
|  | TARGET := $(word 1,$(subst -, ,$(TUPLE))) | ||||||
|  | DEF_SUFFIX := $(if $(TARGET:x86_64=),.def,.def64) | ||||||
|  | all: all-am | ||||||
|  | 
 | ||||||
|  | .SUFFIXES: | ||||||
|  | $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps) | ||||||
|  | 	@for dep in $?; do \
 | ||||||
|  | 	  case '$(am__configure_deps)' in \
 | ||||||
|  | 	    *$$dep*) \
 | ||||||
|  | 	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
 | ||||||
|  | 	        && { if test -f $@; then exit 0; else break; fi; }; \
 | ||||||
|  | 	      exit 1;; \
 | ||||||
|  | 	  esac; \
 | ||||||
|  | 	done; \
 | ||||||
|  | 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps .mingw/Makefile'; \
 | ||||||
|  | 	$(am__cd) $(top_srcdir) && \
 | ||||||
|  | 	  $(AUTOMAKE) --foreign --ignore-deps .mingw/Makefile | ||||||
|  | .PRECIOUS: Makefile | ||||||
|  | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status | ||||||
|  | 	@case '$?' in \
 | ||||||
|  | 	  *config.status*) \
 | ||||||
|  | 	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
 | ||||||
|  | 	  *) \
 | ||||||
|  | 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
 | ||||||
|  | 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
 | ||||||
|  | 	esac; | ||||||
|  | 
 | ||||||
|  | $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  | 
 | ||||||
|  | $(top_srcdir)/configure:  $(am__configure_deps) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  | $(ACLOCAL_M4):  $(am__aclocal_m4_deps) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  | $(am__aclocal_m4_deps): | ||||||
|  | tags TAGS: | ||||||
|  | 
 | ||||||
|  | ctags CTAGS: | ||||||
|  | 
 | ||||||
|  | cscope cscopelist: | ||||||
|  | 
 | ||||||
|  | check-am: all-am | ||||||
|  | check: check-am | ||||||
|  | all-am: Makefile | ||||||
|  | installdirs: | ||||||
|  | install: install-am | ||||||
|  | install-exec: install-exec-am | ||||||
|  | install-data: install-data-am | ||||||
|  | uninstall: uninstall-am | ||||||
|  | 
 | ||||||
|  | install-am: all-am | ||||||
|  | 	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am | ||||||
|  | 
 | ||||||
|  | installcheck: installcheck-am | ||||||
|  | install-strip: | ||||||
|  | 	if test -z '$(STRIP)'; then \
 | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
 | ||||||
|  | 	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
 | ||||||
|  | 	      install; \
 | ||||||
|  | 	else \
 | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
 | ||||||
|  | 	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
 | ||||||
|  | 	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
 | ||||||
|  | 	fi | ||||||
|  | mostlyclean-generic: | ||||||
|  | 
 | ||||||
|  | clean-generic: | ||||||
|  | 
 | ||||||
|  | distclean-generic: | ||||||
|  | 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) | ||||||
|  | 	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) | ||||||
|  | 
 | ||||||
|  | maintainer-clean-generic: | ||||||
|  | 	@echo "This command is intended for maintainers to use" | ||||||
|  | 	@echo "it deletes files that may require special tools to rebuild." | ||||||
|  | clean-am: clean-generic mostlyclean-am | ||||||
|  | 
 | ||||||
|  | distclean: distclean-am | ||||||
|  | 	-rm -f Makefile | ||||||
|  | distclean-am: clean-am distclean-generic | ||||||
|  | 
 | ||||||
|  | dvi: dvi-am | ||||||
|  | 
 | ||||||
|  | dvi-am: | ||||||
|  | 
 | ||||||
|  | html: html-am | ||||||
|  | 
 | ||||||
|  | html-am: | ||||||
|  | 
 | ||||||
|  | info: info-am | ||||||
|  | 
 | ||||||
|  | info-am: | ||||||
|  | 
 | ||||||
|  | install-data-am: | ||||||
|  | 
 | ||||||
|  | install-dvi: install-dvi-am | ||||||
|  | 
 | ||||||
|  | install-dvi-am: | ||||||
|  | 
 | ||||||
|  | install-exec-am: | ||||||
|  | 
 | ||||||
|  | install-html: install-html-am | ||||||
|  | 
 | ||||||
|  | install-html-am: | ||||||
|  | 
 | ||||||
|  | install-info: install-info-am | ||||||
|  | 
 | ||||||
|  | install-info-am: | ||||||
|  | 
 | ||||||
|  | install-man: | ||||||
|  | 
 | ||||||
|  | install-pdf: install-pdf-am | ||||||
|  | 
 | ||||||
|  | install-pdf-am: | ||||||
|  | 
 | ||||||
|  | install-ps: install-ps-am | ||||||
|  | 
 | ||||||
|  | install-ps-am: | ||||||
|  | 
 | ||||||
|  | installcheck-am: | ||||||
|  | 
 | ||||||
|  | maintainer-clean: maintainer-clean-am | ||||||
|  | 	-rm -f Makefile | ||||||
|  | maintainer-clean-am: distclean-am maintainer-clean-generic | ||||||
|  | 
 | ||||||
|  | mostlyclean: mostlyclean-am | ||||||
|  | 
 | ||||||
|  | mostlyclean-am: mostlyclean-generic | ||||||
|  | 
 | ||||||
|  | pdf: pdf-am | ||||||
|  | 
 | ||||||
|  | pdf-am: | ||||||
|  | 
 | ||||||
|  | ps: ps-am | ||||||
|  | 
 | ||||||
|  | ps-am: | ||||||
|  | 
 | ||||||
|  | uninstall-am: | ||||||
|  | 
 | ||||||
|  | .MAKE: install-am install-strip | ||||||
|  | 
 | ||||||
|  | .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ | ||||||
|  | 	ctags-am distclean distclean-generic dvi dvi-am html html-am \
 | ||||||
|  | 	info info-am install install-am install-data install-data-am \
 | ||||||
|  | 	install-dvi install-dvi-am install-exec install-exec-am \
 | ||||||
|  | 	install-html install-html-am install-info install-info-am \
 | ||||||
|  | 	install-man install-pdf install-pdf-am install-ps \
 | ||||||
|  | 	install-ps-am install-strip installcheck installcheck-am \
 | ||||||
|  | 	installdirs maintainer-clean maintainer-clean-generic \
 | ||||||
|  | 	mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags-am \
 | ||||||
|  | 	uninstall uninstall-am | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .PHONY: all | ||||||
|  | all: dwmapi-delaylib.lib version-delaylib.lib wininet-delaylib.lib wintrust-delaylib.lib | ||||||
|  | 
 | ||||||
|  | %.def64: %.def | ||||||
|  | 	$(AM_V_SED) "s/@.*//" $< >$@ | ||||||
|  | 
 | ||||||
|  | %-delaylib.lib: %$(DEF_SUFFIX) | ||||||
|  | 	$(AM_V_DLLTOOL) --input-def $< --output-delaylib $@ --dllname $(basename $<).dll | ||||||
|  | 
 | ||||||
|  | clean: | ||||||
|  | 	$(RM) -rf *.lib | ||||||
|  | 
 | ||||||
|  | # Tell versions [3.59,3.63) of GNU make to not export all variables.
 | ||||||
|  | # Otherwise a system limit (for SysV at least) may be exceeded.
 | ||||||
|  | .NOEXPORT: | ||||||
							
								
								
									
										2
									
								
								.mingw/dwmapi.def
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.mingw/dwmapi.def
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | EXPORTS | ||||||
|  |   DwmGetWindowAttribute@16 | ||||||
							
								
								
									
										4
									
								
								.mingw/version.def
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.mingw/version.def
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | ||||||
|  | EXPORTS | ||||||
|  |   GetFileVersionInfoW@16 | ||||||
|  |   GetFileVersionInfoSizeW@8 | ||||||
|  |   VerQueryValueA@16 | ||||||
							
								
								
									
										13
									
								
								.mingw/wininet.def
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								.mingw/wininet.def
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,13 @@ | ||||||
|  | EXPORTS | ||||||
|  |   HttpQueryInfoA@20 | ||||||
|  |   HttpOpenRequestA@32 | ||||||
|  |   HttpSendRequestA@20 | ||||||
|  |   InternetCloseHandle@4 | ||||||
|  |   InternetConnectA@32 | ||||||
|  |   InternetCrackUrlA@16 | ||||||
|  |   InternetGetConnectedState@8 | ||||||
|  |   InternetGetLastResponseInfoA@12 | ||||||
|  |   InternetOpenA@20 | ||||||
|  |   InternetReadFile@16 | ||||||
|  |   InternetSetOptionA@16 | ||||||
|  | 
 | ||||||
							
								
								
									
										2
									
								
								.mingw/wintrust.def
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.mingw/wintrust.def
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | EXPORTS | ||||||
|  |   WinVerifyTrustEx@12 | ||||||
|  | @ -133,12 +133,12 @@ | ||||||
|       <AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions> |       <AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|     <Link> |     <Link> | ||||||
|       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies> |       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;wintrust.lib;version.lib;wininet.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> |       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> | ||||||
|       <GenerateDebugInformation>true</GenerateDebugInformation> |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|       <SubSystem>Windows</SubSystem> |       <SubSystem>Windows</SubSystem> | ||||||
|       <TargetMachine>MachineX86</TargetMachine> |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;setupapi.dll;shell32.dll;shlwapi.dll;%(DelayLoadDLLs)</DelayLoadDLLs> |       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;wintrust.dll;version.dll;wininet.dll;%(DelayLoadDLLs)</DelayLoadDLLs> | ||||||
|     </Link> |     </Link> | ||||||
|     <ResourceCompile> |     <ResourceCompile> | ||||||
|       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> |       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  | @ -158,12 +158,12 @@ | ||||||
|       <AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions> |       <AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|     <Link> |     <Link> | ||||||
|       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies> |       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;wintrust.lib;version.lib;wininet.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> |       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> | ||||||
|       <GenerateDebugInformation>true</GenerateDebugInformation> |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|       <SubSystem>Windows</SubSystem> |       <SubSystem>Windows</SubSystem> | ||||||
|       <AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\um\arm</AdditionalLibraryDirectories> |       <AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\um\arm</AdditionalLibraryDirectories> | ||||||
|       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;setupapi.dll;shell32.dll;shlwapi.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> |       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;wintrust.dll;version.dll;wininet.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> | ||||||
|     </Link> |     </Link> | ||||||
|     <ResourceCompile> |     <ResourceCompile> | ||||||
|       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> |       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  | @ -185,12 +185,12 @@ | ||||||
|       <AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions> |       <AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|     <Link> |     <Link> | ||||||
|       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies> |       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;wintrust.lib;version.lib;wininet.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> |       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> | ||||||
|       <GenerateDebugInformation>true</GenerateDebugInformation> |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|       <SubSystem>Windows</SubSystem> |       <SubSystem>Windows</SubSystem> | ||||||
|       <AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\arm64</AdditionalLibraryDirectories> |       <AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\arm64</AdditionalLibraryDirectories> | ||||||
|       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;setupapi.dll;shell32.dll;shlwapi.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> |       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;wintrust.dll;version.dll;wininet.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> | ||||||
|     </Link> |     </Link> | ||||||
|     <ResourceCompile> |     <ResourceCompile> | ||||||
|       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> |       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  | @ -217,12 +217,12 @@ | ||||||
|       <AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions> |       <AdditionalOptions>/utf-8 $(ExternalCompilerOptions) %(AdditionalOptions)</AdditionalOptions> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|     <Link> |     <Link> | ||||||
|       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies> |       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;wintrust.lib;version.lib;wininet.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> |       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> | ||||||
|       <GenerateDebugInformation>true</GenerateDebugInformation> |       <GenerateDebugInformation>true</GenerateDebugInformation> | ||||||
|       <SubSystem>Windows</SubSystem> |       <SubSystem>Windows</SubSystem> | ||||||
|       <TargetMachine>MachineX64</TargetMachine> |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;setupapi.dll;shell32.dll;shlwapi.dll;%(DelayLoadDLLs)</DelayLoadDLLs> |       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;wintrust.dll;version.dll;wininet.dll;%(DelayLoadDLLs)</DelayLoadDLLs> | ||||||
|     </Link> |     </Link> | ||||||
|     <ResourceCompile> |     <ResourceCompile> | ||||||
|       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> |       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  | @ -244,13 +244,13 @@ | ||||||
|       <StringPooling>true</StringPooling> |       <StringPooling>true</StringPooling> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|     <Link> |     <Link> | ||||||
|       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies> |       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;wintrust.lib;version.lib;wininet.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> |       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> | ||||||
|       <GenerateDebugInformation>false</GenerateDebugInformation> |       <GenerateDebugInformation>false</GenerateDebugInformation> | ||||||
|       <SubSystem>Windows</SubSystem> |       <SubSystem>Windows</SubSystem> | ||||||
|       <TargetMachine>MachineX86</TargetMachine> |       <TargetMachine>MachineX86</TargetMachine> | ||||||
|       <AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions> |       <AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions> | ||||||
|       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;setupapi.dll;shell32.dll;shlwapi.dll;%(DelayLoadDLLs)</DelayLoadDLLs> |       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;wintrust.dll;version.dll;wininet.dll;%(DelayLoadDLLs)</DelayLoadDLLs> | ||||||
|     </Link> |     </Link> | ||||||
|     <ResourceCompile> |     <ResourceCompile> | ||||||
|       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> |       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  | @ -272,13 +272,13 @@ | ||||||
|       <StringPooling>true</StringPooling> |       <StringPooling>true</StringPooling> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|     <Link> |     <Link> | ||||||
|       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies> |       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;wintrust.lib;version.lib;wininet.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> |       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> | ||||||
|       <GenerateDebugInformation>false</GenerateDebugInformation> |       <GenerateDebugInformation>false</GenerateDebugInformation> | ||||||
|       <SubSystem>Windows</SubSystem> |       <SubSystem>Windows</SubSystem> | ||||||
|       <AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\um\arm</AdditionalLibraryDirectories> |       <AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\um\arm</AdditionalLibraryDirectories> | ||||||
|       <AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions> |       <AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions> | ||||||
|       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;setupapi.dll;shell32.dll;shlwapi.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> |       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;wintrust.dll;version.dll;wininet.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> | ||||||
|     </Link> |     </Link> | ||||||
|     <ResourceCompile> |     <ResourceCompile> | ||||||
|       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> |       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  | @ -302,13 +302,13 @@ | ||||||
|       <StringPooling>true</StringPooling> |       <StringPooling>true</StringPooling> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|     <Link> |     <Link> | ||||||
|       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies> |       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;wintrust.lib;version.lib;wininet.lib;ole32.lib;advapi32.lib;gdi32.lib;shell32.lib;comdlg32.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> |       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> | ||||||
|       <GenerateDebugInformation>false</GenerateDebugInformation> |       <GenerateDebugInformation>false</GenerateDebugInformation> | ||||||
|       <SubSystem>Windows</SubSystem> |       <SubSystem>Windows</SubSystem> | ||||||
|       <AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\arm64</AdditionalLibraryDirectories> |       <AdditionalLibraryDirectories>C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\arm64</AdditionalLibraryDirectories> | ||||||
|       <AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions> |       <AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions> | ||||||
|       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;setupapi.dll;shell32.dll;shlwapi.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> |       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;wintrust.dll;version.dll;wininet.dll;ole32.dll;advapi32.dll;gdi32.dll;shell32.dll;comdlg32.dll;%(DelayLoadDLLs)</DelayLoadDLLs> | ||||||
|     </Link> |     </Link> | ||||||
|     <ResourceCompile> |     <ResourceCompile> | ||||||
|       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> |       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  | @ -335,13 +335,13 @@ | ||||||
|       <StringPooling>true</StringPooling> |       <StringPooling>true</StringPooling> | ||||||
|     </ClCompile> |     </ClCompile> | ||||||
|     <Link> |     <Link> | ||||||
|       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;setupapi.lib;shell32.lib;shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies> |       <AdditionalDependencies>advapi32.lib;comctl32.lib;comdlg32.lib;crypt32.lib;gdi32.lib;ole32.lib;dwmapi.lib;setupapi.lib;shell32.lib;shlwapi.lib;wintrust.lib;version.lib;wininet.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||||||
|       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> |       <UACExecutionLevel>RequireAdministrator</UACExecutionLevel> | ||||||
|       <GenerateDebugInformation>false</GenerateDebugInformation> |       <GenerateDebugInformation>false</GenerateDebugInformation> | ||||||
|       <SubSystem>Windows</SubSystem> |       <SubSystem>Windows</SubSystem> | ||||||
|       <TargetMachine>MachineX64</TargetMachine> |       <TargetMachine>MachineX64</TargetMachine> | ||||||
|       <AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions> |       <AdditionalOptions>/BREPRO %(AdditionalOptions)</AdditionalOptions> | ||||||
|       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;setupapi.dll;shell32.dll;shlwapi.dll;%(DelayLoadDLLs)</DelayLoadDLLs> |       <DelayLoadDLLs>advapi32.dll;comctl32.dll;comdlg32.dll;crypt32.dll;gdi32.dll;ole32.dll;dwmapi.dll;setupapi.dll;shell32.dll;shlwapi.dll;wintrust.dll;version.dll;wininet.dll;%(DelayLoadDLLs)</DelayLoadDLLs> | ||||||
|     </Link> |     </Link> | ||||||
|     <ResourceCompile> |     <ResourceCompile> | ||||||
|       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> |       <PreprocessorDefinitions>_UNICODE;UNICODE;RUFUS_LOC;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||||
|  |  | ||||||
|  | @ -159,6 +159,7 @@ CFLAGS = @CFLAGS@ | ||||||
| CPPFLAGS = @CPPFLAGS@ | CPPFLAGS = @CPPFLAGS@ | ||||||
| CYGPATH_W = @CYGPATH_W@ | CYGPATH_W = @CYGPATH_W@ | ||||||
| DEFS = @DEFS@ | DEFS = @DEFS@ | ||||||
|  | DLLTOOL = @DLLTOOL@ | ||||||
| ECHO_C = @ECHO_C@ | ECHO_C = @ECHO_C@ | ||||||
| ECHO_N = @ECHO_N@ | ECHO_N = @ECHO_N@ | ||||||
| ECHO_T = @ECHO_T@ | ECHO_T = @ECHO_T@ | ||||||
|  |  | ||||||
							
								
								
									
										110
									
								
								configure
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										110
									
								
								configure
									
										
									
									
										vendored
									
									
								
							|  | @ -626,6 +626,7 @@ AM_LDFLAGS | ||||||
| AM_CFLAGS | AM_CFLAGS | ||||||
| VISIBILITY_CFLAGS | VISIBILITY_CFLAGS | ||||||
| WINDRES | WINDRES | ||||||
|  | DLLTOOL | ||||||
| RM | RM | ||||||
| SED | SED | ||||||
| RANLIB | RANLIB | ||||||
|  | @ -4283,6 +4284,108 @@ printf "%s\n" "no" >&6; } | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | if test -n "$ac_tool_prefix"; then | ||||||
|  |   # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. | ||||||
|  | set dummy ${ac_tool_prefix}dlltool; ac_word=$2 | ||||||
|  | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||||||
|  | printf %s "checking for $ac_word... " >&6; } | ||||||
|  | if test ${ac_cv_prog_DLLTOOL+y} | ||||||
|  | then : | ||||||
|  |   printf %s "(cached) " >&6 | ||||||
|  | else $as_nop | ||||||
|  |   if test -n "$DLLTOOL"; then | ||||||
|  |   ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. | ||||||
|  | else | ||||||
|  | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||||||
|  | for as_dir in $PATH | ||||||
|  | do | ||||||
|  |   IFS=$as_save_IFS | ||||||
|  |   case $as_dir in #((( | ||||||
|  |     '') as_dir=./ ;; | ||||||
|  |     */) ;; | ||||||
|  |     *) as_dir=$as_dir/ ;; | ||||||
|  |   esac | ||||||
|  |     for ac_exec_ext in '' $ac_executable_extensions; do | ||||||
|  |   if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then | ||||||
|  |     ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" | ||||||
|  |     printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 | ||||||
|  |     break 2 | ||||||
|  |   fi | ||||||
|  | done | ||||||
|  |   done | ||||||
|  | IFS=$as_save_IFS | ||||||
|  | 
 | ||||||
|  | fi | ||||||
|  | fi | ||||||
|  | DLLTOOL=$ac_cv_prog_DLLTOOL | ||||||
|  | if test -n "$DLLTOOL"; then | ||||||
|  |   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 | ||||||
|  | printf "%s\n" "$DLLTOOL" >&6; } | ||||||
|  | else | ||||||
|  |   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||||||
|  | printf "%s\n" "no" >&6; } | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | fi | ||||||
|  | if test -z "$ac_cv_prog_DLLTOOL"; then | ||||||
|  |   ac_ct_DLLTOOL=$DLLTOOL | ||||||
|  |   # Extract the first word of "dlltool", so it can be a program name with args. | ||||||
|  | set dummy dlltool; ac_word=$2 | ||||||
|  | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 | ||||||
|  | printf %s "checking for $ac_word... " >&6; } | ||||||
|  | if test ${ac_cv_prog_ac_ct_DLLTOOL+y} | ||||||
|  | then : | ||||||
|  |   printf %s "(cached) " >&6 | ||||||
|  | else $as_nop | ||||||
|  |   if test -n "$ac_ct_DLLTOOL"; then | ||||||
|  |   ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. | ||||||
|  | else | ||||||
|  | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||||||
|  | for as_dir in $PATH | ||||||
|  | do | ||||||
|  |   IFS=$as_save_IFS | ||||||
|  |   case $as_dir in #((( | ||||||
|  |     '') as_dir=./ ;; | ||||||
|  |     */) ;; | ||||||
|  |     *) as_dir=$as_dir/ ;; | ||||||
|  |   esac | ||||||
|  |     for ac_exec_ext in '' $ac_executable_extensions; do | ||||||
|  |   if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then | ||||||
|  |     ac_cv_prog_ac_ct_DLLTOOL="dlltool" | ||||||
|  |     printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 | ||||||
|  |     break 2 | ||||||
|  |   fi | ||||||
|  | done | ||||||
|  |   done | ||||||
|  | IFS=$as_save_IFS | ||||||
|  | 
 | ||||||
|  | fi | ||||||
|  | fi | ||||||
|  | ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL | ||||||
|  | if test -n "$ac_ct_DLLTOOL"; then | ||||||
|  |   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 | ||||||
|  | printf "%s\n" "$ac_ct_DLLTOOL" >&6; } | ||||||
|  | else | ||||||
|  |   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||||||
|  | printf "%s\n" "no" >&6; } | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  |   if test "x$ac_ct_DLLTOOL" = x; then | ||||||
|  |     DLLTOOL=":" | ||||||
|  |   else | ||||||
|  |     case $cross_compiling:$ac_tool_warned in | ||||||
|  | yes:) | ||||||
|  | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 | ||||||
|  | printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | ||||||
|  | ac_tool_warned=yes ;; | ||||||
|  | esac | ||||||
|  |     DLLTOOL=$ac_ct_DLLTOOL | ||||||
|  |   fi | ||||||
|  | else | ||||||
|  |   DLLTOOL="$ac_cv_prog_DLLTOOL" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
| if test -n "$ac_tool_prefix"; then | if test -n "$ac_tool_prefix"; then | ||||||
|   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. |   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. | ||||||
| set dummy ${ac_tool_prefix}strip; ac_word=$2 | set dummy ${ac_tool_prefix}strip; ac_word=$2 | ||||||
|  | @ -4371,7 +4474,7 @@ printf "%s\n" "no" >&6; } | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
|   if test "x$ac_ct_STRIP" = x; then |   if test "x$ac_ct_STRIP" = x; then | ||||||
|     STRIP="strip" |     STRIP=":" | ||||||
|   else |   else | ||||||
|     case $cross_compiling:$ac_tool_warned in |     case $cross_compiling:$ac_tool_warned in | ||||||
| yes:) | yes:) | ||||||
|  | @ -4473,7 +4576,7 @@ printf "%s\n" "no" >&6; } | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
|   if test "x$ac_ct_WINDRES" = x; then |   if test "x$ac_ct_WINDRES" = x; then | ||||||
|     WINDRES="windres" |     WINDRES=":" | ||||||
|   else |   else | ||||||
|     case $cross_compiling:$ac_tool_warned in |     case $cross_compiling:$ac_tool_warned in | ||||||
| yes:) | yes:) | ||||||
|  | @ -4632,6 +4735,8 @@ AM_CFLAGS="$AM_CFLAGS -DUNICODE -D_UNICODE -UNDEBUG -DCOBJMACROS -D__USE_MINGW_A | ||||||
| 
 | 
 | ||||||
| ac_config_files="$ac_config_files Makefile" | ac_config_files="$ac_config_files Makefile" | ||||||
| 
 | 
 | ||||||
|  | ac_config_files="$ac_config_files .mingw/Makefile" | ||||||
|  | 
 | ||||||
| ac_config_files="$ac_config_files src/Makefile" | ac_config_files="$ac_config_files src/Makefile" | ||||||
| 
 | 
 | ||||||
| ac_config_files="$ac_config_files src/bled/Makefile" | ac_config_files="$ac_config_files src/bled/Makefile" | ||||||
|  | @ -5375,6 +5480,7 @@ for ac_config_target in $ac_config_targets | ||||||
| do | do | ||||||
|   case $ac_config_target in |   case $ac_config_target in | ||||||
|     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; |     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; | ||||||
|  |     ".mingw/Makefile") CONFIG_FILES="$CONFIG_FILES .mingw/Makefile" ;; | ||||||
|     "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; |     "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; | ||||||
|     "src/bled/Makefile") CONFIG_FILES="$CONFIG_FILES src/bled/Makefile" ;; |     "src/bled/Makefile") CONFIG_FILES="$CONFIG_FILES src/bled/Makefile" ;; | ||||||
|     "src/ext2fs/Makefile") CONFIG_FILES="$CONFIG_FILES src/ext2fs/Makefile" ;; |     "src/ext2fs/Makefile") CONFIG_FILES="$CONFIG_FILES src/ext2fs/Makefile" ;; | ||||||
|  |  | ||||||
|  | @ -12,8 +12,9 @@ AC_PROG_AR | ||||||
| AC_PROG_RANLIB | AC_PROG_RANLIB | ||||||
| AC_PROG_SED | AC_PROG_SED | ||||||
| AC_PATH_PROG(RM, rm, rm) | AC_PATH_PROG(RM, rm, rm) | ||||||
| AC_CHECK_TOOL(STRIP, strip, strip) | AC_CHECK_TOOL(DLLTOOL, dlltool, :) | ||||||
| AC_CHECK_TOOL(WINDRES, windres, windres) | AC_CHECK_TOOL(STRIP, strip, :) | ||||||
|  | AC_CHECK_TOOL(WINDRES, windres, :) | ||||||
| AC_C_INLINE | AC_C_INLINE | ||||||
| AC_DEFINE([_GNU_SOURCE], [], [Use GNU extensions]) | AC_DEFINE([_GNU_SOURCE], [], [Use GNU extensions]) | ||||||
| 
 | 
 | ||||||
|  | @ -71,6 +72,7 @@ AC_SUBST([AM_LDFLAGS]) | ||||||
| AC_SUBST([SUFFIX]) | AC_SUBST([SUFFIX]) | ||||||
| 
 | 
 | ||||||
| AC_CONFIG_FILES([Makefile]) | AC_CONFIG_FILES([Makefile]) | ||||||
|  | AC_CONFIG_FILES([.mingw/Makefile]) | ||||||
| AC_CONFIG_FILES([src/Makefile]) | AC_CONFIG_FILES([src/Makefile]) | ||||||
| AC_CONFIG_FILES([src/bled/Makefile]) | AC_CONFIG_FILES([src/bled/Makefile]) | ||||||
| AC_CONFIG_FILES([src/ext2fs/Makefile]) | AC_CONFIG_FILES([src/ext2fs/Makefile]) | ||||||
|  |  | ||||||
|  | @ -123,6 +123,7 @@ CFLAGS = @CFLAGS@ | ||||||
| CPPFLAGS = @CPPFLAGS@ | CPPFLAGS = @CPPFLAGS@ | ||||||
| CYGPATH_W = @CYGPATH_W@ | CYGPATH_W = @CYGPATH_W@ | ||||||
| DEFS = @DEFS@ | DEFS = @DEFS@ | ||||||
|  | DLLTOOL = @DLLTOOL@ | ||||||
| ECHO_C = @ECHO_C@ | ECHO_C = @ECHO_C@ | ||||||
| ECHO_N = @ECHO_N@ | ECHO_N = @ECHO_N@ | ||||||
| ECHO_T = @ECHO_T@ | ECHO_T = @ECHO_T@ | ||||||
|  |  | ||||||
|  | @ -1,4 +1,8 @@ | ||||||
| SUBDIRS = bled ext2fs ms-sys syslinux/libfat syslinux/libinstaller syslinux/win libcdio/iso9660 libcdio/udf libcdio/driver ../res/loc | SUBDIRS = ../.mingw bled ext2fs ms-sys syslinux/libfat syslinux/libinstaller syslinux/win libcdio/iso9660 libcdio/udf libcdio/driver ../res/loc | ||||||
|  | # As far as I can tell, the following libraries are *not* vulnerable to side-loading, so we link using their regular version: | ||||||
|  | NONVULNERABLE_LIBS = -lsetupapi -lole32 -lgdi32 -lshlwapi -lcrypt32 -lcomdlg32 -lcomctl32 -luuid | ||||||
|  | # The following libraries are vulnerable (or have an unknown vulnerability status), so we link using our delay-loaded replacement: | ||||||
|  | VULNERABLE_LIBS = -ldwmapi-delaylib -lversion-delaylib -lwininet-delaylib -lwintrust-delaylib | ||||||
| 
 | 
 | ||||||
| noinst_PROGRAMS = rufus | noinst_PROGRAMS = rufus | ||||||
| 
 | 
 | ||||||
|  | @ -14,7 +18,6 @@ rufus_SOURCES = badblocks.c checksum.c dev.c dos.c dos_locale.c drive.c format.c | ||||||
| 	net.c parser.c pki.c process.c re.c rufus.c smart.c stdfn.c stdio.c stdlg.c syslinux.c ui.c vhd.c | 	net.c parser.c pki.c process.c re.c rufus.c smart.c stdfn.c stdio.c stdlg.c syslinux.c ui.c vhd.c | ||||||
| rufus_CFLAGS = -I$(srcdir)/ms-sys/inc -I$(srcdir)/syslinux/libfat -I$(srcdir)/syslinux/libinstaller -I$(srcdir)/syslinux/win -I$(srcdir)/libcdio $(AM_CFLAGS) \ | rufus_CFLAGS = -I$(srcdir)/ms-sys/inc -I$(srcdir)/syslinux/libfat -I$(srcdir)/syslinux/libinstaller -I$(srcdir)/syslinux/win -I$(srcdir)/libcdio $(AM_CFLAGS) \ | ||||||
| 	-DEXT2_FLAT_INCLUDES=0 -DSOLUTION=rufus | 	-DEXT2_FLAT_INCLUDES=0 -DSOLUTION=rufus | ||||||
| rufus_LDFLAGS = $(AM_LDFLAGS) -mwindows | rufus_LDFLAGS = $(AM_LDFLAGS) -mwindows -L ../.mingw | ||||||
| # Note: Do not link with -lversion as this will results in DLL sideloading issue. See https://github.com/pbatard/rufus/pull/1838 |  | ||||||
| rufus_LDADD = rufus_rc.o bled/libbled.a ext2fs/libext2fs.a ms-sys/libmssys.a syslinux/libfat/libfat.a syslinux/libinstaller/libinstaller.a syslinux/win/libwin.a \ | rufus_LDADD = rufus_rc.o bled/libbled.a ext2fs/libext2fs.a ms-sys/libmssys.a syslinux/libfat/libfat.a syslinux/libinstaller/libinstaller.a syslinux/win/libwin.a \ | ||||||
| 	libcdio/iso9660/libiso9660.a libcdio/udf/libudf.a libcdio/driver/libdriver.a -lsetupapi -lole32 -lgdi32 -lshlwapi -lcrypt32 -lcomdlg32 -lcomctl32 -luuid -lpsapi | 	libcdio/iso9660/libiso9660.a libcdio/udf/libudf.a libcdio/driver/libdriver.a $(NONVULNERABLE_LIBS) $(VULNERABLE_LIBS) | ||||||
|  |  | ||||||
|  | @ -100,11 +100,13 @@ am_rufus_OBJECTS = rufus-badblocks.$(OBJEXT) rufus-checksum.$(OBJEXT) \ | ||||||
| 	rufus-stdlg.$(OBJEXT) rufus-syslinux.$(OBJEXT) \
 | 	rufus-stdlg.$(OBJEXT) rufus-syslinux.$(OBJEXT) \
 | ||||||
| 	rufus-ui.$(OBJEXT) rufus-vhd.$(OBJEXT) | 	rufus-ui.$(OBJEXT) rufus-vhd.$(OBJEXT) | ||||||
| rufus_OBJECTS = $(am_rufus_OBJECTS) | rufus_OBJECTS = $(am_rufus_OBJECTS) | ||||||
|  | am__DEPENDENCIES_1 = | ||||||
| rufus_DEPENDENCIES = rufus_rc.o bled/libbled.a ext2fs/libext2fs.a \
 | rufus_DEPENDENCIES = rufus_rc.o bled/libbled.a ext2fs/libext2fs.a \
 | ||||||
| 	ms-sys/libmssys.a syslinux/libfat/libfat.a \
 | 	ms-sys/libmssys.a syslinux/libfat/libfat.a \
 | ||||||
| 	syslinux/libinstaller/libinstaller.a syslinux/win/libwin.a \
 | 	syslinux/libinstaller/libinstaller.a syslinux/win/libwin.a \
 | ||||||
| 	libcdio/iso9660/libiso9660.a libcdio/udf/libudf.a \
 | 	libcdio/iso9660/libiso9660.a libcdio/udf/libudf.a \
 | ||||||
| 	libcdio/driver/libdriver.a | 	libcdio/driver/libdriver.a $(am__DEPENDENCIES_1) \
 | ||||||
|  | 	$(am__DEPENDENCIES_1) | ||||||
| rufus_LINK = $(CCLD) $(rufus_CFLAGS) $(CFLAGS) $(rufus_LDFLAGS) \
 | rufus_LINK = $(CCLD) $(rufus_CFLAGS) $(CFLAGS) $(rufus_LDFLAGS) \
 | ||||||
| 	$(LDFLAGS) -o $@ | 	$(LDFLAGS) -o $@ | ||||||
| AM_V_P = $(am__v_P_@AM_V@) | AM_V_P = $(am__v_P_@AM_V@) | ||||||
|  | @ -194,6 +196,7 @@ CFLAGS = @CFLAGS@ | ||||||
| CPPFLAGS = @CPPFLAGS@ | CPPFLAGS = @CPPFLAGS@ | ||||||
| CYGPATH_W = @CYGPATH_W@ | CYGPATH_W = @CYGPATH_W@ | ||||||
| DEFS = @DEFS@ | DEFS = @DEFS@ | ||||||
|  | DLLTOOL = @DLLTOOL@ | ||||||
| ECHO_C = @ECHO_C@ | ECHO_C = @ECHO_C@ | ||||||
| ECHO_N = @ECHO_N@ | ECHO_N = @ECHO_N@ | ||||||
| ECHO_T = @ECHO_T@ | ECHO_T = @ECHO_T@ | ||||||
|  | @ -269,7 +272,11 @@ target_alias = @target_alias@ | ||||||
| top_build_prefix = @top_build_prefix@ | top_build_prefix = @top_build_prefix@ | ||||||
| top_builddir = @top_builddir@ | top_builddir = @top_builddir@ | ||||||
| top_srcdir = @top_srcdir@ | top_srcdir = @top_srcdir@ | ||||||
| SUBDIRS = bled ext2fs ms-sys syslinux/libfat syslinux/libinstaller syslinux/win libcdio/iso9660 libcdio/udf libcdio/driver ../res/loc | SUBDIRS = ../.mingw bled ext2fs ms-sys syslinux/libfat syslinux/libinstaller syslinux/win libcdio/iso9660 libcdio/udf libcdio/driver ../res/loc | ||||||
|  | # As far as I can tell, the following libraries are *not* vulnerable to side-loading, so we link using their regular version:
 | ||||||
|  | NONVULNERABLE_LIBS = -lsetupapi -lole32 -lgdi32 -lshlwapi -lcrypt32 -lcomdlg32 -lcomctl32 -luuid | ||||||
|  | # The following libraries are vulnerable (or have an unknown vulnerability status), so we link using our delay-loaded replacement:
 | ||||||
|  | VULNERABLE_LIBS = -ldwmapi-delaylib -lversion-delaylib -lwininet-delaylib -lwintrust-delaylib | ||||||
| AM_V_WINDRES_0 = @echo "  RC     $@";$(WINDRES) | AM_V_WINDRES_0 = @echo "  RC     $@";$(WINDRES) | ||||||
| AM_V_WINDRES_1 = $(WINDRES) | AM_V_WINDRES_1 = $(WINDRES) | ||||||
| AM_V_WINDRES_ = $(AM_V_WINDRES_$(AM_DEFAULT_VERBOSITY)) | AM_V_WINDRES_ = $(AM_V_WINDRES_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | @ -280,10 +287,9 @@ rufus_SOURCES = badblocks.c checksum.c dev.c dos.c dos_locale.c drive.c format.c | ||||||
| rufus_CFLAGS = -I$(srcdir)/ms-sys/inc -I$(srcdir)/syslinux/libfat -I$(srcdir)/syslinux/libinstaller -I$(srcdir)/syslinux/win -I$(srcdir)/libcdio $(AM_CFLAGS) \
 | rufus_CFLAGS = -I$(srcdir)/ms-sys/inc -I$(srcdir)/syslinux/libfat -I$(srcdir)/syslinux/libinstaller -I$(srcdir)/syslinux/win -I$(srcdir)/libcdio $(AM_CFLAGS) \
 | ||||||
| 	-DEXT2_FLAT_INCLUDES=0 -DSOLUTION=rufus | 	-DEXT2_FLAT_INCLUDES=0 -DSOLUTION=rufus | ||||||
| 
 | 
 | ||||||
| rufus_LDFLAGS = $(AM_LDFLAGS) -mwindows | rufus_LDFLAGS = $(AM_LDFLAGS) -mwindows -L ../.mingw | ||||||
| # Note: Do not link with -lversion as this will results in DLL sideloading issue. See https://github.com/pbatard/rufus/pull/1838
 |  | ||||||
| rufus_LDADD = rufus_rc.o bled/libbled.a ext2fs/libext2fs.a ms-sys/libmssys.a syslinux/libfat/libfat.a syslinux/libinstaller/libinstaller.a syslinux/win/libwin.a \
 | rufus_LDADD = rufus_rc.o bled/libbled.a ext2fs/libext2fs.a ms-sys/libmssys.a syslinux/libfat/libfat.a syslinux/libinstaller/libinstaller.a syslinux/win/libwin.a \
 | ||||||
| 	libcdio/iso9660/libiso9660.a libcdio/udf/libudf.a libcdio/driver/libdriver.a -lsetupapi -lole32 -lgdi32 -lshlwapi -lcrypt32 -lcomdlg32 -lcomctl32 -luuid -lpsapi | 	libcdio/iso9660/libiso9660.a libcdio/udf/libudf.a libcdio/driver/libdriver.a $(NONVULNERABLE_LIBS) $(VULNERABLE_LIBS) | ||||||
| 
 | 
 | ||||||
| all: all-recursive | all: all-recursive | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -190,6 +190,7 @@ CFLAGS = @CFLAGS@ | ||||||
| CPPFLAGS = @CPPFLAGS@ | CPPFLAGS = @CPPFLAGS@ | ||||||
| CYGPATH_W = @CYGPATH_W@ | CYGPATH_W = @CYGPATH_W@ | ||||||
| DEFS = @DEFS@ | DEFS = @DEFS@ | ||||||
|  | DLLTOOL = @DLLTOOL@ | ||||||
| ECHO_C = @ECHO_C@ | ECHO_C = @ECHO_C@ | ||||||
| ECHO_N = @ECHO_N@ | ECHO_N = @ECHO_N@ | ||||||
| ECHO_T = @ECHO_T@ | ECHO_T = @ECHO_T@ | ||||||
|  |  | ||||||
|  | @ -61,12 +61,9 @@ static BOOL GetUSBProperties(char* parent_path, char* device_id, usb_device_prop | ||||||
| 	DEVINST device_inst; | 	DEVINST device_inst; | ||||||
| 	USB_NODE_CONNECTION_INFORMATION_EX conn_info; | 	USB_NODE_CONNECTION_INFORMATION_EX conn_info; | ||||||
| 	USB_NODE_CONNECTION_INFORMATION_EX_V2 conn_info_v2; | 	USB_NODE_CONNECTION_INFORMATION_EX_V2 conn_info_v2; | ||||||
| 	PF_INIT(CM_Get_DevNode_Registry_PropertyA, Cfgmgr32); |  | ||||||
| 
 | 
 | ||||||
| 	if ((parent_path == NULL) || (device_id == NULL) || (props == NULL) || | 	if ((parent_path == NULL) || (device_id == NULL) || (props == NULL)) | ||||||
| 		(pfCM_Get_DevNode_Registry_PropertyA == NULL)) { |  | ||||||
| 		goto out; | 		goto out; | ||||||
| 	} |  | ||||||
| 
 | 
 | ||||||
| 	cr = CM_Locate_DevNodeA(&device_inst, device_id, 0); | 	cr = CM_Locate_DevNodeA(&device_inst, device_id, 0); | ||||||
| 	if (cr != CR_SUCCESS) { | 	if (cr != CR_SUCCESS) { | ||||||
|  | @ -76,7 +73,7 @@ static BOOL GetUSBProperties(char* parent_path, char* device_id, usb_device_prop | ||||||
| 
 | 
 | ||||||
| 	props->port = 0; | 	props->port = 0; | ||||||
| 	size = sizeof(props->port); | 	size = sizeof(props->port); | ||||||
| 	cr = pfCM_Get_DevNode_Registry_PropertyA(device_inst, CM_DRP_ADDRESS, NULL, (PVOID)&props->port, &size, 0); | 	cr = CM_Get_DevNode_Registry_PropertyA(device_inst, CM_DRP_ADDRESS, NULL, (PVOID)&props->port, &size, 0); | ||||||
| 	if (cr != CR_SUCCESS) { | 	if (cr != CR_SUCCESS) { | ||||||
| 		uprintf("Could not get port for '%s': CR error %d", device_id, cr); | 		uprintf("Could not get port for '%s': CR error %d", device_id, cr); | ||||||
| 		goto out; | 		goto out; | ||||||
|  |  | ||||||
|  | @ -86,8 +86,6 @@ DECLSPEC_IMPORT CONFIGRET WINAPI CM_Get_Child(PDEVINST pdnDevInst, DEVINST dnDev | ||||||
| DECLSPEC_IMPORT CONFIGRET WINAPI CM_Get_Parent(PDEVINST pdnDevInst, DEVINST dnDevInst, ULONG ulFlags); | DECLSPEC_IMPORT CONFIGRET WINAPI CM_Get_Parent(PDEVINST pdnDevInst, DEVINST dnDevInst, ULONG ulFlags); | ||||||
| DECLSPEC_IMPORT CONFIGRET WINAPI CM_Get_Sibling(PDEVINST pdnDevInst, DEVINST dnDevInst, ULONG ulFlags); | DECLSPEC_IMPORT CONFIGRET WINAPI CM_Get_Sibling(PDEVINST pdnDevInst, DEVINST dnDevInst, ULONG ulFlags); | ||||||
| DECLSPEC_IMPORT CONFIGRET WINAPI CM_Get_DevNode_Status(PULONG pulStatus, PULONG pulProblemNumber, DEVINST dnDevInst, ULONG ulFlags); | DECLSPEC_IMPORT CONFIGRET WINAPI CM_Get_DevNode_Status(PULONG pulStatus, PULONG pulProblemNumber, DEVINST dnDevInst, ULONG ulFlags); | ||||||
| // This last one is unknown from MinGW32 and needs to be fetched from the DLL
 |  | ||||||
| PF_TYPE_DECL(WINAPI, CONFIGRET, CM_Get_DevNode_Registry_PropertyA, (DEVINST, ULONG, PULONG, PVOID, PULONG, ULONG)); |  | ||||||
| 
 | 
 | ||||||
| #define USB_HUB_CYCLE_PORT                        273 | #define USB_HUB_CYCLE_PORT                        273 | ||||||
| #define USB_GET_NODE_CONNECTION_INFORMATION_EX    274 | #define USB_GET_NODE_CONNECTION_INFORMATION_EX    274 | ||||||
|  |  | ||||||
|  | @ -196,6 +196,7 @@ CFLAGS = @CFLAGS@ | ||||||
| CPPFLAGS = @CPPFLAGS@ | CPPFLAGS = @CPPFLAGS@ | ||||||
| CYGPATH_W = @CYGPATH_W@ | CYGPATH_W = @CYGPATH_W@ | ||||||
| DEFS = @DEFS@ | DEFS = @DEFS@ | ||||||
|  | DLLTOOL = @DLLTOOL@ | ||||||
| ECHO_C = @ECHO_C@ | ECHO_C = @ECHO_C@ | ||||||
| ECHO_N = @ECHO_N@ | ECHO_N = @ECHO_N@ | ||||||
| ECHO_T = @ECHO_T@ | ECHO_T = @ECHO_T@ | ||||||
|  |  | ||||||
|  | @ -964,6 +964,7 @@ static BOOL WriteSBR(HANDLE hPhysicalDrive) | ||||||
| 						if (memcmp(&patched[grub_patch[i].patch[j].src->offset], grub_patch[i].patch[j].src->data, | 						if (memcmp(&patched[grub_patch[i].patch[j].src->offset], grub_patch[i].patch[j].src->data, | ||||||
| 							grub_patch[i].patch[j].src->size) != 0) { | 							grub_patch[i].patch[j].src->size) != 0) { | ||||||
| 							uprintf("ERROR: Did not find expected source data for GRUB patch"); | 							uprintf("ERROR: Did not find expected source data for GRUB patch"); | ||||||
|  | 							free(patched); | ||||||
| 							return FALSE; | 							return FALSE; | ||||||
| 						} | 						} | ||||||
| 						memcpy(&patched[grub_patch[i].patch[j].rep->offset], grub_patch[i].patch[j].rep->data, | 						memcpy(&patched[grub_patch[i].patch[j].rep->offset], grub_patch[i].patch[j].rep->data, | ||||||
|  |  | ||||||
							
								
								
									
										28
									
								
								src/iso.c
									
										
									
									
									
								
							
							
						
						
									
										28
									
								
								src/iso.c
									
										
									
									
									
								
							|  | @ -861,12 +861,6 @@ void GetGrubVersion(char* buf, size_t buf_size) | ||||||
| 		img_report.grub2_version[0] = 0; | 		img_report.grub2_version[0] = 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Linking to version.lib would result in DLL sideloading issues, so we don't
 |  | ||||||
| // See https://github.com/pbatard/rufus/pull/1838
 |  | ||||||
| PF_TYPE_DECL(WINAPI, DWORD, GetFileVersionInfoSizeW, (LPCWSTR, LPDWORD)); |  | ||||||
| PF_TYPE_DECL(WINAPI, BOOL, GetFileVersionInfoW, (LPCWSTR, DWORD, DWORD, LPVOID)); |  | ||||||
| PF_TYPE_DECL(WINAPI, BOOL, VerQueryValueA, (LPCVOID, LPCSTR, LPVOID, PUINT)); |  | ||||||
| 
 |  | ||||||
| BOOL ExtractISO(const char* src_iso, const char* dest_dir, BOOL scan) | BOOL ExtractISO(const char* src_iso, const char* dest_dir, BOOL scan) | ||||||
| { | { | ||||||
| 	size_t i, j, size, sl_index = 0; | 	size_t i, j, size, sl_index = 0; | ||||||
|  | @ -887,10 +881,6 @@ BOOL ExtractISO(const char* src_iso, const char* dest_dir, BOOL scan) | ||||||
| 	if ((!enable_iso) || (src_iso == NULL) || (dest_dir == NULL)) | 	if ((!enable_iso) || (src_iso == NULL) || (dest_dir == NULL)) | ||||||
| 		return FALSE; | 		return FALSE; | ||||||
| 
 | 
 | ||||||
| 	PF_INIT_OR_OUT(GetFileVersionInfoSizeW, Version); |  | ||||||
| 	PF_INIT_OR_OUT(GetFileVersionInfoW, Version); |  | ||||||
| 	PF_INIT_OR_OUT(VerQueryValueA, Version); |  | ||||||
| 
 |  | ||||||
| 	scan_only = scan; | 	scan_only = scan; | ||||||
| 	if (!scan_only) | 	if (!scan_only) | ||||||
| 		spacing = ""; | 		spacing = ""; | ||||||
|  | @ -1160,19 +1150,16 @@ out: | ||||||
| 			VS_FIXEDFILEINFO* ver_info = NULL; | 			VS_FIXEDFILEINFO* ver_info = NULL; | ||||||
| 			DWORD ver_handle = 0, ver_size; | 			DWORD ver_handle = 0, ver_size; | ||||||
| 			UINT value_len = 0; | 			UINT value_len = 0; | ||||||
| 			assert(pfGetFileVersionInfoSizeW != NULL); |  | ||||||
| 			assert(pfGetFileVersionInfoW != NULL); |  | ||||||
| 			assert(pfVerQueryValueA != NULL); |  | ||||||
| 			// coverity[swapped_arguments]
 | 			// coverity[swapped_arguments]
 | ||||||
| 			if (GetTempFileNameU(temp_dir, APPLICATION_NAME, 0, path) != 0) { | 			if (GetTempFileNameU(temp_dir, APPLICATION_NAME, 0, path) != 0) { | ||||||
| 				wconvert(path); | 				// NB: Calling the GetFileVersion/VerQueryValue APIs create DLL sideloading issues.
 | ||||||
| 				assert(wpath != NULL); | 				// So make sure you delay-load 'version.dll' in your application if you use these.
 | ||||||
| 				size = (size_t)ExtractISOFile(src_iso, "sources/compatresources.dll", path, FILE_ATTRIBUTE_NORMAL); | 				size = (size_t)ExtractISOFile(src_iso, "sources/compatresources.dll", path, FILE_ATTRIBUTE_NORMAL); | ||||||
| 				ver_size = pfGetFileVersionInfoSizeW(wpath, &ver_handle); | 				ver_size = GetFileVersionInfoSizeU(path, &ver_handle); | ||||||
| 				if (ver_size != 0) { | 				if (ver_size != 0) { | ||||||
| 					buf = malloc(ver_size); | 					buf = malloc(ver_size); | ||||||
| 					if ((buf != NULL) && pfGetFileVersionInfoW(wpath, ver_handle, ver_size, buf) && | 					if ((buf != NULL) && GetFileVersionInfoU(path, ver_handle, ver_size, buf) && | ||||||
| 						pfVerQueryValueA(buf, "\\", (LPVOID)&ver_info, &value_len) && (value_len != 0)) { | 						VerQueryValueA(buf, "\\", (LPVOID)&ver_info, &value_len) && (value_len != 0)) { | ||||||
| 						if (ver_info->dwSignature == VS_FFI_SIGNATURE) { | 						if (ver_info->dwSignature == VS_FFI_SIGNATURE) { | ||||||
| 							img_report.win_version.major = HIWORD(ver_info->dwFileVersionMS); | 							img_report.win_version.major = HIWORD(ver_info->dwFileVersionMS); | ||||||
| 							img_report.win_version.minor = LOWORD(ver_info->dwFileVersionMS); | 							img_report.win_version.minor = LOWORD(ver_info->dwFileVersionMS); | ||||||
|  | @ -1184,8 +1171,7 @@ out: | ||||||
| 					} | 					} | ||||||
| 					free(buf); | 					free(buf); | ||||||
| 				} | 				} | ||||||
| 				DeleteFileW(wpath); | 				DeleteFileU(path); | ||||||
| 				free(wpath); |  | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		StrArrayDestroy(&config_path); | 		StrArrayDestroy(&config_path); | ||||||
|  | @ -1594,7 +1580,6 @@ BOOL DumpFatDir(const char* path, int32_t cluster) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	do { | 	do { | ||||||
| 		// coverity[-taint_source]
 |  | ||||||
| 		dirpos.cluster = libfat_dumpdir(lf_fs, &dirpos, &diritem); | 		dirpos.cluster = libfat_dumpdir(lf_fs, &dirpos, &diritem); | ||||||
| 		if (dirpos.cluster >= 0) { | 		if (dirpos.cluster >= 0) { | ||||||
| 			name = wchar_to_utf8(diritem.name); | 			name = wchar_to_utf8(diritem.name); | ||||||
|  | @ -1654,6 +1639,7 @@ BOOL DumpFatDir(const char* path, int32_t cluster) | ||||||
| 			safe_free(target); | 			safe_free(target); | ||||||
| 			safe_free(name); | 			safe_free(name); | ||||||
| 		} | 		} | ||||||
|  | 	// coverity[tainted_data]
 | ||||||
| 	} while (dirpos.cluster >= 0); | 	} while (dirpos.cluster >= 0); | ||||||
| 	ret = TRUE; | 	ret = TRUE; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -171,6 +171,7 @@ CFLAGS = @CFLAGS@ | ||||||
| CPPFLAGS = @CPPFLAGS@ | CPPFLAGS = @CPPFLAGS@ | ||||||
| CYGPATH_W = @CYGPATH_W@ | CYGPATH_W = @CYGPATH_W@ | ||||||
| DEFS = @DEFS@ | DEFS = @DEFS@ | ||||||
|  | DLLTOOL = @DLLTOOL@ | ||||||
| ECHO_C = @ECHO_C@ | ECHO_C = @ECHO_C@ | ||||||
| ECHO_N = @ECHO_N@ | ECHO_N = @ECHO_N@ | ||||||
| ECHO_T = @ECHO_T@ | ECHO_T = @ECHO_T@ | ||||||
|  |  | ||||||
|  | @ -168,6 +168,7 @@ CFLAGS = @CFLAGS@ | ||||||
| CPPFLAGS = @CPPFLAGS@ | CPPFLAGS = @CPPFLAGS@ | ||||||
| CYGPATH_W = @CYGPATH_W@ | CYGPATH_W = @CYGPATH_W@ | ||||||
| DEFS = @DEFS@ | DEFS = @DEFS@ | ||||||
|  | DLLTOOL = @DLLTOOL@ | ||||||
| ECHO_C = @ECHO_C@ | ECHO_C = @ECHO_C@ | ||||||
| ECHO_N = @ECHO_N@ | ECHO_N = @ECHO_N@ | ||||||
| ECHO_T = @ECHO_T@ | ECHO_T = @ECHO_T@ | ||||||
|  |  | ||||||
|  | @ -168,6 +168,7 @@ CFLAGS = @CFLAGS@ | ||||||
| CPPFLAGS = @CPPFLAGS@ | CPPFLAGS = @CPPFLAGS@ | ||||||
| CYGPATH_W = @CYGPATH_W@ | CYGPATH_W = @CYGPATH_W@ | ||||||
| DEFS = @DEFS@ | DEFS = @DEFS@ | ||||||
|  | DLLTOOL = @DLLTOOL@ | ||||||
| ECHO_C = @ECHO_C@ | ECHO_C = @ECHO_C@ | ||||||
| ECHO_N = @ECHO_N@ | ECHO_N = @ECHO_N@ | ||||||
| ECHO_T = @ECHO_T@ | ECHO_T = @ECHO_T@ | ||||||
|  |  | ||||||
|  | @ -169,6 +169,7 @@ CFLAGS = @CFLAGS@ | ||||||
| CPPFLAGS = @CPPFLAGS@ | CPPFLAGS = @CPPFLAGS@ | ||||||
| CYGPATH_W = @CYGPATH_W@ | CYGPATH_W = @CYGPATH_W@ | ||||||
| DEFS = @DEFS@ | DEFS = @DEFS@ | ||||||
|  | DLLTOOL = @DLLTOOL@ | ||||||
| ECHO_C = @ECHO_C@ | ECHO_C = @ECHO_C@ | ||||||
| ECHO_N = @ECHO_N@ | ECHO_N = @ECHO_N@ | ||||||
| ECHO_T = @ECHO_T@ | ECHO_T = @ECHO_T@ | ||||||
|  |  | ||||||
							
								
								
									
										144
									
								
								src/net.c
									
										
									
									
									
								
							
							
						
						
									
										144
									
								
								src/net.c
									
										
									
									
									
								
							|  | @ -1,7 +1,7 @@ | ||||||
| /*
 | /*
 | ||||||
|  * Rufus: The Reliable USB Formatting Utility |  * Rufus: The Reliable USB Formatting Utility | ||||||
|  * Networking functionality (web file download, check for update, etc.) |  * Networking functionality (web file download, check for update, etc.) | ||||||
|  * Copyright © 2012-2021 Pete Batard <pete@akeo.ie> |  * Copyright © 2012-2022 Pete Batard <pete@akeo.ie> | ||||||
|  * |  * | ||||||
|  * This program is free software: you can redistribute it and/or modify |  * This program is free software: you can redistribute it and/or modify | ||||||
|  * it under the terms of the GNU General Public License as published by |  * it under the terms of the GNU General Public License as published by | ||||||
|  | @ -69,8 +69,6 @@ const char* WinInetErrorString(void) | ||||||
| { | { | ||||||
| 	static char error_string[256]; | 	static char error_string[256]; | ||||||
| 	DWORD size = sizeof(error_string); | 	DWORD size = sizeof(error_string); | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, InternetGetLastResponseInfoA, (LPDWORD, LPSTR, LPDWORD)); |  | ||||||
| 	PF_INIT(InternetGetLastResponseInfoA, WinInet); |  | ||||||
| 
 | 
 | ||||||
| 	error_code = HRESULT_CODE(GetLastError()); | 	error_code = HRESULT_CODE(GetLastError()); | ||||||
| 
 | 
 | ||||||
|  | @ -221,10 +219,8 @@ const char* WinInetErrorString(void) | ||||||
| 	case ERROR_INTERNET_LOGIN_FAILURE_DISPLAY_ENTITY_BODY: | 	case ERROR_INTERNET_LOGIN_FAILURE_DISPLAY_ENTITY_BODY: | ||||||
| 		return "Please ask Microsoft about that one!"; | 		return "Please ask Microsoft about that one!"; | ||||||
| 	case ERROR_INTERNET_EXTENDED_ERROR: | 	case ERROR_INTERNET_EXTENDED_ERROR: | ||||||
| 		if (pfInternetGetLastResponseInfoA != NULL) { | 		InternetGetLastResponseInfoA(&error_code, error_string, &size); | ||||||
| 			pfInternetGetLastResponseInfoA(&error_code, error_string, &size); |  | ||||||
| 		return error_string; | 		return error_string; | ||||||
| 		} |  | ||||||
| 		// fall through
 | 		// fall through
 | ||||||
| 	default: | 	default: | ||||||
| 		static_sprintf(error_string, "Unknown internet error 0x%08lX", error_code); | 		static_sprintf(error_string, "Unknown internet error 0x%08lX", error_code); | ||||||
|  | @ -277,13 +273,6 @@ static HINTERNET GetInternetSession(BOOL bRetry) | ||||||
| 	HRESULT hr = S_FALSE; | 	HRESULT hr = S_FALSE; | ||||||
| 	INetworkListManager* pNetworkListManager; | 	INetworkListManager* pNetworkListManager; | ||||||
| 
 | 
 | ||||||
| 	PF_TYPE_DECL(WINAPI, HINTERNET, InternetOpenA, (LPCSTR, DWORD, LPCSTR, LPCSTR, DWORD)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, InternetSetOptionA, (HINTERNET, DWORD, LPVOID, DWORD)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, InternetGetConnectedState, (LPDWORD, DWORD)); |  | ||||||
| 	PF_INIT_OR_OUT(InternetOpenA, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(InternetSetOptionA, WinInet); |  | ||||||
| 	PF_INIT(InternetGetConnectedState, WinInet); |  | ||||||
| 
 |  | ||||||
| 	// Create a NetworkListManager Instance to check the network connection
 | 	// Create a NetworkListManager Instance to check the network connection
 | ||||||
| 	IGNORE_RETVAL(CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)); | 	IGNORE_RETVAL(CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)); | ||||||
| 	hr = CoCreateInstance(&CLSID_NetworkListManager, NULL, CLSCTX_ALL, | 	hr = CoCreateInstance(&CLSID_NetworkListManager, NULL, CLSCTX_ALL, | ||||||
|  | @ -294,8 +283,8 @@ static HINTERNET GetInternetSession(BOOL bRetry) | ||||||
| 			// INetworkListManager may fail with ERROR_SERVICE_DEPENDENCY_FAIL if the DHCP service
 | 			// INetworkListManager may fail with ERROR_SERVICE_DEPENDENCY_FAIL if the DHCP service
 | ||||||
| 			// is not running, in which case we must fall back to using InternetGetConnectedState().
 | 			// is not running, in which case we must fall back to using InternetGetConnectedState().
 | ||||||
| 			// See https://github.com/pbatard/rufus/issues/1801.
 | 			// See https://github.com/pbatard/rufus/issues/1801.
 | ||||||
| 			if ((hr == HRESULT_FROM_WIN32(ERROR_SERVICE_DEPENDENCY_FAIL)) && (pfInternetGetConnectedState != NULL)) { | 			if (hr == HRESULT_FROM_WIN32(ERROR_SERVICE_DEPENDENCY_FAIL)) { | ||||||
| 				InternetConnection = pfInternetGetConnectedState(&dwFlags, 0) ? VARIANT_TRUE : VARIANT_FALSE; | 				InternetConnection = InternetGetConnectedState(&dwFlags, 0) ? VARIANT_TRUE : VARIANT_FALSE; | ||||||
| 				break; | 				break; | ||||||
| 			} | 			} | ||||||
| 			if (hr == S_OK || !bRetry) | 			if (hr == S_OK || !bRetry) | ||||||
|  | @ -310,15 +299,15 @@ static HINTERNET GetInternetSession(BOOL bRetry) | ||||||
| 	static_sprintf(agent, APPLICATION_NAME "/%d.%d.%d (Windows NT %d.%d%s)", | 	static_sprintf(agent, APPLICATION_NAME "/%d.%d.%d (Windows NT %d.%d%s)", | ||||||
| 		rufus_version[0], rufus_version[1], rufus_version[2], | 		rufus_version[0], rufus_version[1], rufus_version[2], | ||||||
| 		nWindowsVersion >> 4, nWindowsVersion & 0x0F, is_x64() ? "; WOW64" : ""); | 		nWindowsVersion >> 4, nWindowsVersion & 0x0F, is_x64() ? "; WOW64" : ""); | ||||||
| 	hSession = pfInternetOpenA(agent, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); | 	hSession = InternetOpenA(agent, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); | ||||||
| 	// Set the timeouts
 | 	// Set the timeouts
 | ||||||
| 	pfInternetSetOptionA(hSession, INTERNET_OPTION_CONNECT_TIMEOUT, (LPVOID)&dwTimeout, sizeof(dwTimeout)); | 	InternetSetOptionA(hSession, INTERNET_OPTION_CONNECT_TIMEOUT, (LPVOID)&dwTimeout, sizeof(dwTimeout)); | ||||||
| 	pfInternetSetOptionA(hSession, INTERNET_OPTION_SEND_TIMEOUT, (LPVOID)&dwTimeout, sizeof(dwTimeout)); | 	InternetSetOptionA(hSession, INTERNET_OPTION_SEND_TIMEOUT, (LPVOID)&dwTimeout, sizeof(dwTimeout)); | ||||||
| 	pfInternetSetOptionA(hSession, INTERNET_OPTION_RECEIVE_TIMEOUT, (LPVOID)&dwTimeout, sizeof(dwTimeout)); | 	InternetSetOptionA(hSession, INTERNET_OPTION_RECEIVE_TIMEOUT, (LPVOID)&dwTimeout, sizeof(dwTimeout)); | ||||||
| 	// Enable gzip and deflate decoding schemes
 | 	// Enable gzip and deflate decoding schemes
 | ||||||
| 	pfInternetSetOptionA(hSession, INTERNET_OPTION_HTTP_DECODING, (LPVOID)&decodingSupport, sizeof(decodingSupport)); | 	InternetSetOptionA(hSession, INTERNET_OPTION_HTTP_DECODING, (LPVOID)&decodingSupport, sizeof(decodingSupport)); | ||||||
| 	// Enable HTTP/2 protocol support
 | 	// Enable HTTP/2 protocol support
 | ||||||
| 	pfInternetSetOptionA(hSession, INTERNET_OPTION_ENABLE_HTTP_PROTOCOL, (LPVOID)&dwProtocolSupport, sizeof(dwProtocolSupport)); | 	InternetSetOptionA(hSession, INTERNET_OPTION_ENABLE_HTTP_PROTOCOL, (LPVOID)&dwProtocolSupport, sizeof(dwProtocolSupport)); | ||||||
| 
 | 
 | ||||||
| out: | out: | ||||||
| 	return hSession; | 	return hSession; | ||||||
|  | @ -348,22 +337,6 @@ uint64_t DownloadToFileOrBuffer(const char* url, const char* file, BYTE** buffer | ||||||
| 		hostname, sizeof(hostname), 0, NULL, 1, urlpath, sizeof(urlpath), NULL, 1}; | 		hostname, sizeof(hostname), 0, NULL, 1, urlpath, sizeof(urlpath), NULL, 1}; | ||||||
| 	uint64_t size = 0, total_size = 0; | 	uint64_t size = 0, total_size = 0; | ||||||
| 
 | 
 | ||||||
| 	// Can't link with wininet.lib because of sideloading issues
 |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, InternetCrackUrlA, (LPCSTR, DWORD, DWORD, LPURL_COMPONENTSA)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, HINTERNET, InternetConnectA, (HINTERNET, LPCSTR, INTERNET_PORT, LPCSTR, LPCSTR, DWORD, DWORD, DWORD_PTR)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, InternetReadFile, (HINTERNET, LPVOID, DWORD, LPDWORD)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, InternetCloseHandle, (HINTERNET)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, HINTERNET, HttpOpenRequestA, (HINTERNET, LPCSTR, LPCSTR, LPCSTR, LPCSTR, LPCSTR*, DWORD, DWORD_PTR)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, HttpSendRequestA, (HINTERNET, LPCSTR, DWORD, LPVOID, DWORD)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, HttpQueryInfoA, (HINTERNET, DWORD, LPVOID, LPDWORD, LPDWORD)); |  | ||||||
| 	PF_INIT_OR_OUT(InternetCrackUrlA, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(InternetConnectA, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(InternetReadFile, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(InternetCloseHandle, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(HttpOpenRequestA, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(HttpSendRequestA, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(HttpQueryInfoA, WinInet); |  | ||||||
| 
 |  | ||||||
| 	FormatStatus = 0; | 	FormatStatus = 0; | ||||||
| 	DownloadStatus = 404; | 	DownloadStatus = 404; | ||||||
| 	if (hProgressDialog != NULL) | 	if (hProgressDialog != NULL) | ||||||
|  | @ -380,7 +353,7 @@ uint64_t DownloadToFileOrBuffer(const char* url, const char* file, BYTE** buffer | ||||||
| 		uprintf("Downloading %s", url); | 		uprintf("Downloading %s", url); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if ( (!pfInternetCrackUrlA(url, (DWORD)safe_strlen(url), 0, &UrlParts)) | 	if ( (!InternetCrackUrlA(url, (DWORD)safe_strlen(url), 0, &UrlParts)) | ||||||
| 	  || (UrlParts.lpszHostName == NULL) || (UrlParts.lpszUrlPath == NULL)) { | 	  || (UrlParts.lpszHostName == NULL) || (UrlParts.lpszUrlPath == NULL)) { | ||||||
| 		uprintf("Unable to decode URL: %s", WinInetErrorString()); | 		uprintf("Unable to decode URL: %s", WinInetErrorString()); | ||||||
| 		goto out; | 		goto out; | ||||||
|  | @ -393,13 +366,13 @@ uint64_t DownloadToFileOrBuffer(const char* url, const char* file, BYTE** buffer | ||||||
| 		goto out; | 		goto out; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	hConnection = pfInternetConnectA(hSession, UrlParts.lpszHostName, UrlParts.nPort, NULL, NULL, INTERNET_SERVICE_HTTP, 0, (DWORD_PTR)NULL); | 	hConnection = InternetConnectA(hSession, UrlParts.lpszHostName, UrlParts.nPort, NULL, NULL, INTERNET_SERVICE_HTTP, 0, (DWORD_PTR)NULL); | ||||||
| 	if (hConnection == NULL) { | 	if (hConnection == NULL) { | ||||||
| 		uprintf("Could not connect to server %s:%d: %s", UrlParts.lpszHostName, UrlParts.nPort, WinInetErrorString()); | 		uprintf("Could not connect to server %s:%d: %s", UrlParts.lpszHostName, UrlParts.nPort, WinInetErrorString()); | ||||||
| 		goto out; | 		goto out; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	hRequest = pfHttpOpenRequestA(hConnection, "GET", UrlParts.lpszUrlPath, NULL, NULL, accept_types, | 	hRequest = HttpOpenRequestA(hConnection, "GET", UrlParts.lpszUrlPath, NULL, NULL, accept_types, | ||||||
| 		INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS| | 		INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS| | ||||||
| 		INTERNET_FLAG_NO_COOKIES|INTERNET_FLAG_NO_UI|INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_HYPERLINK| | 		INTERNET_FLAG_NO_COOKIES|INTERNET_FLAG_NO_UI|INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_HYPERLINK| | ||||||
| 		((UrlParts.nScheme==INTERNET_SCHEME_HTTPS)?INTERNET_FLAG_SECURE:0), (DWORD_PTR)NULL); | 		((UrlParts.nScheme==INTERNET_SCHEME_HTTPS)?INTERNET_FLAG_SECURE:0), (DWORD_PTR)NULL); | ||||||
|  | @ -408,14 +381,14 @@ uint64_t DownloadToFileOrBuffer(const char* url, const char* file, BYTE** buffer | ||||||
| 		goto out; | 		goto out; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if (!pfHttpSendRequestA(hRequest, request_headers, -1L, NULL, 0)) { | 	if (!HttpSendRequestA(hRequest, request_headers, -1L, NULL, 0)) { | ||||||
| 		uprintf("Unable to send request: %s", WinInetErrorString()); | 		uprintf("Unable to send request: %s", WinInetErrorString()); | ||||||
| 		goto out; | 		goto out; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Get the file size
 | 	// Get the file size
 | ||||||
| 	dwSize = sizeof(DownloadStatus); | 	dwSize = sizeof(DownloadStatus); | ||||||
| 	pfHttpQueryInfoA(hRequest, HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER, (LPVOID)&DownloadStatus, &dwSize, NULL); | 	HttpQueryInfoA(hRequest, HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER, (LPVOID)&DownloadStatus, &dwSize, NULL); | ||||||
| 	if (DownloadStatus != 200) { | 	if (DownloadStatus != 200) { | ||||||
| 		error_code = ERROR_INTERNET_ITEM_NOT_FOUND; | 		error_code = ERROR_INTERNET_ITEM_NOT_FOUND; | ||||||
| 		SetLastError(ERROR_SEVERITY_ERROR | FAC(FACILITY_HTTP) | error_code); | 		SetLastError(ERROR_SEVERITY_ERROR | FAC(FACILITY_HTTP) | error_code); | ||||||
|  | @ -423,7 +396,7 @@ uint64_t DownloadToFileOrBuffer(const char* url, const char* file, BYTE** buffer | ||||||
| 		goto out; | 		goto out; | ||||||
| 	} | 	} | ||||||
| 	dwSize = sizeof(strsize); | 	dwSize = sizeof(strsize); | ||||||
| 	if (!pfHttpQueryInfoA(hRequest, HTTP_QUERY_CONTENT_LENGTH, (LPVOID)strsize, &dwSize, NULL)) { | 	if (!HttpQueryInfoA(hRequest, HTTP_QUERY_CONTENT_LENGTH, (LPVOID)strsize, &dwSize, NULL)) { | ||||||
| 		uprintf("Unable to retrieve file length: %s", WinInetErrorString()); | 		uprintf("Unable to retrieve file length: %s", WinInetErrorString()); | ||||||
| 		goto out; | 		goto out; | ||||||
| 	} | 	} | ||||||
|  | @ -462,7 +435,7 @@ uint64_t DownloadToFileOrBuffer(const char* url, const char* file, BYTE** buffer | ||||||
| 		// User may have cancelled the download
 | 		// User may have cancelled the download
 | ||||||
| 		if (IS_ERROR(FormatStatus)) | 		if (IS_ERROR(FormatStatus)) | ||||||
| 			goto out; | 			goto out; | ||||||
| 		if (!pfInternetReadFile(hRequest, buf, sizeof(buf), &dwDownloaded) || (dwDownloaded == 0)) | 		if (!InternetReadFile(hRequest, buf, sizeof(buf), &dwDownloaded) || (dwDownloaded == 0)) | ||||||
| 			break; | 			break; | ||||||
| 		if (hProgressDialog != NULL) | 		if (hProgressDialog != NULL) | ||||||
| 			UpdateProgressWithInfo(OP_NOOP, MSG_241, size, total_size); | 			UpdateProgressWithInfo(OP_NOOP, MSG_241, size, total_size); | ||||||
|  | @ -507,11 +480,11 @@ out: | ||||||
| 			safe_free(*buffer); | 			safe_free(*buffer); | ||||||
| 	} | 	} | ||||||
| 	if (hRequest) | 	if (hRequest) | ||||||
| 		pfInternetCloseHandle(hRequest); | 		InternetCloseHandle(hRequest); | ||||||
| 	if (hConnection) | 	if (hConnection) | ||||||
| 		pfInternetCloseHandle(hConnection); | 		InternetCloseHandle(hConnection); | ||||||
| 	if (hSession) | 	if (hSession) | ||||||
| 		pfInternetCloseHandle(hSession); | 		InternetCloseHandle(hSession); | ||||||
| 
 | 
 | ||||||
| 	SetLastError(error_code); | 	SetLastError(error_code); | ||||||
| 	return r ? size : 0; | 	return r ? size : 0; | ||||||
|  | @ -607,11 +580,11 @@ HANDLE DownloadSignedFileThreaded(const char* url, const char* file, HWND hProgr | ||||||
| 	return CreateThread(NULL, 0, DownloadSignedFileThread, &args, 0, NULL); | 	return CreateThread(NULL, 0, DownloadSignedFileThread, &args, 0, NULL); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static __inline uint64_t to_uint64_t(uint16_t x[4]) { | static __inline uint64_t to_uint64_t(uint16_t x[3]) { | ||||||
| 	int i; | 	int i; | ||||||
| 	uint64_t ret = 0; | 	uint64_t ret = 0; | ||||||
| 	for (i=0; i<3; i++) | 	for (i = 0; i < 3; i++) | ||||||
| 		ret = (ret<<16) + x[i]; | 		ret = (ret << 16) + x[i]; | ||||||
| 	return ret; | 	return ret; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -639,22 +612,6 @@ static DWORD WINAPI CheckForUpdatesThread(LPVOID param) | ||||||
| 	FILETIME FileTime; | 	FILETIME FileTime; | ||||||
| 	int64_t local_time = 0, reg_time, server_time, update_interval; | 	int64_t local_time = 0, reg_time, server_time, update_interval; | ||||||
| 
 | 
 | ||||||
| 	// Can't link with wininet.lib because of sideloading issues
 |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, InternetCrackUrlA, (LPCSTR, DWORD, DWORD, LPURL_COMPONENTSA)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, HINTERNET, InternetConnectA, (HINTERNET, LPCSTR, INTERNET_PORT, LPCSTR, LPCSTR, DWORD, DWORD, DWORD_PTR)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, InternetReadFile, (HINTERNET, LPVOID, DWORD, LPDWORD)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, InternetCloseHandle, (HINTERNET)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, HINTERNET, HttpOpenRequestA, (HINTERNET, LPCSTR, LPCSTR, LPCSTR, LPCSTR, LPCSTR*, DWORD, DWORD_PTR)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, HttpSendRequestA, (HINTERNET, LPCSTR, DWORD, LPVOID, DWORD)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, HttpQueryInfoA, (HINTERNET, DWORD, LPVOID, LPDWORD, LPDWORD)); |  | ||||||
| 	PF_INIT_OR_OUT(InternetCrackUrlA, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(InternetConnectA, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(InternetReadFile, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(InternetCloseHandle, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(HttpOpenRequestA, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(HttpSendRequestA, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(HttpQueryInfoA, WinInet); |  | ||||||
| 
 |  | ||||||
| 	verbose = ReadSetting32(SETTING_VERBOSE_UPDATES); | 	verbose = ReadSetting32(SETTING_VERBOSE_UPDATES); | ||||||
| 	// Without this the FileDialog will produce error 0x8001010E when compiled for Vista or later
 | 	// Without this the FileDialog will produce error 0x8001010E when compiled for Vista or later
 | ||||||
| 	IGNORE_RETVAL(CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)); | 	IGNORE_RETVAL(CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)); | ||||||
|  | @ -697,7 +654,7 @@ static DWORD WINAPI CheckForUpdatesThread(LPVOID param) | ||||||
| 		goto out; | 		goto out; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if (!pfInternetCrackUrlA(server_url, (DWORD)safe_strlen(server_url), 0, &UrlParts)) | 	if (!InternetCrackUrlA(server_url, (DWORD)safe_strlen(server_url), 0, &UrlParts)) | ||||||
| 		goto out; | 		goto out; | ||||||
| 	hostname[sizeof(hostname)-1] = 0; | 	hostname[sizeof(hostname)-1] = 0; | ||||||
| 
 | 
 | ||||||
|  | @ -707,7 +664,7 @@ static DWORD WINAPI CheckForUpdatesThread(LPVOID param) | ||||||
| 	hSession = GetInternetSession(FALSE); | 	hSession = GetInternetSession(FALSE); | ||||||
| 	if (hSession == NULL) | 	if (hSession == NULL) | ||||||
| 		goto out; | 		goto out; | ||||||
| 	hConnection = pfInternetConnectA(hSession, UrlParts.lpszHostName, UrlParts.nPort, NULL, NULL, INTERNET_SERVICE_HTTP, 0, (DWORD_PTR)NULL); | 	hConnection = InternetConnectA(hSession, UrlParts.lpszHostName, UrlParts.nPort, NULL, NULL, INTERNET_SERVICE_HTTP, 0, (DWORD_PTR)NULL); | ||||||
| 	if (hConnection == NULL) | 	if (hConnection == NULL) | ||||||
| 		goto out; | 		goto out; | ||||||
| 
 | 
 | ||||||
|  | @ -747,11 +704,11 @@ static DWORD WINAPI CheckForUpdatesThread(LPVOID param) | ||||||
| 		UrlParts.dwUrlPathLength = sizeof(urlpath); | 		UrlParts.dwUrlPathLength = sizeof(urlpath); | ||||||
| 		for (i=0; i<ARRAYSIZE(verpos); i++) { | 		for (i=0; i<ARRAYSIZE(verpos); i++) { | ||||||
| 			vvuprintf("Trying %s", UrlParts.lpszUrlPath); | 			vvuprintf("Trying %s", UrlParts.lpszUrlPath); | ||||||
| 			hRequest = pfHttpOpenRequestA(hConnection, "GET", UrlParts.lpszUrlPath, NULL, NULL, accept_types, | 			hRequest = HttpOpenRequestA(hConnection, "GET", UrlParts.lpszUrlPath, NULL, NULL, accept_types, | ||||||
| 				INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS| | 				INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS| | ||||||
| 				INTERNET_FLAG_NO_COOKIES|INTERNET_FLAG_NO_UI|INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_HYPERLINK| | 				INTERNET_FLAG_NO_COOKIES|INTERNET_FLAG_NO_UI|INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_HYPERLINK| | ||||||
| 				((UrlParts.nScheme == INTERNET_SCHEME_HTTPS)?INTERNET_FLAG_SECURE:0), (DWORD_PTR)NULL); | 				((UrlParts.nScheme == INTERNET_SCHEME_HTTPS)?INTERNET_FLAG_SECURE:0), (DWORD_PTR)NULL); | ||||||
| 			if ((hRequest == NULL) || (!pfHttpSendRequestA(hRequest, request_headers, -1L, NULL, 0))) { | 			if ((hRequest == NULL) || (!HttpSendRequestA(hRequest, request_headers, -1L, NULL, 0))) { | ||||||
| 				uprintf("Unable to send request: %s", WinInetErrorString()); | 				uprintf("Unable to send request: %s", WinInetErrorString()); | ||||||
| 				goto out; | 				goto out; | ||||||
| 			} | 			} | ||||||
|  | @ -759,10 +716,10 @@ static DWORD WINAPI CheckForUpdatesThread(LPVOID param) | ||||||
| 			// Ensure that we get a text file
 | 			// Ensure that we get a text file
 | ||||||
| 			dwSize = sizeof(dwStatus); | 			dwSize = sizeof(dwStatus); | ||||||
| 			dwStatus = 404; | 			dwStatus = 404; | ||||||
| 			pfHttpQueryInfoA(hRequest, HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER, (LPVOID)&dwStatus, &dwSize, NULL); | 			HttpQueryInfoA(hRequest, HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER, (LPVOID)&dwStatus, &dwSize, NULL); | ||||||
| 			if (dwStatus == 200) | 			if (dwStatus == 200) | ||||||
| 				break; | 				break; | ||||||
| 			pfInternetCloseHandle(hRequest); | 			InternetCloseHandle(hRequest); | ||||||
| 			hRequest = NULL; | 			hRequest = NULL; | ||||||
| 			safe_strcpy(&urlpath[verpos[i]], 5, ".ver"); | 			safe_strcpy(&urlpath[verpos[i]], 5, ".ver"); | ||||||
| 		} | 		} | ||||||
|  | @ -779,7 +736,7 @@ static DWORD WINAPI CheckForUpdatesThread(LPVOID param) | ||||||
| 		// On the other hand, if local clock is set way back in the past, we will never check.
 | 		// On the other hand, if local clock is set way back in the past, we will never check.
 | ||||||
| 		dwSize = sizeof(ServerTime); | 		dwSize = sizeof(ServerTime); | ||||||
| 		// If we can't get a date we can trust, don't bother...
 | 		// If we can't get a date we can trust, don't bother...
 | ||||||
| 		if ( (!pfHttpQueryInfoA(hRequest, HTTP_QUERY_DATE|HTTP_QUERY_FLAG_SYSTEMTIME, (LPVOID)&ServerTime, &dwSize, NULL)) | 		if ( (!HttpQueryInfoA(hRequest, HTTP_QUERY_DATE|HTTP_QUERY_FLAG_SYSTEMTIME, (LPVOID)&ServerTime, &dwSize, NULL)) | ||||||
| 			|| (!SystemTimeToFileTime(&ServerTime, &FileTime)) ) | 			|| (!SystemTimeToFileTime(&ServerTime, &FileTime)) ) | ||||||
| 			goto out; | 			goto out; | ||||||
| 		server_time = ((((int64_t)FileTime.dwHighDateTime)<<32) + FileTime.dwLowDateTime) / 10000000; | 		server_time = ((((int64_t)FileTime.dwHighDateTime)<<32) + FileTime.dwLowDateTime) / 10000000; | ||||||
|  | @ -795,7 +752,7 @@ static DWORD WINAPI CheckForUpdatesThread(LPVOID param) | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		dwSize = sizeof(dwTotalSize); | 		dwSize = sizeof(dwTotalSize); | ||||||
| 		if (!pfHttpQueryInfoA(hRequest, HTTP_QUERY_CONTENT_LENGTH|HTTP_QUERY_FLAG_NUMBER, (LPVOID)&dwTotalSize, &dwSize, NULL)) | 		if (!HttpQueryInfoA(hRequest, HTTP_QUERY_CONTENT_LENGTH|HTTP_QUERY_FLAG_NUMBER, (LPVOID)&dwTotalSize, &dwSize, NULL)) | ||||||
| 			goto out; | 			goto out; | ||||||
| 
 | 
 | ||||||
| 		// Make sure the file is NUL terminated
 | 		// Make sure the file is NUL terminated
 | ||||||
|  | @ -803,7 +760,7 @@ static DWORD WINAPI CheckForUpdatesThread(LPVOID param) | ||||||
| 		if (buf == NULL) | 		if (buf == NULL) | ||||||
| 			goto out; | 			goto out; | ||||||
| 		// This is a version file - we should be able to gulp it down in one go
 | 		// This is a version file - we should be able to gulp it down in one go
 | ||||||
| 		if (!pfInternetReadFile(hRequest, buf, dwTotalSize, &dwDownloaded) || (dwDownloaded != dwTotalSize)) | 		if (!InternetReadFile(hRequest, buf, dwTotalSize, &dwDownloaded) || (dwDownloaded != dwTotalSize)) | ||||||
| 			goto out; | 			goto out; | ||||||
| 		vuprintf("Successfully downloaded version file (%d bytes)", dwTotalSize); | 		vuprintf("Successfully downloaded version file (%d bytes)", dwTotalSize); | ||||||
| 
 | 
 | ||||||
|  | @ -834,11 +791,11 @@ out: | ||||||
| 	safe_free(buf); | 	safe_free(buf); | ||||||
| 	safe_free(sig); | 	safe_free(sig); | ||||||
| 	if (hRequest) | 	if (hRequest) | ||||||
| 		pfInternetCloseHandle(hRequest); | 		InternetCloseHandle(hRequest); | ||||||
| 	if (hConnection) | 	if (hConnection) | ||||||
| 		pfInternetCloseHandle(hConnection); | 		InternetCloseHandle(hConnection); | ||||||
| 	if (hSession) | 	if (hSession) | ||||||
| 		pfInternetCloseHandle(hSession); | 		InternetCloseHandle(hSession); | ||||||
| 	switch (status) { | 	switch (status) { | ||||||
| 	case 1: | 	case 1: | ||||||
| 		PrintInfoDebug(3000, MSG_244); | 		PrintInfoDebug(3000, MSG_244); | ||||||
|  | @ -1094,26 +1051,13 @@ BOOL IsDownloadable(const char* url) | ||||||
| 	URL_COMPONENTSA UrlParts = { sizeof(URL_COMPONENTSA), NULL, 1, (INTERNET_SCHEME)0, | 	URL_COMPONENTSA UrlParts = { sizeof(URL_COMPONENTSA), NULL, 1, (INTERNET_SCHEME)0, | ||||||
| 		hostname, sizeof(hostname), 0, NULL, 1, urlpath, sizeof(urlpath), NULL, 1 }; | 		hostname, sizeof(hostname), 0, NULL, 1, urlpath, sizeof(urlpath), NULL, 1 }; | ||||||
| 
 | 
 | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, InternetCrackUrlA, (LPCSTR, DWORD, DWORD, LPURL_COMPONENTSA)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, HINTERNET, InternetConnectA, (HINTERNET, LPCSTR, INTERNET_PORT, LPCSTR, LPCSTR, DWORD, DWORD, DWORD_PTR)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, InternetCloseHandle, (HINTERNET)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, HINTERNET, HttpOpenRequestA, (HINTERNET, LPCSTR, LPCSTR, LPCSTR, LPCSTR, LPCSTR*, DWORD, DWORD_PTR)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, HttpSendRequestA, (HINTERNET, LPCSTR, DWORD, LPVOID, DWORD)); |  | ||||||
| 	PF_TYPE_DECL(WINAPI, BOOL, HttpQueryInfoA, (HINTERNET, DWORD, LPVOID, LPDWORD, LPDWORD)); |  | ||||||
| 	PF_INIT_OR_OUT(InternetCrackUrlA, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(InternetConnectA, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(InternetCloseHandle, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(HttpOpenRequestA, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(HttpSendRequestA, WinInet); |  | ||||||
| 	PF_INIT_OR_OUT(HttpQueryInfoA, WinInet); |  | ||||||
| 
 |  | ||||||
| 	if (url == NULL) | 	if (url == NULL) | ||||||
| 		return FALSE; | 		return FALSE; | ||||||
| 
 | 
 | ||||||
| 	FormatStatus = 0; | 	FormatStatus = 0; | ||||||
| 	DownloadStatus = 404; | 	DownloadStatus = 404; | ||||||
| 
 | 
 | ||||||
| 	if ((!pfInternetCrackUrlA(url, (DWORD)safe_strlen(url), 0, &UrlParts)) | 	if ((!InternetCrackUrlA(url, (DWORD)safe_strlen(url), 0, &UrlParts)) | ||||||
| 		|| (UrlParts.lpszHostName == NULL) || (UrlParts.lpszUrlPath == NULL)) | 		|| (UrlParts.lpszHostName == NULL) || (UrlParts.lpszUrlPath == NULL)) | ||||||
| 		goto out; | 		goto out; | ||||||
| 	hostname[sizeof(hostname) - 1] = 0; | 	hostname[sizeof(hostname) - 1] = 0; | ||||||
|  | @ -1123,35 +1067,35 @@ BOOL IsDownloadable(const char* url) | ||||||
| 	if (hSession == NULL) | 	if (hSession == NULL) | ||||||
| 		goto out; | 		goto out; | ||||||
| 
 | 
 | ||||||
| 	hConnection = pfInternetConnectA(hSession, UrlParts.lpszHostName, UrlParts.nPort, NULL, NULL, INTERNET_SERVICE_HTTP, 0, (DWORD_PTR)NULL); | 	hConnection = InternetConnectA(hSession, UrlParts.lpszHostName, UrlParts.nPort, NULL, NULL, INTERNET_SERVICE_HTTP, 0, (DWORD_PTR)NULL); | ||||||
| 	if (hConnection == NULL) | 	if (hConnection == NULL) | ||||||
| 		goto out; | 		goto out; | ||||||
| 
 | 
 | ||||||
| 	hRequest = pfHttpOpenRequestA(hConnection, "GET", UrlParts.lpszUrlPath, NULL, NULL, accept_types, | 	hRequest = HttpOpenRequestA(hConnection, "GET", UrlParts.lpszUrlPath, NULL, NULL, accept_types, | ||||||
| 		INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP | INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS | | 		INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP | INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS | | ||||||
| 		INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_NO_UI | INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_HYPERLINK | | 		INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_NO_UI | INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_HYPERLINK | | ||||||
| 		((UrlParts.nScheme == INTERNET_SCHEME_HTTPS) ? INTERNET_FLAG_SECURE : 0), (DWORD_PTR)NULL); | 		((UrlParts.nScheme == INTERNET_SCHEME_HTTPS) ? INTERNET_FLAG_SECURE : 0), (DWORD_PTR)NULL); | ||||||
| 	if (hRequest == NULL) | 	if (hRequest == NULL) | ||||||
| 		goto out; | 		goto out; | ||||||
| 
 | 
 | ||||||
| 	if (!pfHttpSendRequestA(hRequest, request_headers, -1L, NULL, 0)) | 	if (!HttpSendRequestA(hRequest, request_headers, -1L, NULL, 0)) | ||||||
| 		goto out; | 		goto out; | ||||||
| 
 | 
 | ||||||
| 	// Get the file size
 | 	// Get the file size
 | ||||||
| 	dwSize = sizeof(DownloadStatus); | 	dwSize = sizeof(DownloadStatus); | ||||||
| 	pfHttpQueryInfoA(hRequest, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, (LPVOID)&DownloadStatus, &dwSize, NULL); | 	HttpQueryInfoA(hRequest, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, (LPVOID)&DownloadStatus, &dwSize, NULL); | ||||||
| 	if (DownloadStatus != 200) | 	if (DownloadStatus != 200) | ||||||
| 		goto out; | 		goto out; | ||||||
| 	dwSize = sizeof(dwTotalSize); | 	dwSize = sizeof(dwTotalSize); | ||||||
| 	pfHttpQueryInfoA(hRequest, HTTP_QUERY_CONTENT_LENGTH | HTTP_QUERY_FLAG_NUMBER, (LPVOID)&dwTotalSize, &dwSize, NULL); | 	HttpQueryInfoA(hRequest, HTTP_QUERY_CONTENT_LENGTH | HTTP_QUERY_FLAG_NUMBER, (LPVOID)&dwTotalSize, &dwSize, NULL); | ||||||
| 
 | 
 | ||||||
| out: | out: | ||||||
| 	if (hRequest) | 	if (hRequest) | ||||||
| 		pfInternetCloseHandle(hRequest); | 		InternetCloseHandle(hRequest); | ||||||
| 	if (hConnection) | 	if (hConnection) | ||||||
| 		pfInternetCloseHandle(hConnection); | 		InternetCloseHandle(hConnection); | ||||||
| 	if (hSession) | 	if (hSession) | ||||||
| 		pfInternetCloseHandle(hSession); | 		InternetCloseHandle(hSession); | ||||||
| 
 | 
 | ||||||
| 	return (dwTotalSize > 0); | 	return (dwTotalSize > 0); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -575,8 +575,6 @@ LONG ValidateSignature(HWND hDlg, const char* path) | ||||||
| 	LONG r = TRUST_E_SYSTEM_ERROR; | 	LONG r = TRUST_E_SYSTEM_ERROR; | ||||||
| 	WINTRUST_DATA trust_data = { 0 }; | 	WINTRUST_DATA trust_data = { 0 }; | ||||||
| 	WINTRUST_FILE_INFO trust_file = { 0 }; | 	WINTRUST_FILE_INFO trust_file = { 0 }; | ||||||
| 	PF_TYPE_DECL(WINAPI, long, WinVerifyTrustEx, (HWND, GUID*, WINTRUST_DATA*)); |  | ||||||
| 	PF_INIT(WinVerifyTrustEx, WinTrust); |  | ||||||
| 	GUID guid_generic_verify =	// WINTRUST_ACTION_GENERIC_VERIFY_V2
 | 	GUID guid_generic_verify =	// WINTRUST_ACTION_GENERIC_VERIFY_V2
 | ||||||
| 		{ 0xaac56b, 0xcd44, 0x11d0,{ 0x8c, 0xc2, 0x0, 0xc0, 0x4f, 0xc2, 0x95, 0xee } }; | 		{ 0xaac56b, 0xcd44, 0x11d0,{ 0x8c, 0xc2, 0x0, 0xc0, 0x4f, 0xc2, 0x95, 0xee } }; | ||||||
| 	char *signature_name; | 	char *signature_name; | ||||||
|  | @ -627,8 +625,9 @@ LONG ValidateSignature(HWND hDlg, const char* path) | ||||||
| 	trust_data.dwUnionChoice = WTD_CHOICE_FILE; | 	trust_data.dwUnionChoice = WTD_CHOICE_FILE; | ||||||
| 	trust_data.pFile = &trust_file; | 	trust_data.pFile = &trust_file; | ||||||
| 
 | 
 | ||||||
| 	if (pfWinVerifyTrustEx != NULL) | 	// NB: Calling this API will create DLL sideloading issues through 'msasn1.dll'.
 | ||||||
| 		r = pfWinVerifyTrustEx(INVALID_HANDLE_VALUE, &guid_generic_verify, &trust_data); | 	// So make sure you delay-load 'wintrust.dll' in your application.
 | ||||||
|  | 	r = WinVerifyTrustEx(INVALID_HANDLE_VALUE, &guid_generic_verify, &trust_data); | ||||||
| 	safe_free(trust_file.pcwszFilePath); | 	safe_free(trust_file.pcwszFilePath); | ||||||
| 	switch (r) { | 	switch (r) { | ||||||
| 	case ERROR_SUCCESS: | 	case ERROR_SUCCESS: | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								src/rufus.c
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								src/rufus.c
									
										
									
									
									
								
							|  | @ -2332,9 +2332,6 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 		case IDC_LOG: | 		case IDC_LOG: | ||||||
| 			// Place the log Window to the right (or left for RTL) of our dialog on first display
 | 			// Place the log Window to the right (or left for RTL) of our dialog on first display
 | ||||||
| 			if (first_log_display) { | 			if (first_log_display) { | ||||||
| 				// Can't link to dwmapi.lib since it sideloads dwapi.dll *before* we get a chance
 |  | ||||||
| 				// to prevent local directory lookup (Sideloading mitigation).
 |  | ||||||
| 				PF_TYPE_DECL(WINAPI, HRESULT, DwmGetWindowAttribute, (HWND, DWORD, PVOID, DWORD)); |  | ||||||
| 				GetClientRect(GetDesktopWindow(), &DesktopRect); | 				GetClientRect(GetDesktopWindow(), &DesktopRect); | ||||||
| 				GetWindowRect(hLogDialog, &DialogRect); | 				GetWindowRect(hLogDialog, &DialogRect); | ||||||
| 				nWidth = DialogRect.right - DialogRect.left; | 				nWidth = DialogRect.right - DialogRect.left; | ||||||
|  | @ -2342,15 +2339,14 @@ static INT_PTR CALLBACK MainCallback(HWND hDlg, UINT message, WPARAM wParam, LPA | ||||||
| 				GetWindowRect(hDlg, &DialogRect); | 				GetWindowRect(hDlg, &DialogRect); | ||||||
| 				offset = GetSystemMetrics(SM_CXBORDER); | 				offset = GetSystemMetrics(SM_CXBORDER); | ||||||
| 				if (nWindowsVersion >= WINDOWS_10) { | 				if (nWindowsVersion >= WINDOWS_10) { | ||||||
| 					PF_INIT(DwmGetWindowAttribute, Dwmapi); |  | ||||||
| 					// See https://stackoverflow.com/a/42491227/1069307
 | 					// See https://stackoverflow.com/a/42491227/1069307
 | ||||||
| 					// I agree with Stephen Hazel: Whoever at Microsoft thought it would be a great idea to
 | 					// I agree with Stephen Hazel: Whoever at Microsoft thought it would be a great idea to
 | ||||||
| 					// add a *FRIGGING INVISIBLE BORDER* in Windows 10 should face the harshest punishment!
 | 					// add a *FRIGGING INVISIBLE BORDER* in Windows 10 should face the harshest punishment!
 | ||||||
| 					if (pfDwmGetWindowAttribute != NULL) { | 					// Also calling this API will create DLL sideloading issues through 'dwmapi.dll' so make
 | ||||||
| 						pfDwmGetWindowAttribute(hDlg, DWMWA_EXTENDED_FRAME_BOUNDS, &rc, sizeof(RECT)); | 					// sure you delay-load it in your application.
 | ||||||
|  | 					DwmGetWindowAttribute(hDlg, DWMWA_EXTENDED_FRAME_BOUNDS, &rc, sizeof(RECT)); | ||||||
| 					offset += 2 * (DialogRect.left - rc.left); | 					offset += 2 * (DialogRect.left - rc.left); | ||||||
| 				} | 				} | ||||||
| 				} |  | ||||||
| 				if (right_to_left_mode) | 				if (right_to_left_mode) | ||||||
| 					Point.x = max(DialogRect.left - offset - nWidth, 0); | 					Point.x = max(DialogRect.left - offset - nWidth, 0); | ||||||
| 				else | 				else | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								src/rufus.rc
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								src/rufus.rc
									
										
									
									
									
								
							|  | @ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL | ||||||
| IDD_DIALOG DIALOGEX 12, 12, 232, 326 | IDD_DIALOG DIALOGEX 12, 12, 232, 326 | ||||||
| STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | ||||||
| EXSTYLE WS_EX_ACCEPTFILES | EXSTYLE WS_EX_ACCEPTFILES | ||||||
| CAPTION "Rufus 3.19.1881" | CAPTION "Rufus 3.19.1884" | ||||||
| FONT 9, "Segoe UI Symbol", 400, 0, 0x0 | FONT 9, "Segoe UI Symbol", 400, 0, 0x0 | ||||||
| BEGIN | BEGIN | ||||||
|     LTEXT           "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP |     LTEXT           "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP | ||||||
|  | @ -395,8 +395,8 @@ END | ||||||
| // | // | ||||||
| 
 | 
 | ||||||
| VS_VERSION_INFO VERSIONINFO | VS_VERSION_INFO VERSIONINFO | ||||||
|  FILEVERSION 3,19,1881,0 |  FILEVERSION 3,19,1884,0 | ||||||
|  PRODUCTVERSION 3,19,1881,0 |  PRODUCTVERSION 3,19,1884,0 | ||||||
|  FILEFLAGSMASK 0x3fL |  FILEFLAGSMASK 0x3fL | ||||||
| #ifdef _DEBUG | #ifdef _DEBUG | ||||||
|  FILEFLAGS 0x1L |  FILEFLAGS 0x1L | ||||||
|  | @ -414,13 +414,13 @@ BEGIN | ||||||
|             VALUE "Comments", "https://rufus.ie" |             VALUE "Comments", "https://rufus.ie" | ||||||
|             VALUE "CompanyName", "Akeo Consulting" |             VALUE "CompanyName", "Akeo Consulting" | ||||||
|             VALUE "FileDescription", "Rufus" |             VALUE "FileDescription", "Rufus" | ||||||
|             VALUE "FileVersion", "3.19.1881" |             VALUE "FileVersion", "3.19.1884" | ||||||
|             VALUE "InternalName", "Rufus" |             VALUE "InternalName", "Rufus" | ||||||
|             VALUE "LegalCopyright", "© 2011-2022 Pete Batard (GPL v3)" |             VALUE "LegalCopyright", "© 2011-2022 Pete Batard (GPL v3)" | ||||||
|             VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" |             VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" | ||||||
|             VALUE "OriginalFilename", "rufus-3.19.exe" |             VALUE "OriginalFilename", "rufus-3.19.exe" | ||||||
|             VALUE "ProductName", "Rufus" |             VALUE "ProductName", "Rufus" | ||||||
|             VALUE "ProductVersion", "3.19.1881" |             VALUE "ProductVersion", "3.19.1884" | ||||||
|         END |         END | ||||||
|     END |     END | ||||||
|     BLOCK "VarFileInfo" |     BLOCK "VarFileInfo" | ||||||
|  |  | ||||||
|  | @ -168,6 +168,7 @@ CFLAGS = @CFLAGS@ | ||||||
| CPPFLAGS = @CPPFLAGS@ | CPPFLAGS = @CPPFLAGS@ | ||||||
| CYGPATH_W = @CYGPATH_W@ | CYGPATH_W = @CYGPATH_W@ | ||||||
| DEFS = @DEFS@ | DEFS = @DEFS@ | ||||||
|  | DLLTOOL = @DLLTOOL@ | ||||||
| ECHO_C = @ECHO_C@ | ECHO_C = @ECHO_C@ | ||||||
| ECHO_N = @ECHO_N@ | ECHO_N = @ECHO_N@ | ||||||
| ECHO_T = @ECHO_T@ | ECHO_T = @ECHO_T@ | ||||||
|  |  | ||||||
|  | @ -168,6 +168,7 @@ CFLAGS = @CFLAGS@ | ||||||
| CPPFLAGS = @CPPFLAGS@ | CPPFLAGS = @CPPFLAGS@ | ||||||
| CYGPATH_W = @CYGPATH_W@ | CYGPATH_W = @CYGPATH_W@ | ||||||
| DEFS = @DEFS@ | DEFS = @DEFS@ | ||||||
|  | DLLTOOL = @DLLTOOL@ | ||||||
| ECHO_C = @ECHO_C@ | ECHO_C = @ECHO_C@ | ||||||
| ECHO_N = @ECHO_N@ | ECHO_N = @ECHO_N@ | ||||||
| ECHO_T = @ECHO_T@ | ECHO_T = @ECHO_T@ | ||||||
|  |  | ||||||
|  | @ -166,6 +166,7 @@ CFLAGS = @CFLAGS@ | ||||||
| CPPFLAGS = @CPPFLAGS@ | CPPFLAGS = @CPPFLAGS@ | ||||||
| CYGPATH_W = @CYGPATH_W@ | CYGPATH_W = @CYGPATH_W@ | ||||||
| DEFS = @DEFS@ | DEFS = @DEFS@ | ||||||
|  | DLLTOOL = @DLLTOOL@ | ||||||
| ECHO_C = @ECHO_C@ | ECHO_C = @ECHO_C@ | ||||||
| ECHO_N = @ECHO_N@ | ECHO_N = @ECHO_N@ | ||||||
| ECHO_T = @ECHO_T@ | ECHO_T = @ECHO_T@ | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue