mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-30 01:10:58 +01:00
7145587df7
Summary: This is just a general review of config options, to reduce the amount of damage a rogue administrator (without host access) can do. In particular: - Fix some typos. - Lock down some options which would potentially let a rogue administrator do something sketchy. - Most of the new locks relate to having them register a new service account, then redirect services to their account. This potentially allows them to read email. - Lock down some general disk stuff, which could be troublesome in combination with other vulnerabilities. Test Plan: - Read through config options. - Tried to think about how to do evil things with each one. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Differential Revision: https://secure.phabricator.com/D8928
50 lines
1.8 KiB
PHP
50 lines
1.8 KiB
PHP
<?php
|
|
|
|
final class PhabricatorPHPMailerConfigOptions
|
|
extends PhabricatorApplicationConfigOptions {
|
|
|
|
public function getName() {
|
|
return pht("PHPMailer");
|
|
}
|
|
|
|
public function getDescription() {
|
|
return pht("Configure PHPMailer.");
|
|
}
|
|
|
|
public function getOptions() {
|
|
return array(
|
|
$this->newOption('phpmailer.mailer', 'string', 'smtp')
|
|
->setLocked(true)
|
|
->setSummary(pht("Configure mailer used by PHPMailer."))
|
|
->setDescription(
|
|
pht(
|
|
"If you're using PHPMailer to send email, provide the mailer and ".
|
|
"options here. PHPMailer is much more enormous than ".
|
|
"PHPMailerLite, and provides more mailers and greater enormity. ".
|
|
"You need it when you want to use SMTP instead of sendmail as the ".
|
|
"mailer.")),
|
|
$this->newOption('phpmailer.smtp-host', 'string', null)
|
|
->setLocked(true)
|
|
->setDescription(pht('Host for SMTP.')),
|
|
$this->newOption('phpmailer.smtp-port', 'int', 25)
|
|
->setLocked(true)
|
|
->setDescription(pht('Port for SMTP.')),
|
|
// TODO: Implement "enum"? Valid values are empty, 'tls', or 'ssl'.
|
|
$this->newOption('phpmailer.smtp-protocol', 'string', null)
|
|
->setLocked(true)
|
|
->setSummary(pht('Configure TLS or SSL for SMTP.'))
|
|
->setDescription(
|
|
pht(
|
|
"Using PHPMailer with SMTP, you can set this to one of 'tls' or ".
|
|
"'ssl' to use TLS or SSL, respectively. Leave it blank for ".
|
|
"vanilla SMTP. If you're sending via Gmail, set it to 'ssl'.")),
|
|
$this->newOption('phpmailer.smtp-user', 'string', null)
|
|
->setLocked(true)
|
|
->setDescription(pht('Username for SMTP.')),
|
|
$this->newOption('phpmailer.smtp-password', 'string', null)
|
|
->setMasked(true)
|
|
->setDescription(pht('Password for SMTP.')),
|
|
);
|
|
}
|
|
|
|
}
|