whois 2.0.3 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG.rdoc CHANGED
@@ -1,6 +1,16 @@
1
1
  = Changelog
2
2
 
3
3
 
4
+ == Release 2.0.4
5
+
6
+ * SERVER: Added the following new IDN TLDs:
7
+ * .XN--90A3AC (.СРБ, Serbia) (#94)
8
+
9
+ * FIXED: whois.nic.it parser must support pendinUpdate and pendingTransfer statuses.
10
+
11
+ * FIXED: whois.nic-se.se crashes in some cases where the modified: attribute is an invalid date.
12
+
13
+
4
14
  == Release 2.0.3
5
15
 
6
16
  * SERVER: Sync definitions with Debian whois 5.0.11:
@@ -317,6 +317,7 @@ Whois::Server.define :tld, ".zm", nil, { :adapter => Whois::Server::Adapters::No
317
317
  Whois::Server.define :tld, ".zw", nil, { :adapter => Whois::Server::Adapters::None }
318
318
  Whois::Server.define :tld, ".xn--3e0b707e", "whois.kr"
319
319
  Whois::Server.define :tld, ".xn--45brj9c", nil, { :adapter => Whois::Server::Adapters::None }
320
+ Whois::Server.define :tld, ".xn--90a3ac", nil, { :adapter => Whois::Server::Adapters::None }
320
321
  Whois::Server.define :tld, ".xn--clchc0ea0b2g2a9gcd", "whois.sgnic.sg"
321
322
  Whois::Server.define :tld, ".xn--fiqs8s", "cwhois.cnnic.cn"
322
323
  Whois::Server.define :tld, ".xn--fiqz9s", "cwhois.cnnic.cn"
data/lib/whois/errors.rb CHANGED
@@ -132,6 +132,7 @@ module Whois
132
132
 
133
133
  # Raised when attempting to access a property when the response is unavailable.
134
134
  #
135
+ # @since 2.0.3
135
136
  # @see Whois::Record::Parser::Base#response_unavailable?
136
137
  class ResponseIsUnavailable < ResponseError
137
138
  end
@@ -54,20 +54,20 @@ module Whois
54
54
 
55
55
 
56
56
  property_supported :created_on do
57
- if content_for_scanner =~ /created:\s+(.*)\n/
57
+ if content_for_scanner =~ /created:\s+(.+)\n/
58
58
  Time.parse($1)
59
59
  end
60
60
  end
61
61
 
62
62
  property_supported :expires_on do
63
- if content_for_scanner =~ /expires:\s+(.*)\n/
63
+ if content_for_scanner =~ /expires:\s+(.+)\n/
64
64
  Time.parse($1)
65
65
  end
66
66
  end
67
67
 
68
68
  property_supported :updated_on do
69
- if content_for_scanner =~ /modified:\s+(.*?)\n/
70
- Time.parse($1)
69
+ if content_for_scanner =~ /modified:\s+(.+)\n/
70
+ Time.parse($1) unless $1 == '-'
71
71
  end
72
72
  end
73
73
 
@@ -43,11 +43,11 @@ module Whois
43
43
 
44
44
  property_supported :status do
45
45
  case node("Status").to_s.downcase
46
- when /^ok/, "active"
46
+ when /^ok/, "active", /\bclient/
47
47
  :registered
48
- when /\bclient/
48
+ when "grace-period", "pendingupdate", "pendingtransfer"
49
49
  :registered
50
- when "pendingdelete / redemptionperiod", "grace-period"
50
+ when "pendingdelete / redemptionperiod"
51
51
  :registered
52
52
  when "unassignable"
53
53
  :reserved
data/lib/whois/version.rb CHANGED
@@ -13,7 +13,7 @@ module Whois
13
13
  module Version
14
14
  MAJOR = 2
15
15
  MINOR = 0
16
- PATCH = 3
16
+ PATCH = 4
17
17
  BUILD = nil
18
18
 
19
19
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join(".")
@@ -0,0 +1,10 @@
1
+ #created_on
2
+ should: %s be_a(Time)
3
+ should: %s == Time.parse("2010-08-05")
4
+
5
+ #updated_on
6
+ should: %s == nil
7
+
8
+ #expires_on
9
+ should: %s be_a(Time)
10
+ should: %s == Time.parse("2011-08-05")
@@ -0,0 +1,34 @@
1
+ # Copyright (c) 1997- .SE (The Internet Infrastructure Foundation).
2
+ # All rights reserved.
3
+
4
+ # The information obtained through searches, or otherwise, is protected
5
+ # by the Swedish Copyright Act (1960:729) and international conventions.
6
+ # It is also subject to database protection according to the Swedish
7
+ # Copyright Act.
8
+
9
+ # Any use of this material to target advertising or
10
+ # similar activities is forbidden and will be prosecuted.
11
+ # If any of the information below is transferred to a third
12
+ # party, it must be done in its entirety. This server must
13
+ # not be used as a backend for a search engine.
14
+
15
+ # Result of search for registered domain names under
16
+ # the .SE top level domain.
17
+
18
+ # The data is in the UTF-8 character set and the result is
19
+ # printed with eight bits.
20
+
21
+ state: active
22
+ domain: populiscreate.se
23
+ holder: eds1008-4130626
24
+ admin-c: eds0903-00001
25
+ tech-c: eds0903-00002
26
+ billing-c: eds0903-00001
27
+ created: 2010-08-05
28
+ modified: -
29
+ expires: 2011-08-05
30
+ nserver: ns2.eurodns.com
31
+ nserver: ns1.eurodns.com
32
+ dnssec: unsigned delegation
33
+ status: ok
34
+ registrar: EuroDNS S.A
@@ -0,0 +1,8 @@
1
+ #status
2
+ should: %s == :registered
3
+
4
+ #available?
5
+ should: %s == false
6
+
7
+ #registered?
8
+ should: %s == true
@@ -0,0 +1,46 @@
1
+
2
+ *********************************************************************
3
+ * Please note that the following result could be a subgroup of *
4
+ * the data contained in the database. *
5
+ * *
6
+ * Additional information can be visualized at: *
7
+ * http://www.nic.it/cgi-bin/Whois/whois.cgi *
8
+ *********************************************************************
9
+
10
+ Domain: alessandrofusco.it
11
+ Status: pendingTransfer
12
+ Created: 2006-06-05 00:00:00
13
+ Last Update: 2011-05-02 17:26:59
14
+ Expire Date: 2011-06-05
15
+
16
+ Registrant
17
+ Name: Alessandro Fusco
18
+ Organization: Alessandro Fusco
19
+ ContactID: AF7184
20
+
21
+ Admin Contact
22
+ Name: Alessandro Fusco
23
+ Organization: Alessandro Fusco
24
+ ContactID: AF7184
25
+
26
+ Technical Contacts
27
+ Name: Claudio De Luca
28
+ Organization: Serverplan
29
+ ContactID: CDL148
30
+ Address: Corso della Repubblica 171
31
+ Cassino
32
+ 03043
33
+ FR
34
+ IT
35
+ Created: 2005-07-07 00:00:00
36
+ Last Update: 2010-01-28 16:10:28
37
+
38
+ Registrar
39
+ Organization: Serverplan s.r.l. Unipersonale
40
+ Name: SERVERPLAN-REG
41
+ Web: http://www.serverplan.com
42
+
43
+ Nameservers
44
+ ns23.dnshighspeed.com
45
+ ns24.dnshighspeed.com
46
+
@@ -0,0 +1,8 @@
1
+ #status
2
+ should: %s == :registered
3
+
4
+ #available?
5
+ should: %s == false
6
+
7
+ #registered?
8
+ should: %s == true
@@ -0,0 +1,59 @@
1
+
2
+ *********************************************************************
3
+ * Please note that the following result could be a subgroup of *
4
+ * the data contained in the database. *
5
+ * *
6
+ * Additional information can be visualized at: *
7
+ * http://www.nic.it/cgi-bin/Whois/whois.cgi *
8
+ *********************************************************************
9
+
10
+ Domain: fuoristradausato.it
11
+ Status: pendingUpdate
12
+ Created: 2006-10-11 00:00:00
13
+ Last Update: 2011-04-30 19:24:02
14
+ Expire Date: 2011-10-11
15
+
16
+ Registrant
17
+ Name: Autonord S.r.l.
18
+ Organization: Autonord S.r.l.
19
+ ContactID: AUTO2726
20
+ Address: via IX strada 21
21
+ padova
22
+ 35129
23
+ PD
24
+ IT
25
+ Created: 2007-03-01 10:50:23
26
+ Last Update: 2010-05-18 13:02:40
27
+
28
+ Admin Contact
29
+ Name: Emilio Rampin
30
+ Organization: Autonord S.r.l.
31
+ ContactID: ER2146
32
+ Address: 21
33
+ padova
34
+ 35129
35
+ PD
36
+ IT
37
+ Created: 2006-10-11 00:00:00
38
+ Last Update: 2010-05-18 13:03:17
39
+
40
+ Technical Contacts
41
+ Name: Marco Bianucci
42
+ ContactID: MB8891
43
+ Address: Via dei pioppi 2
44
+ Cesano Boscone
45
+ 20090
46
+ MI
47
+ IT
48
+ Created: 2005-04-05 00:00:00
49
+ Last Update: 2010-05-18 13:03:26
50
+
51
+ Registrar
52
+ Organization: PhoenixWeb s.n.c. di Marco Bianucci & C.
53
+ Name: PEGASO-REG
54
+ Web: http://www.pegasohosting.net
55
+
56
+ Nameservers
57
+ ns11.pegasodns.com
58
+ ns12.pegasodns.com
59
+
@@ -0,0 +1,41 @@
1
+ # encoding: utf-8
2
+
3
+ # This file is autogenerated. Do not edit it manually.
4
+ # If you want change the content of this file, edit
5
+ #
6
+ # /spec/fixtures/responses/whois.nic-se.se/property_datetime_is_dash.expected
7
+ #
8
+ # and regenerate the tests with the following rake task
9
+ #
10
+ # $ rake genspec:parsers
11
+ #
12
+
13
+ require 'spec_helper'
14
+ require 'whois/record/parser/whois.nic-se.se.rb'
15
+
16
+ describe Whois::Record::Parser::WhoisNicSeSe, "property_datetime_is_dash.expected" do
17
+
18
+ before(:each) do
19
+ file = fixture("responses", "whois.nic-se.se/property_datetime_is_dash.txt")
20
+ part = Whois::Record::Part.new(:body => File.read(file))
21
+ @parser = klass.new(part)
22
+ end
23
+
24
+ context "#created_on" do
25
+ it do
26
+ @parser.created_on.should be_a(Time)
27
+ @parser.created_on.should == Time.parse("2010-08-05")
28
+ end
29
+ end
30
+ context "#updated_on" do
31
+ it do
32
+ @parser.updated_on.should == nil
33
+ end
34
+ end
35
+ context "#expires_on" do
36
+ it do
37
+ @parser.expires_on.should be_a(Time)
38
+ @parser.expires_on.should == Time.parse("2011-08-05")
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,39 @@
1
+ # encoding: utf-8
2
+
3
+ # This file is autogenerated. Do not edit it manually.
4
+ # If you want change the content of this file, edit
5
+ #
6
+ # /spec/fixtures/responses/whois.nic.it/property_status_pendingtransfer.expected
7
+ #
8
+ # and regenerate the tests with the following rake task
9
+ #
10
+ # $ rake genspec:parsers
11
+ #
12
+
13
+ require 'spec_helper'
14
+ require 'whois/record/parser/whois.nic.it.rb'
15
+
16
+ describe Whois::Record::Parser::WhoisNicIt, "property_status_pendingtransfer.expected" do
17
+
18
+ before(:each) do
19
+ file = fixture("responses", "whois.nic.it/property_status_pendingtransfer.txt")
20
+ part = Whois::Record::Part.new(:body => File.read(file))
21
+ @parser = klass.new(part)
22
+ end
23
+
24
+ context "#status" do
25
+ it do
26
+ @parser.status.should == :registered
27
+ end
28
+ end
29
+ context "#available?" do
30
+ it do
31
+ @parser.available?.should == false
32
+ end
33
+ end
34
+ context "#registered?" do
35
+ it do
36
+ @parser.registered?.should == true
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,39 @@
1
+ # encoding: utf-8
2
+
3
+ # This file is autogenerated. Do not edit it manually.
4
+ # If you want change the content of this file, edit
5
+ #
6
+ # /spec/fixtures/responses/whois.nic.it/property_status_pendingupdate.expected
7
+ #
8
+ # and regenerate the tests with the following rake task
9
+ #
10
+ # $ rake genspec:parsers
11
+ #
12
+
13
+ require 'spec_helper'
14
+ require 'whois/record/parser/whois.nic.it.rb'
15
+
16
+ describe Whois::Record::Parser::WhoisNicIt, "property_status_pendingupdate.expected" do
17
+
18
+ before(:each) do
19
+ file = fixture("responses", "whois.nic.it/property_status_pendingupdate.txt")
20
+ part = Whois::Record::Part.new(:body => File.read(file))
21
+ @parser = klass.new(part)
22
+ end
23
+
24
+ context "#status" do
25
+ it do
26
+ @parser.status.should == :registered
27
+ end
28
+ end
29
+ context "#available?" do
30
+ it do
31
+ @parser.available?.should == false
32
+ end
33
+ end
34
+ context "#registered?" do
35
+ it do
36
+ @parser.registered?.should == true
37
+ end
38
+ end
39
+ end