Services/AndroidSyncClient: Difference between revisions
< Services
Jump to navigation
Jump to search
m (→Resources) |
|||
| Line 52: | Line 52: | ||
* Project page for [https://wiki.mozilla.org/Fennec/NativeUI Fennec Native UI] | * Project page for [https://wiki.mozilla.org/Fennec/NativeUI Fennec Native UI] | ||
* Native Clojure client for [http://docs.services.mozilla.com/storage/ Weave 1.0 Sync API]: [https://github.com/rnewman/clj-weave clj-weave] | * Native Clojure client for [http://docs.services.mozilla.com/storage/ Weave 1.0 Sync API]: [https://github.com/rnewman/clj-weave clj-weave] | ||
; Crypto Notes | |||
* HKDF: | |||
** [http://tools.ietf.org/html/rfc5869 HKDF Standard (RFC 5869)] | |||
** [https://mxr.mozilla.org/services-central/source/services-central/services/sync/modules/util.js#444 RFC Compliant Code] | |||
** [https://mxr.mozilla.org/services-central/source/fx-sync/services/sync/tests/unit/test_utils_hkdfExpand.js#75 Tests] | |||
Revision as of 00:42, 26 October 2011
Overview
This page is the home of the Android Sync Client project. This project is part of the re-writing of the Fennec UI using native Java rather than XUL (Fennec Native UI).
Engineers
- Jason Voll
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
- Registration API
- Storage API (using version 1.1)
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)
Milestones
- October 2011: Crypto Libraries
- November 2011
- Week 1 - Repository framework?
- Week 2 -
- Week 3 -
- week 4 -
- December 2011
- Week 1 -
- Week 2 -
- December 16, 2011 - Last day of Jason's internship
Repository
Initial development will be stored on github in the following repository: https://github.com/mozilla-services/android-sync
Related Bugs
Feature bug: 695463
Resources
- Existing docs: http://docs.services.mozilla.com/index.html
- Can be edited at: http://hg.mozilla.org/services/docs
- Existing code: https://github.com/mozilla-services/services-central.git
- Branch "repositories" contains a sync client with the design that will be mimicked
- Project page for Fennec Native UI
- Native Clojure client for Weave 1.0 Sync API: clj-weave
- Crypto Notes