2005-02-19(Sat) [長年日記]

_1 [net] gmail + 生utf-8

"Content-Transfer-Encoding: base64"ではない、生utf-8のメールは表示できない。

_2 [芸術] マルセル・デュシャンと20世紀美術−芸術が裸になった、その後で−

よく分からない。既製品を芸術品に見立てた、その証拠物件を話のネタに見た、というレベルではだめなのか。"泉"、"パリの空気"は京都国立近代美術館から。

_3 [Ruby] net/imapd.rb SSL証明書バグ?

昨日、net/imapd.rbのSSLの部分をそのまま真似して書いたら動かず、不思議に思ったのだが、やっぱり証明書のところが変。

/usr/local/lib/ruby/1.8/net/imap.rb:892:in `initialize': \
  undefined method `ca_path=' for #<OpenSSL::SSL::SSLSocket:0x829ec18> (NoMethodError)

CVSの最新でも同じ。以下を当てるとOK。

*** imap.rb.org Sat Feb 19 23:15:35 2005
--- imap.rb     Sat Feb 19 23:16:37 2005
***************
*** 885,899 ****
            raise "SSL extension not installed"
          end
          @usessl = true
-         @sock = SSLSocket.new(@sock)
  
          # verify the server.
!         @sock.ca_file = certs if certs && FileTest::file?(certs)
!         @sock.ca_path = certs if certs && FileTest::directory?(certs)
!         @sock.verify_mode = VERIFY_PEER if verify
          if defined?(VerifyCallbackProc)
!           @sock.verify_callback = VerifyCallbackProc 
          end
          @sock.connect   # start ssl session.
        else
          @usessl = false
--- 885,900 ----
            raise "SSL extension not installed"
          end
          @usessl = true
  
          # verify the server.
!         context = SSLContext::new()
!         context.ca_file = certs if certs && FileTest::file?(certs)
!         context.ca_path = certs if certs && FileTest::directory?(certs)
!         context.verify_mode = VERIFY_PEER if verify
          if defined?(VerifyCallbackProc)
!           context.verify_callback = VerifyCallbackProc 
          end
+         @sock = SSLSocket.new(@sock, context)
          @sock.connect   # start ssl session.
        else
          @usessl = false
[]