summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2016-12-07 13:55:39 -0500
committerjim-p <jimp@pfsense.org>2016-12-07 13:55:49 -0500
commit1060378f42e40e19a7d30c560feb902a6f80bedd (patch)
treeaad499dfbb729b03d41c72404529fc60ee83874f
parentbbe0c513c923805303fcb3d7612ff4fe0c12186b (diff)
downloadpfsense-1060378f42e40e19a7d30c560feb902a6f80bedd.zip
pfsense-1060378f42e40e19a7d30c560feb902a6f80bedd.tar.gz
Populate the HTTP_PROXY_AUTH env var. Ticket #6949
-rw-r--r--src/etc/inc/pkg-utils.inc4
-rw-r--r--src/etc/inc/services.inc4
-rw-r--r--src/etc/skel/dot.shrc6
-rw-r--r--src/etc/skel/dot.tcshrc8
4 files changed, 22 insertions, 0 deletions
diff --git a/src/etc/inc/pkg-utils.inc b/src/etc/inc/pkg-utils.inc
index 4ab9c4c..ea61beb 100644
--- a/src/etc/inc/pkg-utils.inc
+++ b/src/etc/inc/pkg-utils.inc
@@ -91,6 +91,10 @@ function pkg_env($extra_env = array()) {
$http_proxy .= ':' . $config['system']['proxyport'];
}
$pkg_env_vars['HTTP_PROXY'] = $http_proxy;
+
+ if (!empty($config['system']['proxyuser']) && !empty($config['system']['proxypass'])) {
+ $pkg_env_vars['HTTP_PROXY_AUTH'] = "basic:*:{$config['system']['proxyuser']}:{$config['system']['proxypass']}";
+ }
}
if (isset($config['system']['use_mfs_tmpvar'])) {
diff --git a/src/etc/inc/services.inc b/src/etc/inc/services.inc
index b70792a..cfda822 100644
--- a/src/etc/inc/services.inc
+++ b/src/etc/inc/services.inc
@@ -2683,6 +2683,10 @@ function configure_cron() {
$http_proxy .= ':' . $config['system']['proxyport'];
}
$crontab_contents .= "HTTP_PROXY={$http_proxy}";
+
+ if (!empty($config['system']['proxyuser']) && !empty($config['system']['proxypass'])) {
+ $crontab_contents .= "HTTP_PROXY_AUTH=basic:*:{$config['system']['proxyuser']}:{$config['system']['proxypass']}";
+ }
}
foreach ($config['cron']['item'] as $item) {
diff --git a/src/etc/skel/dot.shrc b/src/etc/skel/dot.shrc
index 3c9dc94..e72197b 100644
--- a/src/etc/skel/dot.shrc
+++ b/src/etc/skel/dot.shrc
@@ -25,6 +25,12 @@ if [ "${HTTP_PROXY}" != "" ]; then
fi
export HTTP_PROXY
fi
+HTTP_PROXY_AUTH_USER=`/usr/local/sbin/read_xml_tag.sh string system/proxyuser`
+HTTP_PROXY_AUTH_PASS=`/usr/local/sbin/read_xml_tag.sh string system/proxypass`
+if [ "${HTTP_PROXY_AUTH_USER}" != "" ] && [ "${HTTP_PROXY_AUTH_PASS}" != "" ]; then
+ HTTP_PROXY_AUTH="basic:*:${HTTP_PROXY_AUTH_USER}:${HTTP_PROXY_AUTH_PASS}"
+ export HTTP_PROXY_AUTH
+fi
# Detect interactive logins and display the shell
unset _interactive
diff --git a/src/etc/skel/dot.tcshrc b/src/etc/skel/dot.tcshrc
index 00e0923..db9846f 100644
--- a/src/etc/skel/dot.tcshrc
+++ b/src/etc/skel/dot.tcshrc
@@ -47,3 +47,11 @@ if (${http_proxy} != "") then
endif
setenv HTTP_PROXY ${http_proxy}
endif
+
+set http_proxy_auth_user=`/usr/local/sbin/read_xml_tag.sh string system/proxyuser`
+set http_proxy_auth_pass=`/usr/local/sbin/read_xml_tag.sh string system/proxypass`
+
+if ( ${http_proxy_auth_user} != "" && ${http_proxy_auth_pass} != "" ) then
+ set http_proxy_auth="basic:*:${http_proxy_auth_user}:${http_proxy_auth_pass}"
+ setenv HTTP_PROXY_AUTH "${http_proxy_auth}"
+endif
OpenPOWER on IntegriCloud