Mercurial > sat_docs
view scripts/minifier/otr/dsa-webworker.js @ 171:a213053a03be
flatpak: update files following names change + Python 3 update:
- `build_manifest.py` has been fixed to work with recent SàT/Libervia
- filenames/scripts have been udpated to reflect project name change
- installation now uses `requirements.txt` when dev version is requested
- there are now 3 types of commands wrapper:
* `libervia_wrapper.py` uses `pb` bridge, starts backend before frontend, and stops it
when frontend is stopped. It's used by `Libervia Desktop` (Cagou)
* `libervia_wrapper-dbus.py` uses `dbus` bridge, starts backend before frontend, and
stops it when frontend is stopped. It's used for `Libervia TUI` (Primitivus)
* `libervia_wrapper-dbus.py` uses `dbus` bridge, starts backend if necessary and
doesn't stop it (to avoid waiting for backend start next time). It's used by
`Libervia CLI` (jp).
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 30 Nov 2021 21:42:06 +0100 |
parents | 1596660ddf72 |
children |
line wrap: on
line source
;(function (root) { "use strict"; root.OTR = {} root.DSA = {} 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/dsa.js' ] function sendMsg(type, val) { postMessage({ type: type, val: val }) } onmessage = function (e) { var data = e.data; 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) } if (data.debug) sendMsg('debug', 'DSA key creation started') var dsa try { dsa = new root.DSA() } catch (e) { if (data.debug) sendMsg('debug', e.toString()) return } if (data.debug) sendMsg('debug', 'DSA key creation finished') sendMsg('data', dsa.packPrivate()) } }(this))