portctl_nameonly to limit port control to name only (F. Schiavarelli)
This commit is contained in:
@@ -782,6 +782,14 @@ field to use as the management IP address for a device.
|
||||
Value: Boolean. Default: C<true>.
|
||||
|
||||
Set to false to prevent users from changing the default VLAN on an interface.
|
||||
This setting has no effect when C<portctl_nameonly> below is set to true.
|
||||
|
||||
=head3 C<portctl_nameonly>
|
||||
|
||||
Value: Boolean. Default: C<false>.
|
||||
|
||||
Set to true to limit port control action to only changing the interface name
|
||||
(description).
|
||||
|
||||
=head3 C<portctl_nophones>
|
||||
|
||||
|
||||
@@ -68,6 +68,10 @@ sub vlan_reconfig_check {
|
||||
|
||||
=item *
|
||||
|
||||
Permission check that C<portctl_nameonly> is false in Netdisco config.
|
||||
|
||||
=item *
|
||||
|
||||
Permission check that C<portctl_uplinks> is true in Netdisco config, if
|
||||
C<$port> is an uplink.
|
||||
|
||||
@@ -95,6 +99,10 @@ sub port_reconfig_check {
|
||||
my $has_phone = port_has_phone($port);
|
||||
my $is_vlan = is_vlan_interface($port);
|
||||
|
||||
# only permitted to change interface name
|
||||
return "forbidden: not permitted to change port configuration"
|
||||
if setting('portctl_nameonly');
|
||||
|
||||
# uplink check
|
||||
return "forbidden: port [$name] on [$ip] is an uplink"
|
||||
if $port->remote_type and not $has_phone and not setting('portctl_uplinks');
|
||||
|
||||
Reference in New Issue
Block a user