Yuriko.Net 個別記事

2008-04-22

WP 附属の class-pop3.php は APOP 対応めちゃくちゃ

ゆりこ による 09:48:28 の投稿
カテゴリー: WordPressハック
タグ: , ,

鋭意製作中のメール投稿プラグインですが、POP3 対応は WordPress 附属の class-pop3.php をインクルードする予定でした。しかし、APOP 対応がバグっていることが判明してしまいました。

それは、サーバー接続時にチャレンジ文字列を解釈する部分で、 parse_banner()if(!empty($digit)) という部分があるのです。これだと、数字の 0 を読み飛ばしてしまいます。これにより、チャレンジ文字列が変化してしまって、認証に通りません!! たぶん、脆弱性対策でヌル文字をスキップするつもりなのでしょうが、このコードを入れた人は、チャレンジ文字列に 0 が入らないサーバーを使っていたのでしょう……。

あと、apop() メソッドは、エラーが発生すると通常認証を試しますが、ここでエラーが出ると APOP 時のエラーメッセージを上書きしてしまいます。仕方ないので、エラーメッセージを「追加」するように修正しました。結局、WP の class-pop3.php は使いものにならないので、修正したものを「添付」することになりそうです。

ともあれ、POP3 対応もそれなりに動いたので、近いうちにリリースできそうです。ただし、動作確認が不十分なので、ベータ版レベルですが。

[追記] チケット#5915 が切られていました。WordPress 2.3.3 でエンバグしたようで、未だ修正されていないようです。提案されている修正案は正規表現を使っていますが、これは RFC1939 に合致するのかな?? (チャレンジ文字列は Message-ID と同じ書式らしいので、ドットが複数あってもいいような)

トラックバック・コメント »

コメントはありません。

上に戻る

※スパム対策プラグインの影響により、すぐにトラックバックが反映されない場合があります。お手数ですが、半日ほど待ってみてください。

コメント投稿

※発言の責任を明確にするため「名無し」「通りすがり」「匿名希望」等の匿名は不可とします。捨てハンドルでもいいので必ず名乗ってください。
XHTML (使えるタグ): <a href="" title="" ktai=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> .
※スパム対策プラグインの影響により、すぐにコメント内容が表示されない場合があります。お手数ですが、半日ほど待ってみてください。

上に戻る