Services/FennecSyncClient: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
===Overview===
===Overview===
This page is the home of the Fennec Sync Client project. This project is a result of the re-writing of the Fennec UI using native Java rather than XUL ([https://wiki.mozilla.org/Fennec/NativeUI Fennec Native UI]).
This page is the home of the Fennec Sync Client project. This project is part of the re-writing of the Fennec UI using native Java rather than XUL ([https://wiki.mozilla.org/Fennec/NativeUI Fennec Native UI]).


==Requirements==
==Requirements==

Revision as of 18:56, 21 October 2011

Overview

This page is the home of the Fennec Sync Client project. This project is part of the re-writing of the Fennec UI using native Java rather than XUL (Fennec Native UI).

Requirements

  • Integrate correctly with existing sync clients
  • Use existing Sync API's to communicate with Sync server via HTTP
  • Reliable
  • Behave as existing Fennec sync client does (i.e. no regression)

Specifications

Cryptography
  • AES 256 CBC
  • HMAC SHA 256
  • SHA1 for converting email to a username
APIs for communicating with Mozilla Sync Server

Implementation Details

  • Utilize a repository pattern for writing to local database on device and talking to the sync server
  • Add crypto as a wrapping layer to the repository so it appears as if other code is just communicating with the repository object
  • Run as a lightweight Android service so that sync data is available as soon as Fennec starts
    • Perhaps run service more aggressively when Fennec is actually running, back down when Fennec isn't running to avoid using too large of a memory footprint (Android kills background services when it is in need of more memory)

Repository

Initial development will be stored on github in the following repository: https://github.com/jvoll/fennec-sync

Related Bugs

Feature bug: 695463

Resources