Closed
Bug 342757
Opened 19 years ago
Closed 19 years ago
searching results in "YOUR BROWSER DOESN'T SUPPORT THIS SERVER-PUSH TECHNOLOGY" warning on brower under mod_perl
Categories
(Bugzilla :: Query/Bug List, defect)
Tracking
()
RESOLVED
FIXED
Bugzilla 3.0
People
(Reporter: glob, Assigned: mkanat)
References
()
Details
Attachments
(1 file, 1 obsolete file)
2.61 KB,
patch
|
justdave
:
review+
|
Details | Diff | Splinter Review |
searching results in "YOUR BROWSER DOESN'T SUPPORT THIS SERVER-PUSH TECHNOLOGY" warning on brower that does under mod_perl.
Assignee | ||
Updated•19 years ago
|
Assignee: query-and-buglist → mkanat
Target Milestone: --- → Bugzilla 2.24
Version: unspecified → 2.23
Assignee | ||
Comment 1•19 years ago
|
||
This is one of the most difficult fixes I've ever done. I spent hours and hours on it today.
We can't rely on package-global variables under mod_perl. They just don't work. Also, mod_perl only sends headers once, because of some special hacks in CGI.pm, as far as I can tell.
At least in CGI.pm 3.11, multipart_start doesn't cause any quoting problems anymore, so we can use its code, and then just add in the cookies.
This fixes the bug. It works under mod_cgi and mod_perl both.
Attachment #227271 -
Flags: review?(bugzilla)
Comment on attachment 227271 [details] [diff] [review]
v1
>+sub multipart_start {
>+ my $self = shift;
>+ my $headers = $self->SUPER::multipart_start(@_);
>+ # Eliminate the one extra CRLF at the end.
>+ $headers =~ s/$CGI::CRLF$//;
>+ # Add the cookies.
>+ foreach my $cookie (@{$self->{Bugzilla_cookie_list}}) {
>+ $headers .= "Set-Cookie: ${cookie}${CGI::CRLF}";
>+ }
>+ $headers .= $CGI::CRLF;
>+ return $headers;
>+}
instead of modifying the $headers after its been built, you should push the cookies onto @_ then call SUPER::multipart_start.
Attachment #227271 -
Flags: review?(bugzilla) → review-
oh, and checksetup needs to be updated to require CGI 3.11
Assignee | ||
Comment 4•19 years ago
|
||
(In reply to comment #3)
> oh, and checksetup needs to be updated to require CGI 3.11
I've done that for mod_perl only in bug 342736. Do you think we need to do it for mod_cgi installations, too?
Status: NEW → ASSIGNED
Assignee | ||
Comment 5•19 years ago
|
||
Okay, I loved your idea, and I implemented it, but then it didn't work because of a bug in CGI.pm. So I've noted here, in a comment, why we do things the way we do them.
Also, I checked, and there's completely no difference between CGI 2.93 and CGI 3.11 for multipart_start. It's just multipart_init that was causing us the problem.
Attachment #227271 -
Attachment is obsolete: true
Attachment #227538 -
Flags: review?
Assignee | ||
Updated•19 years ago
|
Attachment #227538 -
Flags: review? → review?(bugzilla)
Assignee | ||
Updated•19 years ago
|
Attachment #227538 -
Flags: review?(bugzilla) → review?(justdave)
Comment 6•19 years ago
|
||
Comment on attachment 227538 [details] [diff] [review]
v1.1
Looks less dangerous than what we were doing before at least. We still need to just rewrite all the multipart stuff in CGI and submit it upstream someday ;)
Attachment #227538 -
Flags: review?(justdave) → review+
Updated•19 years ago
|
Flags: approval+
Assignee | ||
Comment 7•19 years ago
|
||
Checking in buglist.cgi;
/cvsroot/mozilla/webtools/bugzilla/buglist.cgi,v <-- buglist.cgi
new revision: 1.339; previous revision: 1.338
done
Checking in Bugzilla/CGI.pm;
/cvsroot/mozilla/webtools/bugzilla/Bugzilla/CGI.pm,v <-- CGI.pm
new revision: 1.26; previous revision: 1.25
done
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Summary: searching results in "YOUR BROWSER DOESN'T SUPPORT THIS SERVER-PUSH TECHNOLOGY" warning on brower that does under mod_perl → searching results in "YOUR BROWSER DOESN'T SUPPORT THIS SERVER-PUSH TECHNOLOGY" warning on brower under mod_perl
You need to log in
before you can comment on or make changes to this bug.
Description
•