diff options
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/pfsense-utils.inc | 15 | ||||
-rw-r--r-- | etc/inc/pkg-utils.inc | 25 | ||||
-rw-r--r-- | etc/phpshellsessions/gitsync | 2 | ||||
-rw-r--r-- | etc/phpshellsessions/installpkg | 2 |
4 files changed, 30 insertions, 14 deletions
diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc index a1b26b9..d16a2f0 100644 --- a/etc/inc/pfsense-utils.inc +++ b/etc/inc/pfsense-utils.inc @@ -670,7 +670,7 @@ function rmdir_recursive($path,$follow_links=false) { function call_pfsense_method($method, $params, $timeout = 0) { global $g, $config; - $xmlrpc_base_url = isset($config['system']['altpkgrepo']['enable']) ? $config['system']['altpkgrepo']['xmlrpcbaseurl'] : $g['xmlrpcbaseurl']; + $xmlrpc_base_url = get_active_xml_rpc_base_url(); $xmlrpc_path = $g['xmlrpcpath']; $xmlrpcfqdn = preg_replace("(https?://)", "", $xmlrpc_base_url); @@ -718,7 +718,7 @@ function call_pfsense_method($method, $params, $timeout = 0) { function check_firmware_version($tocheck = "all", $return_php = true) { global $g, $config; - $xmlrpc_base_url = isset($config['system']['altpkgrepo']['enable']) ? $config['system']['altpkgrepo']['xmlrpcbaseurl'] : $g['xmlrpcbaseurl']; + $xmlrpc_base_url = get_active_xml_rpc_base_url(); $xmlrpcfqdn = preg_replace("(https?://)", "", $xmlrpc_base_url); $ip = gethostbyname($xmlrpcfqdn); if($ip == $xmlrpcfqdn) @@ -2897,4 +2897,15 @@ function pkg_call_plugins($plugin_type, $plugin_params) { return $results; } +/* Function to find and return the active XML RPC base URL to avoid code duplication */ +function get_active_xml_rpc_base_url() { + global $config, $g; + /* If the user has activated the option to enable an alternate xmlrpcbaseurl, and it's not empty, then use it */ + if (isset($config['system']['altpkgrepo']['enable']) && !empty($config['system']['altpkgrepo']['xmlrpcbaseurl'])) { + return $config['system']['altpkgrepo']['xmlrpcbaseurl']; + } else { + return $g['xmlrpcbaseurl']; + } +} + ?> diff --git a/etc/inc/pkg-utils.inc b/etc/inc/pkg-utils.inc index 016f027..96bdf5f 100644 --- a/etc/inc/pkg-utils.inc +++ b/etc/inc/pkg-utils.inc @@ -196,7 +196,7 @@ function get_pkg_sizes($pkgs = 'all') { "freebsd_machine" => $freebsd_machine ); $msg = new XML_RPC_Message('pfsense.get_pkg_sizes', array(php_value_to_xmlrpc($params))); - $xmlrpc_base_url = isset($config['system']['altpkgrepo']['enable']) ? $config['system']['altpkgrepo']['xmlrpcbaseurl'] : $g['xmlrpcbaseurl']; + $xmlrpc_base_url = get_active_xml_rpc_base_url(); $cli = new XML_RPC_Client($g['xmlrpcpath'], $xmlrpc_base_url); $resp = $cli->send($msg, 10); if(!is_object($resp)) @@ -1282,7 +1282,7 @@ function pkg_reinstall_all() { if ($pkg_info) { echo " Done.\n"; } else { - $xmlrpc_base_url = isset($config['system']['altpkgrepo']['enable']) ? $config['system']['altpkgrepo']['xmlrpcbaseurl'] : $g['xmlrpcbaseurl']; + $xmlrpc_base_url = get_active_xml_rpc_base_url(); $error = sprintf(gettext(' >>> Unable to communicate with %1$s. Please verify DNS and interface configuration, and that %2$s has functional Internet connectivity.'), $xmlrpc_base_url, $g['product_name']); echo "\n{$error}\n"; log_error(gettext("Cannot reinstall packages: ") . $error); @@ -1413,14 +1413,7 @@ function get_pkg_interfaces_select_source($include_localhost=false) { } function verify_all_package_servers() { - global $config, $g; - /* If an alternate package repository is defined, check it before - checking the default. */ - if (isset($config['system']['altpkgrepo']['enable']) && !empty($config['system']['altpkgrepo']['xmlrpcbaseurl'])) { - return verify_package_server($config['system']['altpkgrepo']['xmlrpcbaseurl']); - } else { - return verify_package_server($g['xmlrpcbaseurl']); - } + return verify_package_server(get_active_xml_rpc_base_url()); } /* Check if the active package server is a valid default or if it has been @@ -1441,4 +1434,16 @@ function verify_package_server($server) { return false; } +/* Keep this message centrally since it will be used several times on pages + in the GUI. */ +function package_server_mismatch_message() { + return sprintf(gettext("The package server currently configured on " + . "this firewall (%s) is NOT an official package server. The contents " + . "of such servers cannot be verified and may contain malicious files. " + . "Return the package server settings to their default values to " + . "ensure that verifiable and trusted packages are received."), + htmlspecialchars(get_active_xml_rpc_base_url())) . '<br/><br/>' + . '<a href="/pkg_mgr_settings.php">' . gettext("Package Manager Settings") . '</a>'; +} + ?> diff --git a/etc/phpshellsessions/gitsync b/etc/phpshellsessions/gitsync index 6c39006..e943ffa 100644 --- a/etc/phpshellsessions/gitsync +++ b/etc/phpshellsessions/gitsync @@ -83,7 +83,7 @@ if(!file_exists($GIT_BIN)) { if ($pkg_info) { echo " Done.\n"; } else { - $xmlrpc_base_url = isset($config['system']['altpkgrepo']['enable']) ? $config['system']['altpkgrepo']['xmlrpcbaseurl'] : $g['xmlrpcbaseurl']; + $xmlrpc_base_url = get_active_xml_rpc_base_url(); echo "\n" . sprintf(gettext(' >>> Unable to communicate with %1$s. Please verify DNS and interface configuration, and that %2$s has functional Internet connectivity.'), $xmlrpc_base_url, $g['product_name']) . "\n"; return; } diff --git a/etc/phpshellsessions/installpkg b/etc/phpshellsessions/installpkg index 15343df..30228ab 100644 --- a/etc/phpshellsessions/installpkg +++ b/etc/phpshellsessions/installpkg @@ -19,7 +19,7 @@ $pkg_info = get_pkg_info(); if ($pkg_info) { echo " Done.\n"; } else { - $xmlrpc_base_url = isset($config['system']['altpkgrepo']['enable']) ? $config['system']['altpkgrepo']['xmlrpcbaseurl'] : $g['xmlrpcbaseurl']; + $xmlrpc_base_url = get_active_xml_rpc_base_url(); echo "\n" . sprintf(gettext(' >>> Unable to communicate with %1$s. Please verify DNS and interface configuration, and that %2$s has functional Internet connectivity.'), $xmlrpc_base_url, $g['product_name']) . "\n"; return; } |