From nakano.hiroaki @ nttcom.co.jp Mon Apr 1 13:34:49 2013 From: nakano.hiroaki @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCQ2ZMbiEhOShPLxsoQg==?=) Date: Mon, 01 Apr 2013 13:34:49 +0900 Subject: [Ultramonkey-l7-develop 905] Re: [PATCH 1/1] l7directord ftp_port_mode_check In-Reply-To: <51551C5E.5030500@lab.ntt.co.jp> References: <51551C5E.5030500@lab.ntt.co.jp> Message-ID: <51590E69.2070201@nttcom.co.jp> 中野@幕張です。 (2013/03/29 13:45), Hibari Michiro wrote: > 雲雀です。 > > l7directordでFTPの死活監視を行った際、 > 気になる動作があったので、ご報告&修正案です。 > > l7directordの監視は、PASVモード決め打ちで監視を > 行っています。そのためFTPサーバがPASVに対応して > いない場合に監視NGとなります。 > #PASVに対応していない環境はなかなか無いと思いますが。 > > そこで、PASVモードで死活監視して失敗したら、PORTモードで > 再度死活監視を行って、それでもだめなら監視NGとするように > してみました。 > > ---- > > --- l7directord.ORG 2013-03-28 23:55:01.483756175 +0900 > +++ l7directord 2013-03-29 22:27:54.572750779 +0900 > @@ -2939,7 +2939,8 @@ sub check_ftp { > > open my $tmp, '+>', undef; > $ftp->binary(); > - if ( !$ftp->get( $r->{request}, *$tmp ) ) { > + if ( !( $ftp->get($r->{request}, *$tmp) || > + ( $ftp->port() && ($tmp = $ftp->retr($r->{request})) )) ){ > alarm 0; > ld_log( _message('WRN1905', $r->{request}, $ip_port) ) if (!defined $status || $status eq $SERVICE_UP); > close $tmp; > > ---- > > 役立つ機会は無いような気もしますが、簡単に改善できそうだったので :-) > パッと見、いいと思います。 ちと動かしてみないと確認はとれませんが。 -- 中野 宏朗 (NAKANO Hiroaki)