Commit Graph

597 Commits

Author SHA1 Message Date
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
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
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
a65b820b54 SFTP: add readlink and symlink functions 2014-06-18 11:34:50 -05:00
Andreas Fischer
9c90beaf82 Replace stream_resolve_include_path with phpseclib_is_includable. 2014-06-17 14:38:24 +02:00
terrafrost
5f56781261 SSH2: make it so you can verify server public host key without logging on 2014-06-16 10:19:34 -05:00
terrafrost
4401b7e21e SSH2: replace _is_includable() with stream_resolve_include_path 2014-06-16 09:47:13 -05:00
terrafrost
246e9e154f SSH2: make $mac_algorithms non-static
none of the other statically defined variables have the potential
to change as multiple Net_SSH2 objects are created but this one does.

ie. if you connect to one SSH-2.0-SSHD server then no subsequent server
will use hmac-sha1-96 even if it could
2014-06-10 23:08:56 -05:00
terrafrost
0e2b2a416b SFTP: reset sort options every time and update unit test 2014-06-09 09:22:30 -05:00
terrafrost
8dff207ed3 SFTP: rm whitespace 2014-06-05 15:06:50 -05:00
terrafrost
8c0f710083 SFTP: define $sortOptions 2014-06-05 10:50:13 -05:00
terrafrost
b64573f4b5 SFTP: add the ability for nlist() and rawlist() to be sorted 2014-06-05 09:56:49 -05:00
Andreas Fischer
e6f87318f5 Adjust documentation to coding guidelines: No () around include. 2014-06-01 23:28:49 +02:00
terrafrost
7252017268 SFTP/Stream: fix capatilization 2014-05-29 16:49:04 -05:00
terrafrost
c0e3795319 SFTP/Stream: add explanation as to why nlist() is used here 2014-05-29 16:23:28 -05:00
terrafrost
3dd92e56e4 SFTP/Stream: use $scheme instead of 'sftp'
This makes it easier for someone to change the scheme (which can be
done by changng the stream_wrapper_register call at the bottom
of the file)
2014-05-29 16:14:03 -05:00
Andreas Fischer
aa5f9b77ec Merge pull request #349 from terrafrost/ssh2-exec-callback-termination
SSH2: make it so callback functions can make exec() return early

* terrafrost/ssh2-exec-callback-termination:
  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
terrafrost
c100264b65 SFTP: NULL -> null 2014-05-26 16:32:57 -05:00
terrafrost
46ae0da314 SFTP: fix syntax error 2014-05-26 15:42:14 -05:00
terrafrost
a7fa4cc4ff SFTP: add more stat functions
also don't use stat cache for SFTP/Stream.php
2014-05-26 15:39:30 -05:00
Andreas Fischer
f1fbf9c5ae SFTP: Use the correct stat cache property: stat_cache 2014-05-22 13:32:39 +02:00
terrafrost
1ddcd6d873 SFTP: last commit had a few ommissions 2014-05-21 19:55:12 -05:00
terrafrost
4d9214970b SFTP: stat cache updates 2014-05-21 10:20:36 -05:00
terrafrost
36fa9e4e48 SFTP: use_cache -> use_stat_cache 2014-05-18 15:55:12 -05:00
terrafrost
e09a6968da SFTP: switch from using file existence cache to stat cache, like PHP
also add a few new functions - is_link and filesize
2014-05-18 15:34:10 -05:00
terrafrost
0a0398268a SFTP: add support for recursive nlist and rawlist 2014-05-13 17:10:32 -05:00
terrafrost
77641003fa SFTP: add file_exists, is_dir and is_file functions
also expand caching layer
2014-05-10 19:52:38 -05:00
terrafrost
efd3b96dc8 SSH2: improve handling of incomplete packets 2014-04-18 16:58:00 -05: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
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
24bb941799 SSH1: do fsockopen() call when login has been called 2014-04-07 00:30:50 -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
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
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
Nicky Gerritsen
b5e579f6c0 Also replace this with call_user_func 2014-03-05 18:38:33 +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
terrafrost
e90648c7a5 SSH2: add ssh-agent support 2014-02-10 00:04:16 -06:00
Andreas Fischer
f4dbcb1b78 Merge pull request #264 from terrafrost/exit-status
SSH2: ignore exit_status channel requests

* terrafrost/exit-status:
  SSH2: ignore exit_status channel requests
2014-02-03 16:56:36 +01:00
terrafrost
cd9801db8a SSH2: ignore exit_status channel requests
Fixes #258
2014-02-02 23:42:06 -06:00
Graham Campbell
1c2796e3eb Cleaned up whitespace 2014-01-18 17:29:25 +00: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
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
466f9354df SFTP: make get() return correctly sized strings 2013-12-27 11:08:33 -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
9c7c01c337 Merge pull request #223 from mpscholten/fix-ssh1-php55
Fix Net_SSH1 on Php5.5 (/e preg_replace modifier)

* mpscholten/fix-ssh1-php55:
  Fixed classname of test
  Fixed some wrong @see annotations
  Fixed /e preg_replace modifier exactly like in 0dc8b27a6a
  Added Net_SSH1::_format_log test
2013-12-26 18:41:25 +01:00
Marc Philip Scholten
6d8c02c432 Fixed some wrong @see annotations 2013-12-26 12:09:40 +01:00
Andreas Fischer
0f69d35584 Fix indentation of _append_log in SSH1 and SSH2. 2013-12-26 11:45:24 +01:00
Andreas Fischer
2da2f5d29f Merge pull request #227 from bantu/ssh2-constant-prefix-ssh1
Use NET_SSH1_ instead of NET_SSH2_ prefix in SSH1.

* bantu/ssh2-constant-prefix-ssh1:
  Use NET_SSH1_ instead of NET_SSH2_ prefix in SSH1.
2013-12-26 11:42:11 +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
Andreas Fischer
4290a5c216 Use NET_SSH1_ instead of NET_SSH2_ prefix in SSH1. 2013-12-26 00:26:36 +01:00
terrafrost
172f15f5df SFTP: add explanation for use of 4294967296 2013-12-24 23:44:21 -06: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
Marc Philip Scholten
ea8cadddad Fixed /e preg_replace modifier exactly like in 0dc8b27a6a 2013-12-18 16:39:36 +01:00
terrafrost
6ac922726d SSH2: fix E_DEPRECATED on PHP5.5 2013-12-16 11:27:12 -06:00
terrafrost
1599d2e8d1 SCP: use the new "mode" for _close_channel 2013-12-15 12:07:17 -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
f0f029b2c1 CS: Fix "PEAR.Commenting.ClassComment.WrongTagOrder" sniff. 2013-12-11 18:33:18 +01:00
Andreas Fischer
3db1fbb072 CS: Fix "PEAR.Commenting.FileComment.TagIndent" sniff. 2013-12-10 20:10:37 +01:00
Andreas Fischer
6d1fb9f7db CS: Fix "PEAR.Files.IncludingFile.UseIncludeOnce" sniff. 2013-12-06 01:03:34 +01:00
Andreas Fischer
bc6ff96292 Fix "PEAR.Files.IncludingFile.BracketsNotRequired" sniff. 2013-12-05 23:17:40 +01:00
Andreas Fischer
e09f1b730e CodeSniffer: Fix PEAR.Classes.ClassDeclaration.OpenBraceNewLine sniff. 2013-12-03 19:34:41 +01:00
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
702ade7d12 SFTP: Removed dead code
variable: $initialize = true, ironically - is initialized but never used.
Feel free to deny if this is reserved for future implementation(s).
2013-11-20 15:02:04 -05:00
terrafrost
fcfc0e2c00 SFTP: don't do $dir[-1] check if $dir === '' 2013-11-20 09:33:47 -06:00
terrafrost
187f40a247 Merge pull request #173 from h4cc/patch-1
Making Net_SFTP::chdir capable of handling the empty string.
2013-11-20 07:29:16 -08:00
terrafrost
478dd38e8f SFTP/Stream: log when constructor is called 2013-11-20 09:11:14 -06:00
Julius Beckmann
44078e5f40 Making Net_SFTP::chdir capable of handling the empty string.
Updated patch after hint from bantu.
2013-11-20 15:08:50 +01:00
Julius Beckmann
9ea67f9edb Making Net_SFTP::chdir capable of handling the empty string.
Fixing a ugly notice when using the empty string as parameter for chdir:
  Notice: Uninitialized string offset: -1 in Net/SFTP.php line 617
2013-11-20 14:49:16 +01:00
Vincent Petry
2517dd4a61 Initing eof to false
The call _stream_eof() must return a boolean, not null.
Returning null makes PHP believe that the method wasn't implemented.

Fixes #170
2013-11-19 23:13:10 +01:00
phonzie
8dd12ed467 SFTP_Stream: Fixed typo in _parse_path
typo: isset($this->contenxt)
should be $this->context
2013-11-19 14:23:54 -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
Jesse Schalken
71ae795460 Fixed typo in object class name comparison 2013-11-04 17:48:01 +11:00
Brian Nesbitt
ccad4b7d08 Added a callable to put for progress updates
This in combination with https://github.com/maximebf/ConsoleKit ProgressBar makes me feel good.
2013-11-01 12:15:28 -04:00
terrafrost
c6a52cb1b1 SSH2: add preliminary support for custom SSH subsystems 2013-10-25 12:35:30 -05:00
terrafrost
5888c6cef6 SCP: if exec() failed return false immediately 2013-10-21 15:15:31 -05:00
terrafrost
71743ce243 SFTP: change max sftp packet size
1 << 20 isn't as reliable as 1 << 15 and doesn't seem to result in significant speedup either
2013-09-12 10:16:41 -05:00
terrafrost
eb61afd22f SFTP: make "queue size" settable by a constant 2013-09-12 09:10:36 -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
56f1b6f411 SCP: better binary local file support for put() 2013-09-04 02:14:36 -05:00
terrafrost
bafbf1276e SCP: make it so local files can be uploaded 2013-09-02 22:33:50 -05:00
terrafrost
f16a1135c6 SCP: get() doesn't return true on success 2013-09-02 21:18:57 -05:00
terrafrost
24a06eeff3 SSH2: neither of the DSA signature values should be 0 2013-08-31 00:22:47 -05:00
terrafrost
ebb1d53af5 SFTP: another comment typo 2013-08-29 16:38:05 -05:00
terrafrost
69bc362a83 SFTP: update comment typo 2013-08-29 11:09:47 -05:00
terrafrost
bf6d1bc253 SFTP_Stream: fix errors when context isn't defined 2013-08-28 13:55:14 -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
ffca003225 SFTP: CS adjustment 2013-08-07 09:22:52 -05:00
Andreas Fischer
25a60ff9a3 SFTP: Fix syntax error "unexpected T_SL, expecting ',' or ';'".
Regression from d95f5946eb.
2013-07-27 15:55:48 +02:00
terrafrost
d95f5946eb SFTP: use variable sizes for get() 2013-07-26 10:20:59 -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
84093715c2 Merge pull request #129 from johnsterling/string-shift-alt
Optimization by replacing _string_shift()
2013-07-14 02:17:39 -07: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
John Sterling
5e0d58f082 SFTP: Add optimization for put() with NET_SFTP_LOCAL_FILE
Use substr() instead of _string_shift().
2013-07-11 17:32:49 -04: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
3b56c695e2 SFTP: get() didn't return data 2013-06-25 16:37:20 -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
c0fa1ee0b9 SFTP: didn't define a constant 2013-06-12 14:16:47 -05:00
terrafrost
05715e13e7 Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-06-11 12:51:10 -05:00
terrafrost
cbe156f0cb SFTP: Update how resumes work 2013-06-11 12:49:45 -05:00
terrafrost
5c3c9f990f SFTP: remove isset() from constructor 2013-06-10 15:42:35 -05:00
terrafrost
799c8e322f Merge pull request #119 from VaclavSir/sftp_default_port
Net_SFTP_Stream: Use default SFTP port, if no port specified
2013-06-10 13:40:54 -07:00
Vaclav Sir
b0ee4d5591 Net_SFTP_Stream: Use default SFTP port, if not set otherwise. 2013-06-10 21:40:03 +02:00
terrafrost
a83ff6cad8 SFTP: add _close_handle() function and close handle on put failure 2013-06-10 13:21:58 -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
eabd0a8963 SFTP: add the same multi-factor auth support that Net_SSH2 enjoys 2013-05-14 17:32:31 -05:00
terrafrost
6fdac04fd1 SSH2: fix broken grammer from next to last commit
Thanks, bantu!
2013-05-14 17:15:23 -05:00
terrafrost
7fe989a449 Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-05-14 17:13:06 -05:00
terrafrost
cb10016291 SFTP: attempt to utilize SFTP via CLI if subsystem is unavailable 2013-05-14 17:08:54 -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
af3f275f19 SFTP: $content isn't defined when file is being written to 2013-05-14 10:43:17 -05:00
terrafrost
40af708254 Merge pull request #106 from petrich/optimizations
Optimizations
2013-05-14 08:35:31 -07:00
terrafrost
2ab6497e41 Merge remote-tracking branch 'origin/largerfiles' 2013-05-13 22:38:11 -05: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
8aada4b30d SFTP: looks like some SFTP servers will fail unless write flag is also enabled 2013-05-09 16:35:47 -05:00
terrafrost
b4ebc5b931 SFTP: fix formatting of touch open call 2013-05-09 17:27:56 -04:00
terrafrost
d2d4e89ffc SFTP: typo 2013-05-09 13:23:54 -04:00
terrafrost
2c80ac8aca SFTP: Add support for files larger than 2GB
0x7FFFFFFF is about 2GB. To support larger files floating point is used
2013-05-09 00:02:04 -05: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
terrafrost
63ec6e2055 SFTP: remove $start = $offset line
$start isn't used anywhere in the function
2013-05-08 10:20:35 -05:00
terrafrost
9ac94a7b74 Merge pull request #103 from rlerdorf/patch-1
Fix a couple of minor logic problems
2013-05-08 05:19:49 -07: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
Rasmus Lerdorf
b47109cf55 And here too, size-related logic problems 2013-05-07 23:21:53 -07:00
Rasmus Lerdorf
e24d7612a2 I think this is what you meant to do here 2013-05-07 23:19:50 -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
83ebb08f0a SCP: Update example 2013-04-27 16:06:05 -05:00
terrafrost
9555ddc212 Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-04-27 16:04:27 -05:00
terrafrost
4c8173dc23 Add an SCP class 2013-04-27 16:03:35 -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
46f3039217 SFTP: Fix broken mkdir
Thanks Antek88!
2013-04-26 18:36:00 -05:00
terrafrost
d6ee41d957 SSH2: fix E_NOTICE in keyboard interactive code
Thanks ravage84!
2013-04-24 01:07:32 -05:00
mdesign83
2b4e940885 SFTP: Adding missing status codes 2013-04-23 16:04:50 +02: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
terrafrost
7ff96b3946 Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-04-15 23:59:47 -05:00
terrafrost
a47c1c3980 Net_SFTP_Stream: Add limited support for notifications and...
...add NET_SFTP_STREAM_LOGGING
2013-04-15 23:58:13 -05:00
David Stensland
28f18f83ec SSH2: Be less overly clever loading Crypt/Random 2013-04-01 12:29:28 -04:00
terrafrost
5cd0191edd SFTP_Stream: update includes 2013-04-01 10:53:55 -05:00
terrafrost
725a2e0b39 SFTP: add a few comments 2013-03-24 20:28:55 -05:00
terrafrost
05e832d14f SFTP_Stream: Better EOF detection
$result will be false on error and '' if the EOF is reached.
2013-03-24 20:25:58 -05:00
Brett Thomas
cc8e3cdbc1 added getStdError method to get stdErr, even when quiet mode enabled 2013-03-21 17:18:31 -05:00
terrafrost
95f40d9c8f SFTP_Stream: Cache didn't work correctly 2013-03-13 23:30:52 -05:00
terrafrost
3153daf548 Merge branch 'master' of https://github.com/phpseclib/phpseclib 2013-03-12 20:58:37 -05:00
terrafrost
5212c78152 SFTP: Add Stream class 2013-03-12 20:57:40 -05:00
terrafrost
89cd8f09e7 SFTP: rename variable to correct case 2013-03-09 11:37:53 -06:00
terrafrost
b9787a81eb SFTP: make mode an alias of permissions for stat 2013-03-08 14:18:32 -06:00
terrafrost
0692d42980 SFTP: Use stat instead of lstat for size() 2013-03-08 11:20:39 -06:00
terrafrost
51d106b6ec SFTP: Revamp file type detection and add truncate method
Also clean up some code
2013-03-08 00:53:34 -06:00
terrafrost
d4f176b434 SFTP: CS adjustment 2013-03-07 22:46:58 -06:00
terrafrost
56f87c8f3a SFTP: Don't do stat if lstat fails 2013-03-07 10:56:24 -06:00
terrafrost
1d1c2782e9 SFTP: Fix bug whereby sometimes download amount would be ignored 2013-02-27 22:10:33 -06:00
terrafrost
44864874e5 SFTP: Redo mkdir() and _realpath()
Also make it so nlist() caches directories as well
2013-02-27 00:47:17 -06:00
Patrick Monnerat
90ff746ad1 Make all sources 7-bit ASCII. 2013-02-20 19:25:47 +01:00
terrafrost
60b66e3726 SFTP: Add chown and chgrp. 2013-02-17 18:23:35 -06:00
terrafrost
0333805f5c SSH2: Add isConnected() function 2013-02-16 14:58:12 -06:00
terrafrost
25c7e7bd96 SFTP: Add touch function
Also make it so chmod will auto-switch the filename / permissions if they're not in the "right" order (PHP's chmod and ftp_chmod order them differently from each other so this'll make phpseclib consistent with both)
2013-02-14 12:10:36 -06:00
terrafrost
faaa52774f SFTP: Add the ability to write to specific parts of files 2013-02-12 20:45:09 -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
b8768c8d11 SSH1: Make it so SSH packets spanning multiple TCP/IP packets can be rcvd 2013-01-12 10:45:35 -06:00
terrafrost
bbed0916cd SSH2: Make $stop be after all network activity 2013-01-11 18:38:38 -06:00
terrafrost
ab7f65d436 SSH1: Added setTimeout()
Note that interactiveRead() was left untouched.
2013-01-11 18:36:58 -06:00
terrafrost
d90caa17e3 SSH1: CS adjustments 2013-01-11 00:31:49 -06:00
terrafrost
46baf1815f SSH1: Fix E_NOTICE 2013-01-10 00:42:53 -06:00
terrafrost
c3ee632587 SSH1: fix "Expected SSH_SMSG_SUCCESS" error 2013-01-09 23:56:33 -06:00
terrafrost
b1c96faf90 SSH1: Packets shown in log were encrypted 2013-01-09 22:54:11 -06:00
terrafrost
2ead31dac2 rm debug code 2013-01-09 00:07:54 -06:00
terrafrost
e71fc97913 Revamp SSH1 logging and go back to using user_error
(_handle_error returned the line number in _handle_error - not the line number triggering the error)
2013-01-08 22:09:27 -06:00
terrafrost
10d9671601 SSH1: Fix E_NOTICE (thanks nosx!) 2013-01-08 11:15:28 -06:00
terrafrost
885d7e0f24 SFTP: Make get() work correctly when files are being written to for partial transfers 2012-12-16 02:34:49 -06:00
terrafrost
35832fe2a1 Refactor crypt_random (renaming it to crypt_random_string)
...and update all the calls to it accordingly
2012-12-16 02:20:16 -06:00
terrafrost
a731220785 Fix E_NOTICE in SFTP.php (thanks dlgoodchild!) 2012-12-14 08:45:35 -06:00
terrafrost
65193d9a25 SFTP: Add $offset and $length get() function 2012-12-11 19:54:48 -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
8cf6bb0b1c SSH1: Fix E_NOTICE (thanks dayton967!) 2012-11-14 04:34:33 -06:00
terrafrost
6bc46d42e0 Only save the directory if it was able to be successfully created 2012-11-09 22:22:02 -06:00