1
0
mirror of https://github.com/danog/tgseclib.git synced 2024-12-17 03:16:56 +01:00
Commit Graph

1357 Commits

Author SHA1 Message Date
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
87e0f05ada Merge branch 'openssl-support' of https://github.com/terrafrost/phpseclib into openssl-support 2015-04-02 05:58:58 -05:00
terrafrost
d75f703c0a rm PHP v4 compatability claim 2015-04-02 05:57:52 -05:00
terrafrost
56d6d5dcb0 Crypt/Base: fix syntax error 2015-04-02 05:54:00 -05:00
terrafrost
e510dc878b Merge branch '1.0' of https://github.com/phpseclib/phpseclib into openssl-support
Conflicts:
	phpseclib/Net/SSH2.php
2015-04-02 05:40:14 -05:00
terrafrost
023fef8d8b Merge branch '2.0' of https://github.com/phpseclib/phpseclib into openssl-support-2.0
Conflicts:
	phpseclib/Net/SSH2.php
2015-04-02 05:37:04 -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
Andreas Fischer
8101772ab4 Merge branch '1.0' into 2.0
* 1.0:
  SSH2: rm unused $connectionTimeout variable
  SSH2: rm redundant code and make php4 compatable
  SSH2: timeout improvements

Conflicts:
	phpseclib/Net/SSH2.php
2015-03-30 12:46:54 +02:00
Andreas Fischer
c0370ee91d Merge pull request #639 from terrafrost/banner-timeout
improve error handling with protocol version exchange

* terrafrost/banner-timeout:
  SSH2: rm unused $connectionTimeout variable
  SSH2: rm redundant code and make php4 compatable
  SSH2: timeout improvements
2015-03-30 12:37:46 +02:00
Andreas Fischer
6dc32808f1 Merge pull request #644 from terrafrost/agentforwarding-1.0
Agent Forwarding for 1.0 branch

* terrafrost/agentforwarding-1.0:
  removed unwarrented user_error
  preference isset over array_key_exists, return false on failure, break after return channel opened
  moved agent forwarding channel handling to filter method and reusing existing open channels to request forwarding
  removed stopSSHForwarding
  determining what failure to expect
  addresses low hanging fruit comments from terrafrost and bantu
  removed superfluous default case
  SSH agent forwarding implementation
2015-03-30 12:22:57 +02: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
33645f5297 SSH2: missed a file in the merge 2015-03-29 10:58:05 -05:00
terrafrost
a8e702b34f Merge branch 'agentforwarding-1.0' into agentforwarding-2.0
Conflicts:
	phpseclib/Net/SSH2.php
	phpseclib/System/SSH/Agent.php
2015-03-29 10:32:30 -05:00
terrafrost
bb01002233 Merge remote-tracking branch 'agentforwarding/feature/ssh_agent_forwarding' into agentforwarding-1.0 2015-03-28 21:03:17 -05:00
terrafrost
1294b08675 SSH2: rm unused $connectionTimeout variable 2015-03-27 22:32:38 -05:00
montdidier
3ff4212b92 removed unwarrented user_error 2015-03-24 13:40:42 +08:00
montdidier
9723acc885 preference isset over array_key_exists, return false on failure, break after return channel opened 2015-03-24 13:38:56 +08:00
terrafrost
4ba8c24c13 DES: fix fatal error that could occur under special circumstances 2015-03-21 11:01:43 -05:00
terrafrost
dfd57dfb89 SSH2: rm redundant code and make php4 compatable 2015-03-19 22:39:43 -05:00
terrafrost
23c65c3839 SSH2: timeout improvements
make it so that the timeout in the constructor behaves in the same
way that timeout's set via setTimeout() do. eg. isTimeout() tells
you if a timeout was thrown etc.
2015-03-19 07:53:19 -05:00
terrafrost
8f81fc8f28 Merge branch '1.0' of https://github.com/phpseclib/phpseclib into openssl-support 2015-03-15 02:45:32 -05:00
terrafrost
9a400c4094 Crypt/Base: engine wasn't being set correctly 2015-03-15 02:44:13 -05:00
Andreas Fischer
f57e01df65 Merge branch '1.0' into 2.0
* 1.0:
  Tests/X509: add unit test
  X509: make it so you can use File_ASN1_Element for custom X.509 extensions
2015-03-10 13:46:15 +01:00
terrafrost
7ac2470c98 Merge branch '1.0' of https://github.com/phpseclib/phpseclib into x509-custom-extensions 2015-03-09 01:38:33 -05:00
Andreas Fischer
63ed03b119 Merge branch '1.0' into 2.0
* 1.0:
  Tests/X509: swap expected and actual value
  Tests/X509: fix unit test
  Tests/X509: add unit test for unsupported extension encoding
  X509: always base64-encode extensions for which _getMapping returns a bool
2015-03-05 15:37:46 +01:00
terrafrost
e686c095b6 X509: always base64-encode extensions for which _getMapping returns a bool 2015-03-01 12:05:49 -06:00
terrafrost
7e2dd90140 X509: make it so you can use File_ASN1_Element for custom X.509 extensions 2015-03-01 11:57:36 -06:00
terrafrost
3f3e0cac98 setengine changes per bantu 2015-02-24 00:05:00 -06:00
montdidier
1803bcac0b moved agent forwarding channel handling to filter method and reusing existing open channels to request forwarding 2015-02-06 11:28:23 +08:00
montdidier
25b328c440 removed stopSSHForwarding 2015-02-05 13:19:57 +08:00
terrafrost
a95160cb44 Crypt/Base: fix issue with CBC mode encryption with continuous buffers 2015-01-31 19:11:32 -06:00
terrafrost
e93dc8d272 RC2: OpenSSL is pretty restricted in where it can be used 2015-01-29 23:19:34 -06:00
terrafrost
e9470d1fc5 TripleDES: updates to accomodate inner chaining 2015-01-17 09:42:47 -06:00
Andreas Fischer
9abd251cb2 Merge pull request #590 from cnelissen/MarkBaseAbstract
Mark Base as abstract

* cnelissen/MarkBaseAbstract:
  Marked Base as abstract
2015-01-17 14:14:46 +01:00
terrafrost
009d883d4c Merge branch 'master' of https://github.com/phpseclib/phpseclib into openssl-support 2015-01-14 20:13:08 -06:00
montdidier
dd0b3e6bd5 addresses low hanging fruit comments from terrafrost and bantu 2015-01-12 17:13:33 +08:00
Andreas Fischer
38e6196127 Merge branch 'master' into php5
* master:
  ASN1: empty constructed context-specific tags error'd out

Conflicts:
	phpseclib/File/ASN1.php
2015-01-11 16:09:50 +01:00
Andreas Fischer
fd6aa5258c Merge pull request #606 from terrafrost/asn-csr-2
ASN1 / CSR fixes

* terrafrost/asn-csr-2:
  ASN1: empty constructed context-specific tags error'd out
2015-01-11 16:05:19 +01:00
terrafrost
84325d415e ASN1: empty constructed context-specific tags error'd out
eg. an attributes field in a CSR that's blank
2015-01-10 23:58:50 -06:00
Andreas Fischer
04dad3ff8c Merge branch 'master' into php5
* master:
  Compare numeric part of OpenSSL version
2015-01-09 13:09:21 +01:00
Ha Phan
b0129e9125 Compare numeric part of OpenSSL version 2015-01-08 20:55:14 +07:00
Clint Nelissen
71c2d43956 Marked Base as abstract 2015-01-05 08:42:30 -08:00
Andreas Fischer
3c99773184 Merge pull request #588 from terrafrost/disconnect-fix
SSH2: update conditions under which _disconnect's code is executed

* terrafrost/disconnect-fix:
  SSH2: update conditions under which _disconnect's code is executed
2015-01-04 11:57:52 +01:00
Andreas Fischer
1c923576c6 NET_SSH2_ -> self:: 2015-01-04 11:38:03 +01:00
Andreas Fischer
ec21aa23f1 Merge pull request #588 from terrafrost/disconnect-fix
SSH2: update conditions under which _disconnect's code is executed

* terrafrost/disconnect-fix:
  SSH2: update conditions under which _disconnect's code is executed
2015-01-04 11:36:14 +01:00
Andreas Fischer
8fae19a024 Merge pull request #581 from cnelissen/ReplaceGetClassFix
Replaced get_class() calls with instanceof operators

* cnelissen/ReplaceGetClassFix:
  Revert changes for abstract methods in Base class
  Replaced get_class() calls with instanceof operators
2015-01-03 17:22:39 +01: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
c6c1e8dcb0 Merge branch 'master' of https://github.com/phpseclib/phpseclib into openssl-support 2014-12-31 14:38:22 -06:00
terrafrost
be168e262f Crypt/Base: stream ciphers cannot be run in continuous mode with OpenSSL 2014-12-31 14:10:53 -06:00
terrafrost
e3487c8adb RC4: use the parent encrypt / decrypt methods if openssl is being used 2014-12-30 23:33:12 -06:00
terrafrost
5a91539148 SSH2: rm unsupported algorithms if OpenSSL is being used 2014-12-29 22:10:26 -06:00
montdidier
aca4ba3286 SSH agent forwarding implementation 2014-12-30 10:44:31 +08:00
Clint Nelissen
d4f04bcab1 Revert changes for abstract methods in Base class 2014-12-29 08:54:45 -08:00
terrafrost
472e006b6c SSH2: update conditions under which _disconnect's code is executed 2014-12-29 08:37:44 -06:00
Andreas Fischer
f2134aa4b2 Merge branch 'master' into php5
* master:
  "@access static" isn't a thing
2014-12-27 20:25:04 +01:00
Graham Campbell
bd0537fec5 "@access static" isn't a thing 2014-12-27 15:38:14 +00:00
David Anderson
1cd286642e Change dochint as requested 2014-12-27 14:10:44 +00:00
David Anderson
fba6894474 Add docblock 2014-12-27 14:02:29 +00:00
David Anderson
e9b698fd65 Add callback to SFTP.php
Currently, Net_SCP::put() has a callback parameter, allowing the consumer to monitor/log/report progress (or whatever they please).

This patch adds the same feature, working in the same way, to Net_SFTP::put()
2014-12-27 13:55:00 +00:00
Andreas Fischer
6205531907 Merge branch 'master' into php5
* master:
  Fix undefined $raw error
2014-12-26 10:48:16 +01:00
Clint Nelissen
01d7c96a11 Fix undefined $raw error 2014-12-26 10:37:46 +01:00
Clint Nelissen
f3565346fa Replaced get_class() calls with instanceof operators 2014-12-24 13:07:14 -08:00
terrafrost
f91c4ccf60 DES: apparently TripleDES extends DES
this was not always the case:

See c4752cbeba
2014-12-20 11:14:29 -06:00
Clint Nelissen
fe742e18d7 Namespaced Crypt Package 2014-12-16 16:16:54 -08:00
Clint Nelissen
dfb8d52806 Temporary constant fix 2014-12-15 14:29:34 -08:00
Clint Nelissen
628949fb73 Namespaced classes 2014-12-15 14:29:20 -08:00
Clint Nelissen
fddf20f89c Namespaced classes 2014-12-15 09:25:46 -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
3f912eed59 Merge pull request #554 from cnelissen/NamespaceFilePackage
Namespace file package

* cnelissen/NamespaceFilePackage:
  Namespaced classes
2014-12-12 17:55:44 +01:00
Clint Nelissen
cea5e317b6 Namespaced classes 2014-12-09 16:53:05 -08:00
Andreas Fischer
36999bd25a Change copyright years from roman numeral to decimal numbers for php5. 2014-12-10 00:07:46 +01: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
Clint Nelissen
ecb9c32f02 Merge branch 'php5' of https://github.com/phpseclib/phpseclib into NetPackageConstantsFix
Conflicts:
	phpseclib/Net/SSH2.php
2014-12-08 10:40:57 -08:00
Andreas Fischer
2f27620409 Add #@+ block for properties used by internal implementation. 2014-12-08 16:02:39 +01:00
Andreas Fischer
8ecf956499 Move in-code comments to property doc blocks. 2014-12-07 23:00:59 +01:00
Clint Nelissen
f5d6b7423d Refactor defined MATH_BIGINTEGER_ constants into class constants. 2014-12-07 22:33:39 +01:00
terrafrost
9a55ab1892 Blowfish: syntax error 2014-12-07 14:43:30 -06:00
Andreas Fischer
7b7e7d8de5 Add public keyword to Crypt\Random::string(). 2014-12-07 15:14:34 +01: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
e52a3aff5a Merge branch 'master' into php5
* master:
  SSH2: simplify _send_channel_packet
2014-12-06 12:25:16 +01:00
terrafrost
96eb1f3797 SSH2: simplify _send_channel_packet
the last _send_channel_packet was unnecessarily complex. this lead
to a number of problems. for example,

the window size was checked for adjustments in two places. in the
second place it receives a window adjustment packet and just assumes
that the window adjustment packet was big enough for the rest of the
data.

(thanks, pixall!)
2014-12-05 22:01:39 -06:00
Andreas Fischer
da2ea27e7a Merge pull request #523 from cnelissen/FilePackageConstantsFix
File package constants fix

* cnelissen/FilePackageConstantsFix:
  Docblock fix
  Moved global constants into class constants and updated all references
2014-12-05 01:00:01 +01:00
Clint Nelissen
99b9cc477d Moved global constants to class constants 2014-12-04 13:45:13 -08:00
Andreas Fischer
01650cf7d7 Merge pull request #524 from cnelissen/SystemPackageConstantsFix
System package constants fix

* cnelissen/SystemPackageConstantsFix:
  Added SSH_AGENT_FAILURE constant back in
  Missed a couple SYSTEM_ prefixes
  Moved global constants to class constants
2014-12-04 20:05:55 +01:00
Andreas Fischer
a3f52dcf61 Merge branch 'master' into php5
* master:
  Quote shell argument with escapeshellarg()
2014-12-04 20:00:45 +01:00
Andreas Fischer
262da528a0 Merge pull request #527 from DavidAnderson684/patch-2
Quote shell argument with escapeshellarg()

* DavidAnderson684/patch-2:
  Quote shell argument with escapeshellarg()
2014-12-04 20:00:41 +01:00
Andreas Fischer
243ad0c54a Merge branch 'master' into php5
* master:
  SCP: Add missing space after case statement.
2014-12-04 19:56:34 +01:00
Clint Nelissen
f085f91d16 Added SSH_AGENT_FAILURE constant back in 2014-12-04 10:38:58 -08:00
Andreas Fischer
f40bb9190f SCP: Add missing space after case statement. 2014-12-04 18:42:47 +01:00
David Anderson
14dc468b70 Quote shell argument with escapeshellarg()
Currently, the call to "scp -t" or "scp -f" just uses naive quoting - i.e. a couple of quote marks are thrown in.

But, this can easily be escaped from - if the filename has a quote mark of its own in it, for example.

e.g. if the filename is as follows, then bad things will happen:

 ";rm -rf /

Instead, escapeshellarg should be used, to make sure it gets escaped properly.
2014-12-04 16:50:23 +00:00
Clint Nelissen
e8c93d8cfe Docblock fix 2014-12-04 08:30:07 -08:00
Clint Nelissen
19b4d0ec0c Missed a couple SYSTEM_ prefixes 2014-12-04 08:28:05 -08:00
Clint Nelissen
f7fb93276a Moved global constants to class constants 2014-12-03 18:44:30 -08:00
Clint Nelissen
a9925941b0 Moved global constants into class constants and updated all references 2014-12-03 18:20:10 -08:00
Andreas Fischer
b771ca36cf Merge pull request #519 from bantu/remove-license-text
Remove LICENSE text from source code files.

* bantu/remove-license-text:
  Remove LICENSE text from source code files.
2014-12-03 23:13:00 +01:00
Andreas Fischer
632c47e55f Merge branch 'master' into php5
* master:
  Avoid calling fclose(false)
2014-12-03 23:08:56 +01:00
David Anderson
647a1e9a5e Avoid calling fclose(false)
The previous code would always call fclose(false) if the file was not successfully opened - resulting in a PHP notice.
2014-12-03 19:29:46 +00:00
Andreas Fischer
638e62d60a Remove LICENSE text from source code files. 2014-12-03 18:49:33 +01:00
Andreas Fischer
dbbc21cb64 Merge pull request #510 from cnelissen/FixFileAsn1Classes
Split File_ASN1 and File_ASN1_Element into separate files

* cnelissen/FixFileAsn1Classes:
  Code sniffer php version fix
  Removed duplicated docblock text
  Codesniff fix
  Split File_ASN1 and File_ASN1_Element into separate files
2014-12-03 18:38:23 +01:00
Andreas Fischer
cc4aac1f29 Merge pull request #509 from cnelissen/FixSSHAgentClasses
Split System_SSH_Agent and System_SSH_Agent_Identity into separate files

* cnelissen/FixSSHAgentClasses:
  Code sniff php version fix
  Removed duplicated docblock text
  Split System_SSH_Agent and System_SSH_Agent_Identity into separate files
2014-12-03 18:38:17 +01:00
Clint Nelissen
ef3c96a46f Code sniff php version fix 2014-12-03 08:59:01 -08:00
Clint Nelissen
9bb9f54773 Code sniffer php version fix 2014-12-03 08:57:41 -08:00
Clint Nelissen
d6029bdb6a Removed includes for Random.php and fixed up user_error message 2014-12-02 09:34:15 -08:00
Clint Nelissen
f5ed86e385 Renamed Random::crypt_random_string to Random::string 2014-12-02 09:20:40 -08:00
Clint Nelissen
c70702afbb Namespaced Crypt\Random 2014-12-02 08:41:30 -08:00
Clint Nelissen
45ed270556 Removed duplicated docblock text 2014-12-02 08:18:43 -08:00
Clint Nelissen
7fe4007053 Removed duplicated docblock text 2014-12-02 08:17:53 -08:00
Clint Nelissen
3129faf05d Codesniff fix 2014-12-01 19:28:02 -08:00
Clint Nelissen
feca21da2b Split File_ASN1 and File_ASN1_Element into separate files 2014-12-01 19:26:52 -08:00
Clint Nelissen
b32c05b64e Split System_SSH_Agent and System_SSH_Agent_Identity into separate files 2014-12-01 19:18:58 -08:00
Clint Nelissen
bc3deb191f Code sniff fix 2014-12-01 19:01:00 -08:00
Clint Nelissen
9c0c3faeb7 Initial commit 2014-12-01 18:54:44 -08: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
8fc4f4b70c Merge branch 'master' of https://github.com/phpseclib/phpseclib into openssl-support 2014-11-29 07:46:06 -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
Andreas Fischer
43d2e9ef68 Merge branch 'master' into php5
* master:
  SSH2: clarify exec() docblock comment
2014-11-20 10:58:33 +01:00
terrafrost
b1e6643032 SSH2: clarify exec() docblock comment 2014-11-19 22:38:19 -06:00
Andreas Fischer
10e5653324 Merge branch 'master' into php5
* master:
  SSH2: fix issues with RSA key verification

Conflicts:
	phpseclib/Net/SSH2.php
2014-11-07 13:13:38 +01:00
terrafrost
3eac2582d6 SSH2: fix issues with RSA key verification
Sometimes SSH servers will null pad their RSA keys. this null padding
broke Net/SSH2.php's RSA implementation (Crypt/RSA.php's implementation
works just fine). Also, the -3 was counting the initial "\0" of $h
twice so adjust it to -2.
2014-11-06 11:58:03 -06:00
Andreas Fischer
8af52e2954 Merge branch 'master' into php5
* master:
  SFTP: Use hexdec() and bin2hex() for filesize calculation.
2014-10-19 21:32:23 +02:00
Andreas Fischer
5c3058cc4b SFTP: Use hexdec() and bin2hex() for filesize calculation. 2014-10-19 21:07:12 +02:00
Andreas Fischer
45ce4b24ef Merge branch 'master' into php5
* master:
  SFTP: Replace incorrect comment about filesize. There is no 4 GiB limit.

Conflicts:
	phpseclib/Net/SFTP.php
2014-10-19 20:54:50 +02:00
Andreas Fischer
1b57990e94 Merge pull request #492 from bantu/sftp-large-file-comment
SFTP: Replace incorrect comment about filesize. There is no 4 GiB limit.

* bantu/sftp-large-file-comment:
  SFTP: Replace incorrect comment about filesize. There is no 4 GiB limit.
2014-10-19 20:53:09 +02:00
Andreas Fischer
0e38dc4951 Merge branch 'master' into php5
* master:
  Restore compatibility with PHP 5.6.1 by using explicit array indexes.
2014-10-19 20:46:15 +02:00
Andreas Fischer
ad03d84461 Restore compatibility with PHP 5.6.1 by using explicit array indexes.
This seems to be caused by the resolution of PHP Ticket 67985.
2014-10-19 20:24:13 +02:00
Andreas Fischer
5b932495cc SFTP: Replace incorrect comment about filesize. There is no 4 GiB limit. 2014-10-15 17:27:48 +02:00
terrafrost
c8b55b8929 Rijndael: calling $rijndael->setEngine() didn't have any effect
(CRYPT_RIJNDAEL_MODE constant was always over-riding it)
2014-10-12 00:52:52 -05:00
terrafrost
361b59fff9 SSH2: make setCryptoEngine() less cumbersome 2014-10-11 23:40:56 -05:00
terrafrost
959c0cefae SSH2: add setCryptoEngine() function 2014-10-11 23:26:46 -05:00
terrafrost
ff4d563f4f SSH2: CS adjustments 2014-10-11 23:20:44 -05: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
e682e20df4 Merge branch 'master' into php5
* master:
  Correct constant: NET_SFTP_BLOCK_DEVICE -> NET_SFTP_TYPE_BLOCK_DEVICE
2014-10-09 23:51:33 +02:00
Andreas Fischer
ce3cf60b10 Correct constant: NET_SFTP_BLOCK_DEVICE -> NET_SFTP_TYPE_BLOCK_DEVICE 2014-10-09 23:24:30 +02:00
Andreas Fischer
645c16d0f5 Merge branch 'master' into php5
* master:
  Fix Net_SFTP::filetype() block device recognition.
2014-10-09 23:19:23 +02:00
Vladimir Volodko
6715c41e1f Fix Net_SFTP::filetype() block device recognition. 2014-10-09 12:46:58 +07:00
Andreas Fischer
92c3127448 Merge branch 'master' into php5
* master:
  SSH2: removed redundant rtrim
2014-09-28 12:43:54 +02:00
Cezary Kluczyński
0692a1ea7d SSH2: removed redundant rtrim 2014-09-28 12:39:54 +02:00
Andreas Fischer
da02246cc4 Merge branch 'master' into php5
* master:
  BigInteger: accomodate GMP change in PHP 5.6
2014-09-27 22:57:59 +02:00
terrafrost
a43dd38365 BigInteger: accomodate GMP change in PHP 5.6 2014-09-27 12:52:54 -05:00
Andreas Fischer
eff5f64560 Merge branch 'master' into php5
* master:
  ASN1: fix unit test
  ASN1: add unit test for non-constructed context-specific change
  ASN1: fix issue with non-constructed context-specific tags
  README: update download link to 0.3.8
2014-09-24 16:50:12 +02:00
terrafrost
a2f4a2cbba ASN1: add unit test for non-constructed context-specific change 2014-09-22 23:03:06 -05:00
terrafrost
c6ad2b69ba ASN1: fix issue with non-constructed context-specific tags 2014-09-22 01:01:34 -05:00
Andreas Fischer
5fa5a137dc Merge branch 'master' into php5
* master:
  RSA: syntax error in unit tests
  RSA: make unit tests perform string comparisons sans white space chars
  RSA: update unit test
  RSA: add unit test
  RSA: make XML keys use unsigned integers
2014-09-09 16:42:07 +02:00
Andreas Fischer
3f3b9b90fb Merge pull request #469 from terrafrost/rsa-xml-unsigned
RSA: make XML keys use unsigned integers

* terrafrost/rsa-xml-unsigned:
  RSA: syntax error in unit tests
  RSA: make unit tests perform string comparisons sans white space chars
  RSA: update unit test
  RSA: add unit test
  RSA: make XML keys use unsigned integers
2014-09-09 16:41:58 +02:00
terrafrost
c489852332 RSA: update unit test 2014-09-09 00:28:38 -05:00
Andreas Fischer
e85321959e SSH1: Math_BigInteger is supposed to be BigInteger. 2014-09-07 22:26:22 +02:00
Andreas Fischer
cf921a347a Merge branch 'master' into php5
* master:
  SSH2: rm unused constant
2014-09-07 12:43:27 +02:00
terrafrost
67279d7811 SSH2: rm unused constant
it doesn't need to be defined since the strlen($this->last_interactive_response)
check in _login_helper serves the same purpose that NET_SSH_MASK_LOGIN_INTERACTIVE
was intended to serve
2014-09-06 20:30:01 -05:00
terrafrost
713393c8ad RSA: make XML keys use unsigned integers
PKCS1 / PKCS8 keys need *signed* integers because of section 8.3.3
at http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#page=7
2014-09-06 11:13:11 -05:00
Andreas Fischer
6cb0528d6e Merge branch 'master' into php5
* master:
  ASN1: one more unit test change
  ASN1: another unit test update
  ASN1: unit test adjustments
  ASN1: cs adjustments to unit test
  ASN1: add unit tests for indefinite length decoding
  ASN1: CS adjustment (rm whitespace at eol)
  ASN1: rewrite _decode_der

Conflicts:
	phpseclib/File/ASN1.php
2014-09-04 22:22:16 +02:00
Andreas Fischer
5e9d41f403 Merge pull request #462 from terrafrost/asn1-handle-indef-lengths
ASN1: rewrite _decode_der

* terrafrost/asn1-handle-indef-lengths:
  ASN1: one more unit test change
  ASN1: another unit test update
  ASN1: unit test adjustments
  ASN1: cs adjustments to unit test
  ASN1: add unit tests for indefinite length decoding
  ASN1: CS adjustment (rm whitespace at eol)
  ASN1: rewrite _decode_der
2014-09-04 22:20:27 +02:00
Andreas Fischer
42e05a6714 Merge branch 'master' into php5
* master:
  SSH2: don't count data length against window size
2014-09-03 20:44:53 +02:00
terrafrost
3bb123c3d5 ASN1: CS adjustment (rm whitespace at eol) 2014-08-30 19:44:12 -05:00
terrafrost
9e71e0bce8 SSH2: don't count data length against window size
it is my hope that the issues 8c9e7a890e
and ccb1c3e2bd sought to resolve were
fixed 9f8d8a7bf6 and
7a2c7a414c.
2014-08-30 15:26:23 -05:00
terrafrost
e258e001fa ASN1: rewrite _decode_der
this rewrite makes phpseclib better able to handle indef lengths,
which had previously been untested.
2014-08-25 10:12:56 -05:00
Andreas Fischer
830667ce75 Merge branch 'master' into php5
* master:
  Replaced "case true:" with "default:"
  Error: "Constant CRYPT_RSA_MODE already defined"
2014-08-25 15:16:34 +02:00
Vitaliy Zaytsev
2ee0529c9d Replaced "case true:" with "default:" 2014-08-25 19:58:38 +07:00
Vitaliy Zaytsev
cf10e07660 Error: "Constant CRYPT_RSA_MODE already defined"
It happens if defined(MATH_BIGINTEGER_OPENSSL_DISABLE) && !function_exists('openssl_pkey_get_details')
2014-08-25 19:03:24 +07:00
Andreas Fischer
a15079676c Merge branch 'master' into php5
* master:
  SFTP: cs adjustment
  SFTP: optimize conditional calls to fclose in get() method
  SFTP: grammar
  SFTP: fix issue with uploading via a resource
  SFTP: make it so files can be downloaded into resources or upload   from resources
2014-08-19 22:25:07 +02:00
terrafrost
74feca9cf2 SFTP: cs adjustment 2014-08-19 14:20:20 -05:00
terrafrost
cb66c561c2 SFTP: optimize conditional calls to fclose in get() method 2014-08-19 14:05:24 -05:00
terrafrost
29e0143308 SFTP: grammar 2014-08-16 15:49:38 -05:00
terrafrost
7ed53f2428 SFTP: fix issue with uploading via a resource 2014-08-16 13:56:34 -05:00
terrafrost
e48ee12940 SFTP: make it so files can be downloaded into resources or upload
from resources
2014-08-16 12:49:55 -05:00
Andreas Fischer
6ba2b374e5 Merge branch 'master' into php5
* master:
  AES: don't do mcrypt unit tests if mcrypt extension is not available
  AES: a few final changes
  AES: set CRYPT_RIJNDAEL_MODE as well in unit tests
  AES: CS changes to unit tests
  AES: more unit test fixes
  AES: unit test updates
  AES: more unit test fixes
  AES: add new lines to end of unit tests
  AES: CS adjustments to unit tests
  AES: first attempt at unit tests for key padding
  Rijndael, AES: adjustments to what key sizes are and aren't allowed
2014-08-15 16:27:36 +02:00
terrafrost
aa0e7347ef AES: a few final changes 2014-08-14 23:09:17 -05:00
terrafrost
35fd2888ea Rijndael, AES: adjustments to what key sizes are and aren't allowed 2014-08-13 09:56:49 -05:00
Andreas Fischer
c59750562a Merge branch 'master' into php5
* master:
  BigInteger: fix previous fix
  BigInteger:  small optimization to bitwise_not
2014-08-12 11:30:30 +02:00
Andreas Fischer
cb8f991752 Merge pull request #448 from terrafrost/bits-change
BigInteger:  small optimization to bitwise_not

* terrafrost/bits-change:
  BigInteger: fix previous fix
  BigInteger:  small optimization to bitwise_not
2014-08-12 11:30:21 +02:00
terrafrost
33182bb2de BigInteger: fix previous fix 2014-08-10 14:47:08 -05:00
Andreas Fischer
83485c130f Merge branch 'master' into php5
* master:
  Hash: apply fixes to sha512 unit tests as well
  Hash: one more fix to unit test
  Hash: fix unit tests
  Hash: add unit tests
  Hash: add sha256-96 and sha512-96
2014-08-10 17:59:08 +02:00
Andreas Fischer
63974e9bbc Merge pull request #446 from terrafrost/hash-96-2
Hash: add sha256-96 and sha512-96

* terrafrost/hash-96-2:
  Hash: apply fixes to sha512 unit tests as well
  Hash: one more fix to unit test
  Hash: fix unit tests
  Hash: add unit tests
  Hash: add sha256-96 and sha512-96
2014-08-10 17:59:03 +02:00
Andreas Fischer
9dc92a82a4 Merge branch 'master' into php5
* master:
  SSH2: white space adjustment
  SSH: update getServerPublicHostKey() to use new _connect() method
  SSH2: fix if statement for conditional _connect() call
  simplify calls to $this->_connect()
  SSH2: make it so negotiated algorithms can be seen before login
2014-08-10 12:10:11 +02:00
Andreas Fischer
1de939fb4a Merge pull request #427 from terrafrost/ssh2-show-methods-before-login
SSH2: make it so negotiated algorithms can be seen before login

* terrafrost/ssh2-show-methods-before-login:
  SSH2: white space adjustment
  SSH: update getServerPublicHostKey() to use new _connect() method
  SSH2: fix if statement for conditional _connect() call
  simplify calls to $this->_connect()
  SSH2: make it so negotiated algorithms can be seen before login
2014-08-10 12:10:04 +02:00
terrafrost
04e263bb8c SSH2: white space adjustment 2014-08-10 02:09:28 -05:00
terrafrost
4ce7a0f63a BigInteger: small optimization to bitwise_not 2014-08-10 02:03:58 -05:00
terrafrost
085fb0ebb8 SSH: update getServerPublicHostKey() to use new _connect() method 2014-08-06 14:42:08 -05:00
terrafrost
88d6517d93 Hash: add sha256-96 and sha512-96
IPSec uses them and some versions of OpenSSH use them (even though RFC6668 makes no mention of them)
2014-08-05 23:27:11 -05:00
terrafrost
5b019b22d9 SSH2: fix if statement for conditional _connect() call 2014-08-05 19:30:14 -05:00
terrafrost
dffef50838 simplify calls to $this->_connect() 2014-08-04 20:11:34 -05:00
Andreas Fischer
e4516fb453 Merge branch 'master' into php5
* master:
  Add some test cases for SHA512.
  Use toBits() as there is no bits property.
  SSH2: Disallow the none MAC.
2014-07-26 17:20:09 +02:00
Andreas Fischer
737c8a9d0f Use toBits() as there is no bits property. 2014-07-26 13:43:57 +02:00
Andreas Fischer
2ccb301c4c Merge pull request #425 from bantu/ssh-remove-none-mac
SSH2: Disallow the none MAC.

* bantu/ssh-remove-none-mac:
  SSH2: Disallow the none MAC.
2014-07-26 13:14:39 +02:00
Andreas Fischer
fed60fe8ac Merge branch 'master' into php5
* master:
  ssh-hmac-sha2-256: Remove whitespace at end of line.
  Added RFC6668
  Add hmac-sha2-256 MAC support
2014-07-26 13:11:29 +02:00
Andreas Fischer
4be4533a6e ssh-hmac-sha2-256: Remove whitespace at end of line. 2014-07-26 13:02:52 +02:00
terrafrost
49079fa1b4 SSH2: make it so negotiated algorithms can be seen before login 2014-07-25 10:03:31 -05:00
Dag Wieers
1a330b68e2 Added RFC6668
Added the requested changed.
2014-07-25 14:10:01 +02:00
Dag Wieers
86d17c6989 Add hmac-sha2-256 MAC support
This small patch adds hmac-sha2-256 support separately as requested in #423.

Some security standards now recommend to disable MD5 and SHA1, and use SHA2 instead. This change was tested using SHA2 against RHEL6's OpenSSH v5.3p1 and Solaris 11. And was also tested with RHEL5's OpenSSH 4.3p2 which doesn't include SHA2.
2014-07-25 12:28:08 +02:00
Andreas Fischer
1aecc5e3d8 SSH2: Disallow the none MAC. 2014-07-25 12:18:11 +02:00
Andreas Fischer
bb1c36893f Merge branch 'master' into php5
* master:
  Do not check filename over and over again, remove '.' and '..' from the map instead.
2014-07-24 17:32:38 +02:00
Andreas Fischer
880bc9d9e6 Merge pull request #420 from bantu/sftp-skip-current-dir-by-removal
SFTP: Do not check filename over and over again, remove '.' and '..' from the map instead.

* bantu/sftp-skip-current-dir-by-removal:
  Do not check filename over and over again, remove '.' and '..' from the map instead.
2014-07-24 17:32:38 +02:00
Andreas Fischer
8862b3c97a Merge branch 'master' into php5
* master:
  Only fclose($fp) when $mode & NET_SFTP_LOCAL_FILE.
2014-07-24 17:04:25 +02:00
Andreas Fischer
48a2613cde Merge pull request #421 from bantu/issue/418
SFTP: Only fclose($fp) when $mode & NET_SFTP_LOCAL_FILE.

* bantu/issue/418:
  Only fclose($fp) when $mode & NET_SFTP_LOCAL_FILE.
2014-07-24 17:04:24 +02:00
Andreas Fischer
47695777f8 Merge branch 'master' into php5
* master:
  Net_SFTP::_list() only takes two parameters.
2014-07-24 17:02:47 +02:00
Andreas Fischer
952d2166bf Net_SFTP::_list() only takes two parameters. 2014-07-24 11:09:37 +02:00
Andreas Fischer
695d1e9038 Only fclose($fp) when $mode & NET_SFTP_LOCAL_FILE. 2014-07-24 11:06:24 +02:00
Andreas Fischer
84a9a300d4 Do not check filename over and over again, remove '.' and '..' from the map instead. 2014-07-24 11:00:55 +02:00
Andreas Fischer
f0d0158c2b Merge branch 'master' into php5
* master:
  Comment out (potentially) insecure ciphers arcfour and none.
2014-07-22 16:09:16 +02:00
Andreas Fischer
a0a23cbaf1 Merge pull request #406 from bantu/remove-ssh-arcfour
Remove the arcfour and none ciphers from SSH2.

* bantu/remove-ssh-arcfour:
  Comment out (potentially) insecure ciphers arcfour and none.
2014-07-22 16:09:14 +02:00
Andreas Fischer
ae913d64c3 Merge branch 'master' into php5
* master:
  SSH2: don't remove old $this->bitmap values
2014-07-21 23:53:34 +02:00
terrafrost
9dd3db4a49 SSH2: don't remove old $this->bitmap values 2014-07-21 16:41:39 -05:00
Andreas Fischer
84ac305704 Comment out (potentially) insecure ciphers arcfour and none. 2014-07-21 12:16:49 +02:00
Andreas Fischer
025a637053 Merge branch 'master' into php5
* master:
  Make Net_SSH2::isConnected() return a boolean instead of int.
2014-07-20 23:31:30 +02:00
Andreas Fischer
678d0cc792 Make Net_SSH2::isConnected() return a boolean instead of int. 2014-07-20 23:03:06 +02:00
Andreas Fischer
c2f2f4a764 Merge branch 'master' into php5
* master:
  SSH2: make isConnected return true if even if we're not logged in
2014-07-20 23:00:32 +02:00
Andreas Fischer
cc64ef9d3f Merge pull request #412 from terrafrost/ssh2-connected
SSH2: make isConnected return true if even if we're not logged in

* terrafrost/ssh2-connected:
  SSH2: make isConnected return true if even if we're not logged in
2014-07-20 23:00:30 +02:00
Andreas Fischer
d29ad3afa9 Merge branch 'master' into php5
* master:
  SFTP: stat cache fixes
  SFTP: return $sftp object in new unit test method
  SFTP: add unit test for stat cache fix
2014-07-20 21:41:51 +02:00
terrafrost
ac2fc96263 SSH2: make isConnected return true if even if we're not logged in 2014-07-20 11:24:16 -05:00
terrafrost
a84861bb52 SFTP: stat cache fixes 2014-07-19 21:31:58 -05:00
Andreas Fischer
8e0b9b2d64 Merge branch 'master' into php5
* master:
  SFTP: fix an issue with the stat cache
  README: update download link to latest version
2014-07-12 12:08:36 +02:00
terrafrost
fe7fd97b59 SFTP: fix an issue with the stat cache 2014-07-11 12:14:26 -05:00
Andreas Fischer
d198756a76 Merge branch 'master' into php5
* master:
  SCP: always encapsulate filenames within double quotes
  SCP: add support for file names with spaces
2014-07-05 17:40:07 +02:00
Andreas Fischer
ba24e04729 Merge pull request #394 from terrafrost/scp-spaces
SCP: add support for file names with spaces

* terrafrost/scp-spaces:
  SCP: always encapsulate filenames within double quotes
  SCP: add support for file names with spaces
2014-07-05 17:40:01 +02:00
terrafrost
aec33901fc SCP: always encapsulate filenames within double quotes 2014-07-03 13:36:24 -05:00
Andreas Fischer
970c55d6cc Remove side-effect from Net/SFTP/Stream.php. 2014-06-27 14:22:47 +02:00
Andreas Fischer
d25d115747 Merge branch 'master' into php5
* master:
  Use get_called_class() if available.
  Add Net_SFTP_Stream::register() for easier autoloading.
  Add unit test for (to be added) Net_SFTP_Stream::register().
2014-06-27 14:14:18 +02:00
terrafrost
9edf905939 SCP: add support for file names with spaces 2014-06-26 20:41:43 -05:00
Andreas Fischer
0f672dde52 Use get_called_class() if available. 2014-06-27 00:35:19 +02:00
Andreas Fischer
73f961cb7d Add Net_SFTP_Stream::register() for easier autoloading. 2014-06-27 00:22:41 +02:00
Andreas Fischer
510d5e1778 Merge branch 'master' into php5
* master:
  SFTP: return $sftp object in unit tests
  SFTP: fix unit test
  SFTP: syntax error in unit test
  SFTP: add unit tests for symlinks
  SFTP: add readlink and symlink functions
2014-06-23 16:37:56 +02:00
Andreas Fischer
949cfcc867 Merge pull request #386 from terrafrost/symlink
SFTP: add readlink and symlink functions

* terrafrost/symlink:
  SFTP: return $sftp object in unit tests
  SFTP: fix unit test
  SFTP: syntax error in unit test
  SFTP: add unit tests for symlinks
  SFTP: add readlink and symlink functions
2014-06-23 16:37:55 +02:00
Andreas Fischer
ca4f6a21eb Merge branch 'master' into php5
* master:
  Removed white-spaces from line ends
  Allow setting the terminal window size
2014-06-23 16:36:23 +02:00
liutec
10597aed64 Removed white-spaces from line ends 2014-06-22 22:30:52 +03:00
liutec
8e1df6e3c3 Allow setting the terminal window size 2014-06-20 13:04:17 +03:00
Andreas Fischer
b50ef2dc64 Replace phpseclib_resolve_include_path with stream_resolve_include_path. 2014-06-19 16:14:15 +02:00
Andreas Fischer
f85d333912 Merge branch 'master' into php5
* master:
  phpseclib_is_includable() -> phpseclib_resolve_include_path()
  Drop Net_SSH2::_is_includable() method.
  Random: a few changes to the stream_resolve_include_path_function
  Replace stream_resolve_include_path with phpseclib_is_includable.
  Random: add explanatory comment
  SSH2: replace _is_includable() with stream_resolve_include_path
  Random: include the Crypt_* classes if they're available

Conflicts:
	tests/bootstrap.php
2014-06-19 16:09:23 +02:00
Andreas Fischer
709c7c4d48 Merge pull request #385 from bantu/a-random-change
Random: include the Crypt_* classes if they're available

* bantu/a-random-change:
  phpseclib_is_includable() -> phpseclib_resolve_include_path()
  Drop Net_SSH2::_is_includable() method.
  Random: a few changes to the stream_resolve_include_path_function
  Replace stream_resolve_include_path with phpseclib_is_includable.
  Random: add explanatory comment
  SSH2: replace _is_includable() with stream_resolve_include_path
  Random: include the Crypt_* classes if they're available
2014-06-19 16:08:59 +02:00
Andreas Fischer
fd65c55720 phpseclib_is_includable() -> phpseclib_resolve_include_path() 2014-06-19 14:57:09 +02:00
Andreas Fischer
1afbea613d Drop Net_SSH2::_is_includable() method. 2014-06-18 23:41:26 +02:00
terrafrost
96ccca2817 Random: a few changes to the stream_resolve_include_path_function 2014-06-18 22:03:09 +02:00