From: Stefan Schantl Date: Tue, 22 Jan 2013 18:38:12 +0000 (+0100) Subject: proxy.cgi: Allow to set a hostname as upstream proxy. X-Git-Tag: v2.13-rc1~18^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dcfc6334b91b8b6d24df73bb30e35e2fd865ee08;p=ipfire-2.x.git proxy.cgi: Allow to set a hostname as upstream proxy. Fixes #10215. --- diff --git a/html/cgi-bin/proxy.cgi b/html/cgi-bin/proxy.cgi index 52b68aec91..0b28c2adf3 100644 --- a/html/cgi-bin/proxy.cgi +++ b/html/cgi-bin/proxy.cgi @@ -358,12 +358,17 @@ if (($proxysettings{'ACTION'} eq $Lang::tr{'save'}) || ($proxysettings{'ACTION'} $errormessage = $Lang::tr{'advproxy errmsg invalid proxy port'}; goto ERROR; } - if (!($proxysettings{'UPSTREAM_PROXY'} eq '')) { - my @temp = split(/:/,$proxysettings{'UPSTREAM_PROXY'}); - if (!(&General::validip($temp[0]))) { - $errormessage = $Lang::tr{'advproxy errmsg invalid upstream proxy'}; - goto ERROR; - } + if (!($proxysettings{'UPSTREAM_PROXY'} eq '')) + { + my @temp = split(/:/,$proxysettings{'UPSTREAM_PROXY'}); + if (!(&General::validip($temp[0]))) + { + if (!(&General::validdomainname($temp[0]))) + { + $errormessage = $Lang::tr{'advproxy errmsg invalid upstream proxy'}; + goto ERROR; + } + } } if (!($proxysettings{'CACHE_SIZE'} =~ /^\d+/) || ($proxysettings{'CACHE_SIZE'} < 10)) diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index f2353be412..48f9a4400d 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -223,7 +223,7 @@ 'advproxy errmsg invalid mac' => 'Ungültige MAC-Adresse', 'advproxy errmsg invalid pdc' => 'Ungültiger Hostname für den Primary Domain Controller', 'advproxy errmsg invalid proxy port' => 'Ungültiger Proxy-Port', -'advproxy errmsg invalid upstream proxy' => 'Ungültige IP für Upstream-Proxy', +'advproxy errmsg invalid upstream proxy' => 'Ungültige IP/Hostname für Upstream-Proxy', 'advproxy errmsg invalid upstream proxy username or password setting' => 'Ungültiger Benutzername oder ungültiges Kennwort für Upstream Proxy', 'advproxy errmsg invalid user' => 'Benutzername existiert nicht', 'advproxy errmsg ldap base dn' => 'LDAP base DN erforderlich', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index c739b1a48d..6a3120b601 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -223,7 +223,7 @@ 'advproxy errmsg invalid mac' => 'Invalid MAC address', 'advproxy errmsg invalid pdc' => 'Invalid hostname for primary domain controller', 'advproxy errmsg invalid proxy port' => 'Invalid proxy port', -'advproxy errmsg invalid upstream proxy' => 'Invalid upstream proxy IP', +'advproxy errmsg invalid upstream proxy' => 'Invalid upstream proxy IP/hostname', 'advproxy errmsg invalid upstream proxy username or password setting' => 'Invalid upstream proxy username or password setting', 'advproxy errmsg invalid user' => 'Username does not exist', 'advproxy errmsg ldap base dn' => 'LDAP base DN required',