},
{
+ 'key' => 'excludeaddr',
+ 'section' => 'deprecated',
+ 'description' => 'Addresses to exclude from assignment, one per line.',
+ 'type' => 'textarea',
+ },
+
+ {
'key' => 'erpcdmachines',
'section' => '',
'description' => 'Your ERPCD authenticaion machines, one per line. This enables export of `/usr/annex/acp_passwd\' and `/usr/annex/acp_dialup\'',
use FS::Record qw( qsearchs qsearch dbh );
use FS::router;
use FS::svc_broadband;
+use FS::Conf;
use NetAddr::IP;
@ISA = qw( FS::Record );
sub next_free_addr {
my $self = shift;
- my @used = map { $_->NetAddr->addr }
+ my $conf = new FS::Conf;
+ my @excludeaddr = $conf->config('excludeaddr');
+
+ my @used = (
+ map { $_->NetAddr->addr }
($self,
- qsearch('svc_broadband', { blocknum => $self->blocknum }) );
+ qsearch('svc_broadband', { blocknum => $self->blocknum }) ),
+ @excludeaddr );
my @free = $self->NetAddr->hostenum;
while (my $ip = shift @free) {