ids.cgi: Fix upstream proxy validation
authorPeter Müller <peter.mueller@ipfire.org>
Sat, 18 May 2019 15:14:00 +0000 (15:14 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 20 May 2019 17:50:06 +0000 (18:50 +0100)
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Acked-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
config/cfgroot/ids-functions.pl

index deb287b..5530da1 100644 (file)
@@ -174,28 +174,18 @@ sub downloadruleset {
 
        # Check if an upstream proxy is configured.
        if ($proxysettings{'UPSTREAM_PROXY'}) {
-               my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
                my $proxy_url;
 
-               # Check if we got a peer.
-               if ($peer) {
-                       $proxy_url = "http://";
+               $proxy_url = "http://";
 
-                       # Check if the proxy requires authentication.
-                       if (($proxysettings{'UPSTREAM_USER'}) && ($proxysettings{'UPSTREAM_PASSWORD'})) {
-                               $proxy_url .= "$proxysettings{'UPSTREAM_USER'}\:$proxysettings{'UPSTREAM_PASSWORD'}\@";
-                       }
-
-                       # Add proxy server address and port.
-                       $proxy_url .= "$peer\:$peerport";
-               } else {
-                       # Log error message and break.
-                       &_log_to_syslog("Could not proper configure the proxy server access.");
-
-                       # Return "1" - false.
-                       return 1;
+               # Check if the proxy requires authentication.
+               if (($proxysettings{'UPSTREAM_USER'}) && ($proxysettings{'UPSTREAM_PASSWORD'})) {
+                       $proxy_url .= "$proxysettings{'UPSTREAM_USER'}\:$proxysettings{'UPSTREAM_PASSWORD'}\@";
                }
 
+               # Add proxy server address and port.
+               $proxy_url .= $proxysettings{'UPSTREAM_PROXY'};
+
                # Setup proxy settings.
                $downloader->proxy(['http', 'https'], $proxy_url);
        }