diff options
author | jim-p <jimp@pfsense.org> | 2016-12-07 13:55:39 -0500 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2016-12-07 13:55:49 -0500 |
commit | 1060378f42e40e19a7d30c560feb902a6f80bedd (patch) | |
tree | aad499dfbb729b03d41c72404529fc60ee83874f /src | |
parent | bbe0c513c923805303fcb3d7612ff4fe0c12186b (diff) | |
download | pfsense-1060378f42e40e19a7d30c560feb902a6f80bedd.zip pfsense-1060378f42e40e19a7d30c560feb902a6f80bedd.tar.gz |
Populate the HTTP_PROXY_AUTH env var. Ticket #6949
Diffstat (limited to 'src')
-rw-r--r-- | src/etc/inc/pkg-utils.inc | 4 | ||||
-rw-r--r-- | src/etc/inc/services.inc | 4 | ||||
-rw-r--r-- | src/etc/skel/dot.shrc | 6 | ||||
-rw-r--r-- | src/etc/skel/dot.tcshrc | 8 |
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 |