ISP B

MAIL PROXYの構築
B3 kazuhisa
親 南さん
TermProjectの目的





C言語のスキル向上
ネットワークプログラミング習得
通信プロトコルの理解
実装経験
村井研な人になる
手と頭をうごかす!!
本システムの目的



SMTP AuthをサポートしていないMUA
APOPに対応していないMUA
認証機構をもってない端末
-使い古したMUA
-携帯電話
背景
バイト先 ISP(A)
家で契約している(ISP B)
APOP×
USER
SMTPAUTH×
•ISP(A)の環境からISP(B)のsmtpサーバにメールを
送信したい
→契約しているISPではSMTPリレーを行うために
認証が必要なことが多い
•サーバのポリシにMUAが反する場合、
ISP(C)にISP(B)のSMTPサーバを利用した
メールの送信ができない
例) SMTP Authなどに未対応のMUA
•Userはサーバのポリシ依存でMUAを
えらばなければいけない
SMTP Auth
mail server B
ISP C
アプローチ
1.
2.
3.
任意のサーバにMAIL Proxyを立てる
MUAはMAIL Proxyに対してメールを送信、
またはPOPを行う
MAIL ProxyはAuth認証を代わりに行い
メール送信、またはAPOPでメール受信
アプローチ概念図
Internet
Mail server
ISP A
user
P
R
O
X
Y
Smtp proxy
ISP B
APOP ○
Smtp Auth
SMTP AUTH ○
ISP C
システムの流れ
smtpauth
apop
Passive open
accept
fork()
command process
Ok, No
(helo)
(mail from)
(rcpt to)
(user)
Ok, No
(pass)
(data)
connection to mail server
smtp auth
Ok, No
apop
(stat)(dele)
(list)(retr)
Ok, No
DEMO
実装環境、評価


OS: Free BSD 4.8
C言語
使用したMUA
-OUT look
-Becky
-Sylpheed
 トランザクション時間
・SMTP AUTH: 121345 usec
・APOP: 83469 usec

Termprojectの評価



コードの行数: 約1300
総残留日数: 覚えてない
連続残留日数: 9日間
村井研な人になれた!!?
まとめ:
本機構の実現した機能


MUAがSMTPAUTH, APOPの機能を持っ
ていなくても、本機構を用いることで間接
的にそれらを利用できるようになった
発展
様々な端末に未来の認証方式を対応させ
る