cwresdev 0.1.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 (89) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +42 -0
  3. package/bin/cwrespro.js +64 -0
  4. package/package.json +47 -0
  5. package/src/client/reload-client.js +40 -0
  6. package/src/config.js +211 -0
  7. package/src/index.js +19 -0
  8. package/src/injector.js +32 -0
  9. package/src/php.js +114 -0
  10. package/src/proxy.js +91 -0
  11. package/src/server.js +334 -0
  12. package/vendor/php/windows/README.md +140 -0
  13. package/vendor/php/windows/brotlicommon.dll +0 -0
  14. package/vendor/php/windows/brotlidec.dll +0 -0
  15. package/vendor/php/windows/deplister.exe +0 -0
  16. package/vendor/php/windows/dev/php8.lib +0 -0
  17. package/vendor/php/windows/ext/php_bz2.dll +0 -0
  18. package/vendor/php/windows/ext/php_com_dotnet.dll +0 -0
  19. package/vendor/php/windows/ext/php_curl.dll +0 -0
  20. package/vendor/php/windows/ext/php_dba.dll +0 -0
  21. package/vendor/php/windows/ext/php_dl_test.dll +0 -0
  22. package/vendor/php/windows/ext/php_enchant.dll +0 -0
  23. package/vendor/php/windows/ext/php_exif.dll +0 -0
  24. package/vendor/php/windows/ext/php_ffi.dll +0 -0
  25. package/vendor/php/windows/ext/php_fileinfo.dll +0 -0
  26. package/vendor/php/windows/ext/php_ftp.dll +0 -0
  27. package/vendor/php/windows/ext/php_gd.dll +0 -0
  28. package/vendor/php/windows/ext/php_gettext.dll +0 -0
  29. package/vendor/php/windows/ext/php_gmp.dll +0 -0
  30. package/vendor/php/windows/ext/php_intl.dll +0 -0
  31. package/vendor/php/windows/ext/php_ldap.dll +0 -0
  32. package/vendor/php/windows/ext/php_mbstring.dll +0 -0
  33. package/vendor/php/windows/ext/php_mysqli.dll +0 -0
  34. package/vendor/php/windows/ext/php_odbc.dll +0 -0
  35. package/vendor/php/windows/ext/php_opcache.dll +0 -0
  36. package/vendor/php/windows/ext/php_openssl.dll +0 -0
  37. package/vendor/php/windows/ext/php_pdo_firebird.dll +0 -0
  38. package/vendor/php/windows/ext/php_pdo_mysql.dll +0 -0
  39. package/vendor/php/windows/ext/php_pdo_odbc.dll +0 -0
  40. package/vendor/php/windows/ext/php_pdo_pgsql.dll +0 -0
  41. package/vendor/php/windows/ext/php_pdo_sqlite.dll +0 -0
  42. package/vendor/php/windows/ext/php_pgsql.dll +0 -0
  43. package/vendor/php/windows/ext/php_shmop.dll +0 -0
  44. package/vendor/php/windows/ext/php_snmp.dll +0 -0
  45. package/vendor/php/windows/ext/php_soap.dll +0 -0
  46. package/vendor/php/windows/ext/php_sockets.dll +0 -0
  47. package/vendor/php/windows/ext/php_sodium.dll +0 -0
  48. package/vendor/php/windows/ext/php_sqlite3.dll +0 -0
  49. package/vendor/php/windows/ext/php_sysvshm.dll +0 -0
  50. package/vendor/php/windows/ext/php_tidy.dll +0 -0
  51. package/vendor/php/windows/ext/php_xsl.dll +0 -0
  52. package/vendor/php/windows/ext/php_zend_test.dll +0 -0
  53. package/vendor/php/windows/ext/php_zip.dll +0 -0
  54. package/vendor/php/windows/extras/ssl/legacy.dll +0 -0
  55. package/vendor/php/windows/extras/ssl/openssl.cnf +390 -0
  56. package/vendor/php/windows/glib-2.dll +0 -0
  57. package/vendor/php/windows/gmodule-2.dll +0 -0
  58. package/vendor/php/windows/icudt77.dll +0 -0
  59. package/vendor/php/windows/icuin77.dll +0 -0
  60. package/vendor/php/windows/icuio77.dll +0 -0
  61. package/vendor/php/windows/icuuc77.dll +0 -0
  62. package/vendor/php/windows/lib/enchant/libenchant2_hunspell.dll +0 -0
  63. package/vendor/php/windows/libcrypto-3-x64.dll +0 -0
  64. package/vendor/php/windows/libenchant2.dll +0 -0
  65. package/vendor/php/windows/libpq.dll +0 -0
  66. package/vendor/php/windows/libsasl.dll +0 -0
  67. package/vendor/php/windows/libsodium.dll +0 -0
  68. package/vendor/php/windows/libsqlite3.dll +0 -0
  69. package/vendor/php/windows/libssh2.dll +0 -0
  70. package/vendor/php/windows/libssl-3-x64.dll +0 -0
  71. package/vendor/php/windows/libzstd.dll +0 -0
  72. package/vendor/php/windows/license.txt +68 -0
  73. package/vendor/php/windows/manifest.json +4 -0
  74. package/vendor/php/windows/news.txt +2204 -0
  75. package/vendor/php/windows/nghttp2.dll +0 -0
  76. package/vendor/php/windows/phar.phar.bat +1 -0
  77. package/vendor/php/windows/pharcommand.phar +0 -0
  78. package/vendor/php/windows/php-cgi.exe +0 -0
  79. package/vendor/php/windows/php-win.exe +0 -0
  80. package/vendor/php/windows/php.exe +0 -0
  81. package/vendor/php/windows/php.ini +1848 -0
  82. package/vendor/php/windows/php.ini-development +1848 -0
  83. package/vendor/php/windows/php.ini-production +1850 -0
  84. package/vendor/php/windows/php8.dll +0 -0
  85. package/vendor/php/windows/php8embed.lib +0 -0
  86. package/vendor/php/windows/php8phpdbg.dll +0 -0
  87. package/vendor/php/windows/phpdbg.exe +0 -0
  88. package/vendor/php/windows/readme-redist-bins.txt +681 -0
  89. package/vendor/php/windows/snapshot.txt +157 -0
@@ -0,0 +1,390 @@
1
+ #
2
+ # OpenSSL example configuration file.
3
+ # See doc/man5/config.pod for more info.
4
+ #
5
+ # This is mostly being used for generation of certificate requests,
6
+ # but may be used for auto loading of providers
7
+
8
+ # Note that you can include other files from the main configuration
9
+ # file using the .include directive.
10
+ #.include filename
11
+
12
+ # This definition stops the following lines choking if HOME isn't
13
+ # defined.
14
+ HOME = .
15
+
16
+ # Use this in order to automatically load providers.
17
+ openssl_conf = openssl_init
18
+
19
+ # Comment out the next line to ignore configuration errors
20
+ config_diagnostics = 1
21
+
22
+ # Extra OBJECT IDENTIFIER info:
23
+ # oid_file = $ENV::HOME/.oid
24
+ oid_section = new_oids
25
+
26
+ # To use this configuration file with the "-extfile" option of the
27
+ # "openssl x509" utility, name here the section containing the
28
+ # X.509v3 extensions to use:
29
+ # extensions =
30
+ # (Alternatively, use a configuration file that has only
31
+ # X.509v3 extensions in its main [= default] section.)
32
+
33
+ [ new_oids ]
34
+ # We can add new OIDs in here for use by 'ca', 'req' and 'ts'.
35
+ # Add a simple OID like this:
36
+ # testoid1=1.2.3.4
37
+ # Or use config file substitution like this:
38
+ # testoid2=${testoid1}.5.6
39
+
40
+ # Policies used by the TSA examples.
41
+ tsa_policy1 = 1.2.3.4.1
42
+ tsa_policy2 = 1.2.3.4.5.6
43
+ tsa_policy3 = 1.2.3.4.5.7
44
+
45
+ # For FIPS
46
+ # Optionally include a file that is generated by the OpenSSL fipsinstall
47
+ # application. This file contains configuration data required by the OpenSSL
48
+ # fips provider. It contains a named section e.g. [fips_sect] which is
49
+ # referenced from the [provider_sect] below.
50
+ # Refer to the OpenSSL security policy for more information.
51
+ # .include fipsmodule.cnf
52
+
53
+ [openssl_init]
54
+ providers = provider_sect
55
+
56
+ # List of providers to load
57
+ [provider_sect]
58
+ default = default_sect
59
+ # The fips section name should match the section name inside the
60
+ # included fipsmodule.cnf.
61
+ # fips = fips_sect
62
+
63
+ # If no providers are activated explicitly, the default one is activated implicitly.
64
+ # See man 7 OSSL_PROVIDER-default for more details.
65
+ #
66
+ # If you add a section explicitly activating any other provider(s), you most
67
+ # probably need to explicitly activate the default provider, otherwise it
68
+ # becomes unavailable in openssl. As a consequence applications depending on
69
+ # OpenSSL may not work correctly which could lead to significant system
70
+ # problems including inability to remotely access the system.
71
+ [default_sect]
72
+ # activate = 1
73
+
74
+
75
+ ####################################################################
76
+ [ ca ]
77
+ default_ca = CA_default # The default ca section
78
+
79
+ ####################################################################
80
+ [ CA_default ]
81
+
82
+ dir = ./demoCA # Where everything is kept
83
+ certs = $dir/certs # Where the issued certs are kept
84
+ crl_dir = $dir/crl # Where the issued crl are kept
85
+ database = $dir/index.txt # database index file.
86
+ #unique_subject = no # Set to 'no' to allow creation of
87
+ # several certs with same subject.
88
+ new_certs_dir = $dir/newcerts # default place for new certs.
89
+
90
+ certificate = $dir/cacert.pem # The CA certificate
91
+ serial = $dir/serial # The current serial number
92
+ crlnumber = $dir/crlnumber # the current crl number
93
+ # must be commented out to leave a V1 CRL
94
+ crl = $dir/crl.pem # The current CRL
95
+ private_key = $dir/private/cakey.pem# The private key
96
+
97
+ x509_extensions = usr_cert # The extensions to add to the cert
98
+
99
+ # Comment out the following two lines for the "traditional"
100
+ # (and highly broken) format.
101
+ name_opt = ca_default # Subject Name options
102
+ cert_opt = ca_default # Certificate field options
103
+
104
+ # Extension copying option: use with caution.
105
+ # copy_extensions = copy
106
+
107
+ # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
108
+ # so this is commented out by default to leave a V1 CRL.
109
+ # crlnumber must also be commented out to leave a V1 CRL.
110
+ # crl_extensions = crl_ext
111
+
112
+ default_days = 365 # how long to certify for
113
+ default_crl_days= 30 # how long before next CRL
114
+ default_md = default # use public key default MD
115
+ preserve = no # keep passed DN ordering
116
+
117
+ # A few difference way of specifying how similar the request should look
118
+ # For type CA, the listed attributes must be the same, and the optional
119
+ # and supplied fields are just that :-)
120
+ policy = policy_match
121
+
122
+ # For the CA policy
123
+ [ policy_match ]
124
+ countryName = match
125
+ stateOrProvinceName = match
126
+ organizationName = match
127
+ organizationalUnitName = optional
128
+ commonName = supplied
129
+ emailAddress = optional
130
+
131
+ # For the 'anything' policy
132
+ # At this point in time, you must list all acceptable 'object'
133
+ # types.
134
+ [ policy_anything ]
135
+ countryName = optional
136
+ stateOrProvinceName = optional
137
+ localityName = optional
138
+ organizationName = optional
139
+ organizationalUnitName = optional
140
+ commonName = supplied
141
+ emailAddress = optional
142
+
143
+ ####################################################################
144
+ [ req ]
145
+ default_bits = 2048
146
+ default_keyfile = privkey.pem
147
+ distinguished_name = req_distinguished_name
148
+ attributes = req_attributes
149
+ x509_extensions = v3_ca # The extensions to add to the self signed cert
150
+
151
+ # Passwords for private keys if not present they will be prompted for
152
+ # input_password = secret
153
+ # output_password = secret
154
+
155
+ # This sets a mask for permitted string types. There are several options.
156
+ # default: PrintableString, T61String, BMPString.
157
+ # pkix : PrintableString, BMPString (PKIX recommendation before 2004)
158
+ # utf8only: only UTF8Strings (PKIX recommendation after 2004).
159
+ # nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).
160
+ # MASK:XXXX a literal mask value.
161
+ # WARNING: ancient versions of Netscape crash on BMPStrings or UTF8Strings.
162
+ string_mask = utf8only
163
+
164
+ # req_extensions = v3_req # The extensions to add to a certificate request
165
+
166
+ [ req_distinguished_name ]
167
+ countryName = Country Name (2 letter code)
168
+ countryName_default = AU
169
+ countryName_min = 2
170
+ countryName_max = 2
171
+
172
+ stateOrProvinceName = State or Province Name (full name)
173
+ stateOrProvinceName_default = Some-State
174
+
175
+ localityName = Locality Name (eg, city)
176
+
177
+ 0.organizationName = Organization Name (eg, company)
178
+ 0.organizationName_default = Internet Widgits Pty Ltd
179
+
180
+ # we can do this but it is not needed normally :-)
181
+ #1.organizationName = Second Organization Name (eg, company)
182
+ #1.organizationName_default = World Wide Web Pty Ltd
183
+
184
+ organizationalUnitName = Organizational Unit Name (eg, section)
185
+ #organizationalUnitName_default =
186
+
187
+ commonName = Common Name (e.g. server FQDN or YOUR name)
188
+ commonName_max = 64
189
+
190
+ emailAddress = Email Address
191
+ emailAddress_max = 64
192
+
193
+ # SET-ex3 = SET extension number 3
194
+
195
+ [ req_attributes ]
196
+ challengePassword = A challenge password
197
+ challengePassword_min = 4
198
+ challengePassword_max = 20
199
+
200
+ unstructuredName = An optional company name
201
+
202
+ [ usr_cert ]
203
+
204
+ # These extensions are added when 'ca' signs a request.
205
+
206
+ # This goes against PKIX guidelines but some CAs do it and some software
207
+ # requires this to avoid interpreting an end user certificate as a CA.
208
+
209
+ basicConstraints=CA:FALSE
210
+
211
+ # This is typical in keyUsage for a client certificate.
212
+ # keyUsage = nonRepudiation, digitalSignature, keyEncipherment
213
+
214
+ # PKIX recommendations harmless if included in all certificates.
215
+ subjectKeyIdentifier=hash
216
+ authorityKeyIdentifier=keyid,issuer
217
+
218
+ # This stuff is for subjectAltName and issuerAltname.
219
+ # Import the email address.
220
+ # subjectAltName=email:copy
221
+ # An alternative to produce certificates that aren't
222
+ # deprecated according to PKIX.
223
+ # subjectAltName=email:move
224
+
225
+ # Copy subject details
226
+ # issuerAltName=issuer:copy
227
+
228
+ # This is required for TSA certificates.
229
+ # extendedKeyUsage = critical,timeStamping
230
+
231
+ [ v3_req ]
232
+
233
+ # Extensions to add to a certificate request
234
+
235
+ basicConstraints = CA:FALSE
236
+ keyUsage = nonRepudiation, digitalSignature, keyEncipherment
237
+
238
+ [ v3_ca ]
239
+
240
+
241
+ # Extensions for a typical CA
242
+
243
+
244
+ # PKIX recommendation.
245
+
246
+ subjectKeyIdentifier=hash
247
+
248
+ authorityKeyIdentifier=keyid:always,issuer
249
+
250
+ basicConstraints = critical,CA:true
251
+
252
+ # Key usage: this is typical for a CA certificate. However since it will
253
+ # prevent it being used as an test self-signed certificate it is best
254
+ # left out by default.
255
+ # keyUsage = cRLSign, keyCertSign
256
+
257
+ # Include email address in subject alt name: another PKIX recommendation
258
+ # subjectAltName=email:copy
259
+ # Copy issuer details
260
+ # issuerAltName=issuer:copy
261
+
262
+ # DER hex encoding of an extension: beware experts only!
263
+ # obj=DER:02:03
264
+ # Where 'obj' is a standard or added object
265
+ # You can even override a supported extension:
266
+ # basicConstraints= critical, DER:30:03:01:01:FF
267
+
268
+ [ crl_ext ]
269
+
270
+ # CRL extensions.
271
+ # Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.
272
+
273
+ # issuerAltName=issuer:copy
274
+ authorityKeyIdentifier=keyid:always
275
+
276
+ [ proxy_cert_ext ]
277
+ # These extensions should be added when creating a proxy certificate
278
+
279
+ # This goes against PKIX guidelines but some CAs do it and some software
280
+ # requires this to avoid interpreting an end user certificate as a CA.
281
+
282
+ basicConstraints=CA:FALSE
283
+
284
+ # This is typical in keyUsage for a client certificate.
285
+ # keyUsage = nonRepudiation, digitalSignature, keyEncipherment
286
+
287
+ # PKIX recommendations harmless if included in all certificates.
288
+ subjectKeyIdentifier=hash
289
+ authorityKeyIdentifier=keyid,issuer
290
+
291
+ # This stuff is for subjectAltName and issuerAltname.
292
+ # Import the email address.
293
+ # subjectAltName=email:copy
294
+ # An alternative to produce certificates that aren't
295
+ # deprecated according to PKIX.
296
+ # subjectAltName=email:move
297
+
298
+ # Copy subject details
299
+ # issuerAltName=issuer:copy
300
+
301
+ # This really needs to be in place for it to be a proxy certificate.
302
+ proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo
303
+
304
+ ####################################################################
305
+ [ tsa ]
306
+
307
+ default_tsa = tsa_config1 # the default TSA section
308
+
309
+ [ tsa_config1 ]
310
+
311
+ # These are used by the TSA reply generation only.
312
+ dir = ./demoCA # TSA root directory
313
+ serial = $dir/tsaserial # The current serial number (mandatory)
314
+ crypto_device = builtin # OpenSSL engine to use for signing
315
+ signer_cert = $dir/tsacert.pem # The TSA signing certificate
316
+ # (optional)
317
+ certs = $dir/cacert.pem # Certificate chain to include in reply
318
+ # (optional)
319
+ signer_key = $dir/private/tsakey.pem # The TSA private key (optional)
320
+ signer_digest = sha256 # Signing digest to use. (Optional)
321
+ default_policy = tsa_policy1 # Policy if request did not specify it
322
+ # (optional)
323
+ other_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional)
324
+ digests = sha1, sha256, sha384, sha512 # Acceptable message digests (mandatory)
325
+ accuracy = secs:1, millisecs:500, microsecs:100 # (optional)
326
+ clock_precision_digits = 0 # number of digits after dot. (optional)
327
+ ordering = yes # Is ordering defined for timestamps?
328
+ # (optional, default: no)
329
+ tsa_name = yes # Must the TSA name be included in the reply?
330
+ # (optional, default: no)
331
+ ess_cert_id_chain = no # Must the ESS cert id chain be included?
332
+ # (optional, default: no)
333
+ ess_cert_id_alg = sha1 # algorithm to compute certificate
334
+ # identifier (optional, default: sha1)
335
+
336
+ [insta] # CMP using Insta Demo CA
337
+ # Message transfer
338
+ server = pki.certificate.fi:8700
339
+ # proxy = # set this as far as needed, e.g., http://192.168.1.1:8080
340
+ # tls_use = 0
341
+ path = pkix/
342
+
343
+ # Server authentication
344
+ recipient = "/C=FI/O=Insta Demo/CN=Insta Demo CA" # or set srvcert or issuer
345
+ ignore_keyusage = 1 # potentially needed quirk
346
+ unprotected_errors = 1 # potentially needed quirk
347
+ extracertsout = insta.extracerts.pem
348
+
349
+ # Client authentication
350
+ ref = 3078 # user identification
351
+ secret = pass:insta # can be used for both client and server side
352
+
353
+ # Generic message options
354
+ cmd = ir # default operation, can be overridden on cmd line with, e.g., kur
355
+
356
+ # Certificate enrollment
357
+ subject = "/CN=openssl-cmp-test"
358
+ newkey = insta.priv.pem
359
+ out_trusted = apps/insta.ca.crt # does not include keyUsage digitalSignature
360
+ certout = insta.cert.pem
361
+
362
+ [pbm] # Password-based protection for Insta CA
363
+ # Server and client authentication
364
+ ref = $insta::ref # 3078
365
+ secret = $insta::secret # pass:insta
366
+
367
+ [signature] # Signature-based protection for Insta CA
368
+ # Server authentication
369
+ trusted = $insta::out_trusted # apps/insta.ca.crt
370
+
371
+ # Client authentication
372
+ secret = # disable PBM
373
+ key = $insta::newkey # insta.priv.pem
374
+ cert = $insta::certout # insta.cert.pem
375
+
376
+ [ir]
377
+ cmd = ir
378
+
379
+ [cr]
380
+ cmd = cr
381
+
382
+ [kur]
383
+ # Certificate update
384
+ cmd = kur
385
+ oldcert = $insta::certout # insta.cert.pem
386
+
387
+ [rr]
388
+ # Certificate revocation
389
+ cmd = rr
390
+ oldcert = $insta::certout # insta.cert.pem
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,68 @@
1
+ --------------------------------------------------------------------
2
+ The PHP License, version 3.01
3
+ Copyright (c) 1999 - 2024 The PHP Group. All rights reserved.
4
+ --------------------------------------------------------------------
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, is permitted provided that the following conditions
8
+ are met:
9
+
10
+ 1. Redistributions of source code must retain the above copyright
11
+ notice, this list of conditions and the following disclaimer.
12
+
13
+ 2. Redistributions in binary form must reproduce the above copyright
14
+ notice, this list of conditions and the following disclaimer in
15
+ the documentation and/or other materials provided with the
16
+ distribution.
17
+
18
+ 3. The name "PHP" must not be used to endorse or promote products
19
+ derived from this software without prior written permission. For
20
+ written permission, please contact group@php.net.
21
+
22
+ 4. Products derived from this software may not be called "PHP", nor
23
+ may "PHP" appear in their name, without prior written permission
24
+ from group@php.net. You may indicate that your software works in
25
+ conjunction with PHP by saying "Foo for PHP" instead of calling
26
+ it "PHP Foo" or "phpfoo"
27
+
28
+ 5. The PHP Group may publish revised and/or new versions of the
29
+ license from time to time. Each version will be given a
30
+ distinguishing version number.
31
+ Once covered code has been published under a particular version
32
+ of the license, you may always continue to use it under the terms
33
+ of that version. You may also choose to use such covered code
34
+ under the terms of any subsequent version of the license
35
+ published by the PHP Group. No one other than the PHP Group has
36
+ the right to modify the terms applicable to covered code created
37
+ under this License.
38
+
39
+ 6. Redistributions of any form whatsoever must retain the following
40
+ acknowledgment:
41
+ "This product includes PHP software, freely available from
42
+ <http://www.php.net/software/>".
43
+
44
+ THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
45
+ ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
46
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
47
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP
48
+ DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
49
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
50
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
51
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
52
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
53
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
54
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
55
+ OF THE POSSIBILITY OF SUCH DAMAGE.
56
+
57
+ --------------------------------------------------------------------
58
+
59
+ This software consists of voluntary contributions made by many
60
+ individuals on behalf of the PHP Group.
61
+
62
+ The PHP Group can be contacted via Email at group@php.net.
63
+
64
+ For more information on the PHP Group and the PHP project,
65
+ please see <http://www.php.net>.
66
+
67
+ PHP includes the Zend Engine, freely available at
68
+ <http://www.zend.com>.
@@ -0,0 +1,4 @@
1
+ {
2
+ "downloadedAt": "2026-04-27T18:57:17.310Z",
3
+ "sourceUrl": "https://downloads.php.net/~windows/releases/php-8.4.20-nts-Win32-vs17-x64.zip"
4
+ }