| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- // Generated by IcedCoffeeScript 1.7.1-c
- (function() {
- var E, GPG, StatusParser, env, iced, log, util, __iced_k, __iced_k_noop;
- iced = require('iced-runtime').iced;
- __iced_k = __iced_k_noop = function() {};
- GPG = require('gpg-wrapper').GPG;
- env = require('./env').env;
- log = require('./log');
- util = require('util');
- E = require('./err').E;
- exports.gpg = function(inargs, cb) {
- var err, gpg, out, ___iced_passed_deferral, __iced_deferrals, __iced_k;
- __iced_k = __iced_k_noop;
- ___iced_passed_deferral = iced.findDeferral(arguments);
- log.debug("| Call to gpg: " + (util.inspect(inargs)));
- if (inargs.quiet && env().get_debug()) {
- inargs.quiet = false;
- }
- gpg = new GPG;
- (function(_this) {
- return (function(__iced_k) {
- __iced_deferrals = new iced.Deferrals(__iced_k, {
- parent: ___iced_passed_deferral,
- filename: "/Users/max/src/keybase/node-client/src/gpg.iced",
- funcname: "gpg"
- });
- gpg.run(inargs, __iced_deferrals.defer({
- assign_fn: (function() {
- return function() {
- err = arguments[0];
- return out = arguments[1];
- };
- })(),
- lineno: 13
- }));
- __iced_deferrals._fulfill();
- });
- })(this)((function(_this) {
- return function() {
- return cb(err, out);
- };
- })(this));
- };
- exports.StatusParser = StatusParser = (function() {
- function StatusParser() {
- this._all = [];
- this._table = [];
- }
- StatusParser.prototype.parse = function(_arg) {
- var buf, line, lines, words, _i, _len;
- buf = _arg.buf;
- lines = buf.toString('utf8').split(/\r?\n/);
- for (_i = 0, _len = lines.length; _i < _len; _i++) {
- line = lines[_i];
- words = line.split(/\s+/);
- if (words[0] === '[GNUPG:]') {
- this._all.push(words.slice(1));
- this._table[words[1]] = words.slice(2);
- }
- }
- return this;
- };
- StatusParser.prototype.lookup = function(key) {
- return this._table[key];
- };
- return StatusParser;
- })();
- exports.parse_signature = function(buf) {
- var d, err, key, status_parser, timestamp, validsig;
- status_parser = (new StatusParser()).parse({
- buf: buf
- });
- err = key = timestamp = null;
- d = null;
- if ((validsig = status_parser.lookup("VALIDSIG")) == null) {
- err = new E.NotFoundError("no valid signature found");
- } else if (validsig.length < 9 || isNaN(d = parseInt(validsig[2]))) {
- err = new E.VerifyError("didn't find a valid signature");
- } else {
- if (validsig.length === 10) {
- key = {
- primary: validsig[9],
- subkey: validsig[0]
- };
- } else {
- key = {
- primary: validsig[0]
- };
- }
- timestamp = new Date(d * 1000);
- }
- return [err, key, timestamp];
- };
- }).call(this);
|