Changeset 955 for trunk/cgi-bin


Ignore:
Timestamp:
04/10/25 17:22:24 (9 days ago)
Author:
Kris Deugau
Message:

/trunk

Refine newnode.cgi a little to prevent duplicates and near-duplicates by
forcing all node names to upper case.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/cgi-bin/newnode.cgi

    r952 r955  
    5454
    5555my $page = HTML::Template->new(filename => "newnode.tmpl");
     56print "Content-type: text/html\n\n";
    5657
    5758if ($webvar{nodename}) {
    58   $sth = $dbh->prepare("insert into nodes (node_type,node_name,node_ip) values (?,?,?)");
    59   $webvar{nodeip} =~ s/^\s*//;
    60   $webvar{nodeip} =~ s/\s*$//;
    61   $sth->execute($webvar{type}, $webvar{nodename}, $webvar{nodeip});
     59  $webvar{nodename} =~ tr/a-z/A-Z/;
    6260  $page->param(nodename => $webvar{nodename});
    63   if ($sth->err) {
    64     $page->param(err => $sth->errstr);
    65     my $msg = "$authuser could not add node '$webvar{nodename}','$webvar{type}' to database: ".$sth->errstr;
    66     mailNotify($dbh, 'f:nno', "IPDB node add failure", $msg);
    67     syslog "err", $msg;
     61  my @nc = $dbh->selectrow_array("SELECT node_ip FROM nodes WHERE node_name = ?", undef, $webvar{nodename});
     62  if (@nc) {
     63    $page->param(err => "Node with that name already exists with IP $nc[0].");
    6864  } else {
    69     syslog "notice", "$authuser added node '$webvar{nodename}'";
    70   }
     65    $sth = $dbh->prepare("insert into nodes (node_type,node_name,node_ip) values (?,?,?)");
     66    $webvar{nodeip} =~ s/^\s*//;
     67    $webvar{nodeip} =~ s/\s*$//;
     68    $sth->execute($webvar{type}, $webvar{nodename}, $webvar{nodeip});
     69    if ($sth->err) {
     70      $page->param(err => $sth->errstr);
     71      my $msg = "$authuser could not add node '$webvar{nodename}','$webvar{type}' to database: ".$sth->errstr;
     72      mailNotify($dbh, 'f:nno', "IPDB node add failure", $msg);
     73      syslog "err", $msg;
     74    } else {
     75      syslog "notice", "$authuser added node '$webvar{nodename}'";
     76    }
     77  } # @nc == 0
    7178}
    72 
    73 print "Content-type: text/html\n\n";
    7479
    7580print $page->output;
Note: See TracChangeset for help on using the changeset viewer.