whois 1.3.10 → 1.3.11
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +48 -0
- data/lib/whois/answer/parser/base.rb +2 -0
- data/lib/whois/answer/parser/jobswhois.verisign-grs.com.rb +2 -2
- data/lib/whois/answer/parser/whois.adamsnames.tc.rb +2 -2
- data/lib/whois/answer/parser/whois.aeda.net.ae.rb +11 -3
- data/lib/whois/answer/parser/whois.aero.rb +13 -7
- data/lib/whois/answer/parser/whois.afilias-grs.info.rb +2 -2
- data/lib/whois/answer/parser/whois.afilias.info.rb +3 -3
- data/lib/whois/answer/parser/whois.ai.rb +3 -3
- data/lib/whois/answer/parser/whois.audns.net.au.rb +10 -4
- data/lib/whois/answer/parser/whois.biz.rb +2 -2
- data/lib/whois/answer/parser/whois.cat.rb +8 -2
- data/lib/whois/answer/parser/whois.cctld.uz.rb +8 -2
- data/lib/whois/answer/parser/whois.cnnic.cn.rb +2 -2
- data/lib/whois/answer/parser/whois.co.ug.rb +9 -1
- data/lib/whois/answer/parser/whois.crsnic.net.rb +3 -3
- data/lib/whois/answer/parser/whois.denic.de.rb +15 -1
- data/lib/whois/answer/parser/whois.dk-hostmaster.dk.rb +10 -4
- data/lib/whois/answer/parser/whois.dns.be.rb +10 -3
- data/lib/whois/answer/parser/whois.dns.lu.rb +8 -2
- data/lib/whois/answer/parser/whois.dns.pt.rb +8 -2
- data/lib/whois/answer/parser/whois.domainregistry.ie.rb +6 -2
- data/lib/whois/answer/parser/whois.dot.tk.rb +2 -2
- data/lib/whois/answer/parser/whois.dotmobiregistry.net.rb +2 -2
- data/lib/whois/answer/parser/whois.educause.edu.rb +3 -3
- data/lib/whois/answer/parser/whois.eu.org.rb +3 -3
- data/lib/whois/answer/parser/whois.eu.rb +3 -3
- data/lib/whois/answer/parser/whois.ficora.fi.rb +2 -2
- data/lib/whois/answer/parser/whois.gg.rb +2 -2
- data/lib/whois/answer/parser/whois.hkirc.hk.rb +2 -2
- data/lib/whois/answer/parser/whois.in.ua.rb +8 -2
- data/lib/whois/answer/parser/whois.isnic.is.rb +3 -3
- data/lib/whois/answer/parser/whois.je.rb +2 -2
- data/lib/whois/answer/parser/whois.jprs.jp.rb +11 -4
- data/lib/whois/answer/parser/whois.museum.rb +2 -2
- data/lib/whois/answer/parser/whois.net.ua.rb +8 -2
- data/lib/whois/answer/parser/whois.nic-se.se.rb +11 -5
- data/lib/whois/answer/parser/whois.nic.ac.rb +4 -2
- data/lib/whois/answer/parser/whois.nic.ag.rb +2 -2
- data/lib/whois/answer/parser/whois.nic.am.rb +10 -4
- data/lib/whois/answer/parser/whois.nic.as.rb +2 -2
- data/lib/whois/answer/parser/whois.nic.asia.rb +10 -4
- data/lib/whois/answer/parser/whois.nic.at.rb +2 -2
- data/lib/whois/answer/parser/whois.nic.cc.rb +4 -4
- data/lib/whois/answer/parser/whois.nic.cd.rb +3 -3
- data/lib/whois/answer/parser/whois.nic.coop.rb +10 -4
- data/lib/whois/answer/parser/whois.nic.dz.rb +2 -2
- data/lib/whois/answer/parser/whois.nic.fr.rb +8 -4
- data/lib/whois/answer/parser/whois.nic.gs.rb +1 -1
- data/lib/whois/answer/parser/whois.nic.ht.rb +10 -3
- data/lib/whois/answer/parser/whois.nic.hu.rb +2 -0
- data/lib/whois/answer/parser/whois.nic.im.rb +2 -2
- data/lib/whois/answer/parser/whois.nic.io.rb +2 -2
- data/lib/whois/answer/parser/whois.nic.kz.rb +7 -1
- data/lib/whois/answer/parser/whois.nic.la.rb +8 -2
- data/lib/whois/answer/parser/whois.nic.ly.rb +3 -3
- data/lib/whois/answer/parser/whois.nic.mu.rb +8 -6
- data/lib/whois/answer/parser/whois.nic.nu.rb +9 -3
- data/lib/whois/answer/parser/whois.nic.org.uy.rb +8 -2
- data/lib/whois/answer/parser/whois.nic.sn.rb +2 -1
- data/lib/whois/answer/parser/whois.nic.st.rb +2 -2
- data/lib/whois/answer/parser/whois.nic.tel.rb +2 -2
- data/lib/whois/answer/parser/whois.nic.tl.rb +2 -2
- data/lib/whois/answer/parser/whois.nic.travel.rb +11 -3
- data/lib/whois/answer/parser/whois.nic.tv.rb +2 -2
- data/lib/whois/answer/parser/whois.nic.uk.rb +20 -6
- data/lib/whois/answer/parser/whois.nic.us.rb +2 -2
- data/lib/whois/answer/parser/whois.nic.ve.rb +8 -2
- data/lib/whois/answer/parser/whois.norid.no.rb +3 -3
- data/lib/whois/answer/parser/whois.publicinterestregistry.net.rb +5 -2
- data/lib/whois/answer/parser/whois.register.bg.rb +10 -4
- data/lib/whois/answer/parser/whois.registry.in.rb +11 -3
- data/lib/whois/answer/parser/whois.registrypro.pro.rb +2 -2
- data/lib/whois/answer/parser/whois.ripe.net.rb +2 -2
- data/lib/whois/answer/parser/whois.ripn.net.rb +3 -3
- data/lib/whois/answer/parser/whois.rotld.ro.rb +10 -4
- data/lib/whois/answer/parser/whois.samoanic.ws.rb +2 -2
- data/lib/whois/answer/parser/whois.srs.net.nz.rb +13 -6
- data/lib/whois/answer/parser/whois.tonic.to.rb +8 -6
- data/lib/whois/answer/parser/whois.usp.ac.fj.rb +2 -2
- data/lib/whois/answer/parser/whois.za.net.rb +3 -3
- data/lib/whois/answer/parser/whois.za.org.rb +4 -4
- data/lib/whois/version.rb +1 -1
- data/whois.gemspec +3 -3
- metadata +4 -4
data/CHANGELOG.rdoc
CHANGED
@@ -1,5 +1,53 @@
|
|
1
1
|
= Changelog
|
2
2
|
|
3
|
+
== Release 1.3.11
|
4
|
+
|
5
|
+
* CHANGED: Standardized #status property for the following parsers (#5)
|
6
|
+
* whois.aero
|
7
|
+
* whois.aeda.net.ae
|
8
|
+
* whois.audns.net.au
|
9
|
+
* whois.cat
|
10
|
+
* whois.cctld.uz
|
11
|
+
* whois.co.ug
|
12
|
+
* whois.denic.de
|
13
|
+
* whois.dk-hostmaster.dk
|
14
|
+
* whois.dns.be
|
15
|
+
* whois.dns.lu
|
16
|
+
* whois.dns.pt
|
17
|
+
* whois.domainregistry.ie
|
18
|
+
* whois.in.ua
|
19
|
+
* whois.jprs.jp
|
20
|
+
* whois.net.ua
|
21
|
+
* whois.nic-se.se
|
22
|
+
* whois.nic.am
|
23
|
+
* whois.nic.asia
|
24
|
+
* whois.nic.at
|
25
|
+
* whois.nic.coop
|
26
|
+
* whois.nic.fr
|
27
|
+
* whois.nic.ht
|
28
|
+
* whois.nic.kz
|
29
|
+
* whois.nic.la
|
30
|
+
* whois.nic.mu
|
31
|
+
* whois.nic.nu
|
32
|
+
* whois.nic.org.uy
|
33
|
+
* whois.nic.travel
|
34
|
+
* whois.nic.uk
|
35
|
+
* whois.nic.ve
|
36
|
+
* whois.norid.no
|
37
|
+
* whois.register.bg
|
38
|
+
* whois.registry.in
|
39
|
+
* whois.rotld.ro
|
40
|
+
* whois.srs.net.nz
|
41
|
+
|
42
|
+
* FIXED: Property cache is missing for some parsers (#18)
|
43
|
+
|
44
|
+
* FIXED: In some circumstances the whois.jprs.js parser may raise
|
45
|
+
an Argument out of range error trying to parse the #updated_on property.
|
46
|
+
|
47
|
+
* FIXED: The whois.nic.uk parser fails to parse #nameservers when
|
48
|
+
the domain is suspended.
|
49
|
+
|
50
|
+
|
3
51
|
== Release 1.3.10
|
4
52
|
|
5
53
|
* SERVER: Removed the .fed.us TLD definition.
|
@@ -43,11 +43,11 @@ module Whois
|
|
43
43
|
end
|
44
44
|
|
45
45
|
property_supported :available? do
|
46
|
-
@available
|
46
|
+
@available ||= !!(content_for_scanner =~ /is not registered/)
|
47
47
|
end
|
48
48
|
|
49
49
|
property_supported :registered? do
|
50
|
-
!available?
|
50
|
+
@registered ||= !available?
|
51
51
|
end
|
52
52
|
|
53
53
|
|
@@ -35,15 +35,23 @@ module Whois
|
|
35
35
|
class WhoisAedaNetAe < Base
|
36
36
|
|
37
37
|
property_supported :status do
|
38
|
-
@status ||= content_for_scanner
|
38
|
+
@status ||= if content_for_scanner =~ /Status:\s+(.+?)\n/
|
39
|
+
case $1.downcase
|
40
|
+
when "ok" then :registered
|
41
|
+
else
|
42
|
+
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
43
|
+
end
|
44
|
+
else
|
45
|
+
:available
|
46
|
+
end
|
39
47
|
end
|
40
48
|
|
41
49
|
property_supported :available? do
|
42
|
-
@available
|
50
|
+
@available ||= content_for_scanner.strip == "No Data Found"
|
43
51
|
end
|
44
52
|
|
45
53
|
property_supported :registered? do
|
46
|
-
!available?
|
54
|
+
@registered ||= !available?
|
47
55
|
end
|
48
56
|
|
49
57
|
|
@@ -35,34 +35,40 @@ module Whois
|
|
35
35
|
class WhoisAero < Base
|
36
36
|
|
37
37
|
property_supported :status do
|
38
|
-
@status ||= if content_for_scanner =~ /Domain Status:(
|
39
|
-
$1
|
38
|
+
@status ||= if content_for_scanner =~ /Domain Status:(.+?)\n/
|
39
|
+
case $1.downcase
|
40
|
+
when "ok" then :registered
|
41
|
+
else
|
42
|
+
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
43
|
+
end
|
44
|
+
else
|
45
|
+
:available
|
40
46
|
end
|
41
47
|
end
|
42
48
|
|
43
49
|
property_supported :available? do
|
44
|
-
@available
|
50
|
+
@available ||= (content_for_scanner.strip == "NOT FOUND")
|
45
51
|
end
|
46
52
|
|
47
53
|
property_supported :registered? do
|
48
|
-
!available?
|
54
|
+
@registered ||= !available?
|
49
55
|
end
|
50
56
|
|
51
57
|
|
52
58
|
property_supported :created_on do
|
53
|
-
@created_on ||= if content_for_scanner =~ /Created On:(
|
59
|
+
@created_on ||= if content_for_scanner =~ /Created On:(.+?)\n/
|
54
60
|
Time.parse($1)
|
55
61
|
end
|
56
62
|
end
|
57
63
|
|
58
64
|
property_supported :updated_on do
|
59
|
-
@updated_on ||= if content_for_scanner =~ /Updated On:(
|
65
|
+
@updated_on ||= if content_for_scanner =~ /Updated On:(.+?)\n/
|
60
66
|
Time.parse($1)
|
61
67
|
end
|
62
68
|
end
|
63
69
|
|
64
70
|
property_supported :expires_on do
|
65
|
-
@expires_on ||= if content_for_scanner =~ /Expires On:(
|
71
|
+
@expires_on ||= if content_for_scanner =~ /Expires On:(.+?)\n/
|
66
72
|
Time.parse($1)
|
67
73
|
end
|
68
74
|
end
|
@@ -39,11 +39,11 @@ module Whois
|
|
39
39
|
end
|
40
40
|
|
41
41
|
property_supported :available? do
|
42
|
-
@available
|
42
|
+
@available ||= (content_for_scanner.strip == "NOT FOUND")
|
43
43
|
end
|
44
44
|
|
45
45
|
property_supported :registered? do
|
46
|
-
!available?
|
46
|
+
@registered ||= !available?
|
47
47
|
end
|
48
48
|
|
49
49
|
|
@@ -35,15 +35,15 @@ module Whois
|
|
35
35
|
class WhoisAfiliasInfo < Base
|
36
36
|
|
37
37
|
property_supported :status do
|
38
|
-
@status ||= content_for_scanner.scan(/Status:(
|
38
|
+
@status ||= content_for_scanner.scan(/Status:(.+?)\n/).flatten
|
39
39
|
end
|
40
40
|
|
41
41
|
property_supported :available? do
|
42
|
-
@available
|
42
|
+
@available ||= (content_for_scanner.strip == "NOT FOUND")
|
43
43
|
end
|
44
44
|
|
45
45
|
property_supported :registered? do
|
46
|
-
!available?
|
46
|
+
@registered ||= !available?
|
47
47
|
end
|
48
48
|
|
49
49
|
|
@@ -35,7 +35,7 @@ module Whois
|
|
35
35
|
class WhoisAi < Base
|
36
36
|
|
37
37
|
property_supported :status do
|
38
|
-
if available?
|
38
|
+
@status ||= if available?
|
39
39
|
:available
|
40
40
|
else
|
41
41
|
:registered
|
@@ -43,11 +43,11 @@ module Whois
|
|
43
43
|
end
|
44
44
|
|
45
45
|
property_supported :available? do
|
46
|
-
@available
|
46
|
+
@available ||= !!(content_for_scanner =~ /Domain (.+?) not registred/)
|
47
47
|
end
|
48
48
|
|
49
49
|
property_supported :registered? do
|
50
|
-
!available?
|
50
|
+
@registered ||= !available?
|
51
51
|
end
|
52
52
|
|
53
53
|
|
@@ -35,17 +35,23 @@ module Whois
|
|
35
35
|
class WhoisAudnsNetAu < Base
|
36
36
|
|
37
37
|
property_supported :status do
|
38
|
-
@status ||= if content_for_scanner =~ /Status:\s+(
|
39
|
-
$1
|
38
|
+
@status ||= if content_for_scanner =~ /Status:\s+(.+?)\n/
|
39
|
+
case $1.downcase
|
40
|
+
when "ok" then :registered
|
41
|
+
else
|
42
|
+
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
43
|
+
end
|
44
|
+
else
|
45
|
+
:available
|
40
46
|
end
|
41
47
|
end
|
42
48
|
|
43
49
|
property_supported :available? do
|
44
|
-
@available
|
50
|
+
@available ||= (content_for_scanner.strip == "No Data Found")
|
45
51
|
end
|
46
52
|
|
47
53
|
property_supported :registered? do
|
48
|
-
!available?
|
54
|
+
@registered ||= !available?
|
49
55
|
end
|
50
56
|
|
51
57
|
|
@@ -39,11 +39,11 @@ module Whois
|
|
39
39
|
end
|
40
40
|
|
41
41
|
property_supported :available? do
|
42
|
-
@available
|
42
|
+
@available ||= !!(content_for_scanner =~ /Not found:/)
|
43
43
|
end
|
44
44
|
|
45
45
|
property_supported :registered? do
|
46
|
-
!available?
|
46
|
+
@registered ||= !available?
|
47
47
|
end
|
48
48
|
|
49
49
|
|
@@ -35,8 +35,14 @@ module Whois
|
|
35
35
|
class WhoisCat < Base
|
36
36
|
|
37
37
|
property_supported :status do
|
38
|
-
@status ||= if content_for_scanner =~ /Status:\s+(
|
39
|
-
$1.downcase
|
38
|
+
@status ||= if content_for_scanner =~ /Status:\s+(.+?)\n/
|
39
|
+
case $1.downcase
|
40
|
+
when "ok" then :registered
|
41
|
+
else
|
42
|
+
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
43
|
+
end
|
44
|
+
else
|
45
|
+
:available
|
40
46
|
end
|
41
47
|
end
|
42
48
|
|
@@ -35,8 +35,14 @@ module Whois
|
|
35
35
|
class WhoisCctldUz < Base
|
36
36
|
|
37
37
|
property_supported :status do
|
38
|
-
@status ||= if content_for_scanner =~ /^Status: (
|
39
|
-
$1
|
38
|
+
@status ||= if content_for_scanner =~ /^Status: (.+?)\n/
|
39
|
+
case $1.downcase
|
40
|
+
when "active" then :registered
|
41
|
+
else
|
42
|
+
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
43
|
+
end
|
44
|
+
else
|
45
|
+
:available
|
40
46
|
end
|
41
47
|
end
|
42
48
|
|
@@ -39,11 +39,11 @@ module Whois
|
|
39
39
|
end
|
40
40
|
|
41
41
|
property_supported :available? do
|
42
|
-
@available
|
42
|
+
@available ||= (content_for_scanner.strip == "no matching record")
|
43
43
|
end
|
44
44
|
|
45
45
|
property_supported :registered? do
|
46
|
-
!available?
|
46
|
+
@registered ||= !available?
|
47
47
|
end
|
48
48
|
|
49
49
|
|
@@ -35,7 +35,15 @@ module Whois
|
|
35
35
|
class WhoisCoUg < Base
|
36
36
|
|
37
37
|
property_supported :status do
|
38
|
-
@status ||= content_for_scanner
|
38
|
+
@status ||= if content_for_scanner =~ /^Status:\s+(.+?)\n/
|
39
|
+
case $1.downcase
|
40
|
+
when "active" then :registered
|
41
|
+
else
|
42
|
+
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
43
|
+
end
|
44
|
+
else
|
45
|
+
:available
|
46
|
+
end
|
39
47
|
end
|
40
48
|
|
41
49
|
property_supported :available? do
|
@@ -55,15 +55,15 @@ module Whois
|
|
55
55
|
|
56
56
|
|
57
57
|
property_supported :status do
|
58
|
-
node("Status")
|
58
|
+
@status ||= node("Status")
|
59
59
|
end
|
60
60
|
|
61
61
|
property_supported :available? do
|
62
|
-
node("Registrar").nil?
|
62
|
+
@available ||= node("Registrar").nil?
|
63
63
|
end
|
64
64
|
|
65
65
|
property_supported :registered? do
|
66
|
-
!available?
|
66
|
+
@registered ||= !available?
|
67
67
|
end
|
68
68
|
|
69
69
|
|
@@ -42,7 +42,21 @@ module Whois
|
|
42
42
|
|
43
43
|
|
44
44
|
property_supported :status do
|
45
|
-
@status ||= node("Status")
|
45
|
+
@status ||= if node("Status")
|
46
|
+
case node("Status")
|
47
|
+
when "connect" then :registered
|
48
|
+
when "free" then :available
|
49
|
+
when "invalid" then :invalid
|
50
|
+
else
|
51
|
+
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
52
|
+
end
|
53
|
+
else
|
54
|
+
if version < "2.0"
|
55
|
+
:available
|
56
|
+
else
|
57
|
+
Whois.bug!(ParserError, "Unable to parse status.")
|
58
|
+
end
|
59
|
+
end
|
46
60
|
end
|
47
61
|
|
48
62
|
property_supported :available? do
|
@@ -35,17 +35,23 @@ module Whois
|
|
35
35
|
class WhoisDkHostmasterDk < Base
|
36
36
|
|
37
37
|
property_supported :status do
|
38
|
-
@status ||= if content_for_scanner =~ /Status:\s+(
|
39
|
-
$1.downcase
|
38
|
+
@status ||= if content_for_scanner =~ /Status:\s+(.+?)\n/
|
39
|
+
case $1.downcase
|
40
|
+
when "active" then :registered
|
41
|
+
else
|
42
|
+
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
43
|
+
end
|
44
|
+
else
|
45
|
+
:available
|
40
46
|
end
|
41
47
|
end
|
42
48
|
|
43
49
|
property_supported :available? do
|
44
|
-
@available
|
50
|
+
@available ||= !!(content_for_scanner =~ /No entries found for the selected source/)
|
45
51
|
end
|
46
52
|
|
47
53
|
property_supported :registered? do
|
48
|
-
!available?
|
54
|
+
@registered ||= !available?
|
49
55
|
end
|
50
56
|
|
51
57
|
|
@@ -35,13 +35,20 @@ module Whois
|
|
35
35
|
class WhoisDnsBe < Base
|
36
36
|
|
37
37
|
property_supported :status do
|
38
|
-
@status ||= if content_for_scanner =~ /Status:\s+(
|
39
|
-
$1
|
38
|
+
@status ||= if content_for_scanner =~ /Status:\s+(.+?)\n/
|
39
|
+
case $1.downcase
|
40
|
+
when "registered" then :registered
|
41
|
+
when "free" then :available
|
42
|
+
else
|
43
|
+
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
44
|
+
end
|
45
|
+
else
|
46
|
+
Whois.bug!(ParserError, "Unable to parse status.")
|
40
47
|
end
|
41
48
|
end
|
42
49
|
|
43
50
|
property_supported :available? do
|
44
|
-
@available ||= (status ==
|
51
|
+
@available ||= (status == :available)
|
45
52
|
end
|
46
53
|
|
47
54
|
property_supported :registered? do
|
@@ -35,8 +35,14 @@ module Whois
|
|
35
35
|
class WhoisDnsLu < Base
|
36
36
|
|
37
37
|
property_supported :status do
|
38
|
-
@status ||= if content_for_scanner =~ /domaintype:\s+(
|
39
|
-
$1
|
38
|
+
@status ||= if content_for_scanner =~ /domaintype:\s+(.+)\n/
|
39
|
+
case $1.downcase
|
40
|
+
when "active" then :registered
|
41
|
+
else
|
42
|
+
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
43
|
+
end
|
44
|
+
else
|
45
|
+
:available
|
40
46
|
end
|
41
47
|
end
|
42
48
|
|