Thread NET::SFTP::Foreign - Fehler und geht aus sub raus (5 answers)
Opened by Joel at 2010-07-08 11:33

Gast Joel
 2010-07-08 11:33
#139674 #139674
Hallo zusammen

Ich habe ein äusserst seltsames Problem mit dem NET::SFTP::Foreign Modul auf Sun Solaris 10 mit Perl 5.8.4 (& OpenSSH 0.9.7).

Wenn ich die Verbindung zu einem System erstellen möchte:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
sub connectToServer {
        my %inConfigParameter = @_;
        my %configParameter;

        %configParameter = (
                'host'          => $inConfigParameter{target},
                'port'          => $inConfigParameter{port} ? $inConfigParameter{port} : 22,
                'user'          => $inConfigParameter{user},
                'passphrase'    => $inConfigParameter{passphrase} ? $inConfigParameter{passphrase} : undef,
                'password'      => $inConfigParameter{password} ? $inConfigParameter{password} : undef,
        #       'more'          => $inConfigParameter{key} ? [ -i => $inConfigParameter{key} ] : undef,
        );

        #print Dumper(%configParameter);
        my $sftp = Net::SFTP::Foreign->new(%configParameter);
        print "GUGUS!!\n";
        $sftp->error and die "SSH connection failed: " . $sftp->error;
}

... findet der print des "GUGUS" findet dabei nie statt - irgendwie hat der Aufruf des new Konstruktors denselben effekt wie ein return - das Programm arbeitet einfach nach dem connectToServer Aufruf weiter.

Wenn ich das ganze debugge, sehe ich einen Fehler (habe absichtlich einen Servernamen falsch geschrieben um einen Fehler zu provozieren) und dass er danach gleich in die "falsche" Funktion zurückspringt (ggf. interpretiere ich das auch falsch...?). Der connectToServer aufruf erfolgt als letzter Befehl innerhalb einer CallBack Funktion des XML Parsers:
Code: (dl )
1
2
3
4
5
6
7
Net::SFTP::Foreign::Common::_set_error(/home/u24437/scripting/lib/Net/SFTP/Foreign/Common.pm:63):
63: return $sftp->{_error} = dualvar $code, $str;
...
Net::SFTP::Foreign::disconnect(/home/u24437/scripting/lib/Net/SFTP/Foreign.pm:286):
286: }
XML::Parser::Style::Subs::End(/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/XML/Parser/Style/Subs.pm:15):
15: my $expat = shift;


Hat jemand eine Ahnung was da falsch läuft bzw. wie ich das weiter debuggen kann?

Liebe Grüsse
Joel
Last edited: 2010-07-08 11:35:20 +0200 (CEST)

View full thread NET::SFTP::Foreign - Fehler und geht aus sub raus