45e019f4 |
1 | #!/usr/bin/perl |
2 | |
3 | $minreaddays= 21; |
4 | $maxperuser= 250; |
5 | |
6 | open(CONF,"$ARGV[0]") or die $!; |
7 | while(<CONF>) { |
8 | next if m/^\#/ || !m/^\S/; |
9 | next if m/^(myfqdn|xref|server|server-nosearch|fetch|read|post|permit|believe|extrarc)\s/; |
10 | if (m/^minreaddays\s+(\d+)\s+$/) { |
11 | $minreaddays= $1; |
12 | } elsif (m/^maxperuser\s+(\d+)\s+$/) { |
13 | $maxperuser= $1; |
14 | } else { |
15 | die "$_ ?"; |
16 | } |
17 | } |
18 | |
19 | $newsrc= ".newsrc"; |
20 | exit 0 if -l $newsrc || ! -f _ || -M _ > $minreaddays; |
21 | |
22 | @g= (); |
23 | |
24 | open NEWSRC, $newsrc or die $!; |
25 | while (<NEWSRC>) { |
26 | next unless s/:.*\n$//; |
27 | next unless m/^[-a-z0-9+]+\.[-a-z0-9+._]+$/i; |
28 | push @g, "$_\n"; |
29 | } |
30 | close NEWSRC or die $!; |
31 | |
32 | exit 0 if @g > $maxperuser; |
33 | |
34 | print sort @g or die $!; |
35 | close STDOUT or die $!; |
36 | |
37 | exit 0; |