Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/openpgpjs/openpgpjs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Huigens <d.huigens@protonmail.com>2022-06-29 21:09:30 +0300
committerGitHub <noreply@github.com>2022-06-29 21:09:30 +0300
commite69d8b24fc373342fadf6acd4602ca63105992d1 (patch)
tree68cba354eb53c13dfb9414958827ef11bab8ffef
parent449ec3a367d9e686a3e2dcdece043dc345f63c75 (diff)
Fix armor error handling (#1541)
Fix unhandled promise rejections when parsing armor with malformed footers.
-rw-r--r--package-lock.json6
-rw-r--r--package.json2
-rw-r--r--test/general/armor.js11
3 files changed, 15 insertions, 4 deletions
diff --git a/package-lock.json b/package-lock.json
index d1c658ca..501e767c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -267,9 +267,9 @@
"dev": true
},
"@openpgp/web-stream-tools": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/@openpgp/web-stream-tools/-/web-stream-tools-0.0.10.tgz",
- "integrity": "sha512-1ONZADML0fb0RJR5UiGYPnRf9VaYBYUBc1gF9jyq57sHkr58cp5/BQHS+ivrqbRw21Sb70FKTssmJbRe71V+kw==",
+ "version": "0.0.11",
+ "resolved": "https://registry.npmjs.org/@openpgp/web-stream-tools/-/web-stream-tools-0.0.11.tgz",
+ "integrity": "sha512-52NMPRmlXIVajd5dhpDNsG7WJRCdlcS1wXY03OGH1rxm7p6i3QzJvTVyKEAcW0T9KojvLKakV2uTICceELqSMw==",
"dev": true,
"requires": {
"@mattiasbuelens/web-streams-adapter": "~0.1.0",
diff --git a/package.json b/package.json
index a624c25b..50062939 100644
--- a/package.json
+++ b/package.json
@@ -59,7 +59,7 @@
"@openpgp/pako": "^1.0.12",
"@openpgp/seek-bzip": "^1.0.5-git",
"@openpgp/tweetnacl": "^1.0.3",
- "@openpgp/web-stream-tools": "^0.0.10",
+ "@openpgp/web-stream-tools": "^0.0.11",
"@rollup/plugin-commonjs": "^11.1.0",
"@rollup/plugin-node-resolve": "^7.1.3",
"@rollup/plugin-replace": "^2.3.2",
diff --git a/test/general/armor.js b/test/general/armor.js
index 18eb9a68..c7958546 100644
--- a/test/general/armor.js
+++ b/test/general/armor.js
@@ -119,6 +119,17 @@ module.exports = () => describe('ASCII armor', function() {
}));
});
+ it('Exception if improperly formatted armor footer', async function () {
+ await expect(openpgp.readCleartextMessage({ cleartextMessage: [
+ '-----BEGIN PGP SIGNED MESSAGE-----',
+ 'Hash: SHA256',
+ '',
+ '-----BEGIN PGP SIGNATURE-----',
+ '',
+ '-----OOPS'
+ ].join('\n') })).to.be.rejectedWith(Error, /Misformed armored text/);
+ });
+
it('Ignore unknown armor header - signature section', async function () {
const validHeaders = ['Version: BCPG C# v1.7.4114.6375', 'Independent Reserve Pty. Ltd. 2017: 1.0.0.0'];
expect(await openpgp.readCleartextMessage({ cleartextMessage: getArmor(['Hash: SHA1'], validHeaders) })).to.be.an.instanceof(openpgp.CleartextMessage);