Please provide the file changes (diffs) for me to generate a commit message.
This commit is contained in:
9
.gitignore
vendored
9
.gitignore
vendored
@@ -1 +1,8 @@
|
||||
.idea
|
||||
.idea
|
||||
/mock/
|
||||
/bin/
|
||||
/releases/
|
||||
/jails/
|
||||
/router.php
|
||||
/debug_vars.php
|
||||
/conf/bastille_config
|
||||
@@ -46,8 +46,18 @@ $prdname = "bastille";
|
||||
$application = "Bastille Manager";
|
||||
$restore_name = "restore";
|
||||
$confdir = "/var/etc/bastille_conf";
|
||||
$cwdir = exec("/usr/bin/grep 'INSTALL_DIR=' $confdir/conf/bastille_config | /usr/bin/cut -d'\"' -f2");
|
||||
$rootfolder = $cwdir;
|
||||
|
||||
// Check for configuration file
|
||||
$conf_file = "$confdir/conf/bastille_config";
|
||||
if (!file_exists($conf_file) && file_exists(__DIR__ . "/../conf/bastille_config")) {
|
||||
$conf_file = __DIR__ . "/../conf/bastille_config";
|
||||
}
|
||||
|
||||
$cwdir = exec("/usr/bin/grep 'INSTALL_DIR=' $conf_file | /usr/bin/cut -d'\"' -f2");
|
||||
if (!empty($cwdir)) {
|
||||
$rootfolder = $cwdir;
|
||||
}
|
||||
|
||||
$configfile = "$rootfolder/conf/bastille_config";
|
||||
$configfile_bastille = "$rootfolder/bastille-dist/usr/local/etc/bastille/bastille.conf";
|
||||
$versionfile = "$rootfolder/version";
|
||||
@@ -55,20 +65,24 @@ $versionfile = "$rootfolder/version";
|
||||
$date = date('D M d h:i:s Y', time()); // Equivalent date replacement for the previous strftime function.
|
||||
$logfile = "$rootfolder/log/bastille_ext.log";
|
||||
$logevent = "$rootfolder/log/bastille_last_event.log";
|
||||
$backup_path = exec("/usr/bin/grep 'BACKUP_DIR=' $configfile | /usr/bin/cut -d'\"' -f2");
|
||||
|
||||
// Reuse $conf_file if it's our local one, otherwise use the standard greed
|
||||
$grep_config = file_exists($configfile) ? $configfile : $conf_file;
|
||||
|
||||
$backup_path = exec("/usr/bin/grep 'BACKUP_DIR=' $grep_config | /usr/bin/cut -d'\"' -f2");
|
||||
$bastille_config = "$rootfolder/conf/bastille_config";
|
||||
$config_path = exec("/usr/bin/grep 'BASTILLE_CONFIG=' $configfile | /usr/bin/cut -d'\"' -f2");
|
||||
$config_path = exec("/usr/bin/grep 'BASTILLE_CONFIG=' $grep_config | /usr/bin/cut -d'\"' -f2");
|
||||
$default_distfiles = exec("/usr/bin/grep 'bastille_bootstrap_archives=' $config_path | /usr/bin/cut -d'\"' -f2");
|
||||
$jail_dir = "{$rootfolder}/jails";
|
||||
$image_dir = "ext/bastille/images";
|
||||
$reldir = "{$rootfolder}/releases";
|
||||
$backup_path_bastille = exec("/usr/sbin/sysrc -f $rootfolder/bastille-dist/usr/local/etc/bastille/bastille.conf -qn bastille_backupsdir");
|
||||
$zfs_support = exec("/usr/bin/grep 'ZFS_SUPPORT=' $configfile | /usr/bin/cut -d'\"' -f2");
|
||||
$zfs_activated = exec("/usr/bin/grep 'ZFS_ACTIVATED=' $configfile | /usr/bin/cut -d'\"' -f2");
|
||||
$tarballversion = "/usr/local/bin/bastille";
|
||||
$zfs_support = exec("/usr/bin/grep 'ZFS_SUPPORT=' $grep_config | /usr/bin/cut -d'\"' -f2");
|
||||
$zfs_activated = exec("/usr/bin/grep 'ZFS_ACTIVATED=' $grep_config | /usr/bin/cut -d'\"' -f2");
|
||||
if (!isset($tarballversion)) $tarballversion = "/usr/local/bin/bastille";
|
||||
$bastille_version_min = exec("grep 'BASTILLE_VERSION=' $tarballversion | cut -d '\"' -f2 | tr -d '.'");
|
||||
$host_version = exec("/bin/cat /etc/prd.version | tr -d '.'");
|
||||
$linux_compat_support = exec("/usr/bin/grep 'LINUX_COMPAT_SUPPORT=' $configfile | /usr/bin/cut -d'\"' -f2");
|
||||
$linux_compat_support = exec("/usr/bin/grep 'LINUX_COMPAT_SUPPORT=' $grep_config | /usr/bin/cut -d'\"' -f2");
|
||||
$jail_settings = "settings.conf";
|
||||
|
||||
// Ensure the root directory is configured.
|
||||
@@ -146,7 +160,7 @@ function get_state_zfs() {
|
||||
function get_all_release_list() {
|
||||
global $rootfolder;
|
||||
global $g;
|
||||
exec("/bin/echo; /bin/ls {$rootfolder}/releases | grep RELEASE 2>/dev/null | /usr/bin/tr -s ' ' '\n'",$relinfo);
|
||||
exec("/bin/echo; /bin/ls {$rootfolder}/releases | /usr/bin/tr -s ' ' '\n'",$relinfo);
|
||||
array_shift($relinfo);
|
||||
$rellist = [];
|
||||
foreach($relinfo as $rel):
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
bastille_manager_add.php
|
||||
|
||||
Copyright (c) 2019-2026 José Rivera (joserprg@gmail.com).
|
||||
All rights reserved.
|
||||
All rights reserved.
|
||||
|
||||
Portions of XigmaNAS® (https://www.xigmanas.com).
|
||||
Copyright (c) 2018 XigmaNAS® <info@xigmanas.com>.
|
||||
@@ -14,13 +14,13 @@
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. Neither the name of the developer nor the names of contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
@@ -42,118 +42,120 @@ require_once("bastille_manager-lib.inc");
|
||||
$pgtitle = array(gtext("Extensions"), "Bastille", "Create");
|
||||
|
||||
$pconfig = [];
|
||||
$errormsg = "";
|
||||
|
||||
if(!(isset($pconfig['jailname']))):
|
||||
if (!(isset($pconfig['jailname']))):
|
||||
$pconfig['jailname'] = 'jail1';
|
||||
endif;
|
||||
if(!(isset($pconfig['ipaddress']))):
|
||||
if (!(isset($pconfig['ipaddress']))):
|
||||
$pconfig['ipaddress'] = '';
|
||||
endif;
|
||||
|
||||
if(!get_all_release_list()):
|
||||
if (!get_all_release_list()):
|
||||
$errormsg = gtext('No base releases extracted yet.')
|
||||
. ' '
|
||||
. '<a href="' . 'bastille_manager_tarballs.php' . '">'
|
||||
. gtext('Please download a base release first.')
|
||||
. '</a>';
|
||||
$prerequisites_ok = false;
|
||||
. ' '
|
||||
. '<a href="' . 'bastille_manager_tarballs.php' . '">'
|
||||
. gtext('Please download a base release first.')
|
||||
. '</a>';
|
||||
$prerequisites_ok = false;
|
||||
endif;
|
||||
|
||||
$zfs_status = get_state_zfs();
|
||||
if($zfs_status == "Invalid ZFS configuration"):
|
||||
if ($zfs_status == "Invalid ZFS configuration"):
|
||||
// Warning if invalid ZFS configuration.
|
||||
$input_errors[] = gtext("WARNING: Invalid ZFS configuration detected.");
|
||||
endif;
|
||||
|
||||
if($_POST):
|
||||
if ($_POST):
|
||||
global $jail_dir;
|
||||
global $configfile;
|
||||
unset($input_errors);
|
||||
$pconfig = $_POST;
|
||||
if(isset($_POST['Cancel']) && $_POST['Cancel']):
|
||||
if (isset($_POST['Cancel']) && $_POST['Cancel']):
|
||||
header('Location: bastille_manager_gui.php');
|
||||
exit;
|
||||
endif;
|
||||
if(isset($_POST['Create']) && $_POST['Create']):
|
||||
if (isset($_POST['Create']) && $_POST['Create']):
|
||||
$zfs_status = get_state_zfs();
|
||||
if($zfs_status == "Invalid ZFS configuration"):
|
||||
if ($zfs_status == "Invalid ZFS configuration"):
|
||||
// Abort jail creation if invalid ZFS configuration.
|
||||
$input_errors[] = gtext("Cannot create jail with an invalid ZFS configuration.");
|
||||
else:
|
||||
|
||||
$jname = $pconfig['jailname'];
|
||||
$ipaddr = $pconfig['ipaddress'];
|
||||
$release = $pconfig['release'];
|
||||
$resolv_conf = "{$jail_dir}/{$jname}/root/etc/resolv.conf";
|
||||
$resolv_host = "/var/etc/resolv.conf";
|
||||
$options = "";
|
||||
if ($_POST['interface'] == 'Config'):
|
||||
$interface = "";
|
||||
else:
|
||||
$interface = $pconfig['interface'];
|
||||
endif;
|
||||
|
||||
if($release == 'Ubuntu_1804'):
|
||||
$release = "ubuntu-bionic";
|
||||
elseif($release == 'Ubuntu_2004'):
|
||||
$release = "ubuntu-focal";
|
||||
elseif($release == 'Ubuntu_2204'):
|
||||
$release = "ubuntu-jammy";
|
||||
elseif($release == 'Debian9'):
|
||||
$release = "debian-stretch";
|
||||
elseif($release == 'Debian10'):
|
||||
$release = "debian-buster";
|
||||
elseif($release == 'Debian12'):
|
||||
$release = "debian-bookworm";
|
||||
endif;
|
||||
|
||||
if(isset($_POST['thickjail']) && isset($_POST['vnetjail'])):
|
||||
$options = "-T -V";
|
||||
elseif(isset($_POST['thickjail']) && isset($_POST['bridgejail'])):
|
||||
$options = "-T -B";
|
||||
elseif(isset($_POST['thickjail'])):
|
||||
$options = "-T";
|
||||
elseif(isset($_POST['vnetjail'])):
|
||||
$options = "-V";
|
||||
elseif(isset($_POST['bridgejail'])):
|
||||
$options = "-B";
|
||||
elseif(isset($_POST['linuxjail'])):
|
||||
$options = "-L";
|
||||
endif;
|
||||
|
||||
if(isset($_POST['emptyjail'])):
|
||||
// Just create an empty container with minimal jail.conf.
|
||||
$cmd = ("/usr/local/bin/bastille create -E {$jname}");
|
||||
else:
|
||||
if (isset($_POST['autostart'])):
|
||||
$cmd = ("/usr/local/bin/bastille create {$options} {$jname} {$release} {$ipaddr} {$interface}");
|
||||
$jname = $pconfig['jailname'];
|
||||
$ipaddr = $pconfig['ipaddress'];
|
||||
$release = $pconfig['release'];
|
||||
$resolv_conf = "{$jail_dir}/{$jname}/root/etc/resolv.conf";
|
||||
$resolv_host = "/var/etc/resolv.conf";
|
||||
$options = "";
|
||||
if ($_POST['interface'] == 'Config'):
|
||||
$interface = "";
|
||||
else:
|
||||
$cmd = ("/usr/local/bin/bastille create --no-boot {$options} {$jname} {$release} {$ipaddr} {$interface}");
|
||||
$interface = $pconfig['interface'];
|
||||
endif;
|
||||
endif;
|
||||
|
||||
if ($_POST['Create']):
|
||||
if(get_all_release_list()):
|
||||
unset($output,$retval);mwexec2($cmd,$output,$retval);
|
||||
if($retval == 0):
|
||||
//if (isset($_POST['autostart'])):
|
||||
// exec("/usr/sbin/sysrc -f {$configfile} {$jname}_AUTO_START=\"YES\"");
|
||||
//endif;
|
||||
if(is_link($resolv_conf)):
|
||||
if(unlink($resolv_conf)):
|
||||
//exec("/usr/local/bin/bastille cp $jname $resolv_host etc");
|
||||
copy($resolv_host, $resolv_conf);
|
||||
endif;
|
||||
endif;
|
||||
header('Location: bastille_manager_gui.php');
|
||||
exit;
|
||||
if ($release == 'Ubuntu_1804'):
|
||||
$release = "ubuntu-bionic";
|
||||
elseif ($release == 'Ubuntu_2004'):
|
||||
$release = "ubuntu-focal";
|
||||
elseif ($release == 'Ubuntu_2204'):
|
||||
$release = "ubuntu-jammy";
|
||||
elseif ($release == 'Debian9'):
|
||||
$release = "debian-stretch";
|
||||
elseif ($release == 'Debian10'):
|
||||
$release = "debian-buster";
|
||||
elseif ($release == 'Debian12'):
|
||||
$release = "debian-bookworm";
|
||||
endif;
|
||||
|
||||
if (isset($_POST['thickjail']) && isset($_POST['vnetjail'])):
|
||||
$options = "-T -V";
|
||||
elseif (isset($_POST['thickjail']) && isset($_POST['bridgejail'])):
|
||||
$options = "-T -B";
|
||||
elseif (isset($_POST['thickjail'])):
|
||||
$options = "-T";
|
||||
elseif (isset($_POST['vnetjail'])):
|
||||
$options = "-V";
|
||||
elseif (isset($_POST['bridgejail'])):
|
||||
$options = "-B";
|
||||
elseif (isset($_POST['linuxjail'])):
|
||||
$options = "-L";
|
||||
endif;
|
||||
|
||||
if (isset($_POST['emptyjail'])):
|
||||
// Just create an empty container with minimal jail.conf.
|
||||
$cmd = ("/usr/local/bin/bastille create -E {$jname}");
|
||||
else:
|
||||
if (isset($_POST['autostart'])):
|
||||
$cmd = ("/usr/local/bin/bastille create {$options} {$jname} {$release} {$ipaddr} {$interface}");
|
||||
else:
|
||||
$errormsg .= gtext("Failed to create container.");
|
||||
$cmd = ("/usr/local/bin/bastille create --no-boot {$options} {$jname} {$release} {$ipaddr} {$interface}");
|
||||
endif;
|
||||
endif;
|
||||
|
||||
if ($_POST['Create']):
|
||||
if (get_all_release_list()):
|
||||
unset($output, $retval);
|
||||
mwexec2($cmd, $output, $retval);
|
||||
if ($retval == 0):
|
||||
//if (isset($_POST['autostart'])):
|
||||
// exec("/usr/sbin/sysrc -f {$configfile} {$jname}_AUTO_START=\"YES\"");
|
||||
//endif;
|
||||
if (is_link($resolv_conf)):
|
||||
if (unlink($resolv_conf)):
|
||||
//exec("/usr/local/bin/bastille cp $jname $resolv_host etc");
|
||||
copy($resolv_host, $resolv_conf);
|
||||
endif;
|
||||
endif;
|
||||
header('Location: bastille_manager_gui.php');
|
||||
exit;
|
||||
else:
|
||||
$errormsg .= gtext("Failed to create container.");
|
||||
endif;
|
||||
else:
|
||||
$errormsg .= gtext(" <<< Failed to create container.");
|
||||
endif;
|
||||
else:
|
||||
$errormsg .= gtext(" <<< Failed to create container.");
|
||||
endif;
|
||||
endif;
|
||||
|
||||
endif;
|
||||
endif;
|
||||
@@ -162,196 +164,204 @@ endif;
|
||||
include 'fbegin.inc';
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
$(window).on("load",function() {
|
||||
$("#iform").submit(function() { spinner(); });
|
||||
$(".spin").click(function() { spinner(); });
|
||||
});
|
||||
function emptyjail_change() {
|
||||
switch(document.iform.emptyjail.checked) {
|
||||
case false:
|
||||
showElementById('ipaddress_tr','show');
|
||||
showElementById('interface_tr', 'show');
|
||||
showElementById('release_tr', 'show');
|
||||
showElementById('thickjail_tr', 'show');
|
||||
showElementById('vnetjail_tr', 'show');
|
||||
showElementById('bridgejail_tr', 'show');
|
||||
//showElementById('nowstart_tr', 'show');
|
||||
showElementById('autostart_tr', 'show');
|
||||
showElementById('linuxjail_tr', 'show');
|
||||
break;
|
||||
case true:
|
||||
showElementById('ipaddress_tr','hide');
|
||||
showElementById('interface_tr', 'hide');
|
||||
showElementById('release_tr', 'hide');
|
||||
showElementById('thickjail_tr', 'hide');
|
||||
showElementById('vnetjail_tr', 'hide');
|
||||
showElementById('bridgejail_tr', 'hide');
|
||||
//showElementById('nowstart_tr', 'hide');
|
||||
showElementById('autostart_tr', 'hide');
|
||||
showElementById('linuxjail_tr', 'hide');
|
||||
break;
|
||||
//<![CDATA[
|
||||
$(window).on("load", function () {
|
||||
$("#iform").submit(function () { spinner(); });
|
||||
$(".spin").click(function () { spinner(); });
|
||||
});
|
||||
function emptyjail_change() {
|
||||
switch (document.iform.emptyjail.checked) {
|
||||
case false:
|
||||
showElementById('ipaddress_tr', 'show');
|
||||
showElementById('interface_tr', 'show');
|
||||
showElementById('release_tr', 'show');
|
||||
showElementById('thickjail_tr', 'show');
|
||||
showElementById('vnetjail_tr', 'show');
|
||||
showElementById('bridgejail_tr', 'show');
|
||||
//showElementById('nowstart_tr', 'show');
|
||||
showElementById('autostart_tr', 'show');
|
||||
showElementById('linuxjail_tr', 'show');
|
||||
break;
|
||||
case true:
|
||||
showElementById('ipaddress_tr', 'hide');
|
||||
showElementById('interface_tr', 'hide');
|
||||
showElementById('release_tr', 'hide');
|
||||
showElementById('thickjail_tr', 'hide');
|
||||
showElementById('vnetjail_tr', 'hide');
|
||||
showElementById('bridgejail_tr', 'hide');
|
||||
//showElementById('nowstart_tr', 'hide');
|
||||
showElementById('autostart_tr', 'hide');
|
||||
showElementById('linuxjail_tr', 'hide');
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function linuxjail_change() {
|
||||
switch(document.iform.linuxjail.checked) {
|
||||
case false:
|
||||
showElementById('ipaddress_tr','show');
|
||||
showElementById('interface_tr', 'show');
|
||||
showElementById('release_tr', 'show');
|
||||
showElementById('thickjail_tr', 'show');
|
||||
showElementById('vnetjail_tr', 'show');
|
||||
showElementById('bridgejail_tr', 'show');
|
||||
//showElementById('nowstart_tr', 'show');
|
||||
showElementById('autostart_tr', 'show');
|
||||
showElementById('linuxjail_tr', 'show');
|
||||
showElementById('emptyjail_tr', 'show');
|
||||
break;
|
||||
case true:
|
||||
showElementById('ipaddress_tr','show');
|
||||
showElementById('interface_tr', 'show');
|
||||
showElementById('release_tr', 'show');
|
||||
showElementById('thickjail_tr', 'hide');
|
||||
showElementById('vnetjail_tr', 'hide');
|
||||
showElementById('bridgejail_tr', 'hide');
|
||||
//showElementById('nowstart_tr', 'show');
|
||||
showElementById('autostart_tr', 'show');
|
||||
showElementById('emptyjail_tr', 'hide');
|
||||
break;
|
||||
function linuxjail_change() {
|
||||
switch (document.iform.linuxjail.checked) {
|
||||
case false:
|
||||
showElementById('ipaddress_tr', 'show');
|
||||
showElementById('interface_tr', 'show');
|
||||
showElementById('release_tr', 'show');
|
||||
showElementById('thickjail_tr', 'show');
|
||||
showElementById('vnetjail_tr', 'show');
|
||||
showElementById('bridgejail_tr', 'show');
|
||||
//showElementById('nowstart_tr', 'show');
|
||||
showElementById('autostart_tr', 'show');
|
||||
showElementById('linuxjail_tr', 'show');
|
||||
showElementById('emptyjail_tr', 'show');
|
||||
break;
|
||||
case true:
|
||||
showElementById('ipaddress_tr', 'show');
|
||||
showElementById('interface_tr', 'show');
|
||||
showElementById('release_tr', 'show');
|
||||
showElementById('thickjail_tr', 'hide');
|
||||
showElementById('vnetjail_tr', 'hide');
|
||||
showElementById('bridgejail_tr', 'hide');
|
||||
//showElementById('nowstart_tr', 'show');
|
||||
showElementById('autostart_tr', 'show');
|
||||
showElementById('emptyjail_tr', 'hide');
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function vnetjail_change() {
|
||||
switch(document.iform.vnetjail.checked) {
|
||||
case false:
|
||||
showElementById('ipaddress_tr','show');
|
||||
showElementById('interface_tr', 'show');
|
||||
showElementById('release_tr', 'show');
|
||||
showElementById('thickjail_tr', 'show');
|
||||
showElementById('vnetjail_tr', 'show');
|
||||
showElementById('bridgejail_tr', 'show');
|
||||
//showElementById('nowstart_tr', 'show');
|
||||
showElementById('autostart_tr', 'show');
|
||||
showElementById('linuxjail_tr', 'show');
|
||||
break;
|
||||
case true:
|
||||
showElementById('ipaddress_tr','show');
|
||||
showElementById('interface_tr', 'show');
|
||||
showElementById('release_tr', 'show');
|
||||
showElementById('thickjail_tr', 'show');
|
||||
showElementById('vnetjail_tr', 'show');
|
||||
showElementById('bridgejail_tr', 'hide');
|
||||
//showElementById('nowstart_tr', 'show');
|
||||
showElementById('autostart_tr', 'show');
|
||||
showElementById('linuxjail_tr', 'show');
|
||||
break;
|
||||
function vnetjail_change() {
|
||||
switch (document.iform.vnetjail.checked) {
|
||||
case false:
|
||||
showElementById('ipaddress_tr', 'show');
|
||||
showElementById('interface_tr', 'show');
|
||||
showElementById('release_tr', 'show');
|
||||
showElementById('thickjail_tr', 'show');
|
||||
showElementById('vnetjail_tr', 'show');
|
||||
showElementById('bridgejail_tr', 'show');
|
||||
//showElementById('nowstart_tr', 'show');
|
||||
showElementById('autostart_tr', 'show');
|
||||
showElementById('linuxjail_tr', 'show');
|
||||
break;
|
||||
case true:
|
||||
showElementById('ipaddress_tr', 'show');
|
||||
showElementById('interface_tr', 'show');
|
||||
showElementById('release_tr', 'show');
|
||||
showElementById('thickjail_tr', 'show');
|
||||
showElementById('vnetjail_tr', 'show');
|
||||
showElementById('bridgejail_tr', 'hide');
|
||||
//showElementById('nowstart_tr', 'show');
|
||||
showElementById('autostart_tr', 'show');
|
||||
showElementById('linuxjail_tr', 'show');
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function bridgejail_change() {
|
||||
switch(document.iform.bridgejail.checked) {
|
||||
case false:
|
||||
showElementById('ipaddress_tr','show');
|
||||
showElementById('interface_tr', 'show');
|
||||
showElementById('release_tr', 'show');
|
||||
showElementById('thickjail_tr', 'show');
|
||||
showElementById('vnetjail_tr', 'show');
|
||||
showElementById('bridgejail_tr', 'show');
|
||||
//showElementById('nowstart_tr', 'show');
|
||||
showElementById('autostart_tr', 'show');
|
||||
showElementById('linuxjail_tr', 'show');
|
||||
break;
|
||||
case true:
|
||||
showElementById('ipaddress_tr','show');
|
||||
showElementById('interface_tr', 'show');
|
||||
showElementById('release_tr', 'show');
|
||||
showElementById('thickjail_tr', 'show');
|
||||
showElementById('vnetjail_tr', 'hide');
|
||||
showElementById('bridgejail_tr', 'show');
|
||||
//showElementById('nowstart_tr', 'show');
|
||||
showElementById('autostart_tr', 'show');
|
||||
showElementById('linuxjail_tr', 'show');
|
||||
break;
|
||||
function bridgejail_change() {
|
||||
switch (document.iform.bridgejail.checked) {
|
||||
case false:
|
||||
showElementById('ipaddress_tr', 'show');
|
||||
showElementById('interface_tr', 'show');
|
||||
showElementById('release_tr', 'show');
|
||||
showElementById('thickjail_tr', 'show');
|
||||
showElementById('vnetjail_tr', 'show');
|
||||
showElementById('bridgejail_tr', 'show');
|
||||
//showElementById('nowstart_tr', 'show');
|
||||
showElementById('autostart_tr', 'show');
|
||||
showElementById('linuxjail_tr', 'show');
|
||||
break;
|
||||
case true:
|
||||
showElementById('ipaddress_tr', 'show');
|
||||
showElementById('interface_tr', 'show');
|
||||
showElementById('release_tr', 'show');
|
||||
showElementById('thickjail_tr', 'show');
|
||||
showElementById('vnetjail_tr', 'hide');
|
||||
showElementById('bridgejail_tr', 'show');
|
||||
//showElementById('nowstart_tr', 'show');
|
||||
showElementById('autostart_tr', 'show');
|
||||
showElementById('linuxjail_tr', 'show');
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//]]>
|
||||
//]]>
|
||||
</script>
|
||||
<?php
|
||||
$document = new co_DOMDocument();
|
||||
$document->
|
||||
add_area_tabnav()->
|
||||
push()->
|
||||
add_tabnav_upper()->
|
||||
ins_tabnav_record('bastille_manager_gui.php',gettext('Containers'),gettext('Reload page'),true)->
|
||||
ins_tabnav_record('bastille_manager_info.php',gettext('Information'),gettext('Reload page'),true)->
|
||||
ins_tabnav_record('bastille_manager_maintenance.php',gettext('Maintenance'),gettext('Reload page'),true);
|
||||
push()->
|
||||
add_tabnav_upper()->
|
||||
ins_tabnav_record('bastille_manager_gui.php', gettext('Containers'), gettext('Reload page'), true)->
|
||||
ins_tabnav_record('bastille_manager_info.php', gettext('Information'), gettext('Reload page'), true)->
|
||||
ins_tabnav_record('bastille_manager_maintenance.php', gettext('Maintenance'), gettext('Reload page'), true);
|
||||
$document->render();
|
||||
?>
|
||||
<form action="bastille_manager_add.php" method="post" name="iform" id="iform"><table id="area_data"><tbody><tr><td id="area_data_frame">
|
||||
<?php
|
||||
if(!empty($errormsg)):
|
||||
print_error_box($errormsg);
|
||||
endif;
|
||||
if(!empty($savemsg)):
|
||||
print_info_box($savemsg);
|
||||
endif;
|
||||
if(!empty($input_errors)):
|
||||
print_input_errors($input_errors);
|
||||
endif;
|
||||
if(file_exists($d_sysrebootreqd_path)):
|
||||
print_info_box(get_std_save_message(0));
|
||||
endif;
|
||||
?>
|
||||
<table class="area_data_settings">
|
||||
<colgroup>
|
||||
<col class="area_data_settings_col_tag">
|
||||
<col class="area_data_settings_col_data">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<?php
|
||||
html_titleline2(gettext('Create new Container'));
|
||||
?>
|
||||
</thead>
|
||||
<form action="bastille_manager_add.php" method="post" name="iform" id="iform">
|
||||
<table id="area_data">
|
||||
<tbody>
|
||||
<?php
|
||||
html_inputbox2('jailname',gettext('Friendly name'),$pconfig['jailname'],'',true,20);
|
||||
html_inputbox2('ipaddress',gettext('IP Address'),$pconfig['ipaddress'],'',true,20);
|
||||
$a_action = $l_interfaces;
|
||||
$b_action = $l_release;
|
||||
html_combobox2('interface',gettext('Network interface'),!empty($pconfig['interface']),$a_action,'',true,false);
|
||||
html_combobox2('release',gettext('Base release'),!empty($pconfig['release']),$b_action,'',true,false);
|
||||
if($bastille_version_min > "0700000000"):
|
||||
html_checkbox2('thickjail',gettext('Create a thick container'),!empty($pconfig['thickjail']) ? true : false,gettext('These containers consume more space, but are self contained and fully independent.'),'',false);
|
||||
if($host_version > "12100"):
|
||||
html_checkbox2('vnetjail',gettext('Enable VNET(VIMAGE)'),!empty($pconfig['vnetjail']) ? true : false,gettext('VNET-enabled containers are attached to a virtual bridge interface for connectivity(Only supported on 13.x and above).'),'',false,false,'vnetjail_change()');
|
||||
html_checkbox2('bridgejail',gettext('Enable Bridge VNET(VIMAGE)'),!empty($pconfig['bridgejail']) ? true : false,gettext('Bridge VNET-enabled containers are attached to a specified, already existing external bridge(Only supported on 13.x and above).'),'',false,false,'bridgejail_change()');
|
||||
endif;
|
||||
html_checkbox2('emptyjail',gettext('Create an empty container'),!empty($pconfig['emptyjail']) ? true : false,gettext('This are ideal for custom builds, experimenting with unsupported RELEASES or Linux jails.'),'',false,false,'emptyjail_change()');
|
||||
if($linux_compat_support == "YES"):
|
||||
//html_checkbox2('linuxjail',gettext('Create a Linux container'),!empty($pconfig['linuxjail']) ? true : false,gettext('This will create a Linux container, this is highly experimental and for testing purposes.'),'',false,false,'linuxjail_change()');
|
||||
endif;
|
||||
endif;
|
||||
//html_checkbox2('nowstart',gettext('Start after creation'),!empty($pconfig['nowstart']) ? true : false,gettext('Start the container after creation(May be overridden by later bastille releases).'),'',false);
|
||||
html_checkbox2('autostart',gettext('Auto start on boot'),!empty($pconfig['autostart']) ? true : false,gettext('Automatically start the container at boot time.'),'',false);
|
||||
?>
|
||||
<tr>
|
||||
<td id="area_data_frame">
|
||||
<?php
|
||||
if (!empty($errormsg)):
|
||||
print_error_box($errormsg);
|
||||
endif;
|
||||
if (!empty($savemsg)):
|
||||
print_info_box($savemsg);
|
||||
endif;
|
||||
if (!empty($input_errors)):
|
||||
print_input_errors($input_errors);
|
||||
endif;
|
||||
if (file_exists($d_sysrebootreqd_path)):
|
||||
print_info_box(get_std_save_message(0));
|
||||
endif;
|
||||
?>
|
||||
<table class="area_data_settings">
|
||||
<colgroup>
|
||||
<col class="area_data_settings_col_tag">
|
||||
<col class="area_data_settings_col_data">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<?php
|
||||
html_titleline2(gettext('Create new Container'), 2);
|
||||
?>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
html_inputbox2('jailname', gettext('Friendly name'), $pconfig['jailname'], '', true, 20);
|
||||
html_inputbox2('ipaddress', gettext('IP Address'), $pconfig['ipaddress'], '', true, 20);
|
||||
$a_action = $l_interfaces;
|
||||
$b_action = $l_release;
|
||||
html_combobox2('interface', gettext('Network interface'), !empty($pconfig['interface']), $a_action, '', true, false);
|
||||
html_combobox2('release', gettext('Base release'), !empty($pconfig['release']), $b_action, '', true, false);
|
||||
if ($bastille_version_min > "0700000000"):
|
||||
html_checkbox2('thickjail', gettext('Create a thick container'), !empty($pconfig['thickjail']) ? true : false, gettext('These containers consume more space, but are self contained and fully independent.'), '', false);
|
||||
if ($host_version > "12100"):
|
||||
html_checkbox2('vnetjail', gettext('Enable VNET(VIMAGE)'), !empty($pconfig['vnetjail']) ? true : false, gettext('VNET-enabled containers are attached to a virtual bridge interface for connectivity(Only supported on 13.x and above).'), '', false, false, 'vnetjail_change()');
|
||||
html_checkbox2('bridgejail', gettext('Enable Bridge VNET(VIMAGE)'), !empty($pconfig['bridgejail']) ? true : false, gettext('Bridge VNET-enabled containers are attached to a specified, already existing external bridge(Only supported on 13.x and above).'), '', false, false, 'bridgejail_change()');
|
||||
endif;
|
||||
html_checkbox2('emptyjail', gettext('Create an empty container'), !empty($pconfig['emptyjail']) ? true : false, gettext('This are ideal for custom builds, experimenting with unsupported RELEASES or Linux jails.'), '', false, false, 'emptyjail_change()');
|
||||
if ($linux_compat_support == "YES"):
|
||||
html_checkbox2('linuxjail', gettext('Create a Linux container'), !empty($pconfig['linuxjail']) ? true : false, gettext('This will create a Linux container, this is highly experimental and for testing purposes.'), '', false, false, 'linuxjail_change()');
|
||||
endif;
|
||||
endif;
|
||||
//html_checkbox2('nowstart',gettext('Start after creation'),!empty($pconfig['nowstart']) ? true : false,gettext('Start the container after creation(May be overridden by later bastille releases).'),'',false);
|
||||
html_checkbox2('autostart', gettext('Auto start on boot'), !empty($pconfig['autostart']) ? true : false, gettext('Automatically start the container at boot time.'), '', false);
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
<div id="submit">
|
||||
<input name="Create" type="submit" class="formbtn" value="<?= gtext('Create'); ?>" />
|
||||
<input name="Cancel" type="submit" class="formbtn" value="<?= gtext('Cancel'); ?>" />
|
||||
</div>
|
||||
<?php
|
||||
include 'formend.inc';
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div id="submit">
|
||||
<input name="Create" type="submit" class="formbtn" value="<?=gtext('Create');?>"/>
|
||||
<input name="Cancel" type="submit" class="formbtn" value="<?=gtext('Cancel');?>" />
|
||||
</div>
|
||||
<?php
|
||||
include 'formend.inc';
|
||||
?>
|
||||
</td></tr></tbody></table></form>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
emptyjail_change();
|
||||
linuxjail_change();
|
||||
//-->
|
||||
<!--
|
||||
emptyjail_change();
|
||||
linuxjail_change();
|
||||
//-->
|
||||
</script>
|
||||
<?php
|
||||
include 'fend.inc';
|
||||
?>
|
||||
?>
|
||||
Reference in New Issue
Block a user