Changeset 54 for trunk/dnsbl/dnsbl.cgi
- Timestamp:
- 12/11/14 17:22:28 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/dnsbl/dnsbl.cgi
r51 r54 41 41 42 42 my $dnsbl = new DNSBL; 43 # here be drag'ns, should theoretically be $DNSBL::maxlvl, but we 44 # only have up to level 4 in the report HTML/template 45 my $maxlvl = 4 43 46 44 47 # try to be friendly to non-US-ASCII characters. Still need to find what … … 101 104 $page->param(browsebits => 102 105 DNSBLweb::retlvl($dbh, $dnsbl, 0, ip => $webvar{ip}, block => $dnsbl->getcontainer($webvar{ip},0) )); 103 for (my $i=0; $i <3; $i++) {106 for (my $i=0; $i <= $maxlvl; $i++) { 104 107 my ($block,$org) = $dnsbl->getcontainer($webvar{ip},$i); 105 108 if ($block) { … … 119 122 120 123 my $err = ''; 121 my $org0id = $dnsbl->orgexists($webvar{org0}); 122 if (!$org0id) { 123 $org0id = $dnsbl->addorg($webvar{org0}); 124 $page->param(org0 => $webvar{org0}); 124 125 # basic algo: for each listing level, add the org and block if not already present. 126 # escape the loop if we check a level with no block entered. 127 128 # there are still error checks that should probably be done. changes in block 129 # level/parenting should also Just Work(TM), rather than requiring setparents.pl 130 # or setparents-full.pl 131 for (my $i = 0; $i <= $maxlvl; $i++) { 132 my $orgn = "org$i"; 133 my $blockn = "block$i"; 134 my $orgid = $dnsbl->orgexists($webvar{$orgn}); 135 if (!$orgid) { 136 $orgid = $dnsbl->addorg($webvar{$orgn}); 137 $page->param($orgn => $webvar{$orgn}); 138 } 139 if ($webvar{$blockn} =~ /-/) { 140 $err .= "Autofinding CIDR block containing $webvar{ip} for range '$webvar{$blockn}': "; 141 my ($s,$f) = split /[\s-]+/, $webvar{$blockn}; 142 my $cidr = $dnsbl->range2cidr($s, $f, $webvar{ip}); 143 $err .= "$cidr<br>\n"; 144 $webvar{$blockn} = $cidr; 145 } 146 if (!$dnsbl->blockexists($webvar{$blockn})) { 147 my $ret = $dnsbl->addblock($webvar{$blockn}, $orgid, $i); 148 $err .= "error adding $webvar{$blockn}: $ret<br>\n" if $ret; 149 $page->param($blockn => $webvar{$blockn}); 150 } 151 last unless $webvar{"block".($i+1)}; 125 152 } 126 if (!$dnsbl->blockexists($webvar{block0})) { 127 my $ret = $dnsbl->addblock($webvar{block0}, $org0id, 0); 128 $err .= "error adding $webvar{block0}: $ret<br>\n" if $ret; 129 $page->param(block0 => $webvar{block0}); 130 } 131 # yes, this is grotty. PTHBTT! 132 if ($webvar{block1}) { 133 my $org1id = $dnsbl->orgexists($webvar{org1}); 134 if (!$org1id) { 135 $org1id = $dnsbl->addorg($webvar{org1}); 136 $page->param(org1 => $webvar{org1}); 137 } 138 if (!$dnsbl->blockexists($webvar{block1})) { 139 my $ret = $dnsbl->addblock($webvar{block1}, $org1id, 1); 140 $err .= "error adding $webvar{block1}: $ret<br>\n" if $ret; 141 $page->param(block1 => $webvar{block1}); 142 } 143 if ($webvar{block2}) { 144 my $org2id = $dnsbl->orgexists($webvar{org2}); 145 if (!$org2id) { 146 $org2id = $dnsbl->addorg($webvar{org2}); 147 $page->param(org2 => $webvar{org2}); 148 } 149 if (!$dnsbl->blockexists($webvar{block2})) { 150 my $ret = $dnsbl->addblock($webvar{block2}, $org2id, 2); 151 $err .= "error adding $webvar{block2}: $ret<br>\n" if $ret; 152 $page->param(block2 => $webvar{block2}); 153 } 154 } 155 } 153 156 154 my $count = $dnsbl->report($webvar{ip}); 157 155
Note:
See TracChangeset
for help on using the changeset viewer.