Ignore:
Timestamp:
11/09/12 11:57:22 (12 years ago)
Author:
Kris Deugau
Message:

/branches/stable

Minimal server-meltdown-prevention patch for IPv6; create the
block but don't populate IP pools. See #22, sort of.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/stable/cgi-bin/IPDB.pm

    r509 r549  
    375375  } else { # end IP-from-pool allocation
    376376
     377    my $errcode = 'OK';
    377378    if ($cidr == $alloc_from) {
    378379      # Easiest case- insert in one table, delete in the other, and go home.  More or less.
     
    415416            my ($code,$rmsg) = initPool($dbh,$cidr,$type,$city,"all");
    416417            die $rmsg if $code eq 'FAIL';
     418            $msg = $rmsg;
     419            $errcode = $code;
    417420          } elsif ($type =~ /^.d$/) {
    418421            $msg = "Could not initialize IPs in new $disp_alloctypes{$type} $cidr";
    419422            my ($code,$rmsg) = initPool($dbh,$cidr,$type,$city,"normal");
    420423            die $rmsg if $code eq 'FAIL';
     424            $msg = $rmsg;
     425            $errcode = $code;
    421426          }
    422427
     
    436441        return ('FAIL',$msg);
    437442      } else {
    438         return ('OK',"OK");
     443        return ($errcode,($type =~ /^.[pd]$/ ? $msg : "OK"));
    439444      }
    440445
     
    546551        return ('FAIL',$msg);
    547552      } else {
    548         return ('OK',"OK");
     553        return ($errcode,($type =~ /^.[pd]$/ ? $msg : "OK"));
    549554      }
    550555
     
    566571  my ($dbh,undef,$type,$city,$class) = @_;
    567572  my $pool = new NetAddr::IP $_[1];
     573
     574  return ('WARN','Refusing to melt server with IPv6 IP pool') if $pool->bits == 128;
    568575
    569576##fixme Need to just replace 2nd char of type with i rather than capturing 1st char of type
Note: See TracChangeset for help on using the changeset viewer.