-
-
Save panva/bdca145f85cfe227799209bcc9f38c76 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/doc/api/errors.md b/doc/api/errors.md | |
index fe6a417ae6..b277a53e66 100644 | |
--- a/doc/api/errors.md | |
+++ b/doc/api/errors.md | |
@@ -1112,12 +1112,6 @@ release binaries but can happen with custom builds, including distro builds. | |
A signing `key` was not provided to the [`sign.sign()`][] method. | |
-<a id="ERR_CRYPTO_UNKNOWN_ENCODING"></a> | |
- | |
-### `ERR_CRYPTO_UNKNOWN_ENCODING` | |
- | |
-Invalid encoding was provided to the update/finalise cipher methods. | |
- | |
<a id="ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH"></a> | |
### `ERR_CRYPTO_TIMING_SAFE_EQUAL_LENGTH` | |
diff --git a/lib/internal/crypto/cipher.js b/lib/internal/crypto/cipher.js | |
index 5c87a2f8cc..f793923ec3 100644 | |
--- a/lib/internal/crypto/cipher.js | |
+++ b/lib/internal/crypto/cipher.js | |
@@ -27,7 +27,7 @@ const { | |
ERR_CRYPTO_INVALID_STATE, | |
ERR_INVALID_ARG_TYPE, | |
ERR_INVALID_ARG_VALUE, | |
- ERR_CRYPTO_UNKNOWN_ENCODING, | |
+ ERR_UNKNOWN_ENCODING, | |
} | |
} = require('internal/errors'); | |
@@ -91,16 +91,14 @@ const privateEncrypt = rsaFunctionFor(_privateEncrypt, RSA_PKCS1_PADDING, | |
const privateDecrypt = rsaFunctionFor(_privateDecrypt, RSA_PKCS1_OAEP_PADDING, | |
'private'); | |
-const validateNormalizedEncoding = (encoding, originalEncodingName) => { | |
- if (!encoding) { | |
- throw new ERR_CRYPTO_UNKNOWN_ENCODING(originalEncodingName); | |
+const normalizeAndValidateEncoding = (encoding) => { | |
+ const normalizedEncoding = normalizeEncoding(encoding); | |
+ if (normalizedEncoding === undefined) { | |
+ validateString(encoding, 'encoding'); | |
+ throw new ERR_UNKNOWN_ENCODING(encoding); | |
} | |
- return encoding; | |
-}; | |
- | |
-const normalizeAndValidateEncoding = (encoding) => { | |
- return validateNormalizedEncoding(normalizeEncoding(encoding), encoding); | |
+ return normalizedEncoding; | |
}; | |
const validateInputEncoding = (encoding) => { | |
@@ -112,10 +110,10 @@ const validateInputEncoding = (encoding) => { | |
}; | |
function getDecoder(decoder, encoding) { | |
- const normilizedEncoding = normalizeAndValidateEncoding(encoding); | |
+ const normalizedEncoding = normalizeAndValidateEncoding(encoding); | |
- decoder ||= new StringDecoder(normilizedEncoding); | |
- assert(decoder.encoding === normilizedEncoding, 'Cannot change encoding'); | |
+ decoder ||= new StringDecoder(normalizedEncoding); | |
+ assert(decoder.encoding === normalizedEncoding, 'Cannot change encoding'); | |
return decoder; | |
} | |
diff --git a/lib/internal/errors.js b/lib/internal/errors.js | |
index 07acdb3068..5820747e0d 100644 | |
--- a/lib/internal/errors.js | |
+++ b/lib/internal/errors.js | |
@@ -1015,7 +1015,6 @@ E('ERR_CRYPTO_SCRYPT_INVALID_PARAMETER', 'Invalid scrypt parameter', Error); | |
E('ERR_CRYPTO_SCRYPT_NOT_SUPPORTED', 'Scrypt algorithm not supported', Error); | |
// Switch to TypeError. The current implementation does not seem right. | |
E('ERR_CRYPTO_SIGN_KEY_REQUIRED', 'No key provided to sign', Error); | |
-E('ERR_CRYPTO_UNKNOWN_ENCODING', 'Unknown encoding %s', TypeError); | |
E('ERR_DEBUGGER_ERROR', '%s', Error); | |
E('ERR_DEBUGGER_STARTUP_ERROR', '%s', Error); | |
E('ERR_DIR_CLOSED', 'Directory handle was closed', Error); | |
diff --git a/test/parallel/test-crypto-encoding-validation-error.js b/test/parallel/test-crypto-encoding-validation-error.js | |
index 676b89c7b6..aebf4cfe21 100644 | |
--- a/test/parallel/test-crypto-encoding-validation-error.js | |
+++ b/test/parallel/test-crypto-encoding-validation-error.js | |
@@ -17,7 +17,7 @@ const createCipher = () => { | |
assert.throws( | |
() => cipher.update('test', 'bad1', 'hex'), | |
- { message: /^Unknown encoding bad1$/, code: 'ERR_CRYPTO_UNKNOWN_ENCODING' } | |
+ { message: /^Unknown encoding: bad1$/, code: 'ERR_UNKNOWN_ENCODING' } | |
); | |
} | |
@@ -27,7 +27,7 @@ const createCipher = () => { | |
assert.throws( | |
() => cipher.final('bad2'), | |
- { message: /^Unknown encoding bad2$/, code: 'ERR_CRYPTO_UNKNOWN_ENCODING' } | |
+ { message: /^Unknown encoding: bad2$/, code: 'ERR_UNKNOWN_ENCODING' } | |
); | |
} | |
@@ -36,6 +36,6 @@ const createCipher = () => { | |
assert.throws( | |
() => cipher.update('test', 'utf-8', 'bad3'), | |
- { message: /^Unknown encoding bad3$/, code: 'ERR_CRYPTO_UNKNOWN_ENCODING' } | |
+ { message: /^Unknown encoding: bad3$/, code: 'ERR_UNKNOWN_ENCODING' } | |
); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment