]> git.openstreetmap.org Git - nominatim.git/commitdiff
make HTTP proxy setup explicit
authorSarah Hoffmann <lonvia@denofr.de>
Tue, 15 Dec 2020 10:04:19 +0000 (11:04 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Sat, 19 Dec 2020 13:33:04 +0000 (14:33 +0100)
The setup relies on the project configuration which we want to
explicitly set up in later steps. Therefore proxy setup needs to
be done explicitly as well. There is the added bonus that the
setup is done only for the utils which try to call outside.

lib/cmd.php
lib/init-cmd.php
utils/country_languages.php
utils/setup.php
utils/specialphrases.php
utils/update.php

index 3eac3e8f5c5a0c0bc108762d48003d454a857e50..b72c1bb41726950b6772ae5ea0157c56331e3e47 100644 (file)
@@ -195,3 +195,31 @@ function runSQLScript($sScript, $bfatal = true, $bVerbose = false, $bIgnoreError
         fail("pgsql returned with error code ($iReturn)");
     }
 }
+
+function setupHTTPProxy()
+{
+    if (!CONST_HTTP_Proxy) {
+        return;
+    }
+
+    $sProxy = 'tcp://'.CONST_HTTP_Proxy_Host.':'.CONST_HTTP_Proxy_Port;
+    $aHeaders = array();
+
+    if (CONST_HTTP_Proxy_Login != null
+        && CONST_HTTP_Proxy_Login != ''
+        && CONST_HTTP_Proxy_Password != null
+        && CONST_HTTP_Proxy_Password != ''
+    ) {
+        $sAuth = base64_encode(CONST_HTTP_Proxy_Login.':'.CONST_HTTP_Proxy_Password);
+        $aHeaders = array('Proxy-Authorization: Basic '.$sAuth);
+    }
+
+    $aProxyHeader = array(
+                     'proxy' => $sProxy,
+                     'request_fulluri' => true,
+                     'header' => $aHeaders
+                    );
+
+    $aContext = array('http' => $aProxyHeader, 'https' => $aProxyHeader);
+    stream_context_set_default($aContext);
+}
index 50c709c9ad16d1c89dfc359a1f083abfb3623dfa..b7645cd553ff9e68b69d259116f7bac63473fcf1 100644 (file)
@@ -3,26 +3,3 @@
 require_once('init.php');
 require_once('cmd.php');
 require_once('DebugNone.php');
-
-// handle http proxy when using file_get_contents
-if (CONST_HTTP_Proxy) {
-    $proxy = 'tcp://' . CONST_HTTP_Proxy_Host . ':' . CONST_HTTP_Proxy_Port;
-    $aHeaders = array();
-    if (CONST_HTTP_Proxy_Login != null && CONST_HTTP_Proxy_Login != '' && CONST_HTTP_Proxy_Password != null && CONST_HTTP_Proxy_Password != '') {
-        $auth = base64_encode(CONST_HTTP_Proxy_Login . ':' . CONST_HTTP_Proxy_Password);
-        $aHeaders = array("Proxy-Authorization: Basic $auth");
-    }
-    $aContext = array(
-                 'http' => array(
-                            'proxy' => $proxy,
-                            'request_fulluri' => true,
-                            'header' => $aHeaders
-                           ),
-                 'https' => array(
-                             'proxy' => $proxy,
-                             'request_fulluri' => true,
-                             'header' => $aHeaders
-                            )
-                );
-    stream_context_set_default($aContext);
-}
index c9aa391b1490c7c2c9a7a2a24b1918dbd932b400..8bd85b8aad0e50f79564520c977fe9647bb3eb65 100644 (file)
@@ -14,6 +14,8 @@ $aCMDOptions
    );
 getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true);
 
+setupHTTPProxy();
+
 include(CONST_Phrase_Config);
 
 if (true) {
index 82c821eb0a93b247b7002f6eec037cbba4b45f33..95ad799259315c30afcd9865dac929dd1fc46a54 100644 (file)
@@ -49,6 +49,8 @@ $aCMDOptions
 // $aCMDOptions passed to getCmdOpt by reference
 getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true);
 
+setupHTTPProxy();
+
 $bDidSomething = false;
 
 //*******************************************************
index d6979d582a422a1ceafe2166028b443c40488ecc..d2bc7041d449b87af534f1654ffb681a3f4595d4 100644 (file)
@@ -14,6 +14,8 @@ $aCMDOptions
   );
 getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true);
 
+setupHTTPProxy();
+
 include(CONST_Phrase_Config);
 
 if ($aCMDResult['wiki-import']) {
index 7e020b4291080804af10c2acd1bca024eec3d527..ff8b0c002465fceb6610c7b6ff9b23e8952ce789 100644 (file)
@@ -46,6 +46,8 @@ $aCMDOptions
 
 getCmdOpt($_SERVER['argv'], $aCMDOptions, $aResult, true, true);
 
+setupHTTPProxy();
+
 if (!isset($aResult['index-instances'])) $aResult['index-instances'] = 1;
 if (!isset($aResult['index-rank'])) $aResult['index-rank'] = 0;