X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Fprocess.in;h=dcd845a025edd01651e82289e63b01d23dbac46c;hb=3c5d35b029084f75751c0760dbf6e683171406ab;hp=6569260f0514b5fa920433f71b75285c3411f582;hpb=5ec7562b3ce2e33a06b57a60abe54fc04d2b2c6d;p=debbugs.git diff --git a/scripts/process.in b/scripts/process.in index 6569260..dcd845a 100755 --- a/scripts/process.in +++ b/scripts/process.in @@ -4,9 +4,7 @@ # Usage: process nn # Temps: incoming/Pnn -use POSIX qw(strftime tzset); -$ENV{"TZ"} = 'UTC'; -tzset(); +use POSIX qw(strftime); use MIME::Parser; use Debbugs::MIME qw(decode_rfc1522 create_mime_message); @@ -14,14 +12,18 @@ use Debbugs::Mail qw(send_mail_message encode_headers); use Debbugs::Packages qw(getpkgsrc); use Debbugs::User qw(read_usertags write_usertags); -my $config_path = '/etc/debbugs'; -my $lib_path = '/usr/lib/debbugs'; +use Debbugs::CGI qw(html_escape); + +use Debbugs::Log qw(:misc); # TODO DLA; needs config reworking and errorlib reworking # use warnings; # use strict; -require "$config_path/config"; +use Debbugs::Status qw(:versions); +use Debbugs::Config qw(:globals); +my $lib_path = $gLibPath; + require "$lib_path/errorlib"; $ENV{'PATH'} = $lib_path.':'.$ENV{'PATH'}; @@ -152,7 +154,7 @@ for my $phline (@bodylines) print DEBUG ">$fn|$fv|\n"; $fn = lc $fn; # Don't lc owner or forwarded - $fv = lc $fv unless $fh =~ /^(?:owner|forwarded|usertags)$/; + $fv = lc $fv unless $fh =~ /^(?:owner|forwarded|usertags|version|source-version)$/; $pheader{$fn} = $fv; print DEBUG ">$fn~$fv<\n"; } @@ -283,6 +285,10 @@ if ($codeletter eq 'D' || $codeletter eq 'F') $receivedat= "forwarded\@$gEmailDomain"; $markaswhat= 'forwarded'; $set_forwarded= $header{'to'}; + # Dissallow forwarded being set to this bug tracking system + if (defined $set_forwarded and $set_forwarded =~ /\Q$gEmailDomain\E/) { + undef $set_forwarded; + } if ( length( $gListDomain ) > 0 && length( $gForwardList ) > 0 ) { push @generalcc, "$gForwardList\@$gListDomain"; $generalcc= "$gForwardList\@$gListDomain"; @@ -668,7 +674,7 @@ END $user_tags{$tag} = [keys %bugs_with_tag]; } } - write_usertags(\%usertags,$user); + write_usertags(\%user_tags,$user); } else { $brokenness .=<$gBug#$ref". - (length($data->{package})? "; Package ".&sani($data->{package})."" : ''). + (length($data->{package})? "; Package ".html_escape($data->{package})."" : ''). "."); &sendmessage(<$gBug#$ref". - (length($data->{package}) ? "; Package ".&sani($data->{package})."" : ''). + (length($data->{package}) ? "; Package ".html_escape($data->{package})."" : ''). "."); } else { &htmllog($newref ? "Report" : "Information", "stored", "", "$gBug#$ref". - (length($data->{package}) ? "; Package ".&sani($data->{package})."" : ''). + (length($data->{package}) ? "; Package ".html_escape($data->{package})."" : ''). "."); } &sendmessage(<\n".&sani($brokenness)."\n

\n" : ''; +$htmlbreak= length($brokenness) ? "

\n".html_escape($brokenness)."\n

\n" : ''; $htmlbreak =~ s/\n\n/\n

\n\n/g; if (length($resentccval)) { - $htmlbreak = " Copy sent to ".&sani($resentccval).".". + $htmlbreak = " Copy sent to ".html_escape($resentccval).".". $htmlbreak; } unless (exists $header{'x-debbugs-no-ack'}) { @@ -1065,7 +1071,7 @@ sub appendlog { print DEBUG "failed open log err $!<\n"; &quit("opening db-h/$hash/$ref.log (li): $!"); } - print(AP "\7\n",@{escapelog(@log)},"\n\3\n") || &quit("writing db-h/$hash/$ref.log (li): $!"); + print(AP "\7\n",escape_log(@log),"\n\3\n") || &quit("writing db-h/$hash/$ref.log (li): $!"); close(AP) || &quit("closing db-h/$hash/$ref.log (li): $!"); } @@ -1086,7 +1092,7 @@ sub htmllog { print(AP "\6\n". "$whatobj $whatverb". - ($where eq '' ? "" : " to ".&sani($where).""). + ($where eq '' ? "" : " to ".html_escape($where).""). ":
\n". $desc. "\n\3\n") || &quit("writing db-h/$hash/$ref.log (lh): $!"); close(AP) || &quit("closing db-h/$hash/$ref.log (lh): $!"); @@ -1149,7 +1155,7 @@ sub sendmessage { #save email to the log open(AP,">>db-h/$hash/$ref.log") || &quit("opening db-h/$hash/$ref.log (lo): $!"); print(AP "\2\n",join("\4",@$recips),"\n\5\n", - @{escapelog(stripbccs($msg))},"\n\3\n") || + escape_log(stripbccs($msg)),"\n\3\n") || &quit("writing db-h/$hash/$ref.log (lo): $!"); close(AP) || &quit("closing db-h/$hash/$ref.log (lo): $!");