Set proxy env vars on interactive shell and also on crontab to make all scripts be able to use it. Ticket #3789

This commit is contained in:
Renato Botelho 2014-11-11 11:57:38 -02:00
parent eacdbc4d6a
commit 992f60d0fb
3 changed files with 25 additions and 0 deletions

View File

@ -2272,6 +2272,13 @@ function configure_cron() {
$crontab_contents .= "# " .gettext( "Created:") . " " . date("F j, Y, g:i a") . "\n";
$crontab_contents .= "#\n";
if (isset($config['system']['proxyurl']) && !empty($config['system']['proxyurl'])) {
$http_proxy = $config['system']['proxyurl'];
if (isset($config['system']['proxyport']) && !empty($config['system']['proxyport']))
$http_proxy .= ':' . $config['system']['proxyport'];
$crontab_contents .= "HTTP_PROXY={$http_proxy}";
}
foreach ($config['cron']['item'] as $item) {
$crontab_contents .= "\n{$item['minute']}\t";
$crontab_contents .= "{$item['hour']}\t";

View File

@ -1,3 +1,12 @@
HTTP_PROXY=`/usr/local/bin/xmllint --xpath 'string(//pfsense/system/proxyurl)' /conf/config.xml`
if [ "${HTTP_PROXY}" != "" ]; then
HTTP_PROXY_PORT=`/usr/local/bin/xmllint --xpath 'string(//pfsense/system/proxyport)' /conf/config.xml`
if [ "${HTTP_PROXY_PORT}" != "" ]; then
HTTP_PROXY="${HTTP_PROXY}:${HTTP_PROXY_PORT}"
fi
export HTTP_PROXY
fi
# Detect interactive logins and display the shell
if [ -n "${SSH_TTY}" -o "${TERM}" = "cons25" ]; then
/etc/rc.initial

View File

@ -19,3 +19,12 @@ if ($term == "xterm" || $term == "vt100" || $term == "vt102" || $term == "vt220"
bindkey "\e[7~" beginning-of-line # Home rxvt/konsole
bindkey "\e[8~" end-of-line # End rxvt/konsole
endif
set http_proxy=`/usr/local/bin/xmllint --xpath 'string(//pfsense/system/proxyurl)' /conf/config.xml`
if (${http_proxy} != "") then
set http_proxy_port=`/usr/local/bin/xmllint --xpath 'string(//pfsense/system/proxyport)' /conf/config.xml`
if (${http_proxy_port} != "") then
set http_proxy="${http_proxy}:${http_proxy_port}"
endif
setenv HTTP_PROXY ${http_proxy}
endif