allyc has asked for the wisdom of the Perl Monks concerning the following question:
Hi Monks,
I am Looking for some advice with regards to Net::SFTP::Foreign which I think is a fantastic module.
I am trying to beef up the error trapping from my scripts to help me diagnose connect errors. When a connect fails with this module, it normally returns "Connection to remote server is broken" and the real error is sent to the STDERR for the console I am running. I assume the error is being sent to STDERR by the ssh executable its self.
I have had a look at Foreign.pm and I believe its because teh module uses ICP::Open2 to spawn the ssh.exe as this only allows STDIN and STDOUT to be captured.
I thought I would be clever and experiment with changing it to use ICP::Open3 and adding a STDERR file handle to the code.
When a connection fails, I can indeed read the STDERR file handle and the message from ssh is there (such as "Connection Timed Out" or "Permission Denied") which is great. Problem is that the module will not connect to servers which should work. The SSH command just hangs now so the Net::SFTP::Foreign->new method never returns.
Have I looked at this too simply as this is something I have never needed to look at before? Is what I am trying to achieve possible and am I going in the right direction?
Any help would be most gratefully appreciated.
Thanks,
Al
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Net::SFTP::Foreign Connection STDERR
by allyc (Scribe) on Sep 23, 2008 at 21:34 UTC | |
by salva (Canon) on Sep 24, 2008 at 09:57 UTC | |
by allyc (Scribe) on Sep 24, 2008 at 14:32 UTC | |
by ilmari (Initiate) on Apr 21, 2009 at 11:35 UTC | |
by salva (Canon) on Apr 21, 2009 at 14:46 UTC | |
|
Re: Net::SFTP::Foreign Connection STDERR
by salva (Canon) on Apr 19, 2010 at 09:58 UTC |