MFH: r554643 r554954

databases/mariadb105-server: Security update to 10.5.7

 * Cleanup/polish PLIST_SUB and SUB_LIST [1]

PR:		248677 [1]
Security:	4fba07ca-13aa-11eb-b31e-d4c9ef517024

databases/mariadb105-server: Bugfix update to 10.5.8

 * Arbitrary InnoDB buffer pool and data file corruption

Approved by:	ports-secteam (joneum, fluffy)
This commit is contained in:
Bernard Spil 2020-11-12 17:23:19 +00:00
parent 5fcef0d946
commit 6f78fb1971
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2020Q4/; revision=554978
6 changed files with 46 additions and 34 deletions

View File

@ -88,6 +88,7 @@ libdata/pkgconfig/mariadb.pc
@comment man/man1/aria_ftdump.1.gz
@comment man/man1/aria_pack.1.gz
@comment man/man1/aria_read_log.1.gz
man/man1/aria_s3_copy.1.gz
@comment man/man1/galera_new_cluster.1.gz
@comment man/man1/galera_recovery.1.gz
@comment man/man1/innochecksum.1.gz
@ -182,4 +183,3 @@ man/man1/replace.1.gz
@comment man/man8/mariadbd.8.gz
@comment man/man8/mysqld.8.gz
share/aclocal/mysql.m4
@dir(%%MARIADB_USER%%,%%MARIADB_GROUP%%,) %%MARIADB_RUNDIR%%

View File

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME?= mariadb
PORTVERSION= 10.5.6
PORTVERSION= 10.5.8
PORTREVISION?= 0
CATEGORIES= databases
MASTER_SITES= http://mirrors.supportex.net/${SITESDIR}/ \
@ -21,12 +21,10 @@ COMMENT?= Multithreaded SQL database (server)
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
# BROKEN_i386= compile error: undeclared identifier 'my_atomic_add32'
LIB_DEPENDS+= libpcre2-8.so:devel/pcre2
# Ugly workaround for MariaDB/CMake library detection
CFLAGS+= -L${LOCALBASE}/lib
LDFLAGS+= -L${LOCALBASE}/lib
USES= bison:build cmake:insource compiler:c++11-lib cpe iconv:translit libedit ncurses shebangfix ssl
@ -58,6 +56,7 @@ OPTIONS_DEFAULT+= CONNECT_EXTRA INNOBASE SPHINX SPIDER WSREP
OPTIONS_GROUP= COMPRESSION ENGINES GROONGA
OPTIONS_DEFINE= CONNECT_EXTRA DOCS
OPTIONS_DEFINE_amd64= WSREP
OPTIONS_DEFINE_aarch64= WSREP
OPTIONS_GROUP_COMPRESSION= LZ4 LZO SNAPPY ZSTD
OPTIONS_GROUP_ENGINES= COLUMNSTORE INNOBASE MROONGA OQGRAPH ROCKSDB S3 SPHINX SPIDER
OPTIONS_GROUP_GROONGA= ZMQ MSGPACK
@ -125,12 +124,8 @@ GSSAPI_HEIMDAL_USES= gssapi:heimdal
GSSAPI_MIT_USES= gssapi:mit
GSSAPI_NONE_CMAKE_ON= -DPLUGIN_AUTH_GSSAPI_CLIENT=OFF
OPTIONS_SUB= yes
SUB_LIST+= MARIADB_USER="${MARIADB_USER}" \
MARIADB_DBDIR="${MARIADB_DBDIR}" \
MARIADB_RUNDIR="${MARIADB_RUNDIR}" \
SUB_LIST+= MARIADB_RUNDIR="${MARIADB_RUNDIR}" \
MARIADB_SOCK="${MARIADB_SOCK}"
PLIST_SUB+= MARIADB_USER="${MARIADB_USER}" \
MARIADB_GROUP="${MARIADB_GROUP}"
.if ${PKGNAMESUFFIX:M*-client}
# MySQL-Client part
@ -139,7 +134,6 @@ CMAKE_OFF+= WITH_WSREP
USES+= readline
USE_LDCONFIG= ${PREFIX}/lib/mysql
SUB_FILES+= my.cnf.sample client.cnf.sample
PLIST_SUB+= MARIADB_RUNDIR="${MARIADB_RUNDIR}"
.else # ! ${PKGNAMESUFFIX:M*-client}
# MySQL-Server part
@ -151,9 +145,12 @@ USE_RC_SUBR= mysql-server
CMAKE_ON+= CMAKE_SKIP_BUILD_RPATH WITH_EMBEDDED_SERVER
CMAKE_OFF+= WITH_CLIENT
SUB_FILES+= server.cnf.sample
SUB_LIST+= MARIADB_GROUP="${MARIADB_GROUP}" \
MARIADB_LOGDIR="${MARIADB_LOGDIR}"
PLIST_SUB+= MARIADB_LOGDIR="${MARIADB_LOGDIR}"
SUB_LIST+= MARIADB_DBDIR="${MARIADB_DBDIR}" \
MARIADB_LOGDIR="${MARIADB_LOGDIR}" \
MARIADB_USER="${MARIADB_USER}"
PLIST_SUB+= MARIADB_LOGDIR="${MARIADB_LOGDIR}" \
MARIADB_USER="${MARIADB_USER}" \
MARIADB_GROUP="${MARIADB_GROUP}"
.for ENGINE in ${OPTIONS_GROUP_ENGINES:NINNOBASE}
${ENGINE}_CMAKE_OFF= -DPLUGIN_${ENGINE}=NO
@ -210,7 +207,7 @@ SUB_LIST+= LEGACY_LIMITS="" MODERN_LIMITS="@comment "
GSSAPI_BASE_IGNORE= GSSAPI_BASE is not compatible with OpenSSL from ports. Use other GSSAPI options or OpenSSL from base system
.endif
.if ${ARCH} != amd64
.if ${ARCH} != amd64 && ${ARCH} != aarch64
PLIST_SUB+= WSREP="@comment "
.endif
@ -227,6 +224,11 @@ post-patch:
${WRKSRC}/cmake/os/DragonFly.cmake
.endif
pre-configure:
${REINPLACE_CMD} 's|\(CHECK_LIBRARY_EXISTS.*\) "" HAVE_|\1 ${LOCALBASE}/lib HAVE_|' \
${WRKSRC}/cmake/pcre.cmake \
${WRKSRC}/storage/innobase/*.cmake
post-configure:
${REINPLACE_CMD} -Ee 's|(#define INCLUDE.*)"$$|\1 -I${PREFIX}/include"|' \
-e 's|(#define LIBS .*)"$$|\1 -L${PREFIX}/lib"|' \
@ -248,7 +250,6 @@ post-install:
${STAGEDIR}${PREFIX}/include/mysql/server \
${STAGEDIR}${ETCDIR}/init.d \
${STAGEDIR}${PREFIX}/lib/mysql/pkgconfig
${MKDIR} ${STAGEDIR}${MARIADB_RUNDIR}
post-install-GSSAPI_NONE-off:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mysql/plugin/auth_gssapi_client.so

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1603027541
SHA256 (mariadb-10.5.6.tar.gz) = ff05dd69e9f6992caf1053242db704f04eda6f9accbcc98b74edfaf6013c45c4
SIZE (mariadb-10.5.6.tar.gz) = 86884252
TIMESTAMP = 1605120890
SHA256 (mariadb-10.5.8.tar.gz) = eb4824f6f2c532cd3fc6a6bce7bf78ea7c6b949f8bdd07656b2c84344e757be8
SIZE (mariadb-10.5.8.tar.gz) = 88206163

View File

@ -12,7 +12,7 @@
%%LEGACY_LIMITS%%# mysql_(instance_)?limits (bool): Set to "NO" by default.
%%LEGACY_LIMITS%%# Set it to yes to run `limits -e -U mysql`
%%LEGACY_LIMITS%%# just before mysql starts.
# mysql_(instance_)?dbdir (str): Default to "/var/db/mysql"
# mysql_(instance_)?dbdir (str): Default to "%%MARIADB_DBDIR%%"
# Base database directory.
# mysql_(instance_)?args (str): Custom additional arguments to be passed
# to mysqld_safe (default empty).
@ -52,12 +52,13 @@ if [ -n "$2" ]; then
case "$mysql_instances" in
"$2 "*|*" $2 "*|*" $2"|"$2")
eval mysql_args="\${mysql_${instance}_args:-\"${mysql_args}\"}"
eval mysql_dbdir="\${mysql_${instance}_dbdir:-\"/var/db/mysql_${instance}\"}"
eval mysql_dbdir="\${mysql_${instance}_dbdir:-\"%%MARIADB_DBDIR%%_${instance}\"}"
%%LEGACY_LIMITS%%eval mysql_limits="\${mysql_${instance}_limits:-\"${mysql_limits}\"}"
eval mysql_user="\${mysql_${instance}_user:-\"${mysql_user}\"}"
%%LEGACY_LIMITS%%eval mysql_limits_args="\${mysql_${instance}_limits_args:-\"-e -U $mysql_user\"}"
eval mysql_optfile="\${mysql_${instance}_optfile:-\"${mysql_dbdir}/my.cnf\"}"
eval mysql_pidfile="\${mysql_${instance}_pidfile:-\"${mysql_dbdir}/`/bin/hostname`.pid\"}"
eval mysql_socket="\${mysql_${instance}_socket:-\"%%MARIADB_RUNDIR%%_${instance}/%%MARIADB_SOCK%%\"}"
eval mysql_optfile="\${mysql_${instance}_optfile:-\"%%ETCDIR%%_${instance}/my.cnf\"}"
eval mysql_pidfile="\${mysql_${instance}_pidfile:-\"%%MARIADB_RUNDIR%%_${instance}/mysqld.pid\"}"
;;
*)
err 1 "$2 not found in mysql_instances" ;;
@ -101,7 +102,7 @@ fi
pidfile=$mysql_pidfile
mysql_install_db="%%PREFIX%%/bin/mariadb-install-db"
mysql_install_db_args="--basedir=%%PREFIX%% --datadir=${mysql_dbdir} --force"
command_args="-c -f %%PREFIX%%/bin/mariadbd-safe --defaults-extra-file=${mysql_optfile} --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args}"
command_args="-c -f %%PREFIX%%/bin/mariadbd-safe --defaults-extra-file=${mysql_optfile} --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_socket:+--socket=${mysql_socket}} ${mysql_args}"
mysql_create_auth_tables()
{
@ -121,6 +122,11 @@ mysql_prestart()
if [ ! -d "${mysql_dbdir}/mysql/." ]; then
mysql_create_auth_tables || return 1
fi
mysql_group="`/usr/bin/id -gn ${mysql_user}`"
[ "${mysql_socket}" = "" ] && mysql_rundir="%%MARIADB_RUNDIR%%" || mysql_rundir="`/usr/bin/dirname ${mysql_socket}`"
if [ ! -d "${mysql_rundir}" ]; then
install -d -o ${mysql_user} -g ${mysql_group} "${mysql_rundir}"
fi
%%LEGACY_LIMITS%% if checkyesno mysql_limits; then
%%LEGACY_LIMITS%% eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
%%LEGACY_LIMITS%% else

View File

@ -17,7 +17,7 @@ user = %%MARIADB_USER%%
# socket = %%MARIADB_RUNDIR%%/mysql.sock # inherited from %%ETCDIR%%/my.cnf
bind-address = 127.0.0.1
basedir = %%PREFIX%%
datadir = /var/db/mysql
datadir = %%MARIADB_DBDIR%%
net_retry_count = 16384
log_error = %%MARIADB_LOGDIR%%/mysqld.err
# [mysqld] configuration for ZFS
@ -26,19 +26,19 @@ log_error = %%MARIADB_LOGDIR%%/mysqld.err
# zroot/mysql compression=on recordsize=128k atime=off
# zroot/mysql/data recordsize=16k
# zroot/mysql/logs
# datadir = /var/db/mysql/data
# innodb_log_group_home_dir = /var/db/mysql/log
# audit_log_file = /var/db/mysql/log/audit.log
# general_log_file = /var/db/mysql/log/general.log
# log_bin = /var/db/mysql/log/mysql-bin
# relay_log = /var/db/mysql/log/relay-log
# slow_query_log_file = /var/db/mysql/log/slow.log
# datadir = %%MARIADB_DBDIR%%/data
# innodb_log_group_home_dir = %%MARIADB_DBDIR%%/log
# audit_log_file = %%MARIADB_DBDIR%%/log/audit.log
# general_log_file = %%MARIADB_DBDIR%%/log/general.log
# log_bin = %%MARIADB_DBDIR%%/log/mysql-bin
# relay_log = %%MARIADB_DBDIR%%/log/relay-log
# slow_query_log_file = %%MARIADB_DBDIR%%/log/slow.log
# innodb_doublewrite = 0
# innodb_flush_method = O_DSYNC
# Options read by `mysqld_safe`
# Options read by `mariadb_safe`
# Renamed from [mysqld_safe] starting with MariaDB 10.4.6.
[mariadb_safe]
[mariadb-safe]
# Options read my `mariabackup`
[mariabackup]

View File

@ -3,6 +3,7 @@ bin/aria_dump_log
bin/aria_ftdump
bin/aria_pack
bin/aria_read_log
%%S3%%bin/aria_s3_copy
%%INNOBASE%%bin/innochecksum
%%INNOBASE%%bin/mariabackup
bin/mariadb-backup
@ -57,6 +58,7 @@ bin/resolveip
@comment %%ETCDIR%%/conf.d/client.cnf
%%ETCDIR%%/conf.d/enable_encryption.preset
@comment %%ETCDIR%%/conf.d/mysql-clients.cnf
%%S3%%%%ETCDIR%%/conf.d/s3.cnf.sample
@sample %%ETCDIR%%/conf.d/server.cnf.sample
%%SPIDER%%@sample %%ETCDIR%%/conf.d/spider.cnf.sample
@comment %%DATADIR%%/wsrep.cnf
@ -187,6 +189,7 @@ lib/mysql/plugin/ha_federatedx.so
%%MROONGA%%lib/mysql/plugin/ha_mroonga.so
%%OQGRAPH%%lib/mysql/plugin/ha_oqgraph.so
%%ROCKSDB%%lib/mysql/plugin/ha_rocksdb.so
%%S3%%lib/mysql/plugin/ha_s3.so
%%SPHINX%%lib/mysql/plugin/ha_sphinx.so
%%SPIDER%%lib/mysql/plugin/ha_spider.so
lib/mysql/pam_user_map.so
@ -202,7 +205,9 @@ lib/mysql/plugin/query_response_time.so
lib/mysql/plugin/server_audit.so
lib/mysql/plugin/simple_password_check.so
lib/mysql/plugin/sql_errlog.so
lib/mysql/plugin/test_sql_service.so
lib/mysql/plugin/test_versioning.so
lib/mysql/plugin/type_mysql_json.so
lib/mysql/plugin/type_test.so
%%WSREP%%lib/mysql/plugin/wsrep_info.so
libexec/mariadbd