From b56555e92c5a13ec67120036650c950840e1843c Mon Sep 17 00:00:00 2001 From: Simon L Date: Mon, 9 Oct 2023 16:38:18 +0200 Subject: [PATCH] do not expose udp if AIO is in reverse prox mode Signed-off-by: Simon L --- php/src/Docker/DockerActionManager.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/php/src/Docker/DockerActionManager.php b/php/src/Docker/DockerActionManager.php index 7583149abf7..03c8c8c86d7 100644 --- a/php/src/Docker/DockerActionManager.php +++ b/php/src/Docker/DockerActionManager.php @@ -425,12 +425,17 @@ public function CreateContainer(Container $container) : void { if ($container->GetInternalPort() !== 'host') { foreach($container->GetPorts()->GetPorts() as $value) { $port = $value->port; + $protocol = $value->protocol; if ($port === '%APACHE_PORT%') { $port = $this->configurationManager->GetApachePort(); + // Do not expose udp if AIO is in reverse proxy mode + if ($port !== '443' && $protocol === 'udp') { + continue; + } } else if ($port === '%TALK_PORT%') { $port = $this->configurationManager->GetTalkPort(); } - $portWithProtocol = $port . '/' . $value->protocol; + $portWithProtocol = $port . '/' . $protocol; $exposedPorts[$portWithProtocol] = null; } $requestBody['HostConfig']['NetworkMode'] = 'nextcloud-aio'; @@ -442,8 +447,13 @@ public function CreateContainer(Container $container) : void { $requestBody['ExposedPorts'] = $exposedPorts; foreach ($container->GetPorts()->GetPorts() as $value) { $port = $value->port; + $protocol = $value->protocol; if ($port === '%APACHE_PORT%') { $port = $this->configurationManager->GetApachePort(); + // Do not expose udp if AIO is in reverse proxy mode + if ($port !== '443' && $protocol === 'udp') { + continue; + } } else if ($port === '%TALK_PORT%') { $port = $this->configurationManager->GetTalkPort(); } @@ -451,7 +461,6 @@ public function CreateContainer(Container $container) : void { if ($ipBinding === '%APACHE_IP_BINDING%') { $ipBinding = $this->configurationManager->GetApacheIPBinding(); } - $protocol = $value->protocol; $portWithProtocol = $port . '/' . $protocol; $requestBody['HostConfig']['PortBindings'][$portWithProtocol] = [ [