Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/node_modules/ssh2-streams/test/ |
Upload File : |
var SSH2Stream = require('../lib/ssh'); var parseKey = require('../lib/utils').parseKey; var genPubKey = require('../lib/utils').genPublicKey; var MESSAGE = require('../lib/constants').MESSAGE; var assert = require('assert'); var fs = require('fs'); var SERVER_KEY = fs.readFileSync(__dirname + '/fixtures/ssh_host_rsa_key'); var SERVER_KEY_PRV = parseKey(SERVER_KEY); var SERVER_KEY_PUB = genPubKey(SERVER_KEY_PRV); var server = new SSH2Stream({ server: true, hostKeys: { 'ssh-rsa': { privateKey: SERVER_KEY_PRV, publicKey: SERVER_KEY_PUB, } } }); var client = new SSH2Stream(); var cliError; var srvError; server.on('error', function(err) { assert(err); assert(/unexpected/.test(err.message)); assert(!srvError); srvError = err; }); // Removed 'KEXDH_REPLY' listeners as it causes client to send 'NEWKEYS' which // changes server's state. client.removeAllListeners('KEXDH_REPLY'); // Removed 'NEWKEYS' listeners as server sends 'NEWKEYS' after receiving // 'KEXDH_INIT' which causes errors on client if 'NEWKEYS' is processed // without processing 'KEXDH_REPLY' client.removeAllListeners('NEWKEYS'); // Added 'KEXDH_REPLY' which violates protocol and re-sends 'KEXDH_INIT' // packet client.on('KEXDH_REPLY', function(info) { var state = client._state; var outstate = state.outgoing; var buf = Buffer.allocUnsafe(1 + 4 + outstate.pubkey.length); buf[0] = MESSAGE.KEXDH_INIT; buf.writeUInt32BE(outstate.pubkey.length, 1, true); outstate.pubkey.copy(buf, 5); SSH2Stream._send(client, buf, undefined, true); }); client.on('error', function(err) { assert(!cliError); assert(err); assert.equal( err.message, 'PROTOCOL_ERROR', 'Expected Error: PROTOCOL_ERROR Got Error: ' + err.message ); cliError = err; }); client.pipe(server).pipe(client); process.on('exit', function() { assert(cliError, 'Expected client error'); });