/usr/lib/debbugs/receive is in debbugs 2.4.1.1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
| 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 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | #!/usr/bin/perl
# $Id: receive.in,v 1.15 2003/01/28 23:52:08 cjwatson Exp $
# usage: mail is piped directly into program
#set umask in order to have group-writable incoming/*
#umask(002);
#load configuration file
$config_path = '/etc/debbugs';
#$lib_path = '/usr/lib/debbugs';
require "$config_path/config";
$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
if ( $gMailer eq 'exim' ) 
{	$gBadEmailPrefix = '';
	$_ = $ENV{'LOCAL_PART'};
} elsif ( $gMailer eq 'qmail' )
{	$gBadEmailPrefix = '//';
	$_ = $ENV{'DEFAULT'};
#	$_ = $ENV{'RECIPIENT'};
#	s/^\w+-bugs--?//;
} else 
{	$gBadEmailPrefix = '';
	$_ = $ARGV[0];
	s/\>//;
	s/\<//;
}
require("/etc/debbugs/text");
#remove everything from @ to end of line
s/\@.*$//;
#convert remaining upper case to lower case
y/A-Z/a-z/;
#set up to determine command
%withbugaddressmap= ('-submit',     'B',
                   '',            'B',
                   '-maintonly',  'M',
                   '-quiet',      'Q',
                   '-forwarded',  'F',
                   '-done',       'D',
                   '-close',      'D',
		   '-request',    'R',
                   '-submitter',  'U');
%withpkgaddressmap= ('-request',     'R');
%withoutaddressmap= ('submit',     'B',
                      'bugs',       'B',
                      'maintonly',  'M',
                      'quiet',      'Q',
                      'forwarded',  'F',
                      'done',       'D',
                      'close',      'D',
                      'request',    'R',
                      'submitter',  'U',
                      'control',    'C');
#determine command
if (s/^(\d{1,9})\b//) {
    $bugnumber= $1;
    $map= $withbugaddressmap{$_};
    $addrrec= "$bugnumber$_";
} elsif (s/^(\w+)-//) {
    $bugnumber= $1;
    $map= $withpkgaddressmap{"-$_"};
    $addrrec= "$bugnumber-$_";
} else {
    $bugnumber= '';
    $map= $withoutaddressmap{$_};
    $addrrec= "$_";
}
#print no command received
if (!defined($map)) {
    print STDERR <<ENDTEXT;
$gBadEmailPrefix
$gBadEmailPrefix Unknown $gBug service address $_\@$gEmailDomain.
$gBadEmailPrefix Recognised addresses are:
$gBadEmailPrefix
$gBadEmailPrefix     General:       Read $gBug# in Subject:    $gBug# is NNNN:
$gBadEmailPrefix
$gBadEmailPrefix      request        submit  $gBug             NNNN  NNNN-submit
$gBadEmailPrefix      control        maintonly                NNNN-maintonly
$gBadEmailPrefix      owner          quiet                    NNNN-quiet
$gBadEmailPrefix      postmaster     forwarded                NNNN-forwarded
$gBadEmailPrefix                     done  close              NNNN-done  NNNN-close
$gBadEmailPrefix                     submitter                NNNN-submitter
$gBadEmailPrefix
$gBadEmailPrefix (all \@$gEmailDomain.)
$gBadEmailPrefix
$gBadEmailPrefix For instructions via the WWW see:
$gBadEmailPrefix   http://$gWebDomain/
$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
ENDTEXT
    exit(100);
}
@months=qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
($sec,$min,$hour,$mday,$mon,$year)= gmtime(time);
$queue= "$map$bugnumber";
chdir("$gSpoolDir/incoming") || &failure("chdir to spool: $!");
$id= time.$$;
open(FILE,">T.$id") || &failure("open temporary file: $!");
printf(FILE "Received: (at %s) by $gEmailDomain; %d %s %d %02d:%02d:%02d +0000\n",
       $addrrec, $mday,$months[$mon],$year+1900, $hour,$min,$sec) ||
    &failure("write header to temporary file: $!");
while(<STDIN>) { print(FILE) || &failure("write temporary file: $!"); }
close(FILE) || &failure("close temporary file: $!");
rename("T.$id","I$queue.$id") || &failure("rename spool message: $!");
exit(0);
sub failure {
    length($id) && unlink("T.$id");
    print STDERR "bugs receive failure: @_\n";
    exit(75); # EX_TEMPFAIL
}
 |