diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc index 7e6b5b4d81..3fa3abe7fc 100644 --- a/etc/inc/pfsense-utils.inc +++ b/etc/inc/pfsense-utils.inc @@ -1638,4 +1638,15 @@ function compare_hostname_to_dnscache($hostname) { } } +/* + * load_glxsb() - Load the glxsb crypto module if enabled in config. + */ +function load_glxsb() { + global $config, $g; + $is_loaded = `/sbin/kldstat | /usr/bin/grep -c glxsb`; + if (isset($config['system']['glxsb_enable']) && ($is_loaded == 0)) { + mwexec("/sbin/kldload glxsb"); + } +} + ?> \ No newline at end of file diff --git a/etc/rc.bootup b/etc/rc.bootup index 067c4d5808..5668758015 100755 --- a/etc/rc.bootup +++ b/etc/rc.bootup @@ -155,6 +155,9 @@ echo "Setting up extended sysctls..."; system_setup_sysctl(); echo "done.\n"; +/* enable glxsb if wanted */ +load_glxsb(); + /* run any early shell commands specified in config.xml */ system_do_shell_commands(1); diff --git a/usr/local/www/system_advanced_misc.php b/usr/local/www/system_advanced_misc.php index 82db06ab70..fa08c19870 100644 --- a/usr/local/www/system_advanced_misc.php +++ b/usr/local/www/system_advanced_misc.php @@ -47,6 +47,7 @@ $pconfig['harddiskstandby'] = $config['system']['harddiskstandby']; $pconfig['lb_use_sticky'] = isset($config['system']['lb_use_sticky']); $pconfig['preferoldsa_enable'] = isset($config['ipsec']['preferoldsa']); $pconfig['powerd_enable'] = isset($config['system']['powerd_enable']); +$pconfig['glxsb_enable'] = isset($config['system']['glxsb_enable']); if ($_POST) { @@ -71,6 +72,7 @@ if ($_POST) { $config['ipsec']['preferoldsa'] = $_POST['preferoldsa_enable'] ? true : false; $config['system']['powerd_enable'] = $_POST['powerd_enable'] ? true : false; + $config['system']['glxsb_enable'] = $_POST['glxsb_enable'] ? true : false; write_config(); @@ -82,6 +84,7 @@ if ($_POST) { $savemsg = $retval; activate_powerd(); + load_glxsb(); } } @@ -170,6 +173,28 @@ include("head.inc");