summaryrefslogtreecommitdiff
path: root/Echolot
diff options
context:
space:
mode:
authorPeter Palfrader <peter@palfrader.org>2002-09-04 01:47:01 +0000
committerPeter Palfrader <peter@palfrader.org>2002-09-04 01:47:01 +0000
commit18d1ec2cf6a7a2b610d7c9b88b24ecd3839c7981 (patch)
tree428dd0f49b665163a7900ca6131b6df68bee1636 /Echolot
parent6ebd214a5ff027266f1582bf749aa639cf59b8f0 (diff)
Write total number of unique remailers to echolot.html
Work around broken remailers that insert newlines.
Diffstat (limited to 'Echolot')
-rw-r--r--Echolot/Pinger.pm11
-rw-r--r--Echolot/Stats.pm6
2 files changed, 14 insertions, 3 deletions
diff --git a/Echolot/Pinger.pm b/Echolot/Pinger.pm
index 07ee0f8..b31e339 100644
--- a/Echolot/Pinger.pm
+++ b/Echolot/Pinger.pm
@@ -1,7 +1,7 @@
package Echolot::Pinger;
# (c) 2002 Peter Palfrader <peter@palfrader.org>
-# $Id: Pinger.pm,v 1.19 2002/09/03 17:14:26 weasel Exp $
+# $Id: Pinger.pm,v 1.20 2002/09/04 01:47:01 weasel Exp $
#
=pod
@@ -119,7 +119,14 @@ sub receive($$$) {
my $now = time();
my $body;
- $body = Echolot::Tools::crypt_symmetrically($msg, 'decrypt') if $msg =~ /^-----BEGIN PGP MESSAGE-----/m;
+ if ($msg =~ /^-----BEGIN PGP MESSAGE-----/m) {
+ # work around borken middleman remailers that have a problem with some
+ # sort of end of line characters and randhopping them through reliable
+ # remailers..
+ # they add an empty line between each usefull line
+ $msg =~ s/(\r?\n)\r?\n/$1/g if ($msg =~ /^-----BEGIN PGP MESSAGE-----\r?\n\r?\n/m);
+ $body = Echolot::Tools::crypt_symmetrically($msg, 'decrypt');
+ };
$body = $msg unless defined $body;
my ($addr) = $body =~ /^remailer: (.*)$/m;
diff --git a/Echolot/Stats.pm b/Echolot/Stats.pm
index 82bef86..9b8ae81 100644
--- a/Echolot/Stats.pm
+++ b/Echolot/Stats.pm
@@ -1,7 +1,7 @@
package Echolot::Stats;
# (c) 2002 Peter Palfrader <peter@palfrader.org>
-# $Id: Stats.pm,v 1.31 2002/08/23 08:17:21 weasel Exp $
+# $Id: Stats.pm,v 1.32 2002/09/04 01:47:01 weasel Exp $
#
=pod
@@ -481,6 +481,7 @@ sub build_lists() {
my $pubrems;
my %stats;
+ my %addresses;
my $broken1 = read_file( Echolot::Config::get()->{'broken1'}, 1);
my $broken2 = read_file( Echolot::Config::get()->{'broken2'}, 1);
@@ -494,6 +495,7 @@ sub build_lists() {
build_list2( $pubrems, $broken1, $broken2, $sameop, Echolot::Config::get()->{'resultdir'}.'/'.'mlist2', Echolot::Config::get()->{'templates'}->{'mlist2'});
$stats{'mix_total'} = scalar @$pubrems;
$stats{'mix_98'} = scalar grep { $_->{'stats'}->{'avr_reliability'} >= 0.98 } @$pubrems;
+ $addresses{$_->{'address'}}=1 for @$pubrems;
if (Echolot::Config::get()->{'combined_list'}) {
$clist->{'mix'} = $rems;
$pubclist->{'mix'} = $pubrems; $pubrems = undef;
@@ -507,6 +509,7 @@ sub build_lists() {
build_list2( $pubrems, $broken1, $broken2, $sameop, Echolot::Config::get()->{'resultdir'}.'/'.'rlist2', Echolot::Config::get()->{'templates'}->{'rlist2'});
$stats{'cpunk_total'} = scalar @$pubrems;
$stats{'cpunk_98'} = scalar grep { $_->{'stats'}->{'avr_reliability'} >= 0.98 } @$pubrems;
+ $addresses{$_->{'address'}}=1 for @$pubrems;
if (Echolot::Config::get()->{'combined_list'} && ! Echolot::Config::get()->{'seperate_rlists'}) {
$clist->{'cpunk'} = $rems;
$pubclist->{'cpunk'} = $pubrems; $pubrems = undef;
@@ -551,6 +554,7 @@ sub build_lists() {
build_clist( $pubclist, $broken1, $broken2, $sameop, Echolot::Config::get()->{'resultdir'}.'/'.'clist', Echolot::Config::get()->{'templates'}->{'clist'});
};
+ $stats{'unique_addresses'} = scalar keys %addresses;
Echolot::Tools::write_HTML_file(
Echolot::Config::get()->{'resultdir'}.'/'.Echolot::Config::get()->{'indexfilebasename'},
Echolot::Config::get()->{'templates'}->{'indexfile'},