From 2da43c3148d7ae67554de9cdf51fd2d0d03884a4 Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Wed, 3 Jul 2002 12:09:03 +0000 Subject: reworked the no expire stuff for manual caps --- Echolot/Storage/File.pm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'Echolot/Storage/File.pm') diff --git a/Echolot/Storage/File.pm b/Echolot/Storage/File.pm index a075e93..cf01092 100644 --- a/Echolot/Storage/File.pm +++ b/Echolot/Storage/File.pm @@ -1,7 +1,7 @@ package Echolot::Storage::File; # (c) 2002 Peter Palfrader -# $Id: File.pm,v 1.25 2002/07/03 11:08:21 weasel Exp $ +# $Id: File.pm,v 1.26 2002/07/03 12:09:03 weasel Exp $ # =pod @@ -647,8 +647,8 @@ sub restore_ttl($$) { return 1; }; -sub set_caps($$$$$$) { - my ($self, $type, $caps, $nick, $address, $timestamp) = @_; +sub set_caps($$$$$$;$) { + my ($self, $type, $caps, $nick, $address, $timestamp, $dont_expire) = @_; if (! defined $self->{'METADATA'}->{'remailers'}->{$address}) { $self->{'METADATA'}->{'remailers'}->{$address} = { @@ -687,6 +687,11 @@ sub set_caps($$$$$$) { $conf->{'type'} = $type; }; }; + + if (defined $dont_expire) { + $self->{'METADATA'}->{'remailers'}->{$address}->{'conf'}->{'dont_expire'} = $dont_expire; + }; + $self->commit(); return 1; @@ -878,7 +883,8 @@ sub expire($) { delete $self->{'METADATA'}->{'remailers'}->{$remailer_addr}->{'conf'} if (defined $self->{'METADATA'}->{'remailers'}->{$remailer_addr}->{'conf'} && - ($self->{'METADATA'}->{'remailers'}->{$remailer_addr}->{'conf'}->{'last_update'} < $expire_conf)); + ($self->{'METADATA'}->{'remailers'}->{$remailer_addr}->{'conf'}->{'last_update'} < $expire_conf) && + ! ($self->{'METADATA'}->{'remailers'}->{$remailer_addr}->{'conf'}->{'dont_expire'})); $self->{'METADATA'}->{'remailers'}->{$remailer_addr}->{'status'} = 'expired' unless ( defined ($self->{'METADATA'}->{'remailers'}->{$remailer_addr}->{'conf'}) || -- cgit v1.2.3