summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorakira <akira@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-02-26 02:36:05 +0000
committerakira <akira@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-02-26 02:36:05 +0000
commitb545a90ac710260c1220606329078c9fb384fc59 (patch)
tree3775552a26c4625149eecd6aae58231ce7558f1a
parentd130aafd1c36c872526ec1d1fca9796b854e718f (diff)
* lib/uri/generic.rb: merge0 shuld return [oth, oth] if oth is absolute URI.
* lib/uri/generic.rb: registry part must not be allowed for any schemes for the Internet. (RFC2396, section 3.2.2 and 3.2.1.) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--lib/uri.rb2
-rw-r--r--lib/uri/generic.rb14
3 files changed, 22 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index cdc171d7a6..d177e7f0a0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Tue Feb 26 11:25:50 2002 akira yamada <akira@arika.org>
+
+ * lib/uri/generic.rb: merge0 shuld return [oth, oth] if oth is
+ absolute URI.
+
+ * lib/uri/generic.rb: registry part must not be allowed for any
+ schemes for the Internet. (RFC2396, section 3.2.2 and 3.2.1.)
+
Mon Feb 25 21:28:46 2002 Akinori MUSHA <knu@iDaemons.org>
* ext/syslog/syslog.c: Merge from rough. Turn Syslog into a
diff --git a/lib/uri.rb b/lib/uri.rb
index 02a69307c8..912a39a1c0 100644
--- a/lib/uri.rb
+++ b/lib/uri.rb
@@ -15,7 +15,7 @@
=end
module URI
- VERSION_CODE = '000905'.freeze
+ VERSION_CODE = '000906'.freeze
VERSION = VERSION_CODE.scan(/../).collect{|n| n.to_i}.join('.').freeze
end
diff --git a/lib/uri/generic.rb b/lib/uri/generic.rb
index 1510e53eeb..e80c6f752b 100644
--- a/lib/uri/generic.rb
+++ b/lib/uri/generic.rb
@@ -55,6 +55,15 @@ Object
end
=begin
+--- URI::Generic::use_registry
+=end
+ USE_REGISTRY = false
+
+ def self.use_registry
+ self::USE_REGISTRY
+ end
+
+=begin
--- URI::Generic::build2
At first, try to create a new URI::Generic object using
@@ -157,6 +166,9 @@ Object
self.set_registry(registry)
self.set_fragment(fragment)
end
+ if @registry && !self.class.use_registry
+ raise InvalidURIError, "the scheme #{@scheme} does not accept registry part: #{@registry} (or bad hostname?)"
+ end
@scheme.freeze if @scheme
self.set_path('') if !@path && !@opaque # (see RFC2396 Section 5.2)
@@ -803,7 +815,7 @@ Object
if self.absolute?
return self.dup, oth
else
- return oth.dup, self
+ return oth, oth
end
end
private :merge0