diff --git a/cross/libconfig/Makefile b/cross/libconfig/Makefile
index 610609bd1a8..428c235ef95 100644
--- a/cross/libconfig/Makefile
+++ b/cross/libconfig/Makefile
@@ -1,5 +1,5 @@
PKG_NAME = libconfig
-PKG_VERS = 1.7.2
+PKG_VERS = 1.7.3
PKG_EXT = tar.gz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://hyperrealm.github.io/libconfig/dist
@@ -8,8 +8,8 @@ PKG_DIR = $(PKG_NAME)-$(PKG_VERS)
DEPENDS =
HOMEPAGE = https://hyperrealm.github.io/libconfig/
-COMMENT = Simple library for processing structured configuration files
-LICENSE =
+COMMENT = Simple library for processing structured configuration files.
+LICENSE = LGPL-2.1
GNU_CONFIGURE = 1
diff --git a/cross/libconfig/PLIST b/cross/libconfig/PLIST
index 11b338c9e70..5774ef7dc4b 100644
--- a/cross/libconfig/PLIST
+++ b/cross/libconfig/PLIST
@@ -1,6 +1,6 @@
-lnk:lib/libconfig.so
-lnk:lib/libconfig.so.11
-lib:lib/libconfig.so.11.0.2
lnk:lib/libconfig++.so
lnk:lib/libconfig++.so.11
-lib:lib/libconfig++.so.11.0.2
+lib:lib/libconfig++.so.11.1.0
+lnk:lib/libconfig.so
+lnk:lib/libconfig.so.11
+lib:lib/libconfig.so.11.1.0
diff --git a/cross/libconfig/digests b/cross/libconfig/digests
index 26956bdb4d6..7759a1b9151 100644
--- a/cross/libconfig/digests
+++ b/cross/libconfig/digests
@@ -1,3 +1,3 @@
-libconfig-1.7.2.tar.gz SHA1 1da1e7f4e0e376582a8414d2be1acc9dbf6649b5
-libconfig-1.7.2.tar.gz SHA256 7c3c7a9c73ff3302084386e96f903eb62ce06953bb1666235fac74363a16fad9
-libconfig-1.7.2.tar.gz MD5 6bd98ee3a6e6b9126c82c916d7a9e690
+libconfig-1.7.3.tar.gz SHA1 4047db15a9a53bf1a680226eef56c8997ceaf124
+libconfig-1.7.3.tar.gz SHA256 545166d6cac037744381d1e9cc5a5405094e7bfad16a411699bcff40bbb31ee7
+libconfig-1.7.3.tar.gz MD5 15ec701205f91f21b1187f8b61e0d64f
diff --git a/cross/mbedtls/Makefile b/cross/mbedtls/Makefile
new file mode 100644
index 00000000000..6119c703c79
--- /dev/null
+++ b/cross/mbedtls/Makefile
@@ -0,0 +1,20 @@
+PKG_NAME = mbedtls
+PKG_VERS = 2.27.0
+PKG_EXT = tar.gz
+PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
+PKG_DIST_SITE = https://github.com/ARMmbed/mbedtls/archive
+PKG_DIR = $(PKG_NAME)-$(PKG_NAME)-$(PKG_VERS)
+
+DEPENDS =
+
+HOMEPAGE = https://tls.mbed.org
+COMMENT = mbed TLS (formerly known as PolarSSL) makes it trivially easy for developers to include cryptographic and SSL/TLS capabilities in their (embedded) products, facilitating this functionality with a minimal coding footprint.
+LICENSE = Apache 2.0
+
+ADDITIONAL_CFLAGS = -std=c99
+
+CMAKE_ARGS = -DUSE_SHARED_MBEDTLS_LIBRARY=On
+CMAKE_ARGS += -DENABLE_TESTING=Off
+CMAKE_ARGS += -DENABLE_PROGRAMS=Off
+
+include ../../mk/spksrc.cross-cmake.mk
diff --git a/cross/mbedtls/PLIST b/cross/mbedtls/PLIST
new file mode 100644
index 00000000000..bcd508eac7c
--- /dev/null
+++ b/cross/mbedtls/PLIST
@@ -0,0 +1,9 @@
+lnk:lib/libmbedcrypto.so
+lib:lib/libmbedcrypto.so.2.27.0
+lnk:lib/libmbedcrypto.so.7
+lnk:lib/libmbedtls.so
+lnk:lib/libmbedtls.so.13
+lib:lib/libmbedtls.so.2.27.0
+lnk:lib/libmbedx509.so
+lib:lib/libmbedx509.so.1
+lib:lib/libmbedx509.so.2.27.0
diff --git a/cross/mbedtls/digests b/cross/mbedtls/digests
new file mode 100644
index 00000000000..6b8d7262326
--- /dev/null
+++ b/cross/mbedtls/digests
@@ -0,0 +1,3 @@
+mbedtls-2.27.0.tar.gz SHA1 035843f9d4c9ce06bd10d55d8c31a328bfb8ef5d
+mbedtls-2.27.0.tar.gz SHA256 4f6a43f06ded62aa20ef582436a39b65902e1126cbbe2fb17f394e9e9a552767
+mbedtls-2.27.0.tar.gz MD5 066f9a09d2d5cc5e3a60740c8b5d7964
diff --git a/cross/mbedtls/patches/000.fix-for-i386-with-older-gcc.patch b/cross/mbedtls/patches/000.fix-for-i386-with-older-gcc.patch
new file mode 100644
index 00000000000..3fb8826ac66
--- /dev/null
+++ b/cross/mbedtls/patches/000.fix-for-i386-with-older-gcc.patch
@@ -0,0 +1,38 @@
+# fix for:
+# "MPI inline assembly doesn't compile for PIC on i386 with older gcc"
+# https://github.com/ARMmbed/mbedtls/issues/1910
+#
+# bn_mul.h: fix x86 PIC inline ASM compilation with GCC < 5 #1986
+#
+--- include/mbedtls/bn_mul.h.orig 2021-07-06 11:59:58.000000000 +0000
++++ include/mbedtls/bn_mul.h 2021-12-04 08:53:10.640974206 +0000
+@@ -95,12 +95,28 @@
+ ( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 )
+
+ /*
++ * GCC < 5.0 treated the x86 ebx (which is used for the GOT) as a
++ * fixed reserved register when building as PIC, leading to errors
++ * like: bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’
++ *
++ * This is fixed by an improved register allocator in GCC 5+. From the
++ * release notes:
++ * Register allocation improvements: Reuse of the PIC hard register,
++ * instead of using a fixed register, was implemented on x86/x86-64
++ * targets. This improves generated PIC code performance as more hard
++ * registers can be used.
++ */
++#if defined(__GNUC__) && __GNUC__ < 5 && defined(__PIC__)
++#define MULADDC_CANNOT_USE_EBX
++#endif
++
++/*
+ * Disable use of the i386 assembly code below if option -O0, to disable all
+ * compiler optimisations, is passed, detected with __OPTIMIZE__
+ * This is done as the number of registers used in the assembly code doesn't
+ * work with the -O0 option.
+ */
+-#if defined(__i386__) && defined(__OPTIMIZE__)
++#if defined(__i386__) && defined(__OPTIMIZE__) && !defined(MULADDC_CANNOT_USE_EBX)
+
+ #define MULADDC_INIT \
+ asm( \
diff --git a/cross/protobuf-c/Makefile b/cross/protobuf-c/Makefile
index 708a16af9ae..eaeec813b5c 100644
--- a/cross/protobuf-c/Makefile
+++ b/cross/protobuf-c/Makefile
@@ -1,5 +1,5 @@
PKG_NAME = protobuf-c
-PKG_VERS = 1.3.0
+PKG_VERS = 1.4.0
PKG_EXT = tar.gz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/protobuf-c/protobuf-c/releases/download/v$(PKG_VERS)
@@ -8,8 +8,8 @@ PKG_DIR = $(PKG_NAME)-$(PKG_VERS)
DEPENDS =
HOMEPAGE = https://github.com/protobuf-c/protobuf-c
-COMMENT = Protocol Buffers implementation in C
-LICENSE = BSD-2-Clause
+COMMENT = Protocol Buffers implementation in C.
+LICENSE = 2-Clause BSD
GNU_CONFIGURE = 1
CONFIGURE_ARGS = --disable-protoc
diff --git a/cross/protobuf-c/digests b/cross/protobuf-c/digests
index fa39ff5b4b8..dc00bb41e11 100644
--- a/cross/protobuf-c/digests
+++ b/cross/protobuf-c/digests
@@ -1,3 +1,3 @@
-protobuf-c-1.3.0.tar.gz SHA1 804225b297c06ab10e77ca8062e5c62b40341479
-protobuf-c-1.3.0.tar.gz SHA256 5dc9ad7a9b889cf7c8ff6bf72215f1874a90260f60ad4f88acf21bb15d2752a1
-protobuf-c-1.3.0.tar.gz MD5 08804f8bdbb3d6d44c2ec9e71e47ef6f
+protobuf-c-1.4.0.tar.gz SHA1 7ffd744c2feaa028fdaffc821afdf175c4a3b38b
+protobuf-c-1.4.0.tar.gz SHA256 26d98ee9bf18a6eba0d3f855ddec31dbe857667d269bc0b6017335572f85bbcb
+protobuf-c-1.4.0.tar.gz MD5 10e1103a012ce0877c32367949a2fa6e
diff --git a/cross/umurmur/Makefile b/cross/umurmur/Makefile
index aabe3303efa..b0f76fac625 100644
--- a/cross/umurmur/Makefile
+++ b/cross/umurmur/Makefile
@@ -1,22 +1,27 @@
PKG_NAME = umurmur
-PKG_VERS = 0.2.17
+PKG_VERS = 0.2.20
PKG_EXT = tar.gz
PKG_DIST_FILE = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_NAME = $(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = https://github.com/umurmur/umurmur/archive
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)
-DEPENDS = cross/libconfig cross/protobuf-c cross/openssl
+DEPENDS = cross/libconfig cross/protobuf-c cross/mbedtls
HOMEPAGE = https://github.com/umurmur/umurmur
-COMMENT = Minimalistic Murmur (Mumble server)
-LICENSE = BSD 3-clause License
+COMMENT = uMurmur is a minimalistic Mumble server.
+LICENSE = 3-clause BSD
-CMAKE_USE_DESTDIR = 0
+# 'cmake install' does not handle INSTALL_PREFIX/DESTDIR as expected.
+INSTALL_TARGET = umurmur_install
+
+CMAKE_ARGS = -DSSL=mbedtls
+# let cmake find include and library of mbedtls
+CMAKE_ARGS += -DCMAKE_STAGING_PREFIX=$(STAGING_INSTALL_PREFIX)
include ../../mk/spksrc.cross-cmake.mk
-# Mandatory umurmur cmake
-# args for proper build
-CMAKE_ARGS += -DSSL=openssl
-CMAKE_ARGS += -DCMAKE_STAGING_PREFIX=$(STAGING_INSTALL_PREFIX)
+.PHONY: umurmur_install
+umurmur_install:
+ install -d -m 755 $(STAGING_INSTALL_PREFIX)/bin
+ install -m 755 $(CMAKE_BUILD_DIR)/bin/umurmurd $(STAGING_INSTALL_PREFIX)/bin
diff --git a/cross/umurmur/digests b/cross/umurmur/digests
index 7a11596e043..c58f0bc3e54 100644
--- a/cross/umurmur/digests
+++ b/cross/umurmur/digests
@@ -1,3 +1,3 @@
-umurmur-0.2.17.tar.gz SHA1 f1d41e6fa170b663ec7fcff2c8fe8cd745f8af50
-umurmur-0.2.17.tar.gz SHA256 e77b7b6616768f4a1c07442afe49a772692f667b00c23cc85909d4dd0ce206d2
-umurmur-0.2.17.tar.gz MD5 b06566c896a8b4ac32ca00920c8dd093
+umurmur-0.2.20.tar.gz SHA1 6ce73ae86c14aba286d7ac648402fa5f815a7bfa
+umurmur-0.2.20.tar.gz SHA256 b7b2978c3197aef0a6531f1cf0ee1aebb32a55ad8bda43064ce3a944edbcac83
+umurmur-0.2.20.tar.gz MD5 627902817019aa57e5bbf11002bfa4e6
diff --git a/mk/spksrc.cross-cmake-env.mk b/mk/spksrc.cross-cmake-env.mk
index ba8fc0aa27a..cfe1770b2c1 100644
--- a/mk/spksrc.cross-cmake-env.mk
+++ b/mk/spksrc.cross-cmake-env.mk
@@ -61,15 +61,15 @@ ifeq ($(findstring $(ARCH),$(ARMv5_ARCHS)),$(ARCH))
CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=armv5
endif
ifeq ($(findstring $(ARCH),$(ARMv7_ARCHS) $(ARMv7L_ARCHS)),$(ARCH))
- CMAKE_ARGS += -DCMAKE_CXX_FLAGS=-fPIC -DCROSS_COMPILE_ARM=ON
+ CMAKE_ARGS += -DCMAKE_CXX_FLAGS="-fPIC $(ADDITIONAL_CXXFLAGS)" -DCROSS_COMPILE_ARM=ON
CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=armv7
endif
ifeq ($(findstring $(ARCH),$(ARMv8_ARCHS)),$(ARCH))
- CMAKE_ARGS += -DCMAKE_CXX_FLAGS=-fPIC -DCROSS_COMPILE_ARM=ON
+ CMAKE_ARGS += -DCMAKE_CXX_FLAGS="-fPIC $(ADDITIONAL_CXXFLAGS)" -DCROSS_COMPILE_ARM=ON
CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=aarch64
endif
ifeq ($(findstring $(ARCH), $(PPC_ARCHS)),$(ARCH))
- CMAKE_ARGS += -DCMAKE_C_FLAGS="-mcpu=8548 -mhard-float -mfloat-gprs=double"
+ CMAKE_ARGS += -DCMAKE_C_FLAGS="-mcpu=8548 -mhard-float -mfloat-gprs=double $(ADDITIONAL_CFLAGS)"
CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=ppc
endif
ifeq ($(findstring $(ARCH),$(i686_ARCHS)),$(ARCH))
@@ -78,3 +78,16 @@ endif
ifeq ($(findstring $(ARCH),$(x64_ARCHS)),$(ARCH))
CMAKE_ARGS += -DCMAKE_SYSTEM_PROCESSOR=x86_64 -DARCH=64
endif
+ifneq ($(strip $(ADDITIONAL_CFLAGS)),)
+# define cflags if not applied above
+ifneq ($(findstring $(ARCH), $(PPC_ARCHS)),$(ARCH))
+ CMAKE_ARGS += -DCMAKE_C_FLAGS="$(ADDITIONAL_CFLAGS)"
+endif
+endif
+ifneq ($(strip $(ADDITIONAL_CXXFLAGS)),)
+# define cxxflags if not applied above
+ifneq ($(findstring $(ARCH), $(ARMv7_ARCHS) $(ARMv8_ARCHS)),$(ARCH))
+ CMAKE_ARGS += -DCMAKE_CXX_FLAGS="$(ADDITIONAL_CXXFLAGS)"
+endif
+endif
+
diff --git a/spk/umurmur/Makefile b/spk/umurmur/Makefile
index 8bb9fbedd19..5ca2cfb77fe 100644
--- a/spk/umurmur/Makefile
+++ b/spk/umurmur/Makefile
@@ -1,26 +1,23 @@
SPK_NAME = umurmur
-SPK_VERS = 0.2.17
+SPK_VERS = 0.2.20
SPK_REV = 8
SPK_ICON = src/umurmur.png
-DSM_UI_DIR = app
DEPENDS = cross/$(SPK_NAME)
MAINTAINER = Diaoul
-DESCRIPTION = uMurmur is a minimalistic VoIP server based on the open source software Mumble. It allows simultaneous communications between multiple users. Its low latency makes it especially suitable for communications during online gaming. The Mumble client is available at http://mumble.sourceforge.net/ \(Windows, Mac, Linux and iOS\).
-DESCRIPTION_FRE = uMurmur est un serveur minimaliste de voix sur IP basé sur le logiciel libre Mumble. Il rend possible la communication entre plusieurs interlocuteurs de manière simultanée. Sa faible latence le rend particulièrement adapté aux communications pendant les parties de jeux en réseau. Le client Mumble est téléchargeable à l\'adresse http://mumble.sourceforge.net/ \(Windows, Mac, Linux et iOS\).
-DESCRIPTION_SPN = uMurmur es un servidor VoIP minimalista basado en el software de codigo abierto Mumble. Permite comunicaciones simultáneas entre múltiples usuarios. Su baja latencia lo hace especialmente adecuado para comunicarse durante un juego en linea. El cliente Mumble está disponible en http://mumble.sourceforge.net/ \(Windows, Mac, Linux and iOS\).
-RELOAD_UI = yes
+DESCRIPTION = uMurmur is a minimalistic VoIP server based on the open source software Mumble. It allows simultaneous communications between multiple users. Its low latency makes it especially suitable for communications during online gaming. The Mumble client is available at https://dl.mumble.info/stable/ \(Windows, Mac, Linux and iOS\).
+DESCRIPTION_FRE = uMurmur est un serveur minimaliste de voix sur IP basé sur le logiciel libre Mumble. Il rend possible la communication entre plusieurs interlocuteurs de manière simultanée. Sa faible latence le rend particulièrement adapté aux communications pendant les parties de jeux en réseau. Le client Mumble est téléchargeable à l\'adresse https://dl.mumble.info/stable/ \(Windows, Mac, Linux et iOS\).
+DESCRIPTION_SPN = uMurmur es un servidor VoIP minimalista basado en el software de codigo abierto Mumble. Permite comunicaciones simultáneas entre múltiples usuarios. Su baja latencia lo hace especialmente adecuado para comunicarse durante un juego en linea. El cliente Mumble está disponible en https://dl.mumble.info/stable/ \(Windows, Mac, Linux and iOS\).
DISPLAY_NAME = uMurmur
-CHANGELOG = "Update openssl to 1.1."
-STARTABLE = yes
+CHANGELOG = "1. Update uMurmur to v0.2.20
2. Use mbedtls instead of openssl.
3. Update for DSM 7 compatibility."
+STARTABLE = yes
SERVICE_USER = auto
-# SERVICE_COMMAND is provided there
SERVICE_SETUP = src/service-setup.sh
-HOMEPAGE = https://github.com/umurmur/umurmur
-LICENSE = BSD 3-clause License
+HOMEPAGE = https://umurmur.net/
+LICENSE = 3-clause BSD
POST_STRIP_TARGET = umurmur_extra_install
@@ -28,10 +25,7 @@ include ../../mk/spksrc.spk.mk
.PHONY: umurmur_extra_install
umurmur_extra_install:
- install -m 755 -d $(STAGING_DIR)/var
+ install -m 755 -d $(STAGING_DIR)/var $(STAGING_DIR)/app
install -m 644 src/umurmur.conf $(STAGING_DIR)/var/umurmur.conf
- install -m 755 -d $(STAGING_DIR)/sbin
- install -m 755 src/gencert.sh $(STAGING_DIR)/sbin/gencert.sh
- install -m 755 -d $(STAGING_DIR)/app
install -m 644 src/app/config $(STAGING_DIR)/app/config
- install -m 755 src/app/umurmur.cgi.pl $(STAGING_DIR)/app/umurmur.cgi
+ install -m 755 src/app/umurmur.cgi.sh $(STAGING_DIR)/app/umurmur.cgi
diff --git a/spk/umurmur/src/app/umurmur.cgi.pl b/spk/umurmur/src/app/umurmur.cgi.pl
deleted file mode 100644
index 9fa00022115..00000000000
--- a/spk/umurmur/src/app/umurmur.cgi.pl
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/perl -w
-use strict;
-use warnings;
-use CGI;
-use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
-
-# CGI
-my $q = CGI->new;
-
-# Redirect
-print $q->redirect("mumble://".$ENV{SERVER_NAME}."/?version=1.2.19");
diff --git a/spk/umurmur/src/app/umurmur.cgi.sh b/spk/umurmur/src/app/umurmur.cgi.sh
new file mode 100644
index 00000000000..764f0b7d74f
--- /dev/null
+++ b/spk/umurmur/src/app/umurmur.cgi.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+echo Content-type: text/html
+echo
+
+cat << EOF
+
+
+
+
+
+
diff --git a/spk/umurmur/src/gencert.sh b/spk/umurmur/src/gencert.sh
deleted file mode 100755
index 247efd9b2e0..00000000000
--- a/spk/umurmur/src/gencert.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-# Variables
-PACKAGE="umurmur"
-OPENSSL="${SYNOPKG_PKGDEST}/bin/openssl"
-
-# Certificate generation
-${OPENSSL} req -x509 -newkey rsa:1024 -keyout ${SYNOPKG_PKGDEST}/var/umurmur.key -nodes -sha1 -days 365 -out ${SYNOPKG_PKGDEST}/var/umurmur.crt -batch -config ${SYNOPKG_PKGDEST}/openssl.cnf > /dev/null 2>&1
-
-# Exit with the right code and an explicit message
-if [ $? -ne 0 ]; then
- echo "Certificate generation for uMurmur failed"
- touch ${SYNOPKG_PKGDEST}/var/umurmur.key
- touch ${SYNOPKG_PKGDEST}/var/umurmur.crt
- exit 1
-fi
-
-echo "uMurmur's certificate successfully generated"
-exit 0
diff --git a/spk/umurmur/src/service-setup.sh b/spk/umurmur/src/service-setup.sh
index a0c5700a88f..5ed769368d9 100644
--- a/spk/umurmur/src/service-setup.sh
+++ b/spk/umurmur/src/service-setup.sh
@@ -1,44 +1,81 @@
-# Package specific behaviors
-# Sourced script by generic installer and start-stop-status scripts
+# specific service installation
UMURMUR="${SYNOPKG_PKGDEST}/bin/umurmurd"
-CFG_FILE="${SYNOPKG_PKGDEST}/var/umurmur.conf"
-GEN_CERT="${SYNOPKG_PKGDEST}/sbin/gencert.sh"
-
+CFG_FILE="${SYNOPKG_PKGVAR}/umurmur.conf"
SERVICE_COMMAND="${UMURMUR} -c ${CFG_FILE} -p ${PID_FILE}"
+OPENSSL="$(which openssl)"
+PRIVATE_KEY="${SYNOPKG_PKGVAR}/umurmur.key"
+PUBLIC_KEY="${SYNOPKG_PKGVAR}/umurmur.crt"
+
+
+create_certificate ()
+{
+ if [ -f "${PRIVATE_KEY}" ] && [ -f "${PUBLIC_KEY}" ]; then
+ echo "Found uMurmur certificate. To create a new certificate upon package update you have to delete the existing certificate before."
+ exit 0
+ fi
+
+ if [ -z "${OPENSSL}" ]; then
+ echo "missing openssl to create certificate for uMurmur."
+ exit 2
+ fi
+
+ # create certificate (use openssl of DSM)
+ ${OPENSSL} req -x509 -newkey rsa:2048 -keyout ${PRIVATE_KEY} -nodes -sha1 -days 3653 -out ${PUBLIC_KEY} -batch -config /etc/ssl/openssl.cnf > /dev/null 2>&1
+
+ # Exit with the right code and an explicit message
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+
+ echo "Certificate for uMurmur successfully created."
+ exit 0
+}
+
service_postinst ()
{
# Certificate generation
- ${GEN_CERT}
+ create_certificate 2>&1
if [ $? -ne 0 ]; then
+ touch ${PRIVATE_KEY}
+ touch ${PUBLIC_KEY}
exit 1
fi
}
service_preupgrade ()
{
- # Adapt log-file configuration to default
+ # Migrate to DSM 7 compatible var folder
+ if [ -e "${CFG_FILE}" ]; then
+ if $(grep -q "/usr/local/umurmur/var/" "${CFG_FILE}"); then
+ echo "Update var folder for DSM 7 compatibility in configuration file."
+ sed -i -e "s,/usr/local/umurmur/var/,/var/packages/umurmur/var/,g" "${CFG_FILE}"
+ fi
+ fi
+
+ # Update log-file name to package name
if [ -e "${CFG_FILE}" ]; then
- sed -i -e "s,umurmurd.log,umurmur.log,g" "${CFG_FILE}"
- echo "Set log file location to default in configuration file."
+ if $(grep -q "umurmurd.log" "${CFG_FILE}"); then
+ echo "Update log file name in configuration file."
+ sed -i -e "s,umurmurd.log,umurmur.log,g" "${CFG_FILE}"
+ fi
fi
- # Remove nobody user and group from configuration to address changed permission management in DSM6
+ # Remove nobody user and group from configuration to address changed permission management in DSM6+
if [ $SYNOPKG_DSM_VERSION_MAJOR -gt 5 ]; then
if [ -e "${CFG_FILE}" ]; then
- TRUNC_UN=`grep -e 'username = "nobody";' "${CFG_FILE}" | cut -c1`
- if [ ! "${TRUNC_UN}" = "#" ] && [ ! "${TRUNC_UN}" = "" ]; then
+ USER_NOBODY=$(grep -e 'username = "nobody";' "${CFG_FILE}" | cut -c1)
+ if [ "${USER_NOBODY}" != "" ] && [ "${USER_NOBODY}" != "#" ]; then
+ echo "Remove user nobody from umurmur configuration for DSM6+ compatibility."
sed -i -e "s,username = \"nobody\";,# username = \"nobody\";,g" "${CFG_FILE}"
- echo "Removed user nobody from umurmur configuration for DSM6 compatibility."
fi
- TRUNC_GN=`grep -e 'groupname = "nobody";' "${CFG_FILE}" | cut -c1`
- if [ ! "${TRUNC_GN}" = "#" ] && [ ! "${TRUNC_GN}" = "" ]; then
+ GROUP_NOBODY=$(grep -e 'groupname = "nobody";' "${CFG_FILE}" | cut -c1)
+ if [ "${GROUP_NOBODY}" != "" ] && [ "${GROUP_NOBODY}" != "#" ]; then
+ echo "Remove group nobody from umurmur configuration for DSM6+ compatibility."
sed -i -e "s,groupname = \"nobody\";,# groupname = \"nobody\";,g" "${CFG_FILE}"
- echo "Removed group nobody from umurmur configuration for DSM6 compatibility."
fi
fi
fi
}
-
diff --git a/spk/umurmur/src/umurmur.conf b/spk/umurmur/src/umurmur.conf
index 210d6415989..a22a81397da 100644
--- a/spk/umurmur/src/umurmur.conf
+++ b/spk/umurmur/src/umurmur.conf
@@ -1,12 +1,12 @@
-max_bandwidth = 48000;
+max_bandwidth = 96000;
welcometext = "Welcome to uMurmur!";
-certificate = "/var/packages/umurmur/target/var/umurmur.crt";
-private_key = "/var/packages/umurmur/target/var/umurmur.key";
+certificate = "/var/packages/umurmur/var/umurmur.crt";
+private_key = "/var/packages/umurmur/var/umurmur.key";
password = "";
# admin_password = "test"; # Set to enable admin functionality.
# ban_length = 0; # Length in seconds for a ban. Default is 0. 0 = forever.
# enable_ban = false; # Default is false
-# banfile = "/var/packages/umurmur/target/var/banfile.txt"; # File to save bans to. Default is to not save bans to file.
+# banfile = "/var/packages/umurmur/var/banfile.txt"; # File to save bans to. Default is to not save bans to file.
# sync_banfile = false; # Keep banfile synced. Default is false, which means it is saved to at shutdown only.
# allow_textmessage = true; # Default is true
# opus_threshold = 100; # Percentage of users supporting Opus codec for it to be chosen. Default is 100.
@@ -24,7 +24,7 @@ bindport = 64738;
# Log to file option. Default is logging to syslog.
# umurmurd will close and reopen the logfile if SIGHUP is received.
-logfile = "/var/packages/umurmur/target/var/umurmur.log";
+logfile = "/var/packages/umurmur/var/umurmur.log";
# CA location for CA-signed certificates
# ca_path = "/path/to/ca/certificates/";
diff --git a/spk/umurmur/src/umurmur.png b/spk/umurmur/src/umurmur.png
index 7877f333c09..46cabb94b80 100644
Binary files a/spk/umurmur/src/umurmur.png and b/spk/umurmur/src/umurmur.png differ