Closed Bug 38856 Opened 25 years ago Closed 23 years ago

all bugzilla pages should specify charset

Categories

(Bugzilla :: Documentation, defect, P3)

Other
Other
defect

Tracking

()

RESOLVED FIXED
Bugzilla 2.14

People

(Reporter: jruderman, Assigned: barnboy)

References

()

Details

(Whiteboard: security code)

to prevent untrusted content on bugzilla from executing possibly malicious javascript code, each page should include a charset at the top. see http://www.cert.org/tech_tips/malicious_code_mitigation.html/#3
Blocks: 38852
Whiteboard: 2.14
Whiteboard: 2.14 → 2.14,security
moving to real milestones...
Whiteboard: 2.14,security → security
Target Milestone: --- → Bugzilla 2.14
The change itself is simple. Per http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17 it merely requires us to replace: Content-type: text/html ... with: Content-Type: text/html; charset=ISO-8859-1 ... everywhere it appears in the code. (The name "content-type" is case-insensitive. I capitalized the "T" in it because that seems to be the convention in the HTTP/1.1 spec.) However, unfortunately that means touching a large portion of the code. Are there best practices that should be applied here to make the check-in as smooth as possible? I am thinking in particular of how to make sure we break the minimum number of existing patches with a check-in of this scope.
An alternative solution is to use the approach recommended in the CERT advisory of specifying the character set in the HTML HEAD section like so: <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> This isn't quite as elegant but has the advantage of touching only four files: changepassword.cgi, CGI.pl, buglist.cgi, and reports.cgi.
Status: NEW → ASSIGNED
i vote for #2 for now. myk can i impose on you to make a patch? i'm still working my way through my list.
Assignee: tara → myk
Status: ASSIGNED → NEW
myk says dawn wants this one...
Assignee: myk → endico
I think we should go with http headers instead. There is a bug with both netscape 4 and mozilla (and others?) which causes pages with <meta ... charset> to load twice. Also, what do you do with pages with multiple charsets? For instance, when someone types in some japanese or arabic in a comment. If you have to do something with those pages besides the normal charset=ISO-8859-1. then how do you determine which charsets you have? momoi?
Status: NEW → ASSIGNED
Whiteboard: security → security code
Much I would like to support this effort, the only way this makes sense is for the charset to be multilingual, e.g. UTF-8, which then can support virtually all language scripts. Whatever method you take, if you insert charset=ISO-8859-1, then you will be inconveniencing users who need to read data other than ISO-8859-1, e.g. people can input Japanese data and because we don't tag the pages with the charset, you can read them just by having the charset on the browser side to be in your own language encoding. The moment you put in a charset tag, or have the server send it, we will be forcing these users to override the charset if you use Netscape 6. If you use Communicator, there is nothing you can do. The charset tag cannot be overridden and non ISO-8859-a content can be displayed. Thus, the proposal is not practical at this point. Move to UTF-8 should be considered in the near future, but in that case, we need to consider backend issues. For these reasons, I recommend against doing this at this time unless you want Bugzilla to be monolingual and inconvenience all these L10n projects people who can read the content as well those who count on Bugzilla to support display of non-Latin 1 script. We can discuss alternatives but that would require extra things. The best thing is to do here is to include this factor in the discussion for supporting multiple lnaguage scripts better in the future.
> The charset tag cannot be overridden and non ISO-8859-a content > can be displayed. Correction: The charset tag cannot be overridden and non ISO-8859-a content can NOT be displayed.
So we aren't doing this for 2.14, then? Gerv
Kat makes a whole lot of sense. Despite the potential risk, this really belongs as part of an overall evaluation as to how we support localization in general. In the meantime, a release note might not be out of the question if people want to make this customization part of their own configuration, and pick the charset appropriate to the their target audience. Reassinging to Matt Barnson and cc-ing Dave Miller.
Assignee: endico → barnboy
Status: ASSIGNED → NEW
Target Milestone: Bugzilla 2.14 → Bugzilla 2.16
Moving back to 2.14. I am completely mystified as to how I managed to change the target milestone without noticing.
Target Milestone: Bugzilla 2.16 → Bugzilla 2.14
OK, accepting bug and putting these charset instructions down as part of the Installation section of the Bugzilla Guide. Once I'm done, should I reassign this back to Dawn for further looks as we try to support better internationalization, or go ahead and resolve it fixed since it's documented?
Status: NEW → ASSIGNED
Dawn, there's comments directed to you on here, and you weren't cc'd.
please use the meta. the real one causes netscape0.93beta and i think some other versions to crash or fail to load pages. or at least sniff for old browsers and provide them the simple text/html
I don't have this in the Guide yet, but I'll work on it over this weekend.
Documented, checked in. Marking resolved. We may wish to address this some time in the future, but I'm sure it will be covered by any other internationalization efforts.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Moving to Bugzilla product
Component: Bugzilla → Bugzilla-General
Product: Webtools → Bugzilla
Version: other → unspecified
Component: Bugzilla-General → Documentation
anyone still interested in this topic, please see bug 126266 and weigh in there. We appear to have a paramaterized solution for this in the works. :)
*** Bug 289147 has been marked as a duplicate of this bug. ***
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.