From 19556fcb5903366ca0210727b45a1f996e2fa469 Mon Sep 17 00:00:00 2001 From: Miklos Fazekas Date: Fri, 16 Jan 2015 08:57:55 +0100 Subject: Added integrations test refactored out channel extensions --- test_server.rb | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) (limited to 'test_server.rb') diff --git a/test_server.rb b/test_server.rb index 7f2926d..40f5d52 100644 --- a/test_server.rb +++ b/test_server.rb @@ -3,6 +3,7 @@ require 'net/ssh' require 'net/ssh/server' require 'net/ssh/server/keys' require 'net/ssh/transport/server_session' +require 'net/ssh/server/channel_extensions' require 'socket' require 'ostruct' require 'byebug' @@ -10,7 +11,6 @@ require 'byebug' PORT = 2000 Thread.abort_on_exception=true - logger = Logger.new(STDERR) logger.level = Logger::DEBUG @@ -18,13 +18,8 @@ puts "Setting up server keys..." server_keys = Net::SSH::Server::Keys.new(logger: logger, server_keys_directory: '.') server_keys.load_or_generate -def send_reply(channel,result) - msg_type = result ? Net::SSH::Connection::Constants::CHANNEL_SUCCESS : Net::SSH::Connection::Constants::CHANNEL_FAILURE - msg = Net::SSH::Buffer.from(:byte, msg_type, :long, channel.remote_id) - channel.connection.send_message(msg) -end - puts "Listening on port #{PORT}..." + Thread.start do server = TCPServer.new PORT header = [] @@ -40,6 +35,7 @@ Thread.start do session = Net::SSH::Transport::ServerSession.new(client,options) session.run_loop do |connection| connection.on_open_channel('session') do |session, channel, packet| + channel.extend(Net::SSH::Server::ChannelExtensions) channel.on_request 'shell' do |channel,data| command = data.read_string puts "received command:#{command}" @@ -49,20 +45,14 @@ Thread.start do #channel.process command = data.read_string if opt[:want_reply] - send_reply(channel,true) + channel.send_reply(true) opt[:want_reply] = false end sleep 2 puts "received command:#{command}" channel.send_data "command :#{command} reply: 42\n" - channel.eof! - channel._flush channel.send_channel_request('exit-status',:long,42) - #channel.send_channel_request('eow@openssh.com') - channel.close - channel.on_eof { puts "on eof" ; channel.close } - #channel.close - #channel.send_channel_request('command-from-client', :string, "data-from-client") + channel.send_eof_and_close end end end -- cgit v1.2.1