1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-22 15:06:54 -05:00
denoland-deno/ext/node/ops
Nathan Whitaker a77b2987bc
fix(ext/node): Match punycode module behavior to node (#22847)
Fixes #19214.

We were using the `idna` crate to implement our polyfill for
`punycode.toASCII` and `punycode.toUnicode`. The `idna` crate is
correct, and adheres to the IDNA2003/2008 spec, but it turns out
`node`'s implementations don't really follow any spec! Instead, node
splits the domain by `'.'` and punycode encodes/decodes each part. This
means that node's implementations will happily work on codepoints that
are disallowed by the IDNA specs, causing the error in #19214.

While fixing this, I went ahead and matched the node behavior on all of
the punycode functions and enabled node's punycode test in our
`node_compat` suite.
2024-03-11 15:49:43 -07:00
..
crypto perf(cli): use faster_hex (#22761) 2024-03-07 10:00:43 -07:00
os fix(ext/node): Ensure os.cpus() works on arm64 linux (#22302) 2024-02-06 16:27:42 -07:00
zlib fix(node): handle brotli compression end chunk sizes (#22322) 2024-02-07 21:53:32 +05:30
fs.rs fix(ext/node): add fs.cp, fs.cpSync, promises.cp (#21745) 2024-01-05 18:28:33 +05:30
http.rs chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
http2.rs fix(node): require of pkg json imports was broken (#22821) 2024-03-09 10:21:31 -05:00
idna.rs fix(ext/node): Match punycode module behavior to node (#22847) 2024-03-11 15:49:43 -07:00
ipc.rs fix(node): require of pkg json imports was broken (#22821) 2024-03-09 10:21:31 -05:00
mod.rs chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
require.rs fix(node): require of pkg json imports was broken (#22821) 2024-03-09 10:21:31 -05:00
util.rs chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
v8.rs chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
winerror.rs chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00