Firefox 3.6/Personas Uplift Security Review: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with '== Overview == ''Describe the goals and objectives of the feature here.'' ;Background links * feature-tracking bug links * specs or design docs == Security and Privacy == * Is …')
 
No edit summary
Line 4: Line 4:
;Background links
;Background links
* feature-tracking bug links
* feature-tracking bug links
** {{bug|511104}}
* specs or design docs
* specs or design docs
** https://wiki.mozilla.org/Firefox/Projects/Personas_Uplift_Exploration


== Security and Privacy ==
== Security and Privacy ==
* Is this feature a security feature?  If it is, what security issues is it intended to resolve?
* Is this feature a security feature?  If it is, what security issues is it intended to resolve?
** no
* What potential security issues in your feature have you already considered and addressed?
* What potential security issues in your feature have you already considered and addressed?
* Is system or subsystem security compromised in any way if your project's configuration files / prefs are corrupt or missing?
* Is system or subsystem security compromised in any way if your project's configuration files / prefs are corrupt or missing?
* Include a thorough description of the security assumptions, capabilities and any potential risks (possible attack points) being introduced by your project.
* Include a thorough description of the security assumptions, capabilities and any potential risks (possible attack points) being introduced by your project.
* How are transitions in/out of Private Browsing mode handled?
* How are transitions in/out of Private Browsing mode handled?
** not at all


== Exported APIs ==
== Exported APIs ==
Line 19: Line 23:
* Are the externally visible interfaces documented clearly enough for a non-Mozilla developer to use them successfully?
* Are the externally visible interfaces documented clearly enough for a non-Mozilla developer to use them successfully?
* Does it change any existing interfaces?
* Does it change any existing interfaces?
** no


== Module interactions ==
== Module interactions ==
Line 25: Line 30:
== Data ==
== Data ==
* What data is read or parsed by this feature?
* What data is read or parsed by this feature?
** the data-browsertheme attribute is read from content and parsed using JSON.parse
* What is the output of this feature?
* What is the output of this feature?
* What storage formats are used?
* What storage formats are used?
** prefs and profile-folder/lightweighttheme-header, profile-folder/lightweighttheme-footer


== Reliability ==
== Reliability ==
* What failure modes or decision points are presented to the user?
* What failure modes or decision points are presented to the user?
** When the InstallBrowserTheme event is dispatched on a content node, a notification bar appears, saying that this site (the location.host of the node's ownerDocument) attempted to install a theme. There's an "Allow" button. Not approved for 1.9.2 yet: When a theme has been installed, another notifcation bar confirms that a theme has been installed, allowing the user to undo this or open the add-ons manager's themes pane.
* Can its files be corrupted by failures? Does it clean up any locks/files after crashes?
* Can its files be corrupted by failures? Does it clean up any locks/files after crashes?



Revision as of 18:08, 19 October 2009

Overview

Describe the goals and objectives of the feature here.

Background links

Security and Privacy

  • Is this feature a security feature? If it is, what security issues is it intended to resolve?
    • no
  • What potential security issues in your feature have you already considered and addressed?
  • Is system or subsystem security compromised in any way if your project's configuration files / prefs are corrupt or missing?
  • Include a thorough description of the security assumptions, capabilities and any potential risks (possible attack points) being introduced by your project.
  • How are transitions in/out of Private Browsing mode handled?
    • not at all

Exported APIs

  • Please provide a table of exported interfaces (APIs, ABIs, protocols, UI, etc.)
  • Does it interoperate with a web service? How will it do so?
  • Explain the significant file formats, names, syntax, and semantics.
  • Are the externally visible interfaces documented clearly enough for a non-Mozilla developer to use them successfully?
  • Does it change any existing interfaces?
    • no

Module interactions

  • What other modules are used (REQUIRES in the makefile, interfaces)?

Data

  • What data is read or parsed by this feature?
    • the data-browsertheme attribute is read from content and parsed using JSON.parse
  • What is the output of this feature?
  • What storage formats are used?
    • prefs and profile-folder/lightweighttheme-header, profile-folder/lightweighttheme-footer

Reliability

  • What failure modes or decision points are presented to the user?
    • When the InstallBrowserTheme event is dispatched on a content node, a notification bar appears, saying that this site (the location.host of the node's ownerDocument) attempted to install a theme. There's an "Allow" button. Not approved for 1.9.2 yet: When a theme has been installed, another notifcation bar confirms that a theme has been installed, allowing the user to undo this or open the add-ons manager's themes pane.
  • Can its files be corrupted by failures? Does it clean up any locks/files after crashes?

Configuration

  • Can the end user configure settings, via a UI or about:config? Hidden prefs? Environment variables?
  • Are there build options for developers? [#ifdefs, ac_add_options, etc.]
  • What ranges for the tunable are appropriate? How are they determined?
  • What are its on-going maintenance requirements (e.g. Web links, perishable data files)?

Relationships to other projects

Are there related projects in the community?

  • If so, what is the proposal's relationship to their work? Do you depend on others' work, or vice-versa?
  • Are you updating, copying or changing functional areas maintained by other groups? How are you coordinating and communicating with them? Do they "approve" of what you propose?

Review comments