1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
#! @PERL@
#----------------------------------------------------------------------------
# LinPac - packet radio terminal for Linux
#
# pack - delete messages marked for deletion
#
# Version 0.01
#
# (c) Radek Burget OK2JBG <xburge01@stud.fee.vutbr.cz> 1999
#
# Usage: pack <BBS_CALL>
#----------------------------------------------------------------------------
# Normal settings:
#List path
$LIST_PATH = "/var/ax25/ulistd";
#Bulletin path
$BULLETIN_PATH = "/var/ax25/mail";
#Axgetmail config path (for determining mail path)
$CONFIG_PATH = "/etc/ax25/axgetmail.conf";
#----------------------------------------------------------------------------
if (@ARGV != 1)
{
print "Usage: pack <BBS_CALL>\n";
exit 0;
}
#Read axgetmail config
if (open CONFIG, $CONFIG_PATH)
{
while (<CONFIG>)
{
chop;
if ($_ !~ /^#/)
{
($name, $value) = split /\s+/;
if ($name =~ /HOMEDIR/)
{
$homedir = $value;
break;
}
}
}
close CONFIG;
}
#Number of deleted messages
$deleted = 0;
$bbsname = uc $ARGV[0];
# Open files
$bbs_dir = $BULLETIN_PATH . "/" . $bbsname;
die "The bulletin directory for $bbsname ($bbs_dir) doesn't exist\n" unless -d $bbs_dir;
$list_name = $LIST_PATH . "/" . $bbsname;
open LIST, $list_name or die "Cannot open list file for $bbsname ($list_name)\n";
while (<LIST>)
{
chop;
# Read and split message info
@binfo = split /\s+/;
$num = $binfo[0]; #first entry - message number
$flag = $binfo[1]; #second entry - flags
if ($flag =~ /D/)
{
if ($homedir) #private messages
{
unlink($ENV{'HOME'}."/".$homedir."/".$bbsname."/".$num) and $deleted++;
}
unlink($bbs_dir."/".$num) and $deleted++; #bulletins
}
}
close LIST;
print "$deleted message(s) deleted.\n";
#### END OF SCRIPT #########################################################
|