use declare instead of printenv for safe env var export. Fixes #105

This commit is contained in:
Diego Lendoiro 2018-06-14 17:33:46 +02:00
parent 7b76dee453
commit 83db1d7fb0
2 changed files with 3 additions and 4 deletions

View File

@ -71,9 +71,8 @@ install() {
} }
email_cron_job() { email_cron_job() {
printenv > /etc/environment
sed -i 's/=\(.*\)/="\1"/g' /etc/environment
cron_task='/etc/cron.d/passbolt_email' cron_task='/etc/cron.d/passbolt_email'
declare -p | grep -Ev 'BASHOPTS|BASH_VERSINFO|EUID|PPID|SHELLOPTS|UID' > /etc/environment
if [ ! -f "$cron_task" ]; then if [ ! -f "$cron_task" ]; then
echo "* * * * * su -c \"source /etc/environment ; /var/www/passbolt/bin/cake EmailQueue.sender\" -s /bin/bash www-data >> /var/log/cron.log 2>&1" >> $cron_task echo "* * * * * su -c \"source /etc/environment ; /var/www/passbolt/bin/cake EmailQueue.sender\" -s /bin/bash www-data >> /var/log/cron.log 2>&1" >> $cron_task
crontab /etc/cron.d/passbolt_email crontab /etc/cron.d/passbolt_email

View File

@ -9,7 +9,7 @@ describe 'passbolt_api service' do
'MYSQL_ROOT_PASSWORD=test', 'MYSQL_ROOT_PASSWORD=test',
'MYSQL_DATABASE=passbolt', 'MYSQL_DATABASE=passbolt',
'MYSQL_USER=passbolt', 'MYSQL_USER=passbolt',
'MYSQL_PASSWORD=P4ssb0lt' 'MYSQL_PASSWORD=±!@#$%^&*()_+=-}{|:;<>?'
], ],
"Healthcheck" => { "Healthcheck" => {
"Test": [ "Test": [
@ -28,7 +28,7 @@ describe 'passbolt_api service' do
@container = Docker::Container.create( @container = Docker::Container.create(
'Env' => [ 'Env' => [
"DATASOURCES_DEFAULT_HOST=#{@mysql.json['NetworkSettings']['IPAddress']}", "DATASOURCES_DEFAULT_HOST=#{@mysql.json['NetworkSettings']['IPAddress']}",
'DATASOURCES_DEFAULT_PASSWORD=P4ssb0lt', 'DATASOURCES_DEFAULT_PASSWORD=±!@#$%^&*()_+=-}{|:;<>?',
'DATASOURCES_DEFAULT_USERNAME=passbolt', 'DATASOURCES_DEFAULT_USERNAME=passbolt',
'DATASOURCES_DEFAULT_DATABASE=passbolt', 'DATASOURCES_DEFAULT_DATABASE=passbolt',
'PASSBOLT_SSL_FORCE=true' 'PASSBOLT_SSL_FORCE=true'