dve.js 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695
  1. // Generated by IcedCoffeeScript 1.7.1-c
  2. (function() {
  3. var BufferInStream, BufferOutStream, DecryptAndVerifyEngine, E, HKPLoopback, TmpPrimaryKeyRing, TrackSubSubCommand, User, athrow, chain, colors, constants, dict_union, env, fingerprint_to_key_id_64, iced, log, make_esc, parse_signature, session, timeago, urlmod, __iced_k, __iced_k_noop, _ref, _ref1,
  4. __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; };
  5. iced = require('iced-runtime').iced;
  6. __iced_k = __iced_k_noop = function() {};
  7. log = require('./log');
  8. E = require('./err').E;
  9. TrackSubSubCommand = require('./tracksubsub').TrackSubSubCommand;
  10. _ref = require('iced-spawn'), BufferOutStream = _ref.BufferOutStream, BufferInStream = _ref.BufferInStream;
  11. _ref1 = require('iced-error'), chain = _ref1.chain, make_esc = _ref1.make_esc;
  12. env = require('./env').env;
  13. TmpPrimaryKeyRing = require('./keyring').TmpPrimaryKeyRing;
  14. athrow = require('pgp-utils').util.athrow;
  15. parse_signature = require('./gpg').parse_signature;
  16. constants = require('./constants').constants;
  17. User = require('./user').User;
  18. dict_union = require('./util').dict_union;
  19. timeago = require('timeago');
  20. urlmod = require('url');
  21. HKPLoopback = require('./hkp_loopback').HKPLoopback;
  22. fingerprint_to_key_id_64 = require('pgp-utils').util.fingerprint_to_key_id_64;
  23. colors = require('./colors');
  24. session = require('./session');
  25. exports.DecryptAndVerifyEngine = DecryptAndVerifyEngine = (function() {
  26. DecryptAndVerifyEngine.OPTS = dict_union(TrackSubSubCommand.OPTS, {
  27. t: {
  28. alias: "track",
  29. action: "storeTrue",
  30. help: "prompt for tracking if necessary"
  31. },
  32. I: {
  33. alias: 'no-id',
  34. action: 'storeTrue',
  35. help: "don't try to ID the user"
  36. }
  37. });
  38. function DecryptAndVerifyEngine(_arg) {
  39. this.argv = _arg.argv;
  40. }
  41. DecryptAndVerifyEngine.prototype.try_track = function() {
  42. return (this.argv.track || this.argv.track_remote || this.argv.track_local) && !this.is_self;
  43. };
  44. DecryptAndVerifyEngine.prototype.try_id = function() {
  45. return !this.is_self && !this.argv.no_id;
  46. };
  47. DecryptAndVerifyEngine.prototype.find_signature = function(cb) {
  48. var err, _ref2;
  49. log.debug("+ find_signature");
  50. _ref2 = parse_signature(this.decrypt_stderr.data()), err = _ref2[0], this.signing_key = _ref2[1], this.sig_date = _ref2[2];
  51. this.found_sig = err == null;
  52. if ((err instanceof E.NotFoundError) && !this.argv.signed && (this.argv.signed_by == null)) {
  53. log.debug("| No signature found; but we didn't require one");
  54. err = null;
  55. }
  56. log.debug("- find_signature");
  57. return cb(err);
  58. };
  59. DecryptAndVerifyEngine.prototype.handle_id = function(cb) {
  60. var err, warnings, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  61. __iced_k = __iced_k_noop;
  62. ___iced_passed_deferral = iced.findDeferral(arguments);
  63. log.debug("+ handle_id");
  64. (function(_this) {
  65. return (function(__iced_k) {
  66. __iced_deferrals = new iced.Deferrals(__iced_k, {
  67. parent: ___iced_passed_deferral,
  68. filename: "/home/jacko/node-client/src/dve.iced",
  69. funcname: "DecryptAndVerifyEngine.handle_id"
  70. });
  71. _this.tssc.check_remote_proofs(false, __iced_deferrals.defer({
  72. assign_fn: (function() {
  73. return function() {
  74. err = arguments[0];
  75. return warnings = arguments[1];
  76. };
  77. })(),
  78. lineno: 68
  79. }));
  80. __iced_deferrals._fulfill();
  81. });
  82. })(this)((function(_this) {
  83. return function() {
  84. log.debug("- handle_id");
  85. return cb(err);
  86. };
  87. })(this));
  88. };
  89. DecryptAndVerifyEngine.prototype.handle_track = function(cb) {
  90. var accept, esc, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  91. __iced_k = __iced_k_noop;
  92. ___iced_passed_deferral = iced.findDeferral(arguments);
  93. esc = make_esc(cb, "handle_track");
  94. log.debug("+ handle track");
  95. (function(_this) {
  96. return (function(__iced_k) {
  97. __iced_deferrals = new iced.Deferrals(__iced_k, {
  98. parent: ___iced_passed_deferral,
  99. filename: "/home/jacko/node-client/src/dve.iced",
  100. funcname: "DecryptAndVerifyEngine.handle_track"
  101. });
  102. _this.tssc.all_prompts(esc(__iced_deferrals.defer({
  103. assign_fn: (function() {
  104. return function() {
  105. return accept = arguments[0];
  106. };
  107. })(),
  108. lineno: 77
  109. })));
  110. __iced_deferrals._fulfill();
  111. });
  112. })(this)((function(_this) {
  113. return function() {
  114. (function(__iced_k) {
  115. if (accept) {
  116. (function(__iced_k) {
  117. __iced_deferrals = new iced.Deferrals(__iced_k, {
  118. parent: ___iced_passed_deferral,
  119. filename: "/home/jacko/node-client/src/dve.iced",
  120. funcname: "DecryptAndVerifyEngine.handle_track"
  121. });
  122. _this.tssc.save_their_keys(esc(__iced_deferrals.defer({
  123. lineno: 78
  124. })));
  125. __iced_deferrals._fulfill();
  126. })(__iced_k);
  127. } else {
  128. return __iced_k();
  129. }
  130. })(function() {
  131. log.debug("- handle track");
  132. return cb(null);
  133. });
  134. };
  135. })(this));
  136. };
  137. DecryptAndVerifyEngine.prototype.handle_signature = function(cb) {
  138. var a, arg, b, basics, d, date_signed, err, esc, local, remote, time_ago, tracks, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  139. __iced_k = __iced_k_noop;
  140. ___iced_passed_deferral = iced.findDeferral(arguments);
  141. esc = make_esc(cb, "handle_signature");
  142. log.debug("+ handle_signature");
  143. (function(_this) {
  144. return (function(__iced_k) {
  145. __iced_deferrals = new iced.Deferrals(__iced_k, {
  146. parent: ___iced_passed_deferral,
  147. filename: "/home/jacko/node-client/src/dve.iced",
  148. funcname: "DecryptAndVerifyEngine.handle_signature"
  149. });
  150. _this.check_imports(esc(__iced_deferrals.defer({
  151. lineno: 87
  152. })));
  153. __iced_deferrals._fulfill();
  154. });
  155. })(this)((function(_this) {
  156. return function() {
  157. arg = {
  158. type: constants.lookups.key_fingerprint_to_user,
  159. name: _this.signing_key.primary
  160. };
  161. (function(__iced_k) {
  162. __iced_deferrals = new iced.Deferrals(__iced_k, {
  163. parent: ___iced_passed_deferral,
  164. filename: "/home/jacko/node-client/src/dve.iced",
  165. funcname: "DecryptAndVerifyEngine.handle_signature"
  166. });
  167. User.map_key_to_user(arg, esc(__iced_deferrals.defer({
  168. assign_fn: (function() {
  169. return function() {
  170. return basics = arguments[0];
  171. };
  172. })(),
  173. lineno: 91
  174. })));
  175. __iced_deferrals._fulfill();
  176. })(function() {
  177. _this.username = basics.username;
  178. (function(__iced_k) {
  179. if (((a = _this.argv.signed_by) != null) && (a !== (b = _this.username))) {
  180. err = new E.WrongSignerError("Wrong signer: wanted '" + a + "' but got '" + b + "'");
  181. (function(__iced_k) {
  182. __iced_deferrals = new iced.Deferrals(__iced_k, {
  183. parent: ___iced_passed_deferral,
  184. filename: "/home/jacko/node-client/src/dve.iced",
  185. funcname: "DecryptAndVerifyEngine.handle_signature"
  186. });
  187. athrow(err, esc(__iced_deferrals.defer({
  188. lineno: 96
  189. })));
  190. __iced_deferrals._fulfill();
  191. })(__iced_k);
  192. } else {
  193. return __iced_k();
  194. }
  195. })(function() {
  196. (function(__iced_k) {
  197. if (env().is_me(_this.username)) {
  198. _this.is_self = true;
  199. return __iced_k(log.info("Valid signature from " + (colors.bold('you'))));
  200. } else {
  201. _this.is_self = false;
  202. _this.tssc = new TrackSubSubCommand({
  203. args: {
  204. them: _this.username
  205. },
  206. opts: _this.argv,
  207. tmp_keyring: _this.tmp_keyring,
  208. batch: _this.batch,
  209. ran_keypull: _this._ran_keypull
  210. });
  211. (function(__iced_k) {
  212. if (session.logged_in()) {
  213. (function(__iced_k) {
  214. __iced_deferrals = new iced.Deferrals(__iced_k, {
  215. parent: ___iced_passed_deferral,
  216. filename: "/home/jacko/node-client/src/dve.iced",
  217. funcname: "DecryptAndVerifyEngine.handle_signature"
  218. });
  219. _this.tssc.on_decrypt(esc(__iced_deferrals.defer({
  220. lineno: 112
  221. })));
  222. __iced_deferrals._fulfill();
  223. })(function() {
  224. var _ref2;
  225. _ref2 = _this.tssc.trackw.is_tracking(), remote = _ref2.remote, local = _ref2.local;
  226. return __iced_k(tracks = remote ? "tracking remotely & locally" : local ? "tracking locally only" : "not tracking");
  227. });
  228. } else {
  229. (function(__iced_k) {
  230. __iced_deferrals = new iced.Deferrals(__iced_k, {
  231. parent: ___iced_passed_deferral,
  232. filename: "/home/jacko/node-client/src/dve.iced",
  233. funcname: "DecryptAndVerifyEngine.handle_signature"
  234. });
  235. _this.tssc.on_loggedout_verify(esc(__iced_deferrals.defer({
  236. lineno: 119
  237. })));
  238. __iced_deferrals._fulfill();
  239. })(function() {
  240. return __iced_k(tracks = "not tracking");
  241. });
  242. }
  243. })(function() {
  244. return __iced_k(log.info("Valid signature from keybase user " + (colors.bold(basics.username)) + " (" + tracks + ")"));
  245. });
  246. }
  247. })(function() {
  248. d = _this.sig_date;
  249. time_ago = timeago(d);
  250. date_signed = d.toLocaleString();
  251. log.info("Signed " + time_ago + " (" + date_signed + ")");
  252. log.debug("- handle_signature");
  253. return cb(null);
  254. });
  255. });
  256. });
  257. };
  258. })(this));
  259. };
  260. DecryptAndVerifyEngine.prototype.check_imports = function(cb) {
  261. var b, err, esc, ids, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  262. __iced_k = __iced_k_noop;
  263. ___iced_passed_deferral = iced.findDeferral(arguments);
  264. esc = make_esc(cb, "Command::check_imports");
  265. (function(_this) {
  266. return (function(__iced_k) {
  267. __iced_deferrals = new iced.Deferrals(__iced_k, {
  268. parent: ___iced_passed_deferral,
  269. filename: "/home/jacko/node-client/src/dve.iced",
  270. funcname: "DecryptAndVerifyEngine.check_imports"
  271. });
  272. _this.tmp_keyring.list_keys(esc(__iced_deferrals.defer({
  273. assign_fn: (function() {
  274. return function() {
  275. return ids = arguments[0];
  276. };
  277. })(),
  278. lineno: 136
  279. })));
  280. __iced_deferrals._fulfill();
  281. });
  282. })(this)((function(_this) {
  283. return function() {
  284. err = null;
  285. if (ids.length === 0) {
  286. log.debug("| No new keys imported");
  287. } else if (ids.length > 1 && !env().get_no_gpg_options()) {
  288. err = new E.CorruptionError("Too many imported keys: " + ids.length);
  289. } else {
  290. b = fingerprint_to_key_id_64(_this.signing_key.primary);
  291. if (!(__indexOf.call(ids, b) >= 0)) {
  292. err = new E.VerifyError("Bad imported key; wanted " + b + " but couldn't find it");
  293. } else {
  294. log.debug("| Found new key in the keyring: " + b);
  295. }
  296. }
  297. return cb(err);
  298. };
  299. })(this));
  300. };
  301. DecryptAndVerifyEngine.prototype.do_output = function(o, cb) {
  302. return cb();
  303. };
  304. DecryptAndVerifyEngine.prototype.do_keypull = function(cb) {
  305. this._ran_keypull = false;
  306. return cb(null);
  307. };
  308. DecryptAndVerifyEngine.prototype.make_gpg_args = function() {
  309. var args, gargs, o;
  310. args = ["--status-fd", '2', "--with-colons", "--keyid-format", "long", "--keyserver", this.hkpl.url(), "--keyserver-options", "auto-key-retrieve=1", "--with-fingerprint"];
  311. if (env().get_debug()) {
  312. args.push("--keyserver-options", "debug=1");
  313. }
  314. if ((o = this.argv.output) != null) {
  315. args.push("--output", o);
  316. }
  317. this.patch_gpg_args(args);
  318. gargs = {
  319. args: args
  320. };
  321. gargs.stderr = new BufferOutStream();
  322. if (this.argv.message) {
  323. gargs.stdin = new BufferInStream(this.argv.message);
  324. } else if (!this.get_files(args)) {
  325. gargs.stdin = process.stdin;
  326. this.batch = true;
  327. }
  328. return gargs;
  329. };
  330. DecryptAndVerifyEngine.prototype.make_hkp_loopback = function(cb) {
  331. var err, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  332. __iced_k = __iced_k_noop;
  333. ___iced_passed_deferral = iced.findDeferral(arguments);
  334. this.hkpl = new HKPLoopback();
  335. (function(_this) {
  336. return (function(__iced_k) {
  337. __iced_deferrals = new iced.Deferrals(__iced_k, {
  338. parent: ___iced_passed_deferral,
  339. filename: "/home/jacko/node-client/src/dve.iced",
  340. funcname: "DecryptAndVerifyEngine.make_hkp_loopback"
  341. });
  342. _this.hkpl.listen(__iced_deferrals.defer({
  343. assign_fn: (function() {
  344. return function() {
  345. return err = arguments[0];
  346. };
  347. })(),
  348. lineno: 193
  349. }));
  350. __iced_deferrals._fulfill();
  351. });
  352. })(this)((function(_this) {
  353. return function() {
  354. if (typeof err !== "undefined" && err !== null) {
  355. _this.hkpl = null;
  356. }
  357. return cb(null);
  358. };
  359. })(this));
  360. };
  361. DecryptAndVerifyEngine.prototype.do_command = function(cb) {
  362. var err, esc, gargs, out, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  363. __iced_k = __iced_k_noop;
  364. ___iced_passed_deferral = iced.findDeferral(arguments);
  365. esc = make_esc(cb, "Command::do_command");
  366. gargs = this.make_gpg_args();
  367. this.decrypt_stderr = gargs.stderr;
  368. (function(_this) {
  369. return (function(__iced_k) {
  370. __iced_deferrals = new iced.Deferrals(__iced_k, {
  371. parent: ___iced_passed_deferral,
  372. filename: "/home/jacko/node-client/src/dve.iced",
  373. funcname: "DecryptAndVerifyEngine.do_command"
  374. });
  375. _this.tmp_keyring.gpg(gargs, __iced_deferrals.defer({
  376. assign_fn: (function() {
  377. return function() {
  378. err = arguments[0];
  379. return out = arguments[1];
  380. };
  381. })(),
  382. lineno: 203
  383. }));
  384. __iced_deferrals._fulfill();
  385. });
  386. })(this)((function(_this) {
  387. return function() {
  388. (function(__iced_k) {
  389. __iced_deferrals = new iced.Deferrals(__iced_k, {
  390. parent: ___iced_passed_deferral,
  391. filename: "/home/jacko/node-client/src/dve.iced",
  392. funcname: "DecryptAndVerifyEngine.do_command"
  393. });
  394. _this.do_output(out, __iced_deferrals.defer({
  395. lineno: 204
  396. }));
  397. __iced_deferrals._fulfill();
  398. })(function() {
  399. if (typeof err !== "undefined" && err !== null) {
  400. log.warn(_this.decrypt_stderr.data().toString('utf8'));
  401. } else if (env().get_debug()) {
  402. log.debug(_this.decrypt_stderr.data().toString('utf8'));
  403. }
  404. return cb(err);
  405. });
  406. };
  407. })(this));
  408. };
  409. DecryptAndVerifyEngine.prototype.setup_tmp_keyring = function(cb) {
  410. var err, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  411. __iced_k = __iced_k_noop;
  412. ___iced_passed_deferral = iced.findDeferral(arguments);
  413. (function(_this) {
  414. return (function(__iced_k) {
  415. __iced_deferrals = new iced.Deferrals(__iced_k, {
  416. parent: ___iced_passed_deferral,
  417. filename: "/home/jacko/node-client/src/dve.iced",
  418. funcname: "DecryptAndVerifyEngine.setup_tmp_keyring"
  419. });
  420. TmpPrimaryKeyRing.make(__iced_deferrals.defer({
  421. assign_fn: (function(__slot_1) {
  422. return function() {
  423. err = arguments[0];
  424. return __slot_1.tmp_keyring = arguments[1];
  425. };
  426. })(_this),
  427. lineno: 215
  428. }));
  429. __iced_deferrals._fulfill();
  430. });
  431. })(this)((function(_this) {
  432. return function() {
  433. return cb(err);
  434. };
  435. })(this));
  436. };
  437. DecryptAndVerifyEngine.prototype.run_cleanup = function(cb) {
  438. var e2, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  439. __iced_k = __iced_k_noop;
  440. ___iced_passed_deferral = iced.findDeferral(arguments);
  441. (function(_this) {
  442. return (function(__iced_k) {
  443. if (env().get_preserve_tmp_keyring()) {
  444. return __iced_k(log.info("Preserving " + (_this.tmp_keyring.to_string())));
  445. } else {
  446. (function(__iced_k) {
  447. if (_this.tmp_keyring != null) {
  448. (function(__iced_k) {
  449. __iced_deferrals = new iced.Deferrals(__iced_k, {
  450. parent: ___iced_passed_deferral,
  451. filename: "/home/jacko/node-client/src/dve.iced",
  452. funcname: "DecryptAndVerifyEngine.run_cleanup"
  453. });
  454. _this.tmp_keyring.nuke(__iced_deferrals.defer({
  455. assign_fn: (function() {
  456. return function() {
  457. return e2 = arguments[0];
  458. };
  459. })(),
  460. lineno: 224
  461. }));
  462. __iced_deferrals._fulfill();
  463. })(function() {
  464. return __iced_k(typeof e2 !== "undefined" && e2 !== null ? log.warn("Error cleaning up temporary keyring: " + e2.message) : void 0);
  465. });
  466. } else {
  467. return __iced_k();
  468. }
  469. })(__iced_k);
  470. }
  471. });
  472. })(this)((function(_this) {
  473. return function() {
  474. return cb();
  475. };
  476. })(this));
  477. };
  478. DecryptAndVerifyEngine.prototype.global_cleanup = function(cb) {
  479. var err, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  480. __iced_k = __iced_k_noop;
  481. ___iced_passed_deferral = iced.findDeferral(arguments);
  482. (function(_this) {
  483. return (function(__iced_k) {
  484. if (_this.hkpl) {
  485. (function(__iced_k) {
  486. __iced_deferrals = new iced.Deferrals(__iced_k, {
  487. parent: ___iced_passed_deferral,
  488. filename: "/home/jacko/node-client/src/dve.iced",
  489. funcname: "DecryptAndVerifyEngine.global_cleanup"
  490. });
  491. _this.hkpl.close(__iced_deferrals.defer({
  492. assign_fn: (function() {
  493. return function() {
  494. return err = arguments[0];
  495. };
  496. })(),
  497. lineno: 233
  498. }));
  499. __iced_deferrals._fulfill();
  500. })(function() {
  501. return __iced_k(typeof err !== "undefined" && err !== null ? log.warning("Error closing HKP loopback server: " + err) : void 0);
  502. });
  503. } else {
  504. return __iced_k();
  505. }
  506. });
  507. })(this)((function(_this) {
  508. return function() {
  509. return cb(err);
  510. };
  511. })(this));
  512. };
  513. DecryptAndVerifyEngine.prototype.global_init = function(cb) {
  514. var err, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  515. __iced_k = __iced_k_noop;
  516. ___iced_passed_deferral = iced.findDeferral(arguments);
  517. (function(_this) {
  518. return (function(__iced_k) {
  519. __iced_deferrals = new iced.Deferrals(__iced_k, {
  520. parent: ___iced_passed_deferral,
  521. filename: "/home/jacko/node-client/src/dve.iced",
  522. funcname: "DecryptAndVerifyEngine.global_init"
  523. });
  524. _this.make_hkp_loopback(__iced_deferrals.defer({
  525. assign_fn: (function() {
  526. return function() {
  527. return err = arguments[0];
  528. };
  529. })(),
  530. lineno: 241
  531. }));
  532. __iced_deferrals._fulfill();
  533. });
  534. })(this)((function(_this) {
  535. return function() {
  536. return cb(err);
  537. };
  538. })(this));
  539. };
  540. DecryptAndVerifyEngine.prototype.run = function(cb) {
  541. var esc, ___iced_passed_deferral, __iced_deferrals, __iced_k;
  542. __iced_k = __iced_k_noop;
  543. ___iced_passed_deferral = iced.findDeferral(arguments);
  544. cb = chain(cb, this.run_cleanup.bind(this));
  545. esc = make_esc(cb, "DecryptAndVerifyEngine::run");
  546. (function(_this) {
  547. return (function(__iced_k) {
  548. __iced_deferrals = new iced.Deferrals(__iced_k, {
  549. parent: ___iced_passed_deferral,
  550. filename: "/home/jacko/node-client/src/dve.iced",
  551. funcname: "DecryptAndVerifyEngine.run"
  552. });
  553. _this.do_keypull(esc(__iced_deferrals.defer({
  554. lineno: 252
  555. })));
  556. __iced_deferrals._fulfill();
  557. });
  558. })(this)((function(_this) {
  559. return function() {
  560. (function(__iced_k) {
  561. __iced_deferrals = new iced.Deferrals(__iced_k, {
  562. parent: ___iced_passed_deferral,
  563. filename: "/home/jacko/node-client/src/dve.iced",
  564. funcname: "DecryptAndVerifyEngine.run"
  565. });
  566. _this.setup_tmp_keyring(esc(__iced_deferrals.defer({
  567. lineno: 254
  568. })));
  569. __iced_deferrals._fulfill();
  570. })(function() {
  571. (function(__iced_k) {
  572. __iced_deferrals = new iced.Deferrals(__iced_k, {
  573. parent: ___iced_passed_deferral,
  574. filename: "/home/jacko/node-client/src/dve.iced",
  575. funcname: "DecryptAndVerifyEngine.run"
  576. });
  577. _this.do_command(esc(__iced_deferrals.defer({
  578. lineno: 255
  579. })));
  580. __iced_deferrals._fulfill();
  581. })(function() {
  582. (function(__iced_k) {
  583. __iced_deferrals = new iced.Deferrals(__iced_k, {
  584. parent: ___iced_passed_deferral,
  585. filename: "/home/jacko/node-client/src/dve.iced",
  586. funcname: "DecryptAndVerifyEngine.run"
  587. });
  588. _this.find_signature(esc(__iced_deferrals.defer({
  589. lineno: 256
  590. })));
  591. __iced_deferrals._fulfill();
  592. })(function() {
  593. (function(__iced_k) {
  594. if (_this.found_sig) {
  595. (function(__iced_k) {
  596. __iced_deferrals = new iced.Deferrals(__iced_k, {
  597. parent: ___iced_passed_deferral,
  598. filename: "/home/jacko/node-client/src/dve.iced",
  599. funcname: "DecryptAndVerifyEngine.run"
  600. });
  601. _this.handle_signature(esc(__iced_deferrals.defer({
  602. lineno: 258
  603. })));
  604. __iced_deferrals._fulfill();
  605. })(function() {
  606. (function(__iced_k) {
  607. if (_this.try_track()) {
  608. (function(__iced_k) {
  609. __iced_deferrals = new iced.Deferrals(__iced_k, {
  610. parent: ___iced_passed_deferral,
  611. filename: "/home/jacko/node-client/src/dve.iced",
  612. funcname: "DecryptAndVerifyEngine.run"
  613. });
  614. _this.handle_track(esc(__iced_deferrals.defer({
  615. lineno: 260
  616. })));
  617. __iced_deferrals._fulfill();
  618. })(__iced_k);
  619. } else {
  620. (function(__iced_k) {
  621. if (_this.try_id()) {
  622. (function(__iced_k) {
  623. __iced_deferrals = new iced.Deferrals(__iced_k, {
  624. parent: ___iced_passed_deferral,
  625. filename: "/home/jacko/node-client/src/dve.iced",
  626. funcname: "DecryptAndVerifyEngine.run"
  627. });
  628. _this.handle_id(esc(__iced_deferrals.defer({
  629. lineno: 262
  630. })));
  631. __iced_deferrals._fulfill();
  632. })(__iced_k);
  633. } else {
  634. return __iced_k();
  635. }
  636. })(__iced_k);
  637. }
  638. })(__iced_k);
  639. });
  640. } else {
  641. return __iced_k();
  642. }
  643. })(function() {
  644. return cb(null);
  645. });
  646. });
  647. });
  648. });
  649. };
  650. })(this));
  651. };
  652. return DecryptAndVerifyEngine;
  653. })();
  654. }).call(this);