APOPfilter

APOPfilter は APOP に対応していない POP サーバで APOP を使用できるようにするためのプログラムです。

必要なもの

ライセンス

このプログラムは Ruby ライセンスに従います。

概要

クライアントから接続を受け付け、USER,PASS,APOP,QUIT 命令を処理します。 PASS または APOP 命令成功後、本当の POP サーバに接続します。

事前に、POPサーバにアクセスするための、ログインIDと平文パスワードをファイルまたは MySQL または LDAP データベース上に作成しておく必要があります。

ファイルの場合は、ログインIDと平文パスワードを「:」で区切って、1行1IDでファイルに記述し、apopfiltermap コマンドの引数にファイル名を指定して実行してください。デフォルトのファイル名は /etc/apoppw です。

# cat /etc/apoppw
hoge:pwd-of-hoge
# apopfiltermap /etc/apoppw

設定

apopfilter と同じディレクトリに apopfilter.conf という名前のファイルがある場合はそれが読み込まれます。記述内容は apopfilter.conf.sample を参考にしてください。

設定できるパラメータは以下の通りです。

パラメータ意味デフォルト値
$port APOPfilter のポート番号 10110
$pop_server POPサーバのホスト名またはIPアドレス 127.0.0.1
$pop_port POPサーバのポート番号 110
$apop_only true の場合は USER/PASS認証を使用しない false
$auth_method 認証方式の指定(file または mysql または ldap) file
$error_interval POPエラー時に応答が返されるまでの秒数 5
$banner クライアント接続時に返される文字列 apopfilter ready
$hostname ホスト名 `uname -n`.chomp
$connection_keep_time 最大接続維持時間(秒数)。これを超えると正常に通信できていても接続を切断します。 3600(1時間)
$command_timeout 最大コマンド待ち時間(秒数)。この時間クライアントからの入力がないと接続を切断します。 600(10分間)
$syslog_facility シスログのファシリティ Syslog::LOG_MAIL
$auth_method="file" 時に有効なパラメータ
$apop_passwd_file ログインIDと平文パスワードのファイル名 /etc/apoppw
$auth_method="mysql" 時に有効なパラメータ
$mysql_server MySQLサーバ名 nil
$mysql_user MySQL接続ユーザ名 nil
$mysql_pass MySQL接続パスワード nil
$mysql_db MySQLデータベース名 nil
$mysql_table MySQLテーブル名 apop
$mysql_userfield ログイン名フィールド名 user
$mysql_pwfield 平文パスワードフィールド名 passwd
$auth_method="ldap" 時に有効なパラメータ
$ldap_server LDAPサーバ名 localhost
$ldap_port LDAPポート番号 389
$ldap_dn bindするDN(nil時はbindしない) nil
$ldap_passwd bind時のパスワード nil
$ldap_base 検索するベースDN nil
$ldap_filter 検索フィルタ。%sがユーザ名に置換される uid=%s
$ldap_passwd_attribute 平文パスワード属性名 userPassword

履歴

0.2	2003-12-10
	・LDAP機能追加

0.1	2003-11-02
	・公開

作者

とみたまさひろ

Last modified: Wed Dec 10 19:00:00 JST 2003