AnyEvent-SSH2
view release on metacpan or search on metacpan
lib/AnyEvent/SSH2.pm view on Meta::CPAN
else {
$sock->push_read(chunk => 4 => sub {
my ($hdl, $buf) = @_;
if (length($buf) == 0) {
croak "Connection closed by remote host." if !$buf;
}
if (!defined $buf) {
next if $! == EAGAIN || $! == EWOULDBLOCK;
croak "Read from socket failed: $!";
}
# Untaint data read from sshd. This is binary data,
# so there's nothing to taint-check against/for.
($buf) = $buf =~ /(.*)/s;
$ssh->incoming_data->append($buf);
$class->read($ssh, $cb);
})
}
};
use Net::SSH::Perl::Kex;
*Net::SSH::Perl::Kex::exchange_kexinit = sub {
my $kex = shift;
my $ssh = $kex->{ssh};
lib/AnyEvent/SSH2.pm view on Meta::CPAN
# è¿æ¯ä¸»è¿æ¥ç奿
my $handle = $ssh->{session}{sock};
$handle->push_read( chunk => 4 => sub {
my ($handle, $buf) = @_;
if (!length($buf)) {
croak "Connection failed: $!\n";
}
$ssh->break_client_loop if length($buf) == 0;
($buf) = $buf =~ /(.*)/s; ## Untaint data. Anything allowed.
$ssh->incoming_data->append($buf);
$cv->send('main');
});
}
sub channel_mgr {
my $ssh = shift;
unless (defined $ssh->{channel_mgr}) {
$ssh->{channel_mgr} = Net::SSH::Perl::ChannelMgr->new($ssh);
}
( run in 0.435 second using v1.01-cache-2.11-cpan-d6f9594c0a5 )