| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 |
- // Generated by IcedCoffeeScript 1.7.1-c
- (function() {
- var E, GE, GpgKey, env, iced, k, keyring, log, v, __iced_k, __iced_k_noop, _ref,
- __hasProp = {}.hasOwnProperty,
- __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
- __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
- iced = require('iced-runtime').iced;
- __iced_k = __iced_k_noop = function() {};
- log = require('./log');
- env = require('./env').env;
- _ref = require('./err'), E = _ref.E, GE = _ref.GE;
- keyring = require('gpg-wrapper').keyring;
- GpgKey = (function(_super) {
- __extends(GpgKey, _super);
- function GpgKey() {
- return GpgKey.__super__.constructor.apply(this, arguments);
- }
- GpgKey.prototype.find = function(cb) {
- var err, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keyring.iced",
- funcname: "GpgKey.find"
- });
- GpgKey.__super__.find.call(_this, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return err = arguments[0];
- };
- })(),
- lineno: 13
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- err = err == null ? null : err instanceof GE.NotFoundError ? new E.NoLocalKeyError((_this._is_self ? "You don't have a local " + (_this._secret ? 'secret' : 'public') + " key!" : "the user " + (_this.username()) + " doesn't have a local key")) : err instanceof GE.NoFingerprintError ? new E.NoRemoteKeyError((_this._is_self ? "You don't have a registered remote key! Try `keybase push`" : "the user " + (_this.username()) + " doesn't have a remote key")) : err;
- return cb(err);
- };
- })(this));
- };
- GpgKey.prototype.has_canonical_username = function() {
- var all_uids, e, em, uid;
- em = env().keybase_email();
- all_uids = this.all_uids();
- return (__indexOf.call((function() {
- var _i, _len, _results;
- _results = [];
- for (_i = 0, _len = all_uids.length; _i < _len; _i++) {
- uid = all_uids[_i];
- if ((e = uid != null ? uid.email : void 0)) {
- _results.push(e);
- }
- }
- return _results;
- })(), em) >= 0);
- };
- GpgKey.prototype.get_ekid = function() {
- return this._ekid;
- };
- GpgKey.make_secret_from_user = function(_arg, cb) {
- var err, key_manager, keyring, secret_key_candidate, user, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- user = _arg.user, keyring = _arg.keyring;
- (function(_this) {
- return (function(__iced_k) {
- var _i, _len, _ref1, _results, _while;
- _ref1 = user.sibkeys;
- _len = _ref1.length;
- _i = 0;
- _results = [];
- _while = function(__iced_k) {
- var _break, _continue, _next;
- _break = function() {
- return __iced_k(_results);
- };
- _continue = function() {
- return iced.trampoline(function() {
- ++_i;
- return _while(__iced_k);
- });
- };
- _next = function(__iced_next_arg) {
- _results.push(__iced_next_arg);
- return _continue();
- };
- if (!(_i < _len)) {
- return _break();
- } else {
- key_manager = _ref1[_i];
- (function(__iced_k) {
- if (key_manager.get_type() !== 'pgp') {
- (function(__iced_k) {
- _continue()
- })(__iced_k);
- } else {
- return __iced_k();
- }
- })(function() {
- secret_key_candidate = _this._make_from_user_and_material({
- user: user,
- secret: true,
- keyring: keyring,
- bundle: key_manager.armored_pgp_public,
- fingerprint: key_manager.get_pgp_fingerprint().toString('hex'),
- ekid: key_manager.get_ekid()
- });
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keyring.iced",
- funcname: "GpgKey.make_secret_from_user"
- });
- secret_key_candidate.find(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return err = arguments[0];
- };
- })(),
- lineno: 61
- }));
- __iced_deferrals._fulfill();
- })(function() {
- if (typeof err === "undefined" || err === null) {
- cb(null, secret_key_candidate);
- return;
- }
- return _next();
- });
- });
- }
- };
- _while(__iced_k);
- });
- })(this)((function(_this) {
- return function() {
- return cb(new E.NoLocalKeyError("No GPG secret key available for user " + (user.username())));
- };
- })(this));
- };
- GpgKey.make_all_public_from_user = function(_arg) {
- var key_manager, keyring, keys, user, _i, _len, _ref1;
- user = _arg.user, keyring = _arg.keyring;
- keys = [];
- _ref1 = user.sibkeys;
- for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
- key_manager = _ref1[_i];
- if (key_manager.get_type() !== 'pgp') {
- continue;
- }
- keys.push(this._make_from_user_and_material({
- user: user,
- secret: false,
- keyring: keyring,
- bundle: key_manager.armored_pgp_public,
- fingerprint: key_manager.get_pgp_fingerprint().toString('hex'),
- ekid: key_manager.get_ekid()
- }));
- }
- return keys;
- };
- GpgKey._make_from_user_and_material = function(_arg) {
- var bundle, ekid, fingerprint, keyring, ret, secret, user;
- user = _arg.user, secret = _arg.secret, keyring = _arg.keyring, bundle = _arg.bundle, fingerprint = _arg.fingerprint, ekid = _arg.ekid;
- ret = new GpgKey({
- user: user,
- secret: secret,
- username: user.username(),
- is_self: user.is_self(),
- uid: user.id,
- key_data: bundle,
- keyring: keyring,
- fingerprint: fingerprint
- });
- ret._ekid = ekid;
- return ret;
- };
- return GpgKey;
- })(keyring.GpgKey);
- for (k in keyring) {
- v = keyring[k];
- exports[k] = v;
- }
- exports.BaseKeyRing.prototype.make_all_public_gpg_keys_from_user = function(_arg) {
- var user;
- user = _arg.user;
- return GpgKey.make_all_public_from_user({
- user: user,
- keyring: this
- });
- };
- exports.BaseKeyRing.prototype.make_secret_gpg_key_from_user = function(_arg, cb) {
- var user;
- user = _arg.user;
- return GpgKey.make_secret_from_user({
- user: user,
- keyring: this
- }, cb);
- };
- exports.init = function() {
- return keyring.init({
- get_preserve_tmp_keyring: function() {
- return env().get_preserve_tmp_keyring();
- },
- get_debug: function() {
- return env().get_debug();
- },
- get_tmp_keyring_dir: function() {
- return env().get_tmp_keyring_dir();
- },
- get_key_klass: function() {
- return GpgKey;
- },
- get_home_dir: function() {
- return env().get_home_gnupg_dir(true);
- },
- get_gpg_cmd: function() {
- return env().get_gpg_cmd();
- },
- get_no_options: function() {
- return env().get_no_gpg_options();
- },
- log: log
- });
- };
- }).call(this);
|