function create_cmd_output(&$action, &$a_mount, &$fullname)
{
    $cmdout = CMDOUT_PARA_WOHINT;
    ob_end_flush();
    $retvalue = <<<EOD
{$cmdout}

EOD;
    /* Get the id of the mount array entry. */
    $id = array_search_ex($fullname, $a_mount, "fullname");
    /* Get the mount data. */
    $mount = $a_mount[$id];
    switch ($action) {
        case "mount":
            $diskinit_str = gettext("Mounting '{$fullname}'...") . "<br />";
            $result = disks_mount_fullname($fullname);
            break;
        case "umount":
            $diskinit_str = gettext("Umounting '{$fullname}'...") . "<br />";
            $result = disks_umount_fullname($fullname);
            break;
    }
    /* Display result */
    0 == $result ? $diskinit_str .= gettext("Successful") : ($diskinit_str .= gettext("Failed"));
    $retvalue .= <<<EOD
              <div id="ismounted_out" style="font-family: Courier, monospace; font-size: small;">
              <pre style="font-family: Courier, monospace; font-size: small; font-style: italic;">{$diskinit_str}</pre>
              </div>

EOD;
    return $retvalue;
}
Example #2
0
function zfszpool_process_updatenotification($mode, $data)
{
    global $config;
    $retval = 0;
    switch ($mode) {
        case UPDATENOTIFY_MODE_NEW:
            $retval = zfs_zpool_configure($data);
            break;
        case UPDATENOTIFY_MODE_MODIFIED:
            $retval = zfs_zpool_properties($data);
            break;
        case UPDATENOTIFY_MODE_DIRTY:
            $cnid = array_search_ex($data, $config['zfs']['pools']['pool'], "uuid");
            if (FALSE !== $cnid) {
                zfs_zpool_destroy($data);
                unset($config['zfs']['pools']['pool'][$cnid]);
                write_config();
                // remove existing pool cache
                conf_mount_rw();
                unlink_if_exists("{$g['cf_path']}/boot/zfs/zpool.cache");
                conf_mount_ro();
            }
            break;
    }
    return $retval;
}
function strip_exists($device, &$a_vdevice)
{
    if (false !== array_search_ex($diskv['devicespecialfile'], $a_vdevice, "device")) {
        return true;
    }
    foreach ($a_vdevice as $vdevs) {
        foreach ($vdevs['device'] as $dev) {
            // label
            $tmp = disks_label_to_device($dev);
            if (strcmp($tmp, $device) == 0) {
                return true;
            }
            // label+partition
            $tmp = strip_partition($tmp);
            if (strcmp($tmp, $device) == 0) {
                return true;
            }
            // partition
            $tmp = strip_partition($dev);
            if (strcmp($tmp, $device) == 0) {
                return true;
            }
        }
    }
    return false;
}
Example #4
0
function get_fs_type($devicespecialfile)
{
    global $a_disk;
    $index = array_search_ex($devicespecialfile, $a_disk, "devicespecialfile");
    if (false === $index) {
        return "";
    }
    return $a_disk[$index]['fstype'];
}
function userdbgroup_process_updatenotification($mode, $data)
{
    global $config;
    $retval = 0;
    switch ($mode) {
        case UPDATENOTIFY_MODE_NEW:
        case UPDATENOTIFY_MODE_MODIFIED:
            break;
        case UPDATENOTIFY_MODE_DIRTY:
            $index = array_search_ex($data, $config['access']['group'], "uuid");
            if (false !== $index) {
                unset($config['access']['group'][$index]);
                write_config();
            }
            break;
    }
    return $retval;
}
Example #6
0
function afpshare_process_updatenotification($mode, $data)
{
    global $config;
    $retval = 0;
    switch ($mode) {
        case UPDATENOTIFY_MODE_NEW:
        case UPDATENOTIFY_MODE_MODIFIED:
            break;
        case UPDATENOTIFY_MODE_DIRTY:
            $cnid = array_search_ex($data, $config['afp']['share'], "uuid");
            if (FALSE !== $cnid) {
                unset($config['afp']['share'][$cnid]);
                write_config();
            }
            break;
    }
    return $retval;
}
function routes_process_updatenotification($mode, $data)
{
    global $config;
    $retval = 0;
    switch ($mode) {
        case UPDATENOTIFY_MODE_NEW:
        case UPDATENOTIFY_MODE_MODIFIED:
            break;
        case UPDATENOTIFY_MODE_DIRTY:
            $cnid = array_search_ex($data, $config['staticroutes']['route'], "uuid");
            if (FALSE !== $index) {
                rc_exec_service("routing delete conf_" . strtr($config['staticroutes']['route'][$cnid]['uuid'], "-", "_"));
                unset($config['staticroutes']['route'][$cnid]);
                write_config();
            }
            break;
    }
    return $retval;
}
Example #8
0
function geli_process_updatenotification($mode, $data)
{
    global $config;
    $retval = 0;
    switch ($mode) {
        case UPDATENOTIFY_MODE_DIRTY:
            $cnid = array_search_ex($data, $config['geli']['vdisk'], "uuid");
            if (FALSE !== $cnid) {
                // Kill encrypted volume.
                disks_geli_kill($config['geli']['vdisk'][$cnid]['devicespecialfile']);
                // Reset disk file system type attribute ('fstype') in configuration.
                set_conf_disk_fstype($config['geli']['vdisk'][$cnid]['device'][0], "");
                unset($config['geli']['vdisk'][$cnid]);
                write_config();
            }
            break;
    }
    return $retval;
}
function rsynclocal_process_updatenotification($mode, $data)
{
    global $config;
    $retval = 0;
    switch ($mode) {
        case UPDATENOTIFY_MODE_NEW:
        case UPDATENOTIFY_MODE_MODIFIED:
            break;
        case UPDATENOTIFY_MODE_DIRTY:
            $cnid = array_search_ex($data, $config['rsync']['rsynclocal'], "uuid");
            if (FALSE !== $cnid) {
                unset($config['rsync']['rsynclocal'][$cnid]);
                write_config();
            }
            @unlink("/var/run/rsync_local_{$data}.sh");
            break;
    }
    return $retval;
}
Example #10
0
function ftpd_mod_ban_process_updatenotification($mode, $data)
{
    global $config;
    $retval = 0;
    switch ($mode) {
        case UPDATENOTIFY_MODE_NEW:
        case UPDATENOTIFY_MODE_MODIFIED:
            break;
        case UPDATENOTIFY_MODE_DIRTY:
            if (is_array($config['ftpd']['mod_ban']['rule'])) {
                $index = array_search_ex($data, $config['ftpd']['mod_ban']['rule'], "uuid");
                if (false !== $index) {
                    unset($config['ftpd']['mod_ban']['rule'][$index]);
                    write_config();
                }
            }
            break;
    }
    return $retval;
}
function zfszpool_process_updatenotification($mode, $data)
{
    global $config;
    $retval = 0;
    switch ($mode) {
        case UPDATENOTIFY_MODE_NEW:
            $retval = zfs_zpool_configure($data);
            break;
        case UPDATENOTIFY_MODE_MODIFIED:
            break;
        case UPDATENOTIFY_MODE_DIRTY:
            $cnid = array_search_ex($data, $config['zfs']['pools']['pool'], "uuid");
            if (FALSE !== $cnid) {
                zfs_zpool_destroy($data);
                unset($config['zfs']['pools']['pool'][$cnid]);
                write_config();
            }
            break;
    }
    return $retval;
}
Example #12
0
function rcconf_process_updatenotification($mode, $data)
{
    global $config;
    $retval = 0;
    switch ($mode) {
        case UPDATENOTIFY_MODE_NEW:
        case UPDATENOTIFY_MODE_MODIFIED:
            break;
        case UPDATENOTIFY_MODE_DIRTY:
            if (is_array($config['system']['rcconf']['param'])) {
                $index = array_search_ex($data, $config['system']['rcconf']['param'], "uuid");
                if (false !== $index) {
                    mwexec2("/usr/local/sbin/rconf attribute remove {$config['system']['rcconf']['param'][$index]['name']}");
                    unset($config['system']['rcconf']['param'][$index]);
                    write_config();
                }
            }
            break;
    }
    return $retval;
}
Example #13
0
function loaderconf_process_updatenotification($mode, $data)
{
    global $config;
    $retval = 0;
    switch ($mode) {
        case UPDATENOTIFY_MODE_NEW:
        case UPDATENOTIFY_MODE_MODIFIED:
            write_loader_config();
            write_config();
            break;
        case UPDATENOTIFY_MODE_DIRTY:
            if (is_array($config['system']['loaderconf']['param'])) {
                $index = array_search_ex($data, $config['system']['loaderconf']['param'], "uuid");
                if (false !== $index) {
                    unset($config['system']['loaderconf']['param'][$index]);
                    write_loader_config();
                    write_config();
                }
            }
            break;
    }
    return $retval;
}
     if (is_ipv4addr($_POST['gateway']) && !is_ipv4addr($_POST['network'])) {
         $input_errors[] = gettext("You must enter the same IP type for network and gateway.");
     } else {
         if (is_ipv6addr($_POST['gateway']) && !is_ipv6addr($_POST['network'])) {
             $input_errors[] = gettext("IP type mismatch for network and gateway.");
         }
     }
 }
 // Check for overlaps
 // gen_subnet work for IPv4 only... This function permit to fix user input error for network number.
 if (is_ipv4addr($_POST['network'])) {
     $osn = gen_subnet($_POST['network'], $_POST['network_subnet']) . "/" . $_POST['network_subnet'];
 } else {
     $osn = $_POST['network'] . "/" . $_POST['network_subnet'];
 }
 $index = array_search_ex($osn, $a_routes, "network");
 if (FALSE !== $index) {
     if (!(FALSE !== $cnid && $a_routes[$cnid]['uuid'] === $a_routes[$index]['uuid'])) {
         $input_errors[] = gettext("A route to this destination network already exists.");
     }
 }
 if (!$input_errors) {
     $route = array();
     $route['uuid'] = $_POST['uuid'];
     $route['interface'] = $_POST['interface'];
     $route['network'] = $osn;
     $route['gateway'] = $_POST['gateway'];
     $route['descr'] = $_POST['descr'];
     if (isset($uuid) && FALSE !== $cnid) {
         $a_routes[$cnid] = $route;
         $mode = UPDATENOTIFY_MODE_MODIFIED;
Example #15
0
				<table width="100%" border="0" cellpadding="6" cellspacing="0">
					<tr>
						<td width="22%" valign="top" class="vncellreq"><?php 
echo gettext("Disk");
?>
</td>
						<td width="78%" class="vtable">
							<select name="name" class="formfld" id="name">
								<?php 
foreach ($a_phy_disk as $diskk => $diskv) {
    ?>
								<?php 
    // Do not display disks that are already configured. (Create mode);
    ?>
								<?php 
    if (!isset($uuid) && false !== array_search_ex($diskk, $a_disk, "name")) {
        continue;
    }
    ?>
								<option value="<?php 
    echo $diskk;
    ?>
" <?php 
    if ($diskk == $pconfig['name']) {
        echo "selected=\"selected\"";
    }
    ?>
><?php 
    echo htmlspecialchars($diskk . ": " . $diskv['size'] . " (" . $diskv['model'] . ")");
    ?>
</option>
			        <?php 
}
?>
			        </select><br />
			        <?php 
echo gettext("Select your read balance algorithm.");
?>
</td>
			    </tr>
			    <?php 
$a_provider = array();
foreach ($a_disk as $diskv) {
    if (isset($id) && !(is_array($pconfig['device']) && in_array($diskv['devicespecialfile'], $pconfig['device']))) {
        continue;
    }
    if (!isset($id) && false !== array_search_ex($diskv['devicespecialfile'], $all_raid, "device")) {
        continue;
    }
    $a_provider[$diskv[devicespecialfile]] = htmlspecialchars("{$diskv['name']} ({$diskv['size']}, {$diskv['desc']})");
}
?>
			    <?php 
html_listbox("device", gettext("Provider"), $pconfig['device'], $a_provider, gettext("Note: Ctrl-click (or command-click on the Mac) to select multiple entries."), true, isset($id));
?>
			    <?php 
if (!isset($id)) {
    ?>
			    <tr>
						<td width="22%" valign="top" class="vncell"><?php 
    echo gettext("Initialize");
    ?>
function sysctl_tune($mode)
{
    global $config;
    if (!is_array($config['system']['sysctl']['param'])) {
        $config['system']['sysctl']['param'] = array();
    }
    array_sort_key($config['system']['sysctl']['param'], "name");
    $a_sysctlvar =& $config['system']['sysctl']['param'];
    $a_mib = array("net.inet.tcp.delayed_ack" => 0, "net.inet.tcp.rfc1323" => 1, "net.inet.tcp.sendspace" => 262144, "net.inet.tcp.recvspace" => 262144, "net.inet.udp.recvspace" => 65536, "net.inet.udp.maxdgram" => 57344, "net.local.stream.recvspace" => 65536, "net.local.stream.sendspace" => 65536, "kern.ipc.maxsockbuf" => 2097152, "kern.ipc.somaxconn" => 8192, "kern.ipc.nmbclusters" => 32768, "kern.maxfiles" => 65536, "kern.maxfilesperproc" => 32768, "net.inet.icmp.icmplim" => 300, "net.inet.icmp.icmplim_output" => 1, "net.inet.tcp.inflight.enable" => 0, "net.inet.tcp.path_mtu_discovery" => 0);
    switch ($mode) {
        case 0:
            // Remove system tune MIB's.
            while (list($name, $value) = each($a_mib)) {
                $id = array_search_ex($name, $a_sysctlvar, "name");
                if (false === $id) {
                    continue;
                }
                unset($a_sysctlvar[$id]);
            }
            break;
        case 1:
            // Add system tune MIB's.
            while (list($name, $value) = each($a_mib)) {
                $id = array_search_ex($name, $a_sysctlvar, "name");
                if (false !== $id) {
                    continue;
                }
                $param = array();
                $param['uuid'] = uuid();
                $param['name'] = $name;
                $param['value'] = $value;
                $param['comment'] = gettext("System tuning");
                $param['enable'] = true;
                $a_sysctlvar[] = $param;
            }
            break;
    }
}
if (isset($_POST['uuid'])) {
    $uuid = $_POST['uuid'];
}
$pgtitle = array(gettext("Disks"), gettext("Management"), gettext("S.M.A.R.T."), gettext("Scheduled Self-Test"), isset($uuid) ? gettext("Edit") : gettext("Add"));
$a_months = explode(" ", gettext("January February March April May June July August September October November December"));
$a_weekdays = explode(" ", gettext("Monday Tuesday Wednesday Thursday Friday Saturday Sunday"));
if (!isset($config['smartd']) || !is_array($config['smartd'])) {
    $config['smartd'] = array();
}
if (!isset($config['smartd']['selftest']) || !is_array($config['smartd']['selftest'])) {
    $config['smartd']['selftest'] = array();
}
$a_selftest =& $config['smartd']['selftest'];
// Get list of all configured physical disks.
$a_disk = get_conf_physical_disks_list();
if (isset($uuid) && FALSE !== ($cnid = array_search_ex($uuid, $a_selftest, "uuid"))) {
    $pconfig['uuid'] = $a_selftest[$cnid]['uuid'];
    $pconfig['devicespecialfile'] = $a_selftest[$cnid]['devicespecialfile'];
    $pconfig['type'] = $a_selftest[$cnid]['type'];
    //$pconfig['minute'] = $a_selftest[$cnid]['minute'];
    $pconfig['minute'] = array();
    $pconfig['hour'] = $a_selftest[$cnid]['hour'];
    $pconfig['day'] = $a_selftest[$cnid]['day'];
    $pconfig['month'] = $a_selftest[$cnid]['month'];
    $pconfig['weekday'] = $a_selftest[$cnid]['weekday'];
    //$pconfig['all_mins'] = $a_selftest[$cnid]['all_mins'];
    $pconfig['all_mins'] = 1;
    $pconfig['all_hours'] = $a_selftest[$cnid]['all_hours'];
    $pconfig['all_days'] = $a_selftest[$cnid]['all_days'];
    $pconfig['all_months'] = $a_selftest[$cnid]['all_months'];
    $pconfig['all_weekdays'] = $a_selftest[$cnid]['all_weekdays'];
*/
require "auth.inc";
require "guiconfig.inc";
if (isset($_GET['uuid'])) {
    $uuid = $_GET['uuid'];
}
if (isset($_POST['uuid'])) {
    $uuid = $_POST['uuid'];
}
$pgtitle = array(gettext("Disks"), gettext("Management"), gettext("iSCSI Initiator"), isset($uuid) ? gettext("Edit") : gettext("Add"));
if (!isset($config['iscsiinit']['vdisk']) || !is_array($config['iscsiinit']['vdisk'])) {
    $config['iscsiinit']['vdisk'] = array();
}
array_sort_key($config['iscsiinit']['vdisk'], "name");
$a_iscsiinit =& $config['iscsiinit']['vdisk'];
if (isset($uuid) && FALSE !== ($cnid = array_search_ex($uuid, $a_iscsiinit, "uuid"))) {
    $pconfig['uuid'] = $a_iscsiinit[$cnid]['uuid'];
    $pconfig['name'] = $a_iscsiinit[$cnid]['name'];
    $pconfig['targetname'] = $a_iscsiinit[$cnid]['targetname'];
    $pconfig['targetaddress'] = $a_iscsiinit[$cnid]['targetaddress'];
    $pconfig['initiatorname'] = $a_iscsiinit[$cnid]['initiatorname'];
} else {
    $pconfig['uuid'] = uuid();
    $pconfig['name'] = "";
    $pconfig['targetname'] = "";
    $pconfig['targetaddress'] = "";
    $pconfig['initiatorname'] = "iqn.2012-03.org.nas4free:nas4free";
}
if (isset($config['iscsitarget']['nodebase']) && !empty($config['iscsitarget']['nodebase'])) {
    $ex_nodebase = $config['iscsitarget']['nodebase'];
    $ex_disk = "disk0";
function gvinum_process_updatenotification($mode, $data)
{
    global $config;
    $retval = 0;
    switch ($mode) {
        case UPDATENOTIFY_MODE_NEW:
            $retval |= disks_raid_gvinum_configure($data);
            break;
        case UPDATENOTIFY_MODE_MODIFIED:
            $retval |= rc_exec_service("geom start vinum");
            break;
        case UPDATENOTIFY_MODE_DIRTY:
            $retval |= disks_raid_gvinum_delete($data);
            if (is_array($config['gvinum']['vdisk'])) {
                $index = array_search_ex($data, $config['gvinum']['vdisk'], "uuid");
                if (false !== $index) {
                    unset($config['gvinum']['vdisk'][$index]);
                    write_config();
                }
            }
            break;
    }
    return $retval;
}
Example #21
0
 if (isset($_POST['Cancel']) && $_POST['Cancel']) {
     header("Location: system_hosts.php");
     exit;
 }
 // Input validation.
 $reqdfields = explode(" ", "name address");
 $reqdfieldsn = array(gettext("Hostname"), gettext("IP address"));
 do_input_validation($_POST, $reqdfields, $reqdfieldsn, $input_errors);
 if ($_POST['name'] && !is_validdesc($_POST['name'])) {
     $input_errors[] = gettext("The host name contain invalid characters.");
 }
 if ($_POST['address'] && !is_ipaddr($_POST['address'])) {
     $input_errors[] = gettext("A valid IP address must be specified.");
 }
 // Check for duplicates.
 $index = array_search_ex($_POST['name'], $a_hosts, "name");
 if (FALSE !== $index) {
     if (!(FALSE !== $cnid && $a_hosts[$cnid]['uuid'] === $a_hosts[$index]['uuid'])) {
         $input_errors[] = gettext("An host with this name already exists.");
     }
 }
 if (empty($input_errors)) {
     $host = array();
     $host['uuid'] = $_POST['uuid'];
     $host['name'] = $_POST['name'];
     $host['address'] = $_POST['address'];
     $host['descr'] = $_POST['descr'];
     if (isset($uuid) && FALSE !== $cnid) {
         $a_hosts[$cnid] = $host;
         $mode = UPDATENOTIFY_MODE_MODIFIED;
     } else {
function get_next_rulenumber()
{
    global $config;
    // Set starting rule number
    $ruleno = 100;
    $a_rules = $config['system']['firewall']['rule'];
    if (false !== array_search_ex(strval($ruleno), $a_rules, "ruleno")) {
        do {
            $ruleno += 100;
            // Increase rule number until a unused one is found.
        } while (false !== array_search_ex(strval($ruleno), $a_rules, "ruleno"));
    }
    return $ruleno;
}
function iscsitargetig_process_updatenotification($mode, $data)
{
    global $config;
    $retval = 0;
    switch ($mode) {
        case UPDATENOTIFY_MODE_DIRTY:
            $cnid = array_search_ex($data, $config['iscsitarget']['initiatorgroup'], "uuid");
            if (FALSE !== $cnid) {
                unset($config['iscsitarget']['initiatorgroup'][$cnid]);
                write_config();
            }
            break;
    }
    return $retval;
}
Example #24
0
$pconfig['auxparam'] = implode("\n", $config['hast']['auxparam']);
$pconfig['alertemail'] = $config['hast']['alertemail'];
$pconfig['alertemailto'] = $config['hast']['alertemailto'];
$nodeid = @exec("/sbin/sysctl -q -n kern.hostuuid");
if (empty($nodeid)) {
    $nodeid = "unknown";
}
$nodename = system_get_hostname();
if (empty($nodename)) {
    $nodename = "unknown";
}
$a_carp =& $config['vinterfaces']['carp'];
array_sort_key($a_carp, "if");
$a_cronjob =& $config['cron']['job'];
$alert_script = '/etc/inc/hast_alerts.php';
$cnid = isset($config['hast']['alertemailcronuuid']) ? array_search_ex($config['hast']['alertemailcronuuid'], $a_cronjob, "uuid") : false;
if (!sizeof($a_carp)) {
    $errormsg = sprintf(gettext("No configured CARP interfaces. Please add new <a href='%s'>CARP interface</a> first."), "interfaces_carp.php");
}
if ($_POST) {
    unset($input_errors);
    unset($errormsg);
    $pconfig = $_POST;
    $preempt = @exec("/sbin/sysctl -q -n net.inet.carp.preempt");
    if (isset($_POST['switch_backup']) && $_POST['switch_backup']) {
        // down all carp
        foreach ($a_carp as $carp) {
            //system("/sbin/ifconfig {$carp['if']} down");
            mwexec("/etc/rc.d/netif stop {$carp['if']}");
            if ($carp['advskew'] <= 1) {
                system("/sbin/ifconfig {$carp['if']} vhid {$carp['vhid']} state backup advskew 240");
function get_nextgroup_id()
{
    global $config;
    // Get next free user id.
    exec("/usr/sbin/pw groupnext", $output);
    $output = explode(":", $output[0]);
    $id = intval($output[0]);
    // Check if id is already in usage. If the user did not press the 'Apply'
    // button 'pw' did not recognize that there are already several new users
    // configured because the user db is not updated until 'Apply' is pressed.
    $a_group = $config['access']['group'];
    if (false !== array_search_ex(strval($id), $a_group, "id")) {
        do {
            $id++;
            // Increase id until a unused one is found.
        } while (false !== array_search_ex(strval($id), $a_group, "id"));
    }
    return $id;
}
$uuid = $_GET['uuid'];
if (isset($_POST['uuid'])) {
    $uuid = $_POST['uuid'];
}
$pgtitle = array(gettext("Services"), gettext("Rsync"), gettext("Client"), isset($uuid) ? gettext("Edit") : gettext("Add"));
/* Global arrays. */
$a_months = explode(" ", gettext("January February March April May June July August September October November December"));
$a_weekdays = explode(" ", gettext("Sunday Monday Tuesday Wednesday Thursday Friday Saturday"));
if (!is_array($config['rsync'])) {
    $config['rsync'] = array();
}
if (!is_array($config['rsync']['rsyncclient'])) {
    $config['rsync']['rsyncclient'] = array();
}
$a_rsyncclient =& $config['rsync']['rsyncclient'];
if (isset($uuid) && FALSE !== ($cnid = array_search_ex($uuid, $a_rsyncclient, "uuid"))) {
    $pconfig['enable'] = isset($a_rsyncclient[$cnid]['enable']);
    $pconfig['uuid'] = $a_rsyncclient[$cnid]['uuid'];
    $pconfig['rsyncserverip'] = $a_rsyncclient[$cnid]['rsyncserverip'];
    $pconfig['localshare'] = $a_rsyncclient[$cnid]['localshare'];
    $pconfig['remoteshare'] = $a_rsyncclient[$cnid]['remoteshare'];
    $pconfig['minute'] = $a_rsyncclient[$cnid]['minute'];
    $pconfig['hour'] = $a_rsyncclient[$cnid]['hour'];
    $pconfig['day'] = $a_rsyncclient[$cnid]['day'];
    $pconfig['month'] = $a_rsyncclient[$cnid]['month'];
    $pconfig['weekday'] = $a_rsyncclient[$cnid]['weekday'];
    $pconfig['sharetosync'] = $a_rsyncclient[$cnid]['sharetosync'];
    $pconfig['all_mins'] = $a_rsyncclient[$cnid]['all_mins'];
    $pconfig['all_hours'] = $a_rsyncclient[$cnid]['all_hours'];
    $pconfig['all_days'] = $a_rsyncclient[$cnid]['all_days'];
    $pconfig['all_months'] = $a_rsyncclient[$cnid]['all_months'];
Example #27
0
    global $config, $g;
    if ($config['interfaces']['lan']['if'] === $ifn) {
        return true;
    }
    if (isset($config['interfaces']['wan']) && $config['interfaces']['wan']['if'] === $ifn) {
        return true;
    }
    for ($i = 1; isset($config['interfaces']['opt' . $i]); $i++) {
        if ($config['interfaces']['opt' . $i]['if'] === $ifn) {
            return true;
        }
    }
    return false;
}
if (isset($_GET['act']) && $_GET['act'] === "del") {
    if (FALSE === ($cnid = array_search_ex($_GET['uuid'], $config['vinterfaces']['vlan'], "uuid"))) {
        header("Location: interfaces_vlan.php");
        exit;
    }
    $vlan = $a_vlan[$cnid];
    // Check if still in use.
    if (vlan_inuse($vlan['if'])) {
        $input_errors[] = gettext("This VLAN cannot be deleted because it is still being used as an interface.");
    } else {
        mwexec("/usr/local/sbin/rconf attribute remove 'ifconfig_{$vlan['if']}'");
        unset($a_vlan[$cnid]);
        write_config();
        touch($d_sysrebootreqd_path);
        header("Location: interfaces_vlan.php");
        exit;
    }
Example #28
0
    $nohttps_error = gettext("You should use HTTPS as WebGUI protocol for sending passphrase.");
}
if ($_POST) {
    unset($input_errors);
    unset($errormsg);
    $pconfig = $_POST;
    if (isset($_POST['Cancel']) && $_POST['Cancel']) {
        header("Location: disks_crypt.php");
        exit;
    }
    // Input validation.
    $reqdfields = explode(" ", "disk ealgo passphrase passphraseconf");
    $reqdfieldsn = array(gettext("Disk"), gettext("Encryption algorithm"), gettext("Passphrase"), gettext("Passphrase"));
    do_input_validation($_POST, $reqdfields, $reqdfieldsn, $input_errors);
    // Check for duplicate disks.
    if (array_search_ex("{$_POST['disk']}.eli", $a_geli, "devicespecialfile")) {
        $input_errors[] = gettext("This disk already exists in the disk list.");
    }
    // Check for a passphrase mismatch.
    if ($_POST['passphrase'] !== $_POST['passphraseconf']) {
        $input_errors[] = gettext("Passphrase don't match.");
    }
    if (0 != mwexec("/sbin/kldstat -q -m aesni")) {
        mwexec("/sbin/kldload -q aesni.ko");
    }
    if (empty($input_errors)) {
        $pconfig['do_action'] = true;
        $pconfig['init'] = isset($_POST['init']) ? true : false;
        $pconfig['name'] = $a_alldisk[$_POST['disk']]['name'];
        // e.g. da2
        $pconfig['devicespecialfile'] = $a_alldisk[$_POST['disk']]['devicespecialfile'];
*/
require "auth.inc";
require "guiconfig.inc";
if (isset($_GET['uuid'])) {
    $uuid = $_GET['uuid'];
}
if (isset($_POST['uuid'])) {
    $uuid = $_POST['uuid'];
}
$pgtitle = array(gettext("Services"), gettext("HAST"), isset($uuid) ? gettext("Edit") : gettext("Add"));
if (!isset($config['hast']['hastresource']) || !is_array($config['hast']['hastresource'])) {
    $config['hast']['hastresource'] = array();
}
array_sort_key($config['hast']['hastresource'], "name");
$a_resource =& $config['hast']['hastresource'];
if (isset($uuid) && FALSE !== ($cnid = array_search_ex($uuid, $a_resource, "uuid"))) {
    $pconfig['uuid'] = $a_resource[$cnid]['uuid'];
    $pconfig['name'] = $a_resource[$cnid]['name'];
    $pconfig['auxparam'] = "";
    if (isset($a_resource[$cnid]['auxparam']) && is_array($a_resource[$cnid]['auxparam'])) {
        $pconfig['auxparam'] = implode("\n", $a_resource[$cnid]['auxparam']);
    }
    $pconfig['aname'] = $a_resource[$cnid]['aname'];
    $pconfig['apath'] = $a_resource[$cnid]['apath'];
    $pconfig['aremoteaddr'] = $a_resource[$cnid]['aremoteaddr'];
    $pconfig['bname'] = $a_resource[$cnid]['bname'];
    $pconfig['bpath'] = $a_resource[$cnid]['bpath'];
    $pconfig['bremoteaddr'] = $a_resource[$cnid]['bremoteaddr'];
} else {
    $pconfig['uuid'] = uuid();
    $pconfig['name'] = "";
				<?php 
if (file_exists($d_sysrebootreqd_path)) {
    print_info_box(get_std_save_message(0));
}
?>
				<table width="100%" border="0" cellpadding="6" cellspacing="0">
					<?php 
html_inputbox("name", gettext("Name"), $pconfig['name'], "", true, 20);
?>
					<?php 
$a_device = array();
foreach ($a_vdevice as $vdevicev) {
    if (isset($uuid) && false !== $cnid && !(isset($pconfig['vdevice']) && is_array($pconfig['vdevice']) && in_array($vdevicev['name'], $pconfig['vdevice']))) {
        continue;
    }
    if ((!isset($uuid) || isset($uuid) && false === $cnid) && false !== array_search_ex($vdevicev['name'], $a_pool, "vdevice")) {
        continue;
    }
    $a_device[$vdevicev['name']] = htmlspecialchars("{$vdevicev['name']} ({$vdevicev['type']}" . (!empty($vdevicev['desc']) ? ", {$vdevicev['desc']})" : ")"));
}
?>
					<?php 
html_listbox("vdevice", gettext("Virtual devices"), !empty($pconfig['vdevice']) ? $pconfig['vdevice'] : array(), $a_device, "", true);
?>
					<?php 
html_inputbox("root", gettext("Root"), $pconfig['root'], gettext("Creates the pool with an alternate root."), false, 40);
?>
					<?php 
html_inputbox("mountpoint", gettext("Mount point"), $pconfig['mountpoint'], gettext("Sets an alternate mount point for the root dataset. Default is /mnt."), false, 40);
?>
					<?php