Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^2: Command sent via Net::Telnet is not getting logged in CentOS. However, the same is getting logged in Fedora 20

by shoundic (Novice)
on Jul 04, 2019 at 06:05 UTC ( #11102389=note: print w/replies, xml ) Need Help??


in reply to Re: Command sent via Net::Telnet is not getting logged in CentOS. However, the same is getting logged in Fedora 20
in thread Command sent via Net::Telnet is not getting logged in CentOS. However, the same is getting logged in Fedora 20

You're right. command_remove_mode does have an impact. For instance on CentOS at the time of initialization Net::Telnet object, if I'm setting cmd_remove_mode as 0, then I'm able to get command output without command. Here are the logs for the same
my $ssh = new Net::Telnet ( -fhopen => $pty, -prompt => $args{prompt}, -telnetmode => 0, -cmd_remove_mode => 1, -timeout => SSH_TIMEOUT, -output_record_separator => "\r", #-errmode => sub { print "Telnet FAIL\n"; } ); Output of script execution [root@hyd1658 attribute_template]# perl test_centos.pl output is Thu Jul 4 11:18:18 IST 2019 [root@hyd1658 ~]
However, if I set cmd_remove_mode as 1 then the output is getting choped. Here are the logs-
my $ssh = new Net::Telnet ( -fhopen => $pty, -prompt => $args{prompt}, -telnetmode => 0, -cmd_remove_mode => 1, -timeout => SSH_TIMEOUT, -output_record_separator => "\r", #-errmode => sub { print "Telnet FAIL\n"; } ); Output of script execution [root@hyd1658 attribute_template]# perl test_centos.pl output is [root@hyd1658 ~]
This(chopping of 1 line of output) does make sense from the following piece of code of Net::Telnet
sub cmd { . . . ## Determine if we should remove the first line of output based ## on the assumption that it's an echoed back command. if ($cmd_remove_mode eq "auto") { ## See if remote side told us they'd echo. $telopt_echo = $self->option_state(&TELOPT_ECHO); $remove_echo = $telopt_echo->{remote_enabled}; } else { # user explicitly told us how many lines to remove. $remove_echo = $cmd_remove_mode; } ## Get rid of possible echo back command. while ($remove_echo--) { shift @$output; } . . .
But in either case, the command sent should have been echoed in the output, which in this case is not happening. Do you have any suggestion on what could be its root cause or what piece of code is responsible for this.
  • Comment on Re^2: Command sent via Net::Telnet is not getting logged in CentOS. However, the same is getting logged in Fedora 20
  • Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://11102389]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (7)
As of 2020-07-10 10:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?