1
0
mirror of https://github.com/danog/tgseclib.git synced 2024-12-04 02:27:52 +01:00
Commit Graph

389 Commits

Author SHA1 Message Date
Andreas Fischer
f2f5fcd70a Update users of Math_BigInteger. 2014-06-02 20:19:00 +02:00
Andreas Fischer
6f4a873cad Merge branch 'master' into php5
* master:
  Adjust documentation to coding guidelines: No () around include.
2014-06-02 12:51:24 +02:00
Andreas Fischer
e6f87318f5 Adjust documentation to coding guidelines: No () around include. 2014-06-01 23:28:49 +02:00
Andreas Fischer
712f820a26 Merge branch 'master' into php5
* master:
  SSH2: 0x7FFFFFFF -> $this->window_size in one more place
  SSH2: make it so callback functions can make exec() return early
2014-05-28 00:39:40 +02:00
terrafrost
db32efb276 SSH2: 0x7FFFFFFF -> $this->window_size in one more place 2014-05-26 17:57:14 -05:00
terrafrost
0dd929341b SSH2: make it so callback functions can make exec() return early 2014-05-26 17:37:32 -05:00
Andreas Fischer
b3081f2a61 Merge branch 'master' into php5
* master:
  SSH2: improve handling of incomplete packets
2014-04-19 15:46:56 +02:00
terrafrost
efd3b96dc8 SSH2: improve handling of incomplete packets 2014-04-18 16:58:00 -05:00
Andreas Fischer
a7da467819 Merge branch 'master' into php5
* master:
  Added some simple Net_SSH2 tests
2014-04-18 16:55:42 +02:00
Andreas Fischer
b676cc2690 Merge pull request #241 from mpscholten/ssh2-tests
Added some simple Net_SSH2 tests

* mpscholten/ssh2-tests:
  Added some simple Net_SSH2 tests

Conflicts:
	tests/Net/SSH2Test.php
2014-04-18 16:54:24 +02:00
Andreas Fischer
58cdf692f8 Merge branch 'master' into php5
* master:
  SSH2: move _connect() call to _login() from login()
  SSH2: phpdoc updates
  SSH: clarify role of constructor / connection timeout
  SSH1: do fsockopen() call when login has been called
  SSH2: != -> |=
  SSH2: phpdoc changes
  SSH2: syntax error
  SSH2: timeout set in constructor != timeout set by setTimeout()
  SSH2: add phpdoc header
  SSH2: connect to server in login() function

Conflicts:
	phpseclib/Net/SSH2.php
2014-04-10 18:00:38 +02:00
terrafrost
79719e8f74 SSH2: move _connect() call to _login() from login()
Per bantu, this is required for it to work with Net/SFTP.php
2014-04-08 08:48:12 -05:00
terrafrost
0ad0bb4c37 SSH2: phpdoc updates 2014-04-07 15:43:31 -05:00
terrafrost
677a291cb3 SSH: clarify role of constructor / connection timeout
Also, in Net_SSH2::_connect() $host is used in multiple places. Rather than changing all references to {$this->host}:{$this->port} preserve existing $host reference and update it accordingly
2014-04-07 10:26:46 -05:00
terrafrost
6fcfe5c885 SSH2: != -> |= 2014-04-07 00:25:38 -05:00
terrafrost
8f08301744 SSH2: phpdoc changes 2014-04-07 00:19:35 -05:00
terrafrost
ab341df973 SSH2: syntax error 2014-04-07 00:16:54 -05:00
terrafrost
f27a49299e SSH2: timeout set in constructor != timeout set by setTimeout() 2014-04-07 00:02:03 -05:00
terrafrost
fc748346fc SSH2: add phpdoc header 2014-04-06 23:56:21 -05:00
terrafrost
a14e71f38b SSH2: connect to server in login() function
this change will make it so some parameters can be set after the
Net_SSH2 object has been created. eg. instead of doing
define('NET_SSH2_LOGGING', NET_SSH2_LOG_COMPLEX) one can now do
$ssh->setLogging(...) or something.
2014-04-06 23:45:25 -05:00
Andreas Fischer
483b8a7d3c Merge branch 'master' into php5
* master:
  fix more ssh channel issues
2014-03-21 18:27:13 +01:00
terrafrost
7a2c7a414c fix more ssh channel issues
In logs that were provided to me phpseclib sent a packet that was 2536 bytes long (excluding the bytes denoting the channel and data length) but the length packet said it was 32764 bytes long (ie. $max_size).

So when $max_size is less than the data being sent and has to be adjusted by a new window adjust message from the server and the adjustment makes $max_Size bigger than the data being sent over problems arise.

SSH's window size has caused issues before. Overall I don't think the SSH specs really explain the window size very well. I opened up an errata on SSH's RFC a while back about the issue.
2014-03-21 02:53:43 -05:00
Andreas Fischer
aecf89c031 Merge branch 'master' into php5
* master:
  Drop meaningless, outdated, inconsistent version tags in doc blocks.
2014-03-13 00:03:38 +01: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
Andreas Fischer
cb56e676dc Merge branch 'master' into php5
* master:
  Tests for bug280.
  Also replace this with call_user_func
  Use call_user_func, as this will work on PHP < 5.4, whereas $callback() does not
2014-03-06 12:05:17 +01:00
Nicky Gerritsen
97d1e75a51 Use call_user_func, as this will work on PHP < 5.4, whereas $callback() does not 2014-03-05 15:44:17 +01:00
Andreas Fischer
88e6eef90f Merge branch 'master' into php5
* master:
  Add newline at EOF to phpseclib/System/SSH_Agent.php.
  SSH_Agent: phpdoc updates
  SSH_Agent: misc updates
  SSH2: add ssh-agent support
2014-02-21 19:42:36 +01:00
terrafrost
e90648c7a5 SSH2: add ssh-agent support 2014-02-10 00:04:16 -06:00
Andreas Fischer
addd2ac320 Merge branch 'master' into php5
* master:
  SSH2: ignore exit_status channel requests
2014-02-03 16:56:46 +01:00
terrafrost
cd9801db8a SSH2: ignore exit_status channel requests
Fixes #258
2014-02-02 23:42:06 -06:00
Marc Philip Scholten
b7092ebc21 Added some simple Net_SSH2 tests
Placed helper at top again in my test

Removed a whitespace
2013-12-28 21:29:52 +01:00
terrafrost
05077cf0f3 Merge branch 'ssh2-identifier' into php5 2013-12-28 13:50:05 -06:00
terrafrost
268ec2e5d1 Merge branch 'ssh2-identifier' 2013-12-28 13:49:05 -06:00
terrafrost
0ccac2c998 SSH2: add new line in docblock comment 2013-12-28 13:47:24 -06:00
Marc Philip Scholten
19be15c4c4 Fixed typos 2013-12-28 18:16:09 +01:00
terrafrost
a1b749a0a0 Merge branch 'master' into php5 2013-12-27 10:25:19 -06:00
Marc Philip Scholten
ad0c7c52bd Fixed cs 2013-12-26 21:02:18 +01:00
Marc Philip Scholten
b0de383f95 Replaced else { if ()...} with elseif() {} 2013-12-26 21:02:17 +01:00
Marc Philip Scholten
357d4253ee Fixed typo 2013-12-26 21:00:58 +01:00
Marc Philip Scholten
4817d28a54 Refactored Net_SSH2::$identifier and added unit tests
Added return tag
2013-12-26 21:00:58 +01:00
Andreas Fischer
f63798b923 Merge pull request #233 from terrafrost/phar-fix
SSH2: better accomodate Phar's

* terrafrost/phar-fix:
  SSH2: better accomodate Phar's
2013-12-26 19:43:26 +01:00
Andreas Fischer
0f69d35584 Fix indentation of _append_log in SSH1 and SSH2. 2013-12-26 11:45:24 +01:00
Andreas Fischer
0dd5a9ba9f Merge pull request #228 from bantu/cs-whitespace
CS: Add useful whitespace CodeSniffer rules.

* bantu/cs-whitespace:
  CS: Add useful whitespace CodeSniffer rules.
2013-12-26 11:38:17 +01:00
terrafrost
70b9a69c46 SSH2: better accomodate Phar's 2013-12-26 01:55:05 -06:00
Andreas Fischer
8bb80b3df0 CS: Add useful whitespace CodeSniffer rules. 2013-12-26 00:33:08 +01:00
terrafrost
8424a464a6 SSH2: typos in last commit 2013-12-22 18:25:00 -06:00
terrafrost
0f5b3ea416 Compatibility fixes
- PHP4 doesn't allow method chaining
- $_SESSION isn't always defined
- on PHP5.1 and earlier using 0x100000000 instead of 4294967296 gives E_NOTICE
- array('Net_SSH2', 'func_name') doesn't work so we fix this by passing $this to it.
  to make that work on PHP4 pass by call-time reference. normally this would result
  in a fatal error on PHP5.4+ but doesn't seem to in this case. the following URL
  elaborates:

  http://stackoverflow.com/q/20732563/569976
2013-12-22 18:14:49 -06:00
terrafrost
4bd9a546ab Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-12-22 11:53:35 -06:00
terrafrost
c26594ba08 Merge remote-tracking branch 'upstream/php5' into php5 2013-12-22 11:50:11 -06:00
Andreas Fischer
d311698340 Merge branch 'master' into php5
* master:
  SSH2: fix E_DEPRECATED on PHP5.5
2013-12-17 20:56:06 +01:00
terrafrost
6ac922726d SSH2: fix E_DEPRECATED on PHP5.5 2013-12-16 11:27:12 -06:00
terrafrost
c01b8fc4ed SCP: Tweaks
sending the close channel packet right after the eof seems to make some scp transfers terminate prematurely.

unfortunately, sometimes this behavior is undesirable as it is in this case:

http://www.frostjedi.com/phpbb3/viewtopic.php?f=46&t=29457

hence the $want_reply parameter

also, this commit makes the scp packet length account for the length portion
2013-12-15 00:43:20 -06:00
Andreas Fischer
03b08ceaa0 Merge branch 'master' into php5
* master:
  CS: Fix "PEAR.Commenting.ClassComment.WrongTagOrder" sniff.
2013-12-11 23:30:19 +01:00
Andreas Fischer
f0f029b2c1 CS: Fix "PEAR.Commenting.ClassComment.WrongTagOrder" sniff. 2013-12-11 18:33:18 +01:00
Andreas Fischer
3729ba3e44 Merge branch 'master' into php5
* master:
  CS: Fix "PEAR.Commenting.FileComment.TagIndent" sniff.
2013-12-10 22:29:11 +01:00
Andreas Fischer
3db1fbb072 CS: Fix "PEAR.Commenting.FileComment.TagIndent" sniff. 2013-12-10 20:10:37 +01:00
Andreas Fischer
452d3dc359 Merge branch 'master' into php5
* master:
  CS: Fix "PEAR.Files.IncludingFile.UseIncludeOnce" sniff.
2013-12-06 12:20:42 +01:00
Andreas Fischer
6d1fb9f7db CS: Fix "PEAR.Files.IncludingFile.UseIncludeOnce" sniff. 2013-12-06 01:03:34 +01:00
Andreas Fischer
64691f2aec Merge branch 'master' into php5
* master:
  Fix "PEAR.Files.IncludingFile.BracketsNotRequired" sniff.
2013-12-06 00:58:00 +01:00
Andreas Fischer
bc6ff96292 Fix "PEAR.Files.IncludingFile.BracketsNotRequired" sniff. 2013-12-05 23:17:40 +01:00
Andreas Fischer
d696f22b89 Merge pull request #201 from mpscholten/php5-ssh2-microtime
Replaced php4 hack for microtime(true) with real microtime(true)

* mpscholten/php5-ssh2-microtime:
  Replaced php4 hack for microtime(true) with real microtime(true)
2013-12-05 20:54:11 +01:00
Marc Philip Scholten
d6c70a76d9 Replaced php4 hack for microtime(true) with real microtime(true) 2013-12-05 18:46:46 +01:00
Andreas Fischer
e09f1b730e CodeSniffer: Fix PEAR.Classes.ClassDeclaration.OpenBraceNewLine sniff. 2013-12-03 19:34:41 +01:00
Andreas Fischer
ca9c8b107b CodeSniffer: Fix Generic.PHP.LowerCaseConstant.Found sniff. 2013-12-03 18:54:43 +01:00
Andreas Fischer
399308f98a Merge pull request #180 from mpscholten/removed-vim-comments
Removed vim comments

* mpscholten/removed-vim-comments:
  Removed vim comments
2013-11-23 21:16:25 +01:00
Marc Philip Scholten
3bfd884813 Removed vim comments
Reformated files
2013-11-23 19:42:26 +01:00
phonzie
3afa655f57 SSH2: Continue Subsystem Implementation.
Removed unused piece of code @2352.
Added $this->_get_interactive_channel() to reset(). Unless we don't want to close the subsystem channel?? Leaving that decision up to you.
2013-11-20 16:17:23 -05:00
phonzie
eb3bffaa00 Update SSH2.php
Use of undefined property: "$this->bitmask".

In context, it seems that it should reference the "bitmap" property.
2013-11-15 13:34:31 -05:00
terrafrost
c6a52cb1b1 SSH2: add preliminary support for custom SSH subsystems 2013-10-25 12:35:30 -05:00
terrafrost
48b13bc1d7 SSH2: make it so realtime logs filter out password's
"Complex" logs already do this - just not realtime logs
2013-09-12 08:45:13 -05:00
terrafrost
9f8d8a7bf6 SSH2: window size handling adjustments 2013-09-12 08:29:14 -05:00
terrafrost
24a06eeff3 SSH2: neither of the DSA signature values should be 0 2013-08-31 00:22:47 -05:00
terrafrost
df45abcda0 SSH2: try to execute commands via interactive shell even if no pty 2013-08-20 23:52:15 -05:00
terrafrost
093a182904 SSH2: Logging updates 2013-07-26 09:57:20 -05:00
terrafrost
bf6da217c1 Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-07-22 23:53:45 -05:00
terrafrost
8c9e7a890e SSH2: more window size adjustments 2013-07-22 23:48:28 -05:00
terrafrost
78f9fadd3d SSH2: don't remove first byte from complex logs 2013-07-19 10:34:11 -05:00
terrafrost
415df3bd45 SSH2: attribute newly added comment 2013-07-18 10:35:39 -05:00
terrafrost
ccb1c3e2bd SSH2: include string length in window size adjustments 2013-07-17 23:21:25 -05:00
terrafrost
ffdcf843c1 Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-07-14 04:10:54 -05:00
terrafrost
0f96fae818 SSH2: channel handling adjustments
- keep track of server -> client window size and look out for NET_SSH2_MSG_CHANNEL_WINDOW_ADJUST packets as appropriate
- send client -> server window size packets based on channel of received packet - not of desired channel
- buffer incoming packets based on received packets channel - not on desired channel
2013-07-14 04:09:16 -05:00
terrafrost
309f79ecea SSH2: attempt to handle case where window size is smaller than packet size 2013-07-07 16:10:12 -05:00
terrafrost
327a3b8bc8 SSH2: Keep track of client -> server window size 2013-07-07 15:57:15 -05:00
terrafrost
a6289036a0 SSH2: fix possible E_NOTICE 2013-07-07 15:49:49 -05:00
terrafrost
76ea505af8 SSH2: use Crypt_Rijndael instead of Crypt_AES
Crypt_AES is pretty much just a wrapper now
2013-06-25 16:44:22 -05:00
terrafrost
a3e6e1578b SSH2: revamp dynamic listing of crypto algorithms 2013-06-25 15:21:43 -05:00
terrafrost
adf8afd4eb SSH2: build supported cipher list off of files that are present 2013-06-20 20:51:50 -05:00
terrafrost
2edc9fc0a9 SSH2: reorder cipher preferences 2013-06-20 17:14:20 -05:00
terrafrost
d79ce65fe3 SSH2: close channel and break after exit-signal
Prior to efdec7b118 exit-signal's would re-use exit-status's channel closing code. after that commit, however, exit-status specific code was added, which meant that falling through, without the break, broke things
2013-06-10 10:57:34 -05:00
terrafrost
2ec8c8c925 Merge pull request #117 from bantu/elliptic-curve-preparation
Preparation for ECDH in SSH
2013-06-07 15:24:24 -07:00
terrafrost
e85f5c7198 SSH2: Update timeout functionality
Make it so Net_SSH2 doesn't close channel upon timeout. only if reset() is closed will channel be closed.
Also add isTimeout() function
2013-06-07 17:21:11 -05:00
Andreas Fischer
61279f1fb6 [feature/elliptic-curve] Add comment for generator 2 and sha1 hash function. 2013-06-07 01:03:03 +02:00
Andreas Fischer
2fcbd77605 [feature/elliptic-curve] Associate the generator (decimal 2) with the prime. 2013-06-07 00:58:09 +02:00
Andreas Fischer
1c63d4b746 [feature/elliptic-curve] Specify prime data to BigInteger directly in base 16. 2013-06-07 00:55:23 +02:00
Andreas Fischer
1a200f8c7b [feature/elliptic-curve] Rename $p -> $prime 2013-06-07 00:53:21 +02:00
Andreas Fischer
7253e77386 [feature/elliptic-curve] Do not instantiate unnecessary $x instance. 2013-06-07 00:47:59 +02:00
Andreas Fischer
97cf60900d [feature/elliptic-curve] Rename $q to $max because that's what it is. 2013-06-07 00:47:37 +02:00
Andreas Fischer
50f5f3f97e [feature/elliptic-curve] Assign a variable to Math_BigInteger(1). 2013-06-07 00:43:40 +02:00
Andreas Fischer
a730ed6e4c [feature/elliptic-curve] Use an instance of Crypt_Hash instead of sha1(). 2013-06-07 00:38:38 +02:00
terrafrost
e25ae8c4f4 Merge pull request #114 from bantu/fix-weak-ssh-dh-keys
Fix weak ssh dh keys
2013-06-05 21:57:15 -07:00
Andreas Fischer
727dba5905 [remove-svn-version-lines] Remove useless @version: $Id$ lines.
These lines served some purpose on SVN, but are now useless on Git. They
actually do harm as they might make people think their files are older
than they actually are.
2013-06-02 18:50:46 +02:00
Andreas Fischer
1733c3366c [fix-weak-ssh-dh-keys] bitwise_leftShift() expects number of bits, not bytes. 2013-06-02 16:55:19 +02:00
Andreas Fischer
252c6ec68d [fix-weak-ssh-dh-keys] $keyLength is in bytes. Do not compare to 160 bits. 2013-06-02 16:54:02 +02:00
terrafrost
dc76cf5b8e SSH2: add $callable parameter to exec() 2013-05-28 17:02:27 -05:00
terrafrost
6fdac04fd1 SSH2: fix broken grammer from next to last commit
Thanks, bantu!
2013-05-14 17:15:23 -05:00
terrafrost
742fbc188f SSH2: return false (without error) on channel failure
Also update error message. SFTP, for example, makes a channel request even though it's not asking to open a pseudo-terminal.
2013-05-14 16:16:06 -05:00
terrafrost
40af708254 Merge pull request #106 from petrich/optimizations
Optimizations
2013-05-14 08:35:31 -07:00
terrafrost
1e2d0ccd9f SSH2: window size is server -> client, not client -> server 2013-05-13 22:37:32 -05:00
Hans-Jürgen Petrich
b242259d17 optimizations 2013-05-13 12:41:52 +07:00
terrafrost
06044e8632 SSH2: 0x7FFFFFFF == 2GB not 4GB 2013-05-10 16:48:10 -05:00
terrafrost
a48871a865 SSH2: realtime_file logging update 2013-05-10 17:45:57 -04:00
terrafrost
aa3e6c1a99 SSH2: rm last commit; _get_channel_packet() takes care of this lol 2013-05-08 15:13:18 -04:00
terrafrost
b440708a7b SSH2: check response in exec() 2013-05-08 11:44:34 -05:00
Hans-Jürgen Petrich
fe0cc95265 SSH2: Blowfish: typo... block_size adjustment
Changed: Blowfish block_size = 8
re: https://github.com/phpseclib/phpseclib/pull/100
2013-05-08 13:52:18 +07:00
terrafrost
e3a2772c30 SSH2: Add Crypt_Blowfish 2013-05-07 23:17:17 -05:00
Hans-Jürgen Petrich
a83166fe48 SSH2: Typo (Twofish related..)
Typo...
2013-05-05 08:59:44 +07:00
terrafrost
5dda3a088f SSH2: Twofish typos 2013-05-04 13:55:51 -05:00
terrafrost
2c43e9151c SSH2: add twofish support 2013-05-03 01:45:09 -05:00
terrafrost
3230a7b1f7 SSH2: Add getBannerMessage() function 2013-04-27 19:58:24 -05:00
terrafrost
8cecaf2d2b SSH2: another CS adjustment 2013-04-27 14:12:59 -05:00
terrafrost
04f5a28bff SSH2: CS adjustments 2013-04-27 14:10:36 -05:00
terrafrost
d6ee41d957 SSH2: fix E_NOTICE in keyboard interactive code
Thanks ravage84!
2013-04-24 01:07:32 -05:00
terrafrost
292340cdd5 SSH2: Improve timeout handling
(thanks, SergeyTsalkov!)
2013-04-20 20:43:05 -05:00
terrafrost
e0abab9bb4 SSH2: keyboard-interactive changes
Let's say your SSH server had a two-part keyboard-interactive auth. One prompt is for "Password" and the other is for "Verification code". Previously you'd have to do this:

$ssh->login($username, 'pass1', 'code1');

It'd try password authentication with pass1, fail, then do keyboard-interactive with pass1 and then keyboard-interacitve with code1.

ie. the order in which it tried stuff was dependent on the order it was past to the Net_SSH2 object.  And it'd always try password auth first.

Now you can go straight to keyboard-interactive and mix the order as follows:

$ssh->login($username, array('Password' => 'pass1'), array('Verification code' => 'code1'));
2013-04-20 14:35:08 -05:00
terrafrost
04c24f6bbc SSH2: More multi-factor authentication changes
Previously to do multi-factor authentication you'd have to do this:

$ssh->login($user, 'pass1');
$ssh->login($user, 'pass2');

Now you can do this too:

$ssh->login($user, 'pass1', 'pass2');
2013-04-20 14:33:07 -05:00
terrafrost
ccd4ce1d19 SSH2: add support for multi-factor authentication 2013-04-19 22:23:06 -05:00
David Stensland
28f18f83ec SSH2: Be less overly clever loading Crypt/Random 2013-04-01 12:29:28 -04:00
Brett Thomas
cc8e3cdbc1 added getStdError method to get stdErr, even when quiet mode enabled 2013-03-21 17:18:31 -05:00
terrafrost
0333805f5c SSH2: Add isConnected() function 2013-02-16 14:58:12 -06:00
Mike Kruk
d7e4678fc4 Use enablePTY() to get a PTY with exec() calls. While exec() is running
you can use read() and write() to interact with the shell.
2013-02-08 17:04:52 -05:00
terrafrost
248e3bb085 Undo last commit 2013-01-30 08:37:50 -06:00
terrafrost
bfb04dcf4d Add __construct() constructor to make namespace'ing easier for those wishing to do it 2013-01-29 22:09:31 -06:00
terrafrost
e7336e6b54 add size checking to binary packets in Net/SSH2.php (thanks ?????? ????????!) 2013-01-26 00:17:23 -06:00
Mike Kruk
efdec7b118 Extract the exit_status if given to us from SSH. 2013-01-17 13:47:42 -05:00
terrafrost
5d49af105f SSH2: $this->channel_buffers is an array - not a string 2013-01-13 11:36:57 -06:00
terrafrost
94ca5e1d0c SSH1,SSH2: strpos expects string - not array 2013-01-13 10:49:03 -06:00
terrafrost
bccce5802c SSH2: Use strlen instead of empty 2013-01-12 10:46:19 -06:00
terrafrost
bbed0916cd SSH2: Make $stop be after all network activity 2013-01-11 18:38:38 -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
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
3c6ae4312f The user_error in _handle_error shouldn't be replaced.. 2012-11-29 00:19:09 -06:00
terrafrost
3caaa91160 Replace user_error() with new _handle_error() function
To use exceptions do define('PHPSECLIB_USE_EXCEPTIONS', true).

To have the exceptions thrown by phpseclib be of a certain class define PHPSECLIB_EXCEPTION_CLASS.
2012-11-28 23:33:15 -06:00
terrafrost
dbc10491e7 Fix an E_NOTICE (thanks chubbypama!) 2012-11-28 08:17:57 -06:00
terrafrost
ff94576315 Remove unused fields from pack() 2012-11-27 14:38:30 -06:00
terrafrost
346bc5dcc8 Make it so none is a supported authentication method 2012-11-22 14:25:57 -06:00
terrafrost
875cef8bbd Revamp logging 2012-11-22 13:08:30 -06:00
terrafrost
6c33012a4a Suppress further error messages if connection is prematurely disconnected 2012-11-22 12:11:15 -06:00
terrafrost
bb4995e446 Add $extra to logs 2012-09-30 21:32:26 -05:00
terrafrost
ec5aead746 SSH-2.0-SSHD doesn't implement hmac-*-96 correctly 2012-09-17 02:33:03 -05:00
terrafrost
31ad9aacbd stream_set_blocking calls were unnecessary 2012-09-09 23:45:18 -05:00
terrafrost
5d91746f73 stream_select() failed when timeout went below 1 second 2012-09-03 14:48:18 -05:00
terrafrost
26776b486e Update a few comments 2012-09-03 01:42:50 -05:00
terrafrost
5de5d45bd5 Workaround for buggy stream_select's
Workaround for this issue:

https://bugs.php.net/bug.php?id=42682

Thanks solefald!
2012-08-29 17:55:22 -05:00
terrafrost
e2ae5100c2 Fix a few E_NOTICEs 2012-08-28 03:04:15 -05:00
Joshua Johnson
1f90170049 Fix typos 2012-08-14 13:12:01 -04:00
terrafrost
879a5c4364 - add enableQuietMode to suppress stderr 2012-07-23 07:17:53 -05:00
terrafrost
f292931aed - make Net_SSH2 return more printer friendly server public host keys 2012-07-04 13:36:26 -05:00
terrafrost
f0e1b2deec - add second function_exists call to prevent require_once from being called if autoloader was called 2012-06-27 20:56:36 -05:00
terrafrost
6cd2d154b4 Merge remote-tracking branch 'terrafrost/moizhb' 2012-06-25 11:20:02 -05:00
terrafrost
5eacf2b05d - do class_exists(Crypt_Random) too to facilitate auto-loading 2012-06-24 16:53:16 -05:00
terrafrost
9e69344d60 - better timeout handling (thanks moizhb) 2012-06-23 17:16:42 -05:00
terrafrost
1e3778dc4f - auto loading fixes (thanks skydiablo) 2012-06-20 10:36:36 -05:00
terrafrost
9d0b172103 - exit-status's sent before channel data no longer produce empty output 2012-06-10 21:52:30 -05:00
Rob Loach
8d8b5e09dd Fix for syntax error found by @bantu #r954245 2012-06-08 18:48:23 -04:00
Rob Loach
7e9a975296 Add Composer support to phpseclib 2012-06-08 15:38:27 -04:00
Jim Wigginton
7ef3108d00 - add two new logging modes
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@217 21d32557-59b3-4da0-833f-c5933fad653e
2012-04-30 16:25:37 +00:00
Jim Wigginton
9a7d6cdb54 - add !is_resource() check
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@216 21d32557-59b3-4da0-833f-c5933fad653e
2012-04-24 05:01:55 +00:00
Jim Wigginton
228fb3ceb9 - - close the channel when a NET_SSH2_CHANNEL_REQUEST exit-status is received (thanks, ferus!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@200 21d32557-59b3-4da0-833f-c5933fad653e
2012-03-07 18:57:45 +00:00
Jim Wigginton
40bc51da99 - fix some E_NOTICES (thanks, ferus!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@199 21d32557-59b3-4da0-833f-c5933fad653e
2012-03-05 15:32:15 +00:00
Jim Wigginton
6309f5a70a - read() doesn't give an E_WARNING when $expect is blank
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@198 21d32557-59b3-4da0-833f-c5933fad653e
2012-03-05 03:13:09 +00:00
Jim Wigginton
329d3e2a15 - send a NET_SSH2_MSG_CHANNEL_CLOSE packet in addition to a NET_SSH2_MSG_CHANNEL_EOF packet when force closing the channel (thanks, ferus!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@197 21d32557-59b3-4da0-833f-c5933fad653e
2012-03-05 02:06:13 +00:00
Jim Wigginton
6d3e3dd12e - setTimeout() updates
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@196 21d32557-59b3-4da0-833f-c5933fad653e
2012-03-03 19:56:22 +00:00
Jim Wigginton
1ab30836a6 - make it so requests can timeout (thanks pmprojx!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@195 21d32557-59b3-4da0-833f-c5933fad653e
2012-03-03 17:49:16 +00:00
Jim Wigginton
034ec72ade - if a binary packet can't be decrypt don't bother to process it further
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@180 21d32557-59b3-4da0-833f-c5933fad653e
2011-10-06 12:12:56 +00:00
Jim Wigginton
497df88951 - only log the last 1MB of an ssh transaction (this way logs can be obtained even when you're uploading terabytes and terabytes of data)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@165 21d32557-59b3-4da0-833f-c5933fad653e
2011-06-04 17:06:53 +00:00
Jim Wigginton
332726db74 - if you want to use UTF-8 encoded passwords encode them as UTF-8 yourself (ie. save your PHP script as UTF-8 without BOM; thanks, gruberroland!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@160 21d32557-59b3-4da0-833f-c5933fad653e
2011-05-29 14:43:17 +00:00
Jim Wigginton
34cdb781cc - update SSH1 logging and disconnecting
- add better support for an as-yet-to-be-written SCP class
- update example of read()

git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@158 21d32557-59b3-4da0-833f-c5933fad653e
2011-05-08 23:53:30 +00:00
Jim Wigginton
c6bc908f63 - suppress errors about empty strings being passed to crypto object
- fix a bug in read() that broke NET_SSH2_READ_REGEX

git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@156 21d32557-59b3-4da0-833f-c5933fad653e
2011-05-08 02:34:36 +00:00
Jim Wigginton
e42adbeaf9 - suppress errors when fread() times out
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@154 21d32557-59b3-4da0-833f-c5933fad653e
2011-04-22 07:50:24 +00:00
Jim Wigginton
b614ab4dc0 - read(...) only returned first byte of matched string - not entire matched string
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@153 21d32557-59b3-4da0-833f-c5933fad653e
2011-04-18 21:37:06 +00:00
Jim Wigginton
392d96445e - add support for PuTTY and XML formatted RSA keys
- remove ?>'s from PHP_Compat files
- update LICENSE block
- make it so NET_SSH2_MSG_USERAUTH_PK_OK records direction and time

git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@152 21d32557-59b3-4da0-833f-c5933fad653e
2011-04-18 12:17:40 +00:00
Jim Wigginton
73f0886e87 - show first byte if message type is unknown to assist with diagnosis
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@149 21d32557-59b3-4da0-833f-c5933fad653e
2011-03-31 09:37:24 +00:00
Jim Wigginton
458f4f7ef0 - add interactive mode support to Net_SSH2 and redo interactive support in Net_SSH1
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@147 21d32557-59b3-4da0-833f-c5933fad653e
2011-02-28 05:24:09 +00:00
Jim Wigginton
13b8afd620 - update Net_SFTP to better support SCP
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@145 21d32557-59b3-4da0-833f-c5933fad653e
2011-02-13 07:46:01 +00:00
Jim Wigginton
fb0f03c904 - added $block parameter to Net_SSH2::exec() (thanks jl_ewing!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@135 21d32557-59b3-4da0-833f-c5933fad653e
2010-11-30 04:34:31 +00:00
Jim Wigginton
b94a467999 - change license to the less restrictive MIT license (if people want to modify phpseclib and distribute binaries of it [whatever that means for PHP] without including the source code I don't care); two of the three PHP_Compat stuff still uses the LGPL since I didn't author them but they're only needed, anyway, if you're using phpseclib on PHP4.
- add svn:eol-style: LF to all files
- fixed pear.php.net bug # 18037 (thanks, nounours!)

git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@130 21d32557-59b3-4da0-833f-c5933fad653e
2010-11-13 19:28:20 +00:00
Jim Wigginton
dd4f0036f2 - fixed a bug that prevented key re-exchange from working
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@126 21d32557-59b3-4da0-833f-c5933fad653e
2010-10-24 01:24:30 +00:00
Jim Wigginton
bbe68cf7ae - fixed a bug in keyboard-interactive authentication (thanks, j31!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@121 21d32557-59b3-4da0-833f-c5933fad653e
2010-09-12 22:12:45 +00:00
Jim Wigginton
202c3b64e9 - added support for OFB and CFB modes (with the caveat that CFB mode isn't currently supported as a stream cipher)
- improvements to the fix to the bug Suby found
- fixed bug whereby CTR mode gave different results in mcrypt and internal modes when the continuous buffer was enabled and the plaintext being encrypted wasn't a multiple of the block size
- undid the fix for the bug f.dammassa found (thanks, j31!)


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@120 21d32557-59b3-4da0-833f-c5933fad653e
2010-09-12 21:58:54 +00:00
Jim Wigginton
a8863e2b3d - included a work-around for a bug in Portable OpenSSH 4.4 and earlier whereby faulty key sizes are used for aes256-ctr, aes192-ctr and arcfour256 (thanks, f.dammassa!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@116 21d32557-59b3-4da0-833f-c5933fad653e
2010-08-29 03:27:02 +00:00
Jim Wigginton
d07570b0eb - added limited support for keyboard-interactive authentication (thanks, j31!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@115 21d32557-59b3-4da0-833f-c5933fad653e
2010-08-28 17:26:22 +00:00
Jim Wigginton
94f48a97d4 c -> C
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@109 21d32557-59b3-4da0-833f-c5933fad653e
2010-05-16 16:10:50 +00:00
Jim Wigginton
978a11607e - more useful error message if the server closes the connection after sending their identification string
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@108 21d32557-59b3-4da0-833f-c5933fad653e
2010-05-10 16:16:35 +00:00
Jim Wigginton
a33bc87e83 - SSH servers whose identification string had trailing spaces wouldn't calculate the exchange hash correctly (thanks voxo!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@107 21d32557-59b3-4da0-833f-c5933fad653e
2010-04-27 21:29:36 +00:00
Jim Wigginton
068983328f - replace < with . in log output since < causes logs not to show up correctly in web browsers. could escape it, too, but then that'd potentially make CLI logs use more width than the terminal has
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@106 21d32557-59b3-4da0-833f-c5933fad653e
2010-04-25 14:19:43 +00:00
Jim Wigginton
6057a9da8f - fixed a bug in Crypt_Random
- SSH2 logging now more closely resembles the format of PuTTY logs


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@105 21d32557-59b3-4da0-833f-c5933fad653e
2010-04-24 06:40:49 +00:00
Jim Wigginton
b1566eed93 - signatures are now only verified if you're requesting the server host key since otherwise the sever could be using it's own made up host key and you'd never know
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@104 21d32557-59b3-4da0-833f-c5933fad653e
2010-04-22 16:06:43 +00:00
Jim Wigginton
39c97d3373 - crypt_random() used /dev/urandom in a rather slow way (thanks, TangiX!)
- revamped the logging system.  now, you can profile SSH2.php / SFTP.php without capturing full logs


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@99 21d32557-59b3-4da0-833f-c5933fad653e
2010-04-07 03:50:54 +00:00
Jim Wigginton
9a3c2e836b - added size() to Net_SFTP (thanks, Ethorsen!)
- adjusted encryption algorithm preferences for speed (thanks, TangiX!)


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@98 21d32557-59b3-4da0-833f-c5933fad653e
2010-04-04 00:20:03 +00:00
Jim Wigginton
71b960d082 - updated some comments
- fixed an E_NOTICE (thanks, Brion Vibber!)


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@96 21d32557-59b3-4da0-833f-c5933fad653e
2010-03-22 22:01:38 +00:00