Commit Graph

443 Commits

Author SHA1 Message Date
Andreas Fischer
306f0711ed [constant-trickery] Try to use runkit to redefine mode constants. 2013-01-12 03:03:29 +01:00
Andreas Fischer
55e9f4d7ef [constant-trickery] Add runkit to PHP. Thanks to kherge for those lines. 2013-01-12 03:03:07 +01:00
Andreas Fischer
b83ca10246 [constant-trickery] Add extra test cases for BCMath and GMP. 2013-01-12 02:57:21 +01:00
Andreas Fischer
2ad6f71002 [constant-trickery] Provide infrastructure for setting mode constants. 2013-01-12 02:48:19 +01:00
Andreas Fischer
2c3b165556 [constant-trickery] Add PhpseclibTestCase. No longer use PHPUnit directly. 2013-01-12 02:34:46 +01:00
Andreas Fischer
f897e36e96 [constant-trickery] Turn existing BigIntegerTest into an abstract TestCase. 2013-01-12 02:21:51 +01:00
terrafrost
bbed0916cd SSH2: Make $stop be after all network activity 2013-01-11 18:38:38 -06:00
terrafrost
4c3bf94806 Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-01-11 18:38:08 -06:00
terrafrost
ab7f65d436 SSH1: Added setTimeout()
Note that interactiveRead() was left untouched.
2013-01-11 18:36:58 -06:00
terrafrost
e379138450 Merge pull request #40 from bantu/issue/39
[issue/39] Test case for Github ContinuousBuffer issue 39
2013-01-11 16:14:40 -08:00
terrafrost
76a24dc546 AES: $pos will always be 0 in the last if statement for CFB 2013-01-11 18:09:28 -06:00
terrafrost
7c0926d94a Merge remote-tracking branch 'origin/petrich'
Conflicts:
	phpseclib/Crypt/AES.php
2013-01-11 18:06:43 -06:00
terrafrost
74e61deb4f AES: CFB: decrypted strings were being truncated 2013-01-11 15:30:06 -06:00
terrafrost
d90caa17e3 SSH1: CS adjustments 2013-01-11 00:31:49 -06:00
terrafrost
4a1cbfa7fd Merge remote-tracking branch 'petrich/patch-3' into petrich
Conflicts:
	phpseclib/Crypt/AES.php
2013-01-10 23:49:59 -06:00
terrafrost
bbd62f6490 AES: CFB mode fix 2013-01-10 20:42:38 -06:00
terrafrost
5ce9ad6a42 Random: $urandom -> $fp 2013-01-10 13:19:31 -06:00
Hans-Jürgen Petrich
20461866ef AES: Fix broken CFB and disableContinuousBuffer()
Related to: https://github.com/phpseclib/phpseclib/pull/45
2013-01-10 23:27:12 +07:00
terrafrost
46baf1815f SSH1: Fix E_NOTICE 2013-01-10 00:42:53 -06:00
terrafrost
c3ee632587 SSH1: fix "Expected SSH_SMSG_SUCCESS" error 2013-01-09 23:56:33 -06:00
terrafrost
b1c96faf90 SSH1: Packets shown in log were encrypted 2013-01-09 22:54:11 -06:00
terrafrost
d741def23c AES: Fix broken CFB and disableContinuousBuffer()
Quoting from petrich's pull request (from which this commit was inspired):

Fixed: Broken CFB in continuous mode when using CRYPT_AES_MODE_MCRYPT (related to: #39 )
Fixed: Multiple calls to enable/disableContinuousBuffer()
Fixed: Some PHP Notice/Warnings about strlen(array())
2013-01-09 17:39:57 -06:00
terrafrost
2ead31dac2 rm debug code 2013-01-09 00:07:54 -06:00
terrafrost
e71fc97913 Revamp SSH1 logging and go back to using user_error
(_handle_error returned the line number in _handle_error - not the line number triggering the error)
2013-01-08 22:09:27 -06:00
terrafrost
10d9671601 SSH1: Fix E_NOTICE (thanks nosx!) 2013-01-08 11:15:28 -06:00
terrafrost
a890c6d127 Merge remote-tracking branch 'origin/petrich' 2013-01-06 19:14:05 -06:00
terrafrost
5e882d57fe Merge remote-tracking branch 'origin/petrich' 2013-01-06 19:10:25 -06:00
terrafrost
edc6d9cf5b AES.php in mcrypt mode always treated CFB as though it was a continuous cipher 2013-01-06 19:09:43 -06:00
terrafrost
fc2bf41588 Fix E_NOTICEs in the rewritten CFB mode 2013-01-06 19:08:36 -06:00
terrafrost
1626c0a3c7 CS adjustments to petrich's code and optimizations 2013-01-05 17:55:30 -06:00
terrafrost
fba455dfb2 Merge remote-tracking branch 'petrich/patch-2' into petrich
Conflicts:
	phpseclib/Crypt/Rijndael.php
2013-01-05 17:54:22 -06:00
Andreas Fischer
6e597bfe25 [issue/39] Extend tests to cover other modes. Also IVs, keys, etc. 2013-01-05 21:11:57 +01:00
Andreas Fischer
f15bc38520 [issue/39] Test case for Github ContinuousBuffer issue 39. 2013-01-05 21:11:57 +01:00
Andreas Fischer
318ac0bd86 [issue/39] Abstract test case for Crypt_AES. 2013-01-05 21:11:57 +01:00
Hans-Jürgen Petrich
d1f71cc5a7 Fixed CFB Decrypt(). Fixed OFB warnings
Fixed/rewritten: Decrypt() in CFB mode to work clean with enableContinuousBuffer()

Fixed: PHP's strlen(array()) warning in OFB mode,

Fixed: disableContinuousBuffer() clear's now also the $enbuffer/$debuffer arrays so that multiple calls to enable/disableContinuousBuffer() will work without old buffers
2013-01-05 16:23:35 +07:00
terrafrost
29c69808ae Merge pull request #43 from petrich/patch-1
fixed corrupted decrypt() in CTR mode
2013-01-04 19:05:04 -08:00
terrafrost
c1244dd339 CFB didn't always work in continuous mode 2013-01-04 20:53:23 -06:00
Andreas Fischer
d029b96148 Merge remote-tracking branch 'bantu/task/fix-test-autoloader'
* bantu/task/fix-test-autoloader:
  [task/fix-test-autoloader] Fix autoloader to support failing/erroring tests.
2013-01-04 13:58:25 +01:00
Andreas Fischer
e5f9c5bf60 Merge remote-tracking branch 'bantu/task/travis-skipped-tests'
* bantu/task/travis-skipped-tests:
  [task/travis-skipped-tests] List skipped tests on travis.
2013-01-04 12:49:07 +01:00
Hans-Jürgen Petrich
359e38b4d4 fixed corrupted decrypt() in CTR mode
$buffer['encrypted'] (which is always empty) should be $buffer['ciphertext'] or buffered stream will get corrupt...

Example:
define('CRYPT_AES_MODE',CRYPT_AES_MODE_INTERNAL);//in MODE_MCRYPT all is fine
$aes = new Crypt_AES(CRYPT_AES_MODE_CTR);
$aes->setKey(':-8');
$aes->enableContinuousBuffer();
$plaintext = ':-):-):-):-):-):-)';
for($i=0; $i<strlen($plaintext); $i++) {
 echo $aes->Decrypt($aes->Encrypt($plaintext[$i]));
}

Output:
:-):-):-):-):-):-(

Expected:
:-):-):-):-):-):-)


After Bugfix, output is:
:-):-):-):-):-):-)
2013-01-04 14:23:34 +07:00
Andreas Fischer
bbb47168da [task/fix-test-autoloader] Fix autoloader to support failing/erroring tests.
Before showing error output PHPUnit 3.7.x calls class_exists() on some PHPUnit
Extension class names that may not exist. Calling class_exists() already
triggers the autoload function in which require() then obviously fails.

We now check whether a file is includable by simply looping over all possible
include directories.
2013-01-03 18:51:15 +01:00
Andreas Fischer
4f35baf58d [task/travis-skipped-tests] List skipped tests on travis.
Turn on PHPUnit's verbose mode so we get detailed information about skipped
tests on travis (when there are any).
2013-01-03 18:18:33 +01:00
terrafrost
61ad80fd64 More strlen() / empty() changes 2013-01-03 00:26:27 -06:00
terrafrost
9b4240c104 Use !empty('0') instead of strlen('0')
Thanks petrich!
2013-01-03 00:21:09 -06:00
terrafrost
aa3da09747 Add limited SPKAC support 2012-12-19 00:21:55 -06:00
terrafrost
e4ccaef7bf Make PEM lines be 64 bytes long instead of 72
Also, add more notes to Crypt_Random's comments
2012-12-18 07:11:24 -06:00
terrafrost
7f5e9f404a Random: expand on the explanations as to how things work 2012-12-17 08:41:47 -06:00
terrafrost
885d7e0f24 SFTP: Make get() work correctly when files are being written to for partial transfers 2012-12-16 02:34:49 -06:00
terrafrost
35832fe2a1 Refactor crypt_random (renaming it to crypt_random_string)
...and update all the calls to it accordingly
2012-12-16 02:20:16 -06:00
terrafrost
a731220785 Fix E_NOTICE in SFTP.php (thanks dlgoodchild!) 2012-12-14 08:45:35 -06:00