POP IMAP サーバの調整 (POP/IMAP Server Modifications)

DRAC クライアント機能

 dracauth() クライアント機能はメールの利用者毎に POP サーバが独立して実行でいるように実装されます。コールされるのは利用者が認証に成功した時です。

 IMAP サーバでは POP サーバが利用者が毎回認証するのとは異なり、IMAP では接続を保ったまま動作をしています。その結果、DRAC サーバに対して中継許可を与えるためには、定期的に認証を行うような仕組みを設けなくてはいけません。マルチ・スレッドで動作するメールサーバであれば、より複雑なインターフェースを必要とします。これらのサーバに対しては、dracconn() クライアント機能を RPC コネクション時に認識させ、dracdisc() を切断時に与えるようにします。そうすることで、dracsend() クライアント関数が実際に送信する IP アドレスの特定を出来るような機能を実装できます。

 同一のサーバ内で DRAC が動作している場合、サーバのホスト名は "localhost" と認識します。ですが、ランタイムの調整によってパラメータを変更するほうが良いでしょう。

Qpopper の調整

 Qpopper 3.1 以降のバージョンではコンパイル時のオプションで DRAC 機能のサポートを行っています。configure 時のフラグは --with-drac です。詳しくは qpopper のドキュメントをご覧下さい。

 最近のバージョンでは良いニュースがあったと Steven Champeon 氏が伝えてくれました。

 ようやく qpopper 3.0.2 に於いて DRAC(Dynamic Relay Authorization Control)機能を実装する公式パッチを完成しました。パッケージに含まれ pop_bass.c と GNU autofigure.in ファイル、config.h などに反映されています。

 autoconf と、それがどのように動作するか(configure スクリプトを実行するために)確認したい場合はこのパッチをご覧下さい。

 autoconf を持っていない場合、あるいは autoconf で新しい configure スクリプトを作りたくない場合は、こちらのパッチをご利用下さい(既にリンクが切れていて利用出来ません。qpopper 4.x で drac の機能が標準サポートされたためだと思います)。

 実際にパッチをあてるためには次のようなコマンドを実行します。

tar xvzf qpopper3.0.2.tar.gz
cat patch-qpopper-3.0.2-drac | patch -p0

 あるいは以下のようになります。

tar xvzf qpopper3.0.2.tar.gz
cat patch-qpopper-3.0.2-drac-no-configure | patch -p0
cd qpopper3.02
autoconf

 出来れば、これらは基本パッケージに含まれることでバージョンアップする毎にパッチをあてなくてもよくなります。基本的に 2.52/pop_pass.c の変更の他は変わりありません。作業がより容易になるでしょう。

 Mike McHenry? 氏は2つのパッチを提供されています。 UW IMAP 4.7c2 デーモンに対応するパッチを提供されました。もう1つは Qualcomm popper 3.0.1 デーモンに対するものです。いずれのパッチも /etc/mail/dracd.host ファイルへ /etc/mail/dracd.host ファイルのようにメールサーバが dracd で /etc/mail/dracd.host を認識できるように調整を行ったものです。

mail.minn.net

 dracd による全ての認証は mail.minn.net に送られます。/etc/mail/dracd.host に記入がなければ dracd の認証情報が送られることはありません。

 Mike 氏は以下の RPM パッケージと Redhat 6.0/6.1/6.2 向けのオリジナル SRPM をFTPサイトで提供されています。

dracd-1.10 Redhat 6.x 向けにコンパイルされた dracd デーモン imap-4.7c2 dracd が利用できるよう UW IMAP デーモン向けパッチ qpopper-3.0.1 qpopper デーモンが dracd を利用できるようにするパッチ

 Qpopper 3.0 beta 36 においてはこのパッチが適用されています。configure 時に --enable-dracauth オプションを用いるようになります。もし libdrac.a が /usr/lib/drac にインストールされていない場合、 popper/Makefile の中のライブラリのパスに関する2カ所を修正する必要があります。修正後 popper をコンパイルします。

 Patrik 氏は Qpopper 3 beta 18 のためのパッチを提供されました。

 Mike McHenry? 氏は qpopper v2.53 むけの、より包括的なパッチを作成されました。パッチを autoconf に適用することで、新しい configure フラグが使えます。--enable-dracauth です。DRAC の互換性のあるバージョンでパッチを適用し、./configure --enable-dracauth を実行した後、make します。彼のパッチは /usr/lib/drac にライブラリがセットアップされていることを前提としています。

 qpopper POP サーバのためにはオリジナルのサンプルパッチがあります。

 APOP を利用している場合、こちらのパッチも同様に適用できます。

Cucipop の調整

 James Renken 氏によって Cucipop POP3 サーバへのパッチが開発され、FTPサイトで公開されています。その他、Michael Kinney 氏により CuciPOP パッチが公開されています。

Cyrus の調整

 Ken Murchison 氏により cyrus IMAP・POP サーバで DRAC 機能を統合するように開発が進められました。cyrus-2.0.12 以上のバージョンで'contrib'ディレクトリに含まれています。cyrus-2.0.13 で使いたいときはこちらのパッチを使用します。cyrus-2.0.9 や 2.0.11 ではこちらのパッチをご利用下さい。

 cyrus IMAP・POP サーバのバージョン 2.0.7 向けのパッチはこちらからダウンロードできます。

 Adam Laurie 氏により cyrus 1.6.24 向けのパッチが提供されています。

 Forrest Aldrich 氏により cyrus 1.6.20 のパッチ1.6.19 のパッチが提供されています。彼のメモによると Makefile には手動で調整を加えないといけませんが、3行の調整を行うだけです。

DEFS = ... -DDRAC_AUTH
LIBS = ... -ldrac
LDFLAGS = ... -L/usr/local/src/drac

 Forrest Aldrich 氏により cyrus 1.5.19 のパッチが提供されています。

 cyrus IMAP POP サーバのバージョン 1.5.14 向けのパッチはこちらからダウンロードできます。

WU IMAP の調整

 Per Larsson 氏によりパッチが提供されています。

 John Lane 氏によって最近リリースされた UW IMAP v2004a に対応したパッチが提供されています。ファイルはこちらです。John 氏によっていくつかの機能が追加されています。

  • drac 設定ファイル(/etc/dracd/dracd.conf)が存在しないときにサーバは終了します。そして drac サーバが動作できなかったことを一度だけログファイルに記録します。(必要がなければ、パッチから取り除くこともできます)
  • 設定ファイルの場所(/etc/dracd や /etc/mail) をパッチによって置き換える事ができます

 Tomohiko Sugihara 氏によって UW IMAP 2002(リリース 2002年11月18日)対応のパッチを提供されています。Baba Buehler 氏のパッチが元になっています。パッチはこちらです。

 Baba Buehler 氏によって UW IMAP 2001a に対応したパッチが提供されています。クライアントが UW POP3 デーモンによって認証することができる全ての方法に対応しています。パッチはこちらです。

 Per Larsson 氏によって UW IMAP 2001a 向けの更新パッチが提供されました。パッチファイルはこちらです。注意点はコンパイル時に"EXTRACFLAGS=-DDRAC_AUTH" and "EXTRALDFLAGS=-ldrac"を指定することです。

 Dave Alden 氏によって UW IMAP 2001 向けのパッチが提供されています。パッチはこちらです。

 John Merriam 氏は Mike McHenry? 氏による WU IMAP 2000a の IMAP・POP サーバに対するパッチを更新しました。パッチファイルはこちらです。

 Pradeep Sanders 氏によって Mike McHenry? 氏による UW ipop3d の ipopd に対するパッチが更新されました。dracd が POP と IMAP による双方の認証に対応しています。パッチはこちらです。

 Mike McHenry? 氏により UW IMAP 4.7c2 デーモンで利用できるパッチが提供されました。パッチは /etc/mail/dracd.host ファイルによって認証するメールサーバを1行で記述できるようになります。/etc/mail/dracd.host の記述の仕方は次のようにします。

mail.minn.net

 dracd が認証をしたら mail.minn.net に情報を送ります。/etc/mail/dracd.host ファイルが無ければ認証情報は送信されません。

 Roberto Ullfig 氏によりワシントン大学(UW) IMAP サーバに対するオリジナルなパッチが提供されました。コンパイル時に用いるには

EXTRACFLAGS= -DDRAC_AUTH

こちらのフラグを Makefile に追加する必要があります。imapd が起動するとき、DRACHOST 変数に DRAC デーモンが動作するホスト名を入れる必要があります。

Teapop の調整

 Teapop POP serverのメイン作者である ibrahim khalifa 氏により v0.28 に関する連絡がありました。Teapop は DRAC を正式サポートしていません。DRAC を有効にするときには設定時に --with-drac=DIR フラグを用いて、DRAC ライブラリがどこにあるか示す必要があります。

Courier-IMAP pop3 の設定

 Chris Cappuccio 氏によって Courier-IMAP はソースコードの改変をせずとも DRAC へ対応できるようになっています。POP3/IMAP サーバ毎に認証後、小さなプログラムを呼び出します。このプログラムが利用者の IP アドレスを環境変数から把握します。そして、DRAC ホストに対して送信許可を依頼します。

 Nikolas Hagelstein 氏により最近の IMAP に対応するよう修正を行うパッチを提供されています。

 Erich Schubert 氏により最近の courier-imap, courier-pop に対応した改良パッチを提供されています。drachost は configure 時の変数 DRACHOST で明示します。また、IPv6 でも動作を行うようビルドすることもできます。

 Ana Burrows 氏により Courier-IMAP pop3 デーモンに対応するパッチが提供されています。インストール方法や説明はファイルに含まれています。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: Fri, 08 Jul 2005 18:57:43 JST (6860d)