1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00

net/rabbitmq: update to 3.9.1

Security:	CVE-2021-22116
Sponsored by:	SkunkWerks, GmbH
MFH:	        2021Q3
This commit is contained in:
Dave Cottlehuber 2021-06-24 22:43:26 +00:00
parent be25abd894
commit 7082af47ea
9 changed files with 1388 additions and 293 deletions

View File

@ -1,8 +1,7 @@
# Created by: Phillip Neumann <pneumann@gmail.com>
PORTNAME= rabbitmq
DISTVERSION= 3.8.3
PORTREVISION= 2
DISTVERSION= 3.9.1
CATEGORIES= net
MASTER_SITES= https://github.com/rabbitmq/rabbitmq-server/releases/download/v${PORTVERSION}/
DISTNAME= ${PORTNAME}-server-${PORTVERSION}
@ -10,16 +9,16 @@ DISTNAME= ${PORTNAME}-server-${PORTVERSION}
MAINTAINER= erlang@FreeBSD.org
COMMENT= Erlang implementation of AMQP
LICENSE= MPL11
LICENSE= MPL20
LICENSE_FILE= ${WRKSRC}/LICENSE-MPL-RabbitMQ
BUILD_DEPENDS= erlang-runtime21>=21.3:lang/erlang-runtime21 \
BUILD_DEPENDS= erlang-runtime${ERLANG_VER}>=${ERLANG_VER}.0:lang/erlang-runtime${ERLANG_VER} \
elixir>=1.10:lang/elixir \
${PYTHON_PKGNAMEPREFIX}simplejson>=2.0:devel/py-simplejson@${PY_FLAVOR} \
xmlto:textproc/xmlto \
zip:archivers/zip \
rsync:net/rsync
RUN_DEPENDS= erlang-runtime21>=21.3:lang/erlang-runtime21
RUN_DEPENDS= erlang-runtime${ERLANG_VER}>=${ERLANG_VER}.0:lang/erlang-runtime${ERLANG_VER}
USES= cpe gmake shebangfix tar:xz
USE_LOCALE= en_US.UTF-8
@ -38,6 +37,8 @@ ALL_TARGET= install
USERS= rabbitmq
GROUPS= rabbitmq
SUB_LIST+= ERLANG_LIB=${ERLANG_LIB}
PLIST_SUB= VERSION=${PORTVERSION}
CPE_VENDOR= pivotal_software
@ -46,25 +47,28 @@ REINPLACE_ARGS= -i ""
SCRIPTS_DIR= ${WRKSRC}/deps/rabbit/scripts
SHEBANG_FILES= deps/rabbitmq_management/bin/rabbitmqadmin
MAKE_ARGS+= PYTHON=${PYTHON_CMD}
MAKE_ENV+= PATH="${LOCALBASE}/lib/erlang21/bin:${PATH}" \
MAKE_ENV+= PATH="${LOCALBASE}/lib/${ERLANG_LIB}/bin:${PATH}" \
RMQ_LIBDIR="${PREFIX}/lib" \
MANDIR="${PREFIX}/man" \
DESTDIR="${STAGEDIR}"
MAKE_JOBS_UNSAFE= yes
ERLANG_LIB= erlang21
ERLANG_VER= 24
ERLANG_LIB= erlang${ERLANG_VER}
.include <bsd.port.options.mk>
post-patch:
@${REINPLACE_CMD} -e 's|/etc/rabbitmq|${PREFIX}/etc/rabbitmq|g ; s|/var/lib|/var/db|g ; s|$${ERL_DIR}erl|${PREFIX}/lib/${ERLANG_LIB}/bin/erl|g' \
${SCRIPTS_DIR}/rabbitmq-server \
${SCRIPTS_DIR}/rabbitmqctl \
${SCRIPTS_DIR}/rabbitmq-env \
${SCRIPTS_DIR}/rabbitmq-plugins \
${SCRIPTS_DIR}/rabbitmq-defaults \
${WRKSRC}/deps/rabbit/docs/rabbitmq-env.conf.5
# ensure our OTP is always preferred over other installed versions
@${REINPLACE_CMD} -e 's|LOCALBASE|${LOCALBASE}|' \
-e 's|ERLANG_LIB|${ERLANG_LIB}|' \
${WRKSRC}/deps/rabbit/scripts/rabbitmq-defaults
# ensure docs match heir(7) paths
@${REINPLACE_CMD} -i '' \
-e 's|/etc/rabbitmq|${PREFIX}/etc/rabbitmq|g' \
-e 's|/var/lib|/var/db|g' \
${WRKSRC}/deps/rabbit/docs/*
post-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/rabbitmq
@ -74,7 +78,7 @@ post-install:
${STAGEDIR}${PREFIX}/etc/rabbitmq/advanced.config.sample
${INSTALL_DATA} ${WRKSRC}/deps/rabbit/docs/rabbitmq.conf.example \
${STAGEDIR}${PREFIX}/etc/rabbitmq/rabbitmq.conf.sample
.for _file in cuttlefish rabbitmq-defaults rabbitmq-diagnostics rabbitmq-env rabbitmq-plugins rabbitmq-server rabbitmq-upgrade rabbitmqctl
.for _file in rabbitmq-defaults rabbitmq-diagnostics rabbitmq-env rabbitmq-plugins rabbitmq-server rrabbitmq-streams rabbitmq-upgrade rabbitmqctl
${LN} -s ../lib/rabbitmq_server-${PORTVERSION}/sbin/${_file} ${STAGEDIR}${PREFIX}/sbin
.endfor
${INSTALL_MAN} ${WRKSRC}/deps/rabbit/docs/*.8 ${STAGEDIR}${MAN1PREFIX}/man/man8

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1587412153
SHA256 (rabbitmq-server-3.8.3.tar.xz) = aedc8458701a80167b35958c10090d468c3de11984510b49ec02e777c51b1aba
SIZE (rabbitmq-server-3.8.3.tar.xz) = 3304456
TIMESTAMP = 1627734741
SHA256 (rabbitmq-server-3.9.1.tar.xz) = 0c06e7df05a686141b3ab244a64c147d03dd6fbe34c17e6d98c50325073a6ae1
SIZE (rabbitmq-server-3.9.1.tar.xz) = 3328352

View File

@ -0,0 +1,17 @@
--- deps/rabbit/scripts/rabbitmq-defaults.orig 2021-06-24 16:41:31 UTC
+++ deps/rabbit/scripts/rabbitmq-defaults
@@ -6,7 +6,13 @@
## Copyright (c) 2007-2021 VMware, Inc. or its affiliates. All rights reserved.
### next line potentially updated in package install steps
-SYS_PREFIX=
+SYS_PREFIX=LOCALBASE
+# https://www.rabbitmq.com/relocate.html#unix
+export PATH=LOCALBASE/lib/ERLANG_LIB/bin:$PATH
+export RABBITMQ_MNESIA_BASE=/var/db/rabbitmq/mnesia
+export RABBITMQ_LOG_BASE=/var/log/rabbitmq
+# ensure VM and Elixir scripts are running under the same locale
+export LANG=en_US.UTF-8
CLEAN_BOOT_FILE=start_clean
SASL_BOOT_FILE=start_sasl

View File

@ -1,8 +0,0 @@
--- deps/rabbit/scripts/rabbitmq-plugins.orig 2018-03-14 11:00:24 UTC
+++ deps/rabbit/scripts/rabbitmq-plugins
@@ -29,4 +29,5 @@ set -a
# shellcheck source=./rabbitmq-env
. "${0%/*}"/rabbitmq-env
+HOME=/var/db/rabbitmq
run_escript rabbitmqctl_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-plugins --formatter=plugins -q "$@"

View File

@ -1,10 +0,0 @@
--- deps/rabbit/scripts/rabbitmq-server.orig 2018-03-14 10:58:29 UTC
+++ deps/rabbit/scripts/rabbitmq-server
@@ -203,6 +203,7 @@ start_rabbitmq_server() {
ensure_thread_pool_size
check_start_params &&
RABBITMQ_CONFIG_FILE=$RABBITMQ_CONFIG_FILE \
+ HOME=/var/db/rabbitmq \
ERL_MAX_ETS_TABLES=$ERL_MAX_ETS_TABLES \
ERL_CRASH_DUMP=$ERL_CRASH_DUMP \
exec ${ERL_DIR}erl \

View File

@ -1,8 +0,0 @@
--- deps/rabbit/scripts/rabbitmqctl.orig 2018-03-14 10:59:24 UTC
+++ deps/rabbit/scripts/rabbitmqctl
@@ -29,4 +29,5 @@ set -a
# shellcheck source=./rabbitmq-env
. "${0%/*}"/rabbitmq-env
+HOME=/var/db/rabbitmq
run_escript rabbitmqctl_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmqctl "$@"

View File

@ -1,11 +1,11 @@
--- deps/rabbitmq_cli/mix.exs.orig 2021-06-23 10:54:40 UTC
--- deps/rabbitmq_cli/mix.exs.orig 2021-06-24 22:46:46 UTC
+++ deps/rabbitmq_cli/mix.exs
@@ -20,7 +20,7 @@ defmodule RabbitMQCtl.MixfileBase do
@@ -11,7 +11,7 @@ defmodule RabbitMQCtl.MixfileBase do
[
app: :rabbitmqctl,
version: "3.8.0-dev",
- elixir: ">= 1.7.0 and < 1.11.0",
+ elixir: ">= 1.7.0",
- elixir: ">= 1.10.4 and < 1.13.0",
+ elixir: ">= 1.10.4",
build_embedded: Mix.env == :prod,
start_permanent: Mix.env == :prod,
escript: [main_module: RabbitMQCtl,

View File

@ -24,7 +24,6 @@ rabbitmq_server="%%PREFIX%%/sbin/rabbitmq-server"
rabbitmq_ctl="%%PREFIX%%/sbin/rabbitmqctl"
rabbitmq_env_conf="%%PREFIX%%/etc/rabbitmq/rabbitmq-env.conf"
pidfile="/var/run/${name}.pid"
daemon_pidfile="/var/run/${name}-daemon.pid"
start_cmd="${name}_start"
stop_cmd="${name}_stop"
@ -32,14 +31,19 @@ rotate_logs_cmd="su -m ${rabbitmq_user} -c 'sh -c \"${rabbitmq_ctl} rotate_logs\
status_cmd="su -m ${rabbitmq_user} -c 'sh -c \"${rabbitmq_ctl} status\"'"
extra_commands="rotate_logs status"
# ensure scripts find erlang_cookie
export HOME=/var/db/${name}
# set defaults but allow admin to override them in rabbitmq_env_conf
: ${RABBITMQ_HOME:=/var/db/${name}}
: ${RABBITMQ_LOG_BASE:=/var/log/${name}}
: ${RABBITMQ_PID_FILE:=${pidfile}}
# require precise OTP version in case multiple erlangs are installed
export PATH=%%PREFIX%%/lib/%%ERLANG_LIB%%/bin:$PATH
if [ -f ${rabbitmq_env_conf} ]; then
. ${rabbitmq_env_conf}
fi
export RABBITMQ_HOME=/var/db/${name}
# Prevent conflicts with amqp_client and rabbit_common applications that
# may be installed in ERL_LIBS.
unset ERL_LIBS
@ -60,23 +64,25 @@ rabbitmq_start()
chmod 600 ${RABBITMQ_HOME}/.erlang.cookie
fi
env HOME=${RABBITMQ_HOME} /usr/sbin/daemon -c -f -u ${rabbitmq_user} -p ${pidfile} -P ${daemon_pidfile} ${rabbitmq_server}
install -o ${rabbitmq_user} /dev/null ${pidfile}
debug "Running: rabbitmq-server -detached"
su -m ${rabbitmq_user} -c "${rabbitmq_server} -detached" >/dev/null 2>&1
debug "Running: rabbitmqctl wait ${pidfile}"
${rabbitmq_ctl} wait ${pidfile} >/dev/null 2>&1
su -m ${rabbitmq_user} -c "${rabbitmq_ctl} wait ${pidfile}" >/dev/null 2>&1
}
rabbitmq_stop()
{
echo "Stopping ${name}."
if [ -f ${daemon_pidfile} ]; then
read daemon_pid < ${daemon_pidfile}
if [ -f ${pidfile} ]; then
debug "Running: ${rabbitmq_ctl} stop ${pidfile}"
su -m ${rabbitmq_user} -c "sh -c \"${rabbitmq_ctl} stop ${pidfile}\"" >/dev/null 2>&1
[ -n "${daemon_pid}" ] && wait_for_pids ${daemon_pid}
su -m ${rabbitmq_user} -c "${rabbitmq_ctl} stop ${pidfile}" >/dev/null 2>&1
else
debug "Running: ${rabbitmq_ctl} stop"
su -m ${rabbitmq_user} -c "sh -c \"${rabbitmq_ctl} stop\"" >/dev/null 2>&1
debug "Running: ${rabbitmq_ctl} shutdown"
su -m ${rabbitmq_user} -c "${rabbitmq_ctl} shutdown" >/dev/null 2>&1
fi
}
run_rc_command "$1"

File diff suppressed because it is too large Load Diff