From 540bb4b53b1f684ea4f8c62f28f47e9dfa5215a3 Mon Sep 17 00:00:00 2001 From: ben Date: Tue, 18 Sep 2012 23:05:29 +0000 Subject: [PATCH] Add a new COMPAT option for environments lacking SecureZeroMemory(), rather than explicitly checking for Winelib. It seems that w32api is lacking it as well. git-svn-id: svn://svn.tartarus.org/sgt/putty@9669 cda61777-01e9-0310-a592-d414129be87e --- Recipe | 5 +++++ mkfiles.pl | 2 +- windows/winmisc.c | 2 +- windows/winstuff.h | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Recipe b/Recipe index e42593b2..3b65c83b 100644 --- a/Recipe +++ b/Recipe @@ -113,6 +113,11 @@ # Cygnus/mingw32, whose resource compiler may have less of a # problem with it. # +# - COMPAT=/DNO_SECUREZEROMEMORY (Windows only) +# Disables PuTTY's use of SecureZeroMemory(), which is missing +# from some environments' header files. This is enabled by +# default in the Cygwin Makefile. +# # - XFLAGS=/DTELNET_DEFAULT # Causes PuTTY to default to the Telnet protocol (in the absence # of Default Settings and so on to the contrary). Normally PuTTY diff --git a/mkfiles.pl b/mkfiles.pl index c87ae4e6..3786d311 100755 --- a/mkfiles.pl +++ b/mkfiles.pl @@ -453,7 +453,7 @@ if (defined $makefiles{'cygwin'}) { "# RCINC = --include-dir c:\\cygwin\\include\\\n". "\n". &splitline("CFLAGS = -mno-cygwin -Wall -O2 -D_WINDOWS -DDEBUG -DWIN32S_COMPAT". - " -D_NO_OLDNAMES -DNO_MULTIMON -DNO_HTMLHELP " . + " -D_NO_OLDNAMES -DNO_MULTIMON -DNO_HTMLHELP -DNO_SECUREZEROMEMORY " . (join " ", map {"-I$dirpfx$_"} @srcdirs)) . "\n". "LDFLAGS = -mno-cygwin -s\n". diff --git a/windows/winmisc.c b/windows/winmisc.c index e3321b53..c74f1e7a 100644 --- a/windows/winmisc.c +++ b/windows/winmisc.c @@ -68,7 +68,7 @@ Filename *filename_deserialise(void *vdata, int maxsize, int *used) return filename_from_str(data); } -#ifndef __WINE__ /* No SecureZeroMemory in Winelib 1.4 */ +#ifndef NO_SECUREZEROMEMORY /* * Windows implementation of smemclr (see misc.c) using SecureZeroMemory. */ diff --git a/windows/winstuff.h b/windows/winstuff.h index 985e01a7..cfed0484 100644 --- a/windows/winstuff.h +++ b/windows/winstuff.h @@ -75,7 +75,7 @@ struct FontSpec *fontspec_new(const char *name, #define BOXRESULT (DLGWINDOWEXTRA + sizeof(LONG_PTR)) #define DF_END 0x0001 -#ifndef __WINE__ /* No SecureZeroMemory in Winelib 1.4 */ +#ifndef NO_SECUREZEROMEMORY #define PLATFORM_HAS_SMEMCLR /* inhibit cross-platform one in misc.c */ #endif -- 2.11.0