Security/Reviews/FxOSGecko/Template: Difference between revisions

no edit summary
No edit summary
 
Line 1: Line 1:
== WORK IN PROGRESS ==
== Overview ==
 
 
=== FirefoxOS Review Details ===
=== FirefoxOS Review Details ===
* API: Bluetooth API - Version 2
* API: XXXXX API
* Review Date: September 2014
* Review Date: October 2013
* Review Lead: Paul Theriault
* Review Lead: L.E. Taccor


=== Context ===
=== Context ===
Work is currently underway to implement a new version of the Gecko Bluetooth API. The key changes are:
* Why are we doing a review
* new API, using webidl
* Has it been reviewed before
* Bluetooth will be exposed to privileged apps
* Any special risks or concerns
* new bluetooth profiles supported


=== Scope ===
=== Scope ===
This review focuses specifically on the new API itself. Review of the Gaia bluetooth app
* What parts of Gaia, Gecko and or Gonk are we looking.  
 
The following system components were reviewed:
*Gaia
Configuration of Wifi via the settings (and other Apps)
Configuration of Wifi via the settings (and other Apps)
 
*Gaia
**Foo app
**Web Activities provided by Bar app
* Gecko
* Gecko
** The new interfaces: https://wiki.mozilla.org/B2G/Bluetooth/WebBluetooth-v2#Interfaces
** mozXXX interface
** Bluetooth permission enforcement (which functions are available to which app types)
** Gecko Permissions
** Messaging (child/parent)  
** Messaging ( messages, system messages)
** Interface to XYZ service on IPC socket (JSON-based communication protocol)
*Gonk
** XYZ Service


As the API is still in development, this review is a design review only (testing to be conducted at a later stage).
The following items were deemed lower risk and not reviewed:
* Communication between XYZ and hardware
* etc etc


===Components===
===Components===
* Bluetooth Manager: Allows getting a list of adapters, and listening for when adapters change (BluetoothAdapterEvents which detail adapter's name and mac address)
See [[Security/Reviews/B2G/WebNFC#Components| Web NFC review]] for example
* Bluetooth Adapter: contains all details of an adatper (inc mac address and current discovery state)
** Contains a bluetoothPairingListener which is only available to certified apps. This is used to handle pairing requests


===Relevant Source Code===
===Relevant Source Code===
The code for the new API is stored in the /dom/bluetooth2 directory of gecko source code:
http://dxr.mozilla.org/mozilla-central/source/dom/bluetooth2


===Permission Model===
===Permission Model===
canmove, Confirmed users
1,220

edits