Mercurial > sat_docs
view scripts/minifier/otr/sm-webworker.js @ 80:686a8c982c3f
docker: updated Dockerfiles:
- use HTTPS URLs instead of HTTP
- prosody image know use prosody Debian repository instead of Debian Jessie version, prosody 0.10 is used
- prosody configuration is now in prosody directory next to Dockerfile, instead of using difficult to maintain sed calls
- community modules are downloaded from mercurial, and only needed ones are kept
- no more remote-roster hack \o/
- pubsub component is not at pubsub.[domain] (was sat-pubsub before)
- SàT media are gotten from hg instead of ftp, so they are up-to-date with SàT version
- libervia image now use pip for txJSON-RPC
- fixed now needed jinja2 installation
- fixed libervia/admin accounts auto-creation script
- fixed uid/gid for prosody in data image
- removed not needed anymore nox option in base image
- added python-pip in base image
- docker images now work with current dev version (0.6.0D)
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 12 Feb 2016 20:24:24 +0100 |
parents | 1596660ddf72 |
children |
line wrap: on
line source
;(function (root) { "use strict"; root.OTR = {} root.crypto = { randomBytes: function () { throw new Error("Haven't seeded yet.") } } // default imports var imports = [ 'vendor/salsa20.js' , 'vendor/bigint.js' , 'vendor/crypto.js' , 'vendor/eventemitter.js' , 'lib/const.js' , 'lib/helpers.js' , 'lib/sm.js' ] function wrapPostMessage(method) { return function () { postMessage({ method: method , args: Array.prototype.slice.call(arguments, 0) }) } } var sm onmessage = function (e) { var data = e.data switch (data.type) { case 'seed': if (data.imports) imports = data.imports importScripts.apply(root, imports) // use salsa20 since there's no prng in webworkers var state = new root.Salsa20( data.seed.slice(0, 32), data.seed.slice(32) ) root.crypto.randomBytes = function (n) { return state.getBytes(n) } break case 'init': sm = new root.OTR.SM(data.reqs) ;['trust','question', 'send', 'abort'].forEach(function (m) { sm.on(m, wrapPostMessage(m)); }) break case 'method': sm[data.method].apply(sm, data.args) break } } }(this))