| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513 |
- // Generated by IcedCoffeeScript 1.7.1-c
- (function() {
- var E, KeyManager, KeyPull, PullTypes, TmpKeyRing, User, athrow, chain_err, colors, env, format_fingerprint, iced, log, make_esc, master_ring, prompt_yn, req, session, __iced_k, __iced_k_noop, _ref, _ref1, _ref2;
- iced = require('iced-runtime').iced;
- __iced_k = __iced_k_noop = function() {};
- session = require('./session').session;
- _ref = require('iced-error'), chain_err = _ref.chain_err, make_esc = _ref.make_esc;
- env = require('./env').env;
- log = require('./log');
- User = require('./user').User;
- req = require('./req');
- KeyManager = require('./keymanager').KeyManager;
- E = require('./err').E;
- _ref1 = require('./keyring'), TmpKeyRing = _ref1.TmpKeyRing, master_ring = _ref1.master_ring;
- prompt_yn = require('./prompter').prompt_yn;
- colors = require('./colors');
- _ref2 = require('pgp-utils').util, format_fingerprint = _ref2.format_fingerprint, athrow = _ref2.athrow;
- PullTypes = {
- ERROR: -1,
- NONE: 0,
- SECRET: 1,
- PUBLIC: 2
- };
- exports.KeyPull = KeyPull = (function() {
- function KeyPull(_arg) {
- this.force = _arg.force, this.stdin_blocked = _arg.stdin_blocked, this.need_secret = _arg.need_secret;
- }
- KeyPull.prototype.secret_pull = function(cb) {
- var args, err, esc, km, p3skb, passphrase, prompter, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- log.debug("+ KeyPull::secret_pull");
- esc = make_esc(cb, "KeyPull::secret_pull");
- (function(_this) {
- return (function(__iced_k) {
- if ((p3skb = _this.me.private_key_bundle()) == null) {
- return __iced_k(err = new E.NoLocalKeyError("couldn't find a private key bundle for you"));
- } else {
- err = null;
- passphrase = null;
- args = {
- extra: " (to pull your private key from the server)",
- stderr: true
- };
- prompter = function(cb) {
- var err, passphrase, ___iced_passed_deferral1, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral1 = iced.findDeferral(arguments);
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral1,
- filename: "/home/jacko/node-client/src/keypull.iced"
- });
- session.get_passphrase(args, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- err = arguments[0];
- return passphrase = arguments[1];
- };
- })(),
- lineno: 44
- }));
- __iced_deferrals._fulfill();
- })(function() {
- return cb(err, passphrase);
- });
- };
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.secret_pull"
- });
- KeyManager.import_from_p3skb({
- raw: p3skb,
- prompter: prompter
- }, esc(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return km = arguments[0];
- };
- })(),
- lineno: 46
- })));
- __iced_deferrals._fulfill();
- })(function() {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.secret_pull"
- });
- km.save_to_ring({
- passphrase: passphrase
- }, esc(__iced_deferrals.defer({
- lineno: 47
- })));
- __iced_deferrals._fulfill();
- })(function() {
- return __iced_k(log.info("Pulled secret key (" + (format_fingerprint(_this.me.fingerprint(true))) + ")"));
- });
- });
- }
- });
- })(this)((function(_this) {
- return function() {
- log.debug("- KeyPull::secret_pull");
- return cb(err);
- };
- })(this));
- };
- KeyPull.prototype.load_user = function(cb) {
- var err, esc, pub, pull_needed, sec, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- log.debug("+ KeyPull::load_user");
- esc = make_esc(cb, "KeyPull::load_user");
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.load_user"
- });
- User.load({
- username: env().get_username(),
- require_public_key: false,
- cache: true,
- self: true,
- secret: true
- }, esc(__iced_deferrals.defer({
- assign_fn: (function(__slot_1) {
- return function() {
- return __slot_1.me = arguments[0];
- };
- })(_this),
- lineno: 59
- })));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.load_user"
- });
- _this.me.check_key({
- secret: true
- }, esc(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return sec = arguments[0];
- };
- })(),
- lineno: 60
- })));
- __iced_deferrals._fulfill();
- })(function() {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.load_user"
- });
- _this.me.check_key({
- secret: false
- }, esc(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return pub = arguments[0];
- };
- })(),
- lineno: 61
- })));
- __iced_deferrals._fulfill();
- })(function() {
- log.debug("Check key secret: " + (JSON.stringify(sec)));
- log.debug("Check key public: " + (JSON.stringify(pub)));
- err = null;
- pull_needed = !pub.remote ? (err = new E.NoRemoteKeyError("you don't have a public key; try `keybase push` if you have a key; or `keybase gen` if you don't"), PullTypes.ERROR) : sec.remote && !sec.local && _this.need_secret ? PullTypes.SECRET : _this.need_secret && !sec.local ? (err = new E.NoRemoteKeyError("can't perform secret-key action without a secret key"), PullTypes.ERROR) : pub.local && (!sec.remote || sec.local) && !_this.force ? PullTypes.NONE : sec.remote && (!sec.local || _this.force) ? PullTypes.SECRET : PullTypes.PUBLIC;
- log.debug("- KeyPull::load_user -> " + err + " " + pull_needed);
- return cb(err, pull_needed);
- });
- });
- };
- })(this));
- };
- KeyPull.prototype.prompt_ok = function(warnings, proofs, cb) {
- var err, prompt, ret, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- prompt = warnings > 0 ? (log.console.error(colors.red(colors.bold("Some of your hosted proofs failed!"))), "Do you still accept these credentials to be your own?") : proofs === 0 ? "We found your account, but you have no hosted proofs. Check your fingerprint carefully. Is this you?" : "Is this you?";
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.prompt_ok"
- });
- prompt_yn({
- prompt: prompt,
- defval: false
- }, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- err = arguments[0];
- return ret = arguments[1];
- };
- })(),
- lineno: 91
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- if (!ret && !(typeof err !== "undefined" && err !== null)) {
- err = new E.CancelError("key import operation canceled");
- }
- return cb(err);
- };
- })(this));
- };
- KeyPull.prototype.public_pull = function(cb) {
- var esc, key, n_proofs, tmp_keyring, warnings, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- tmp_keyring = null;
- log.debug("+ KeyPull::public_pull");
- cb = chain_err(cb, function(tcb) {
- var e2, ___iced_passed_deferral1, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral1 = iced.findDeferral(arguments);
- (function(_this) {
- return (function(__iced_k) {
- if (tmp_keyring != null) {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral1,
- filename: "/home/jacko/node-client/src/keypull.iced"
- });
- tmp_keyring.nuke(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return e2 = arguments[0];
- };
- })(),
- lineno: 105
- }));
- __iced_deferrals._fulfill();
- })(function() {
- return __iced_k(typeof e2 !== "undefined" && e2 !== null ? log.warn("Problem in cleanup: " + e2.message) : void 0);
- });
- } else {
- return __iced_k();
- }
- });
- })(this)((function(_this) {
- return function() {
- return tcb(null);
- };
- })(this));
- });
- esc = make_esc(cb, "KeyPull::public_pull");
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.public_pull"
- });
- TmpKeyRing.make(esc(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return tmp_keyring = arguments[0];
- };
- })(),
- lineno: 110
- })));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.public_pull"
- });
- _this.me.import_public_keys({
- keyring: tmp_keyring
- }, esc(__iced_deferrals.defer({
- lineno: 111
- })));
- __iced_deferrals._fulfill();
- })(function() {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.public_pull"
- });
- _this.me.check_remote_proofs({}, esc(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- warnings = arguments[0];
- return n_proofs = arguments[1];
- };
- })(),
- lineno: 112
- })));
- __iced_deferrals._fulfill();
- })(function() {
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.public_pull"
- });
- _this.prompt_ok(warnings.warnings().length, n_proofs, esc(__iced_deferrals.defer({
- lineno: 113
- })));
- __iced_deferrals._fulfill();
- })(function() {
- (function(__iced_k) {
- var _i, _len, _ref3, _results, _while;
- _ref3 = _this.me.gpg_keys;
- _len = _ref3.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 = _ref3[_i];
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.public_pull"
- });
- key.commit({}, esc(__iced_deferrals.defer({
- lineno: 115
- })));
- __iced_deferrals._fulfill();
- })(function() {
- return _next(log.info("Pulled public key (" + (format_fingerprint(key.fingerprint().toString('hex').toUpperCase())) + ")"));
- });
- }
- };
- _while(__iced_k);
- })(function() {
- log.debug("- KeyPull::public_pull");
- return cb(null);
- });
- });
- });
- });
- };
- })(this));
- };
- KeyPull.prototype.run = function(cb) {
- var err, esc, pull_type, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- esc = make_esc(cb, "Command::run");
- log.debug("+ KeyPull::run");
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.run"
- });
- _this.load_user(esc(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return pull_type = arguments[0];
- };
- })(),
- lineno: 125
- })));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- (function(__iced_k) {
- if ((pull_type !== PullTypes.NONE) && _this.stdin_blocked) {
- err = new E.NoLocalKeyError("Can't fetch your private key since you're performing a stream action; try an explicit `keybase pull`");
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.run"
- });
- athrow(err, esc(__iced_deferrals.defer({
- lineno: 128
- })));
- __iced_deferrals._fulfill();
- })(__iced_k);
- } else {
- return __iced_k();
- }
- })(function() {
- (function(__iced_k) {
- switch (pull_type) {
- case PullTypes.SECRET:
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.run"
- });
- _this.secret_pull(esc(__iced_deferrals.defer({
- lineno: 131
- })));
- __iced_deferrals._fulfill();
- })(__iced_k);
- break;
- case PullTypes.PUBLIC:
- (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "KeyPull.run"
- });
- _this.public_pull(esc(__iced_deferrals.defer({
- lineno: 133
- })));
- __iced_deferrals._fulfill();
- })(__iced_k);
- break;
- default:
- return __iced_k();
- }
- })(function() {
- log.debug("- KeyPull::run");
- return cb(null);
- });
- });
- };
- })(this));
- };
- return KeyPull;
- })();
- exports.keypull = function(opts, cb) {
- var err, kp, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- kp = new KeyPull(opts);
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/home/jacko/node-client/src/keypull.iced",
- funcname: "keypull"
- });
- kp.run(__iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- return err = arguments[0];
- };
- })(),
- lineno: 141
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- return cb(err);
- };
- })(this));
- };
- }).call(this);
|