mirror of
https://github.com/nextcloud/all-in-one.git
synced 2025-12-20 14:36:52 +00:00
Merge pull request #7086 from nextcloud/enh/6774/allow-skip-domain-validation
Some checks failed
Codespell / Check spelling (push) Waiting to run
Lint php / php-lint (push) Waiting to run
Lint php / php-lint-summary (push) Blocked by required conditions
PHP Deprecation Detector / PHP Deprecation Detector (push) Waiting to run
Static analysis / static-psalm-analysis (push) Waiting to run
Docker Lint / docker-lint (push) Has been cancelled
Twig Lint / twig-lint (push) Has been cancelled
Some checks failed
Codespell / Check spelling (push) Waiting to run
Lint php / php-lint (push) Waiting to run
Lint php / php-lint-summary (push) Blocked by required conditions
PHP Deprecation Detector / PHP Deprecation Detector (push) Waiting to run
Static analysis / static-psalm-analysis (push) Waiting to run
Docker Lint / docker-lint (push) Has been cancelled
Twig Lint / twig-lint (push) Has been cancelled
aio-interface: allow to skip domain validation via url-param
This commit is contained in:
commit
a267fe5cba
8 changed files with 19 additions and 11 deletions
|
|
@ -87,6 +87,7 @@ $app->get('/containers', function (Request $request, Response $response, array $
|
|||
$params = $request->getQueryParams();
|
||||
$bypass_mastercontainer_update = isset($params['bypass_mastercontainer_update']);
|
||||
$bypass_container_update = isset($params['bypass_container_update']);
|
||||
$skip_domain_validation = isset($params['skip_domain_validation']);
|
||||
|
||||
return $view->render($response, 'containers.twig', [
|
||||
'domain' => $configurationManager->GetDomain(),
|
||||
|
|
@ -116,7 +117,7 @@ $app->get('/containers', function (Request $request, Response $response, array $
|
|||
'daily_backup_time' => $configurationManager->GetDailyBackupTime(),
|
||||
'is_daily_backup_running' => $configurationManager->isDailyBackupRunning(),
|
||||
'timezone' => $configurationManager->GetTimezone(),
|
||||
'skip_domain_validation' => $configurationManager->shouldDomainValidationBeSkipped(),
|
||||
'skip_domain_validation' => ( $skip_domain_validation ? true : $configurationManager->shouldDomainValidationBeSkipped(false) ),
|
||||
'talk_port' => $configurationManager->GetTalkPort(),
|
||||
'collabora_dictionaries' => $configurationManager->GetCollaboraDictionaries(),
|
||||
'collabora_additional_options' => $configurationManager->GetAdditionalCollaboraOptions(),
|
||||
|
|
|
|||
|
|
@ -19,7 +19,8 @@ readonly class ConfigurationController {
|
|||
try {
|
||||
if (isset($request->getParsedBody()['domain'])) {
|
||||
$domain = $request->getParsedBody()['domain'] ?? '';
|
||||
$this->configurationManager->SetDomain($domain);
|
||||
$skipDomainValidation = isset($request->getParsedBody()['skip_domain_validation']);
|
||||
$this->configurationManager->SetDomain($domain, $skipDomainValidation);
|
||||
}
|
||||
|
||||
if (isset($request->getParsedBody()['current-master-password']) || isset($request->getParsedBody()['new-master-password'])) {
|
||||
|
|
|
|||
|
|
@ -288,7 +288,7 @@ class ConfigurationManager
|
|||
/**
|
||||
* @throws InvalidSettingConfigurationException
|
||||
*/
|
||||
public function SetDomain(string $domain) : void {
|
||||
public function SetDomain(string $domain, bool $skipDomainValidation) : void {
|
||||
// Validate that at least one dot is contained
|
||||
if (!str_contains($domain, '.')) {
|
||||
throw new InvalidSettingConfigurationException("Domain must contain at least one dot!");
|
||||
|
|
@ -315,7 +315,7 @@ class ConfigurationManager
|
|||
}
|
||||
|
||||
// Skip domain validation if opted in to do so
|
||||
if (!$this->shouldDomainValidationBeSkipped()) {
|
||||
if (!$this->shouldDomainValidationBeSkipped($skipDomainValidation)) {
|
||||
|
||||
$dnsRecordIP = gethostbyname($domain);
|
||||
if ($dnsRecordIP === $domain) {
|
||||
|
|
@ -898,8 +898,9 @@ class ConfigurationManager
|
|||
$this->WriteConfig($config);
|
||||
}
|
||||
|
||||
public function shouldDomainValidationBeSkipped() : bool {
|
||||
if (getenv('SKIP_DOMAIN_VALIDATION') === 'true') {
|
||||
public function shouldDomainValidationBeSkipped(bool $skipDomainValidation) : bool {
|
||||
if ($skipDomainValidation || getenv('SKIP_DOMAIN_VALIDATION') === 'true') {
|
||||
error_log('Skipping domain validation');
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -112,6 +112,9 @@
|
|||
<input type="text" id="domain" name="domain" value="{{ domain }}" placeholder="nextcloud.yourdomain.com"/>
|
||||
<input type="hidden" name="{{csrf.keys.name}}" value="{{csrf.name}}">
|
||||
<input type="hidden" name="{{csrf.keys.value}}" value="{{csrf.value}}">
|
||||
{% if skip_domain_validation == true %}
|
||||
<input type="hidden" name="skip_domain_validation" value="{{skip_domain_validation}}">
|
||||
{% endif %}
|
||||
<input type="submit" value="Submit domain" />
|
||||
</form>
|
||||
{% if skip_domain_validation == false %}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue