[mew-dist 20382] Re: IMAP
Hajimu UMEMOTO
ume at example.com
2002年 2月 23日 (土) 20:07:06 JST
梅本@IMASYです。
IPv6 対応には IMAP4 プロトコル自体はあまり知る必要がないので、ほとん
ど知らないかったりします。
>>>>> On Sat, 23 Feb 2002 10:08:53 +0900 (JST)
>>>>> Kazu Yamamoto (山本和彦) <kazu at example.com> said:
> imapd は cyrus-imapd を使って試してます。
> 's' "update" を繰り返すと最後の message が %inbox に増殖します。
> 's' "all" でまともに戻りますが。。。
kazu> cyrus-imap は以下のような謎の挙動をします。
kazu> xxx uid fetch 561:* uid
kazu> * 558 FETCH (UID 560)
kazu> xxx OK Completed
kazu> uid 561 以降を指定しているのに、uid 560 も返す。
kazu> IMAP はアマチュアなのでよく分りませんが、cryus-imapd のバグのような気
kazu> がします。
Cyrus IMAPd は既に SASL v2 ベースの 2.1.X に移行しています。しかし、
SASL v1 との互換性は全くなく、現状では SASL v2 に対応しているのは
Cyrus IMAPd だけだと思われます。そのため、手元では 2.1.X を動かしてい
ますが、FreeBSD の ports はまだ 2.0.16 のままにしていますし、まだほと
んどのユーザは 2.0.16 にとどまっていると思われます。
というわけで、もしバグであったとしても、おそらく 2.0.X がケアされる
ことはないような気がします。
で、最新版でどうなっているか確認しようと思っているのですが、Cyrus
IMAPd 2.1.X 作業マシンの HDD がお亡くなりで、現在復旧作業中なので、ちょっ
と確認できない状況です。
kazu> いいから、端末ぐらい detach しろ。> cryus-imapd
kazu> # 一体いつになったら直るの? > ume さん
誰かがパッチ投げれば。:-)
Cyrus は基本的に Solaris がターゲットで、作者は *BSD を全く知らない
ようです。
*BSD だけを考えるなら daemon() を呼ぶようにするだけで解決と思います
が、non-BSD で等価な挙動をするようにするのが面倒かも。POSIX 的には
fork() して setsid() 呼べば良いのかなって気がしますけど、setsid() って
どれだけ一般的に使えるのだろうかとか。
Index: master/master.c
diff -u master/master.c.orig master/master.c
--- master/master.c.orig Fri Feb 22 19:19:25 2002
+++ master/master.c Sat Feb 23 16:10:21 2002
@@ -1108,6 +1108,7 @@
memset(&ctable, 0, sizeof(struct centry *) * child_table_size);
if (close_std) {
+ daemon(0, 0);
/* close stdin/out/err */
for (fd = 0; fd < 3; fd++) {
close(fd);
--
梅本 肇 @ インターネット互助会横浜 http://www.imasy.org/~ume/
ume at example.com ume at example.com ume@{,jp.}FreeBSD.org
プログラムは書いた人の意図ではなく書かれた通り動く I hate Modula-3 :-)
Mew-dist メーリングリストの案内