[Mew-dist 14855] Re: SASL
Daiki Ueno
deisui at example.com
2000年 11月 6日 (月) 14:25:20 JST
>>>>> In [Mew-dist : No.14854]
>>>>> Kazu Yamamoto (山本和彦) <kazu at example.com> wrote:
> > 宜しければ、テストにお付き合い頂き、API に関する御意見をお聞かせ下さい。
> 複数の認証方法を提示されたときの選択方法はどうしていますか?
> コードをちらと見た限り、単に定義ある順番を線形的に探索しているようです
> が。Cyrus の SASL のライブラリだと、もう少し複雑なことをしていませんで
> したっけ? (しかし、それにさえ、あまり根拠がありそうにない印象を持ちま
> したけど。)
ありがとうございます。
Cyrus SASL でも、基本は線型探索なのですが、各認証機構毎に表明された
SSF (Security Strength Factor) と application が要求する SSF の照合を同
時に行っていますね。機構毎に表明を書けるようにし、matching のための関数
を指定できるようにするのが良いのかも知れません。
;; Cryptix SASL (Java API の実装)では、この辺りは完全に hard coding され
;; ているようです。
例:
(defvar sasl-mechanism-alist
'(("DIGEST-MD5" sasl-digest min-ssf 0 max-ssf 1)
...))
(defun sasl-match-by-ssf (name plist)
(let ((min-ssf (plist-get plist 'min-ssf))
(max-ssf (plist-get plist 'max-ssf)))
;;check ssf
))
(let ((sasl-match-mechanism-function
(function sasl-match-by-ssf)))
(sasl-find-mechanism '("CRAM-MD5" ...)))
昨日大幅に API を変えてしまったので、取り急ぎ、新しい版と、それに対する
mew-smtp.el へのパッチを以下に置いておきます。
http://www.unixuser.org/~ueno/junk/sasl-0.2.tar.gz
http://www.unixuser.org/~ueno/junk/mew-smtp-for-sasl-0.2.diff
;; 変数名/関数名が、少しは直感的になったかも知れません。
;; あと、壊れた manual を附属しています。^_^;;
--
Daiki Ueno
Mew-dist メーリングリストの案内