[tor-bugs] #12622 [Tor bundles/installation]: Automate update package distribution for TBB updater

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Jul 14 21:57:49 UTC 2014


#12622: Automate update package distribution for TBB updater
------------------------------------------+-------------------
     Reporter:  gk                        |      Owner:  erinn
         Type:  defect                    |     Status:  new
     Priority:  normal                    |  Milestone:
    Component:  Tor bundles/installation  |    Version:
   Resolution:                            |   Keywords:
Actual Points:                            |  Parent ID:  #4234
       Points:                            |
------------------------------------------+-------------------

Comment (by mcs):

 I attached a sample XML response that shows the kind of information the
 server will need to return.  The format must match what the Firefox
 updater code expects to see.   Some background information:

 While Kathy Brade and I could write the update responder script, there are
 probably other Tor Project people who could do the job better and more
 quickly.  Python might be a good choice for implementation.

 A sketch of the required functionality follows.

 The Tor Browser will periodically perform an HTTP GET request to check for
 updates (e.g., twice per day).  At a high level, what is needed is a
 script that responds to an HTTPS GET request and returns an XML update
 manifest.  No user-facing interface is required (that is, no HTML).  We
 can decide what the GET URL looks like; maybe something like:

 https://torproject.org/tbupdate/4.0a1/Darwin_x86_64-gcc3-u-i386-x86_64/en-
 US/release/Darwin%2012.5.0/

 The browser will create the request URL by using string substitution to
 fill in various things such as browser version, platform, locale, and
 update channel (e.g., release vs. beta).  The responder script will need
 to have access to information about the current recommended versions
 (e.g., the data that is in
 https://check.torproject.org/RecommendedTBBVersions) as well as file names
 and file hashes for the available updates.  The responder script will then
 need to construct an XML response and return it.

 One option would be to adapt the system Mozilla uses to meet our needs.
 But it seems like overkill, and it will probably not be easy to port to
 torproject.org's infrastructure (Mozilla is almost certainly the only
 organization that uses it).  There is more info available here:
     https://wiki.mozilla.org/Balrog
     https://github.com/mozilla/balrog

 Until recently, Kathy and I thought we could solve this entire problem
 using static XML files that we would create during the TBB build and
 release process.  That could probably be done, but since we want to
 support incremental updates we would need a lot of XML files, and we would
 also need to update each XML file when we publish a new release of TBB.
 Therefore, a script that consults a config file, a small database, or one
 that caches info about available updates (gleaned from the file system)
 seems like the best solution.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/12622#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list