starttls.cのバグ

AIDA Shinra shinra @ j10n.org
2004年 3月 21日 (日) 19:47:31 JST


相田と申します。

Wanderlustなどでstarttlsを使うとき、BUFSIZEの小さなOSでは、途中で固まっ
てしまうことがあります。次のパッチで直ります。

--- starttls.c.orig	Thu Mar  6 01:57:50 2003
+++ starttls.c	Thu Mar  6 01:58:30 2003
@@ -344,6 +344,7 @@
       if (FD_ISSET (tls_fd, &readfds))
 #endif
 	{
+readtop:
 	  if (tls_conn)
 	    nbuffer = SSL_read (tls_conn, buffer, sizeof buffer -1);
 	  else
@@ -367,6 +368,8 @@
 	      wrote = write (out, retry, nbuffer);
 	      if (wrote < 0) goto finish;
 	    }
+	  if (tls_conn && SSL_pending(tls_conn))
+	    goto readtop;
 	}
     }
 




More information about the Emacs-mime-ja mailing list