X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Fprocess.in;h=deaadf2a56d0166ec363c9ed80711b04454e7a93;hb=a84952fc29a7d1cff9fddc7f2e32d5cbb94fa84d;hp=7c3a6f6e7832ef7cc95111c4485b86789ac9f884;hpb=91d59f8e11839f34bf29e9ac1b14e4bb5cfb97ab;p=debbugs.git diff --git a/scripts/process.in b/scripts/process.in index 7c3a6f6..deaadf2 100755 --- a/scripts/process.in +++ b/scripts/process.in @@ -75,6 +75,8 @@ END # header and decoded body respectively my (@headerlines, @bodylines); +# whether maintainer addresses have been checked +our $maintainerschecked = 0; #maintainer address for this message our @maintaddrs; # other src addresses @@ -262,8 +264,9 @@ if ($codeletter eq 'D' || $codeletter eq 'F') { if ($replyto =~ m/$gBounceFroms/o || $header{'from'} =~ m/$gBounceFroms/o) - { - &quit("bounce detected ! Mwaap! Mwaap!"); + { + print STDERR "bounce detected ! Mwaap! Mwaap!"; + exit 1; } my $markedby= $header{'from'} eq $replyto ? $replyto : "$header{'from'} (reply to $replyto)"; @@ -289,7 +292,7 @@ if ($codeletter eq 'D' || $codeletter eq 'F') $generalcc=''; } } else { # Done - if (length($data->{done}) and + if (defined $data->{done} and length($data->{done}) and not defined $pheader{'source-version'} and not defined $pheader{'version'}) { &appendlog; @@ -437,7 +440,7 @@ if ($codeletter eq 'D' || $codeletter eq 'F') (defined($source_package) and length($source_package))?("X-$gProject-PR-Source" => $source_package):(), "Reply-To" => "$ref\@$gEmailDomain", "Content-Type" => 'text/plain; charset="utf-8"', - ],message_body_template('mail/process_mark_as_done', + ],message_body_template('mail/process_your_bug_done', {data => $data, markedby => $markedby, messageid => $header{'message-id'}, @@ -482,7 +485,10 @@ if ($ref<0) { $data->{package} = $pheader{source}; } elsif (defined $pheader{package}) { $data->{package} = $pheader{package}; - } else { + } elsif (defined $config{default_package}) { + $data->{package} = $config{default_package}, + } + else { &htmllog("Warning","sent",$replyto,"Message not forwarded."); my $body = message_body_template('mail/process_no_package', ); @@ -508,6 +514,22 @@ if ($ref<0) { &finish; } + if (defined $config{default_package}) { + &checkmaintainers; + # if there are no maintainers for this package, assign it to the default package + if (not @maintaddrs) { + $data->{package} = $config{default_package}; + $brokenness.= fill_template('mail/process_default_package_selected', + {old_package => $pheader{source} || $pheader{package} || 'No package', + new_package => $data->{package}, + } + ); + # force the maintainers to be rechecked + $maintainerschecked = 0; + &checkmaintainers; + } + } + $data->{keywords}= ''; if (defined($pheader{'keywords'})) { $data->{keywords}= $pheader{'keywords'}; @@ -529,9 +551,9 @@ if ($ref<0) { $data->{severity} =~ s/^\s*(.+)\s*$/$1/; if (!grep($_ eq $data->{severity}, @gSeverityList, "$gDefaultSeverity")) { - $brokenness.= fill_in_template('mail/invalid_severity', - {severity=>$data->{severity}} - ); + $brokenness.= fill_template('mail/invalid_severity', + {severity=>$data->{severity}} + ); $data->{severity}= ''; } } @@ -577,9 +599,9 @@ if ($ref<0) { write_usertags(\%user_tags,$user); } else { - $brokenness .= fill_in_template('mail/invalid_user', - {user => $user} - ); + $brokenness .= fill_template('mail/invalid_user', + {user => $user} + ); } } &overwrite("db-h/$hash/$ref.report", @@ -985,7 +1007,6 @@ sub fill_template{ } -my $maintainerschecked = 0; sub checkmaintainers { return if $maintainerschecked++; return if !length($data->{package});