check for duplicate MACs
This commit is contained in:
parent
41b0172810
commit
32e79e6417
|
@ -3,7 +3,7 @@
|
||||||
$Id$
|
$Id$
|
||||||
|
|
||||||
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
||||||
Copyright (C) 2004 - 2015 Roland Gruber
|
Copyright (C) 2004 - 2016 Roland Gruber
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
@ -116,6 +116,19 @@ class ieee802device extends baseModule {
|
||||||
function process_attributes() {
|
function process_attributes() {
|
||||||
$errors = array();
|
$errors = array();
|
||||||
$this->processMultiValueInputTextField('macAddress', $errors, 'macAddress');
|
$this->processMultiValueInputTextField('macAddress', $errors, 'macAddress');
|
||||||
|
// check if MAC is already assigned
|
||||||
|
if (!empty($this->attributes['macAddress'])) {
|
||||||
|
foreach ($this->attributes['macAddress'] as $macAddress) {
|
||||||
|
if (!empty($this->orig['macAddress']) && in_array($macAddress, $this->orig['macAddress'])) {
|
||||||
|
// check only new MAC addresses
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$result = searchLDAPByAttribute('macAddress', $macAddress, 'ieee802Device', array('dn'), array('host'));
|
||||||
|
if (!empty($result)) {
|
||||||
|
$errors[] = array('WARN', _('This MAC address is already in use.'), getAbstractDN($result[0]['dn']));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return $errors;
|
return $errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue