mirror of
https://github.com/phpseclib/phpseclib.git
synced 2024-12-28 12:10:59 +00:00
- 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
This commit is contained in:
parent
b1566eed93
commit
6057a9da8f
@ -35,7 +35,7 @@
|
|||||||
* @author Jim Wigginton <terrafrost@php.net>
|
* @author Jim Wigginton <terrafrost@php.net>
|
||||||
* @copyright MMVII Jim Wigginton
|
* @copyright MMVII Jim Wigginton
|
||||||
* @license http://www.gnu.org/licenses/lgpl.txt
|
* @license http://www.gnu.org/licenses/lgpl.txt
|
||||||
* @version $Id: Random.php,v 1.8 2010-04-13 12:41:14 terrafrost Exp $
|
* @version $Id: Random.php,v 1.9 2010-04-24 06:40:48 terrafrost Exp $
|
||||||
* @link http://phpseclib.sourceforge.net
|
* @link http://phpseclib.sourceforge.net
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -121,6 +121,7 @@ function crypt_random($min = 0, $max = 0x7FFFFFFF)
|
|||||||
}
|
}
|
||||||
$crypto->setKey($key);
|
$crypto->setKey($key);
|
||||||
$crypto->setIV($iv);
|
$crypto->setIV($iv);
|
||||||
|
$crypto->enableContinuousBuffer();
|
||||||
}
|
}
|
||||||
|
|
||||||
extract(unpack('Nrandom', $crypto->encrypt("\0\0\0\0")));
|
extract(unpack('Nrandom', $crypto->encrypt("\0\0\0\0")));
|
||||||
|
@ -60,7 +60,7 @@
|
|||||||
* @author Jim Wigginton <terrafrost@php.net>
|
* @author Jim Wigginton <terrafrost@php.net>
|
||||||
* @copyright MMVII Jim Wigginton
|
* @copyright MMVII Jim Wigginton
|
||||||
* @license http://www.gnu.org/licenses/lgpl.txt
|
* @license http://www.gnu.org/licenses/lgpl.txt
|
||||||
* @version $Id: SSH2.php,v 1.43 2010-04-22 16:06:43 terrafrost Exp $
|
* @version $Id: SSH2.php,v 1.44 2010-04-24 06:40:49 terrafrost Exp $
|
||||||
* @link http://phpseclib.sourceforge.net
|
* @link http://phpseclib.sourceforge.net
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -1581,7 +1581,7 @@ class Net_SSH2 {
|
|||||||
$this->message_number_log[] = '<- ' . $temp .
|
$this->message_number_log[] = '<- ' . $temp .
|
||||||
' (' . round($stop - $start, 4) . 's)';
|
' (' . round($stop - $start, 4) . 's)';
|
||||||
if (NET_SSH2_LOGGING == NET_SSH2_LOG_COMPLEX) {
|
if (NET_SSH2_LOGGING == NET_SSH2_LOG_COMPLEX) {
|
||||||
$this->message_log[] = $payload;
|
$this->message_log[] = substr($payload, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1848,7 +1848,7 @@ class Net_SSH2 {
|
|||||||
$this->message_number_log[] = '-> ' . $temp .
|
$this->message_number_log[] = '-> ' . $temp .
|
||||||
' (' . round($stop - $start, 4) . 's)';
|
' (' . round($stop - $start, 4) . 's)';
|
||||||
if (NET_SSH2_LOGGING == NET_SSH2_LOG_COMPLEX) {
|
if (NET_SSH2_LOGGING == NET_SSH2_LOG_COMPLEX) {
|
||||||
$this->message_log[] = $data;
|
$this->message_log[] = substr($data, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2002,13 +2002,17 @@ class Net_SSH2 {
|
|||||||
*/
|
*/
|
||||||
function _format_log($message_log, $message_number_log)
|
function _format_log($message_log, $message_number_log)
|
||||||
{
|
{
|
||||||
static $boundary = ':', $long_width = 65, $short_width = 15;
|
static $boundary = ':', $long_width = 65, $short_width = 16;
|
||||||
|
|
||||||
$output = '';
|
$output = '';
|
||||||
for ($i = 0; $i < count($message_log); $i++) {
|
for ($i = 0; $i < count($message_log); $i++) {
|
||||||
$output.= $message_number_log[$i] . "\r\n";
|
$output.= $message_number_log[$i] . "\r\n";
|
||||||
$current_log = $message_log[$i];
|
$current_log = $message_log[$i];
|
||||||
|
$j = 0;
|
||||||
do {
|
do {
|
||||||
|
if (!empty($current_log)) {
|
||||||
|
$output.= str_pad(dechex($j), 7, '0', STR_PAD_LEFT) . '0 ';
|
||||||
|
}
|
||||||
$fragment = $this->_string_shift($current_log, $short_width);
|
$fragment = $this->_string_shift($current_log, $short_width);
|
||||||
$hex = substr(
|
$hex = substr(
|
||||||
preg_replace(
|
preg_replace(
|
||||||
@ -2021,6 +2025,7 @@ class Net_SSH2 {
|
|||||||
// http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters
|
// http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters
|
||||||
$raw = preg_replace('#[^\x20-\x7E]#', '.', $fragment);
|
$raw = preg_replace('#[^\x20-\x7E]#', '.', $fragment);
|
||||||
$output.= str_pad($hex, $long_width - $short_width, ' ') . $raw . "\r\n";
|
$output.= str_pad($hex, $long_width - $short_width, ' ') . $raw . "\r\n";
|
||||||
|
$j++;
|
||||||
} while (!empty($current_log));
|
} while (!empty($current_log));
|
||||||
$output.= "\r\n";
|
$output.= "\r\n";
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user