Commit Graph

2851 Commits

Author SHA1 Message Date
terrafrost
45d2ddcbc4 RSA: add support for loading PuTTY v3 keys 2022-02-17 00:32:21 -06:00
terrafrost
27f578797d XML Key loading tweaks 2022-02-14 23:20:29 -06:00
terrafrost
7d3dbccd72 DH/PKCS8: encryption options couldn't be set for PKCS8 private keys 2022-02-14 21:19:29 -06:00
terrafrost
5bc572e2ce EC/PKCS8: OpenSSL didn't like phpseclib formed Ed25519 private keys
Tested with openssl pkey -in private.pem -pubout -text on
OpenSSL 1.1.1f 31 Mar 2020
2022-02-14 21:15:36 -06:00
terrafrost
f1dec13c38 PKCS8: the parent class shouldn't be directly called 2022-02-14 20:09:33 -06:00
terrafrost
dc488f967f PKCS8: fix private key creation 2022-02-14 19:27:47 -06:00
terrafrost
91a674a781 RSA/PrivateKey: add comment to explain things 2022-02-14 17:59:41 -06:00
terrafrost
6f19948091 Merge branch '1.0' into 2.0 2022-02-14 17:52:16 -06:00
terrafrost
f05091ca95 SSH2/Agent: backport fix from master branch 2022-02-14 17:51:53 -06:00
terrafrost
86c0007078 SFTP: backport fix from master 2022-02-14 17:42:49 -06:00
terrafrost
247d23f40e X509: code cleanup 2022-02-14 17:32:20 -06:00
Jack Worman
b96fc26dbc Psalm coverage to everywhere except phpseclib/Crypt/, phpseclib/Math/ and tests/
Revert "Removed remaining tabs"

This reverts commit 31c077d6b1.

Revert "Whitespace php-cs-fixer.php rules added"

This reverts commit 25e336614d.

Addressing comments
2022-02-14 17:30:41 -06:00
terrafrost
f96f3505a8 Hash: add support for keccak256 2022-02-08 20:34:17 -06:00
terrafrost
60edff77e6 EC: CS adjustment 2022-02-04 10:38:47 -06:00
Filippo Tessarotto
e884929175
EC: decipher private key to generate signature 2022-02-04 10:15:39 +01:00
terrafrost
56973d40db SSH2: stop using more dynamic properties in SymmetricKey 2022-02-01 21:17:10 -06:00
Jack Worman
9b1c218664 psalm ci
psalm-ci

psalm-ci

psalm-ci
2022-02-01 20:45:53 -06:00
Jack Worman
ef66d9f7dd php-cs-fixer ci
php-cs-fixer ci
2022-02-01 20:29:48 -06:00
terrafrost
d925e66677 Merge branch '1.0' into 3.0 2022-02-01 06:33:46 -06:00
terrafrost
54a5c4b064 Merge branch '1.0' into 2.0 2022-02-01 06:32:02 -06:00
terrafrost
4d66eeb6a4 Crypt/Base: fix CTR mode with continuous buffer with non-eval PHP 2022-02-01 06:31:09 -06:00
terrafrost
8a123550c5 Crypt/Base: code cleanup 2022-01-30 10:25:45 -06:00
terrafrost
3f2a5aa4cd SSH2: stop using dynamic properties in Hash 2022-01-30 01:52:31 -06:00
terrafrost
215fd61d12 SSHi2: stop using dynamic properties in SymmetricKey 2022-01-30 01:36:02 -06:00
Jack Worman
0a9fc99dc8 Un-qualifying global functions
Un-qualifying global functions
2022-01-30 01:19:16 -06:00
Jack Worman
e3b71763ae Fixed psalm level 6 errors in phpseclib/Net/ 2022-01-30 01:18:53 -06:00
terrafrost
3d70b5ece8 SSH2: rm debug code 2022-01-29 11:38:19 -06:00
terrafrost
de4220c461 SSH2: CS adjustments 2022-01-29 11:35:38 -06:00
terrafrost
56ed69fbe7 fix bad merge 2022-01-29 09:15:01 -06:00
terrafrost
1017120fa9 Merge branch '2.0' into 3.0 2022-01-28 15:10:07 -06:00
terrafrost
c8d379daa5 Crypt/Base: add OFB8 as a new mode 2022-01-28 14:39:16 -06:00
terrafrost
e6afe3e25f Merge branch '2.0' into 3.0 2022-01-28 00:54:53 -06:00
terrafrost
ef45ea7289 Merge branch '0.0' into 2.0 2022-01-28 00:52:05 -06:00
uzulla
ba4414c2f3 Fix: avoid warn when cast float to int in PHP7.1.
I got some error.

```
 Implicit conversion from float 992216.1102294922 to int loses precision

---

```
2022-01-28 00:44:44 -06:00
terrafrost
a748bf5bef SSH2: one more tweak to RSA signature verificatio 2022-01-27 18:26:08 -06:00
terrafrost
decbde4f5d SSH2: rsa-sha2-256 and rsa-sha2-512 sigs weren't verifying 2022-01-27 05:51:06 -06:00
Jack Worman
7c000843ab Corrected many @return annotations in phpseclib/Net
Corrected many @return annotations in phpseclib/Net
2022-01-23 11:00:41 -06:00
terrafrost
602760c5d8 SSH2: CS change for 3.0 branch 2022-01-14 18:32:23 -06:00
terrafrost
d359543fe7 Merge branch '2.0' into 3.0 2022-01-14 18:31:48 -06:00
terrafrost
89482747a6 Merge branch '0.0' into 2.0 2022-01-14 18:31:37 -06:00
terrafrost
dac83d206e SSH2: fix pre-PHP 5.4 syntax error 2022-01-14 18:31:19 -06:00
terrafrost
ddfb217855 Merge branch '1.0' into 3.0 2022-01-08 19:51:35 -06:00
terrafrost
676b099789 Merge branch '1.0' into 2.0 2022-01-08 19:50:36 -06:00
PetrP
888867e7b6 SFTP: fix chgrp() for version < 4
$uid and $gid were flipped with dbfc762257
2022-01-08 19:50:22 -06:00
terrafrost
c60b0c3cc7 Merge branch '1.0' into 2.0 2021-12-26 02:23:57 -06:00
terrafrost
cc6edd81a6 Strings: misc tweaks 2021-12-26 00:40:43 -06:00
David Anderson
a9ed96833e
Check existence of phpinfo() before using 2021-12-21 14:19:00 +00:00
David Anderson
dd9dfeec18
Check phpinfo() available before using it 2021-12-21 14:17:16 +00:00
Michael Käfer
d71522d8aa Remove define() from SSH2 and use class constants instead (3.0 branch) 2021-12-14 16:34:41 +01:00
Michael Käfer
624f328c88 Remove define() from SSH2 and use class constants instead 2021-12-14 13:18:33 +01:00
terrafrost
13881b09d4 Travis: add PHP 8.1 support
See https://bugs.php.net/75474#1509646645 for more info on the static
change
2021-12-11 10:19:39 -06:00
terrafrost
8a0e6c05e7 Salsa20: fix PHP 5.6 error
The following demonstrates the error:

function demo(&$x)
{
  $x = 5;
}

$x = $y = [10];
demo(...$y);
echo $x[0];

That outputs 5 in PHP 5.6 and 10 in later PHP versions
2021-12-10 07:30:26 -06:00
terrafrost
072a56b2f9 SSH2: allow for stringable objects 2021-12-07 22:20:55 -06:00
terrafrost
20b9abf589 SSH2: show a more helpful error message when logging in with pubkey 2021-12-07 22:10:29 -06:00
terrafrost
6a935bb57b Merge branch '2.0' into 3.0 2021-12-07 21:59:47 -06:00
terrafrost
a74707e080 SSH2: make login() return false if no valid auth methods are found
this is an issue if you, for example, login with a PublicKey instead of a PrivateKey
2021-12-07 21:59:24 -06:00
terrafrost
e9fbf9ed8a Merge branch '1.0' into 2.0 2021-12-07 21:58:21 -06:00
terrafrost
649661cd5e SSH2: make login() return false if no valid auth methods are found 2021-12-07 21:57:55 -06:00
terrafrost
4141799c02 Tests: fix issues with Salsa20 / ChaCha20 unit tests 2021-12-04 18:43:12 -06:00
terrafrost
1bd5b40ee1 SymmetricKey: add getMode() 2021-11-28 11:27:52 -06:00
terrafrost
a85c2f0d6e RSA: rm unused privateKey variable 2021-11-22 08:13:55 -06:00
terrafrost
84295e2fc2 RSA/Keys/Raw: add support for private keys 2021-11-21 21:22:34 -06:00
terrafrost
c4b571a588 EC: error out when scalar is out of range 2021-11-21 09:55:04 -06:00
terrafrost
053910784e CS adjustments 2021-11-14 00:53:03 -06:00
terrafrost
4eb9cbd0c8 EC/Keys/PKCS8: publicKey parameter should be optional 2021-11-14 00:52:37 -06:00
terrafrost
014b3a95a1 Merge branch '2.0' into 3.0 2021-11-11 19:51:26 -06:00
terrafrost
ecd08ffc52 Merge branch '1.0' into 2.0 2021-11-11 19:51:19 -06:00
terrafrost
40035dc59c SFTP: don't attempt to parse unsupported attributes 2021-11-11 19:50:52 -06:00
terrafrost
779e11e496 SSH2: use exceptions rather than user_error 2021-11-11 19:39:49 -06:00
terrafrost
15263f0c9c Merge branch '1.0' into 3.0 2021-11-11 19:38:52 -06:00
terrafrost
cee791820c Merge branch '1.0' into 2.0 2021-11-11 19:17:17 -06:00
terrafrost
fe4dc433cc SSH2: error out when no data is received from the server 2021-11-11 19:06:18 -06:00
terrafrost
0b7db9ebd6 Merge branch '1.0' into 3.0 2021-11-10 19:46:19 -06:00
terrafrost
fcf9dd6175 Merge branch '1.0' into 2.0 2021-11-10 19:45:36 -06:00
terrafrost
31eac61820 Bootstrap: use version_compare instead of PHP_VERSION_ID 2021-11-10 19:45:31 -06:00
yangming
c91671f176 mbstring.func_overload is deprecated in php 6.2 and removed in php 8.0 2021-11-10 19:44:24 -06:00
terrafrost
17e79d9341 Merge branch '2.0' into 3.0 2021-11-08 06:44:55 -06:00
terrafrost
f92a58c83c SFTP: getSupportedVersions() call didn't work 2021-11-08 06:44:36 -06:00
terrafrost
a0405d4816 Merge branch '2.0' into 3.0 2021-11-03 22:28:16 -05:00
terrafrost
9fb26d478a Merge branch '1.0' into 2.0 2021-11-03 22:16:57 -05:00
terrafrost
29c8591cb2 SSH2: add "smart multi factor" login mode (enabled by default) 2021-11-03 22:16:14 -05:00
terrafrost
878526d7c9 SSH2: CS adjustments 2021-10-30 18:16:23 -05:00
terrafrost
13b9663ac6 Merge branch '1.0' into 3.0 2021-10-30 18:15:28 -05:00
terrafrost
895cf85dff Merge branch '0.0' into 2.0 2021-10-30 18:04:25 -05:00
vgogolin
1a942620b3 Backward compatibility with old PHP versions
Fix for PHP Parse error:  syntax error, unexpected '[' in /vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php on line 3558
2021-10-30 18:04:19 -05:00
terrafrost
7a739d75fe Merge branch '2.0' into 3.0 2021-10-26 20:48:46 -05:00
terrafrost
2de84fba24 Merge branch '1.0' into 2.0 2021-10-26 20:14:31 -05:00
terrafrost
da6c1b06bf SSH2: add support for zlib and zlib@openssh.com compression 2021-10-26 20:04:53 -05:00
Christopher Davis
24150b26f6 Don't Use Array Unpackage for Status Code -> Error
the `status_codes` property is an array with integer keys and string
values, but the `$error` value in `SFTP::logError` was trying to be unpacked
from an array.

Seems to come from cee3f3cd4a, but even at
that commit the `status_codes` data structure was still an array.

This bug is only present in 3.X, 2.X release didn't unpack here:
a684f12065/phpseclib/Net/SFTP.php (L829)
2021-10-13 19:58:27 -05:00
terrafrost
a2c30f9d33 Merge branch '2.0' into 3.0 2021-10-11 09:15:37 -05:00
terrafrost
eacb9f8614 Merge branch '1.0' into 2.0 2021-10-11 09:02:22 -05:00
terrafrost
74f1c9ed7b SSH2: CS adjustments 2021-10-11 08:58:43 -05:00
terrafrost
9a61525f44 SSH2: rm unnecessary code 2021-10-11 08:53:21 -05:00
terrafrost
0fe328936c SSH2: implement a different fix for #1613 2021-10-11 08:47:51 -05:00
terrafrost
2564032e6f Merge branch '2.0' into 3.0 2021-10-09 13:32:07 -05:00
terrafrost
2f3ca7123d SSH2: fix channel constant 2021-10-09 13:31:14 -05:00
terrafrost
b3e39538b8 Merge branch '2.0' into 3.0 2021-10-09 13:27:40 -05:00
terrafrost
7b2097c6bd Merge branch '1.0' into 2.0 2021-10-09 13:24:22 -05:00
terrafrost
1fab947f01 SSH2: fixes for noisy channels 2021-10-09 13:21:09 -05:00
terrafrost
644af71b6c SSH2: readd public for 3.0 branch 2021-10-09 13:00:30 -05:00