Merge pull request #47 from phpbb/ticket/security/233

[ticket/security/233] Make smtp_password and smtp_username dynamic
This commit is contained in:
Marc Alexander 2019-04-27 13:24:16 +02:00
commit f3c4587d47
No known key found for this signature in database
GPG key ID: 50E0D2423696F995
3 changed files with 46 additions and 2 deletions

View file

@ -269,9 +269,9 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('smilies_per_page',
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_auth_method', 'PLAIN');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_delivery', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_host', '');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_password', '');
INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('smtp_password', '', 1);
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_port', '25');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_username', '');
INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('smtp_username', '', 1);
INSERT INTO phpbb_config (config_name, config_value) VALUES ('teampage_memberships', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('teampage_forums', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('topics_per_page', '25');

View file

@ -0,0 +1,42 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\db\migration\data\v32x;
class smtp_dynamic_data extends \phpbb\db\migration\migration
{
static public function depends_on()
{
return array(
'\phpbb\db\migration\data\v32x\v326rc1',
);
}
public function update_data()
{
return array(
array('custom', array(array($this, 'set_smtp_dynamic'))),
);
}
public function set_smtp_dynamic()
{
$smtp_auth_entries = [
'smtp_password',
'smtp_username',
];
$this->sql_query('UPDATE ' . CONFIG_TABLE . '
SET is_dynamic = 1
WHERE ' . $this->db->sql_in_set('config_name', $smtp_auth_entries));
}
}

View file

@ -330,6 +330,8 @@ class config
fwrite($fp, $file_content);
fclose($fp);
// Enforce 0600 permission for install config
$this->filesystem->chmod([$this->install_config_file], 0600);
}
/**