[#25636] [Oniguruma 3.X] reggnu.c — "K.Kosako" <sndgk393@...>

さっき気がついたのですが、元々は

15 messages 2005/02/05

[#25655] openssl binding for SSL_CTX_set_default_verify_paths and X509_STORE_set_default_paths — Tanaka Akira <akr@...17n.org>

open-uri で https を扱うことを考えていろいろと調べていた所、openssl で、

9 messages 2005/02/08
[#25670] Re: openssl binding for SSL_CTX_set_default_verify_paths and X509_STORE_set_default_paths — GOTOU Yuuzou <gotoyuzo@...> 2005/02/10

In message <876513vce0.fsf@serein.a02.aist.go.jp>,

[#25713] pthread trouble on sighandler — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

17 messages 2005/02/18
[#25714] Re: pthread trouble on sighandler — Yukihiro Matsumoto <matz@...> 2005/02/18

まつもと ゆきひろです

[#25755] I/O operation differs signal handler — Minero Aoki <aamine@...>

青木です。

14 messages 2005/02/24
[#25756] Re: I/O operation differs signal handler — Tanaka Akira <akr@...17n.org> 2005/02/24

In article <20050224091450P.aamine@loveruby.net>,

[ruby-dev:25668] Re: 空のuserのURI.parse

From: akira yamada <akira@...>
Date: 2005-02-10 06:04:15 UTC
List: ruby-dev #25668
Kazuhiro NISHIYAMA wrote:
> userinfoのuser部分が空の時のparse結果が変です。
> 
> u = URI.parse("ftp://:pass@localhost/")
> u.to_s #=> "ftp://:pass:pass@localhost/"
> u.user #=> ":pass"
> u.userinfo #=> ":pass:pass"

こういう感じでどうでしょうか:

Index: ChangeLog
===================================================================
RCS file: /var/cvs/src/ruby/ChangeLog,v
retrieving revision 1.2673.2.775
diff -u -r1.2673.2.775 ChangeLog
--- ChangeLog	7 Jan 2005 19:36:44 -0000	1.2673.2.775
+++ ChangeLog	10 Feb 2005 06:03:18 -0000
@@ -1,3 +1,8 @@
+Thu Feb 10 14:57:32 2005  akira yamada  <akira@ruby-lang.org>
+
+	* lib/uri/generic.rb (split_userinfo): should split ":pass" into ""
+	  and "pass".  [ruby-dev:25667]
+
 Sat Jan  8 04:38:47 2005  why the lucky stiff  <why@ruby-lang.org>

 	* lib/yaml.rb: Kernel#y requires an argument.
Index: lib/uri/generic.rb
===================================================================
RCS file: /var/cvs/src/ruby/lib/uri/generic.rb,v
retrieving revision 1.13.2.3
diff -u -r1.13.2.3 generic.rb
--- lib/uri/generic.rb	13 Jul 2004 10:48:30 -0000	1.13.2.3
+++ lib/uri/generic.rb	10 Feb 2005 06:03:18 -0000
@@ -343,14 +343,7 @@

     def split_userinfo(ui)
       return nil, nil unless ui
-      tmp = ui.index(':')
-      if tmp
-        user     = ui[0..tmp - 1]
-        password = ui[tmp + 1..-1]
-      else
-        user     = ui
-        password = nil
-      end
+      user, password = ui.split(/:/, 2)

       return user, password
     end
Index: test/uri/test_generic.rb
===================================================================
RCS file: /var/cvs/src/ruby/test/uri/test_generic.rb,v
retrieving revision 1.5.2.2
diff -u -r1.5.2.2 test_generic.rb
--- test/uri/test_generic.rb	13 Jul 2004 10:48:31 -0000	1.5.2.2
+++ test/uri/test_generic.rb	10 Feb 2005 06:03:18 -0000
@@ -117,11 +117,26 @@
     assert_raises(URI::InvalidURIError) { URI.parse('http://a_b/') }

     # 8
-    # reporte by m_seki
+    # reported by m_seki
     uri = URI.parse('file:///foo/bar.txt')
     assert_kind_of(URI::Generic, url)
     uri = URI.parse('file:/foo/bar.txt')
     assert_kind_of(URI::Generic, url)
+
+    # 9
+    # [ruby-dev:25667]
+    url = URI.parse('ftp://:pass@localhost/')
+    assert_equal('', url.user)
+    assert_equal('pass', url.password)
+    assert_equal(':pass', url.userinfo)
+    url = URI.parse('ftp://user@localhost/')
+    assert_equal('user', url.user)
+    assert_equal(nil, url.password)
+    assert_equal('user', url.userinfo)
+    url = URI.parse('ftp://localhost/')
+    assert_equal(nil, url.user)
+    assert_equal(nil, url.password)
+    assert_equal(nil, url.userinfo)
   end

   def test_merge

-- 
やまだあきら / akira yamada  <http://arika.org>

In This Thread