7 use lib "$FindBin::Bin/../lib", '/opt/clearscm/lib';
15 my $userid = $ENV{USER};
19 die "TODO: Test this script";
26 open my $file, '<', $filename
27 or error "Unable to open $filename - $!", 1;
33 my @address = split /\@/, $fields[0];
35 $item{pattern} = $address[0];
36 $item{domain} = $address[1];
37 $item{comment} = $fields[1] ? $fields[1] : '';
38 $item{hit_count} = $fields[2] ? $fields[2] : 0;
39 $item{retention} = $fields[3];
54 my $item->{sequence} = GetNextSequenceNo(
59 $item->{userid} = $userid;
60 $item->{type} = $type;
63 display_nolf "Adding $item->{pattern}\@$item->{domain} ($item->{comment}) to null list ($item->{sequence})...";
65 last unless $item->{pattern} or $item->{domain};
67 $item->{sender} = CheckEmail $item->{pattern}, $item->{domain};
69 my ($status, $rule) = OnNulllist($item->{sender}, $userid);
72 display ' Already on list';
74 my ($message, $msg) = Add2Nulllist(%$item);
78 # Now remove this entry from the other lists (if present)
79 for my $otherlist ('white', 'black') {
81 userid => $item->{userid},
83 sender => $item->{sender}
88 if ($seq->{sequence}) {
89 my $count = DeleteList(
90 userid => $item->{userid}
92 sequence => $seq->{sequence}
95 display "Removed $item->{sender} from ${Userid}'s " . ucfirst $otherlist . ' list'
99 userid => $rec{userid},
116 $filename = $ARGV[0];
118 error "Must specify a filename of addresses to null list", 1;
123 $Userid = ucfirst $userid;
125 Add2List(GetItems ($filename));