whois 1.3.10 → 1.3.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. data/CHANGELOG.rdoc +48 -0
  2. data/lib/whois/answer/parser/base.rb +2 -0
  3. data/lib/whois/answer/parser/jobswhois.verisign-grs.com.rb +2 -2
  4. data/lib/whois/answer/parser/whois.adamsnames.tc.rb +2 -2
  5. data/lib/whois/answer/parser/whois.aeda.net.ae.rb +11 -3
  6. data/lib/whois/answer/parser/whois.aero.rb +13 -7
  7. data/lib/whois/answer/parser/whois.afilias-grs.info.rb +2 -2
  8. data/lib/whois/answer/parser/whois.afilias.info.rb +3 -3
  9. data/lib/whois/answer/parser/whois.ai.rb +3 -3
  10. data/lib/whois/answer/parser/whois.audns.net.au.rb +10 -4
  11. data/lib/whois/answer/parser/whois.biz.rb +2 -2
  12. data/lib/whois/answer/parser/whois.cat.rb +8 -2
  13. data/lib/whois/answer/parser/whois.cctld.uz.rb +8 -2
  14. data/lib/whois/answer/parser/whois.cnnic.cn.rb +2 -2
  15. data/lib/whois/answer/parser/whois.co.ug.rb +9 -1
  16. data/lib/whois/answer/parser/whois.crsnic.net.rb +3 -3
  17. data/lib/whois/answer/parser/whois.denic.de.rb +15 -1
  18. data/lib/whois/answer/parser/whois.dk-hostmaster.dk.rb +10 -4
  19. data/lib/whois/answer/parser/whois.dns.be.rb +10 -3
  20. data/lib/whois/answer/parser/whois.dns.lu.rb +8 -2
  21. data/lib/whois/answer/parser/whois.dns.pt.rb +8 -2
  22. data/lib/whois/answer/parser/whois.domainregistry.ie.rb +6 -2
  23. data/lib/whois/answer/parser/whois.dot.tk.rb +2 -2
  24. data/lib/whois/answer/parser/whois.dotmobiregistry.net.rb +2 -2
  25. data/lib/whois/answer/parser/whois.educause.edu.rb +3 -3
  26. data/lib/whois/answer/parser/whois.eu.org.rb +3 -3
  27. data/lib/whois/answer/parser/whois.eu.rb +3 -3
  28. data/lib/whois/answer/parser/whois.ficora.fi.rb +2 -2
  29. data/lib/whois/answer/parser/whois.gg.rb +2 -2
  30. data/lib/whois/answer/parser/whois.hkirc.hk.rb +2 -2
  31. data/lib/whois/answer/parser/whois.in.ua.rb +8 -2
  32. data/lib/whois/answer/parser/whois.isnic.is.rb +3 -3
  33. data/lib/whois/answer/parser/whois.je.rb +2 -2
  34. data/lib/whois/answer/parser/whois.jprs.jp.rb +11 -4
  35. data/lib/whois/answer/parser/whois.museum.rb +2 -2
  36. data/lib/whois/answer/parser/whois.net.ua.rb +8 -2
  37. data/lib/whois/answer/parser/whois.nic-se.se.rb +11 -5
  38. data/lib/whois/answer/parser/whois.nic.ac.rb +4 -2
  39. data/lib/whois/answer/parser/whois.nic.ag.rb +2 -2
  40. data/lib/whois/answer/parser/whois.nic.am.rb +10 -4
  41. data/lib/whois/answer/parser/whois.nic.as.rb +2 -2
  42. data/lib/whois/answer/parser/whois.nic.asia.rb +10 -4
  43. data/lib/whois/answer/parser/whois.nic.at.rb +2 -2
  44. data/lib/whois/answer/parser/whois.nic.cc.rb +4 -4
  45. data/lib/whois/answer/parser/whois.nic.cd.rb +3 -3
  46. data/lib/whois/answer/parser/whois.nic.coop.rb +10 -4
  47. data/lib/whois/answer/parser/whois.nic.dz.rb +2 -2
  48. data/lib/whois/answer/parser/whois.nic.fr.rb +8 -4
  49. data/lib/whois/answer/parser/whois.nic.gs.rb +1 -1
  50. data/lib/whois/answer/parser/whois.nic.ht.rb +10 -3
  51. data/lib/whois/answer/parser/whois.nic.hu.rb +2 -0
  52. data/lib/whois/answer/parser/whois.nic.im.rb +2 -2
  53. data/lib/whois/answer/parser/whois.nic.io.rb +2 -2
  54. data/lib/whois/answer/parser/whois.nic.kz.rb +7 -1
  55. data/lib/whois/answer/parser/whois.nic.la.rb +8 -2
  56. data/lib/whois/answer/parser/whois.nic.ly.rb +3 -3
  57. data/lib/whois/answer/parser/whois.nic.mu.rb +8 -6
  58. data/lib/whois/answer/parser/whois.nic.nu.rb +9 -3
  59. data/lib/whois/answer/parser/whois.nic.org.uy.rb +8 -2
  60. data/lib/whois/answer/parser/whois.nic.sn.rb +2 -1
  61. data/lib/whois/answer/parser/whois.nic.st.rb +2 -2
  62. data/lib/whois/answer/parser/whois.nic.tel.rb +2 -2
  63. data/lib/whois/answer/parser/whois.nic.tl.rb +2 -2
  64. data/lib/whois/answer/parser/whois.nic.travel.rb +11 -3
  65. data/lib/whois/answer/parser/whois.nic.tv.rb +2 -2
  66. data/lib/whois/answer/parser/whois.nic.uk.rb +20 -6
  67. data/lib/whois/answer/parser/whois.nic.us.rb +2 -2
  68. data/lib/whois/answer/parser/whois.nic.ve.rb +8 -2
  69. data/lib/whois/answer/parser/whois.norid.no.rb +3 -3
  70. data/lib/whois/answer/parser/whois.publicinterestregistry.net.rb +5 -2
  71. data/lib/whois/answer/parser/whois.register.bg.rb +10 -4
  72. data/lib/whois/answer/parser/whois.registry.in.rb +11 -3
  73. data/lib/whois/answer/parser/whois.registrypro.pro.rb +2 -2
  74. data/lib/whois/answer/parser/whois.ripe.net.rb +2 -2
  75. data/lib/whois/answer/parser/whois.ripn.net.rb +3 -3
  76. data/lib/whois/answer/parser/whois.rotld.ro.rb +10 -4
  77. data/lib/whois/answer/parser/whois.samoanic.ws.rb +2 -2
  78. data/lib/whois/answer/parser/whois.srs.net.nz.rb +13 -6
  79. data/lib/whois/answer/parser/whois.tonic.to.rb +8 -6
  80. data/lib/whois/answer/parser/whois.usp.ac.fj.rb +2 -2
  81. data/lib/whois/answer/parser/whois.za.net.rb +3 -3
  82. data/lib/whois/answer/parser/whois.za.org.rb +4 -4
  83. data/lib/whois/version.rb +1 -1
  84. data/whois.gemspec +3 -3
  85. metadata +4 -4
@@ -35,8 +35,14 @@ module Whois
35
35
  class WhoisDnsPt < Base
36
36
 
37
37
  property_supported :status do
38
- @status ||= if content_for_scanner =~ / Status:\s+(.*)\n/
39
- $1
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
 
@@ -35,8 +35,12 @@ module Whois
35
35
  class WhoisDomainregistryIe < Base
36
36
 
37
37
  property_supported :status do
38
- @status ||= if content_for_scanner =~ /status:\s+(.*)\n/
39
- $1.downcase.to_sym
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
40
44
  else
41
45
  :available
42
46
  end
@@ -43,11 +43,11 @@ module Whois
43
43
  end
44
44
 
45
45
  property_supported :available? do
46
- @available ||= !!(content_for_scanner =~ /domain name not known/)
46
+ @available ||= !!(content_for_scanner =~ /domain name not known/)
47
47
  end
48
48
 
49
49
  property_supported :registered? do
50
- !available?
50
+ @registered ||= !available?
51
51
  end
52
52
 
53
53
 
@@ -39,11 +39,11 @@ module Whois
39
39
  end
40
40
 
41
41
  property_supported :available? do
42
- @available ||= (content_for_scanner =~ /Not found:/)
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,7 +35,7 @@ module Whois
35
35
  class WhoisEducauseEdu < 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 ||= !!(content_for_scanner =~ /No Match/)
46
+ @available ||= !!(content_for_scanner =~ /No Match/)
47
47
  end
48
48
 
49
49
  property_supported :registered? do
50
- !available?
50
+ @registered ||= !available?
51
51
  end
52
52
 
53
53
 
@@ -35,7 +35,7 @@ module Whois
35
35
  class WhoisEuOrg < 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 ||= !!(content_for_scanner =~ /Key not found/)
46
+ @available ||= !!(content_for_scanner =~ /Key not found/)
47
47
  end
48
48
 
49
49
  property_supported :registered? do
50
- !available?
50
+ @registered ||= !available?
51
51
  end
52
52
 
53
53
 
@@ -35,7 +35,7 @@ module Whois
35
35
  class WhoisEu < 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 ||= !!(content_for_scanner =~ /Status:\s+AVAILABLE/)
46
+ @available ||= !!(content_for_scanner =~ /Status:\s+AVAILABLE/)
47
47
  end
48
48
 
49
49
  property_supported :registered? do
50
- !available?
50
+ @registered ||= !available?
51
51
  end
52
52
 
53
53
 
@@ -35,9 +35,9 @@ module Whois
35
35
  class WhoisFicoraFi < Base
36
36
 
37
37
  property_supported :status do
38
- @status ||= if content_for_scanner =~ /status:\s+(.*?)\n/
38
+ @status ||= if content_for_scanner =~ /status:\s+(.+?)\n/
39
39
  case $1.downcase
40
- when "granted" then :registered
40
+ when "granted" then :registered
41
41
  else
42
42
  Whois.bug!(ParserError, "Unknown status `#{$1}'.")
43
43
  end
@@ -37,8 +37,8 @@ module Whois
37
37
  property_supported :status do
38
38
  @status ||= if content_for_scanner =~ /status:(.+?)\n/
39
39
  case $1.downcase
40
- when "0" then :available
41
- when "1" then :registered
40
+ when "0" then :available
41
+ when "1" then :registered
42
42
  else
43
43
  Whois.bug!(ParserError, "Unknown status `#{$1}'.")
44
44
  end
@@ -43,11 +43,11 @@ module Whois
43
43
  end
44
44
 
45
45
  property_supported :available? do
46
- @available ||= (content_for_scanner.strip == "Domain Not Found")
46
+ @available ||= (content_for_scanner.strip == "Domain Not Found")
47
47
  end
48
48
 
49
49
  property_supported :registered? do
50
- !available?
50
+ @registered ||= !available?
51
51
  end
52
52
 
53
53
 
@@ -35,8 +35,14 @@ module Whois
35
35
  class WhoisInUa < Base
36
36
 
37
37
  property_supported :status do
38
- @status ||= if content_for_scanner =~ /status:\s+(.*)\n/
39
- $1.split("-").first
38
+ @status ||= if content_for_scanner =~ /status:\s+(.+?)\n/
39
+ case $1.split("-").first.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,7 +35,7 @@ module Whois
35
35
  class WhoisIsnicIs < 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 ||= !!(content_for_scanner =~ /No entries found for query/)
46
+ @available ||= !!(content_for_scanner =~ /No entries found for query/)
47
47
  end
48
48
 
49
49
  property_supported :registered? do
50
- !available?
50
+ @registered ||= !available?
51
51
  end
52
52
 
53
53
 
@@ -37,8 +37,8 @@ module Whois
37
37
  property_supported :status do
38
38
  @status ||= if content_for_scanner =~ /status:(.+?)\n/
39
39
  case $1.downcase
40
- when "0" then :available
41
- when "1" then :registered
40
+ when "0" then :available
41
+ when "1" then :registered
42
42
  else
43
43
  Whois.bug!(ParserError, "Unknown status `#{$1}'.")
44
44
  end
@@ -36,16 +36,23 @@ module Whois
36
36
 
37
37
  property_supported :status do
38
38
  @status ||= if content_for_scanner =~ /\[Stat(?:us|e)\]\s+(.*)\n/
39
- $1
39
+ case $1.split(" ").first.downcase
40
+ when "active" then :registered
41
+ when "connected" then :registered
42
+ else
43
+ Whois.bug!(ParserError, "Unknown status `#{$1}'.")
44
+ end
45
+ else
46
+ :available
40
47
  end
41
48
  end
42
49
 
43
50
  property_supported :available? do
44
- @available ||= !!(content_for_scanner =~ /No match!!/)
51
+ @available ||= !!(content_for_scanner =~ /No match!!/)
45
52
  end
46
53
 
47
54
  property_supported :registered? do
48
- !available?
55
+ @registered ||= !available?
49
56
  end
50
57
 
51
58
 
@@ -58,7 +65,7 @@ module Whois
58
65
 
59
66
  # TODO: timezone ('Asia/Tokyo')
60
67
  property_supported :updated_on do
61
- @updated_on ||= if content_for_scanner =~ /\[Last Updated?\]\s+(.*)\n/m
68
+ @updated_on ||= if content_for_scanner =~ /\[Last Updated?\]\s+(.*)\n/
62
69
  Time.parse($1)
63
70
  end
64
71
  end
@@ -43,11 +43,11 @@ module Whois
43
43
  end
44
44
 
45
45
  property_supported :available? do
46
- @available ||= (content_for_scanner =~ /NOT FOUND/)
46
+ @available ||= !!(content_for_scanner =~ /NOT FOUND/)
47
47
  end
48
48
 
49
49
  property_supported :registered? do
50
- !available?
50
+ @registered ||= !available?
51
51
  end
52
52
 
53
53
 
@@ -35,8 +35,14 @@ module Whois
35
35
  class WhoisNetUa < Base
36
36
 
37
37
  property_supported :status do
38
- @status ||= if content_for_scanner =~ /status:\s+(.*)\n/
39
- $1.split("-").first
38
+ @status ||= if content_for_scanner =~ /status:\s+(.+?)\n/
39
+ case $1.downcase
40
+ when /^ok-until/ 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,17 +35,23 @@ module Whois
35
35
  class WhoisNicSeSe < Base
36
36
 
37
37
  property_supported :status do
38
- @status ||= if content_for_scanner =~ /state:\s+(.*)\n/
39
- $1.downcase.to_sym
38
+ @status ||= if content_for_scanner =~ /state:\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 ||= !!(content_for_scanner =~ /" not found./)
50
+ @available ||= !!(content_for_scanner =~ /" 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
 
@@ -82,4 +88,4 @@ module Whois
82
88
 
83
89
  end
84
90
  end
85
- end
91
+ end
@@ -49,11 +49,11 @@ module Whois
49
49
  end
50
50
 
51
51
  property_supported :available? do
52
- @available ||= !(content_for_scanner =~ /Not available/)
52
+ @available ||= !(content_for_scanner =~ /Not available/)
53
53
  end
54
54
 
55
55
  property_supported :registered? do
56
- !available?
56
+ @registered ||= !available?
57
57
  end
58
58
 
59
59
 
@@ -83,10 +83,12 @@ module Whois
83
83
  property_not_supported :nameservers
84
84
 
85
85
 
86
+ # NEWPROPERTY
86
87
  property_supported :changed? do |other|
87
88
  !unchanged?(other)
88
89
  end
89
90
 
91
+ # NEWPROPERTY
90
92
  property_supported :unchanged? do |other|
91
93
  self == other ||
92
94
  self.content_for_scanner == other.content_for_scanner
@@ -39,11 +39,11 @@ module Whois
39
39
  end
40
40
 
41
41
  property_supported :available? do
42
- @available ||= (content_for_scanner.strip == "NOT FOUND")
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,17 +35,23 @@ module Whois
35
35
  class WhoisNicAm < Base
36
36
 
37
37
  property_supported :status do
38
- @status ||= if content_for_scanner =~ /\s+Status:\s+(.*)\n/
39
- $1
38
+ @status ||= if content_for_scanner =~ /\s+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 ||= !!(content_for_scanner =~ /No match/)
50
+ @available ||= !!(content_for_scanner =~ /No match/)
45
51
  end
46
52
 
47
53
  property_supported :registered? do
48
- !available?
54
+ @registered ||= !available?
49
55
  end
50
56
 
51
57
 
@@ -43,11 +43,11 @@ module Whois
43
43
  end
44
44
 
45
45
  property_supported :available? do
46
- @available ||= !!(content_for_scanner =~ /Domain Not Found/)
46
+ @available ||= !!(content_for_scanner =~ /Domain Not Found/)
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 WhoisNicAsia < Base
36
36
 
37
37
  property_supported :status do
38
- @status ||= if content_for_scanner =~ /Domain Status:(.*?)\n/
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 ||= (content_for_scanner.strip == "NOT FOUND")
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
 
@@ -43,11 +43,11 @@ module Whois
43
43
  end
44
44
 
45
45
  property_supported :available? do
46
- @available ||= !!(content_for_scanner =~ /% nothing found/)
46
+ @available ||= !!(content_for_scanner =~ /% nothing found/)
47
47
  end
48
48
 
49
49
  property_supported :registered? do
50
- !available?
50
+ @registered ||= !available?
51
51
  end
52
52
 
53
53