[#25035] 拡張ライブラリへの共有ライブラリのPATHの埋め込み — Takahiro Kambe <taca@...>

こんにちは。

16 messages 2004/12/03
[#25070] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — nobu@... 2004/12/06

なかだです。

[#25071] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — Takahiro Kambe <taca@...> 2004/12/06

In message <200412060607.iB667giF007533@sharui.nakada.niregi.kanuma.tochigi.jp>

[#25089] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — nobu@... 2004/12/07

なかだです。

[#25090] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — Takahiro Kambe <taca@...> 2004/12/07

In message <200412070015.iB70FAiF012770@sharui.nakada.niregi.kanuma.tochigi.jp>

[#25093] Re: 拡張ライブラリへの共有ライブラリのPATHの埋め込み — akira yamada / やまだあきら <akira@...> 2004/12/07

2004-12-07 (火) の 12:27 +0900 に Takahiro Kambe さんは書きました:

[#25041] temporal locking already locked string on simultaneous write — Tanaka Akira <akr@...17n.org>

同じ文字列をほぼ同時に IO に書き込むと、temporal locking already

13 messages 2004/12/04
[#25042] Re: temporal locking already locked string on simultaneous write — Yukihiro Matsumoto <matz@...> 2004/12/04

まつもと ゆきひろです

[#25043] Re: temporal locking already locked string on simultaneous write — Tanaka Akira <akr@...17n.org> 2004/12/04

In article <1102133507.339625.10453.nullmailer@x31.priv.netlab.jp>,

[#25096] double free problem — "Akinori MUSHA" <knu@...>

 ご無沙汰しております。

15 messages 2004/12/07
[#25099] Re: double free problem — Yukihiro Matsumoto <matz@...> 2004/12/07

Hi,

[#25101] non-stdio buffering — Tanaka Akira <akr@...17n.org>

えぇと、今回 1.9 でなにが起きたのかを私が把握している範囲でまとめてお

18 messages 2004/12/07

[#25152] 1.8 reopen problem with duplex popen — Tanaka Akira <akr@...17n.org>

次のように、1.8 で双方向 popen な IO を reopen するとエラーになること

11 messages 2004/12/10

[#25158] core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org>

NetBSD 2.0 で次のようにすると core を吐きます。

18 messages 2004/12/11
[#25159] Re: core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org> 2004/12/11

In article <87hdmsivva.fsf@serein.a02.aist.go.jp>,

[#25163] Re: core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org> 2004/12/12

In article <87ekhwiv7g.fsf@serein.a02.aist.go.jp>,

[#25165] Re: core dump on NetBSD 2.0 — nobu@... 2004/12/13

なかだです。

[#25167] Re: core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org> 2004/12/13

In article <200412130040.iBD0e8Qh003275@sharui.nakada.niregi.kanuma.tochigi.jp>,

[#25193] 1.8.2 release schedule — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

15 messages 2004/12/14

[#25299] Re: リリース準備 — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

20 messages 2004/12/24
[#25301] Re: リリース準備 — TAKAHASHI Masayoshi <maki@...> 2004/12/24

高橋征義です。

[#25302] test_readline.rb blocks on BSD again — GOTOU Yuuzou <gotoyuzo@...>

In message <20041223175402.3116FC6718@lithium.ruby-lang.org>,

15 messages 2004/12/24
[#25314] Re: test_readline.rb blocks on BSD again — GOTOU Yuuzou <gotoyuzo@...> 2004/12/24

In message <20041224.131211.846943951.gotoyuzo@sawara.does.notwork.org>,

[#25315] Re: test_readline.rb blocks on BSD again — Yukihiro Matsumoto <matz@...> 2004/12/24

まつもと ゆきひろです

[#25317] Re: test_readline.rb blocks on BSD again — WATANABE Hirofumi <eban@...> 2004/12/25

わたなべです。

[ruby-dev:25254] Re: net/https.rb and server identity (RFC2818)

From: GOTOU Yuuzou <gotoyuzo@...>
Date: 2004-12-19 18:09:21 UTC
List: ruby-dev #25254
In message <20041217235948.311035a2.sheepman@tcn.zaq.ne.jp>,
 `sheepman <sheepman@tcn.zaq.ne.jp>' wrote:
> net/https.rb と net/http.rb で RFC2818 の 3.1 に定められた
> 「サーバーの証明書に記載された身元のチェック」をしていないのは意図されたことでしょうか。

ええと、チェックしないことを意図しているわけではありませんが、
実装されていないのでチェックされません。

> クライアントが信頼している CA に署名された、証明書をもつサーバーが DNS spoofing などと
> 連係して偽の名前を名乗ることが出来てしまいます。

証明書を検証しなければこのチェックには意味がありませんが、デ
フォルトでは行なっていませんから、ホスト名が一致しないときに
必ず例外を上げるというのは適切でない気がします。

ひとまず、sheepmanさんのパッチを参考にユーザ側で対処するコー
ドを書いてみました。これくらいは組み込まれていた方がいいので
しょうね。

require "net/https"
require 'uri'

def post_connection_check(cert, hostname)
  subject = cert.subject
  subject.to_a.each{|oid, value|
    if oid == "CN" && value == hostname
      return true
    end
  }
  cert.extensions.each{|ext|
    if ext.oid == "subjectAltName"
      general_names = ext.value.split(/,\s+/)
      general_names.each{|name|
        if /(:?DNS|IP Address):(.*)/ =~ name
          reg = Regexp.escape($1)
          reg = reg.gsub(%r!\\\*!, '[^.]+')
          reg = Regexp.new('\A' + reg + '\z')
          if reg.match(hostname)
            return true
          end
        end
      }
    end
  }
  return false
end

uri = URI.parse(ARGV[0] || 'https://localhost/')
http = Net::HTTP.new(uri.host, uri.port)
if uri.scheme == "https"  # enable SSL/TLS
  http.use_ssl = true
end
http.start{
  if (http.verify_mode & OpenSSL::SSL::VERIFY_PEER) != 0
    unless post_connection_check(http.peer_cert, uri.host)
      raise "hostname not match"
    end
  end
  http.request_get(uri.path){|res|
    p res.body.size
  }
}

-- 
ごとうゆうぞう

In This Thread

Prev Next