use warnings;
use strict;
+use POSIX qw(strftime locale_h);
+setlocale(LC_TIME, "C");
use Debbugs::Config qw(:globals :config);
use Scalar::Util qw(looks_like_number);
-use List::Util qw(first);
+use List::AllUtils qw(first uniqnum);
use Mail::RFC822::Address;
use Encode qw(decode encode);
my %bcc = ();
-my @bcc;
-sub addbcc {
- push @bcc, $_[0] unless grep { $_ eq $_[0] } @bcc;
-}
-
our $data;
our $message;
our $extramessage;
} elsif (m/^subscribe/i) {
print {$transcript} <<END;
There is no $gProject $gBug mailing list. If you wish to review bug reports
-please do so via http://$gWebDomain/ or ask this mail server
+please do so via $gWebDomain or ask this mail server
to send them to you.
soon: MAILINGLISTS_TEXT
END
transcript => $transcript,
debug => $debug,
ok => \$ok,
+ replyto => $replyto,
);
if ($terminate_control) {
last;
}
} else {
+ print {$transcript} "Unknown command or malformed arguments to command.\n";
$errors++;
if (++$unknowns >= 5) {
print {$transcript} "Too many unknown commands, stopping here.\n\n";
address_only => 1,
cc => 1,
);
-my $maintccs = 'Cc: '.join(",\n ",
- determine_recipients(recipients => \%recipients,
- cc => 1,
- )
- )."\n";
-
-my $packagepr = '';
-$packagepr = "X-${gProject}-PR-Package: " . join(keys %affected_packages) . "\n" if keys %affected_packages;
-
-# Add Bcc's to subscribed bugs
-# now handled by Debbugs::Recipients
-#push @bcc, map {"bugs=$_\@$gListDomain"} keys %bug_affected;
-
if (!defined $header{'subject'} || $header{'subject'} eq "") {
$header{'subject'} = "your mail";
}
# Error text here advertises how many errors there were
-my $error_text = $errors > 0 ? " (with $errors errors)":'';
+my $error_text = $errors > 0 ? " (with $errors error" . ($errors > 1 ? "s" : "") . ")" : "";
my @common_headers;
push @common_headers, 'X-Loop',$gMaintainerEmail;
-my $temp_transcript = ${transcript_scalar};
+my $temp_transcript = $transcript_scalar;
eval{
$temp_transcript = decode("utf8",$temp_transcript,Encode::FB_CROAK);
};
my $reply =
- create_mime_message([From => "$gMaintainerEmail ($gProject $gBug Tracking System)",
+ create_mime_message([From => qq("$gProject $gBug Tracking System" <$gMaintainerEmail>),
To => $replyto,
@maintccs ? (Cc => join(', ',@maintccs)):(),
Subject => "Processed${error_text}: $header{subject}",
)
);
-# -1 is the service.in log
-&filelock("lock/-1");
-open(AP,">>db-h/-1.log") || die "open db-h/-1.log: $!";
-print(AP
- "\2\n$repliedshow\n\5\n$reply\n\3\n".
- "\6\n".
- "<strong>Request received</strong> from <code>".
- html_escape($header{'from'})."</code>\n".
- "to <code>".html_escape($controlrequestaddr)."</code>\n".
- "\3\n".
- "\7\n",escape_log(@log),"\n\3\n") || die "writing db-h/-1.log: $!";
-close(AP) || die "open db-h/-1.log: $!";
-&unfilelock;
utime(time,time,"db-h");
&sendmailmessage($reply,
my $variables = {config => \%config,
defined($ref)?(ref => $ref):(),
defined($data)?(data => $data):(),
- refs => [map {exists $clonebugs{$_}?$clonebugs{$_}:$_} keys %bug_affected],
+ refs => [sort
+ uniqnum(defined($ref)?($ref):(),
+ map {exists $clonebugs{$_}?$clonebugs{$_}:$_}
+ keys %bug_affected)],
%{$extra_var},
};
- my $hole_var = {'&bugurl' =>
- sub{"$_[0]: ".
- 'http://'.$config{cgi_domain}.'/'.
- Debbugs::CGI::bug_links(bug=>$_[0],
- links_only => 1,
- );
- }
- };
return fill_in_template(template => $template,
variables => $variables,
- hole_var => $hole_var,
+ output_type => 'text',
);
}
close(D);
print {$transcript} "Sending $description in separate message.\n";
&sendmailmessage(<<END.$doc,$replyto);
-From: $gMaintainerEmail ($gProject $gBug Tracking System)
+From: "$gProject $gBug Tracking System" <$gMaintainerEmail>
To: $replyto
Subject: $gProject $gBug help: $description
References: $header{'message-id'}
sub sendlynxdocraw {
my ($relpath,$description) = @_;
$doc='';
- open(L,"lynx -nolist -dump http://$gCGIDomain/\Q$relpath\E 2>&1 |") || die "fork for lynx: $!";
+ open(L,"lynx -nolist -dump $gCGIDomain/\Q$relpath\E 2>&1 |") || die "fork for lynx: $!";
while(<L>) { $doc.=$_; }
$!=0; close(L);
if ($? == 255 && $doc =~ m/^\n*lynx: Can\'t access start file/) {
} else {
print {$transcript} "Sending $description.\n";
&sendmailmessage(<<END.$doc,$replyto);
-From: $gMaintainerEmail ($gProject $gBug Tracking System)
+From: "$gProject $gBug Tracking System" <$gMaintainerEmail>
To: $replyto
Subject: $gProject $gBugs information: $description
References: $header{'message-id'}
}
print {$transcript} "Sending $description.\n";
&sendmailmessage(<<END.$doc,$replyto);
-From: $gMaintainerEmail ($gProject $gBug Tracking System)
+From: "$gProject $gBug Tracking System" <$gMaintainerEmail>
To: $replyto
Subject: $gProject $gBugs information: $description
References: $header{'message-id'}