node-linux-arm64 18.18.0 → 18.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -9,6 +9,8 @@
9
9
  </tr>
10
10
  <tr>
11
11
  <td>
12
+ <a href="#18.18.2">18.18.2</a><br/>
13
+ <a href="#18.18.1">18.18.1</a><br/>
12
14
  <a href="#18.18.0">18.18.0</a><br/>
13
15
  <a href="#18.17.1">18.17.1</a><br/>
14
16
  <a href="#18.17.0">18.17.0</a><br/>
@@ -60,6 +62,59 @@
60
62
  * [io.js](CHANGELOG_IOJS.md)
61
63
  * [Archive](CHANGELOG_ARCHIVE.md)
62
64
 
65
+ <a id="18.18.2"></a>
66
+
67
+ ## 2023-10-13, Version 18.18.2 'Hydrogen' (LTS), @RafaelGSS
68
+
69
+ This is a security release.
70
+
71
+ ### Notable Changes
72
+
73
+ The following CVEs are fixed in this release:
74
+
75
+ * [CVE-2023-44487](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-44487): `nghttp2` Security Release (High)
76
+ * [CVE-2023-45143](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-45143): `undici` Security Release (High)
77
+ * [CVE-2023-38552](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-38552): Integrity checks according to policies can be circumvented (Medium)
78
+ * [CVE-2023-39333](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-39333): Code injection via WebAssembly export names (Low)
79
+
80
+ More detailed information on each of the vulnerabilities can be found in [October 2023 Security Releases](https://nodejs.org/en/blog/vulnerability/october-2023-security-releases/) blog post.
81
+
82
+ ### Commits
83
+
84
+ * \[[`55028468db`](https://github.com/nodejs/node/commit/55028468db)] - **deps**: update undici to v5.26.3 (Matteo Collina) [#50153](https://github.com/nodejs/node/pull/50153)
85
+ * \[[`a792bbc515`](https://github.com/nodejs/node/commit/a792bbc515)] - **deps**: update nghttp2 to 1.57.0 (James M Snell) [#50121](https://github.com/nodejs/node/pull/50121)
86
+ * \[[`f6444defa4`](https://github.com/nodejs/node/commit/f6444defa4)] - **deps**: update nghttp2 to 1.56.0 (Node.js GitHub Bot) [#49582](https://github.com/nodejs/node/pull/49582)
87
+ * \[[`7e9b08dfd4`](https://github.com/nodejs/node/commit/7e9b08dfd4)] - **deps**: update nghttp2 to 1.55.1 (Node.js GitHub Bot) [#48790](https://github.com/nodejs/node/pull/48790)
88
+ * \[[`85672c153f`](https://github.com/nodejs/node/commit/85672c153f)] - **deps**: update nghttp2 to 1.55.0 (Node.js GitHub Bot) [#48746](https://github.com/nodejs/node/pull/48746)
89
+ * \[[`300a902422`](https://github.com/nodejs/node/commit/300a902422)] - **deps**: update nghttp2 to 1.53.0 (Node.js GitHub Bot) [#47997](https://github.com/nodejs/node/pull/47997)
90
+ * \[[`7d83ed0bf6`](https://github.com/nodejs/node/commit/7d83ed0bf6)] - _**Revert**_ "**deps**: update nghttp2 to 1.55.0" (Richard Lau) [#50151](https://github.com/nodejs/node/pull/50151)
91
+ * \[[`1193ca5fdb`](https://github.com/nodejs/node/commit/1193ca5fdb)] - **lib**: let deps require `node` prefixed modules (Matthew Aitken) [#50047](https://github.com/nodejs/node/pull/50047)
92
+ * \[[`eaf9083cf1`](https://github.com/nodejs/node/commit/eaf9083cf1)] - **module**: fix code injection through export names (Tobias Nießen) [nodejs-private/node-private#461](https://github.com/nodejs-private/node-private/pull/461)
93
+ * \[[`1c538938cc`](https://github.com/nodejs/node/commit/1c538938cc)] - **policy**: use tamper-proof integrity check function (Tobias Nießen) [nodejs-private/node-private#462](https://github.com/nodejs-private/node-private/pull/462)
94
+
95
+ <a id="18.18.1"></a>
96
+
97
+ ## 2023-10-10, Version 18.18.1 'Hydrogen' (LTS), @richardlau
98
+
99
+ ### Notable Changes
100
+
101
+ This release addresses some regressions that appeared in Node.js 18.18.0:
102
+
103
+ * (Windows) FS can not handle certain characters in file name [#48673](https://github.com/nodejs/node/issues/48673)
104
+ * 18 and 20 node images give error - Text file busy (after re-build images) [nodejs/docker-node#1968](https://github.com/nodejs/docker-node/issues/1968)
105
+ * libuv update in 18.18.0 breaks webpack's thread-loader [#49911](https://github.com/nodejs/node/issues/49911)
106
+
107
+ The libuv 1.45.0 and 1.46.0 updates that were released in Node.js 18.18.0 have been temporarily reverted.
108
+
109
+ ### Commits
110
+
111
+ * \[[`3e3a75cc46`](https://github.com/nodejs/node/commit/3e3a75cc46)] - _**Revert**_ "**build**: sync libuv header change" (Richard Lau) [#50036](https://github.com/nodejs/node/pull/50036)
112
+ * \[[`14ece2c479`](https://github.com/nodejs/node/commit/14ece2c479)] - _**Revert**_ "**deps**: upgrade to libuv 1.45.0" (Richard Lau) [#50036](https://github.com/nodejs/node/pull/50036)
113
+ * \[[`022352acbe`](https://github.com/nodejs/node/commit/022352acbe)] - _**Revert**_ "**deps**: upgrade to libuv 1.46.0" (Richard Lau) [#50036](https://github.com/nodejs/node/pull/50036)
114
+ * \[[`d9f138189c`](https://github.com/nodejs/node/commit/d9f138189c)] - _**Revert**_ "**deps**: add missing thread-common.c in uv.gyp" (Richard Lau) [#50036](https://github.com/nodejs/node/pull/50036)
115
+ * \[[`7a3e1ffbb8`](https://github.com/nodejs/node/commit/7a3e1ffbb8)] - **fs**: make sure to write entire buffer (Robert Nagy) [#49211](https://github.com/nodejs/node/pull/49211)
116
+ * \[[`04cba95a67`](https://github.com/nodejs/node/commit/04cba95a67)] - **test**: add `tmpdir.resolve()` (Livia Medeiros) [#49079](https://github.com/nodejs/node/pull/49079)
117
+
63
118
  <a id="18.18.0"></a>
64
119
 
65
120
  ## 2023-09-18, Version 18.18.0 'Hydrogen' (LTS), @ruyadorno
package/bin/node CHANGED
Binary file
@@ -24,7 +24,7 @@
24
24
 
25
25
  #define NODE_MAJOR_VERSION 18
26
26
  #define NODE_MINOR_VERSION 18
27
- #define NODE_PATCH_VERSION 0
27
+ #define NODE_PATCH_VERSION 2
28
28
 
29
29
  #define NODE_VERSION_IS_LTS 1
30
30
  #define NODE_VERSION_LTS_CODENAME "Hydrogen"
@@ -40,7 +40,7 @@
40
40
  void* cf_state; \
41
41
  uv_mutex_t cf_mutex; \
42
42
  uv_sem_t cf_sem; \
43
- struct uv__queue cf_signals; \
43
+ void* cf_signals[2]; \
44
44
 
45
45
  #define UV_PLATFORM_FS_EVENT_FIELDS \
46
46
  uv__io_t event_watcher; \
@@ -48,8 +48,8 @@
48
48
  int realpath_len; \
49
49
  int cf_flags; \
50
50
  uv_async_t* cf_cb; \
51
- struct uv__queue cf_events; \
52
- struct uv__queue cf_member; \
51
+ void* cf_events[2]; \
52
+ void* cf_member[2]; \
53
53
  int cf_error; \
54
54
  uv_mutex_t cf_mutex; \
55
55
 
@@ -413,6 +413,7 @@
413
413
  #elif defined(__APPLE__) || \
414
414
  defined(__DragonFly__) || \
415
415
  defined(__FreeBSD__) || \
416
+ defined(__FreeBSD_kernel__) || \
416
417
  defined(__NetBSD__) || \
417
418
  defined(__OpenBSD__)
418
419
  # define UV__EHOSTDOWN (-64)
@@ -456,22 +457,4 @@
456
457
  # define UV__ESOCKTNOSUPPORT (-4025)
457
458
  #endif
458
459
 
459
- /* FreeBSD defines ENODATA in /usr/include/c++/v1/errno.h which is only visible
460
- * if C++ is being used. Define it directly to avoid problems when integrating
461
- * libuv in a C++ project.
462
- */
463
- #if defined(ENODATA) && !defined(_WIN32)
464
- # define UV__ENODATA UV__ERR(ENODATA)
465
- #elif defined(__FreeBSD__)
466
- # define UV__ENODATA (-9919)
467
- #else
468
- # define UV__ENODATA (-4024)
469
- #endif
470
-
471
- #if defined(EUNATCH) && !defined(_WIN32)
472
- # define UV__EUNATCH UV__ERR(EUNATCH)
473
- #else
474
- # define UV__EUNATCH (-4023)
475
- #endif
476
-
477
460
  #endif /* UV_ERRNO_H_ */
@@ -28,7 +28,7 @@
28
28
  int inotify_fd; \
29
29
 
30
30
  #define UV_PLATFORM_FS_EVENT_FIELDS \
31
- struct uv__queue watchers; \
31
+ void* watchers[2]; \
32
32
  int wd; \
33
33
 
34
34
  #endif /* UV_LINUX_H */
@@ -0,0 +1,247 @@
1
+ // ISO C9x compliant stdint.h for Microsoft Visual Studio
2
+ // Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
3
+ //
4
+ // Copyright (c) 2006-2008 Alexander Chemeris
5
+ //
6
+ // Redistribution and use in source and binary forms, with or without
7
+ // modification, are permitted provided that the following conditions are met:
8
+ //
9
+ // 1. Redistributions of source code must retain the above copyright notice,
10
+ // this list of conditions and the following disclaimer.
11
+ //
12
+ // 2. Redistributions in binary form must reproduce the above copyright
13
+ // notice, this list of conditions and the following disclaimer in the
14
+ // documentation and/or other materials provided with the distribution.
15
+ //
16
+ // 3. The name of the author may be used to endorse or promote products
17
+ // derived from this software without specific prior written permission.
18
+ //
19
+ // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
20
+ // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21
+ // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
22
+ // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23
+ // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24
+ // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25
+ // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26
+ // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27
+ // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28
+ // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
+ //
30
+ ///////////////////////////////////////////////////////////////////////////////
31
+
32
+ #ifndef _MSC_VER // [
33
+ #error "Use this header only with Microsoft Visual C++ compilers!"
34
+ #endif // _MSC_VER ]
35
+
36
+ #ifndef _MSC_STDINT_H_ // [
37
+ #define _MSC_STDINT_H_
38
+
39
+ #if _MSC_VER > 1000
40
+ #pragma once
41
+ #endif
42
+
43
+ #include <limits.h>
44
+
45
+ // For Visual Studio 6 in C++ mode and for many Visual Studio versions when
46
+ // compiling for ARM we should wrap <wchar.h> include with 'extern "C++" {}'
47
+ // or compiler give many errors like this:
48
+ // error C2733: second C linkage of overloaded function 'wmemchr' not allowed
49
+ #ifdef __cplusplus
50
+ extern "C" {
51
+ #endif
52
+ # include <wchar.h>
53
+ #ifdef __cplusplus
54
+ }
55
+ #endif
56
+
57
+ // Define _W64 macros to mark types changing their size, like intptr_t.
58
+ #ifndef _W64
59
+ # if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300
60
+ # define _W64 __w64
61
+ # else
62
+ # define _W64
63
+ # endif
64
+ #endif
65
+
66
+
67
+ // 7.18.1 Integer types
68
+
69
+ // 7.18.1.1 Exact-width integer types
70
+
71
+ // Visual Studio 6 and Embedded Visual C++ 4 doesn't
72
+ // realize that, e.g. char has the same size as __int8
73
+ // so we give up on __intX for them.
74
+ #if (_MSC_VER < 1300)
75
+ typedef signed char int8_t;
76
+ typedef signed short int16_t;
77
+ typedef signed int int32_t;
78
+ typedef unsigned char uint8_t;
79
+ typedef unsigned short uint16_t;
80
+ typedef unsigned int uint32_t;
81
+ #else
82
+ typedef signed __int8 int8_t;
83
+ typedef signed __int16 int16_t;
84
+ typedef signed __int32 int32_t;
85
+ typedef unsigned __int8 uint8_t;
86
+ typedef unsigned __int16 uint16_t;
87
+ typedef unsigned __int32 uint32_t;
88
+ #endif
89
+ typedef signed __int64 int64_t;
90
+ typedef unsigned __int64 uint64_t;
91
+
92
+
93
+ // 7.18.1.2 Minimum-width integer types
94
+ typedef int8_t int_least8_t;
95
+ typedef int16_t int_least16_t;
96
+ typedef int32_t int_least32_t;
97
+ typedef int64_t int_least64_t;
98
+ typedef uint8_t uint_least8_t;
99
+ typedef uint16_t uint_least16_t;
100
+ typedef uint32_t uint_least32_t;
101
+ typedef uint64_t uint_least64_t;
102
+
103
+ // 7.18.1.3 Fastest minimum-width integer types
104
+ typedef int8_t int_fast8_t;
105
+ typedef int16_t int_fast16_t;
106
+ typedef int32_t int_fast32_t;
107
+ typedef int64_t int_fast64_t;
108
+ typedef uint8_t uint_fast8_t;
109
+ typedef uint16_t uint_fast16_t;
110
+ typedef uint32_t uint_fast32_t;
111
+ typedef uint64_t uint_fast64_t;
112
+
113
+ // 7.18.1.4 Integer types capable of holding object pointers
114
+ #ifdef _WIN64 // [
115
+ typedef signed __int64 intptr_t;
116
+ typedef unsigned __int64 uintptr_t;
117
+ #else // _WIN64 ][
118
+ typedef _W64 signed int intptr_t;
119
+ typedef _W64 unsigned int uintptr_t;
120
+ #endif // _WIN64 ]
121
+
122
+ // 7.18.1.5 Greatest-width integer types
123
+ typedef int64_t intmax_t;
124
+ typedef uint64_t uintmax_t;
125
+
126
+
127
+ // 7.18.2 Limits of specified-width integer types
128
+
129
+ #if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259
130
+
131
+ // 7.18.2.1 Limits of exact-width integer types
132
+ #define INT8_MIN ((int8_t)_I8_MIN)
133
+ #define INT8_MAX _I8_MAX
134
+ #define INT16_MIN ((int16_t)_I16_MIN)
135
+ #define INT16_MAX _I16_MAX
136
+ #define INT32_MIN ((int32_t)_I32_MIN)
137
+ #define INT32_MAX _I32_MAX
138
+ #define INT64_MIN ((int64_t)_I64_MIN)
139
+ #define INT64_MAX _I64_MAX
140
+ #define UINT8_MAX _UI8_MAX
141
+ #define UINT16_MAX _UI16_MAX
142
+ #define UINT32_MAX _UI32_MAX
143
+ #define UINT64_MAX _UI64_MAX
144
+
145
+ // 7.18.2.2 Limits of minimum-width integer types
146
+ #define INT_LEAST8_MIN INT8_MIN
147
+ #define INT_LEAST8_MAX INT8_MAX
148
+ #define INT_LEAST16_MIN INT16_MIN
149
+ #define INT_LEAST16_MAX INT16_MAX
150
+ #define INT_LEAST32_MIN INT32_MIN
151
+ #define INT_LEAST32_MAX INT32_MAX
152
+ #define INT_LEAST64_MIN INT64_MIN
153
+ #define INT_LEAST64_MAX INT64_MAX
154
+ #define UINT_LEAST8_MAX UINT8_MAX
155
+ #define UINT_LEAST16_MAX UINT16_MAX
156
+ #define UINT_LEAST32_MAX UINT32_MAX
157
+ #define UINT_LEAST64_MAX UINT64_MAX
158
+
159
+ // 7.18.2.3 Limits of fastest minimum-width integer types
160
+ #define INT_FAST8_MIN INT8_MIN
161
+ #define INT_FAST8_MAX INT8_MAX
162
+ #define INT_FAST16_MIN INT16_MIN
163
+ #define INT_FAST16_MAX INT16_MAX
164
+ #define INT_FAST32_MIN INT32_MIN
165
+ #define INT_FAST32_MAX INT32_MAX
166
+ #define INT_FAST64_MIN INT64_MIN
167
+ #define INT_FAST64_MAX INT64_MAX
168
+ #define UINT_FAST8_MAX UINT8_MAX
169
+ #define UINT_FAST16_MAX UINT16_MAX
170
+ #define UINT_FAST32_MAX UINT32_MAX
171
+ #define UINT_FAST64_MAX UINT64_MAX
172
+
173
+ // 7.18.2.4 Limits of integer types capable of holding object pointers
174
+ #ifdef _WIN64 // [
175
+ # define INTPTR_MIN INT64_MIN
176
+ # define INTPTR_MAX INT64_MAX
177
+ # define UINTPTR_MAX UINT64_MAX
178
+ #else // _WIN64 ][
179
+ # define INTPTR_MIN INT32_MIN
180
+ # define INTPTR_MAX INT32_MAX
181
+ # define UINTPTR_MAX UINT32_MAX
182
+ #endif // _WIN64 ]
183
+
184
+ // 7.18.2.5 Limits of greatest-width integer types
185
+ #define INTMAX_MIN INT64_MIN
186
+ #define INTMAX_MAX INT64_MAX
187
+ #define UINTMAX_MAX UINT64_MAX
188
+
189
+ // 7.18.3 Limits of other integer types
190
+
191
+ #ifdef _WIN64 // [
192
+ # define PTRDIFF_MIN _I64_MIN
193
+ # define PTRDIFF_MAX _I64_MAX
194
+ #else // _WIN64 ][
195
+ # define PTRDIFF_MIN _I32_MIN
196
+ # define PTRDIFF_MAX _I32_MAX
197
+ #endif // _WIN64 ]
198
+
199
+ #define SIG_ATOMIC_MIN INT_MIN
200
+ #define SIG_ATOMIC_MAX INT_MAX
201
+
202
+ #ifndef SIZE_MAX // [
203
+ # ifdef _WIN64 // [
204
+ # define SIZE_MAX _UI64_MAX
205
+ # else // _WIN64 ][
206
+ # define SIZE_MAX _UI32_MAX
207
+ # endif // _WIN64 ]
208
+ #endif // SIZE_MAX ]
209
+
210
+ // WCHAR_MIN and WCHAR_MAX are also defined in <wchar.h>
211
+ #ifndef WCHAR_MIN // [
212
+ # define WCHAR_MIN 0
213
+ #endif // WCHAR_MIN ]
214
+ #ifndef WCHAR_MAX // [
215
+ # define WCHAR_MAX _UI16_MAX
216
+ #endif // WCHAR_MAX ]
217
+
218
+ #define WINT_MIN 0
219
+ #define WINT_MAX _UI16_MAX
220
+
221
+ #endif // __STDC_LIMIT_MACROS ]
222
+
223
+
224
+ // 7.18.4 Limits of other integer types
225
+
226
+ #if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260
227
+
228
+ // 7.18.4.1 Macros for minimum-width integer constants
229
+
230
+ #define INT8_C(val) val##i8
231
+ #define INT16_C(val) val##i16
232
+ #define INT32_C(val) val##i32
233
+ #define INT64_C(val) val##i64
234
+
235
+ #define UINT8_C(val) val##ui8
236
+ #define UINT16_C(val) val##ui16
237
+ #define UINT32_C(val) val##ui32
238
+ #define UINT64_C(val) val##ui64
239
+
240
+ // 7.18.4.2 Macros for greatest-width integer constants
241
+ #define INTMAX_C INT64_C
242
+ #define UINTMAX_C UINT64_C
243
+
244
+ #endif // __STDC_CONSTANT_MACROS ]
245
+
246
+
247
+ #endif // _MSC_STDINT_H_ ]
@@ -31,7 +31,7 @@ struct uv__work {
31
31
  void (*work)(struct uv__work *w);
32
32
  void (*done)(struct uv__work *w, int status);
33
33
  struct uv_loop_s* loop;
34
- struct uv__queue wq;
34
+ void* wq[2];
35
35
  };
36
36
 
37
37
  #endif /* UV_THREADPOOL_H_ */
@@ -59,6 +59,7 @@
59
59
  # include "uv/darwin.h"
60
60
  #elif defined(__DragonFly__) || \
61
61
  defined(__FreeBSD__) || \
62
+ defined(__FreeBSD_kernel__) || \
62
63
  defined(__OpenBSD__) || \
63
64
  defined(__NetBSD__)
64
65
  # include "uv/bsd.h"
@@ -92,8 +93,8 @@ typedef struct uv__io_s uv__io_t;
92
93
 
93
94
  struct uv__io_s {
94
95
  uv__io_cb cb;
95
- struct uv__queue pending_queue;
96
- struct uv__queue watcher_queue;
96
+ void* pending_queue[2];
97
+ void* watcher_queue[2];
97
98
  unsigned int pevents; /* Pending event mask i.e. mask at next tick. */
98
99
  unsigned int events; /* Current event mask. */
99
100
  int fd;
@@ -220,21 +221,21 @@ typedef struct {
220
221
  #define UV_LOOP_PRIVATE_FIELDS \
221
222
  unsigned long flags; \
222
223
  int backend_fd; \
223
- struct uv__queue pending_queue; \
224
- struct uv__queue watcher_queue; \
224
+ void* pending_queue[2]; \
225
+ void* watcher_queue[2]; \
225
226
  uv__io_t** watchers; \
226
227
  unsigned int nwatchers; \
227
228
  unsigned int nfds; \
228
- struct uv__queue wq; \
229
+ void* wq[2]; \
229
230
  uv_mutex_t wq_mutex; \
230
231
  uv_async_t wq_async; \
231
232
  uv_rwlock_t cloexec_lock; \
232
233
  uv_handle_t* closing_handles; \
233
- struct uv__queue process_handles; \
234
- struct uv__queue prepare_handles; \
235
- struct uv__queue check_handles; \
236
- struct uv__queue idle_handles; \
237
- struct uv__queue async_handles; \
234
+ void* process_handles[2]; \
235
+ void* prepare_handles[2]; \
236
+ void* check_handles[2]; \
237
+ void* idle_handles[2]; \
238
+ void* async_handles[2]; \
238
239
  void (*async_unused)(void); /* TODO(bnoordhuis) Remove in libuv v2. */ \
239
240
  uv__io_t async_io_watcher; \
240
241
  int async_wfd; \
@@ -257,7 +258,7 @@ typedef struct {
257
258
  #define UV_PRIVATE_REQ_TYPES /* empty */
258
259
 
259
260
  #define UV_WRITE_PRIVATE_FIELDS \
260
- struct uv__queue queue; \
261
+ void* queue[2]; \
261
262
  unsigned int write_index; \
262
263
  uv_buf_t* bufs; \
263
264
  unsigned int nbufs; \
@@ -265,12 +266,12 @@ typedef struct {
265
266
  uv_buf_t bufsml[4]; \
266
267
 
267
268
  #define UV_CONNECT_PRIVATE_FIELDS \
268
- struct uv__queue queue; \
269
+ void* queue[2]; \
269
270
 
270
271
  #define UV_SHUTDOWN_PRIVATE_FIELDS /* empty */
271
272
 
272
273
  #define UV_UDP_SEND_PRIVATE_FIELDS \
273
- struct uv__queue queue; \
274
+ void* queue[2]; \
274
275
  struct sockaddr_storage addr; \
275
276
  unsigned int nbufs; \
276
277
  uv_buf_t* bufs; \
@@ -286,8 +287,8 @@ typedef struct {
286
287
  uv_connect_t *connect_req; \
287
288
  uv_shutdown_t *shutdown_req; \
288
289
  uv__io_t io_watcher; \
289
- struct uv__queue write_queue; \
290
- struct uv__queue write_completed_queue; \
290
+ void* write_queue[2]; \
291
+ void* write_completed_queue[2]; \
291
292
  uv_connection_cb connection_cb; \
292
293
  int delayed_error; \
293
294
  int accepted_fd; \
@@ -300,30 +301,30 @@ typedef struct {
300
301
  uv_alloc_cb alloc_cb; \
301
302
  uv_udp_recv_cb recv_cb; \
302
303
  uv__io_t io_watcher; \
303
- struct uv__queue write_queue; \
304
- struct uv__queue write_completed_queue; \
304
+ void* write_queue[2]; \
305
+ void* write_completed_queue[2]; \
305
306
 
306
307
  #define UV_PIPE_PRIVATE_FIELDS \
307
- const char* pipe_fname; /* NULL or strdup'ed */
308
+ const char* pipe_fname; /* strdup'ed */
308
309
 
309
310
  #define UV_POLL_PRIVATE_FIELDS \
310
311
  uv__io_t io_watcher;
311
312
 
312
313
  #define UV_PREPARE_PRIVATE_FIELDS \
313
314
  uv_prepare_cb prepare_cb; \
314
- struct uv__queue queue; \
315
+ void* queue[2]; \
315
316
 
316
317
  #define UV_CHECK_PRIVATE_FIELDS \
317
318
  uv_check_cb check_cb; \
318
- struct uv__queue queue; \
319
+ void* queue[2]; \
319
320
 
320
321
  #define UV_IDLE_PRIVATE_FIELDS \
321
322
  uv_idle_cb idle_cb; \
322
- struct uv__queue queue; \
323
+ void* queue[2]; \
323
324
 
324
325
  #define UV_ASYNC_PRIVATE_FIELDS \
325
326
  uv_async_cb async_cb; \
326
- struct uv__queue queue; \
327
+ void* queue[2]; \
327
328
  int pending; \
328
329
 
329
330
  #define UV_TIMER_PRIVATE_FIELDS \
@@ -352,7 +353,7 @@ typedef struct {
352
353
  int retcode;
353
354
 
354
355
  #define UV_PROCESS_PRIVATE_FIELDS \
355
- struct uv__queue queue; \
356
+ void* queue[2]; \
356
357
  int status; \
357
358
 
358
359
  #define UV_FS_PRIVATE_FIELDS \
@@ -417,8 +418,6 @@ typedef struct {
417
418
  # define UV_FS_O_DIRECT 0x04000
418
419
  #elif defined(__linux__) && defined(__x86_64__)
419
420
  # define UV_FS_O_DIRECT 0x04000
420
- #elif defined(__linux__) && defined(__loongarch__)
421
- # define UV_FS_O_DIRECT 0x04000
422
421
  #elif defined(O_DIRECT)
423
422
  # define UV_FS_O_DIRECT O_DIRECT
424
423
  #else
@@ -31,8 +31,8 @@
31
31
  */
32
32
 
33
33
  #define UV_VERSION_MAJOR 1
34
- #define UV_VERSION_MINOR 46
35
- #define UV_VERSION_PATCH 0
34
+ #define UV_VERSION_MINOR 44
35
+ #define UV_VERSION_PATCH 2
36
36
  #define UV_VERSION_IS_RELEASE 1
37
37
  #define UV_VERSION_SUFFIX ""
38
38
 
@@ -59,7 +59,12 @@ typedef struct pollfd {
59
59
  #include <signal.h>
60
60
  #include <fcntl.h>
61
61
  #include <sys/stat.h>
62
- #include <stdint.h>
62
+
63
+ #if defined(_MSC_VER) && _MSC_VER < 1600
64
+ # include "uv/stdint-msvc2008.h"
65
+ #else
66
+ # include <stdint.h>
67
+ #endif
63
68
 
64
69
  #include "uv/tree.h"
65
70
  #include "uv/threadpool.h"
@@ -70,11 +75,6 @@ typedef struct pollfd {
70
75
  # define S_IFLNK 0xA000
71
76
  #endif
72
77
 
73
- // Define missing in Windows Kit Include\{VERSION}\ucrt\sys\stat.h
74
- #if defined(_CRT_INTERNAL_NONSTDC_NAMES) && _CRT_INTERNAL_NONSTDC_NAMES && !defined(S_IFIFO)
75
- # define S_IFIFO _S_IFIFO
76
- #endif
77
-
78
78
  /* Additional signals supported by uv_signal and or uv_kill. The CRT defines
79
79
  * the following signals already:
80
80
  *
@@ -91,7 +91,6 @@ typedef struct pollfd {
91
91
  * variants (Linux and Darwin)
92
92
  */
93
93
  #define SIGHUP 1
94
- #define SIGQUIT 3
95
94
  #define SIGKILL 9
96
95
  #define SIGWINCH 28
97
96
 
@@ -224,7 +223,7 @@ typedef struct _AFD_POLL_INFO {
224
223
  AFD_POLL_HANDLE_INFO Handles[1];
225
224
  } AFD_POLL_INFO, *PAFD_POLL_INFO;
226
225
 
227
- #define UV_MSAFD_PROVIDER_COUNT 4
226
+ #define UV_MSAFD_PROVIDER_COUNT 3
228
227
 
229
228
 
230
229
  /**
@@ -275,12 +274,11 @@ typedef struct {
275
274
  } uv_rwlock_t;
276
275
 
277
276
  typedef struct {
278
- unsigned threshold;
279
- unsigned in;
277
+ unsigned int n;
278
+ unsigned int count;
280
279
  uv_mutex_t mutex;
281
- /* TODO: in v2 make this a uv_cond_t, without unused_ */
282
- CONDITION_VARIABLE cond;
283
- unsigned out;
280
+ uv_sem_t turnstile1;
281
+ uv_sem_t turnstile2;
284
282
  } uv_barrier_t;
285
283
 
286
284
  typedef struct {
@@ -350,14 +348,14 @@ typedef struct {
350
348
  uv_idle_t* next_idle_handle; \
351
349
  /* This handle holds the peer sockets for the fast variant of uv_poll_t */ \
352
350
  SOCKET poll_peer_sockets[UV_MSAFD_PROVIDER_COUNT]; \
353
- /* No longer used. */ \
351
+ /* Counter to keep track of active tcp streams */ \
354
352
  unsigned int active_tcp_streams; \
355
- /* No longer used. */ \
353
+ /* Counter to keep track of active udp streams */ \
356
354
  unsigned int active_udp_streams; \
357
355
  /* Counter to started timer */ \
358
356
  uint64_t timer_counter; \
359
357
  /* Threadpool */ \
360
- struct uv__queue wq; \
358
+ void* wq[2]; \
361
359
  uv_mutex_t wq_mutex; \
362
360
  uv_async_t wq_async;
363
361
 
@@ -384,7 +382,6 @@ typedef struct {
384
382
  ULONG_PTR result; /* overlapped.Internal is reused to hold the result */\
385
383
  HANDLE pipeHandle; \
386
384
  DWORD duplex_flags; \
387
- WCHAR* name; \
388
385
  } connect; \
389
386
  } u; \
390
387
  struct uv_req_s* next_req;
@@ -486,7 +483,7 @@ typedef struct {
486
483
  uint32_t payload_remaining; \
487
484
  uint64_t dummy; /* TODO: retained for ABI compat; remove this in v2.x. */ \
488
485
  } ipc_data_frame; \
489
- struct uv__queue ipc_xfer_queue; \
486
+ void* ipc_xfer_queue[2]; \
490
487
  int ipc_xfer_queue_length; \
491
488
  uv_write_t* non_overlapped_writes_tail; \
492
489
  CRITICAL_SECTION readfile_thread_lock; \
@@ -500,7 +497,7 @@ typedef struct {
500
497
  struct { uv_pipe_connection_fields } conn; \
501
498
  } pipe;
502
499
 
503
- /* TODO: put the parser states in a union - TTY handles are always half-duplex
500
+ /* TODO: put the parser states in an union - TTY handles are always half-duplex
504
501
  * so read-state can safely overlap write-state. */
505
502
  #define UV_TTY_PRIVATE_FIELDS \
506
503
  HANDLE handle; \
@@ -608,7 +605,7 @@ typedef struct {
608
605
  struct uv_process_exit_s { \
609
606
  UV_REQ_FIELDS \
610
607
  } exit_req; \
611
- void* unused; /* TODO: retained for ABI compat; remove this in v2.x. */ \
608
+ BYTE* child_stdio_buffer; \
612
609
  int exit_signal; \
613
610
  HANDLE wait_handle; \
614
611
  HANDLE process_handle; \
package/include/node/uv.h CHANGED
@@ -31,7 +31,6 @@ extern "C" {
31
31
  #error "Define either BUILDING_UV_SHARED or USING_UV_SHARED, not both."
32
32
  #endif
33
33
 
34
- #ifndef UV_EXTERN
35
34
  #ifdef _WIN32
36
35
  /* Windows - set up dll import/export decorators. */
37
36
  # if defined(BUILDING_UV_SHARED)
@@ -51,19 +50,17 @@ extern "C" {
51
50
  #else
52
51
  # define UV_EXTERN /* nothing */
53
52
  #endif
54
- #endif /* UV_EXTERN */
55
53
 
56
54
  #include "uv/errno.h"
57
55
  #include "uv/version.h"
58
56
  #include <stddef.h>
59
57
  #include <stdio.h>
60
- #include <stdint.h>
61
58
 
62
- /* Internal type, do not use. */
63
- struct uv__queue {
64
- struct uv__queue* next;
65
- struct uv__queue* prev;
66
- };
59
+ #if defined(_MSC_VER) && _MSC_VER < 1600
60
+ # include "uv/stdint-msvc2008.h"
61
+ #else
62
+ # include <stdint.h>
63
+ #endif
67
64
 
68
65
  #if defined(_WIN32)
69
66
  # include "uv/win.h"
@@ -155,8 +152,6 @@ struct uv__queue {
155
152
  XX(EFTYPE, "inappropriate file type or format") \
156
153
  XX(EILSEQ, "illegal byte sequence") \
157
154
  XX(ESOCKTNOSUPPORT, "socket type not supported") \
158
- XX(ENODATA, "no data available") \
159
- XX(EUNATCH, "protocol driver not attached") \
160
155
 
161
156
  #define UV_HANDLE_TYPE_MAP(XX) \
162
157
  XX(ASYNC, async) \
@@ -252,12 +247,9 @@ typedef struct uv_cpu_info_s uv_cpu_info_t;
252
247
  typedef struct uv_interface_address_s uv_interface_address_t;
253
248
  typedef struct uv_dirent_s uv_dirent_t;
254
249
  typedef struct uv_passwd_s uv_passwd_t;
255
- typedef struct uv_group_s uv_group_t;
256
250
  typedef struct uv_utsname_s uv_utsname_t;
257
251
  typedef struct uv_statfs_s uv_statfs_t;
258
252
 
259
- typedef struct uv_metrics_s uv_metrics_t;
260
-
261
253
  typedef enum {
262
254
  UV_LOOP_BLOCK_SIGNAL = 0,
263
255
  UV_METRICS_IDLE_TIME
@@ -290,13 +282,13 @@ UV_EXTERN int uv_loop_init(uv_loop_t* loop);
290
282
  UV_EXTERN int uv_loop_close(uv_loop_t* loop);
291
283
  /*
292
284
  * NOTE:
293
- * This function is DEPRECATED, users should
285
+ * This function is DEPRECATED (to be removed after 0.12), users should
294
286
  * allocate the loop manually and use uv_loop_init instead.
295
287
  */
296
288
  UV_EXTERN uv_loop_t* uv_loop_new(void);
297
289
  /*
298
290
  * NOTE:
299
- * This function is DEPRECATED. Users should use
291
+ * This function is DEPRECATED (to be removed after 0.12). Users should use
300
292
  * uv_loop_close and free the memory manually instead.
301
293
  */
302
294
  UV_EXTERN void uv_loop_delete(uv_loop_t*);
@@ -352,32 +344,11 @@ typedef void (*uv_random_cb)(uv_random_t* req,
352
344
  void* buf,
353
345
  size_t buflen);
354
346
 
355
- typedef enum {
356
- UV_CLOCK_MONOTONIC,
357
- UV_CLOCK_REALTIME
358
- } uv_clock_id;
359
-
360
- /* XXX(bnoordhuis) not 2038-proof, https://github.com/libuv/libuv/issues/3864 */
361
347
  typedef struct {
362
348
  long tv_sec;
363
349
  long tv_nsec;
364
350
  } uv_timespec_t;
365
351
 
366
- typedef struct {
367
- int64_t tv_sec;
368
- int32_t tv_nsec;
369
- } uv_timespec64_t;
370
-
371
- /* XXX(bnoordhuis) not 2038-proof, https://github.com/libuv/libuv/issues/3864 */
372
- typedef struct {
373
- long tv_sec;
374
- long tv_usec;
375
- } uv_timeval_t;
376
-
377
- typedef struct {
378
- int64_t tv_sec;
379
- int32_t tv_usec;
380
- } uv_timeval64_t;
381
352
 
382
353
  typedef struct {
383
354
  uint64_t st_dev;
@@ -466,7 +437,7 @@ struct uv_shutdown_s {
466
437
  uv_handle_type type; \
467
438
  /* private */ \
468
439
  uv_close_cb close_cb; \
469
- struct uv__queue handle_queue; \
440
+ void* handle_queue[2]; \
470
441
  union { \
471
442
  int fd; \
472
443
  void* reserved[4]; \
@@ -808,10 +779,6 @@ inline int uv_tty_set_mode(uv_tty_t* handle, int mode) {
808
779
 
809
780
  UV_EXTERN uv_handle_type uv_guess_handle(uv_file file);
810
781
 
811
- enum {
812
- UV_PIPE_NO_TRUNCATE = 1u << 0
813
- };
814
-
815
782
  /*
816
783
  * uv_pipe_t is a subclass of uv_stream_t.
817
784
  *
@@ -828,20 +795,10 @@ struct uv_pipe_s {
828
795
  UV_EXTERN int uv_pipe_init(uv_loop_t*, uv_pipe_t* handle, int ipc);
829
796
  UV_EXTERN int uv_pipe_open(uv_pipe_t*, uv_file file);
830
797
  UV_EXTERN int uv_pipe_bind(uv_pipe_t* handle, const char* name);
831
- UV_EXTERN int uv_pipe_bind2(uv_pipe_t* handle,
832
- const char* name,
833
- size_t namelen,
834
- unsigned int flags);
835
798
  UV_EXTERN void uv_pipe_connect(uv_connect_t* req,
836
799
  uv_pipe_t* handle,
837
800
  const char* name,
838
801
  uv_connect_cb cb);
839
- UV_EXTERN int uv_pipe_connect2(uv_connect_t* req,
840
- uv_pipe_t* handle,
841
- const char* name,
842
- size_t namelen,
843
- unsigned int flags,
844
- uv_connect_cb cb);
845
802
  UV_EXTERN int uv_pipe_getsockname(const uv_pipe_t* handle,
846
803
  char* buffer,
847
804
  size_t* size);
@@ -1182,12 +1139,6 @@ struct uv_passwd_s {
1182
1139
  char* homedir;
1183
1140
  };
1184
1141
 
1185
- struct uv_group_s {
1186
- char* groupname;
1187
- unsigned long gid;
1188
- char** members;
1189
- };
1190
-
1191
1142
  struct uv_utsname_s {
1192
1143
  char sysname[256];
1193
1144
  char release[256];
@@ -1233,6 +1184,16 @@ UV_EXTERN int uv_uptime(double* uptime);
1233
1184
  UV_EXTERN uv_os_fd_t uv_get_osfhandle(int fd);
1234
1185
  UV_EXTERN int uv_open_osfhandle(uv_os_fd_t os_fd);
1235
1186
 
1187
+ typedef struct {
1188
+ long tv_sec;
1189
+ long tv_usec;
1190
+ } uv_timeval_t;
1191
+
1192
+ typedef struct {
1193
+ int64_t tv_sec;
1194
+ int32_t tv_usec;
1195
+ } uv_timeval64_t;
1196
+
1236
1197
  typedef struct {
1237
1198
  uv_timeval_t ru_utime; /* user CPU time used */
1238
1199
  uv_timeval_t ru_stime; /* system CPU time used */
@@ -1258,9 +1219,6 @@ UV_EXTERN int uv_os_homedir(char* buffer, size_t* size);
1258
1219
  UV_EXTERN int uv_os_tmpdir(char* buffer, size_t* size);
1259
1220
  UV_EXTERN int uv_os_get_passwd(uv_passwd_t* pwd);
1260
1221
  UV_EXTERN void uv_os_free_passwd(uv_passwd_t* pwd);
1261
- UV_EXTERN int uv_os_get_passwd2(uv_passwd_t* pwd, uv_uid_t uid);
1262
- UV_EXTERN int uv_os_get_group(uv_group_t* grp, uv_uid_t gid);
1263
- UV_EXTERN void uv_os_free_group(uv_group_t* grp);
1264
1222
  UV_EXTERN uv_pid_t uv_os_getpid(void);
1265
1223
  UV_EXTERN uv_pid_t uv_os_getppid(void);
1266
1224
 
@@ -1287,7 +1245,6 @@ UV_EXTERN int uv_os_setpriority(uv_pid_t pid, int priority);
1287
1245
  UV_EXTERN unsigned int uv_available_parallelism(void);
1288
1246
  UV_EXTERN int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count);
1289
1247
  UV_EXTERN void uv_free_cpu_info(uv_cpu_info_t* cpu_infos, int count);
1290
- UV_EXTERN int uv_cpumask_size(void);
1291
1248
 
1292
1249
  UV_EXTERN int uv_interface_addresses(uv_interface_address_t** addresses,
1293
1250
  int* count);
@@ -1320,15 +1277,6 @@ UV_EXTERN int uv_os_gethostname(char* buffer, size_t* size);
1320
1277
 
1321
1278
  UV_EXTERN int uv_os_uname(uv_utsname_t* buffer);
1322
1279
 
1323
- struct uv_metrics_s {
1324
- uint64_t loop_count;
1325
- uint64_t events;
1326
- uint64_t events_waiting;
1327
- /* private */
1328
- uint64_t* reserved[13];
1329
- };
1330
-
1331
- UV_EXTERN int uv_metrics_info(uv_loop_t* loop, uv_metrics_t* metrics);
1332
1280
  UV_EXTERN uint64_t uv_metrics_idle_time(uv_loop_t* loop);
1333
1281
 
1334
1282
  typedef enum {
@@ -1762,9 +1710,7 @@ UV_EXTERN int uv_chdir(const char* dir);
1762
1710
  UV_EXTERN uint64_t uv_get_free_memory(void);
1763
1711
  UV_EXTERN uint64_t uv_get_total_memory(void);
1764
1712
  UV_EXTERN uint64_t uv_get_constrained_memory(void);
1765
- UV_EXTERN uint64_t uv_get_available_memory(void);
1766
1713
 
1767
- UV_EXTERN int uv_clock_gettime(uv_clock_id clock_id, uv_timespec64_t* ts);
1768
1714
  UV_EXTERN uint64_t uv_hrtime(void);
1769
1715
  UV_EXTERN void uv_sleep(unsigned int msec);
1770
1716
 
@@ -1841,14 +1787,6 @@ UV_EXTERN int uv_thread_create_ex(uv_thread_t* tid,
1841
1787
  const uv_thread_options_t* params,
1842
1788
  uv_thread_cb entry,
1843
1789
  void* arg);
1844
- UV_EXTERN int uv_thread_setaffinity(uv_thread_t* tid,
1845
- char* cpumask,
1846
- char* oldmask,
1847
- size_t mask_size);
1848
- UV_EXTERN int uv_thread_getaffinity(uv_thread_t* tid,
1849
- char* cpumask,
1850
- size_t mask_size);
1851
- UV_EXTERN int uv_thread_getcpu(void);
1852
1790
  UV_EXTERN uv_thread_t uv_thread_self(void);
1853
1791
  UV_EXTERN int uv_thread_join(uv_thread_t *tid);
1854
1792
  UV_EXTERN int uv_thread_equal(const uv_thread_t* t1, const uv_thread_t* t2);
@@ -1870,7 +1808,7 @@ struct uv_loop_s {
1870
1808
  void* data;
1871
1809
  /* Loop reference counting. */
1872
1810
  unsigned int active_handles;
1873
- struct uv__queue handle_queue;
1811
+ void* handle_queue[2];
1874
1812
  union {
1875
1813
  void* unused;
1876
1814
  unsigned int count;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-linux-arm64",
3
- "version": "v18.18.0",
3
+ "version": "v18.18.2",
4
4
  "description": "node",
5
5
  "bin": {
6
6
  "node": "bin/node"