dnl dnl $Id: hardening_patch.m4,v 1.1 2004/11/14 13:24:24 ionic Exp $ dnl dnl This file contains Hardening Patch for PHP specific autoconf functions. dnl AC_ARG_ENABLE(hardening-patch-mm-protect, [ --disable-hardening-patch-mm-protect Disable the Memory Manager protection.],[ DO_HARDENING_PATCH_MM_PROTECT=$enableval ],[ DO_HARDENING_PATCH_MM_PROTECT=yes ]) AC_ARG_ENABLE(hardening-patch-ll-protect, [ --disable-hardening-patch-ll-protect Disable the Linked List protection.],[ DO_HARDENING_PATCH_LL_PROTECT=$enableval ],[ DO_HARDENING_PATCH_LL_PROTECT=yes ]) AC_ARG_ENABLE(hardening-patch-inc-protect, [ --disable-hardening-patch-inc-protect Disable include/require protection.],[ DO_HARDENING_PATCH_INC_PROTECT=$enableval ],[ DO_HARDENING_PATCH_INC_PROTECT=yes ]) AC_ARG_ENABLE(hardening-patch-fmt-protect, [ --disable-hardening-patch-fmt-protect Disable format string protection.],[ DO_HARDENING_PATCH_FMT_PROTECT=$enableval ],[ DO_HARDENING_PATCH_FMT_PROTECT=yes ]) AC_ARG_ENABLE(hardening-patch-hash-protect, [ --disable-hardening-patch-hash-protect Disable HashTable destructor protection.],[ DO_HARDENING_PATCH_HASH_PROTECT=$enableval ],[ DO_HARDENING_PATCH_HASH_PROTECT=yes ]) AC_MSG_CHECKING(whether to protect the Zend Memory Manager) AC_MSG_RESULT($DO_HARDENING_PATCH_MM_PROTECT) AC_MSG_CHECKING(whether to protect the Zend Linked Lists) AC_MSG_RESULT($DO_HARDENING_PATCH_LL_PROTECT) AC_MSG_CHECKING(whether to protect include/require statements) AC_MSG_RESULT($DO_HARDENING_PATCH_INC_PROTECT) AC_MSG_CHECKING(whether to protect PHP Format String functions) AC_MSG_RESULT($DO_HARDENING_PATCH_FMT_PROTECT) AC_MSG_CHECKING(whether to protect the destructor of Zend HashTables) AC_MSG_RESULT($DO_HARDENING_PATCH_HASH_PROTECT) AC_DEFINE(HARDENING_PATCH, 1, [Hardening Patch]) if test "$DO_HARDENING_PATCH_MM_PROTECT" = "yes"; then dnl AC_DEFINE(HARDENING_PATCH, 1, [Hardening Patch]) AC_DEFINE(HARDENING_PATCH_MM_PROTECT, 1, [Memory Manager Protection]) else AC_DEFINE(HARDENING_PATCH_MM_PROTECT, 0, [Memory Manager Protection]) fi if test "$DO_HARDENING_PATCH_LL_PROTECT" = "yes"; then dnl AC_DEFINE(HARDENING_PATCH, 1, [Hardening Patch]) AC_DEFINE(HARDENING_PATCH_LL_PROTECT, 1, [Linked List Protection]) else AC_DEFINE(HARDENING_PATCH_LL_PROTECT, 0, [Linked List Protection]) fi if test "$DO_HARDENING_PATCH_INC_PROTECT" = "yes"; then dnl AC_DEFINE(HARDENING_PATCH, 1, [Hardening Patch]) AC_DEFINE(HARDENING_PATCH_INC_PROTECT, 1, [Include/Require Protection]) else AC_DEFINE(HARDENING_PATCH_INC_PROTECT, 0, [Include/Require Protection]) fi if test "$DO_HARDENING_PATCH_FMT_PROTECT" = "yes"; then dnl AC_DEFINE(HARDENING_PATCH, 1, [Hardening Patch]) AC_DEFINE(HARDENING_PATCH_FMT_PROTECT, 1, [Fmt String Protection]) else AC_DEFINE(HARDENING_PATCH_FMT_PROTECT, 0, [Fmt String Protection]) fi if test "$DO_HARDENING_PATCH_HASH_PROTECT" = "yes"; then dnl AC_DEFINE(HARDENING_PATCH, 1, [Hardening Patch]) AC_DEFINE(HARDENING_PATCH_HASH_PROTECT, 1, [HashTable DTOR Protection]) else AC_DEFINE(HARDENING_PATCH_HASH_PROTECT, 0, [HashTable DTOR Protection]) fi