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