1. chk.cgiでdecode('Guess',$Sfrm{$i})での判別がうまく行かずshiftjis or euc-jpといったメッセージを吐いて止まってしまいます。これは
sub to_sjis {
my($l) = @_;
my $decoder = Encode::Guess->guess($l);
return encode('shiftjis', $decoder->decode($l)) if ref($decoder); return encode('shiftjis', decode('shiftjis', $l)) if $decoder =~ /shiftjis/; return "(removed because the encoding could not be identified)"; }
4. とりあえず.forwardの設定などは後回しにしてchk.cgiにアクセスしてみると一応正常に表示されました。しかし、そこでAddGIPなどの選択を行って実行ボタンをクリックするとInternal Server Errorとなります。error_logを見ると
/home/username/Maildir/trash/1177386685.11538_0.mail.example.jp:2,S: No such file or dir ectory at PERL/header.pl line 157., referer: http://mail.example.jp/~username/NNIPF/chk.cgi [example.jp]
/home/username/Maildir/trash/1177386685.11538_0.mail.example.jp:2,S: No such file or dir ectory at PERL/header.pl line 157., referer: http://mail.example.jp/~username/NNIPF/chk.cgi
レポートなど (スコア:1)
…が、こちらの環境では正常に動作させることができませんでした。当方はpostfix + Courier-IMAPの組み合わせです。
1. chk.cgiでdecode('Guess',$Sfrm{$i})での判別がうまく行かずshiftjis or euc-jpといったメッセージを吐いて止まってしまいます。これは のようなものを付け加え、Guessしているところは全てこれを使うように変更してとりあえず凌ぎました。
2. Maildirはそのユーザからしか読めないため、おそらくhttpdにmod_suexecを組み込まないとパーミッションの関係でうまく動かないものと思われます。あるいは別の方法があるのかもしれませんが、いずれにせよそのあたりの記載がほしいところです。なおsuexecを使う場合chmod go-w . *.cgiなどをしておかないと動きません(makeしたときのumask次第)。
3. .htpasswdはデフォルトのパーミッションのままだとhttpdが読めないものと思われます。chmod 604 .htpasswdが必要です。
4. とりあえず.forwardの設定などは後回しにしてchk.cgiにアクセスしてみると一応正常に表示されました。しかし、そこでAddGIPなどの選択を行って実行ボタンをクリックするとInternal Server Errorとなります。error_logを見ると
/home/username/Maildir/trash/1177386685.11538_0.mail.example.jp:2,S: No such file or dir
ectory at PERL/header.pl line 157., referer: http://mail.example.jp/~username/NNIPF/chk.cgi [example.jp]
といった記録がありました。
このあたりで今日はリタイアしました。
Re:レポートなど (スコア:1)
和田
Re:レポートなど (スコア:1)
最後の点はやはり直っていませんでしたが、若干ソースを眺め、chk.cgiの99行目付近のをに書き換えると一応それらしい動きをするようになった気がします。しかし正しいかわかりません。
Re:レポートなど (スコア:1)
ですが、うちでは
$RCV=HEADER::rvf("$CUR/$name");
に書き換えました。
画面上の、curの処理から来ているようでしたので。
あと、IPv6のIPv4マッピング対応に
PERL/header.pl
の112~113行を
if ($str =~ /.*\[(::ffff:)?([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)\].*/) {
$OIP =$2;
に変えてみました。
正式には、これで良いのかどうかは分かりませんが・・・
本当にIPv6で運用してたらアウトなんでしょうけどウチではこれで動いているようです。
Re:レポートなど (スコア:1)
ありがとうございます.