Commit Graph
135 Commits
Author SHA1 Message Date
Joyee Cheung 6391b3b95d src: use per-realm GetBindingData() wherever applicable
This reduce the number of embedder slot accesses and also removes
the assumption in a few binding methods that the current realm is
the principal realm of the current environment (which is not true
for shadow realms).

PR-URL: https://github.com/nodejs/node/pull/49007
Refs: https://github.com/nodejs/node/pull/48836
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2023-08-16 02:32:50 +00:00
Joyee Cheung 89dd09310e src: serialize both BaseObject slots
We previously only return startup data for the first slot for
BaseObjects because we can already serialize all the necessary
information in one go, but slots that do not get special startup
data would be serialized verbatim which means that the pointer
addresses are going to be part of the snapshot blob, resulting
in indeterminism.

This patch updates the serialization routines and capture information
for both of the two slots - the first slot with type information
and memory management type (which we can use in the future for
cppgc-managed objects) and the second slot with data about the
object itself. This way the embeedder slots can be serialized
in a reproducible manner in the snapshot.

PR-URL: https://github.com/nodejs/node/pull/48996
Refs: https://github.com/nodejs/build/issues/3043
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2023-08-15 18:32:14 +00:00
Yagiz Nizipli 607a545904 url: overload canParse V8 fast api method
PR-URL: https://github.com/nodejs/node/pull/48993
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2023-08-12 22:34:46 +00:00
Joyee Cheung faefe560ef src: remove ContextEmbedderIndex::kBindingDataStoreIndex
We can now get the binding data through the reference to the
realm directly, so remove it from the context embedder data
slot.

PR-URL: https://github.com/nodejs/node/pull/48836
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2023-07-26 13:26:08 +00:00
Yagiz Nizipli e0500d6e88 url: fix canParse false value when v8 optimizes
PR-URL: https://github.com/nodejs/node/pull/48817
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
2023-07-17 20:29:05 -04:00
legendecas ac0853c4ee src: make realm binding data store weak
The binding data must be weak so that it won't keep the realm reachable
from strong GC roots indefinitely. The wrapper object of binding data
should be referenced from JavaScript, thus the binding data should be
reachable throughout the lifetime of the realm.

PR-URL: https://github.com/nodejs/node/pull/47688
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2023-06-14 02:05:00 +00:00
Yagiz Nizipli 72ba09905a lib: reduce URL invocations on http2 origins
PR-URL: https://github.com/nodejs/node/pull/48338
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
2023-06-07 02:15:43 +00:00
Joyee Cheung c0365fd52a src: avoid prototype access in binding templates
This patch makes the binding templates ObjectTemplates, since we
don't actually need the constructor function. This also avoids
setting the properties on prototype, and instead initializes them
directly on the object template.

Previously the initialization was similar to:

```
function Binding() {}
Binding.prototype.property = ...;
module.exports = new Binding;
```

Now it's similar to:

```
module.exports = { property: ... };
```

PR-URL: https://github.com/nodejs/node/pull/47913
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-05-24 16:45:05 +02:00
Yagiz Nizipli 8b6947fac1 url: call ada::can_parse directly
PR-URL: https://github.com/nodejs/node/pull/47919
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2023-05-18 17:49:02 +00:00
Joyee Cheung 5466bec2c5 bootstrap: initialize per-isolate properties of bindings separately
This patch moves the initialization of per-isolate properties of
the bindings that are in the embedded snapshot separate from the
initialization of their per-context properties. This is necessary
for workers to share the isolate snapshot with the main thread
and deserialize these properties instead of creating them from
scratch.

PR-URL: https://github.com/nodejs/node/pull/47768
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
2023-05-03 13:15:10 +00:00
Node.js GitHub Bot 25b6ddf664 deps: update ada to 2.2.0
PR-URL: https://github.com/nodejs/node/pull/47678
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2023-04-25 00:47:50 +00:00
Khafra 6675505686 src: add v8 fast api for url canParse
PR-URL: https://github.com/nodejs/node/pull/47552
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
2023-04-20 16:16:21 +00:00
Yagiz Nizipli 3d17735e84 url: handle URL.canParse without base parameter
PR-URL: https://github.com/nodejs/node/pull/47547
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-04-14 11:34:20 +00:00
Yagiz Nizipli 3867641c14 url: use ada::url_aggregator for parsing urls
PR-URL: https://github.com/nodejs/node/pull/47339
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2023-04-05 09:05:27 -07:00
Khafra f2651a0812 url: implement URL.canParse
PR-URL: https://github.com/nodejs/node/pull/47179
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
2023-03-22 19:44:44 +00:00
Anna Henningsen f95d7c0179 src: use std::array for passing argv in node::url
Implements a review suggestion from 72e971ee2e.

Refs: https://github.com/nodejs/node/pull/47001#issuecomment-1462999332
PR-URL: https://github.com/nodejs/node/pull/47035
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2023-03-13 20:28:57 +00:00
Yagiz Nizipli 72e971ee2e url: fix array overrun in node:url::SetArgs()
PR-URL: https://github.com/nodejs/node/pull/47001
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2023-03-10 14:09:53 +00:00
Yagiz Nizipli 7bd909b603 url: set formatUrl method as no side effect
PR-URL: https://github.com/nodejs/node/pull/46884
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2023-03-02 13:23:23 +00:00
Yagiz Nizipli 80733921a4 url: simplify and improve url formatting
PR-URL: https://github.com/nodejs/node/pull/46736
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-02-24 22:35:05 +00:00
Yagiz Nizipli d96b1f330e url: improve performance by removing host
PR-URL: https://github.com/nodejs/node/pull/46547
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2023-02-18 22:43:26 +00:00
Yagiz Nizipli c4581abff6 url: replace url-parser with ada
PR-URL: https://github.com/nodejs/node/pull/46410
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
2023-02-06 19:21:39 +00:00
Yagiz Nizipli 85f9b27c14 url: remove unused URL::ToFilePath()
PR-URL: https://github.com/nodejs/node/pull/46487
Reviewed-By: Zeyu "Alex" Yang <himself65@outlook.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-02-05 15:30:22 +00:00
Yagiz Nizipli bea3a43a69 url: remove unused URL::toObject
PR-URL: https://github.com/nodejs/node/pull/46486
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Zeyu "Alex" Yang <himself65@outlook.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-02-05 15:23:03 +00:00
Yagiz Nizipli f013950411 url: remove unused setURLConstructor function
PR-URL: https://github.com/nodejs/node/pull/46485
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Zeyu "Alex" Yang <himself65@outlook.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-02-05 15:22:54 +00:00
Tobias Nießen 8ba54e5049 src: get rid of fp arithmetic in ParseIPv4Host
Even though most compiler should not actually emit FPU instructions, it
is unnecessary to use floating-point arithmetic for powers of 2.

Also change some signed counters to unsigned integers.

PR-URL: https://github.com/nodejs/node/pull/46326
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-01-26 03:37:14 +00:00
Miguel Teixeira 762a3a8ad9 src: refactor EndsInANumber in node_url.cc and adds IsIPv4NumberValid
Removes the use of vector in EndsInANumber and uses
IsIPv4NumberValid instead of parsing the number to check
if it is valid.

Fixes: https://github.com/nodejs/performance/issues/36
Refs: https://github.com/ada-url/ada/pull/36
PR-URL: https://github.com/nodejs/node/pull/46227
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-01-23 15:05:19 +00:00
legendecas 71ff89f929 src: rename internal module declaration as internal bindings
This is a continuation of the name reification on the internal bindings.

Renames NODE_MODULE_CONTEXT_AWARE_INTERNAL and
NODE_MODULE_EXTERNAL_REFERENCE to NODE_BINDING_CONTEXT_AWARE_INTERNAL
and NODE_BINDING_EXTERNAL_REFERENCE respectively.

PR-URL: https://github.com/nodejs/node/pull/45551
Refs: https://github.com/nodejs/node/issues/44036
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2022-11-29 00:23:08 +08:00
legendecas a7e5b413ef src: split property helpers from node::Environment
PR-URL: https://github.com/nodejs/node/pull/44056
Refs: https://github.com/nodejs/node/issues/42528
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Feng Yu <F3n67u@outlook.com>
2022-08-02 00:01:02 +08:00
Feng Yu 2dccda26f9 url: update WHATWG URL parser to align with latest spec
PR-URL: https://github.com/nodejs/node/pull/43190
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
2022-06-30 18:51:11 +02:00
Antoine du Hamel a3ff4bfc66 url: revert "validate ipv4 part length"
This reverts commit 87d0d7a069.

Refs: https://github.com/nodejs/node/pull/42915

PR-URL: https://github.com/nodejs/node/pull/42940
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2022-05-05 12:41:35 +01:00
Yagiz Nizipli 87d0d7a069 url: validate ipv4 part length
PR-URL: https://github.com/nodejs/node/pull/42915
Fixes: https://github.com/nodejs/node/issues/42914
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2022-05-01 13:27:37 -07:00
Michael Dawson 33cbdb33e4 src: address 3 useless call coverity warnings
Fix the last 3 useless call reports from coverity

Signed-off-by: Michael Dawson <mdawson@devrus.com>

PR-URL: https://github.com/nodejs/node/pull/42426
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2022-03-29 16:49:02 -04:00
Darshan Sen 57529b22c4 src: convert hex2bin() into a regular function
No need to write hex2bin() as a function template because it's only
called with a char parameter.

Signed-off-by: Darshan Sen <raisinten@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/42321
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2022-03-18 19:57:32 +00:00
Tobias Nießen d90ceb2b54 src: avoid returning invalid value from hex2bin
If the input is not a valid hexadecimal digit, hex2bin should not return
an invalid value, which is not handled correctly by the caller, which is
the PercentDecode function. However, PercentDecode only ever calls the
hex2bin function with valid hexadecimal digits, so mark the code path
that previously returned an invalid value for non-digits as UNREACHABLE.

PR-URL: https://github.com/nodejs/node/pull/42307
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-03-14 16:23:44 +00:00
Rich Trott d8c4e375f2 url: preserve null char in WHATWG URL errors
A null character in the middle of an invalid URL was resulting in an
error message that truncated the input string. This preserves the entire
input string in the error message.

Refs: https://github.com/nodejs/node/issues/39592

PR-URL: https://github.com/nodejs/node/pull/42263
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-03-11 05:51:41 +00:00
XadillaX 4158d62dec url, src: modify one special_back_slash
Make it always equals to `false`.

PR-URL: https://github.com/nodejs/node/pull/42112
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2022-03-07 13:04:48 +08:00
Anna Henningsen 33ffaa49ba src: use const reference instead of pointer in URL::SerializeURL
Just some general cleanup to make things C++-y instead of C-y.

PR-URL: https://github.com/nodejs/node/pull/41759
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
2022-02-11 11:40:12 +00:00
Anna Henningsen 889534ec35 src: reserve string allocation space early in URL::SerializeURL
This can be useful for performance when doing many string
concatenations.

PR-URL: https://github.com/nodejs/node/pull/41759
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
2022-02-11 11:40:11 +00:00
Anna Henningsen acd35ecbe7 src: fix query/fragment serialization in URL::SerializeURL
These are presumably typos.

PR-URL: https://github.com/nodejs/node/pull/41759
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
2022-02-11 11:40:10 +00:00
Anna Henningsen e5084d33f0 src: slightly simplify URLHost::ToString
PR-URL: https://github.com/nodejs/node/pull/41747
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
2022-02-05 08:04:17 -08:00
Tobias Nießen 5e0dd79a3c src: add and fix some preprocessor comments
PR-URL: https://github.com/nodejs/node/pull/40701
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
2021-11-10 15:24:22 +01:00
XadillaX 0e561de643 src: move ToUSVString() to node_util.cc
Since `toUSVString()` was exposed in `util` as a public API, not only
for internal `url` any more.

PR-URL: https://github.com/nodejs/node/pull/40204
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
2021-09-26 16:57:47 +08:00
Shelley Vohr f8836b208c src: fix -Wunreachable-code-return error
PR-URL: https://github.com/nodejs/node/pull/40034
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2021-09-11 09:55:48 +02:00
Darshan Sen 00cac65af1 url: prevent pathname setter from erasing path of path-only URLs
This change prevents the pathname setter from erasing the path of
path-only URLs as that would make them cannot-be-a-base URLs.

The changes in all files except `src/node_url.cc` have been done by
running:

```console
git node wpt url
```

Fixes: https://github.com/nodejs/node/issues/39059
Signed-off-by: Darshan Sen <darshan.sen@postman.com>

PR-URL: https://github.com/nodejs/node/pull/39060
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Khaidi Chu <i@2333.moe>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
2021-07-18 05:41:21 +00:00
XadillaX 38a15d832a src,url: separate some tables out of node_url.cc
The purpose of separating is for readability and maintainability.

PR-URL: https://github.com/nodejs/node/pull/38988
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
2021-06-17 11:08:32 +08:00
XadillaX c109a6cc83 url,src: simplify ipv6 logic by using uv_inet_pton
PR-URL: https://github.com/nodejs/node/pull/38842
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2021-06-10 14:26:34 +08:00
Timothy Gu bf06daa656 url: exit early when : delimiter is seen in hostname
This aligns with an upstream spec change.

PR-URL: https://github.com/nodejs/node/pull/38742
Fixes: https://github.com/nodejs/node/issues/38710
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-05-22 17:46:05 -07:00
Darshan Sen 4197555ca9 url: forbid pipe in URL host
Fixes: https://github.com/nodejs/node/issues/37862

PR-URL: https://github.com/nodejs/node/pull/37877
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-03-30 04:04:22 -07:00
Michaël Zasso d1f1fcfe0c src: avoid implicit type conversions (take 2)
This fixes more C4244 MSVC warnings in the code base.

Refs: https://github.com/nodejs/node/pull/37149

PR-URL: https://github.com/nodejs/node/pull/37334
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-02-20 10:50:28 +01:00
raisinten b8c15c7413 src: fix leading backslash bug in URL
The associated condition mentioned in the URL parsing algorithm of the
WHATWG URL Standard is:
url is special and c is U+005C (\)
So, `special_back_slash` must be updated whenever `special` is updated.

Fixes: https://github.com/nodejs/node/issues/36559

PR-URL: https://github.com/nodejs/node/pull/36613
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2020-12-31 12:31:03 -08:00