DHCP: IPs are now optional (3038797)
This commit is contained in:
parent
5882e43994
commit
077969e288
|
@ -1,6 +1,7 @@
|
||||||
October 2010 3.2.0
|
October 2010 3.2.0
|
||||||
- usability enhancements
|
- usability enhancements
|
||||||
- Shadow: allow to force password change when maximum password age is set
|
- Shadow: allow to force password change when maximum password age is set
|
||||||
|
- DHCP: renamed module "Fixed IPs" to "Hosts", IP is now optional (3038797)
|
||||||
- LAM Pro:
|
- LAM Pro:
|
||||||
-> Password policy: allow to force password change (RFE 3026940)
|
-> Password policy: allow to force password change (RFE 3026940)
|
||||||
- fixed bugs:
|
- fixed bugs:
|
||||||
|
|
|
@ -66,7 +66,7 @@ class fixed_ip extends baseModule {
|
||||||
// manages host accounts
|
// manages host accounts
|
||||||
$return["account_types"] = array("dhcp");
|
$return["account_types"] = array("dhcp");
|
||||||
// alias name
|
// alias name
|
||||||
$return["alias"] = _("Fixed IP");
|
$return["alias"] = _("Hosts");
|
||||||
// this is a base module
|
// this is a base module
|
||||||
$return["is_base"] = false;
|
$return["is_base"] = false;
|
||||||
// icon
|
// icon
|
||||||
|
@ -259,15 +259,11 @@ class fixed_ip extends baseModule {
|
||||||
if (!empty($_POST['ip_'.$id])) {
|
if (!empty($_POST['ip_'.$id])) {
|
||||||
$_POST['ip_'.$id] = trim($_POST['ip_'.$id]);
|
$_POST['ip_'.$id] = trim($_POST['ip_'.$id]);
|
||||||
}
|
}
|
||||||
if (!empty($_POST['ip_'.$id]) && !(check_ip($_POST['ip_'.$id]) || get_preg($_POST['ip_'.$id], 'DNSname'))) {
|
if (!empty($_POST['ip_'.$id]) && !(check_ip($_POST['ip_'.$id]))) {
|
||||||
$error = true;
|
$error = true;
|
||||||
$this->fixed_ip[$id]['ip'] = $_POST['ip_'.$id];
|
$this->fixed_ip[$id]['ip'] = $_POST['ip_'.$id];
|
||||||
}
|
}
|
||||||
elseif (empty($_POST['ip_'.$id])) {
|
elseif (!empty($_POST['ip_'.$id]) && !$this->overlapd_ip($_POST['ip_'.$id])) {
|
||||||
$error = true;
|
|
||||||
$this->fixed_ip[$id]['ip'] = $_POST['ip_'.$id];
|
|
||||||
}
|
|
||||||
elseif (!$this->overlapd_ip($_POST['ip_'.$id])) {
|
|
||||||
$error = true;
|
$error = true;
|
||||||
$this->fixed_ip[$id]['ip'] = $_POST['ip_'.$id];
|
$this->fixed_ip[$id]['ip'] = $_POST['ip_'.$id];
|
||||||
}
|
}
|
||||||
|
@ -276,7 +272,7 @@ class fixed_ip extends baseModule {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Is ip correct with subnet:
|
// Is ip correct with subnet:
|
||||||
if (check_ip($_POST['ip_'.$id]) && !range::check_subnet_range($_POST['ip_'.$id],
|
if (!empty($_POST['ip_'.$id]) && check_ip($_POST['ip_'.$id]) && !range::check_subnet_range($_POST['ip_'.$id],
|
||||||
$this->getAccountContainer()->getAccountModule('dhcp_settings')->attributes['cn'][0],
|
$this->getAccountContainer()->getAccountModule('dhcp_settings')->attributes['cn'][0],
|
||||||
$this->getAccountContainer()->getAccountModule('dhcp_settings')->getDHCPOption('subnet-mask'))) {
|
$this->getAccountContainer()->getAccountModule('dhcp_settings')->getDHCPOption('subnet-mask'))) {
|
||||||
$error = true;
|
$error = true;
|
||||||
|
@ -341,7 +337,7 @@ class fixed_ip extends baseModule {
|
||||||
array('kind' => 'help', 'value' => 'mac'),
|
array('kind' => 'help', 'value' => 'mac'),
|
||||||
))),
|
))),
|
||||||
array('kind' => 'table', 'value' => array(array(
|
array('kind' => 'table', 'value' => array(array(
|
||||||
array('kind' => 'text', 'text' => _('IP address') . "*"),
|
array('kind' => 'text', 'text' => _('IP address')),
|
||||||
array('kind' => 'help', 'value' => 'ip'),
|
array('kind' => 'help', 'value' => 'ip'),
|
||||||
))),
|
))),
|
||||||
array('kind' => 'text', 'text' => ''),
|
array('kind' => 'text', 'text' => ''),
|
||||||
|
@ -385,10 +381,10 @@ class fixed_ip extends baseModule {
|
||||||
|
|
||||||
// fixed ip
|
// fixed ip
|
||||||
$ipError = "";
|
$ipError = "";
|
||||||
if (!$this->processed) {
|
if (!$this->processed || ($this->fixed_ip[$id]['ip'] == '')) {
|
||||||
$ipError = "";
|
$ipError = "";
|
||||||
}
|
}
|
||||||
elseif (($this->fixed_ip[$id]['ip'] == '') || !check_ip($this->fixed_ip[$id]['ip'])) {
|
elseif (!check_ip($this->fixed_ip[$id]['ip'])) {
|
||||||
$ipError = _("The IP address is invalid.");
|
$ipError = _("The IP address is invalid.");
|
||||||
}
|
}
|
||||||
elseif (!range::check_subnet_range($this->fixed_ip[$id]['ip'],
|
elseif (!range::check_subnet_range($this->fixed_ip[$id]['ip'],
|
||||||
|
@ -510,7 +506,9 @@ class fixed_ip extends baseModule {
|
||||||
$attr['objectClass'][0] = 'top';
|
$attr['objectClass'][0] = 'top';
|
||||||
$attr['objectClass'][1] = 'dhcpHost';
|
$attr['objectClass'][1] = 'dhcpHost';
|
||||||
$attr['dhcpHWAddress'] = 'ethernet ' . $add[$id]['mac'];
|
$attr['dhcpHWAddress'] = 'ethernet ' . $add[$id]['mac'];
|
||||||
|
if ($add[$id]['ip'] != '') {
|
||||||
$attr['dhcpStatements'] = 'fixed-address '.$add[$id]['ip'];
|
$attr['dhcpStatements'] = 'fixed-address '.$add[$id]['ip'];
|
||||||
|
}
|
||||||
$attr['dhcpOption'] = 'host-name "' . $add[$id]['cn'] . '"';
|
$attr['dhcpOption'] = 'host-name "' . $add[$id]['cn'] . '"';
|
||||||
if ($attr['cn'] != "")
|
if ($attr['cn'] != "")
|
||||||
ldap_add($_SESSION['ldap']->server(),'cn='.$add[$id]['cn'].',cn='.$this->getAccountContainer()->getAccountModule('dhcp_settings')->attributes['cn'][0].','.$_SESSION['config']->get_suffix('dhcp'),$attr);
|
ldap_add($_SESSION['ldap']->server(),'cn='.$add[$id]['cn'].',cn='.$this->getAccountContainer()->getAccountModule('dhcp_settings')->attributes['cn'][0].','.$_SESSION['config']->get_suffix('dhcp'),$attr);
|
||||||
|
|
Loading…
Reference in New Issue