1
0
mirror of https://github.com/danog/tgseclib.git synced 2024-12-12 09:09:50 +01:00
Commit Graph

120 Commits

Author SHA1 Message Date
Andreas Fischer
d9e9504fba Merge branch 'PSR2-1.0' into PSR2-2.0
* PSR2-1.0:
  Fix indentation phpcbf did not fix.
  Remove PSR2.Methods.FunctionCallSignature.SpaceAfterOpenBracket exception.
  Use phpcbf to fix PHP code to ruleset.
  Ignore coding guidelines in ANSI switch block.
  Base code sniffer ruleset on PSR2 rather than PEAR.
  Update PHP Code Sniffer to 2.3.3

Conflicts:
	build/code-sniffer-ruleset-tests.xml
	build/code-sniffer-ruleset.xml
	composer.lock
	phpseclib/Crypt/DES.php
	phpseclib/Crypt/Hash.php
	phpseclib/Crypt/RSA.php
	phpseclib/File/X509.php
	phpseclib/Math/BigInteger.php
	phpseclib/Net/SFTP.php
	phpseclib/Net/SSH1.php
	phpseclib/Net/SSH2.php
	tests/Functional/Net/SFTPUserStoryTest.php
	tests/Unit/Crypt/TwofishTest.php
2015-07-17 13:41:59 +02:00
Andreas Fischer
2013a31ecd Use phpcbf to fix PHP code to ruleset. 2015-07-17 12:57:41 +02:00
terrafrost
3cb0248f99 Crypt/Base: add initial exception support
To accomodate this decrypt() can no longer return false. If padding is enabled and the padding length is invalid (the only condition under which false was returned) an InvalidInputException will be thrown.

Also, previously, when encrypting, if the padding was disabled and the plaintext wasn't a multiple of the block size a E_USER_NOTICE would be issued via user_error() and then padding would be enabled. Now it's not enabled - an exception is thrown suggesting that you might want to enable padding and that's that.
2015-07-15 12:50:57 -05:00
terrafrost
9f626c67b6 Merge remote-tracking branch 'graham/1.0-phpdoc' into 1.0-phpdoc 2015-04-16 00:31:54 -05:00
terrafrost
0835389b5a CS adjustments 2015-04-02 22:39:47 -05:00
terrafrost
c42d8382dd Crypt/Base: CRYPT_MODE -> self::MODE 2015-04-02 07:01:37 -05:00
terrafrost
c274370ed9 another typo 2015-04-02 06:50:55 -05:00
terrafrost
a530152628 Crypt/Base: fix syntax errors 2015-04-02 06:23:54 -05:00
terrafrost
56d6d5dcb0 Crypt/Base: fix syntax error 2015-04-02 05:54:00 -05:00
terrafrost
ebcb3130b7 Merge branch 'openssl-support' into 2.0
Conflicts:
	phpseclib/Crypt/AES.php
	phpseclib/Crypt/Base.php
	phpseclib/Crypt/Blowfish.php
	phpseclib/Crypt/DES.php
	phpseclib/Crypt/RC2.php
	phpseclib/Crypt/RC4.php
	phpseclib/Crypt/Rijndael.php
	phpseclib/Crypt/TripleDES.php
	phpseclib/Crypt/Twofish.php
	phpseclib/Net/SSH2.php
	tests/Functional/Net/SFTPLargeFileTest.php
	tests/Unit/Crypt/AES/InternalTest.php
	tests/Unit/Crypt/AES/McryptTest.php
	tests/Unit/Crypt/AES/TestCase.php
2015-04-02 05:32:31 -05:00
terrafrost
e9fe245132 Crypt/Base: update some comments 2015-03-30 23:43:28 -05:00
terrafrost
1a51226d84 Crypt/Base; prioritize OpenSSL over mcrypt 2015-03-30 23:33:52 -05:00
terrafrost
6bd4e6018e Crypt/Base: rm redundant null padding 2015-03-29 15:26:15 -05:00
Graham Campbell
e50cbacd4e Fixed some phpdocs 2015-03-29 17:07:17 +01:00
terrafrost
9a400c4094 Crypt/Base: engine wasn't being set correctly 2015-03-15 02:44:13 -05:00
terrafrost
3f3e0cac98 setengine changes per bantu 2015-02-24 00:05:00 -06:00
terrafrost
a95160cb44 Crypt/Base: fix issue with CBC mode encryption with continuous buffers 2015-01-31 19:11:32 -06:00
Clint Nelissen
71c2d43956 Marked Base as abstract 2015-01-05 08:42:30 -08:00
terrafrost
b24e7c3fc9 Crypt/Base: don't modify the IV when the mode isn't continuous for CFB 2015-01-01 00:27:30 -06:00
terrafrost
7b58268d58 Crypt/Base: fix bug with openssl non-continuous CTR mode 2014-12-31 23:38:55 -06:00
terrafrost
b831724e1a Crypt/Base: don't always treat CTR as being continuous w/ OpenSSL 2014-12-31 22:24:56 -06:00
terrafrost
be168e262f Crypt/Base: stream ciphers cannot be run in continuous mode with OpenSSL 2014-12-31 14:10:53 -06:00
Clint Nelissen
d4f04bcab1 Revert changes for abstract methods in Base class 2014-12-29 08:54:45 -08:00
Clint Nelissen
f3565346fa Replaced get_class() calls with instanceof operators 2014-12-24 13:07:14 -08:00
Clint Nelissen
fe742e18d7 Namespaced Crypt Package 2014-12-16 16:16:54 -08:00
terrafrost
5d0cb1cee9 Crypt/Base: more fixes to pre 5.4.0 padding adjustments 2014-12-14 12:00:34 -06:00
terrafrost
d9adb66609 Crypt/Base: fix typo 2014-12-14 11:03:12 -06:00
terrafrost
4cc23b7006 Crypt/Base: $block_size -> $this->block_size 2014-12-14 10:48:18 -06:00
terrafrost
31af2b3ed3 Crypt/Base: fix decryption for ECB / CBC on PHP < 5.4.0 2014-12-14 10:40:40 -06:00
terrafrost
51c0deba45 Crypt/Base: update one more comment 2014-12-13 14:22:12 -06:00
terrafrost
7d31f924a8 Crypt/Base: clean up comments 2014-12-13 14:20:25 -06:00
terrafrost
c5f74eb3a3 Merge branch 'master' of https://github.com/phpseclib/phpseclib into openssl-support 2014-12-13 14:15:34 -06:00
terrafrost
8d8c2693c5 Crypt: rm @version stuff 2014-12-13 14:13:24 -06:00
terrafrost
f5f9c3d409 Crypt: replace CRYPT_MODE_INTERNAL/MCRYPT/OPENSSL with CRYPT_ENGINE_* 2014-12-13 13:58:41 -06:00
Andreas Fischer
c4b103468c Merge pull request #549 from bantu/fix-547
Change copyright years from roman numeral to decimal numbers.

* bantu/fix-547:
  Change copyright years from roman numeral to decimal numbers.

Conflicts:
	phpseclib/System/SSH_Agent.php
2014-12-10 00:06:08 +01:00
Andreas Fischer
0efae5a91e Change copyright years from roman numeral to decimal numbers. 2014-12-10 00:04:08 +01:00
Clint Nelissen
0305a4827c Moved globally defined constants to class constants 2014-12-09 10:46:30 -08:00
terrafrost
69614034ec Crypt_Base: fix to the IV handling of the last commit 2014-12-07 07:35:30 -06:00
terrafrost
b35cedcb15 Crypt_Base: deal with IV's more appropriately 2014-12-06 23:36:26 -06:00
Andreas Fischer
638e62d60a Remove LICENSE text from source code files. 2014-12-03 18:49:33 +01:00
terrafrost
129dc320b0 Crypt_Base: fix the rest of the E_NOTICEs 2014-11-29 22:26:42 -06:00
terrafrost
6c09d6f565 Crypt_Base: fix E_NOTICEs 2014-11-29 16:18:17 -06:00
terrafrost
866b690248 Crypt: CS adjustments 2014-11-29 09:52:14 -06:00
terrafrost
8476ae6383 Crypt_Base: openssl_(en|de)crypt's parameters changed in PHP 5.4.0 2014-11-29 09:48:45 -06:00
terrafrost
f6e0c4b506 Crypt: add OpenSSL support
aside from the addition of OpenSSL support a few other changes have been included:

- setEngine(), as added by petrich, is depricated (not that it was ever in trunk to begin with)
  it has been replaced with isValidEngine() and setPreferredEngine().
- replace _generate_xor() with increment_str()
  _increment_str() had extra functionality that wasn't being used. ie. it could concatenate
  multiple successive string increments to one another automatically. but not only was that
  functionality not used - it also made the function less versatile. _increment_str() can be
  used more easily for iterative brute forcing (for example)
- rename Crypt_Base::_stringShift to Crypt_Base::_string_shift (for consistency)
- more expansive unit test coverage
2014-11-29 07:39:21 -06:00
terrafrost
beb3d0db79 Merge remote-tracking branch 'petrich/master' into petrich
Conflicts:
	phpseclib/Crypt/AES.php
	phpseclib/Crypt/Base.php
	phpseclib/Crypt/Blowfish.php
	phpseclib/Crypt/DES.php
	phpseclib/Crypt/RC2.php
	phpseclib/Crypt/RC4.php
	phpseclib/Crypt/Rijndael.php
	phpseclib/Crypt/TripleDES.php
	phpseclib/Crypt/Twofish.php
2014-10-11 22:56:32 -05:00
Andreas Fischer
8ba3dd0846 Merge branch 'master' into php5
* master:
  Crypt/Base: readability improvement
  RSA: CS adjustments
  RSA: rename PUBLIC_FORMAT_PKCS1_RAW -> PUBLIC_FORMAT_PKCS8
  RSA: add PKCS8 unit tests
  RSA: add support for saving encrypted PKCS8 keys
  Crypt/Base: adjust default key size for pbkdf1
  RSA: add support for loading PKCS8 encrypted private keys
  Crypt/Base: add support for pbkdf1
  RSA: add support for saving to PKCS8 (unencrypted)
2014-06-17 00:36:54 +02:00
Andreas Fischer
67aedc240b Change constructors from class name to __construct().
This has been produced as follows:
<?php
$replace = $files = [];
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($argv[1]));
foreach ($it as $fileinfo) {
    if ($fileinfo->getExtension() === 'php') {
        $file = $fileinfo->getPathname();
        $content = file_get_contents($file);
        $files[$file] = $content;
        $tokens = token_get_all($content);
        foreach ($tokens as $key => $value) {
            if ($value[0] === T_CLASS) {
                $class = $tokens[$key + 2][1];
                $replace += array(
                    "$class::$class(" => "$class::__construct(",
                    "parent::$class(" => "parent::__construct(",
                    "function $class(" => "function __construct(",
                );
            }
        }
    }
}
foreach ($files as $file => $content) {
    file_put_contents(
        $file,
        str_replace(
            array_keys($replace),
            array_values($replace),
            $content
        )
    );
}
2014-06-16 17:06:34 +02:00
terrafrost
0bafe1e6c6 Crypt/Base: readability improvement 2014-06-16 09:57:04 -05:00
terrafrost
d474f56f60 Crypt/Base: adjust default key size for pbkdf1 2014-06-13 10:39:57 -05:00
terrafrost
21c6a15df3 Crypt/Base: add support for pbkdf1 2014-06-13 08:54:30 -05:00
Andreas Fischer
fb1296bbec Drop meaningless, outdated, inconsistent version tags in doc blocks.
find phpseclib -type f -name "*.php" -exec sed -i '/@version/d' {} \;
2014-03-11 15:58:33 +01:00
Veres Lajos
930a3fb4d2 typofixes - https://github.com/vlajos/misspell_fixer 2014-03-05 23:41:20 +00:00
Andreas Fischer
56f1ada5c1 CS: Each file MUST end with exactly one newline character 2014-02-10 14:51:35 +01:00
Hans-Jürgen Petrich
50f46959ed Ciphers: Adding setEngine() and some optimizations
Ciphers: Adding setEngine() and some optimizations
2014-01-31 06:13:14 +07:00
Andreas Fischer
f0f029b2c1 CS: Fix "PEAR.Commenting.ClassComment.WrongTagOrder" sniff. 2013-12-11 18:33:18 +01:00
Andreas Fischer
3db1fbb072 CS: Fix "PEAR.Commenting.FileComment.TagIndent" sniff. 2013-12-10 20:10:37 +01:00
Andreas Fischer
6d1fb9f7db CS: Fix "PEAR.Files.IncludingFile.UseIncludeOnce" sniff. 2013-12-06 01:03:34 +01:00
Andreas Fischer
bc6ff96292 Fix "PEAR.Files.IncludingFile.BracketsNotRequired" sniff. 2013-12-05 23:17:40 +01:00
Andreas Fischer
e09f1b730e CodeSniffer: Fix PEAR.Classes.ClassDeclaration.OpenBraceNewLine sniff. 2013-12-03 19:34:41 +01:00
Marc Philip Scholten
3bfd884813 Removed vim comments
Reformated files
2013-11-23 19:42:26 +01:00
Hans-Jürgen Petrich
f102ce62e2 Crypt_Base: removed die(1)
re:
89ea2da86b (commitcomment-3505770)
2013-06-26 13:15:04 +07:00
Hans-Jürgen Petrich
af1700a025 Crypt_base: Typo 2013-06-26 11:55:19 +07:00
Hans-Jürgen Petrich
89ea2da86b Crypt_*: CS and comments
- Crypt_* Some CS
- Crypt_Base: better comments for phpseclib developers
- Crypt_Base::_createInlineCryptFunction(): better namespace for
internal variables (all now prefixed with an underscore to avoid
conflicts)
2013-06-26 11:50:40 +07:00
Hans-Jürgen Petrich
fb8d185804 Base/AES/Rijndael: Optimizations
- Base/Rijndael/AES: Comments updated.

- Base: removed __desctructor(). Re:
https://github.com/phpseclib/phpseclib/issues/107

- Base: setPassword() will use >= php-5.5's new (faster) hash_pbkdf2()
function if availalbe/possible. 100% compatible to the internal
implementation. Strong testet with all
hashes/iterations/lengths/ciphers.

- Rijndael: Runtime engine-switch: Will now use mcrypt (in case of
128/192/256-bit block/keys), if possible. Otherwise MODE_INTERNAL.

AES: Soucecode reducing. After all, now, AES.php is virtually nothing
other than a wrapper to Rijndael.php::new
Crypt_Rijndael()->setBlockLength(128). No different in speed or
functionality, but fixed block_size.
2013-06-02 16:21:32 +07:00
Hans-Jürgen Petrich
e71ec8f4c8 CS adjustments 2013-05-25 18:10:20 +07:00
Hans-Jürgen Petrich
35f1b8dc2b Method namings 2013-05-25 14:08:17 +07:00
Hans-Jürgen Petrich
5429504aee CS adjustment 2013-05-25 11:22:25 +07:00
Hans-Jürgen Petrich
995c09cb67 CS and method namings 2013-05-25 09:05:24 +07:00
Hans-Jürgen Petrich
55ff00cc35 Crypt_Base
Crypt_Base() implementation
2013-05-20 13:19:38 +07:00