From e1367f1c0ee6bc8187f145d397120fdbda44f22c Mon Sep 17 00:00:00 2001 From: doktornotor Date: Thu, 12 Nov 2015 18:14:41 +0100 Subject: systempatches - make fetch work if pfsense is behind proxy (fixes Bug #4369) --- config/systempatches/patches.inc | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'config/systempatches') diff --git a/config/systempatches/patches.inc b/config/systempatches/patches.inc index 2298e170..92825799 100644 --- a/config/systempatches/patches.inc +++ b/config/systempatches/patches.inc @@ -29,6 +29,7 @@ */ require_once("globals.inc"); require_once("util.inc"); +require_once("pfsense-utils.inc"); global $git_root_url, $patch_suffix, $patch_dir, $patch_cmd; $git_root_url = "https://github.com/pfsense/pfsense/commit/"; @@ -88,8 +89,20 @@ function patch_test_revert($patch, $fulldetail=false) { /* Fetch a patch from a URL or github */ function patch_fetch(& $patch) { + global $g; $url = patch_fixup_url($patch['location']); - $text = @file_get_contents($url); + $temp_filename = tempnam("{$g['tmp_path']}/", "system_patches"); + /* + * Backwards compatibility with older 2.1.x pfSense versions + * that did not contain download_file() function in pfsense-utils.inc + */ + if (!function_exists("download_file")) { + download_file_with_progress_bar($url, $temp_filename); + } else { + download_file($url, $temp_filename); + } + $text = @file_get_contents($temp_filename); + unlink($temp_filename); if (empty($text)) { return false; } else { -- cgit v1.2.3