浏览代码

[Web] Fix broken autoconfig ports, fixes #4221 (#4223)

Refactored to use function, moved another function

Signed-off-by: Kristian Feldsam <feldsam@gmail.com>
Kristian Feldsam 4 年之前
父节点
当前提交
9afea99189
共有 3 个文件被更改,包括 20 次插入18 次删除
  1. 11 1
      data/web/inc/functions.inc.php
  2. 3 11
      data/web/inc/prerequisites.inc.php
  3. 6 6
      data/web/inc/vars.inc.php

+ 11 - 1
data/web/inc/functions.inc.php

@@ -2219,4 +2219,14 @@ function cleanupCSS($ignore = '', $folder = '/tmp/*.css') {
   }
   }
 }
 }
 
 
-?>
+function get_remote_ip() {
+  $remote = $_SERVER['REMOTE_ADDR'];
+  if (filter_var($remote, FILTER_VALIDATE_IP) === false) {
+    return '0.0.0.0';
+  }
+  return $remote;
+}
+
+function getEnvPort(string $name): int {
+	return (int)filter_var(substr(getenv($name), strrpos(getenv($name), ':')), FILTER_SANITIZE_NUMBER_INT);
+}

+ 3 - 11
data/web/inc/prerequisites.inc.php

@@ -5,6 +5,8 @@
   header('Location: /SOGo', true, 307);
   header('Location: /SOGo', true, 307);
   exit;
   exit;
 }*/
 }*/
+// Load core functions first
+require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.inc.php';
 
 
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/vars.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/vars.inc.php';
 $default_autodiscover_config = $autodiscover_config;
 $default_autodiscover_config = $autodiscover_config;
@@ -171,17 +173,7 @@ function exception_handler($e) {
 }
 }
 set_exception_handler('exception_handler');
 set_exception_handler('exception_handler');
 
 
-// TODO: Move function
-function get_remote_ip() {
-  $remote = $_SERVER['REMOTE_ADDR'];
-  if (filter_var($remote, FILTER_VALIDATE_IP) === false) {
-    return '0.0.0.0';
-  }
-  return $remote;
-}
-
-// Load core functions first
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/functions.inc.php';
+// Load session
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/sessions.inc.php';
 require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/sessions.inc.php';
 
 
 // IMAP lib
 // IMAP lib

+ 6 - 6
data/web/inc/vars.inc.php

@@ -45,18 +45,18 @@ $autodiscover_config = array(
   // The autoconfig service will additionally announce the STARTTLS-enabled ports, specified in the "tlsport" variable.
   // The autoconfig service will additionally announce the STARTTLS-enabled ports, specified in the "tlsport" variable.
   'imap' => array(
   'imap' => array(
     'server' => $mailcow_hostname,
     'server' => $mailcow_hostname,
-    'port' => (int)filter_var(substr(getenv('IMAPS_PORT'), strrpos(getenv('IMAPS_PORT'), ':')), FILTER_SANITIZE_NUMBER_INT),
-    'tlsport' => (int)filter_var(substr(getenv('POP_PORT'), strrpos(getenv('IMAP_PORT'), ':')), FILTER_SANITIZE_NUMBER_INT)
+    'port' => getEnvPort('IMAPS_PORT'),
+    'tlsport' => getEnvPort('IMAP_PORT')
   ),
   ),
   'pop3' => array(
   'pop3' => array(
     'server' => $mailcow_hostname,
     'server' => $mailcow_hostname,
-    'port' => (int)filter_var(substr(getenv('POPS_PORT'), strrpos(getenv('POPS_PORT'), ':')), FILTER_SANITIZE_NUMBER_INT),
-    'tlsport' => (int)filter_var(substr(getenv('POP_PORT'), strrpos(getenv('POP_PORT'), ':')), FILTER_SANITIZE_NUMBER_INT)
+    'port' => getEnvPort('POPS_PORT'),
+    'tlsport' => getEnvPort('POP_PORT')
   ),
   ),
   'smtp' => array(
   'smtp' => array(
     'server' => $mailcow_hostname,
     'server' => $mailcow_hostname,
-    'port' => (int)filter_var(substr(getenv('SMTPS_PORT'), strrpos(getenv('SMTPS_PORT'), ':')), FILTER_SANITIZE_NUMBER_INT),
-    'tlsport' => (int)filter_var(substr(getenv('SUBMISSION_PORT'), strrpos(getenv('SUBMISSION_PORT'), ':')), FILTER_SANITIZE_NUMBER_INT)
+    'port' => getEnvPort('SMTPS_PORT'),
+    'tlsport' => getEnvPort('SUBMISSION_PORT')
   ),
   ),
   'activesync' => array(
   'activesync' => array(
     'url' => 'https://' . $mailcow_hostname . ($https_port == 443 ? '' : ':' . $https_port) . '/Microsoft-Server-ActiveSync',
     'url' => 'https://' . $mailcow_hostname . ($https_port == 443 ? '' : ':' . $https_port) . '/Microsoft-Server-ActiveSync',