mirror of
https://github.com/phpseclib/phpseclib.git
synced 2025-01-27 00:58:25 +00:00
Robert
6fc9a98d42
Reorganize get_binary_packet to fetch entire payload before decrypt processing, buffering for graceful handling across timeouts.
Remove skip filter parameter from method signatures, now technically defunct as all requests through get_binary_packet incorporate the same timeout during blocking IO calls. Introduce InvalidPacketLength exception and employ to detect OpenSSL 0.9.8e flaw at higher logical level than binary packet processing. Removing case logic in binary packet filtering for channel message types, made extraneous by use of get_channel_packet, and possibly leading to discarded data packets. Reset connection properties during disconnect. Rework callers of reset_connection to use disconnect_helper. Bugfix for no encyrption algorithms negotiated with server.
phpseclib - PHP Secure Communications Library
Supporting phpseclib
- Become a backer or sponsor on Patreon
- One-time donation via PayPal or crypto-currencies
- Subscribe to Tidelift
Introduction
MIT-licensed pure-PHP implementations of the following:
SSH-2, SFTP, X.509, an arbitrary-precision integer arithmetic library, Ed25519 / Ed449 / Curve25519 / Curve449, ECDSA / ECDH (with support for 66 curves), RSA (PKCS#1 v2.2 compliant), DSA / DH, DES / 3DES / RC4 / Rijndael / AES / Blowfish / Twofish / Salsa20 / ChaCha20, GCM / Poly1305
Documentation
- Documentation / Manual
- API Documentation (generated by Doctum)
Branches
master
- Development Branch
- Unstable API
- Do not use in production
3.0
- Long term support (LTS) release
- Major expansion of cryptographic primitives
- Minimum PHP version: 5.6.1
- PSR-4 autoloading with namespace rooted at
\phpseclib3
- Install via Composer:
composer require phpseclib/phpseclib:~3.0
2.0
- Long term support (LTS) release
- Modernized version of 1.0
- Minimum PHP version: 5.3.3
- PSR-4 autoloading with namespace rooted at
\phpseclib
- Install via Composer:
composer require phpseclib/phpseclib:~2.0
1.0
- Long term support (LTS) release
- PHP4 compatible
- Composer compatible (PSR-0 autoloading)
- Install using Composer:
composer require phpseclib/phpseclib:~1.0
- Download 1.0.23 as ZIP
Security contact information
To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.
Support
Need Support?
- Checkout Questions and Answers on Stack Overflow
- Create a Support Ticket on GitHub
- Browse the Support Forum (no longer in use)
Special Thanks
Special Thanks to our $50+ sponsors!:
- Allan Simon
- ChargeOver
Contributing
-
Fork the Project
-
Ensure you have Composer installed (see Composer Download Instructions)
-
Install Development Dependencies
composer install
-
Create a Feature Branch
-
Run continuous integration checks:
composer global require php:^8.1 squizlabs/php_codesniffer friendsofphp/php-cs-fixer vimeo/psalm phpcs --standard=build/php_codesniffer.xml php-cs-fixer fix --config=build/php-cs-fixer.php --diff --dry-run --using-cache=no psalm --config=build/psalm.xml --no-cache --long-progress --report-show-info=false --output-format=text vendor/bin/phpunit --verbose --configuration tests/phpunit.xml
-
Send us a Pull Request
Languages
PHP
100%