node-linux-arm64 17.1.0 → 17.4.0

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.
Files changed (162) hide show
  1. package/CHANGELOG.md +515 -0
  2. package/LICENSE +15 -43
  3. package/README.md +31 -24
  4. package/bin/node +0 -0
  5. package/include/node/common.gypi +53 -3
  6. package/include/node/config.gypi +6 -2
  7. package/include/node/js_native_api.h +11 -0
  8. package/include/node/node_version.h +1 -1
  9. package/include/node/openssl/archs/BSD-x86/asm/crypto/buildinf.h +1 -1
  10. package/include/node/openssl/archs/BSD-x86/asm/include/openssl/opensslv.h +5 -5
  11. package/include/node/openssl/archs/BSD-x86/asm_avx2/crypto/buildinf.h +1 -1
  12. package/include/node/openssl/archs/BSD-x86/asm_avx2/include/openssl/opensslv.h +5 -5
  13. package/include/node/openssl/archs/BSD-x86/no-asm/crypto/buildinf.h +1 -1
  14. package/include/node/openssl/archs/BSD-x86/no-asm/include/openssl/opensslv.h +5 -5
  15. package/include/node/openssl/archs/BSD-x86_64/asm/crypto/buildinf.h +1 -1
  16. package/include/node/openssl/archs/BSD-x86_64/asm/include/openssl/opensslv.h +5 -5
  17. package/include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h +1 -1
  18. package/include/node/openssl/archs/BSD-x86_64/asm_avx2/include/openssl/opensslv.h +5 -5
  19. package/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/buildinf.h +1 -1
  20. package/include/node/openssl/archs/BSD-x86_64/no-asm/include/openssl/opensslv.h +5 -5
  21. package/include/node/openssl/archs/VC-WIN32/asm/crypto/buildinf.h +1 -1
  22. package/include/node/openssl/archs/VC-WIN32/asm/include/openssl/opensslv.h +5 -5
  23. package/include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/buildinf.h +1 -1
  24. package/include/node/openssl/archs/VC-WIN32/asm_avx2/include/openssl/opensslv.h +5 -5
  25. package/include/node/openssl/archs/VC-WIN32/no-asm/crypto/buildinf.h +1 -1
  26. package/include/node/openssl/archs/VC-WIN32/no-asm/include/openssl/opensslv.h +5 -5
  27. package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h +1 -1
  28. package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslv.h +5 -5
  29. package/include/node/openssl/archs/VC-WIN64A/asm/crypto/buildinf.h +1 -1
  30. package/include/node/openssl/archs/VC-WIN64A/asm/include/openssl/opensslv.h +5 -5
  31. package/include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h +1 -1
  32. package/include/node/openssl/archs/VC-WIN64A/asm_avx2/include/openssl/opensslv.h +5 -5
  33. package/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/buildinf.h +1 -1
  34. package/include/node/openssl/archs/VC-WIN64A/no-asm/include/openssl/opensslv.h +5 -5
  35. package/include/node/openssl/archs/aix-gcc/asm/crypto/buildinf.h +1 -1
  36. package/include/node/openssl/archs/aix-gcc/asm/include/openssl/opensslv.h +5 -5
  37. package/include/node/openssl/archs/aix-gcc/asm_avx2/crypto/buildinf.h +1 -1
  38. package/include/node/openssl/archs/aix-gcc/asm_avx2/include/openssl/opensslv.h +5 -5
  39. package/include/node/openssl/archs/aix-gcc/no-asm/crypto/buildinf.h +1 -1
  40. package/include/node/openssl/archs/aix-gcc/no-asm/include/openssl/opensslv.h +5 -5
  41. package/include/node/openssl/archs/aix64-gcc-as/asm/crypto/buildinf.h +1 -1
  42. package/include/node/openssl/archs/aix64-gcc-as/asm/include/openssl/opensslv.h +5 -5
  43. package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/crypto/buildinf.h +1 -1
  44. package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/include/openssl/opensslv.h +5 -5
  45. package/include/node/openssl/archs/aix64-gcc-as/no-asm/crypto/buildinf.h +1 -1
  46. package/include/node/openssl/archs/aix64-gcc-as/no-asm/include/openssl/opensslv.h +5 -5
  47. package/include/node/openssl/archs/darwin-i386-cc/asm/crypto/buildinf.h +1 -1
  48. package/include/node/openssl/archs/darwin-i386-cc/asm/include/openssl/opensslv.h +5 -5
  49. package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h +1 -1
  50. package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslv.h +5 -5
  51. package/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/buildinf.h +1 -1
  52. package/include/node/openssl/archs/darwin-i386-cc/no-asm/include/openssl/opensslv.h +5 -5
  53. package/include/node/openssl/archs/darwin64-arm64-cc/asm/crypto/buildinf.h +1 -1
  54. package/include/node/openssl/archs/darwin64-arm64-cc/asm/include/openssl/opensslv.h +5 -5
  55. package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/crypto/buildinf.h +1 -1
  56. package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/include/openssl/opensslv.h +5 -5
  57. package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/crypto/buildinf.h +1 -1
  58. package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/include/openssl/opensslv.h +5 -5
  59. package/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h +1 -1
  60. package/include/node/openssl/archs/darwin64-x86_64-cc/asm/include/openssl/opensslv.h +5 -5
  61. package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h +1 -1
  62. package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslv.h +5 -5
  63. package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h +1 -1
  64. package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslv.h +5 -5
  65. package/include/node/openssl/archs/linux-aarch64/asm/crypto/buildinf.h +1 -1
  66. package/include/node/openssl/archs/linux-aarch64/asm/include/openssl/opensslv.h +5 -5
  67. package/include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/buildinf.h +1 -1
  68. package/include/node/openssl/archs/linux-aarch64/asm_avx2/include/openssl/opensslv.h +5 -5
  69. package/include/node/openssl/archs/linux-aarch64/no-asm/crypto/buildinf.h +1 -1
  70. package/include/node/openssl/archs/linux-aarch64/no-asm/include/openssl/opensslv.h +5 -5
  71. package/include/node/openssl/archs/linux-armv4/asm/crypto/buildinf.h +1 -1
  72. package/include/node/openssl/archs/linux-armv4/asm/include/openssl/opensslv.h +5 -5
  73. package/include/node/openssl/archs/linux-armv4/asm_avx2/crypto/buildinf.h +1 -1
  74. package/include/node/openssl/archs/linux-armv4/asm_avx2/include/openssl/opensslv.h +5 -5
  75. package/include/node/openssl/archs/linux-armv4/no-asm/crypto/buildinf.h +1 -1
  76. package/include/node/openssl/archs/linux-armv4/no-asm/include/openssl/opensslv.h +5 -5
  77. package/include/node/openssl/archs/linux-elf/asm/crypto/buildinf.h +1 -1
  78. package/include/node/openssl/archs/linux-elf/asm/include/openssl/opensslv.h +5 -5
  79. package/include/node/openssl/archs/linux-elf/asm_avx2/crypto/buildinf.h +1 -1
  80. package/include/node/openssl/archs/linux-elf/asm_avx2/include/openssl/opensslv.h +5 -5
  81. package/include/node/openssl/archs/linux-elf/no-asm/crypto/buildinf.h +1 -1
  82. package/include/node/openssl/archs/linux-elf/no-asm/include/openssl/opensslv.h +5 -5
  83. package/include/node/openssl/archs/linux-ppc/asm/crypto/buildinf.h +1 -1
  84. package/include/node/openssl/archs/linux-ppc/asm/include/openssl/opensslv.h +5 -5
  85. package/include/node/openssl/archs/linux-ppc/asm_avx2/crypto/buildinf.h +1 -1
  86. package/include/node/openssl/archs/linux-ppc/asm_avx2/include/openssl/opensslv.h +5 -5
  87. package/include/node/openssl/archs/linux-ppc/no-asm/crypto/buildinf.h +1 -1
  88. package/include/node/openssl/archs/linux-ppc/no-asm/include/openssl/opensslv.h +5 -5
  89. package/include/node/openssl/archs/linux-ppc64/asm/crypto/buildinf.h +1 -1
  90. package/include/node/openssl/archs/linux-ppc64/asm/include/openssl/opensslv.h +5 -5
  91. package/include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/buildinf.h +1 -1
  92. package/include/node/openssl/archs/linux-ppc64/asm_avx2/include/openssl/opensslv.h +5 -5
  93. package/include/node/openssl/archs/linux-ppc64/no-asm/crypto/buildinf.h +1 -1
  94. package/include/node/openssl/archs/linux-ppc64/no-asm/include/openssl/opensslv.h +5 -5
  95. package/include/node/openssl/archs/linux-ppc64le/asm/crypto/buildinf.h +1 -1
  96. package/include/node/openssl/archs/linux-ppc64le/asm/include/openssl/opensslv.h +5 -5
  97. package/include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h +1 -1
  98. package/include/node/openssl/archs/linux-ppc64le/asm_avx2/include/openssl/opensslv.h +5 -5
  99. package/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/buildinf.h +1 -1
  100. package/include/node/openssl/archs/linux-ppc64le/no-asm/include/openssl/opensslv.h +5 -5
  101. package/include/node/openssl/archs/linux-x32/asm/crypto/buildinf.h +1 -1
  102. package/include/node/openssl/archs/linux-x32/asm/include/openssl/opensslv.h +5 -5
  103. package/include/node/openssl/archs/linux-x32/asm_avx2/crypto/buildinf.h +1 -1
  104. package/include/node/openssl/archs/linux-x32/asm_avx2/include/openssl/opensslv.h +5 -5
  105. package/include/node/openssl/archs/linux-x32/no-asm/crypto/buildinf.h +1 -1
  106. package/include/node/openssl/archs/linux-x32/no-asm/include/openssl/opensslv.h +5 -5
  107. package/include/node/openssl/archs/linux-x86_64/asm/crypto/buildinf.h +1 -1
  108. package/include/node/openssl/archs/linux-x86_64/asm/include/openssl/opensslv.h +5 -5
  109. package/include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/buildinf.h +1 -1
  110. package/include/node/openssl/archs/linux-x86_64/asm_avx2/include/openssl/opensslv.h +5 -5
  111. package/include/node/openssl/archs/linux-x86_64/no-asm/crypto/buildinf.h +1 -1
  112. package/include/node/openssl/archs/linux-x86_64/no-asm/include/openssl/opensslv.h +5 -5
  113. package/include/node/openssl/archs/linux32-s390x/asm/crypto/buildinf.h +1 -1
  114. package/include/node/openssl/archs/linux32-s390x/asm/include/openssl/opensslv.h +5 -5
  115. package/include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/buildinf.h +1 -1
  116. package/include/node/openssl/archs/linux32-s390x/asm_avx2/include/openssl/opensslv.h +5 -5
  117. package/include/node/openssl/archs/linux32-s390x/no-asm/crypto/buildinf.h +1 -1
  118. package/include/node/openssl/archs/linux32-s390x/no-asm/include/openssl/opensslv.h +5 -5
  119. package/include/node/openssl/archs/linux64-mips64/asm/crypto/buildinf.h +1 -1
  120. package/include/node/openssl/archs/linux64-mips64/asm/include/openssl/opensslv.h +5 -5
  121. package/include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/buildinf.h +1 -1
  122. package/include/node/openssl/archs/linux64-mips64/asm_avx2/include/openssl/opensslv.h +5 -5
  123. package/include/node/openssl/archs/linux64-mips64/no-asm/crypto/buildinf.h +1 -1
  124. package/include/node/openssl/archs/linux64-mips64/no-asm/include/openssl/opensslv.h +5 -5
  125. package/include/node/openssl/archs/linux64-riscv64/no-asm/crypto/buildinf.h +1 -1
  126. package/include/node/openssl/archs/linux64-riscv64/no-asm/include/openssl/opensslv.h +5 -5
  127. package/include/node/openssl/archs/linux64-s390x/asm/crypto/buildinf.h +1 -1
  128. package/include/node/openssl/archs/linux64-s390x/asm/include/openssl/opensslv.h +5 -5
  129. package/include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/buildinf.h +1 -1
  130. package/include/node/openssl/archs/linux64-s390x/asm_avx2/include/openssl/opensslv.h +5 -5
  131. package/include/node/openssl/archs/linux64-s390x/no-asm/crypto/buildinf.h +1 -1
  132. package/include/node/openssl/archs/linux64-s390x/no-asm/include/openssl/opensslv.h +5 -5
  133. package/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/buildinf.h +1 -1
  134. package/include/node/openssl/archs/solaris-x86-gcc/asm/include/openssl/opensslv.h +5 -5
  135. package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h +1 -1
  136. package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslv.h +5 -5
  137. package/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h +1 -1
  138. package/include/node/openssl/archs/solaris-x86-gcc/no-asm/include/openssl/opensslv.h +5 -5
  139. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h +1 -1
  140. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslv.h +5 -5
  141. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h +1 -1
  142. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslv.h +5 -5
  143. package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h +1 -1
  144. package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslv.h +5 -5
  145. package/include/node/openssl/core.h +1 -1
  146. package/include/node/openssl/cryptoerr.h +1 -0
  147. package/include/node/openssl/httperr.h +1 -0
  148. package/include/node/openssl/macros.h +1 -1
  149. package/include/node/uv/unix.h +2 -4
  150. package/include/node/uv/version.h +1 -1
  151. package/include/node/uv/win.h +7 -0
  152. package/include/node/uv.h +3 -0
  153. package/include/node/v8-callbacks.h +3 -0
  154. package/include/node/v8-forward.h +5 -3
  155. package/include/node/v8-initialization.h +25 -9
  156. package/include/node/v8-internal.h +9 -20
  157. package/include/node/v8-isolate.h +3 -0
  158. package/include/node/v8-locker.h +7 -2
  159. package/include/node/v8-message.h +4 -1
  160. package/include/node/v8-template.h +1 -0
  161. package/include/node/v8-version.h +3 -3
  162. package/package.json +1 -1
@@ -29,7 +29,7 @@ extern "C" {
29
29
  */
30
30
  # define OPENSSL_VERSION_MAJOR 3
31
31
  # define OPENSSL_VERSION_MINOR 0
32
- # define OPENSSL_VERSION_PATCH 0
32
+ # define OPENSSL_VERSION_PATCH 1
33
33
 
34
34
  /*
35
35
  * Additional version information
@@ -74,21 +74,21 @@ extern "C" {
74
74
  * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and
75
75
  * OPENSSL_VERSION_BUILD_METADATA_STR appended.
76
76
  */
77
- # define OPENSSL_VERSION_STR "3.0.0"
78
- # define OPENSSL_FULL_VERSION_STR "3.0.0+quic"
77
+ # define OPENSSL_VERSION_STR "3.0.1"
78
+ # define OPENSSL_FULL_VERSION_STR "3.0.1+quic"
79
79
 
80
80
  /*
81
81
  * SECTION 3: ADDITIONAL METADATA
82
82
  *
83
83
  * These strings are defined separately to allow them to be parsable.
84
84
  */
85
- # define OPENSSL_RELEASE_DATE "7 sep 2021"
85
+ # define OPENSSL_RELEASE_DATE "14 Dec 2021"
86
86
 
87
87
  /*
88
88
  * SECTION 4: BACKWARD COMPATIBILITY
89
89
  */
90
90
 
91
- # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.0+quic 7 sep 2021"
91
+ # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.1+quic 14 Dec 2021"
92
92
 
93
93
  /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
94
94
  # ifdef OPENSSL_VERSION_PRE_RELEASE
@@ -11,7 +11,7 @@
11
11
  */
12
12
 
13
13
  #define PLATFORM "platform: linux64-s390x"
14
- #define DATE "built on: Tue Oct 19 08:19:10 2021 UTC"
14
+ #define DATE "built on: Tue Dec 14 23:04:23 2021 UTC"
15
15
 
16
16
  /*
17
17
  * Generate compiler_flags as an array of individual characters. This is a
@@ -29,7 +29,7 @@ extern "C" {
29
29
  */
30
30
  # define OPENSSL_VERSION_MAJOR 3
31
31
  # define OPENSSL_VERSION_MINOR 0
32
- # define OPENSSL_VERSION_PATCH 0
32
+ # define OPENSSL_VERSION_PATCH 1
33
33
 
34
34
  /*
35
35
  * Additional version information
@@ -74,21 +74,21 @@ extern "C" {
74
74
  * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and
75
75
  * OPENSSL_VERSION_BUILD_METADATA_STR appended.
76
76
  */
77
- # define OPENSSL_VERSION_STR "3.0.0"
78
- # define OPENSSL_FULL_VERSION_STR "3.0.0+quic"
77
+ # define OPENSSL_VERSION_STR "3.0.1"
78
+ # define OPENSSL_FULL_VERSION_STR "3.0.1+quic"
79
79
 
80
80
  /*
81
81
  * SECTION 3: ADDITIONAL METADATA
82
82
  *
83
83
  * These strings are defined separately to allow them to be parsable.
84
84
  */
85
- # define OPENSSL_RELEASE_DATE "7 sep 2021"
85
+ # define OPENSSL_RELEASE_DATE "14 Dec 2021"
86
86
 
87
87
  /*
88
88
  * SECTION 4: BACKWARD COMPATIBILITY
89
89
  */
90
90
 
91
- # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.0+quic 7 sep 2021"
91
+ # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.1+quic 14 Dec 2021"
92
92
 
93
93
  /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
94
94
  # ifdef OPENSSL_VERSION_PRE_RELEASE
@@ -11,7 +11,7 @@
11
11
  */
12
12
 
13
13
  #define PLATFORM "platform: solaris-x86-gcc"
14
- #define DATE "built on: Tue Oct 19 08:20:06 2021 UTC"
14
+ #define DATE "built on: Tue Dec 14 23:05:35 2021 UTC"
15
15
 
16
16
  /*
17
17
  * Generate compiler_flags as an array of individual characters. This is a
@@ -29,7 +29,7 @@ extern "C" {
29
29
  */
30
30
  # define OPENSSL_VERSION_MAJOR 3
31
31
  # define OPENSSL_VERSION_MINOR 0
32
- # define OPENSSL_VERSION_PATCH 0
32
+ # define OPENSSL_VERSION_PATCH 1
33
33
 
34
34
  /*
35
35
  * Additional version information
@@ -74,21 +74,21 @@ extern "C" {
74
74
  * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and
75
75
  * OPENSSL_VERSION_BUILD_METADATA_STR appended.
76
76
  */
77
- # define OPENSSL_VERSION_STR "3.0.0"
78
- # define OPENSSL_FULL_VERSION_STR "3.0.0+quic"
77
+ # define OPENSSL_VERSION_STR "3.0.1"
78
+ # define OPENSSL_FULL_VERSION_STR "3.0.1+quic"
79
79
 
80
80
  /*
81
81
  * SECTION 3: ADDITIONAL METADATA
82
82
  *
83
83
  * These strings are defined separately to allow them to be parsable.
84
84
  */
85
- # define OPENSSL_RELEASE_DATE "7 sep 2021"
85
+ # define OPENSSL_RELEASE_DATE "14 Dec 2021"
86
86
 
87
87
  /*
88
88
  * SECTION 4: BACKWARD COMPATIBILITY
89
89
  */
90
90
 
91
- # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.0+quic 7 sep 2021"
91
+ # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.1+quic 14 Dec 2021"
92
92
 
93
93
  /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
94
94
  # ifdef OPENSSL_VERSION_PRE_RELEASE
@@ -11,7 +11,7 @@
11
11
  */
12
12
 
13
13
  #define PLATFORM "platform: solaris-x86-gcc"
14
- #define DATE "built on: Tue Oct 19 08:20:21 2021 UTC"
14
+ #define DATE "built on: Tue Dec 14 23:05:55 2021 UTC"
15
15
 
16
16
  /*
17
17
  * Generate compiler_flags as an array of individual characters. This is a
@@ -29,7 +29,7 @@ extern "C" {
29
29
  */
30
30
  # define OPENSSL_VERSION_MAJOR 3
31
31
  # define OPENSSL_VERSION_MINOR 0
32
- # define OPENSSL_VERSION_PATCH 0
32
+ # define OPENSSL_VERSION_PATCH 1
33
33
 
34
34
  /*
35
35
  * Additional version information
@@ -74,21 +74,21 @@ extern "C" {
74
74
  * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and
75
75
  * OPENSSL_VERSION_BUILD_METADATA_STR appended.
76
76
  */
77
- # define OPENSSL_VERSION_STR "3.0.0"
78
- # define OPENSSL_FULL_VERSION_STR "3.0.0+quic"
77
+ # define OPENSSL_VERSION_STR "3.0.1"
78
+ # define OPENSSL_FULL_VERSION_STR "3.0.1+quic"
79
79
 
80
80
  /*
81
81
  * SECTION 3: ADDITIONAL METADATA
82
82
  *
83
83
  * These strings are defined separately to allow them to be parsable.
84
84
  */
85
- # define OPENSSL_RELEASE_DATE "7 sep 2021"
85
+ # define OPENSSL_RELEASE_DATE "14 Dec 2021"
86
86
 
87
87
  /*
88
88
  * SECTION 4: BACKWARD COMPATIBILITY
89
89
  */
90
90
 
91
- # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.0+quic 7 sep 2021"
91
+ # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.1+quic 14 Dec 2021"
92
92
 
93
93
  /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
94
94
  # ifdef OPENSSL_VERSION_PRE_RELEASE
@@ -11,7 +11,7 @@
11
11
  */
12
12
 
13
13
  #define PLATFORM "platform: solaris-x86-gcc"
14
- #define DATE "built on: Tue Oct 19 08:20:37 2021 UTC"
14
+ #define DATE "built on: Tue Dec 14 23:06:16 2021 UTC"
15
15
 
16
16
  /*
17
17
  * Generate compiler_flags as an array of individual characters. This is a
@@ -29,7 +29,7 @@ extern "C" {
29
29
  */
30
30
  # define OPENSSL_VERSION_MAJOR 3
31
31
  # define OPENSSL_VERSION_MINOR 0
32
- # define OPENSSL_VERSION_PATCH 0
32
+ # define OPENSSL_VERSION_PATCH 1
33
33
 
34
34
  /*
35
35
  * Additional version information
@@ -74,21 +74,21 @@ extern "C" {
74
74
  * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and
75
75
  * OPENSSL_VERSION_BUILD_METADATA_STR appended.
76
76
  */
77
- # define OPENSSL_VERSION_STR "3.0.0"
78
- # define OPENSSL_FULL_VERSION_STR "3.0.0+quic"
77
+ # define OPENSSL_VERSION_STR "3.0.1"
78
+ # define OPENSSL_FULL_VERSION_STR "3.0.1+quic"
79
79
 
80
80
  /*
81
81
  * SECTION 3: ADDITIONAL METADATA
82
82
  *
83
83
  * These strings are defined separately to allow them to be parsable.
84
84
  */
85
- # define OPENSSL_RELEASE_DATE "7 sep 2021"
85
+ # define OPENSSL_RELEASE_DATE "14 Dec 2021"
86
86
 
87
87
  /*
88
88
  * SECTION 4: BACKWARD COMPATIBILITY
89
89
  */
90
90
 
91
- # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.0+quic 7 sep 2021"
91
+ # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.1+quic 14 Dec 2021"
92
92
 
93
93
  /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
94
94
  # ifdef OPENSSL_VERSION_PRE_RELEASE
@@ -11,7 +11,7 @@
11
11
  */
12
12
 
13
13
  #define PLATFORM "platform: solaris64-x86_64-gcc"
14
- #define DATE "built on: Tue Oct 19 08:20:50 2021 UTC"
14
+ #define DATE "built on: Tue Dec 14 23:06:34 2021 UTC"
15
15
 
16
16
  /*
17
17
  * Generate compiler_flags as an array of individual characters. This is a
@@ -29,7 +29,7 @@ extern "C" {
29
29
  */
30
30
  # define OPENSSL_VERSION_MAJOR 3
31
31
  # define OPENSSL_VERSION_MINOR 0
32
- # define OPENSSL_VERSION_PATCH 0
32
+ # define OPENSSL_VERSION_PATCH 1
33
33
 
34
34
  /*
35
35
  * Additional version information
@@ -74,21 +74,21 @@ extern "C" {
74
74
  * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and
75
75
  * OPENSSL_VERSION_BUILD_METADATA_STR appended.
76
76
  */
77
- # define OPENSSL_VERSION_STR "3.0.0"
78
- # define OPENSSL_FULL_VERSION_STR "3.0.0+quic"
77
+ # define OPENSSL_VERSION_STR "3.0.1"
78
+ # define OPENSSL_FULL_VERSION_STR "3.0.1+quic"
79
79
 
80
80
  /*
81
81
  * SECTION 3: ADDITIONAL METADATA
82
82
  *
83
83
  * These strings are defined separately to allow them to be parsable.
84
84
  */
85
- # define OPENSSL_RELEASE_DATE "7 sep 2021"
85
+ # define OPENSSL_RELEASE_DATE "14 Dec 2021"
86
86
 
87
87
  /*
88
88
  * SECTION 4: BACKWARD COMPATIBILITY
89
89
  */
90
90
 
91
- # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.0+quic 7 sep 2021"
91
+ # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.1+quic 14 Dec 2021"
92
92
 
93
93
  /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
94
94
  # ifdef OPENSSL_VERSION_PRE_RELEASE
@@ -11,7 +11,7 @@
11
11
  */
12
12
 
13
13
  #define PLATFORM "platform: solaris64-x86_64-gcc"
14
- #define DATE "built on: Tue Oct 19 08:21:10 2021 UTC"
14
+ #define DATE "built on: Tue Dec 14 23:07:01 2021 UTC"
15
15
 
16
16
  /*
17
17
  * Generate compiler_flags as an array of individual characters. This is a
@@ -29,7 +29,7 @@ extern "C" {
29
29
  */
30
30
  # define OPENSSL_VERSION_MAJOR 3
31
31
  # define OPENSSL_VERSION_MINOR 0
32
- # define OPENSSL_VERSION_PATCH 0
32
+ # define OPENSSL_VERSION_PATCH 1
33
33
 
34
34
  /*
35
35
  * Additional version information
@@ -74,21 +74,21 @@ extern "C" {
74
74
  * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and
75
75
  * OPENSSL_VERSION_BUILD_METADATA_STR appended.
76
76
  */
77
- # define OPENSSL_VERSION_STR "3.0.0"
78
- # define OPENSSL_FULL_VERSION_STR "3.0.0+quic"
77
+ # define OPENSSL_VERSION_STR "3.0.1"
78
+ # define OPENSSL_FULL_VERSION_STR "3.0.1+quic"
79
79
 
80
80
  /*
81
81
  * SECTION 3: ADDITIONAL METADATA
82
82
  *
83
83
  * These strings are defined separately to allow them to be parsable.
84
84
  */
85
- # define OPENSSL_RELEASE_DATE "7 sep 2021"
85
+ # define OPENSSL_RELEASE_DATE "14 Dec 2021"
86
86
 
87
87
  /*
88
88
  * SECTION 4: BACKWARD COMPATIBILITY
89
89
  */
90
90
 
91
- # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.0+quic 7 sep 2021"
91
+ # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.1+quic 14 Dec 2021"
92
92
 
93
93
  /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
94
94
  # ifdef OPENSSL_VERSION_PRE_RELEASE
@@ -11,7 +11,7 @@
11
11
  */
12
12
 
13
13
  #define PLATFORM "platform: solaris64-x86_64-gcc"
14
- #define DATE "built on: Tue Oct 19 08:21:28 2021 UTC"
14
+ #define DATE "built on: Tue Dec 14 23:07:28 2021 UTC"
15
15
 
16
16
  /*
17
17
  * Generate compiler_flags as an array of individual characters. This is a
@@ -29,7 +29,7 @@ extern "C" {
29
29
  */
30
30
  # define OPENSSL_VERSION_MAJOR 3
31
31
  # define OPENSSL_VERSION_MINOR 0
32
- # define OPENSSL_VERSION_PATCH 0
32
+ # define OPENSSL_VERSION_PATCH 1
33
33
 
34
34
  /*
35
35
  * Additional version information
@@ -74,21 +74,21 @@ extern "C" {
74
74
  * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and
75
75
  * OPENSSL_VERSION_BUILD_METADATA_STR appended.
76
76
  */
77
- # define OPENSSL_VERSION_STR "3.0.0"
78
- # define OPENSSL_FULL_VERSION_STR "3.0.0+quic"
77
+ # define OPENSSL_VERSION_STR "3.0.1"
78
+ # define OPENSSL_FULL_VERSION_STR "3.0.1+quic"
79
79
 
80
80
  /*
81
81
  * SECTION 3: ADDITIONAL METADATA
82
82
  *
83
83
  * These strings are defined separately to allow them to be parsable.
84
84
  */
85
- # define OPENSSL_RELEASE_DATE "7 sep 2021"
85
+ # define OPENSSL_RELEASE_DATE "14 Dec 2021"
86
86
 
87
87
  /*
88
88
  * SECTION 4: BACKWARD COMPATIBILITY
89
89
  */
90
90
 
91
- # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.0+quic 7 sep 2021"
91
+ # define OPENSSL_VERSION_TEXT "OpenSSL 3.0.1+quic 14 Dec 2021"
92
92
 
93
93
  /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
94
94
  # ifdef OPENSSL_VERSION_PRE_RELEASE
@@ -195,7 +195,7 @@ typedef int (OSSL_provider_init_fn)(const OSSL_CORE_HANDLE *handle,
195
195
  # pragma names save
196
196
  # pragma names uppercase,truncated
197
197
  # endif
198
- extern OSSL_provider_init_fn OSSL_provider_init;
198
+ OPENSSL_EXPORT OSSL_provider_init_fn OSSL_provider_init;
199
199
  # ifdef __VMS
200
200
  # pragma names restore
201
201
  # endif
@@ -28,6 +28,7 @@
28
28
  # define CRYPTO_R_INSUFFICIENT_DATA_SPACE 106
29
29
  # define CRYPTO_R_INSUFFICIENT_PARAM_SIZE 107
30
30
  # define CRYPTO_R_INSUFFICIENT_SECURE_DATA_SPACE 108
31
+ # define CRYPTO_R_INVALID_NEGATIVE_VALUE 122
31
32
  # define CRYPTO_R_INVALID_NULL_ARGUMENT 109
32
33
  # define CRYPTO_R_INVALID_OSSL_PARAM_TYPE 110
33
34
  # define CRYPTO_R_ODD_NUMBER_OF_DIGITS 103
@@ -44,6 +44,7 @@
44
44
  # define HTTP_R_REDIRECTION_NOT_ENABLED 116
45
45
  # define HTTP_R_RESPONSE_LINE_TOO_LONG 113
46
46
  # define HTTP_R_RESPONSE_PARSE_ERROR 104
47
+ # define HTTP_R_RETRY_TIMEOUT 129
47
48
  # define HTTP_R_SERVER_CANCELED_CONNECTION 127
48
49
  # define HTTP_R_SOCK_NOT_SUPPORTED 122
49
50
  # define HTTP_R_STATUS_CODE_UNSUPPORTED 114
@@ -20,7 +20,7 @@
20
20
  # define OPENSSL_MSTR(x) OPENSSL_MSTR_HELPER(x)
21
21
 
22
22
  /*
23
- * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers
23
+ * Sometimes OPENSSL_NO_xxx ends up with an empty file and some compilers
24
24
  * don't like that. This will hopefully silence them.
25
25
  */
26
26
  # define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy;
@@ -65,12 +65,10 @@
65
65
  # include "uv/bsd.h"
66
66
  #elif defined(__CYGWIN__) || \
67
67
  defined(__MSYS__) || \
68
+ defined(__HAIKU__) || \
69
+ defined(__QNX__) || \
68
70
  defined(__GNU__)
69
71
  # include "uv/posix.h"
70
- #elif defined(__HAIKU__)
71
- # include "uv/posix.h"
72
- #elif defined(__QNX__)
73
- # include "uv/posix.h"
74
72
  #endif
75
73
 
76
74
  #ifndef NI_MAXHOST
@@ -31,7 +31,7 @@
31
31
  */
32
32
 
33
33
  #define UV_VERSION_MAJOR 1
34
- #define UV_VERSION_MINOR 42
34
+ #define UV_VERSION_MINOR 43
35
35
  #define UV_VERSION_PATCH 0
36
36
  #define UV_VERSION_IS_RELEASE 1
37
37
  #define UV_VERSION_SUFFIX ""
@@ -45,7 +45,14 @@ typedef struct pollfd {
45
45
  #endif
46
46
 
47
47
  #include <mswsock.h>
48
+ // Disable the typedef in mstcpip.h of MinGW.
49
+ #define _TCP_INITIAL_RTO_PARAMETERS _TCP_INITIAL_RTO_PARAMETERS__AVOID
50
+ #define TCP_INITIAL_RTO_PARAMETERS TCP_INITIAL_RTO_PARAMETERS__AVOID
51
+ #define PTCP_INITIAL_RTO_PARAMETERS PTCP_INITIAL_RTO_PARAMETERS__AVOID
48
52
  #include <ws2tcpip.h>
53
+ #undef _TCP_INITIAL_RTO_PARAMETERS
54
+ #undef TCP_INITIAL_RTO_PARAMETERS
55
+ #undef PTCP_INITIAL_RTO_PARAMETERS
49
56
  #include <windows.h>
50
57
 
51
58
  #include <process.h>
package/include/node/uv.h CHANGED
@@ -45,6 +45,8 @@ extern "C" {
45
45
  # endif
46
46
  #elif __GNUC__ >= 4
47
47
  # define UV_EXTERN __attribute__((visibility("default")))
48
+ #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) /* Sun Studio >= 8 */
49
+ # define UV_EXTERN __global
48
50
  #else
49
51
  # define UV_EXTERN /* nothing */
50
52
  #endif
@@ -1658,6 +1660,7 @@ UV_EXTERN int uv_ip6_addr(const char* ip, int port, struct sockaddr_in6* addr);
1658
1660
 
1659
1661
  UV_EXTERN int uv_ip4_name(const struct sockaddr_in* src, char* dst, size_t size);
1660
1662
  UV_EXTERN int uv_ip6_name(const struct sockaddr_in6* src, char* dst, size_t size);
1663
+ UV_EXTERN int uv_ip_name(const struct sockaddr* src, char* dst, size_t size);
1661
1664
 
1662
1665
  UV_EXTERN int uv_inet_ntop(int af, const void* src, char* dst, size_t size);
1663
1666
  UV_EXTERN int uv_inet_pton(int af, const char* src, void* dst);
@@ -308,6 +308,9 @@ using WasmSimdEnabledCallback = bool (*)(Local<Context> context);
308
308
  // --- Callback for checking if WebAssembly exceptions are enabled ---
309
309
  using WasmExceptionsEnabledCallback = bool (*)(Local<Context> context);
310
310
 
311
+ // --- Callback for checking if WebAssembly dynamic tiering is enabled ---
312
+ using WasmDynamicTieringEnabledCallback = bool (*)(Local<Context> context);
313
+
311
314
  // --- Callback for checking if the SharedArrayBuffer constructor is enabled ---
312
315
  using SharedArrayBufferConstructorEnabledCallback =
313
316
  bool (*)(Local<Context> context);
@@ -2,8 +2,8 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
- #ifndef INCLUDE_V8_LOCAL_HANDLES_H_
6
- #define INCLUDE_V8_LOCAL_HANDLES_H_
5
+ #ifndef INCLUDE_V8_FORWARD_H_
6
+ #define INCLUDE_V8_FORWARD_H_
7
7
 
8
8
  // This header is intended to be used by headers that pass around V8 types,
9
9
  // either by pointer or using Local<Type>. The full definitions can be included
@@ -27,6 +27,7 @@ class Context;
27
27
  class DataView;
28
28
  class Data;
29
29
  class Date;
30
+ class Extension;
30
31
  class External;
31
32
  class FixedArray;
32
33
  class Float32Array;
@@ -63,6 +64,7 @@ class StringObject;
63
64
  class Symbol;
64
65
  class SymbolObject;
65
66
  class Template;
67
+ class TryCatch;
66
68
  class TypedArray;
67
69
  class Uint16Array;
68
70
  class Uint32;
@@ -76,4 +78,4 @@ class WasmModuleObject;
76
78
 
77
79
  } // namespace v8
78
80
 
79
- #endif // INCLUDE_V8_LOCAL_HANDLES_H_
81
+ #endif // INCLUDE_V8_FORWARD_H_
@@ -195,22 +195,38 @@ class V8_EXPORT V8 {
195
195
  * This must be invoked after the platform was initialized but before V8 is
196
196
  * initialized. The virtual memory cage is torn down during platform shutdown.
197
197
  * Returns true on success, false otherwise.
198
+ *
199
+ * TODO(saelo) Once it is no longer optional to create the virtual memory
200
+ * cage when compiling with V8_VIRTUAL_MEMORY_CAGE, the cage initialization
201
+ * will likely happen as part of V8::Initialize, at which point this function
202
+ * should be removed.
198
203
  */
199
204
  static bool InitializeVirtualMemoryCage();
200
205
 
201
206
  /**
202
- * Provides access to the data page allocator for the virtual memory cage.
207
+ * Provides access to the virtual memory cage page allocator.
208
+ *
209
+ * This allocator allocates pages inside the virtual memory cage. It can for
210
+ * example be used to obtain virtual memory for ArrayBuffer backing stores,
211
+ * which must be located inside the cage.
212
+ *
213
+ * It should be assumed that an attacker can corrupt data inside the cage,
214
+ * and so in particular the contents of pages returned by this allocator,
215
+ * arbitrarily and concurrently. Due to this, it is recommended to to only
216
+ * place pure data buffers in pages obtained through this allocator.
203
217
  *
204
- * This allocator allocates pages inside the data cage part of the virtual
205
- * memory cage in which data buffers such as ArrayBuffer backing stores must
206
- * be allocated. Objects in this region should generally consists purely of
207
- * data and not contain any pointers. It should be assumed that an attacker
208
- * can corrupt data inside the cage, and so in particular the contents of
209
- * pages returned by this allocator, arbitrarily and concurrently.
218
+ * This function must only be called after initializing the virtual memory
219
+ * cage and V8.
220
+ */
221
+ static PageAllocator* GetVirtualMemoryCagePageAllocator();
222
+
223
+ /**
224
+ * Returns the size of the virtual memory cage in bytes.
210
225
  *
211
- * The virtual memory cage must have been initialized before.
226
+ * If the cage has not been initialized, or if the initialization failed,
227
+ * this returns zero.
212
228
  */
213
- static PageAllocator* GetVirtualMemoryCageDataPageAllocator();
229
+ static size_t GetVirtualMemoryCageSizeInBytes();
214
230
  #endif
215
231
 
216
232
  /**
@@ -495,15 +495,10 @@ constexpr bool VirtualMemoryCageIsEnabled() {
495
495
  }
496
496
 
497
497
  #ifdef V8_VIRTUAL_MEMORY_CAGE
498
- // Size of the pointer compression cage located at the start of the virtual
499
- // memory cage.
500
- constexpr size_t kVirtualMemoryCagePointerCageSize =
501
- Internals::kPtrComprCageReservationSize;
502
-
503
498
  // Size of the virtual memory cage, excluding the guard regions surrounding it.
504
499
  constexpr size_t kVirtualMemoryCageSize = size_t{1} << 40; // 1 TB
505
500
 
506
- static_assert(kVirtualMemoryCageSize > kVirtualMemoryCagePointerCageSize,
501
+ static_assert(kVirtualMemoryCageSize > Internals::kPtrComprCageReservationSize,
507
502
  "The virtual memory cage must be larger than the pointer "
508
503
  "compression cage contained within it.");
509
504
 
@@ -525,19 +520,21 @@ static_assert((kVirtualMemoryCageGuardRegionSize %
525
520
  "The size of the virtual memory cage guard region must be a "
526
521
  "multiple of its required alignment.");
527
522
 
528
- // Minimum possible size of the virtual memory cage, excluding the guard regions
529
- // surrounding it. Used by unit tests.
530
- constexpr size_t kVirtualMemoryCageMinimumSize =
531
- 2 * kVirtualMemoryCagePointerCageSize;
523
+ // Minimum size of the virtual memory cage, excluding the guard regions
524
+ // surrounding it. If the cage reservation fails, its size is currently halved
525
+ // until either the reservation succeeds or the minimum size is reached. A
526
+ // minimum of 32GB allows the 4GB pointer compression region as well as the
527
+ // ArrayBuffer partition and two 10GB WASM memory cages to fit into the cage.
528
+ constexpr size_t kVirtualMemoryCageMinimumSize = size_t{32} << 30; // 32 GB
532
529
 
533
530
  // For now, even if the virtual memory cage is enabled, we still allow backing
534
531
  // stores to be allocated outside of it as fallback. This will simplify the
535
532
  // initial rollout. However, if the heap sandbox is also enabled, we already use
536
533
  // the "enforcing mode" of the virtual memory cage. This is useful for testing.
537
534
  #ifdef V8_HEAP_SANDBOX
538
- constexpr bool kAllowBackingStoresOutsideDataCage = false;
535
+ constexpr bool kAllowBackingStoresOutsideCage = false;
539
536
  #else
540
- constexpr bool kAllowBackingStoresOutsideDataCage = true;
537
+ constexpr bool kAllowBackingStoresOutsideCage = true;
541
538
  #endif // V8_HEAP_SANDBOX
542
539
 
543
540
  #endif // V8_VIRTUAL_MEMORY_CAGE
@@ -572,14 +569,6 @@ class BackingStoreBase {};
572
569
 
573
570
  } // namespace internal
574
571
 
575
- V8_EXPORT bool CopyAndConvertArrayToCppBufferInt32(Local<Array> src,
576
- int32_t* dst,
577
- uint32_t max_length);
578
-
579
- V8_EXPORT bool CopyAndConvertArrayToCppBufferFloat64(Local<Array> src,
580
- double* dst,
581
- uint32_t max_length);
582
-
583
572
  } // namespace v8
584
573
 
585
574
  #endif // INCLUDE_V8_INTERNAL_H_
@@ -1482,6 +1482,9 @@ class V8_EXPORT Isolate {
1482
1482
 
1483
1483
  void SetWasmExceptionsEnabledCallback(WasmExceptionsEnabledCallback callback);
1484
1484
 
1485
+ void SetWasmDynamicTieringEnabledCallback(
1486
+ WasmDynamicTieringEnabledCallback callback);
1487
+
1485
1488
  void SetSharedArrayBufferConstructorEnabledCallback(
1486
1489
  SharedArrayBufferConstructorEnabledCallback callback);
1487
1490
 
@@ -64,7 +64,7 @@ class Isolate;
64
64
  * given thread. This can be useful if you have code that can be called either
65
65
  * from code that holds the lock or from code that does not. The Unlocker is
66
66
  * not recursive so you can not have several Unlockers on the stack at once, and
67
- * you can not use an Unlocker in a thread that is not inside a Locker's scope.
67
+ * you cannot use an Unlocker in a thread that is not inside a Locker's scope.
68
68
  *
69
69
  * An unlocker will unlock several lockers if it has to and reinstate the
70
70
  * correct depth of locking on its destruction, e.g.:
@@ -122,8 +122,13 @@ class V8_EXPORT Locker {
122
122
  static bool IsLocked(Isolate* isolate);
123
123
 
124
124
  /**
125
- * Returns whether v8::Locker is being used by this V8 instance.
125
+ * Returns whether any v8::Locker has ever been used in this process.
126
+ * TODO(cbruni, chromium:1240851): Fix locking checks on a per-thread basis.
127
+ * The current implementation is quite confusing and leads to unexpected
128
+ * results if anybody uses v8::Locker in the current process.
126
129
  */
130
+ static bool WasEverUsed();
131
+ V8_DEPRECATE_SOON("Use WasEverUsed instead")
127
132
  static bool IsActive();
128
133
 
129
134
  // Disallow copying and assigning.