1
0
mirror of https://github.com/danog/tgseclib.git synced 2024-12-04 18:48:37 +01:00
Commit Graph

179 Commits

Author SHA1 Message Date
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
Jim Wigginton
1a2b6e1087 - fixed two E_NOTICE errors (thanks, beanboots!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@92 21d32557-59b3-4da0-833f-c5933fad653e
2010-02-27 23:34:46 +00:00
Jim Wigginton
374c68c312 - stderr produced by Net_SSH2::exec() calls is now treated the same as stdin data
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@87 21d32557-59b3-4da0-833f-c5933fad653e
2010-02-15 22:24:08 +00:00
Jim Wigginton
76e4066e94 - improved error logging capability
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@86 21d32557-59b3-4da0-833f-c5933fad653e
2010-02-12 23:02:13 +00:00
Jim Wigginton
61625bc8ab - hopefully better handling of lengthy sessions
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@84 21d32557-59b3-4da0-833f-c5933fad653e
2010-02-11 07:02:51 +00:00
Jim Wigginton
d77c85218d - removed setMCrypt from the Crypt_* objects (you can achieve the same effect by doing ini_set('mcrypt.algorithms_dir', $path))
- added support for CTR mode to the various Crypt_* objects


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@83 21d32557-59b3-4da0-833f-c5933fad653e
2010-02-09 06:10:26 +00:00
Jim Wigginton
3ec7bdfcba - fixed a PHP5.3 warning in Net/SSH2.php
- fixed a bug introduced in the rewritten addition function


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@77 21d32557-59b3-4da0-833f-c5933fad653e
2010-01-21 07:33:05 +00:00
Jim Wigginton
e16ba96789 - fixed a few E_NOTICE errors
- sped up Math_BigInteger::_barrett()


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@73 21d32557-59b3-4da0-833f-c5933fad653e
2009-12-31 06:11:07 +00:00
Jim Wigginton
0d69655512 - rm var $timeout
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@71 21d32557-59b3-4da0-833f-c5933fad653e
2009-12-14 18:17:36 +00:00
Jim Wigginton
99c0e29fdf - fixed a bug in isPrime (thanks greyhoundx!)
- Net_SSH2::exec() should now be faster
- better channel management


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@70 21d32557-59b3-4da0-833f-c5933fad653e
2009-12-14 18:14:54 +00:00
Jim Wigginton
9bd3c793d3 - an inability to unpad doesn't necessarily mean that padding is enabled when it shouldn't be - it might also mean that the key being used is the wrong one.
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@67 21d32557-59b3-4da0-833f-c5933fad653e
2009-12-06 07:26:52 +00:00