Commit bb13cb54 authored by bugreport%peshkin.net's avatar bugreport%peshkin.net

Bug 164623 - xml.cgi - attachments is broken and insiders not enforced

2xr=bbaetz
parent 64a4f61f
...@@ -187,34 +187,33 @@ sub initBug { ...@@ -187,34 +187,33 @@ sub initBug {
} }
} }
&::SendSQL("select attach_id, creation_ts, description &::SendSQL("select attach_id, creation_ts, isprivate, description
from attachments from attachments
where bug_id = $bug_id"); where bug_id = $bug_id");
my @attachments; my @attachments;
while (&::MoreSQLData()) { while (&::MoreSQLData()) {
my ($attachid, $date, $desc) = (&::FetchSQLData()); my ($attachid, $date, $isprivate, $desc) = (&::FetchSQLData());
if ($date =~ /^(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/) {
$date = "$3/$4/$2 $5:$6";
my %attach; my %attach;
$attach{'attachid'} = $attachid; $attach{'attachid'} = $attachid;
$attach{'isprivate'} = $isprivate;
$attach{'date'} = $date; $attach{'date'} = $date;
$attach{'desc'} = $desc; $attach{'desc'} = $desc;
push @attachments, \%attach; push @attachments, \%attach;
} }
}
if (@attachments) { if (@attachments) {
$self->{'attachments'} = \@attachments; $self->{'attachments'} = \@attachments;
} }
&::SendSQL("select bug_id, who, bug_when, thetext &::SendSQL("select bug_id, who, bug_when, isprivate, thetext
from longdescs from longdescs
where bug_id = $bug_id"); where bug_id = $bug_id");
my @longdescs; my @longdescs;
while (&::MoreSQLData()) { while (&::MoreSQLData()) {
my ($bug_id, $who, $bug_when, $thetext) = (&::FetchSQLData()); my ($bug_id, $who, $bug_when, $isprivate, $thetext) = (&::FetchSQLData());
my %longdesc; my %longdesc;
$longdesc{'who'} = $who; $longdesc{'who'} = $who;
$longdesc{'bug_when'} = $bug_when; $longdesc{'bug_when'} = $bug_when;
$longdesc{'isprivate'} = $isprivate;
$longdesc{'thetext'} = $thetext; $longdesc{'thetext'} = $thetext;
push @longdescs, \%longdesc; push @longdescs, \%longdesc;
} }
...@@ -273,6 +272,9 @@ sub emitXML { ...@@ -273,6 +272,9 @@ sub emitXML {
if (defined $self->{'longdescs'}) { if (defined $self->{'longdescs'}) {
for (my $i=0 ; $i < @{$self->{'longdescs'}} ; $i++) { for (my $i=0 ; $i < @{$self->{'longdescs'}} ; $i++) {
next if ($self->{'longdescs'}[$i]->{'isprivate'}
&& &::Param("insidergroup")
&& !&::UserInGroup(&::Param("insidergroup")));
$xml .= " <long_desc>\n"; $xml .= " <long_desc>\n";
$xml .= " <who>" . &::DBID_to_name($self->{'longdescs'}[$i]->{'who'}) $xml .= " <who>" . &::DBID_to_name($self->{'longdescs'}[$i]->{'who'})
. "</who>\n"; . "</who>\n";
...@@ -286,6 +288,9 @@ sub emitXML { ...@@ -286,6 +288,9 @@ sub emitXML {
if (defined $self->{'attachments'}) { if (defined $self->{'attachments'}) {
for (my $i=0 ; $i < @{$self->{'attachments'}} ; $i++) { for (my $i=0 ; $i < @{$self->{'attachments'}} ; $i++) {
next if ($self->{'attachments'}[$i]->{'isprivate'}
&& &::Param("insidergroup")
&& !&::UserInGroup(&::Param("insidergroup")));
$xml .= " <attachment>\n"; $xml .= " <attachment>\n";
$xml .= " <attachid>" . $self->{'attachments'}[$i]->{'attachid'} $xml .= " <attachid>" . $self->{'attachments'}[$i]->{'attachid'}
. "</attachid>\n"; . "</attachid>\n";
......
...@@ -187,34 +187,33 @@ sub initBug { ...@@ -187,34 +187,33 @@ sub initBug {
} }
} }
&::SendSQL("select attach_id, creation_ts, description &::SendSQL("select attach_id, creation_ts, isprivate, description
from attachments from attachments
where bug_id = $bug_id"); where bug_id = $bug_id");
my @attachments; my @attachments;
while (&::MoreSQLData()) { while (&::MoreSQLData()) {
my ($attachid, $date, $desc) = (&::FetchSQLData()); my ($attachid, $date, $isprivate, $desc) = (&::FetchSQLData());
if ($date =~ /^(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$/) {
$date = "$3/$4/$2 $5:$6";
my %attach; my %attach;
$attach{'attachid'} = $attachid; $attach{'attachid'} = $attachid;
$attach{'isprivate'} = $isprivate;
$attach{'date'} = $date; $attach{'date'} = $date;
$attach{'desc'} = $desc; $attach{'desc'} = $desc;
push @attachments, \%attach; push @attachments, \%attach;
} }
}
if (@attachments) { if (@attachments) {
$self->{'attachments'} = \@attachments; $self->{'attachments'} = \@attachments;
} }
&::SendSQL("select bug_id, who, bug_when, thetext &::SendSQL("select bug_id, who, bug_when, isprivate, thetext
from longdescs from longdescs
where bug_id = $bug_id"); where bug_id = $bug_id");
my @longdescs; my @longdescs;
while (&::MoreSQLData()) { while (&::MoreSQLData()) {
my ($bug_id, $who, $bug_when, $thetext) = (&::FetchSQLData()); my ($bug_id, $who, $bug_when, $isprivate, $thetext) = (&::FetchSQLData());
my %longdesc; my %longdesc;
$longdesc{'who'} = $who; $longdesc{'who'} = $who;
$longdesc{'bug_when'} = $bug_when; $longdesc{'bug_when'} = $bug_when;
$longdesc{'isprivate'} = $isprivate;
$longdesc{'thetext'} = $thetext; $longdesc{'thetext'} = $thetext;
push @longdescs, \%longdesc; push @longdescs, \%longdesc;
} }
...@@ -273,6 +272,9 @@ sub emitXML { ...@@ -273,6 +272,9 @@ sub emitXML {
if (defined $self->{'longdescs'}) { if (defined $self->{'longdescs'}) {
for (my $i=0 ; $i < @{$self->{'longdescs'}} ; $i++) { for (my $i=0 ; $i < @{$self->{'longdescs'}} ; $i++) {
next if ($self->{'longdescs'}[$i]->{'isprivate'}
&& &::Param("insidergroup")
&& !&::UserInGroup(&::Param("insidergroup")));
$xml .= " <long_desc>\n"; $xml .= " <long_desc>\n";
$xml .= " <who>" . &::DBID_to_name($self->{'longdescs'}[$i]->{'who'}) $xml .= " <who>" . &::DBID_to_name($self->{'longdescs'}[$i]->{'who'})
. "</who>\n"; . "</who>\n";
...@@ -286,6 +288,9 @@ sub emitXML { ...@@ -286,6 +288,9 @@ sub emitXML {
if (defined $self->{'attachments'}) { if (defined $self->{'attachments'}) {
for (my $i=0 ; $i < @{$self->{'attachments'}} ; $i++) { for (my $i=0 ; $i < @{$self->{'attachments'}} ; $i++) {
next if ($self->{'attachments'}[$i]->{'isprivate'}
&& &::Param("insidergroup")
&& !&::UserInGroup(&::Param("insidergroup")));
$xml .= " <attachment>\n"; $xml .= " <attachment>\n";
$xml .= " <attachid>" . $self->{'attachments'}[$i]->{'attachid'} $xml .= " <attachid>" . $self->{'attachments'}[$i]->{'attachid'}
. "</attachid>\n"; . "</attachid>\n";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment