NNIPF 0.10のバグ修正

私の愛用しているNNIPF 0.10に、Received: の行のfromに現れるアドレスが次のようにカッコにIPアドレスのみが記される形式になっていると認識されないというバグがあるようです。

Received: from p11014-ipadfx01hon.saitama.ocn.ne.jp (220.96.189.14)

Webインタフェースでは認識されているような表示になりますが、複数あるfrom行のアドレスのどれを選択するかの処理において無視されています。

PERL/NNIPF.pmのサブルーチンofficialIPを以下のように修正してみましたところ、一応正常に動くようになったようです(無保証)。

######################## from string returned by ReceivedFrom() to official IP
sub officialIP{
  my ($str)=@_;
  my $OIP="";
  if ($str =~ /.*\[([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)\].*/) {
    $OIP =$1;
  } else {
    ($OIP) = $str =~ /\((?:[^@]+@)?([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)\)/;
  }
#  my @h=split(/ /,$str);
#  if  ((defined $h[3])&&($h[3] =~ /[^0-9]*([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)[^0-9]*/)) {
#    $OIP = $1;
#  }
  return $OIP;
}

それにしても、一年ほど開発の動きが止まってしまっているのは残念ですね。

追記: IPアドレスが@付きの形式になっていた場合に認識できないというバグがあったので修正しました(2008.12.14)

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください