From 8110782633c5612f962db4319fd10d8542620bba Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Wed, 4 Dec 2013 15:42:56 -0800 Subject: [PATCH] Fix checksum failure debug message --- resources/openpgp.js | 36 ++++++++++----------- resources/openpgp.min.js | 8 ++--- src/encoding/openpgp.encoding.asciiarmor.js | 34 +++++++++---------- 3 files changed, 37 insertions(+), 41 deletions(-) diff --git a/resources/openpgp.js b/resources/openpgp.js index 83a1cf3f..670f635d 100644 --- a/resources/openpgp.js +++ b/resources/openpgp.js @@ -7422,7 +7422,7 @@ function openpgp_config() { keyserver: "keyserver.linux.it" // "pgp.mit.edu:11371" }; - this.versionstring ="OpenPGP.js v.1.20131201"; + this.versionstring ="OpenPGP.js v.1.20131202"; this.commentstring ="http://openpgpjs.org"; /** * Reads the config out of the HTML5 local storage @@ -7570,6 +7570,8 @@ function openpgp_encoding_deArmor(text) { // so we know the index of the data we are interested in. var indexBase = 1; + var result, checksum; + if (text.search(reSplit) != splittedtext[0].length) { indexBase = 0; } @@ -7581,20 +7583,11 @@ function openpgp_encoding_deArmor(text) { var msg = openpgp_encoding_split_headers(splittedtext[indexBase].replace(/^- /mg, '')); var msg_sum = openpgp_encoding_split_checksum(msg.body); - var data = { + result = { openpgp: openpgp_encoding_base64_decode(msg_sum.body), type: type }; - - if (verifyCheckSum(data.openpgp, msg_sum.checksum)) { - return data; - } else { - util.print_error("Ascii armor integrity check on message failed: '" - + msg_sum.checksum - + "' should be '" - + getCheckSum(data) + "'"); - return false; - } + checksum = msg_sum.checksum; } else { // splittedtext[indexBase] - the message // splittedtext[indexBase + 1] - the signature and checksum @@ -7603,18 +7596,23 @@ function openpgp_encoding_deArmor(text) { var sig = openpgp_encoding_split_headers(splittedtext[indexBase + 1].replace(/^- /mg, '')); var sig_sum = openpgp_encoding_split_checksum(sig.body); - var result = { + result = { text: msg.body.replace(/\n$/, "").replace(/\n/g, "\r\n"), openpgp: openpgp_encoding_base64_decode(sig_sum.body), type: type }; - if (verifyCheckSum(result.openpgp, sig_sum.checksum)) { - return result; - } else { - util.print_error("Ascii armor integrity check on message failed"); - return false; - } + checksum = sig_sum.checksum; + } + + if (!verifyCheckSum(result.openpgp, checksum)) { + util.print_error("Ascii armor integrity check on message failed: '" + + checksum + + "' should be '" + + getCheckSum(result) + "'"); + return false; + } else { + return result; } } diff --git a/resources/openpgp.min.js b/resources/openpgp.min.js index 480e1935..d86ef3cc 100644 --- a/resources/openpgp.min.js +++ b/resources/openpgp.min.js @@ -286,13 +286,13 @@ JXG.Util.asciiCharCodeAt=function(b,a){var c=b.charCodeAt(a);if(255d?(a.push(String.fromCharCode(d)),c++):191d?(e=b.charCodeAt(c+1),a.push(String.fromCharCode((d&31)<<6|e&63)),c+=2):(e=b.charCodeAt(c+1),f=b.charCodeAt(c+2),a.push(String.fromCharCode((d&15)<<12|(e&63)<<6|f&63)),c+=3);return a.join("")}; JXG.Util.genUUID=function(){for(var b="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),a=Array(36),c=0,d,e=0;36>e;e++)8==e||13==e||18==e||23==e?a[e]="-":14==e?a[e]="4":(2>=c&&(c=33554432+16777216*Math.random()|0),d=c&15,c>>=4,a[e]=b[19==e?d&3|8:d]);return a.join("")}; -function openpgp_config(){this.config=null;this.default_config={prefer_hash_algorithm:8,encryption_cipher:9,compression:1,show_version:!0,show_comment:!0,integrity_protect:!0,composition_behavior:0,keyserver:"keyserver.linux.it"};this.versionstring="OpenPGP.js v.1.20131201";this.commentstring="http://openpgpjs.org";this.debug=!1;this.read=function(){var b=JSON.parse(window.localStorage.getItem("config"));null==b?(this.config=this.default_config,this.write()):this.config=b};this.write=function(){window.localStorage.setItem("config", +function openpgp_config(){this.config=null;this.default_config={prefer_hash_algorithm:8,encryption_cipher:9,compression:1,show_version:!0,show_comment:!0,integrity_protect:!0,composition_behavior:0,keyserver:"keyserver.linux.it"};this.versionstring="OpenPGP.js v.1.20131202";this.commentstring="http://openpgpjs.org";this.debug=!1;this.read=function(){var b=JSON.parse(window.localStorage.getItem("config"));null==b?(this.config=this.default_config,this.write()):this.config=b};this.write=function(){window.localStorage.setItem("config", JSON.stringify(this.config))}}var b64s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; function s2r(b){var a,c,d,e="",f=0,g=0,h=b.length;for(d=0;d>2&63),a=(c&3)<<4):1==g?(e+=b64s.charAt(a|c>>4&15),a=(c&15)<<2):2==g&&(e+=b64s.charAt(a|c>>6&3),f+=1,0==f%60&&(e+="\n"),e+=b64s.charAt(c&63)),f+=1,0==f%60&&(e+="\n"),g+=1,3==g&&(g=0);0>6-e&255)),e=e+2&7,f=a<