| *************************************** |
| *** The Bugzilla 2.20 Release Notes *** |
| *************************************** |
| |
| Table of Contents |
| ***************** |
| |
| - Introduction |
| - Important Updates in this Point Release |
| * Version 2.20.1 |
| - Minimum Requirements |
| * Perl |
| * For MySQL Users |
| * For PostgreSQL Users |
| * Required Perl Modules |
| * Optional Perl Modules |
| - What's New? |
| * Experimental PostgreSQL Support |
| * New User-Interface Color/Style |
| * Higher-Level Categorization of Bugs (above "Product") |
| * Regular Reports by Email of Complex Queries ("Whining") |
| * "Environment Variable" Authentication Method |
| * User-List Drop-Down Menus |
| * Server-Side Comment Wrapping |
| * UI for Editing Priority, OS, Platform, and Severity |
| * Bugzilla Queries as RSS |
| * Choice of E-Mail Sending Methods |
| * "User Preferences" |
| * "Large Attachment" Storage |
| * "User Visibility" Controls |
| * Miscellaneous Improvements |
| * All Changes |
| - Deprecated Features |
| - Outstanding Issues (<======================== IMPORTANT, PLEASE READ) |
| - How to Upgrade From An Older Bugzilla |
| * Steps for Upgrading |
| - Code Changes Which May Affect Customizations |
| * The New Database-Compatibility Layer |
| * If You Customize Your Database... |
| * Many Functions Renamed |
| * User Preferences |
| * Other Changes |
| - Security Fixes In 2.20 Releases |
| - Release Notes for Previous Versions |
| |
| |
| Introduction |
| ************ |
| |
| This document contains the release notes for Bugzilla 2.20. |
| In this document, recently added, changed, and removed features |
| of Bugzilla are described. If you are upgrading from an older version, |
| you will definitely want to read these release notes in detail, so that |
| you have an idea of what has changed. |
| |
| If you are upgrading from a version before 2.18, also read the 2.18 release |
| notes (lower in this file) and any previous release notes. |
| |
| If you are installing a new Bugzilla, you will still want to look over |
| the release notes to see if there is any particularly important information |
| that affects your installation. |
| |
| The 2.20 release is our current stable series. It has had about nine |
| months of development since 2.18, but they were nearly the most active |
| nine months in Bugzilla's history. We hope that users will appreciate |
| our many external changes, and that Bugzilla administators will find |
| that our internal changes make their lives easier. |
| |
| If you would like to contribute code to Bugzilla, read our |
| Contributor's Guide at: |
| |
| http://www.bugzilla.org/docs/contributor.html |
| |
| |
| Important Updates In This Point Release |
| *************************************** |
| |
| Version 2.20.1 |
| -------------- |
| |
| + Many PostgreSQL fixes, including fixing whine.pl on Pg 8 |
| (bug 301062) and fixing the --regenerate option of collectstats.pl |
| for all versions of Pg (bug 316971). However, users who want full |
| PostgreSQL support are encouraged to use the 2.22 series, as |
| certain PostgreSQL bugs were discovered that will not be fixed |
| in 2.20 (their fixes were too complex). |
| |
| + In Bugzilla 2.20, the "administrator" user created by checksetup.pl |
| would not ever be sent email, because their email preferences were |
| left blank. This has been fixed for 2.20.1. However, if you created |
| this administrative user with Bugzilla 2.20, make sure to go back |
| and enable their Email Preferences. (bug 317489) |
| |
| + The bzdbcopy.pl script mentioned in these release notes |
| has now actually been checked-in to the 2.20 branch, and so |
| it's included in this release. (bug 291776) |
| |
| + When there's only one Classification, you now won't be required |
| to pick a Classification on bug entry. (bug 311489) |
| |
| + You can no longer add dependencies on bugs you can't see. |
| (bug 141593) |
| |
| + The CC list is included in "New" bug emails, again. (bug 313661) |
| |
| + In the original 2.20, certain scripts were not correctly using |
| the "shadow database," if it was specified. This has been fixed |
| in 2.20.1. (bug 313695) |
| |
| + "Saved Searches" that were saved before Bugzilla 2.20, would throw |
| an error if they contained "Days Since Bug Changed." as part of their |
| criteria. This has been fixed in Bugzilla 2.20.1. (bug 302599) |
| |
| + You can now successfully delete a product even when Target Milestones |
| are turned off. (bug 317025) |
| |
| + checksetup.pl now correctly pre-compiles templates for languages other |
| than English. (bug 304417) |
| |
| + The "All Closed" chart that is created by default in New Charts |
| now actually represents all closed bugs, and not all bugs in the |
| product. (bug 300473) |
| |
| + CSV bug lists with more than 1000 dates now work properly. (bug 257813) |
| |
| + Various bugs with upgrading from previous versions of Bugzilla |
| have been fixed. (bug 307662, bug 311047, bug 310108) |
| |
| + Many, many other bug fixes. See http://www.bugzilla.org/status/changes.html |
| for details on what was fixed between 2.20 and 2.20.1. |
| |
| |
| Minimum Requirements |
| ******************** |
| |
| Perl |
| ---- |
| |
| Perl v5.6.1 (changed from 2.18) (Non-Windows platforms) |
| ActiveState Perl v5.8.1 (Windows only) |
| |
| For MySQL Users |
| --------------- |
| |
| MySQL v3.23.41 (Note: 2.22 will require MySQL 4.x) |
| perl module: DBD::mysql v2.9003 (changed from 2.18) |
| |
| For PostgreSQL Users (new in 2.20) |
| -------------------- |
| |
| PostgreSQL 7.3.x (8.x has received less testing) |
| perl module: DBD::Pg 1.31 (1.41 required for PostgreSQL 8+) |
| |
| Required Perl Modules |
| --------------------- |
| |
| AppConfig v1.52 |
| CGI v2.93 |
| Data::Dumper (any) |
| Date::Format v2.21 |
| DBI v1.38 (changed from 2.18) |
| File::Spec v0.84 (changed from 2.18) |
| File::Temp (any) |
| Template Toolkit v2.08 |
| Text::Wrap v2001.0131 |
| Mail::Mailer 1.65 (new in 2.20) |
| Storable (any) (new in 2.20) |
| |
| Optional Perl Modules |
| --------------------- |
| |
| Chart::Base v1.0 |
| GD v1.20 |
| GD::Graph (any) |
| GD::Text::Align (any) |
| Net::LDAP (any) |
| PatchReader v0.9.4 |
| XML::Parser (any) |
| |
| |
| What's New? |
| *********** |
| |
| Experimental PostgreSQL Support |
| ------------------------------- |
| |
| In addition to MySQL, Bugzilla now also supports PostgreSQL. PostgreSQL |
| support is still somewhat experimental. Although most major features of |
| Bugzilla work on PostgreSQL in 2.20, there are probably still a few bugs |
| that need to be worked out. |
| |
| PostgreSQL support in 2.20 is acceptable for smaller production |
| environments that don't mind running into a bug or two now and then. |
| |
| |
| New User-Interface Color/Style |
| ------------------------------ |
| |
| You'll notice that Bugzilla looks a bit nicer, now! We've made a few |
| color and style changes to update the overall "feel" of Bugzilla's |
| User Inteface. We plan to do even more work on the UI for 2.22. |
| |
| |
| Higher-Level Categorization of Bugs (above "Product") |
| ----------------------------------------------------- |
| |
| Previous Bugzillas had "Products" that you could file bugs in, |
| and "Components" for those products. Now, "Products" can be grouped |
| into "Classifications." |
| |
| To enable this, a Bugzilla administrator can turn on the |
| "useclassification" parameter, using editparams.cgi. |
| |
| |
| Regular Reports by Email of Complex Queries ("Whining") |
| ------------------------------------------------------- |
| |
| You can now tell Bugzilla to do a specific query (or set of queries) |
| every X minutes/hours/days, and send you the results by email. This is |
| great for keeping track on a daily basis of what's going on in |
| your Bugzilla. |
| |
| |
| "Environment Variable" Authentication Method |
| -------------------------------------------- |
| |
| You can now tell Bugzilla to accept a certain value passed in from |
| Apache as authentication for Bugzilla users. This means that Bugzilla |
| now "supports" any type of authentication that Apache supports. |
| |
| To use this, set the "user_info_class" parameter to "ENV" and, at a |
| minimum, set the "auth_env_email" parameter to the name of the |
| Environment variable that passes the authenticated user (usually |
| "REMOTE_USER"). If your webserver knows users' real names as well, also |
| set the "auth_env_realname" parameter. If you are using a true |
| single-signon system that assigns an identifier uniquely to an |
| individual, even across changes of email address, then set |
| "auth_env_id" to the name of that variable. |
| |
| |
| User-List Drop-Down Menus |
| ------------------------- |
| |
| Now, anywhere in Bugzilla where you previously had to type in an |
| email address by hand, you have the choice of having Bugzilla instead |
| display a drop-down menu of users to pick from. |
| |
| This feature is best for small installations with few users, because |
| on large installations the list grows too large to be useful. |
| |
| To enable the feature, turn on the "usemenuforusers" parameter in |
| editparams.cgi. |
| |
| |
| Server-Side Comment Wrapping |
| ---------------------------- |
| |
| In older Bugzillas, comments were wrapped to 80 characters by the |
| user's web browser, and then stored in the database that way. This caused |
| problems because some browsers did not wrap comments properly. |
| |
| Now, Bugzilla stores comments unwrapped and wraps them at display time, so |
| all new comments should be properly wrapped. Also, when you upgrade, Bugzilla |
| will look for old "mis-wrapped" comments and attempt to wrap them properly. |
| |
| Lines beginning with the ">" character are assumed to be quotes, and are |
| *not* wrapped. |
| |
| |
| UI for Editing Priority, OS, Platform, and Severity |
| --------------------------------------------------- |
| |
| Bugzilla now has a User Interface for adding and removing values |
| from the OS, Platform, Priority, and Severity fields. You can also |
| rename values. Any user in the "editcomponents" group can click |
| on the "Field Values" link in their page footer to edit these fields. |
| |
| Also, the default list of choices for OS and Platform for new |
| installations is now much smaller. Old installations will keep |
| the same list they have now. |
| |
| |
| Bugzilla Queries as RSS |
| ----------------------- |
| |
| You can now view a Bugzilla query as valid RSS 1.0. This means that you |
| could add a particular query to your RSS aggregator, if you wanted, to |
| keep track of changes in Bugzilla. |
| |
| To see a query as RSS, just click on the "RSS" link on the bottom of |
| your query results. Your query must return at least 1 result in order |
| for you to see the link. |
| |
| |
| Choice of E-Mail Sending Methods |
| -------------------------------- |
| |
| Bugzilla now uses perl's Mail::Mailer to send e-mail. This means that |
| you have several choices of how Bugzilla can send email. By default, it |
| still uses sendmail, but it can also use SMTP, qmail, or send all email |
| to a file instead of out to users. |
| |
| A Bugzilla administrator can change which method is used by setting the |
| "mail_delivery_method" parameter in editparams.cgi. |
| |
| |
| "User Preferences" |
| ------------------ |
| |
| Bugzilla users will now notice a section in their Preferences called |
| "General Preferences." Administrators will notice a new link called |
| "User Preferences." |
| |
| The Preferences system allows Bugzilla developers to specify arbitrary |
| "user preferences" that change the behavior of certain parts of Bugzilla. |
| Administrators can control whether or not users are allowed to use these |
| preferences, and what the default settings are for a user who is not |
| logged in. |
| |
| The first two preferences that we have implemented are: |
| + "Show a quip at the top of each bug list" |
| + "When viewing a bug, show comments in this order..." |
| |
| We plan to implement more preferences in the future. |
| |
| |
| "Large Attachment" Storage |
| -------------------------- |
| |
| Bugzilla can now store very large attachments on disk instead of in the |
| database. These attachments can't be searched with Boolean Charts, but |
| they also don't take up database space, and they can be deleted individually |
| by the admin. |
| |
| When uploading an attachment, a user chooses if it's a "Big File." If so, |
| it's stored on the disk instead of in the database. |
| |
| To enable this feature, set the "maxlocalattachmentsize" parameter to |
| a non-zero value, in editparams.cgi. |
| |
| |
| "User Visibility" Controls |
| -------------------------- |
| |
| It is now possible to prevent users from encountering all other users when |
| using user-matching or drop-down userlists. To enable this restriction, |
| enable the "usevisibilitygroups" parameter. Once this is enabled, each |
| group's permissions will include a new column for "visible." The members |
| of any group for which the group being edited is visible will be |
| able to user-match this groups's users or see them in dropdown lists. |
| |
| This does not control who a user can CC on a bug, only who they can |
| see in the user-matching lists or drop-downs. |
| |
| Miscellaneous Improvements |
| -------------------------- |
| |
| - Marking an attachment as obsolete will now cancel all pending flag |
| requests for that attachment. That is, any flag that was set to "?" |
| on that attachment will be cleared. |
| |
| - You can now see which users are "watching" you, on the email |
| preferences page. |
| |
| - You can tell Bugzilla to mark certain comments in a different |
| color by adding "&mark=1,2,3,5-7" to the end of the show_bug.cgi URL, |
| where "1,2,3,5-7" means "highlight comment 1, comment 2, comment 3, and |
| comments 5 through 7." |
| |
| - "QA Contact" now also appears on the New Bug page, if QA Contacts are |
| enabled on your installation. |
| |
| - Bugzilla email now has the "In-Reply-To" header added to it, so if |
| you use an email client that supports threads, you can view your |
| Bugzilla email in threads. If you are upgrading to a new version of |
| Bugzilla, and you want this support, please see the instructions at: |
| https://bugzilla.mozilla.org/attachment.cgi?id=172267 |
| |
| - The email preferences system has been slightly updated. You will notice |
| the changes on your Email Preferences page. |
| |
| - You can now negate individual "boolean charts" (in the |
| "Advanced Searching" section at the bottom of the "Advanced |
| Search" page). That is, you can add "NOT" to the front of them. |
| |
| - You can add the words %assignee%, %reporter%, %user% (yourself), or |
| %qacontact% on the right-hand side of a Boolean Chart. For example, you |
| could make a Boolean Chart which said "Reporter" "does not equal" |
| "%assignee%". That would give you all bugs where the Reporter was not |
| the same as the Assignee. |
| |
| - You can now search Boolean Charts by "commenter." |
| |
| - If you have a group with no name, it will be re-named to "group_#" where |
| "#" is the numeric Bugzilla Group ID for that group. |
| |
| - If you are using time-tracking, you can now see a report of time spent |
| on bugs using summarize_time.cgi. |
| |
| - If you are using time-tracking, bugzilla will now set "hours remaining" |
| to "0" automatically if you RESOLVE a bug, whether you are in the |
| time-tracking group or not. |
| |
| |
| Deprecated Features |
| ******************* |
| |
| - Bugzilla 2.20 is the last Bugzilla version to support MySQL 3.23.x. |
| Starting with Bugzilla 2.22, Bugzilla will require MySQL 4.0.x. This will |
| allow Bugzilla to take advantage of the advanced features of MySQL 4. |
| |
| |
| Outstanding Issues |
| ****************** |
| |
| - (No Bug Number) VERY IMPORTANT: If you have customized the values in |
| your Status/Resolution field, you must edit checksetup.pl BEFORE YOU |
| RUN IT. Find the line that starts like this: |
| |
| bug_status => ["UNCONFIRMED", |
| |
| That's where you set the values for the Status field. |
| |
| resolution => ["","FIXED", |
| |
| And that's where you set values for the Resolution field. |
| |
| Those are both near line 1826 in checksetup.pl. |
| |
| If you forget to do this, you will have to manually edit the "bug_status" |
| and "resolution" tables in the database to contain the correct values. |
| |
| - bug 37765: VERY IMPORTANT: If you use the "sendmail" support of Bugzilla, |
| and you use an MTA which is *not* Sendmail (such as Postfix, Exim, etc.) |
| you MUST turn on the "sendmailnow" parameter or Bugzilla will not send |
| e-mail correctly. |
| |
| - (No Bug Number) If you close your web browser while the process_bug.cgi |
| or post_bug.cgi screen is running, not all emails will be sent, and |
| the next time that that bug is updated, there will be two updates. This |
| is because of a behavior of Apache that is beyond our control. |
| |
| - bug 276230: The support for restricting access to particular Categories of |
| New Charts is not complete. You should treat the 'chartgroup' Param as the |
| only access mechanism available. However, additionally, charts migrated from |
| Old Charts will be restricted to the groups that are marked MANDATORY for |
| the corresponding Product. There is currently no way to change this |
| restriction, and the groupings will not be updated if the group configuration |
| for the Product changes. This will not be fixed in the 2.20 branch. |
| |
| - bug 69621: If you rename or remove a keyword that is in use on bugs, you will |
| need to rebuild the "keyword cache" by running sanitycheck.cgi and choosing |
| the option to rebuild the cache when it asks. Otherwise keywords may not show |
| up properly in search results. |
| |
| - (No Bug Number) If you have a lot of non-ASCII data in your Bugzilla (for |
| example, if you use a translation of Bugzilla), don't enable the XS::Stash |
| option when you install the Template Toolkit, or your Bugzilla installation |
| may become slow. This problem is fixed in a not-yet-released version of the |
| Template Toolkit (after 2.14). |
| |
| - If at any time you upgraded from a version of Bugzilla between 2.17.4 - |
| 2.17.7 to either 2.18rc3 or 2.19.1, you must manually fix your New Charts in |
| order for them to work. See the following link for instructions on how to do |
| this: https://bugzilla.mozilla.org/show_bug.cgi?id=276237#c18 |
| If you are using 2.18rc3, but did not upgrade from version 2.17.4 or newer, |
| then you don't need to do this. |
| |
| - (No Bug Number) If your DBI is really, really old, Bugzilla might fail |
| with a strange error message when you try to run checksetup.pl. Try |
| upgrading your DBI using: perl -MCPAN -e'install DBI' |
| |
| - Bug 126266: Bugzilla does not use UTF-8 to display pages. This means |
| that if you enter non-ASCII characters into Bugzilla, they may |
| display strangely, or Bugzilla may have other problems. For a workaround, |
| see: http://www.bugzilla.org/docs/tip/html/security-bugzilla.html |
| This has been fixed in the 2.22 series. |
| |
| - Bug 99215: Flags are not protected by "mid-air collision" detection. |
| Nor are any attachment changes. |
| |
| - Bug 89822: When changing multiple bugs at the same time, there is no |
| "mid-air collision" protection. |
| |
| - Bug 285614: importxml.pl may be broken in many different ways. |
| It has been fixed and completely re-written in the 2.22 series. |
| |
| - (No Bug Number) Note that the email interface (bug_mail.pl) in the |
| contrib/ directory has not been maintained (as it has no maintainer), |
| and so may not be working properly. Contributions are welcome, if |
| anybody would like to work on it. |
| |
| |
| Upgrading From An Older Bugzilla |
| ************************************ |
| |
| NOTE: Running checksetup.pl to upgrade a large installation (over 10,000 bugs) |
| may take a significant amount of time. checksetup will try to let |
| you know how long it will take, but expect downtime of an hour or |
| more if you have many bugs, many attachments, or many users. |
| |
| Steps for Upgrading |
| ------------------- |
| |
| 1) View the Sanity Check (sanitycheck.cgi) page on your installation before |
| upgrading. Attempt to fix all warnings that the page produces before |
| you go any further, or you may experience problems during your upgrade. |
| |
| 2) Make a backup of the Bugzilla database before you upgrade, perhaps |
| by using mysqldump. |
| |
| Example: |
| |
| mysqldump -u root -p --databases bugs > bugs.db.backup |
| |
| 3) Replace the files in your installation with the new version of Bugzilla, |
| or you can try to use CVS to upgrade. The Bugzilla.org website has |
| instructions on how to do the actual installation. |
| |
| 4) Make sure that you run checksetup.pl after you install the new version. |
| |
| 5) View the Sanity Check page again after you run checksetup.pl. |
| |
| 6) It is recommended that, if possible, you fix any problems you find |
| immediately. Failure to do this may mean that Bugzilla will not work |
| correctly. Be aware that if the sanity check page contains more errors after |
| an upgrade, it doesn't necessarily mean there are more errors in your |
| database, as additional tests are added to the sanity check over time, and |
| it is possible that those errors weren't being checked for in the old |
| version. |
| |
| 7) If you want threading support on your Bugzilla email (see the |
| "Miscellaneous Improvements" section above for a description), |
| you need to follow the instructions at: |
| https://bugzilla.mozilla.org/attachment.cgi?id=172267 |
| |
| |
| Code Changes Which May Affect Customizations |
| ******************************************** |
| |
| The New Database-Compatibility Layer |
| ------------------------------------ |
| |
| For most customizations, this should have no effect. However, you should |
| be aware that Bugzilla->dbh is now an instance of "Bugzilla::DB" instead |
| of being a DBI object directly. In fact, it's actually a |
| Bugzilla::DB::Mysql for MySQL users, and a Bugzilla::DB::Pg for |
| PostgreSQL users. |
| |
| Anything called from $dbh (like $dbh->bz_last_key) that starts with |
| "bz_" or "sql_" is a custom Bugzilla function. Anything *not* starting |
| with those two prefixes is a normal DBI function. |
| |
| Methods whose names start with "sql_" generate a piece of a SQL statement. |
| They generate the correct version of the statement for whichever database |
| you are using. |
| |
| Methods whose names start with "bz_" do something directly. |
| |
| You can see more documentation about this at: |
| |
| http://www.bugzilla.org/docs/2.20/pod/Bugzilla/DB.pm |
| |
| |
| If You Customize Your Database... |
| --------------------------------- |
| |
| In order to support multiple databases, we had to do something sort of |
| tricky. Bugzilla now stores what it *thinks* the current database schema |
| is, in a table called bz_schema. |
| |
| This means that when checksetup changes the database, it updates the |
| bz_schema table. When *you* update the database, without using |
| checksetup to do it, the bz_schema table is *not* updated. |
| |
| So, if you're going to add/remove a new column/table to Bugzilla, or if you're |
| going to change the definition of a column, try to do it by adding code to |
| checksetup in the correct place. (It's one of the places where you find |
| the word "--TABLE--".) |
| |
| You can see the documentation on the $dbh functions used to do this at: |
| |
| http://www.bugzilla.org/docs/2.20/pod/Bugzilla/DB.pm#schema_modification_methods |
| |
| |
| Many Functions Renamed |
| ---------------------- |
| |
| We are reorganizing the Bugzilla code so that it can support mod_perl. As |
| part of this, we are moving all functions out of globals.pl and CGI.pl, and |
| into modules in the Bugzilla/ directory. |
| |
| Sometimes when we moved them, we also renamed them. The new Bugzilla standard |
| is to have functions_named_like_this, instead of FunctionsNamedLikeThis. |
| |
| So if you were using a FunctionNamedLikeThis that no longer works, try just |
| using it as function_named_like_this. If that doesn't work, you may have to |
| search for where we put it, and what we renamed it to. Most of the functions |
| moved to logical places. |
| |
| If you really can't find it, search bugzilla.mozilla.org using the name |
| of the old function. We usually moved one function per bug, so the new |
| name will be somewhere in a bug report. |
| |
| |
| User Preferences |
| ---------------- |
| |
| Bugzilla now has a "User Preferences" system! These preferences are stored |
| in the database, and specified by a Bugzilla developer. The Bugzilla |
| developers actually call these "settings," but we called them "User |
| Preferences" in the UI to make things clearer. |
| |
| You access a user's settings differently depending on if you are in a |
| .cgi file or in a template file: |
| |
| CGI: Bugzilla->user->settings->{'setting_name'}->value |
| Template: Bugzilla.user.settings.setting_name.value |
| |
| Where "setting_name" is the name of the setting. You can see the current |
| setting names in the "setting" table in the database. |
| |
| Remember that sometimes you may want to check a user's settings when |
| making a customization. |
| |
| To see how to add new settings, search for "add_setting" in checksetup.pl. |
| Also see the template: template/en/default/global/setting-descs.none.tmpl. |
| |
| Other Changes |
| ------------- |
| |
| - The $::unconfirmedstate variable has been replaced by the actual string |
| "UNCONFIRMED" everywhere in Bugzilla code. |
| |
| - The %::FORM and %::MFORM variables are no longer used to access form |
| data. Instead, use $cgi->param(). There are many examples of how to do |
| this, all over the Bugzilla code. |
| |
| - SendSQL() and related calls are deprecated, and the various $dbh methods |
| should be used instead, such as $dbh->prepare() and $dbh->execute(). |
| Bugzilla->dbh is the $dbh handle to use. We expect SendSQL to completely |
| disappear by 2.22. For more information on how to use the $dbh methods, |
| see: http://search.cpan.org/dist/DBI/DBI.pm |
| |
| - The $::userid variable will be going away. Use Bugzilla->user->id instead. |
| |
| - All global variables (any that start with $::, @::, or %::) will |
| be going away, eventually, hopefully they will be entirely gone |
| by Bugzilla 2.24. |
| |
| |
| Security Fixes in 2.20 Releases |
| ******************************* |
| |
| 2.20.1 |
| ------ |
| |
| There were three security issues discovered after the release of |
| Bugzilla 2.20 that we resolved for Bugzilla 2.20.1. One SQL Injection |
| (from an administrator only), one Cross-Site Scripting vulnerability |
| (that mostly affects only the user who can exploit it), and one minor, |
| extremely specific information leak. |
| |
| To see details on the vulnerabilities that were fixed, see the |
| Security Advisory at: |
| |
| http://www.bugzilla.org/security/2.18.4/ |
| |
| |
| Release Notes for Previous Versions |
| *********************************** |
| |
| ***************************************** |
| *** The Bugzilla 2.18.x Release Notes *** |
| ***************************************** |
| |
| Table of Contents |
| ***************** |
| |
| - Introduction |
| - Important Updates In This Point Release |
| * Version 2.18.1 |
| * Version 2.18.2 |
| - Requirements |
| * Dependency Requirements |
| - What's New? |
| * Generic Reporting |
| * Generic Charting |
| * Request System |
| * Enterprise Group Support |
| * User Wildcard Matching |
| * Support for "Insiders" |
| * Time Tracking |
| * Authentication module/LDAP improvements |
| * Improved localization support |
| * Patch Viewer |
| * Comment Reply Links |
| * Full-Text Search |
| * Email Address Munging |
| * Simple Search |
| * Miscellaneous Improvements |
| * All Changes |
| - What's Changed? |
| * Flag Names |
| * New Saved Search User Interface |
| * Rules for changing fields |
| - Removed Features |
| - Code Changes Which May Affect Customizations |
| - Recommended Practice for the Upgrade |
| * Note About Upgrading From MySQL With ISAM Tables |
| * Steps for Upgrading |
| - Outstanding Issues (<======================== IMPORTANT, PLEASE READ) |
| - Security Fixes In 2.18 Releases |
| - Detailed Version-To-Version Release Notes |
| |
| |
| Introduction |
| ************ |
| |
| This document contains the release notes for Bugzilla 2.18 and |
| the bugfix releases after 2.18. In this document, recently added, |
| changed, and removed features of Bugzilla are described. |
| |
| The 2.18 release is our current stable series, containing the results |
| of over two years of hard and dedicated work by volunteers all over |
| the world under the lead of Dave Miller. |
| |
| |
| Important Updates In This Point Release |
| *************************************** |
| |
| There are usually many other bug fixes than those listed below, |
| but the below fixes are the ones that we thought System Administrators |
| would like to specifically know about. |
| |
| To see a listing of all changes in this release, you can use the |
| table available at: |
| |
| http://www.bugzilla.org/status/changes.html |
| |
| Version 2.18.1 |
| -------------- |
| |
| + You can now enter a negative time for "Hours Worked" |
| in the time-tracking area. (Bug 271276) |
| |
| + The BugMail.pm customization required for Windows (as |
| described in the Bugzilla Guide) now actually works. (Bug 280911) |
| |
| + Users who were using Bugzilla 2.8 can now successfully upgrade |
| to 2.18.1 (they couldn't upgrade to 2.18). (Bug 283403) |
| |
| + Dependency mails are now properly sent during a mass-change of bugs. |
| (Bug 178157) |
| |
| |
| Version 2.18.2 |
| -------------- |
| |
| + You can now create accounts with createaccount.cgi even |
| when the "requirelogin" parameter is turned on. (Bug 294778) |
| |
| + Bugs that are in disabled groups may not show a padlock |
| on the bug list, or may otherwise behave strangely. You |
| can now fix this using sanitycheck.cgi. (Bug 277454) |
| |
| + If sendmail dies while you are marking a bug |
| as a duplicate, the duplicates table will no longer become |
| corrupted. (Bug 225042) |
| |
| |
| Requirements |
| ************ |
| |
| Dependency Requirements |
| ----------------------- |
| |
| Minimum software requirements: |
| |
| MySQL v3.23.41 (changed from 2.16) |
| Perl v5.6.0 (changed from 2.16) (Non-Windows platforms) |
| ActiveState Perl v5.8.1 (Windows only) |
| |
| Required Perl modules: |
| |
| AppConfig v1.52 |
| CGI v2.93 (new since 2.16) (changed from 2.17.7) |
| Data::Dumper (any) |
| Date::Format v2.21 (changed from 2.16) |
| DBI v1.36 (changed from 2.16) (changed from 2.17.7) |
| DBD::mysql v2.1010 (changed from 2.16) |
| File::Spec v0.82 |
| File::Temp (any) |
| Template Toolkit v2.08 (changed from 2.16) |
| Text::Wrap v2001.0131 |
| |
| Optional Perl modules: |
| |
| Chart::Base v1.0 (changed from 2.16) (changed from 2.17.7) |
| GD v1.20 (changed from 2.16) |
| GD::Graph (any) (new since 2.16) |
| GD::Text::Align (any) (new since 2.16) |
| Net::LDAP (any) (new since 2.16) |
| PatchReader v0.9.4 (new since 2.16) (changed from 2.17.7) |
| XML::Parser (any) |
| |
| |
| What's New? |
| *********** |
| |
| Generic Reporting |
| ----------------- |
| |
| Bugzilla has a new mechanism for generating reports of the current state of |
| the bug database. It has two related parts: a table-based view, and several |
| graphical views. |
| |
| The table-based view allows you to specify an x, y and z (multiple tables of |
| data) axis to plot, and then restrict the bugs plotted using the standard |
| query form. You can view the resulting data as an HTML or CSV export (e.g.: |
| for importing into a spreadsheet). |
| |
| There are also bar, line and pie charts, which are defined in a very similar |
| way. These views may be more appropriate for particular data types, and are |
| suitable for saving and then putting into presentations or web pages. |
| |
| |
| Generic Charting |
| ---------------- |
| |
| Bugzilla has a new mechanism for generating charts (graphs over time) of any |
| arbitrary search. This is known as "New Charts." Legacy data from the previous |
| charting mechanism ("Old Charts") is migrated into the "New Charts" when you |
| upgrade. The Old Charts mechanism remains, but is deprecated and will be |
| removed in a future version of Bugzilla. |
| |
| Individual users can see/create charts as long as they are a member of the |
| group specified in the Param 'chartgroup'. Data can be collected for |
| personal charts every seven days (or a longer period, as set by the user). |
| Charts created by an administrator can be made public (visible to all). Data |
| is collected for administrator charts every day (or a longer period, as set |
| by the admin). |
| |
| The data is collected by the collectstats.pl script, which an administrator |
| will need to arrange to be run once every day (see the manual). Chart data can |
| be plotted in a number of different ways, and different data sets can be |
| plotted on the same graph for comparison. |
| |
| Please see the Known Bugs section for some important limitations relating to |
| access controls on charts. |
| |
| |
| Request System |
| --------------- |
| |
| The Request System (RS) is a set of enhancements that adds powerful flag |
| (superset of the old attachment status) features to the bugs. |
| |
| RS allows for four states: off, granted, denied, and (optionally) requested, |
| where "granted" is the equivalent of "on". These additions mean it is no |
| longer necessary to define a status to negate another status (e.g. |
| "needs-work" to negate "has-review") because negation is built into each |
| status via the status' "denied" state. Bug statuses: Previously only |
| attachments could have these kinds of statuses. RS enables them for bugs as |
| well. This feature can be used to request and grant/deny certain properties |
| for a bug, such as inclusion for a specific milestone or approval for checkin. |
| This way, Bugzilla supports the natural decision-making process in your |
| organization. |
| |
| - Requests: Flags can now optionally be made requestable, which means users |
| can ask other users to set them. When a user requests a flag, Bugzilla |
| emails the requestee and adds the request to a browsable queue so both the |
| requester and the requestee can keep track of its status. Once the |
| requestee fulfills the request by setting the flag to either granted or |
| denied, Bugzilla emails the requestee and removes the request from the |
| queue. This feature supports workflow like the mozilla.org code review |
| and milestone approval processes, whereby code is peer reviewed before |
| being committed and patches get approved by product release managers for |
| inclusion in specific product releases. |
| |
| - Product/component specificity: Previously flags were product-specific, and |
| if you wanted the same flag for multiple products you had to define |
| multiple flags with the same name. Flags are now |
| product/component-specific, and a single flag can be enabled or disabled |
| for multiple product/component combinations via inclusions and exclusions |
| lists. Flags are enabled for all combinations on their inclusions list |
| except those that appear on their exclusions list. |
| |
| |
| Enterprise Group Support |
| ------------------------ |
| |
| Bugzilla is no longer limited to 55 access control groups. Administrators can |
| define an arbitrary number of access groups composed of individual users or |
| other groups. The groups can be configured via the web interface to achieve a |
| wide variety of access control policies. See the documentation section on |
| 'Groups And Group Controls' for details. |
| |
| |
| User Wildcard Matching |
| ---------------------- |
| |
| Sites can now enable the use of wildcards and substrings in bug entry and |
| editing forms. If the user enters an incomplete username, he'll get a list of |
| users that matched the given username. |
| |
| |
| Support for "Insiders" |
| ---------------------- |
| |
| If the 'insidergroup' parameter is defined, a specific group of users can be |
| designated insiders who can designate comments and attachments as private to |
| other insiders. These comments and attachments will be invisible to other |
| users who are not members of the insiders group even if the bugs to which they |
| apply are visible. Other insiders will see the comments and attachments with a |
| visual tinting indicating that they are private. |
| |
| |
| Time Tracking |
| ------------- |
| |
| Controls for tracking time spent fixing bugs are included in the bug form for |
| members of the group specified by the 'timetrackinggroup' parameter. Any time |
| comments are added to the bug, members of the time tracking group can add an |
| amount of time they spent, and it's figured into the total and displayed at |
| the top of the bug. Shown in the bug are your original estimate, the amount of |
| time spent so far, the revised estimate of how much time is remaining, and |
| your gain/loss on the original estimate. |
| |
| |
| Authentication module/LDAP improvements |
| --------------------------------------- |
| |
| Bugzilla's authentication mechanisms have been modularized, making pluggable |
| authentication schemes for Bugzilla a reality. Both the existing database and |
| LDAP systems were ported as part of modularization process. Additionally, the |
| CGI portion of the backend was redesigned to allow for authentication from |
| other sources, including (theoretically) email, which will help Bug 94850. |
| |
| As part of this conversion, LDAP logins now use Perl's standard Net::LDAP |
| module, which has no external library dependencies. |
| |
| |
| Improved localization support |
| ----------------------------- |
| |
| Bugzilla administrators can now configure which languages are supported by |
| their installations and automatically serve correct, localized content to |
| users based on the HTTP 'Accept-Language' header sent from users' browsers. |
| |
| There are currently localized templates available for: Arabic, Belarusian, |
| Chinese, French, German, Italian, Korean, Portuguese (Brazil) Spanish (Spain |
| or Mexico) and Russian. These localized template packs are third-party |
| contributions, may only be available for specific versions, and may not be |
| supported in the future. (http://www.bugzilla.org/download/#localizations) |
| |
| |
| Patch Viewer |
| ------------ |
| |
| Viewing and reviewing patches in Bugzilla is often difficult due to lack of |
| context, improper format and the inherent readability issues that raw patches |
| present. Patch Viewer is an enhancement to Bugzilla designed to fix that by |
| offering increased context, linking to sections, and integrating with Bonsai, |
| LXR and CVS. |
| |
| |
| Comment Reply Links |
| ------------------- |
| |
| In Edit Bug, each bug comment now includes a convenient (reply) link that |
| quotes the comment text into the textarea. This feature is only enabled in |
| Javascript-capable browsers, but causes no inconvenience to other user agents. |
| |
| |
| Full-Text Search |
| ---------------- |
| |
| It is now possible to query the Bugzilla database using full-text searching, |
| which spans comments and summaries, and which searches for substrings and stem |
| variations of the search term. Basically, it's like using Google. |
| |
| |
| Email Address Munging |
| --------------------- |
| |
| The fact that raw email addresses are displayed in Bugzilla makes it trivial |
| for bots that spamharvest to spider through Bugzilla, in particular, through |
| Bugzilla's buglists. This change adds HTML obfuscation of email addresses as |
| they appear in the Bugzilla web pages. |
| |
| |
| Google-like Bug Search |
| ---------------------- |
| |
| Bugzilla now includes a very simple, Google-like "Find a Specific Bug" page, |
| in addition to its advanced search page. |
| |
| |
| Miscellaneous Improvements |
| -------------------------- |
| |
| - The "Assigned To" field on the new bug page is now prefilled with the default |
| component owner. |
| |
| - A bug alias column is now available in the buglist page. |
| |
| - Lists of bugs containing errors in the sanity check page now have a "view as |
| buglist" link in addition to the individual bug links. |
| |
| - Autolinkification Page - It's now possible to apply Bugzilla's comment |
| hyperlinking algorithm to any text you like. This should be useful for status |
| updates and other web pages which give lists of bugs. The bug links created |
| include the subject, status and resolution of the bug as a tooltip. |
| |
| - There are more <link> tags on the links toolbar for navigating quickly between |
| different areas. |
| |
| - Buglists are now available as comma-separated value files (CSV) and JavaScript |
| (JS) as well as HTML and RDF. |
| |
| - Keywords and dependencies can now be entered during initial bug entry. |
| |
| - A CSS id signature unique to each Bugzilla installation is now added to the |
| <body> tag on Bugzilla pages to allow custom end-user CSS to explicitly affect |
| Bugzilla. |
| |
| - Perl's path has been changed to a normal /usr/bin/perl from the original |
| legacy "bonsaitools" path specifier. |
| |
| - A new "always-require-login" parameter allows administrators to require a |
| login before being able to view any page, except the front page. |
| |
| - A developer may add an attachment, and also reassign a bug to himself as part |
| of that single action. |
| |
| - Bugzilla is now able to use the replication facilities provided by the |
| MySQL database to handle updates from the main database to the secondaries. |
| |
| - Mail handling is now between 125% to 175% faster. |
| |
| - Guided Bug Entry: You can see a sample enter_bug.cgi template at |
| enter_bug.cgi?format=guided that "guides" users through the process of |
| filing a "good" bug. It needs to be modified before use in your organization. |
| |
| - There is now a "Give me some help" link on the Advanced Search page that will |
| enable pop-up help for every field on the page. |
| |
| - The Bugzilla administrator can now forbid users from marking bugs RESOLVED |
| when there are unresolved dependencies. |
| |
| |
| All Changes |
| ----------- |
| |
| To see a list of EVERY bug that was fixed between 2.16 and 2.18 (over 1000), |
| see: http://tinyurl.com/6m3e4 |
| |
| |
| What's Changed? |
| *************** |
| |
| |
| Flag names |
| ---------- |
| |
| Prerelease versions of Bugzilla 2.17 and 2.18 inadvertantly allowed |
| commas and spaces in the names of flags, which due to the way they're |
| processed, caused lots of internal havoc if you named flags to have |
| any commas or spaces in them. Having commas or spaces in the names |
| can cause errors in the notification emails and in the bug activity |
| log. The ability to create new flags with these characters has been |
| removed. If you have any existing flags that you named that way, |
| running checksetup will attempt to automatically rename them by |
| replacing commas and spaces with underscores. |
| |
| |
| New Saved Search User Interface |
| ------------------------------- |
| |
| In previous Bugzilla versions, you could specify on the search page that you |
| wanted to save a search and store it as a link in your footer. This option has |
| now moved to the search results page (buglist.cgi), where you will see a |
| "Remember search" button with a box next to it to enter the name of the search. |
| |
| You can manage your saved searches on the Preferences page. |
| |
| |
| Rules for changing fields |
| ------------------------- |
| |
| There have been some changes to the rules governing who can change which fields |
| of a bug report. The rules for Bugzilla version 2.16 and 2.18, along with |
| differences between them, are listed below. Bear in mind that there are other |
| restrictions on bug manipulation besides the ones listed below. In particular, |
| the groups system enforces restrictions on who can create, edit, or even see |
| any given bug. |
| |
| Bugzilla 2.16 rules: |
| |
| - anyone can make a null change; |
| - anyone can add a comment; |
| - anyone in the editbugs group can make any change; |
| - the reporter can make any change to the status; |
| - anyone in the canconfirm group can change the status |
| to any opened state (NEW, REOPENED, ASSIGNED). |
| - anyone can change the status to any opened state |
| if the everconfirmed flag is set; |
| - the owner, QA contact, or reporter can make any change |
| *except* changing the status to an opened state; |
| - No other changes are permitted. |
| |
| [Note that these rules combine to allow the reporter to make any change |
| to the bug.] |
| |
| Bugzilla 2.18 rules: |
| |
| - anyone can make a null change; |
| - anyone can add a comment; |
| - anyone in the editbugs group can make any change; |
| - anyone in the canconfirm group can change the status |
| from UNCONFIRMED to any opened state; |
| - the owner or QA contact can make any change; |
| - the reporter can make any change *except*: |
| - changing the status from UNCONFIRMED to any opened state; or |
| - changing the target milestone; or |
| - changing the priority (unless the letsubmitterchoosepriority |
| parameter is set). |
| - No other changes are permitted. |
| |
| The effective differences in the rules: |
| |
| - In 2.16, the reporter could always change anything about a bug. |
| |
| In 2.18, the reporter can't: |
| |
| - confirm the bug unless he is in the canconfirm group; |
| - change the target milestone; |
| - change the priority (unless the 'letsubmitterchoosepriority' |
| parameter is set; |
| |
| (unless he is also the owner, the QA contact, or in the editbugs |
| group, in which case he can do all these things). |
| |
| - In 2.16, the owner or QA contact (if the 'useqacontact' parameter |
| is set) can't change the bug status to an opened status unless they |
| are also the reporter, or have editbugs or canconfirm, or the |
| everconfirmed flag is set on the bug). |
| |
| In 2.18 the owner or QA contact can make any change to a bug. |
| |
| - In 2.16, a member of the canconfirm group can set the status |
| to any opened status. |
| |
| In 2.18 this is only possible if the status was previously |
| the unconfirmed status. |
| |
| - In 2.16, the status can be set to anything by anybody |
| if the 'everconfirmed' flag is set. |
| |
| In 2.18, this authorization code does not pay any attention |
| to the 'everconfirmed' flag. |
| |
| |
| Removed Features |
| **************** |
| |
| - Please note that Bugzilla no longer supports MySQL 3.22. The minimum required |
| version is now 3.23.41. |
| |
| - The "shadow database" mechanism is no longer used. Instead, use MySQL's |
| built-in replication feature. |
| |
| - If you have placed any comments in the localconfig file, they may be removed |
| by checksetup.pl. |
| |
| |
| Code Changes Which May Affect Customizations |
| ******************************************** |
| |
| - A mechanism (called "Template Hooks") for third party extensions to plug into |
| existing templates without having to patch or replace distributed templates |
| has been added. More information on this can be found in the documentation. |
| |
| - Header output now uses CGI.pm, in a step towards enabling mod_perl |
| compatibility. This change will affect users that had customized charsets in |
| their CGI files: previously the charset had to be added everywhere that |
| printed the Content-Type header; now it only needs changing in one spot, in |
| Bugzilla/CGI.pm. |
| |
| - $::FORM{} and $::COOKIE{} are deprecated. Use the $cgi methods to access |
| them. |
| |
| - $::userid is gone in favor of Bugzilla->user->id |
| |
| - ConnectToDatabase() is gone (it's done automatically when you initialize the |
| Bugzilla object) |
| |
| - quietly_check_login() and confirm_login() are gone, use Bugzilla->login() |
| with parameters for whether the login is required or not. |
| |
| - Use Bugzilla->user->login in place of $::COOKIE{Bugzilla_login} |
| |
| - You can tell if there's a user logged in or not by using |
| Bugzilla->user rather than looking for $::userid==0. |
| In new 2.18 code, use defined(Bugzilla->user) && (Bugzilla->user->id) |
| In 2.20, this will become just (Bugzilla->user->id) |
| In templates, always test [% IF user.id %] rather than [% IF user %] |
| |
| - SendSQL() and related calls are deprecated, and the various $dbh methods |
| should be used instead, such as $dbh->prepare() and $dbh->execute(). |
| Bugzilla->dbh is the $dbh handle to use. |
| |
| |
| Recommended Practice for the Upgrade |
| ************************************ |
| |
| Note About Upgrading From MySQL With ISAM Tables |
| ------------------------------------------------ |
| As previously noted in the Dependency Requirements MySQL is now required |
| to be at least version 3.23.41. This implies that all tables of type ISAM will |
| be converted by the checksetup.pl script to MyISAM. |
| |
| |
| Steps for Upgrading |
| ------------------- |
| |
| 1) View the Sanity Check (sanitycheck.cgi) page on your installation before |
| upgrading. |
| |
| 2) As with any upgrade it is recommended that you make a backup of the |
| Bugzilla database before you upgrade, perhaps by using mysqldump. |
| |
| Example: |
| |
| mysqldump -u root -p --databases bugs > bugs.db.backup |
| |
| 3) Replace the files in your installation, or you can try to use CVS to upgrade. |
| The Bugzilla.org website has instructions on how to do the actual |
| installation. |
| |
| 4) Make sure that you run checksetup.pl after you install the new version. |
| |
| 5) View the Sanity Check page again after you run checksetup.pl. |
| |
| 6) It is recommended that, if possible, you fix any problems you find |
| immediately. Failure to do this may mean that Bugzilla will not work |
| correctly. Be aware that if the sanity check page contains more errors after |
| an upgrade, it doesn't necessarily mean there are more errors in your |
| database, as additional tests are added to the sanity check over time, and |
| it is possible that those errors weren't being checked for in the old |
| version. |
| |
| |
| Outstanding Issues |
| ****************** |
| |
| These are known problems with the release that we think you should know about. |
| They each have a bug number for http://bugzilla.mozilla.org/ |
| |
| - If at any time you upgraded from a version of Bugzilla between 2.17.4 - |
| 2.17.7 to either 2.18rc3 or 2.19.1, you must manually fix your New Charts in |
| order for them to work. See the following link for instructions on how to do |
| this: https://bugzilla.mozilla.org/show_bug.cgi?id=276237#c18 |
| If you are using 2.18rc3, but did not upgrade from version 2.17.4 or newer, |
| then you don't need to do this. |
| |
| - bug 37765: If you use an MTA other than sendmail (such as Postfix, Exim, |
| etc.) you MUST turn on the "sendmailnow" parameter or Bugzilla will not send |
| e-mail correctly. |
| |
| - bug 276230: The support for restricting access to particular Categories of |
| New Charts is not complete. You should treat the 'chartgroup' Param as the |
| only access mechanism available. However, additionally, charts migrated from |
| Old Charts will be restricted to the groups that are marked MANDATORY for |
| the corresponding Product. There is currently no way to change this |
| restriction, and the groupings will not be updated if the group configuration |
| for the Product changes. |
| |
| - bug 69621: If you rename or remove a keyword that is in use on bugs, you will |
| need to rebuild the "keyword cache" by running sanitycheck.cgi and choosing |
| the option to rebuild the cache when it asks. Otherwise keywords may not show |
| up properly in search results. |
| |
| - (No Bug Number) If you have a lot of non-ASCII data in your Bugzilla (for |
| example, if you use a translation of Bugzilla), don't enable the XS::Stash |
| option when you install the Template Toolkit, or your Bugzilla installation |
| may become slow. This problem is fixed in a not-yet-released version of the |
| Template Toolkit (after 2.14). |
| |
| - bug 266579: Users may be able to circumvent not having "canconfirm" privileges |
| in some circumstances. This is fixed starting with 2.19.3, but will not |
| be fixed in any 2.18 release, as the changes required to fix it are quite |
| large. |
| |
| - bug 99215: Attachment changes have no mid-air collision detection, unlike bug |
| changes. |
| |
| - bug 57350: Searching using the "commenter is" option may be VERY slow. Note |
| that searching for "field: comment, changed by: user@domain.com" is fast, |
| though. |
| |
| - bug 151509: Using the boolean chart option "contains the string" with the |
| "flag name" field or certain other fields will cause Bugzilla to emit an |
| error. This is fixed in 2.20rc1, but will not be fixed in the 2.18 series. |
| |
| - bug 234159: Bugzilla may sometimes send multiple notices in one email. |
| |
| - bug 237107: If you search for attachment information using the Boolean Charts |
| at the bottom of the Advanced Query page, bugs without attachments will not |
| show up in the result list. |
| |
| |
| Security Fixes In 2.18 Releases |
| ******************************* |
| |
| Version 2.18 |
| ------------ |
| |
| Summary: XSS in Internal Error messages in Bugzilla 2.16.7 and 2.18rc3 |
| CVE Name: CAN-2004-1061 |
| Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=272620 |
| Details: |
| It is possible to send a carefully crafted URL to Bugzilla designed to |
| trigger an error message. The Internal Error message includes javascript code |
| which displays the URL the user is visiting. The javascript code does not |
| escape the URL before displaying it, allowing scripts contained in the URL to |
| be executed by the browser. Many browsers do not allow unescaped URLs to be |
| sent to a webserver (thus complying with RFC 2616 section 2.3.1 and RFC 2396 |
| section 2.4.3), and are thus immune to this issue. |
| Browsers which are known to be immune: Firefox 1.0, Mozilla 1.7.5, |
| Camino 0.8.2, Netscape 7.2, Safari 1.2.4 |
| Browsers known to be susceptible: Internet Explorer 6 SP2, |
| Konqueror 3.2 |
| Browsers not listed here have not been tested. |
| |
| |
| Version 2.18.1 |
| -------------- |
| |
| Two security issues were fixed in Bugzilla 2.18.1, neither of them |
| critical. |
| |
| See http://www.bugzilla.org/security/2.16.8/ for details. |
| |
| |
| Version 2.18.2 |
| -------------- |
| |
| Two security issues were fixed in Bugzilla 2.18.2. One of them |
| is a major Information Leak/Unauthorized Bug Change. The other |
| is a minor Information Leak. |
| |
| See http://www.bugzilla.org/security/2.18.1/ for details. |
| |
| |
| Detailed Version-To-Version Release Notes |
| ***************************************** |
| |
| ********************************************************* |
| *** USERS UPGRADING FROM ALL VERSIONS PRIOR TO 2.16.7 *** |
| ********************************************************* |
| |
| *** Security fixes *** |
| |
| - It is possible to send a carefully crafted HTTP POST message to |
| process_bug.cgi which will remove keywords from a bug even if you don't have |
| permissions to edit all bug fields (the "editbugs" permission). Such changes |
| are reported in "bug changed" email notifications, so they are easily |
| detected and reversed if someone abuses it. Users are now prevented from |
| making changes to keywords if they do not have editbugs privileges. (bug |
| 252638) |
| |
| *** Bug fixes of note *** |
| |
| - Enforce a minimum of 10 minutes between attempts to reset a password, so |
| we don't mailbomb the user if someone submits the form many times in a |
| row. (bug 250897) |
| |
| - Put products in alphabetical order on the create attachment status page. |
| (bug 251427) |
| |
| - Specify MyISAM as the table type when creating new tables. MySQL 4.1 and |
| up default to InnoDB, which doesn't support some of the indexing methods |
| that we use. (bug 263165) |
| |
| ********************************************************* |
| *** USERS UPGRADING FROM ALL VERSIONS PRIOR TO 2.16.6 *** |
| ********************************************************* |
| |
| *** Security fixes *** |
| |
| - If Bugzilla is configured to hide entire products from some users, both |
| duplicates.cgi and the form for mass-editing a list of bugs in buglist.cgi |
| can disclose the names of those hidden products to such users. |
| (bugs 234825 and 234855) |
| |
| - Several administration CGIs echo invalid data back to the user without |
| escaping it. (bug 235265) |
| |
| - A user with privileges to grant membership to any group (i.e. usually an |
| administrator) can trick editusers.cgi into executing arbitrary SQL. |
| (bug 244272) |
| |
| *** Bug fixes of note *** |
| |
| - Allow XML import to function when there are regexp metacharacters in product |
| names (bug 237591) |
| |
| - Allow the bug_email.pl contrib script to work with useqacontact (bug 239912) |
| |
| - Improve the error message used by checksetup.pl when the MySQL requirements |
| are not met (bug 240228) |
| |
| - Elimnate the warning in checksetup.pl about the minimum sendmail version (bug |
| 240060) |
| |
| - $webservergroup now defaults to group 'apache' in new installations (bug |
| 224477) |
| |
| - Correct a situation where a bugmail message could be sent twice to a user |
| being added to the CC list if the address was entered in a different case |
| than the user registered with. (bug 117297) |
| |
| - Various documentation updates |
| |
| ********************************************************* |
| *** USERS UPGRADING FROM ALL VERSIONS PRIOR TO 2.16.4 *** |
| ********************************************************* |
| |
| *** Bug fixes of note *** |
| |
| - Fix a "used only once" warning that ocurred only in perl 5.00503 |
| (bug 2321691) |
| |
| - When a user is creating a new account and enters an invalid email |
| address, the error page sent the "Content-type" header twice, causing |
| the second one to be visible at the top of the page. |
| (bug 137121) |
| |
| - An HTML encoding issue which only affected Internet Explorer was |
| corrected in the "Change several bugs at once" page. |
| (bug 181106) |
| |
| - During initial setup, using invalid characters in the administrator |
| password would present an error message stating your password was |
| too long or too short instead of telling you it had invalid |
| characters. |
| (bug 166755) |
| |
| - When a user reset their own password via an emailed token, the new |
| password in the first field would be accepted if the second password |
| field was left blank. |
| (bug 123077) |
| |
| - Reopening bugs from the "change several bugs at once" page now works. |
| (bug 95430) |
| |
| - Fix a regression in xml.cgi caused by the previous bugfix for MySQL |
| SUM() changes. The original fix didn't work properly either. |
| (bug 225474) |
| |
| - No longer use server push with the "Safari" browser, which claims to |
| use the Mozilla layout engine but doesn't. |
| (bug 188712) |
| |
| - Creating a shadow database no longer fails with taint mode errors. |
| (bug 227510) |
| |
| - If you change your cookiepath setting at some stage (because you have |
| moved the directory Bugzilla resides on your webserver), users can |
| have login cookies with the old cookiepath, and their browsers will |
| send multiple logincookies. Bugzilla now uses the first rather than |
| the last in order to get the most specific cookie which will be the |
| correct one. |
| (bug 121419) |
| |
| - Fixed a regression caused by the previous DBD::mysql fixes, that |
| caused older versions of DBD::mysql to break due to not supporting |
| the new DBI syntax. |
| (bug 224815) |
| |
| - Bugzilla no longer sends out invalid dates for cookie expiry. This |
| bug had no known user visible ramifications. |
| (bug 228706) |
| |
| - Update the shadow database parameters description to tell the user |
| about permissions requirements for creating a shadow database. |
| (bug 227513) |
| |
| - Various documentation updates. |
| |
| ********************************************************* |
| *** USERS UPGRADING FROM ALL VERSIONS PRIOR TO 2.16.3 *** |
| ********************************************************* |
| |
| *** SECURITY ISSUES RESOLVED *** |
| |
| - A user with 'editproducts' privileges (i.e. usually an administrator) |
| can select arbitrary SQL to be run by the nightly statistics cron job |
| (collectstats.pl), by giving a product a special name. |
| (bug 214290) |
| |
| - A user with 'editkeywords' privileges (i.e. usually an administrator) |
| can inject arbitrary SQL via the URL used to edit an existing keyword. |
| (bug 219044) |
| |
| - When deleting products and the 'usebuggroups' parameter is on, the |
| privilege which allows someone to add people to the group which is |
| being deleted does not get removed, allowing people with that |
| privilege to get that privilege for the next group that is created |
| which reuses that group ID. Note that this only allows someone who |
| had been granted privileges in the past to retain them. |
| (bug 219690) |
| |
| - If you know the email address of someone who has voted on a secure |
| bug, you can access the summary of that bug even if you do not have |
| sufficient permissions to view the bug itself. |
| (bug 209376) |
| |
| *** Bug fixes of note *** |
| |
| Perl 5.8.0 Compatibility fixes: |
| |
| - Two taint errors were fixed, one in process_bug.cgi, and |
| another in post_bug.cgi. |
| (bugs 220332 and 177828) |
| |
| MySQL 4.0 Compatibility fixes: |
| |
| - A cosmetic fix was applied to votes.cgi (if there were no |
| votes, the "0" was not displayed) due to a change in semantics |
| in SUM() in MySQL 4.0. |
| (bug 217422) |
| |
| DBD::mysql > 2.1026 Compatibility fixes: |
| |
| - DBD::mysql versions after 2.1026 return the table list quoted, which |
| broke the existing "table exists" check in checksetup.pl, which caused |
| the second and subsequent attempts to run checksetup.pl to fail. |
| (bug 212095) |
| |
| Miscellaneous bug fixes: |
| |
| - A Mozilla-specific reference was removed from one of the report |
| templates. |
| (bug 221626) |
| |
| - It was possible to enter a situation where you were unable to get to |
| editparams.cgi to turn the shutdownhtml param back off after you |
| turned it on when Apache was configured to run Bugzilla in suexec |
| mode. |
| (bug 213384) |
| |
| - The processmail rescanall task would not send e-mails about more than |
| one bug to the same address. |
| (bug 219508) |
| |
| - If Bugzilla hadn't been accessed in the last hour when the |
| collectstats.pl or whineatnews.pl cron jobs ran, the versioncache |
| would get recreated with the file owner being the user the cron job |
| was running as (usually not the webserver user), causing subsequent |
| access to Bugzilla by the webserver to fail until the permissions were |
| fixed. Now if versioncache isn't readable when accessing from the |
| webserver, we pretend it doesn't exist and recreate it again. |
| (bug 160422) |
| |
| - The 'sendmailnow' param is now on by default in new installations |
| (this does not affect existing installations). |
| (bug 146087) |
| |
| - The 008filter.t test would fail if you had multiple language packs |
| installed. It now properly tests all of the installed language packs. |
| (bug 203318) |
| |
| - A few minor documentation changes were committed. |
| |
| ********************************************************* |
| *** USERS UPGRADING FROM ALL VERSIONS PRIOR TO 2.16.2 *** |
| ********************************************************* |
| |
| *** SECURITY ISSUES RESOLVED *** |
| |
| - A cross site scripting (XSS) vulnerability was fixed in which bug |
| summaries were not properly filtered when a user viewed a dependency graph |
| allowing JavaScript to be embedded on that page. |
| (bug 192661) |
| |
| - Several XSS vulnerabilities were fixed in which user |
| input was not escaped when being displayed. A new |
| test has been added to warn about unfiltered data in template |
| files (t/008filter.t). |
| (bug 192677) |
| |
| - An issue was fixed in which the QA contact was still treated as the QA |
| contact even after the 'useqacontact' setting was turned off. This also |
| allowed the QA contact to edit the security groups and view secured bugs that |
| he/she was allowed to access prior to the 'useqacontact' setting being |
| deactivated. |
| (bug 194394) |
| |
| - Fixed a situation where an attacker (with local access to the webserver) |
| could overwrite any file on the webserver to which the webserver user |
| has write access by creating appropriately named symbolic links in the |
| data and webdot directories (world-writable in many configurations). |
| Bugzilla now uses File::Temp to create secure temporary files. File::Temp |
| is part of the Perl distribution for Perl 5.6.1 and later, but if you're |
| using an older version of Perl you'll need to install it with CPAN. |
| (bug 197153) |
| |
| ** IMPORTANT CHANGES *** |
| |
| - New module requirement: File::Temp, as mentioned above. |
| |
| *** Bug fixes of note *** |
| |
| - An issue was fixed in which administrator rights could be removed from an |
| administrator who deleted a product while the 'usebuggroups' setting is |
| activated. |
| (bug 157704) |
| |
| - Fixed an issue in which importxml.pl would fail the test suite when running |
| under perl 5.8.0 with the optional XML::Parse module. |
| (bug 172331) |
| |
| - There was previously a bug in CGI.pl in which the following warning |
| would be given under certain conditions: |
| "Character in "c" format wrapped at CGI.pl..." |
| This is now fixed. In some cases the warning was filling up web server log |
| files. |
| (bug 194125) |
| |
| - Fixed a bug in which long component names (in excess of 50 characters) would |
| be accepted when creating the component but would cause problems when trying |
| to use that component on a bug because it would get truncated. It is now no |
| longer possible to create components with names in excess of 50 characters. |
| (bug 197180) |
| |
| - Fixed a bug in checksetup.pl in which permissions were not being fixed |
| on the 'data/comments' file, the quip file. |
| (bug 160279) |
| |
| ***************************************************************** |
| *** USERS UPGRADING FROM 2.16.1 OR EARLIER, 2.14.4 OR EARLIER *** |
| ***************************************************************** |
| |
| *** SECURITY ISSUES RESOLVED *** |
| |
| - Fixed a cross site scriptability issue in quips. This is only a problem |
| if quips with HTML could have been inserted into your quips files. Bugzilla |
| has not allowed this since 2.12. |
| (bug 179329) |
| - checksetup.pl will now attempt to prevent access to "editor backups" of |
| localconfig. |
| (bug 186383) |
| - collectstats.pl no longer makes data/mining (which contains graphing |
| information) world writeable. |
| (bug 183188) |
| |
| *********************************************** |
| *** USERS UPGRADING FROM 2.16.0 OR EARLIER *** |
| *********************************************** |
| |
| *** SECURITY ISSUES RESOLVED *** |
| |
| - Apostrophes were not properly handled in email addresses. This was a |
| regression introduced in 2.16. It is not known whether this was |
| exploitable. |
| (bug 165221) |
| |
| See also next major section. |
| |
| *** Bug fixes of note *** |
| |
| - The VERSION cookie which allowed the previously entered version of a product |
| to be remembered was not correctly set. It was only set as a session |
| cookie, and under some circumstances could interfere with other cookies |
| (such as the login information) send at the same time. |
| (bug 160227) |
| |
| - importxml.pl would fail if the versioncache needed to be updated. |
| (bug 164464) |
| |
| - Bug changes going through intermediate pages would munge fields with |
| multiple fields, such as CCs. |
| (bug 161203) |
| |
| - On failure in template->new, Bugzilla will now die rather than futilely |
| attempt to use an error template. |
| (bug 166023) |
| |
| - Fixed a problem where checksetup had problems converting old installations |
| that didn't have a duplicates table. |
| (bug 151619) |
| |
| - Fixed a problem that caused taint errors when viewing or editing user |
| preferences with Perl 5.005 and Template 2.08. |
| (bug 160710) |
| |
| See also next section. |
| |
| ****************************************************** |
| *** USERS UPGRADING FROM 2.16.0, 2.14.3 OR EARLIER *** |
| ****************************************************** |
| |
| *** SECURITY ISSUES RESOLVED *** |
| |
| - When a new product is added to an installation with 47 groups or more and |
| "usebuggroups" is enabled, the new group will be assigned a groupset bit |
| using Perl math that is not exact beyond 2^48. This results in the new |
| group being defined with a "bit" that has several bits set. As users are |
| given access to the new group, those users will also gain access to |
| spurious lower group privileges. Also, group bits were not always reused |
| when groups were deleted. |
| (bug 167485) |
| |
| - The email interface had another insecure single parameter system call. This |
| could potentially allow arbitrary shell commands to be run. This file is |
| not supported at this time, but as long as we knew about the problem, we |
| couldn't overlook it. |
| (bug 163024) |
| |
| *** Bug fixes of note *** |
| |
| - The email interface was broken. This was a 2.14.3 regression. This file |
| is not supported at this time, but as long as we knew about the problem, we |
| couldn't overlook it. |
| (bug 160631) |
| |
| *********************************************** |
| *** USERS UPGRADING FROM 2.14.5 OR EARLIER *** |
| *********************************************** |
| |
| *** SECURITY ISSUES RESOLVED *** |
| |
| - The bug reporter could set the priority even when |
| 'letsubmitterchoosepriority' was off. |
| (bug 63018) |
| |
| - Most CGIs are now templatised. This helps to make it |
| easier to remember to HTML filter values and easier to spot |
| when they are not, preventing cross site scripting attacks. |
| (bug 86168) |
| |
| - Most CGIs now run in taint mode. This helps to prevent |
| failure to validate errors. |
| (bug 108982) |
| |
| *** IMPORTANT CHANGES *** |
| |
| - 2.16 introduces "templatisation", a new feature that allows |
| administrators to easily customise the HTML output (the "look and feel") |
| of Bugzilla without altering Perl code. Bugzilla uses the |
| "Template Toolkit" for this. Please see the "Template Customisation" |
| section of the Bugzilla Guide for more details. |
| |
| Administrators who ran the 2.15 development version and customised |
| templates should check the templates are still valid, as file names |
| and file paths have changed. |
| |
| Most output is now templatised. This process will be complete next |
| milestone. |
| |
| For speed, compiled templates are cached on disk. If you modify the |
| templates, the toolkit will normally detect the changes, and recompile the |
| changed templates. |
| |
| Adding new directories anywhere inside the template directory may cause |
| permission errors if you don't have a webservergroup specified in |
| localconfig. If you see these, rerun checksetup.pl as root. If you do not |
| have root access, or cannot get someone who does to do this for you, you can |
| rename the data/template directory to data/template.old (or any other name |
| Bugzilla doesn't use). Then rerun checksetup.pl to regenerate the compiled |
| templates. |
| (bug 86168, 97832) |
| |
| - Administrators can now configure maximum attachment sizes. These |
| should remain below the maximum size for your MySQL server, or you |
| will get obscure MySQL errors if you attach a bigger attachment. |
| |
| To find out the current size attachment that MySQL can accept, type |
| the command 'mysqladmin variables' and find out the value of the |
| 'max_allowed_packet' varible in bytes. |
| |
| To change the maximum size that MySQL can accept you can alter this |
| variable in your 'my.cnf' file. |
| (bug 91664) |
| |
| - Perl 5.004 is no longer supported because the Template Toolkit |
| requires 5.005. |
| (bug 97721) |
| |
| - New module requirements: Text::Wrap, Template [requires AppConfig], |
| File::Spec. |
| (bugs 97784, 84338, 103778) |
| |
| - The index page is now a CGI instead of an HTML page. You should remove |
| any existing index.html file and make sure your web server allows index.cgi |
| to be the default page in a directory. If you are not able to do that you |
| can instead set index_html in the 'localconfig' file to 1 and checksetup.pl |
| will create a redirect page for you. |
| (bug 80183) |
| |
| - It is now recommended that administrators run "processmail rescanall" |
| after upgrading to 2.16 or beyond. |
| |
| This will send out notification emails for changes that were |
| made but not emailed, due to Bugzilla bugs. All known |
| causes of this have been fixed in this version (bug 104589 and 99519). |
| |
| It is also recommended that this be run nightly to avoid |
| lengthy delays in future if this problem reoccurs. |
| (bug 106377) |
| |
| - In parallel with templatisation, a lot of changes have been made to the HTML |
| output of the Bugzilla CGIs. This could break code that attempts to parse |
| such code. For example, this breaks mozbot. |
| (no bug number) |
| |
| - The "HTML template" parameters (headerhtml, bodyhtml, footerhtml, |
| errorhtml, bannerhtml, blurbhtml, mostfreqhtml, entryheaderhtml) have now |
| been moved to Template Toolkit templates. If you have modified these |
| parameters you will need to make corresponding changes to the corresponding |
| templates. Your old parameter values will be moved to a file called |
| old-params.txt by checksetup.pl. |
| |
| The old parameters correspond to files in template/en/default as follows: |
| |
| headerhtml: global/header.html.tmpl |
| footerhtml: global/footer.html.tmpl |
| bannerhtml: global/banner.html.tmpl |
| blurbhtml: global/banner.html.tmpl |
| mostfreqhtml: reports/duplicates*.html.tmpl |
| entryheaderhtml: bug/create/user-message.html.tmpl |
| |
| (bug 140437) |
| |
| *** Other changes of note *** |
| |
| - The query page has been redesigned for better user friendliness. |
| (bug 98707) |
| - Users can now change their email account. |
| (bug 23067) |
| - "Dependent Bug Changed" notification emails now contain the |
| dependent bug's summary and URL. |
| (bug 28736, 113383) |
| - Bugs with severity "critical", "blocker", and "enhancement" are |
| visually differentiated on bug lists for browsers with sufficient |
| CSS support. |
| (bug 28884) |
| - Bugzilla now has a sidebar for the Mozilla browser. |
| (bug 37339) |
| - A link to just created attachments now appears in notification |
| email. |
| (bug 66651) |
| - Comments now have numbers and can be referenced with |
| autohyperlinkifying similar to bugs. |
| (bug 71840) |
| - The attachment system has been rewritten, supporting new |
| "attachment statuses" (like keywords, but for attachments), |
| the ability to obsolete attachments, edit attachment MIME type, |
| and edit whether the attachment is a patch. |
| (bugs 84338, 75176) |
| - syncshadowdb now supports a configurable temp file location, |
| and properly shuts down Bugzilla while running. |
| (bug 75840) |
| - Dependency tree now lets you exclude resolved bugs and bugs |
| below a specified depth. |
| (bugs 83058) |
| - The "strictvaluechecks" parameter has gone away. These checks |
| are now always done. |
| (bug 119715) |
| - The midair collision page now shows all changes since the bug |
| page was loaded, not just the last one. |
| (bug 108312) |
| - Added support for making dependency graphs with 'dot', which |
| is better at creating complex graphs than 'webdot'. |
| (bug 120537) |
| |
| *** Bug fixes of note *** |
| |
| - Bugzilla scripts are now usually not terminated when the browser |
| window they are running in is closed. This caused hard to |
| reproduce bugs. |
| (bug 104589) |
| - On browsers that "reflow" the page, large component / milestone / |
| version fields were extremely slow to reflow when you altered |
| the product field. |
| (bug 96534) |
| - The selection in the component / milestone / version fields is |
| no longer lost when you change the selection in the product |
| field or use the back/forward buttons in your browser to return |
| to the page. |
| (bug 97966) |
| - You could not reverse dependencies in one step. |
| (bug 82143) |
| - Mass reassignment of non-open bugs will no longer reopen them. |
| (bug 30731) |
| - Attempting to bulk change no bugs will now give a user-friendly |
| error message. |
| (bug 90333) |
| - If you make a change to a bug where you only add yourself to CC, |
| email notifications are now properly sent out for MySQL 3.23. |
| (bug 99519) |
| - Bug entry now properly validates the data it has been sent. |
| (bug 107743) |
| - Midair collision checks will now properly work in all situations |
| where dependencies have changed. |
| (bug 73502) |
| - Browsers can no longer corrupt the params file if they use the "wrong" |
| end-of-line markers. |
| (bug 92500) |
| - The MySQL port defined in localconfig is now properly honoured. |
| (bug 98368) |
| - Apostrophes in component/milestone/version names no longer cause |
| a problem on the query page. |
| (bug 30689/42810) |
| - File attachment comments will now wrap. |
| (bug 52060) |
| - Saved queries are no longer mangled if you need to log in again, |
| for example if you had cookies off. |
| (bug 38835) |
| - Bug counts (on reports.cgi) were very slow if you had to |
| count a lot of bugs. |
| (bug 63249) |
| - 2.14 introduced options to let people see a bug when their name |
| is on it but who aren't in the groups the bug is restricted |
| to. These only allowed the people to view the bugs directly, |
| and not see them on buglists and receive email about them. |
| (bugs 95024, 97469) |
| - A new 'cookiepath' parameter on editparams.cgi allows multiple |
| Bugzilla installations to exist on one host without problems. |
| (bug 19910) |
| - whineatnews.pl now respects the 'sendmailnow' parameter. |
| (bug 52782) |
| - The query page came up even when Bugzilla was shut down. |
| (bug 121747) |
| - Quicksearch gave a weird error message when Bugzilla was |
| shut down. |
| (bug 121741) |
| - Operating system detection fixes. |
| (bugs 92763, 135666) |
| - QA contacts now receive emails when a new bug is created and |
| their only email preference was being added or removed from QA. |
| (bug 143091) |
| |
| *********************************************** |
| *** USERS UPGRADING FROM 2.14.4 OR EARLIER *** |
| *********************************************** |
| |
| See section above about users upgrading from 2.16.1 or earlier, |
| 2.14.4 or earlier. |
| |
| *********************************************** |
| *** USERS UPGRADING FROM 2.14.3 OR EARLIER *** |
| *********************************************** |
| |
| See section above about users upgrading from 2.16.0 or earlier. |
| |
| *********************************************** |
| *** USERS UPGRADING FROM 2.14.2 OR EARLIER *** |
| *********************************************** |
| |
| *** SECURITY ISSUES RESOLVED *** |
| |
| - Basic maintenance on contrib/bug_email.pl and |
| contrib/bugzilla_email_append.pl which also fixes a |
| possible security hole with a misuse of a system() call. |
| These files are not supported at this time, but as long |
| as we knew about the problem, we couldn't overlook it. |
| (bug 154008) |
| |
| *** Bug fixes of note *** |
| |
| - The fix for bug 130821 in 2.14.2 broke being able to sort |
| bug lists on more than one field. buglist.cgi now allows |
| you to sort on more than one field again. |
| (bug 152138) |
| |
| *********************************************** |
| *** USERS UPGRADING FROM 2.14.1 OR EARLIER *** |
| *********************************************** |
| |
| *** SECURITY ISSUES RESOLVED *** |
| |
| - queryhelp.cgi no longer shows confidential products to |
| people it shouldn't. |
| (bug 126801) |
| |
| - It was possible for a user to bypass the IP check by |
| setting up a fake reverse DNS, if the Bugzilla web server |
| was configured to do reverse DNS lookups. Apache is not |
| configured as such by default. This is not a complete |
| exploit, as the user's login cookie would also need to |
| be divulged for this to be a problem. |
| (bug 129466) |
| |
| - In some situations the data directory became world writeable. |
| (bug 134575) |
| |
| - Any user with access to editusers.cgi could delete a user |
| regardless of whether 'allowuserdeletion' is on. |
| (bug 141557) |
| |
| - Real names were not HTML filtered, causing possible cross |
| site scripting attacks. |
| (bug 146447, 147486) |
| |
| - Mass change would set the groupset of every bug to be the |
| groupset of the first bug. |
| (bug 107718) |
| |
| - Some browsers (eg NetPositive) interacted with Bugzilla |
| badly and could have various form problems, including |
| removing group restrictions on bugs. |
| (bug 148674) |
| |
| - It was possible for random confidential information to be |
| divulged, if the shadow database was in use and became |
| corrupted. |
| (bug 92263) |
| |
| - The bug list sort order is now stricter about the SQL it will accept, |
| ensuring you use correct column name syntax. Before this, there were |
| some syntax checks, so it is not known whether this problem was |
| exploitable. |
| (bug 130821) |
| |
| ******************************************** |
| *** USERS UPGRADING FROM 2.14 OR EARLIER *** |
| ******************************************** |
| |
| The 2.14.1 release fixes several security issues that became |
| known to us after the Bugzilla 2.14 release. |
| |
| *** SECURITY ISSUES RESOLVED *** |
| |
| - If LDAP Authentication was being used, Bugzilla would allow |
| you to log in as anyone if you left the password blank. |
| (bug 54901) |
| |
| - It was possible to add comments or file a bug as someone else |
| by editing the HTML on the appropriate submission page before |
| submitting the form. User identity is checked now, and the |
| form values suggesting the user are now ignored. |
| (bug 108385, 108516) |
| |
| - The Product popup menu on the show_bug form listed all |
| products, even if the user didn't have access to all of them. |
| It now only shows products the user has access to (and the |
| product the bug is in, if the user is viewing it because of |
| some other override). |
| (bug 102141) |
| |
| - If a user had any blessgroupset privileges (the ability to |
| change only specific privileges for other users), it was |
| possible to change your own groupset (privileges) by |
| altering the page HTML before submitting on editusers.cgi. |
| (bug 108821) |
| |
| - An untrusted variable was echoed back to user in the HTML |
| output if there was a login error while editing votes. |
| (bug 98146) |
| |
| - buglist.cgi had an undocumented parameter that allowed you |
| to pass arbitrary SQL for the "WHERE" part of a query. |
| This has been disabled. |
| (bug 108812) |
| |
| - It was possible for a user to send arbitrary SQL by inserting |
| single quotes in the "mybugslink" field in the user |
| preferences. |
| (bug 108822) |
| |
| - buglist.cgi was not validating that the field names being |
| passed from the "boolean chart" query form were valid field |
| names, thus allowing arbitrary SQL to be inserted if you |
| edited the HTML by hand before submitting the form. |
| (bug 109679) |
| |
| - long_list.cgi was not validating that the bug ID parameter |
| was actually a number, allowing arbitrary SQL to be inserted |
| if you edited the HTML by hand. |
| (bug 109690) |
| |
| ******************************************** |
| *** USERS UPGRADING FROM 2.12 OR EARLIER *** |
| ******************************************** |
| |
| *** SECURITY ISSUES RESOLVED *** |
| |
| - Multiple instances of unauthorised access to confidential |
| bugs has been fixed. |
| (bug 39524, 39526, 39527, 39531, 39533, 70189, 82781) |
| |
| - Multiple instances of untrusted parameters not being |
| checked/escaped was fixed. These included definite security |
| holes. |
| (bug 38854, 38855, 38859, 39536, 87701, 95235) |
| |
| - After logging in passwords no longer appear in the URL. |
| (bug 15980) |
| |
| - Procedures to prevent unauthorised access to confidential |
| files are now simpler. In particular the shadow directory |
| no longer exists and the data/comments file no longer needs |
| to be directly accessible, so the entire data directory can |
| be blocked. However, no changes are required here if you |
| have a properly secured 2.12 installation as no new files |
| must be protected. |
| (bug 71552, 73191) |
| |
| - If they do not already exist, checksetup.pl will attempt to |
| write Apache .htaccess files by default, to prevent |
| unauthorised access to confidential files. You can turn this |
| off in the localconfig file. |
| (bug 76154) |
| |
| - Sanity check can now only be run by people in the 'editbugs' |
| group. Although it would be better to have a separate |
| group, this is not possible until the limitation on the |
| number of groups allowed has been removed. |
| (bug 54556) |
| |
| - The password is no longer stored in plaintext form. It will |
| be eradicated next time you run checksetup.pl. A user must |
| now change their password via a password change request that |
| gets validated at their e-mail account, rather than have it |
| mailed to them. |
| (bug 74032) |
| |
| - When you are using product groups and you move a bug between |
| products (single or mass change), the bug will no longer be |
| restricted to the old product's group (if it was) and will |
| be restricted to the new product's group. |
| (bug 66235) |
| |
| - There are now options on a bug to choose whether the |
| reporter, and CCs can access a bug even if they aren't in |
| groups the bug it is restricted to. |
| (bug 39816) |
| |
| - You can no longer mark a bug as a duplicate of a bug you |
| can't see, and if you mark a bug a duplicate of a bug |
| the reporter cannot see you will be given options as to |
| what to do regarding adding the reporter of the resolved |
| bug to the CC of the open bug. |
| (bug 96085) |
| |
| *** IMPORTANT CHANGES *** |
| |
| - Bugzilla 2.14 no longer supports old email tech. Upon |
| upgrading, all users will be moved over to new email tech. |
| This should speed up upgrading for installations with |
| a large number of bugs. |
| (bug 71552) |
| |
| - There is new functionality for people to see why they are |
| receiving notification mails. |
| |
| Previously, some people filtered old email tech |
| notifications depending on whether they were in the To or the |
| CC header, in order to get a limited way of determining why |
| they were receiving the notification for filtering purposes. |
| |
| Existing installations will need to make changes to support |
| this feature. The receive reasons can be added to the |
| notifications as a header and/or in the body. To add these |
| you will need to modify your newchangedmail parameter on |
| editparams.cgi, either by resetting it or appropriately |
| modifying it. The header value is specified by |
| %reasonsheader% and the body by %reasonsbody%. For example, |
| the new default parameter is: |
| |
| -------------------------------------------------- |
| From: bugzilla-daemon |
| To: %to% |
| Subject: [Bug %bugid%] %neworchanged%%summary% |
| X-Bugzilla-Reason: %reasonsheader% |
| |
| %urlbase%show_bug.cgi?id=%bugid% |
| |
| %diffs% |
| |
| |
| |
| %reasonsbody% |
| -------------------------------------------------- |
| |
| (bug 26194) |
| |
| - Very long fields (especially multi-valued fields like keywords, |
| CCs, dependencies) on bug activity and notifications previously |
| could get truncated, resulting in useless notifications and data |
| loss on bug activity. Now the multi-valued fields only show |
| changes, and very big changes are split into multiple lines. |
| Where data loss has already occurred on bug activity, it is |
| indicated using question marks. |
| (bug 55161, 92266) |
| |
| - Previously, when a product's voting preferences changed all |
| votes were removed from all the bugs in the product. Also, |
| when a bug was moved to another product, all of its votes |
| were removed. This no longer occurs. |
| |
| Instead, if the action would leave one or more bugs with |
| greater than the maximum number of votes per person per bug, |
| the number of votes will be reduced to the maximum. The |
| person will still be notified of this as before. |
| |
| If the action would leave a user with more votes in a product |
| than is allowed, the limit will be breached so as to not lose |
| votes. However the user will not be able to update their |
| votes except to fix this situation. No further action is taken |
| in this version to make sure that the user does this. |
| (bug 28882, 92593) |
| |
| *** Other changes of note *** |
| |
| - Groups can now be marked inactive, so you can't add a new |
| restriction on that group to a bug, while leaving bugs that |
| were previously restricted on that group alone. |
| (bug 75482) |
| - backdoor.cgi has been removed from the installation. It was |
| old code that was Netscape-specific and its name was scaring |
| people. |
| (bug 87983) |
| - You can now add or remove from CC on the bulk change page. |
| (bug 12819) |
| - New users created by administrators are now automatically |
| inserted into groups according to the group's regular |
| expression. Administrators must edit the user in a second |
| step to override these choices. Previously the |
| administrator specified these explicitly which could lead |
| to incorrect settings. |
| (bug 45164) |
| - The userregexp of system groups can now be edited without |
| resorting to direct database access. |
| (bug 65290) |
| |
| *** Bug fixes of note *** |
| |
| - The bug list page was sometimes bringing up a not logged in |
| footer when the user was logged in and the installation was |
| using a shadow database. |
| (bug 47914) |
| - You can now view the bug summary in your browser title for |
| a group-restricted bug if you have proper permissions. |
| (bug 71767) |
| - Quick search for search terms did not work in IE5. |
| This has been worked around. |
| (bug 77699) |
| - Quick search for search terms crashed NN4.76/4.77 for Unix. |
| This has been worked around. |
| (bug 83619) |
| - Queries on bugs you have commented on using the "added |
| comment" feature should be a lot faster and not time out |
| on large installations due to the addition of an index. |
| (bug 57350) |
| - You can now alter group settings on bulk change for groups |
| that aren't on for all bugs or off for all bugs. |
| (bug 84714) |
| - New bug notifications now include the CC and QA fields. |
| (bug 28458) |
| - Bugzilla is now more Windows friendly, although it is still |
| not an official platform. |
| (bug 88179, 29064) |
| - Passwords are now encrypted using Perl's encrypt function. |
| This makes Bugzilla more portable to more operating systems. |
| (bug 77473) |
| - Bugzilla didn't properly shut down when told to - some |
| queries could still be sent to the database. |
| (bug 95082) |
| |
| ******************************************** |
| *** USERS UPGRADING FROM 2.10 OR EARLIER *** |
| ******************************************** |
| |
| *** SECURITY ISSUES RESOLVED *** |
| |
| - Some security holes have been fixed where shell escape characters |
| could be passed to Bugzilla, allowing remote users to execute |
| system commands on the web server. |
| |
| *** IMPORTANT CHANGES *** |
| |
| - There is now a facility for users to choose the sort of |
| notifications they wish to receive. This facility will |
| probably be improved in future versions. |
| (bug 17464) |
| |
| - "Changed" will no longer appear on the subject line of |
| change notification emails. Because of this, you should |
| change the subject line in your 'changedmail' and |
| 'newchangedmail' params on editparams.cgi. The subject |
| line needs to be changed from |
| |
| Subject: [Bug %bugid%] %neworchanged% - %summary% |
| |
| to: |
| |
| Subject: [Bug %bugid%] %neworchanged%%summary% |
| |
| or whatever is appropriate for the subject you are using |
| on your system. Note the removal of the " - " in the |
| middle. |
| (bug 29820) |
| |
| *** Other changes of note *** |
| |
| - Bug titles now appear in the page title, and will hence |
| display in the user's browser's bookmarks and history. |
| (bug 22041) |
| - Edit groups functionality (editgroups.cgi). |
| (bug 25010) |
| - Support for moving bugs to other Bugzilla databases. |
| (bug 36133) |
| - Bugzilla now can generate a frequently reported bugs list |
| based on what duplicates you receive. |
| (bug 25693) |
| - When installing Bugzilla fresh, the administrator account is |
| now created in checksetup.pl. |
| (bug 17773) |
| - Stored queries now show their name above the bug list, which |
| helps the user when they have multiple bug lists in multiple |
| browser windows. It also appears in the page title, and will |
| hence display in the user's browser's bookmarks and history. |
| (bug 52228) |
| - All states and resolutions can now be collected for charting. |
| (bug 6682) |
| - A new search-engine-like "quick search" feature appears on |
| the front page to try and making searching easier. |
| (bug 69793) |
| - Querying on dependencies now works in the advanced query |
| section of the query page. |
| (bug 30823) |
| - When a bug is marked as a duplicate, the reporter of the |
| resolved bug is automatically added to the CC list of the |
| open bug. |
| (bug 28676) |
| |
| *** Bug fixes of note *** |
| |
| - Notification emails will now always be sent to QA contacts. |
| Previously they wouldn't if you were using new email tech. |
| (bug 30826) |
| - When marking a bug as a duplicate, the duplicate stamp marked |
| on the open bug will no longer be written too early (such as |
| on mid-air collisions). |
| (bug 7873) |
| - Various bug fixes were made to the initial assignee and QA |
| of a component. It is no longer possible to enter an |
| invalid address. They will also now properly update when |
| a user's email address is changed. Sanity check will now |
| check these. |
| (bug 66876) |
| - Administrators can no longer create an email accounts that do |
| not match the global email regular expression parameter. |
| Previously this could occur and would cause sanity check |
| errors. |
| (bug 32971) |
| - The resolution field can no longer become empty when the |
| bug is resolved. This occurred because of midair collisions. |
| (bug 49306) |
| |
| ******************************************* |
| *** USERS UPGRADING FROM 2.8 OR EARLIER *** |
| ******************************************* |
| |
| Release notes were not compiled for versions of Bugzilla before |
| 2.12. |
| |
| The file 'UPGRADING-pre-2.8' contains instructions you may |
| need to perform in addition to running 'checksetup.pl' if you |
| are running a pre 2.8 version. |
| |