<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:dc="http://purl.org/dc/elements/1.1/">
 <channel>
  <pubDate>Sat, 28 Mar 2009 06:28:25 GMT</pubDate>
  <description>質問、改善案など、なんでも(匿名投稿可)</description>
  <link>http://en.sourceforge.jp/projects/bsfilter/forums/</link>
  <atom:link href="http://en.sourceforge.jp/forum/rss.php?group_id=1011&amp;forum_id=4204&amp;thread_id=22147" rel="self" type="application/rss+xml" />
  <title>Forum: users - Thread: pop proxyモード+Thunderbirdでの挙動について - bsfilter on SourceForge.JP</title>
  <language>ja-jp</language>
  <item>
   <pubDate>Sat, 28 Mar 2009 06:28:25 GMT</pubDate>
   <dc:creator>NABEYA Kenichi (nabeken)</dc:creator>
   <title>RE: pop proxyモード+Thunderbirdでの挙動について</title>
   <link>http://en.sourceforge.jp/forum/message.php?msg_id=42820</link>
   <guid>http://en.sourceforge.jp/forum/message.php?msg_id=42820</guid>
   <description>スクリプトのその個所では、サーバからの&quot;+OK&quot;の後、&quot;.&quot;までを受け取ろうとしています。
クライアントの&quot;AUTH&quot;に対して、サーバが&quot;+OK&quot;を返したら、その後つねに&quot;.&quot;まで送って来る、というのであれば、その修正で大丈夫です。

しかし、Thunderbirdが引数無しでAUTHを送り、サーバが&quot;+ERR&quot;でなく&quot;+OK&quot;と&quot;.&quot;を返す、という現状の動作は、それで正しいのでしょうか?
</description>
  </item>
  <item>
   <pubDate>Thu, 26 Mar 2009 08:29:43 GMT</pubDate>
   <dc:creator> (None)</dc:creator>
   <title>RE: pop proxyモード+Thunderbirdでの挙動について</title>
   <link>http://en.sourceforge.jp/forum/message.php?msg_id=42764</link>
   <guid>http://en.sourceforge.jp/forum/message.php?msg_id=42764</guid>
   <description>黒沢と申します．
とりあえず，下記のpatchを当てることで回避できました．bsfilter 1.0.17.rc3用です．1.0.15でも該当部分を変更することで回避できます．

副作用が無ければよいのですが．

kuro4% cat bsfilter.patch                    ~/tmp/bsfilter-1.0.17.rc3/bsfilter
*** bsfilter.orig       2009-03-09 22:11:34.000000000 +0900
--- bsfilter    2009-03-26 14:36:40.408139139 +0900
***************
*** 2531,2537 ****
      buf.push(response)
      @options[&quot;message-fh&quot;].printf(&quot;resp %s %s&quot;, socket, response.sub(/\APASS.*/i, &quot;PASS ********&quot;)) if (@options[&quot;debug&quot;])
      if ((response =~ /\A\+OK/) &amp;&amp;
!         ((command =~ /\A(RETR|TOP|CAPA)/i) ||
           (command =~ /\A(UIDL|LIST)[^\d]*\z/i)))
        while (response != &quot;.\r\n&quot;)
          response = socket.gets_timeout
--- 2531,2537 ----
      buf.push(response)
      @options[&quot;message-fh&quot;].printf(&quot;resp %s %s&quot;, socket, response.sub(/\APASS.*/i, &quot;PASS ********&quot;)) if (@options[&quot;debug&quot;])
      if ((response =~ /\A\+OK/) &amp;&amp;
!         ((command =~ /\A(RETR|TOP|CAPA|AUTH)/i) ||
           (command =~ /\A(UIDL|LIST)[^\d]*\z/i)))
        while (response != &quot;.\r\n&quot;)
          response = socket.gets_timeout
</description>
  </item>
  <item>
   <pubDate>Thu, 26 Mar 2009 01:50:34 GMT</pubDate>
   <dc:creator> (None)</dc:creator>
   <title>pop proxyモード+Thunderbirdでの挙動について</title>
   <link>http://en.sourceforge.jp/forum/message.php?msg_id=42757</link>
   <guid>http://en.sourceforge.jp/forum/message.php?msg_id=42757</guid>
   <description>はじめまして，黒沢と申します．
bsfilterをpop proxyで動作させ，MUAにThunderbirdを使用した場合，Thunderbird起動直後のメール取得で
Timeoutしてしまいます．
Thunderbird起動直後のみ問題が生じ，手で&quot;受信&quot;をクリックすればその後のメール取得は可能ですが，
対応策などございますでしょうか．

環境，試したことを以下に記します．

MUAの環境は，
OS: Windows XP SP3
MUA: Mozilla Thunderbird 2.0.0.14

popサーバ, bsfilterの環境は，
OS: Debian lenny
MTA: postfix 2.5.5 + dovecot 1.0.15
bsfilter 1.0.15
で，
bsfilter --pop --pop-server xxxxxx --insert-flag --insert-probability -v --debug
として起動しています．

この状態でThunderbirdを起動すると，
start Thu Mar 26 09:25:48 +0900 2009
pop mode start Thu Mar 26 09:25:48 +0900 2009
pop_proxy is on 10110:0.0.0.0:0.0.0.0
#&lt;TCPSocket:0xb7d41360&gt; is accepted
#&lt;TCPSocket:0xb7d407bc&gt; is connected
resp #&lt;TCPSocket:0xb7d407bc&gt; +OK Dovecot ready.
resp #&lt;TCPSocket:0xb7d41360&gt; AUTH
send #&lt;TCPSocket:0xb7d407bc&gt; AUTH
resp #&lt;TCPSocket:0xb7d407bc&gt; +OK
send #&lt;TCPSocket:0xb7d41360&gt; +OK
Timeout error xxxxxx 110 10110
#&lt;TCPSocket:0xb7d41360&gt; is gone
#&lt;TCPSocket:0xb7d407bc&gt; is gone

となって，Timeoutしてしまいます．
この状態で，Thunderbirdの&quot;受信”をクリックすると，
#&lt;TCPSocket:0xb7d3d030&gt; is accepted
#&lt;TCPSocket:0xb7d3c400&gt; is connected
resp #&lt;TCPSocket:0xb7d3c400&gt; +OK Dovecot ready.
resp #&lt;TCPSocket:0xb7d3d030&gt; CAPA
send #&lt;TCPSocket:0xb7d3c400&gt; CAPA
resp #&lt;TCPSocket:0xb7d3c400&gt; +OK
send #&lt;TCPSocket:0xb7d3d030&gt; +OK
resp #&lt;TCPSocket:0xb7d3d030&gt; AUTH PLAIN
send #&lt;TCPSocket:0xb7d3c400&gt; AUTH PLAIN
resp #&lt;TCPSocket:0xb7d3c400&gt; +
send #&lt;TCPSocket:0xb7d3d030&gt; +
resp #&lt;TCPSocket:0xb7d3d030&gt; xxxxxxxxx
send #&lt;TCPSocket:0xb7d3c400&gt; xxxxxxxxx
resp #&lt;TCPSocket:0xb7d3c400&gt; +OK Logged in.
send #&lt;TCPSocket:0xb7d3d030&gt; +OK Logged in.
resp #&lt;TCPSocket:0xb7d3d030&gt; STAT
send #&lt;TCPSocket:0xb7d3c400&gt; STAT
resp #&lt;TCPSocket:0xb7d3c400&gt; +OK 33 403559
send #&lt;TCPSocket:0xb7d3d030&gt; +OK 33 403559
resp #&lt;TCPSocket:0xb7d3d030&gt; LIST
send #&lt;TCPSocket:0xb7d3c400&gt; LIST
resp #&lt;TCPSocket:0xb7d3c400&gt; +OK 33 messages:
send #&lt;TCPSocket:0xb7d3d030&gt; +OK 33 messages:
resp #&lt;TCPSocket:0xb7d3d030&gt; UIDL
send #&lt;TCPSocket:0xb7d3c400&gt; UIDL
resp #&lt;TCPSocket:0xb7d3c400&gt; +OK
send #&lt;TCPSocket:0xb7d3d030&gt; +OK
resp #&lt;TCPSocket:0xb7d3d030&gt; QUIT
send #&lt;TCPSocket:0xb7d3c400&gt; QUIT
resp #&lt;TCPSocket:0xb7d3c400&gt; +OK Logging out.
send #&lt;TCPSocket:0xb7d3d030&gt; +OK Logging out.
#&lt;TCPSocket:0xb7d3d030&gt; is gone
#&lt;TCPSocket:0xb7d3c400&gt; is gone

となり，正常に受信できます．

telnetで直接コマンドを入力すると，
% telnet localhost 10110                                                 ~

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.(pop_proxy by bsfilter)
AUTH
+OK
Connection closed by foreign host.

となり，接続が切れてしまいます．このとき，bsfilter側は，
#&lt;TCPSocket:0xb7d1a3a0&gt; is accepted
#&lt;TCPSocket:0xb7d197d4&gt; is connected
resp #&lt;TCPSocket:0xb7d197d4&gt; +OK Dovecot ready.
resp #&lt;TCPSocket:0xb7d1a3a0&gt; AUTH
send #&lt;TCPSocket:0xb7d197d4&gt; AUTH
resp #&lt;TCPSocket:0xb7d197d4&gt; +OK
send #&lt;TCPSocket:0xb7d1a3a0&gt; +OK
Timeout error xxxxxx 110 10110
#&lt;TCPSocket:0xb7d1a3a0&gt; is gone
#&lt;TCPSocket:0xb7d197d4&gt; is gone
となります．

popサーバに直接telnetすると，
kuro4% telnet xxxxxx 110

Trying xxxxxxxx...
Connected to xxxxxx
Escape character is '^]'.
+OK Dovecot ready.
AUTH
+OK
.
CAPA
+OK
CAPA
TOP
UIDL
RESP-CODES
PIPELINING
STLS
USER
SASL PLAIN
.
QUIT
+OK Logging out
Connection closed by foreign host.

となり，問題はありません．

MUAが&quot;AUTH&quot;を送った際，レスポンスの'+OK'(2b 4f 4b 0d 0a)の後の'.'(2e 0d 0a)を待っているときに
Timeoutしているようです．

以上ですが，よろしくお願いいたします．</description>
  </item>
 </channel>
</rss>
