Pre-release MISP 2.5 and PHP 8.2

Stefano Ortolani 2024-09-16 11:48:39 +01:00
parent beb62e4dcc
commit a02bfa4abd
5 changed files with 69 additions and 40 deletions

View File

@ -12,9 +12,6 @@ FROM "${DOCKER_HUB_PROXY}python:3.12-slim-bookworm" AS php-base
lsb-release \ lsb-release \
ca-certificates \ ca-certificates \
curl curl
RUN curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
RUN dpkg -i /tmp/debsuryorg-archive-keyring.deb
RUN echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
RUN apt-get update RUN apt-get update
@ -25,18 +22,18 @@ FROM php-base AS composer-build
ARG CORE_COMMIT ARG CORE_COMMIT
RUN apt-get install -y --no-install-recommends \ RUN apt-get install -y --no-install-recommends \
php7.4 \ php8.2 \
php7.4-apcu \ php8.2-apcu \
php7.4-curl \ php8.2-curl \
php7.4-xml \ php8.2-xml \
php7.4-intl \ php8.2-intl \
php7.4-bcmath \ php8.2-bcmath \
php7.4-mbstring \ php8.2-mbstring \
php7.4-mysql \ php8.2-mysql \
php7.4-redis \ php8.2-redis \
php7.4-gd \ php8.2-gd \
php7.4-fpm \ php8.2-fpm \
php7.4-zip \ php8.2-zip \
unzip \ unzip \
&& apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/*
@ -64,10 +61,11 @@ FROM php-base AS php-build
RUN apt-get install -y --no-install-recommends \ RUN apt-get install -y --no-install-recommends \
gcc \ gcc \
g++ \ g++ \
git \
make \ make \
php7.4 \ php8.2 \
php7.4-dev \ php8.2-dev \
php7.4-xml \ php8.2-xml \
php-pear \ php-pear \
libbrotli-dev \ libbrotli-dev \
libfuzzy-dev \ libfuzzy-dev \
@ -76,18 +74,20 @@ FROM php-base AS php-build
libzstd-dev \ libzstd-dev \
&& apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/*
RUN update-alternatives --set php /usr/bin/php7.4 RUN update-alternatives --set php /usr/bin/php8.2
RUN update-alternatives --set php-config /usr/bin/php-config7.4 RUN update-alternatives --set php-config /usr/bin/php-config8.2
RUN update-alternatives --set phpize /usr/bin/phpize7.4 RUN update-alternatives --set phpize /usr/bin/phpize8.2
RUN cp "/usr/lib/$(gcc -dumpmachine)"/libfuzzy.* /usr/lib RUN cp "/usr/lib/$(gcc -dumpmachine)"/libfuzzy.* /usr/lib
RUN pecl channel-update pecl.php.net && \ RUN pecl channel-update pecl.php.net && \
pecl install ssdeep && \
pecl install rdkafka && \ pecl install rdkafka && \
pecl install simdjson && \ pecl install simdjson && \
pecl install zstd && \ pecl install zstd && \
pecl install brotli pecl install brotli
# install pect-text-ssdeep 1.2
RUN git clone --recursive --depth=1 https://github.com/JakubOnderka/pecl-text-ssdeep.git /tmp/pecl-text-ssdeep
RUN cd /tmp/pecl-text-ssdeep && phpize && ./configure && make && make install
FROM php-base AS python-build FROM php-base AS python-build
ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_FRONTEND noninteractive
@ -186,19 +186,19 @@ FROM php-base
mariadb-client \ mariadb-client \
rsync \ rsync \
# PHP Requirements # PHP Requirements
php7.4 \ php8.2 \
php7.4-apcu \ php8.2-apcu \
php7.4-curl \ php8.2-curl \
php7.4-xml \ php8.2-xml \
php7.4-intl \ php8.2-intl \
php7.4-bcmath \ php8.2-bcmath \
php7.4-mbstring \ php8.2-mbstring \
php7.4-mysql \ php8.2-mysql \
php7.4-redis \ php8.2-redis \
php7.4-gd \ php8.2-gd \
php7.4-fpm \ php8.2-fpm \
php7.4-zip \ php8.2-zip \
php7.4-ldap \ php8.2-ldap \
libmagic1 \ libmagic1 \
libldap-common \ libldap-common \
librdkafka1 \ librdkafka1 \
@ -213,7 +213,7 @@ FROM php-base
curl jq \ curl jq \
&& apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/*
RUN update-alternatives --set php /usr/bin/php7.4 RUN update-alternatives --set php /usr/bin/php8.2
# Install python modules # Install python modules
COPY --from=python-build /wheels /wheels COPY --from=python-build /wheels /wheels

View File

@ -33,7 +33,7 @@ change_php_vars() {
echo "Configure PHP | Change PHP values ..." && change_php_vars echo "Configure PHP | Change PHP values ..." && change_php_vars
echo "Configure PHP | Starting PHP FPM" echo "Configure PHP | Starting PHP FPM"
/usr/sbin/php-fpm7.4 -R -F & master_pid=$! /usr/sbin/php-fpm8.2 -R -F & master_pid=$!
# Wait for it # Wait for it
wait "$master_pid" wait "$master_pid"

View File

@ -24,7 +24,7 @@ location / {
location ~ ^/[^/]+\.php(/|$) { location ~ ^/[^/]+\.php(/|$) {
include snippets/fastcgi-php.conf; include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_read_timeout 300s; fastcgi_read_timeout 300s;
fastcgi_send_timeout 300s; fastcgi_send_timeout 300s;
fastcgi_connect_timeout 300s; fastcgi_connect_timeout 300s;

29
core/patches/ssdeep.patch Normal file
View File

@ -0,0 +1,29 @@
From 369e87e7469fd3e30bf46cff9f12f0d5bfc9e611 Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Fri, 4 Sep 2020 14:47:29 +0200
Subject: [PATCH] fix for PHP 8
---
ssdeep.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/ssdeep.c b/ssdeep.c
index 00e91e5..4dee7e2 100644
--- a/ssdeep.c
+++ b/ssdeep.c
@@ -48,6 +48,15 @@
#include "php_ssdeep.h"
#include <fuzzy.h>
+/* For PHP 8 */
+#ifndef TSRMLS_D
+#define TSRMLS_D void
+#define TSRMLS_DC
+#define TSRMLS_C
+#define TSRMLS_CC
+#define TSRMLS_FETCH()
+#endif
+
/* True global resources - no need for thread safety here */
ZEND_BEGIN_ARG_INFO_EX(arginfo_ssdeep_fuzzy_hash, 0, 0, 1)
ZEND_ARG_INFO(0, to_hash)

View File

@ -4,7 +4,7 @@
CORE_TAG=v2.4.198 CORE_TAG=v2.4.198
MODULES_TAG=v2.4.197 MODULES_TAG=v2.4.197
PHP_VER=20190902 PHP_VER=20220829
LIBFAUP_COMMIT=3a26d0a LIBFAUP_COMMIT=3a26d0a
# PYPY_* vars take precedence over MISP's # PYPY_* vars take precedence over MISP's
@ -20,7 +20,7 @@ LIBFAUP_COMMIT=3a26d0a
# PYPI_MISP_STIX_VERSION"==2.4.194" # PYPI_MISP_STIX_VERSION"==2.4.194"
# CORE_COMMIT takes precedence over CORE_TAG # CORE_COMMIT takes precedence over CORE_TAG
# CORE_COMMIT=c56d537 CORE_COMMIT=6df1cc7
# MODULES_COMMIT takes precedence over MODULES_TAG # MODULES_COMMIT takes precedence over MODULES_TAG
# MODULES_COMMIT=de69ae3 # MODULES_COMMIT=de69ae3