-#!/usr/bin/perl -w
-# $Id: receive.in,v 1.7 2000/10/10 23:27:04 joy Exp $
+#!/usr/bin/perl
+# $Id: receive.in,v 1.17 2005/07/24 18:42:41 don Exp $
# usage: mail is piped directly into program
#set umask in order to have group-writable incoming/*
-#umask 002;
+#umask(002);
-#load configuration file
-require( '/etc/debbugs/config' );
+use Debbugs::Config qw(:globals :text);
+my $lib_path = $gLibPath;
+
+$ENV{'PATH'} = '/usr/lib/debbugs:'.$ENV{'PATH'};
#set source of mail delivery
#sets any prefix needed to get mailer to add it to error mail
s/\<//;
}
-
#remove everything from @ to end of line
s/\@.*$//;
y/A-Z/a-z/;
#set up to determine command
-%withnaddressmap= ('-submit', 'B',
+%withbugaddressmap= ('-submit', 'B',
'', 'B',
'-maintonly', 'M',
'-quiet', 'Q',
'-forwarded', 'F',
- '-fixed', 'X',
'-done', 'D',
'-close', 'D',
- '-submitter', 'U');
+ '-request', 'R',
+ '-submitter', 'U',
+ # Used for bug subscription
+ #'-list-nothing-will-match-this', 'L',
+ );
-%withoutnaddressmap= ('submit', 'B',
+%withpkgaddressmap= ('-request', 'R');
+
+%withoutaddressmap= ('submit', 'B',
'bugs', 'B',
'maintonly', 'M',
'quiet', 'Q',
#determine command
if (s/^(\d{1,9})\b//) {
$bugnumber= $1;
- $map= $withnaddressmap{$_};
+ if (not exists $withbugaddressmap{$_} and
+/-(?:(?:un)?subscribe|subhelp|help|ignore|(?:sub(?:yes|approve|reject)
+ |unsubyes|bounce|probe|approve|reject|
+ setlistyes|setlistsilentyes).*)/x
+ ) {
+ $map = 'L';
+ }
+ else {
+ $map= $withbugaddressmap{$_};
+ }
$addrrec= "$bugnumber$_";
+} elsif (s/^(\w+)-//) {
+ $bugnumber= $1;
+ $map= $withpkgaddressmap{"-$_"};
+ $addrrec= "$bugnumber-$_";
} else {
$bugnumber= '';
- $map= $withoutnaddressmap{$_};
+ $map= $withoutaddressmap{$_};
$addrrec= "$_";
}
$gBadEmailPrefix
$gBadEmailPrefix For instructions via the WWW see:
$gBadEmailPrefix http://$gWebDomain/
-$gBadEmailPrefix http://$gWebDomain/Reporting.html
-$gBadEmailPrefix http://$gWebDomain/Developer.html
-$gBadEmailPrefix http://$gWebDomain/Access.html
-$gBadEmailPrefix
-$gBadEmailPrefix Instructions are available from ftp.debian.org in /debian
-$gBadEmailPrefix and at all Debian mirror sites, in the files:
-$gBadEmailPrefix doc/bug-reporting.txt
-$gBadEmailPrefix doc/bug-log-access.txt
-$gBadEmailPrefix doc/bug-maint-info.txt
-$gBadEmailPrefix
+$gBadEmailPrefix http://$gWebDomain/Reporting$gHTMLSuffix
+$gBadEmailPrefix http://$gWebDomain/Developer$gHTMLSuffix
+$gBadEmailPrefix http://$gWebDomain/Access$gHTMLSuffix
+$gTextInstructions
$gBadEmailPrefix For details of how to access $gBug report logs by email:
$gBadEmailPrefix send \`request\@$gEmailDomain' the word \`help'
$gBadEmailPrefix
while(<STDIN>) { print(FILE) || &failure("write temporary file: $!"); }
close(FILE) || &failure("close temporary file: $!");
-rename("T.$id","I$queue.$id") || &failure("rename spool message: $!");
+my $prefix;
+if ($gSpamScan) {
+ $prefix = 'S';
+} else {
+ $prefix = 'I';
+}
+rename("T.$id","$prefix$queue.$id") || &failure("rename spool message: $!");
exit(0);