summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Evans <grknight@gentoo.org>2022-04-13 13:10:00 -0400
committerBrian Evans <grknight@gentoo.org>2022-04-13 13:10:00 -0400
commit7a6b3b7b1760583be2d969507e7f6c3af199f7cf (patch)
treed5797041b6041434965dc0f1f8b1e052ba5e9771 /dev-php/snuffleupagus
parentapp-text/rnc2rng: Add myself as maintainer (diff)
downloadgentoo-7a6b3b7b1760583be2d969507e7f6c3af199f7cf.tar.gz
gentoo-7a6b3b7b1760583be2d969507e7f6c3af199f7cf.tar.bz2
gentoo-7a6b3b7b1760583be2d969507e7f6c3af199f7cf.zip
dev-php/snuffleupagus: New package
A security add on script in the spirit of suhosin with modern flexibility. Signed-off-by: Brian Evans <grknight@gentoo.org>
Diffstat (limited to 'dev-php/snuffleupagus')
-rw-r--r--dev-php/snuffleupagus/Manifest1
-rw-r--r--dev-php/snuffleupagus/metadata.xml11
-rw-r--r--dev-php/snuffleupagus/snuffleupagus-0.7.1.ebuild59
3 files changed, 71 insertions, 0 deletions
diff --git a/dev-php/snuffleupagus/Manifest b/dev-php/snuffleupagus/Manifest
new file mode 100644
index 000000000000..893d570b5b49
--- /dev/null
+++ b/dev-php/snuffleupagus/Manifest
@@ -0,0 +1 @@
+DIST snuffleupagus-0.7.1.tar.gz 11962220 BLAKE2B 8504721ca08e727a5a6fa58c216a5dac7be3fe6e5a98cffcb17e44a2235628c26f02afd2159e9b1fbe8e40e26bc7c4e34a4ff027ee27b8ec29cf89865dbb8514 SHA512 21510e214f94dd50a4aa05226188c9433a6a261c0bd3d58973ed4536754b3e12356e3f625480c370b66c570482694c25d336a771fbbbeb27e1d524b1f82c7869
diff --git a/dev-php/snuffleupagus/metadata.xml b/dev-php/snuffleupagus/metadata.xml
new file mode 100644
index 000000000000..6cb8e5e502b5
--- /dev/null
+++ b/dev-php/snuffleupagus/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>php-bugs@gentoo.org</email>
+ <name>PHP</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jvoisin/snuffleupagus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-php/snuffleupagus/snuffleupagus-0.7.1.ebuild b/dev-php/snuffleupagus/snuffleupagus-0.7.1.ebuild
new file mode 100644
index 000000000000..13decdb51061
--- /dev/null
+++ b/dev-php/snuffleupagus/snuffleupagus-0.7.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PHP_EXT_NAME="${PN}"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+PHP_EXT_ECONF_ARGS=( --enable-${PN} )
+PHP_EXT_S="${S}/src"
+
+USE_PHP="php7-4 php8-0"
+
+inherit php-ext-source-r3
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="A PHP module to drastically raise the cost of attacks against websites"
+HOMEPAGE="https://snuffleupagus.readthedocs.io/index.html"
+SRC_URI="https://github.com/jvoisin/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3 PHP-3.01"
+SLOT="0"
+
+src_prepare() {
+ # fix file locations tests look for
+ ln -s "${P}/config" "${WORKDIR}/config" || die
+ # Fix path dependent tests
+ sed -i -e 's~src/tests/~~' \
+ src/tests/session_encryption/crypt_session_read_uncrypt.phpt || die
+ sed -i -e 's~%a/src~%a~' \
+ src/tests/disable_function/disabled_functions_runtime.phpt || die
+ php-ext-source-r3_src_prepare
+}
+
+src_install() {
+ einstalldocs
+ local slot x cfgdir
+ php-ext-source-r3_src_install
+ # Add the rules file which vary by install version
+ for slot in $(php_get_slots); do
+ php_init_slot_env "${slot}"
+ for x in ${PHP_EXT_SAPIS} ; do
+ cfgdir="/etc/php/${x}-${slot}"
+ php-ext-source-r3_addtoinifile "${cfgdir}/ext/${PHP_INI_NAME}.ini" \
+ "sp.configuration_file" "${cfgdir}/${PN}.rules"
+ insinto "${cfgdir}"
+ case ${PHP_CURRENTSLOT:0:1} in
+ 8) newins "${S}/config/default_php8.rules" "${PN}.rules" ;;
+ *) newins "${S}/config/default.rules" "${PN}.rules" ;;
+ esac
+ done
+ done
+}
+
+pkg_postinst() {
+ elog "This extension is configured with recommended rules enabled by default."
+ elog "Feel free to customize as necessary. Please test outside of production first."
+ elog "Failure to test may cause unexpected results to loosely coded sites."
+}