whois 1.2.1 → 1.2.2

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.
Files changed (53) hide show
  1. data/CHANGELOG.rdoc +23 -0
  2. data/Manifest +27 -4
  3. data/README.rdoc +5 -8
  4. data/Rakefile +14 -0
  5. data/data/ip_del_list +11 -3
  6. data/data/servers_charset_list +2 -1
  7. data/data/tld_serv_list +15 -7
  8. data/lib/whois/answer/contact.rb +15 -15
  9. data/lib/whois/answer/parser/NOTES.txt +10 -13
  10. data/lib/whois/answer/parser/saudinic.net.sa.rb +36 -0
  11. data/lib/whois/answer/parser/whois.audns.net.au.rb +71 -0
  12. data/lib/whois/answer/parser/whois.ausregistry.net.au.rb +3 -39
  13. data/lib/whois/answer/parser/whois.cnnic.net.cn.rb +0 -1
  14. data/lib/whois/answer/parser/whois.jprs.jp.rb +3 -3
  15. data/lib/whois/answer/parser/whois.nic.co.rb +77 -0
  16. data/lib/whois/answer/parser/whois.nic.net.sa.rb +73 -0
  17. data/lib/whois/answer/parser/whois.tonic.to.rb +108 -0
  18. data/lib/whois/answer/parser.rb +5 -5
  19. data/lib/whois/answer/part.rb +1 -1
  20. data/lib/whois/answer/registrar.rb +4 -4
  21. data/lib/whois/client.rb +22 -10
  22. data/lib/whois/definitions/ipv4.rb +11 -3
  23. data/lib/whois/definitions/ipv4.txt +226 -0
  24. data/lib/whois/definitions/ipv6.txt +32 -0
  25. data/lib/whois/definitions/tlds.rb +12 -6
  26. data/lib/whois/definitions/tlds.txt +360 -0
  27. data/lib/whois/version.rb +2 -2
  28. data/lib/whois.rb +36 -17
  29. data/test/list_tld +21 -15
  30. data/test/testcases/responses/{whois.ausregistry.net.au → whois.audns.net.au}/available.txt +0 -0
  31. data/test/testcases/responses/{whois.ausregistry.net.au → whois.audns.net.au}/registered.txt +0 -0
  32. data/test/testcases/responses/whois.jprs.jp/jp/available.txt +17 -0
  33. data/test/testcases/responses/whois.jprs.jp/{registered.txt → jp/registered.txt} +0 -0
  34. data/test/testcases/responses/whois.jprs.jp/ne.jp/available.txt +17 -0
  35. data/test/testcases/responses/whois.jprs.jp/ne.jp/registered.txt +19 -0
  36. data/test/testcases/responses/whois.nic.co/available.txt +28 -0
  37. data/test/testcases/responses/whois.nic.co/registered.txt +82 -0
  38. data/test/testcases/responses/whois.nic.net.sa/available.txt +5 -0
  39. data/test/testcases/responses/whois.nic.net.sa/registered.txt +17 -0
  40. data/test/testcases/responses/whois.tonic.to/1.txt +1 -0
  41. data/test/testcases/responses/whois.tonic.to/available.txt +2 -0
  42. data/test/testcases/responses/whois.tonic.to/incomplete.txt +1 -0
  43. data/test/testcases/responses/whois.tonic.to/registered.txt +3 -0
  44. data/test/whois/answer/parser/saudinic.net.sa_test.rb +12 -0
  45. data/test/whois/answer/parser/whois.audns.net.au_test.rb +70 -0
  46. data/test/whois/answer/parser/whois.ausregistry.net.au_test.rb +3 -61
  47. data/test/whois/answer/parser/whois.jprs.jp_test.rb +93 -14
  48. data/test/whois/answer/parser/whois.nic.co_test.rb +64 -0
  49. data/test/whois/answer/parser/whois.nic.net.sa_test.rb +84 -0
  50. data/test/whois/answer/parser/whois.tonic.to_test.rb +125 -0
  51. data/whois.gemspec +5 -5
  52. metadata +44 -8
  53. data/test/testcases/responses/whois.jprs.jp/available.txt +0 -8
data/CHANGELOG.rdoc CHANGED
@@ -1,6 +1,29 @@
1
1
  = Changelog
2
2
 
3
3
 
4
+ == Release 1.2.2
5
+
6
+ * SERVER: Sync definitions with Debian whois 5.0.6.
7
+
8
+ * SERVER: Added new IPv4, IPv6 allocations (whois 5.0.6).
9
+
10
+ * SERVER: Added/Updated the .priv.at, .dj, .ls TLD definition (whois 5.0.6).
11
+
12
+ * SERVER: Added xn--mgbaam7a8h (United Arabs Emirates), .xn--mgberp4a5d4ar (Saudi Arabia), .xn--p1ai (Russian Federation), .xn--fiqs8s (China), .xn--fiqz9s (China) and .xn--wgbh1c (Egypt) TLD servers. (whois 5.0.6).
13
+
14
+ * SERVER: Killed .yu TLD, phased out on 30 March 2009 (whois 5.0.6).
15
+
16
+ * NEW: Added .to TLD parser (whois.tonic.to).
17
+
18
+ * FIXED: whois.jprs.jp doesn't fully understand answers for .net.jp domains [milk1000cc]
19
+
20
+ * CHANGED: The .co TLD now has a WHOIS interface (whois.nic.co). Added simple .co parser.
21
+
22
+ * CHANGED: Updated .sa TLD parser from saudinic.net.sa to whois.nic.net.sa (closes #29)
23
+
24
+ * CHANGED: Updated .au TLD parser from whois.ausregistry.net.au to whois.audns.net.au (closes #27)
25
+
26
+
4
27
  == Release 1.2.1
5
28
 
6
29
  * NEW: Added simple .ee TLD parser (whois.eenet.ee).
data/Manifest CHANGED
@@ -23,6 +23,7 @@ lib/whois/answer/parser/base.rb
23
23
  lib/whois/answer/parser/blank.rb
24
24
  lib/whois/answer/parser/example.rb
25
25
  lib/whois/answer/parser/jobswhois.verisign-grs.com.rb
26
+ lib/whois/answer/parser/saudinic.net.sa.rb
26
27
  lib/whois/answer/parser/scanners/verisign.rb
27
28
  lib/whois/answer/parser/whois.adamsnames.tc.rb
28
29
  lib/whois/answer/parser/whois.aeda.net.ae.rb
@@ -31,6 +32,7 @@ lib/whois/answer/parser/whois.afilias-grs.info.rb
31
32
  lib/whois/answer/parser/whois.afilias.info.rb
32
33
  lib/whois/answer/parser/whois.ai.rb
33
34
  lib/whois/answer/parser/whois.arnes.si.rb
35
+ lib/whois/answer/parser/whois.audns.net.au.rb
34
36
  lib/whois/answer/parser/whois.ausregistry.net.au.rb
35
37
  lib/whois/answer/parser/whois.biz.rb
36
38
  lib/whois/answer/parser/whois.cat.rb
@@ -72,6 +74,7 @@ lib/whois/answer/parser/whois.nic.at.rb
72
74
  lib/whois/answer/parser/whois.nic.cc.rb
73
75
  lib/whois/answer/parser/whois.nic.cd.rb
74
76
  lib/whois/answer/parser/whois.nic.ch.rb
77
+ lib/whois/answer/parser/whois.nic.co.rb
75
78
  lib/whois/answer/parser/whois.nic.coop.rb
76
79
  lib/whois/answer/parser/whois.nic.ec.rb
77
80
  lib/whois/answer/parser/whois.nic.fr.rb
@@ -89,6 +92,7 @@ lib/whois/answer/parser/whois.nic.ly.rb
89
92
  lib/whois/answer/parser/whois.nic.mu.rb
90
93
  lib/whois/answer/parser/whois.nic.mx.rb
91
94
  lib/whois/answer/parser/whois.nic.name.rb
95
+ lib/whois/answer/parser/whois.nic.net.sa.rb
92
96
  lib/whois/answer/parser/whois.nic.nu.rb
93
97
  lib/whois/answer/parser/whois.nic.or.kr.rb
94
98
  lib/whois/answer/parser/whois.nic.org.uy.rb
@@ -114,6 +118,7 @@ lib/whois/answer/parser/whois.ripn.net.rb
114
118
  lib/whois/answer/parser/whois.rotld.ro.rb
115
119
  lib/whois/answer/parser/whois.samoanic.ws.rb
116
120
  lib/whois/answer/parser/whois.srs.net.nz.rb
121
+ lib/whois/answer/parser/whois.tonic.to.rb
117
122
  lib/whois/answer/parser/whois.za.net.rb
118
123
  lib/whois/answer/parser/whois.za.org.rb
119
124
  lib/whois/answer/part.rb
@@ -122,8 +127,11 @@ lib/whois/answer/super_struct.rb
122
127
  lib/whois/client.rb
123
128
  lib/whois/definitions/NOTES.txt
124
129
  lib/whois/definitions/ipv4.rb
130
+ lib/whois/definitions/ipv4.txt
125
131
  lib/whois/definitions/ipv6.rb
132
+ lib/whois/definitions/ipv6.txt
126
133
  lib/whois/definitions/tlds.rb
134
+ lib/whois/definitions/tlds.txt
127
135
  lib/whois/errors.rb
128
136
  lib/whois/server.rb
129
137
  lib/whois/server/adapters/afilias.rb
@@ -180,8 +188,8 @@ test/testcases/responses/whois.ai/available.txt
180
188
  test/testcases/responses/whois.ai/registered.txt
181
189
  test/testcases/responses/whois.arnes.si/available.txt
182
190
  test/testcases/responses/whois.arnes.si/registered.txt
183
- test/testcases/responses/whois.ausregistry.net.au/available.txt
184
- test/testcases/responses/whois.ausregistry.net.au/registered.txt
191
+ test/testcases/responses/whois.audns.net.au/available.txt
192
+ test/testcases/responses/whois.audns.net.au/registered.txt
185
193
  test/testcases/responses/whois.biz/available.txt
186
194
  test/testcases/responses/whois.biz/registered.txt
187
195
  test/testcases/responses/whois.cat/available.txt
@@ -242,8 +250,10 @@ test/testcases/responses/whois.in.ua/available.txt
242
250
  test/testcases/responses/whois.in.ua/registered.txt
243
251
  test/testcases/responses/whois.isnic.is/available.txt
244
252
  test/testcases/responses/whois.isnic.is/registered.txt
245
- test/testcases/responses/whois.jprs.jp/available.txt
246
- test/testcases/responses/whois.jprs.jp/registered.txt
253
+ test/testcases/responses/whois.jprs.jp/jp/available.txt
254
+ test/testcases/responses/whois.jprs.jp/jp/registered.txt
255
+ test/testcases/responses/whois.jprs.jp/ne.jp/available.txt
256
+ test/testcases/responses/whois.jprs.jp/ne.jp/registered.txt
247
257
  test/testcases/responses/whois.meregistry.net/available.txt
248
258
  test/testcases/responses/whois.meregistry.net/registered.txt
249
259
  test/testcases/responses/whois.museum/available.txt
@@ -276,6 +286,8 @@ test/testcases/responses/whois.nic.cd/registered.txt
276
286
  test/testcases/responses/whois.nic.ch/available.txt
277
287
  test/testcases/responses/whois.nic.ch/property_nameservers_with_ip.txt
278
288
  test/testcases/responses/whois.nic.ch/registered.txt
289
+ test/testcases/responses/whois.nic.co/available.txt
290
+ test/testcases/responses/whois.nic.co/registered.txt
279
291
  test/testcases/responses/whois.nic.coop/available.txt
280
292
  test/testcases/responses/whois.nic.coop/registered.txt
281
293
  test/testcases/responses/whois.nic.ec/available.txt
@@ -332,6 +344,8 @@ test/testcases/responses/whois.nic.mx/registered.txt
332
344
  test/testcases/responses/whois.nic.name/available.txt
333
345
  test/testcases/responses/whois.nic.name/registered.txt
334
346
  test/testcases/responses/whois.nic.name/reserved.txt
347
+ test/testcases/responses/whois.nic.net.sa/available.txt
348
+ test/testcases/responses/whois.nic.net.sa/registered.txt
335
349
  test/testcases/responses/whois.nic.nu/available.txt
336
350
  test/testcases/responses/whois.nic.nu/registered.txt
337
351
  test/testcases/responses/whois.nic.or.kr/available.txt
@@ -398,6 +412,10 @@ test/testcases/responses/whois.samoanic.ws/registered.txt
398
412
  test/testcases/responses/whois.srs.net.nz/available.txt
399
413
  test/testcases/responses/whois.srs.net.nz/invalid.txt
400
414
  test/testcases/responses/whois.srs.net.nz/registered.txt
415
+ test/testcases/responses/whois.tonic.to/1.txt
416
+ test/testcases/responses/whois.tonic.to/available.txt
417
+ test/testcases/responses/whois.tonic.to/incomplete.txt
418
+ test/testcases/responses/whois.tonic.to/registered.txt
401
419
  test/testcases/responses/whois.za.net/available.txt
402
420
  test/testcases/responses/whois.za.net/registered.txt
403
421
  test/testcases/responses/whois.za.org/available.txt
@@ -406,6 +424,7 @@ test/whois/answer/contact_test.rb
406
424
  test/whois/answer/parser/base_test.rb
407
425
  test/whois/answer/parser/blank_test.rb
408
426
  test/whois/answer/parser/jobswhois.verisign-grs.com_test.rb
427
+ test/whois/answer/parser/saudinic.net.sa_test.rb
409
428
  test/whois/answer/parser/whois.adamsnames.tc_test.rb
410
429
  test/whois/answer/parser/whois.aeda.net.ae_test.rb
411
430
  test/whois/answer/parser/whois.aero_test.rb
@@ -413,6 +432,7 @@ test/whois/answer/parser/whois.afilias-grs.info_test.rb
413
432
  test/whois/answer/parser/whois.afilias.info_test.rb
414
433
  test/whois/answer/parser/whois.ai_test.rb
415
434
  test/whois/answer/parser/whois.arnes.si_test.rb
435
+ test/whois/answer/parser/whois.audns.net.au_test.rb
416
436
  test/whois/answer/parser/whois.ausregistry.net.au_test.rb
417
437
  test/whois/answer/parser/whois.biz_test.rb
418
438
  test/whois/answer/parser/whois.cat_test.rb
@@ -454,6 +474,7 @@ test/whois/answer/parser/whois.nic.at_test.rb
454
474
  test/whois/answer/parser/whois.nic.cc_test.rb
455
475
  test/whois/answer/parser/whois.nic.cd_test.rb
456
476
  test/whois/answer/parser/whois.nic.ch_test.rb
477
+ test/whois/answer/parser/whois.nic.co_test.rb
457
478
  test/whois/answer/parser/whois.nic.coop_test.rb
458
479
  test/whois/answer/parser/whois.nic.ec_test.rb
459
480
  test/whois/answer/parser/whois.nic.fr_test.rb
@@ -471,6 +492,7 @@ test/whois/answer/parser/whois.nic.ly_test.rb
471
492
  test/whois/answer/parser/whois.nic.mu_test.rb
472
493
  test/whois/answer/parser/whois.nic.mx_test.rb
473
494
  test/whois/answer/parser/whois.nic.name_test.rb
495
+ test/whois/answer/parser/whois.nic.net.sa_test.rb
474
496
  test/whois/answer/parser/whois.nic.nu_test.rb
475
497
  test/whois/answer/parser/whois.nic.or.kr_test.rb
476
498
  test/whois/answer/parser/whois.nic.org.uy_test.rb
@@ -496,6 +518,7 @@ test/whois/answer/parser/whois.ripn.net_test.rb
496
518
  test/whois/answer/parser/whois.rotld.ro_test.rb
497
519
  test/whois/answer/parser/whois.samoanic.ws_test.rb
498
520
  test/whois/answer/parser/whois.srs.net.nz_test.rb
521
+ test/whois/answer/parser/whois.tonic.to_test.rb
499
522
  test/whois/answer/parser/whois.za.net_test.rb
500
523
  test/whois/answer/parser/whois.za.org_test.rb
501
524
  test/whois/answer/parser_test.rb
data/README.rdoc CHANGED
@@ -22,12 +22,12 @@ An extensive test suite is available to verify the library correctness but you m
22
22
 
23
23
  == Requirements
24
24
 
25
- * Ruby >= 1.8.6 (not tested with previous versions)
25
+ * Ruby >= 1.8.6
26
26
 
27
- Whois has been {successfully tested}[http://www.ruby-whois.org/documentation/installation.html] against the following Ruby platforms:
27
+ Whois has been {successfully tested}[http://www.ruby-whois.org/manual/installation.html] against the following Ruby platforms:
28
28
 
29
- * Ruby 1.8.6 / 1.8.7 / 1.9.1
30
- * MacRuby 0.4
29
+ * Ruby 1.8.6 / 1.8.7 / 1.9.1 / 1.9.2
30
+ * MacRuby
31
31
  * Ruby Enterprise Edition
32
32
 
33
33
  Do you run any other Ruby platform or version? Are you experiencing any problem? Join our {discussion group}[http://groups.google.com/group/ruby-whois].
@@ -154,10 +154,7 @@ Author:: {Simone Carletti}[http://www.simonecarletti.com/] <weppos@weppos.net>
154
154
 
155
155
  == Thanks to
156
156
 
157
- * {Cyril Mougel}[http://blog.shingara.fr/] - Author of the initial Whois GEM
158
- * {Gábor Vészi}[http://well.done.hu/] - .hu whois parser
159
- * {Aaron Mueller}[http://aaron-mueller.de/] - .de whois parser
160
- * Mikkel Mondrup Kristensen - Improvements and updates to many WHOIS parsers
157
+ Everyone {in this list}[http://github.com/weppos/whois/contributors].
161
158
 
162
159
 
163
160
  == FeedBack and Bug reports
data/Rakefile CHANGED
@@ -9,9 +9,16 @@ rescue LoadError
9
9
  hanna = true
10
10
  end
11
11
 
12
+ module Rake
13
+ def self.remove_task(task_name)
14
+ Rake.application.instance_variable_get('@tasks').delete(task_name.to_s)
15
+ end
16
+ end
17
+
12
18
  $:.unshift(File.dirname(__FILE__) + "/lib")
13
19
  require "whois"
14
20
 
21
+
15
22
  # Common package properties
16
23
  PKG_NAME = ENV["PKG_NAME"] || Whois::GEM
17
24
  PKG_VERSION = ENV["PKG_VERSION"] || Whois::VERSION
@@ -63,6 +70,13 @@ rescue LoadError
63
70
  puts "CodeStatistics (Rails) is not available"
64
71
  end
65
72
 
73
+ Rake.remove_task(:publish_docs)
74
+ desc "Publish documentation to the site"
75
+ task :publish_docs => [:clean, :docs] do
76
+ sh "rsync -avz --delete doc/ weppos@dads:/home/weppos/ruby-whois.org/api"
77
+ end
78
+
79
+
66
80
  Dir["tasks/**/*.rake"].each do |file|
67
81
  load(file)
68
82
  end
data/data/ip_del_list CHANGED
@@ -8,8 +8,10 @@
8
8
  #
9
9
  1.0.0.0/8 apnic
10
10
  2.0.0.0/8 ripe
11
+ 14.0.0.0/8 apnic
11
12
  24.132.0.0/14 ripe
12
13
  27.0.0.0/8 apnic
14
+ 31.0.0.0/8 ripe
13
15
  41.0.0.0/8 afrinic
14
16
  43.0.0.0/8 v6nic
15
17
  46.0.0.0/8 ripe
@@ -29,14 +31,16 @@
29
31
  78.0.0.0/7 ripe
30
32
  80.0.0.0/4 ripe # => 95.255.255.255
31
33
  96.0.0.0/6 arin # => 99.255.255.255
34
+ 107.0.0.0/8 arin
32
35
  108.0.0.0/8 arin
33
36
  109.0.0.0/8 ripe
34
37
  110.0.0.0/7 apnic
35
38
  96.0.0.0/4 UNALLOCATED # => 112.215.255.255
36
- 118.32.0.0/11 whois.nic.or.kr
37
- 119.192.0.0/11 whois.nic.or.kr
39
+ 112.160.0.0/11 whois.nic.or.kr
38
40
  115.0.0.0/12 whois.nic.or.kr
39
41
  115.16.0.0/13 whois.nic.or.kr
42
+ 118.32.0.0/11 whois.nic.or.kr
43
+ 119.192.0.0/11 whois.nic.or.kr
40
44
  112.0.0.0/5 apnic
41
45
  121.128.0.0/10 whois.nic.or.kr
42
46
  125.128.0.0/11 whois.nic.or.kr
@@ -100,9 +104,14 @@
100
104
  171.16.0.0/12 ripe
101
105
  171.32.0.0/15 ripe
102
106
  #171.0.0.0/8 apnic
107
+ 175.192.0.0/10 whois.nic.or.kr
103
108
  175.0.0.0/8 apnic
109
+ 176.0.0.0/8 ripe
110
+ 177.0.0.0/8 lacnic
104
111
  178.0.0.0/8 ripe
105
112
  180.0.0.0/8 apnic
113
+ 181.0.0.0/8 lacnic
114
+ 183.96.0.0/11 whois.nic.or.kr
106
115
  182.0.0.0/7 apnic
107
116
  186.0.0.0/7 lacnic
108
117
  188.0.0.0/8 ripe # transferred from ARIN to to RIPE
@@ -232,6 +241,5 @@
232
241
  222.120.0.0/15 whois.nic.or.kr
233
242
  222.122.0.0/16 whois.nic.or.kr
234
243
  222.232.0.0/13 whois.nic.or.kr
235
- 223.0.0.0/8 UNALLOCATED # returned from APNIC to IANA
236
244
  220.0.0.0/6 apnic
237
245
  # that's all... here starts the multicast space
@@ -7,7 +7,8 @@ whois.nic.br iso-8859-1
7
7
  whois.cira.ca iso-8859-1
8
8
  whois.nic.ch utf-8
9
9
  whois.nic.cl iso-8859-1
10
- whois.cnnic.net.cn utf-8
10
+ whois.cnnic.cn utf-8
11
+ cwhois.cnnic.cn utf-8
11
12
  whois.nic.cz utf-8
12
13
  whois.denic.de utf-8
13
14
  whois.enum.denic.de utf-8
data/data/tld_serv_list CHANGED
@@ -1,3 +1,4 @@
1
+ # http://www.iana.org/domains/root/db/
1
2
  # NIC? means I have not been able to find the registry
2
3
 
3
4
  .br.com whois.centralnic.net
@@ -66,6 +67,7 @@
66
67
  .aq NONE # 2day.com
67
68
  .ar WEB http://www.nic.ar/
68
69
  .as whois.nic.as
70
+ .priv.at whois.nic.priv.at # "unofficial" SLD
69
71
  .at whois.nic.at
70
72
  .au whois.ausregistry.net.au
71
73
  .aw NONE # http://www.setarnet.aw/domreg.html
@@ -103,7 +105,7 @@
103
105
  .cl whois.nic.cl
104
106
  .cm WEB http://netcom.cm/whois.php
105
107
  .edu.cn whois.edu.cn
106
- .cn whois.cnnic.net.cn
108
+ .cn whois.cnnic.cn
107
109
  .uk.co whois.uk.co
108
110
  .co WEB https://www.nic.co/
109
111
  .cr WEB http://www.nic.cr/niccr_publico/showRegistroDominiosScreen.do
@@ -113,7 +115,7 @@
113
115
  .cy WEB http://www.nic.cy/nslookup/online_database.php
114
116
  .cz whois.nic.cz
115
117
  .de whois.denic.de
116
- .dj NONE
118
+ .dj WEB http://www.nic.dj/whois.php # BROKEN 2010-05-06
117
119
  .dk whois.dk-hostmaster.dk
118
120
  .dm whois.nic.dm
119
121
  .do WEB http://www.nic.do/whois-h.php3
@@ -140,14 +142,14 @@
140
142
  .gg whois.gg
141
143
  .gh WEB http://www.nic.gh/customer/search_c.htm
142
144
  .gi AFILIAS
143
- .gl NONE # www.nic.gl
145
+ .gl whois.nic.gl
144
146
  .gm whois.ripe.net # www.nic.gm
145
147
  .gn NONE # http://www.psg.com/dns/gn/
146
148
  .gp whois.nic.gp
147
149
  .gq NONE # NO NIC http://www.getesa.gq/
148
150
  .gr WEB https://grweb.ics.forth.gr/Whois?lang=en
149
151
  .gs whois.nic.gs
150
- .gt WEB http://www.gt/whois.htm
152
+ .gt WEB http://www.gt/whois.html
151
153
  .gu WEB http://gadao.gov.gu/domainsearch.htm
152
154
  .gw NONE # www.gwregister.com
153
155
  .gy whois.registry.gy
@@ -188,7 +190,7 @@
188
190
  .li whois.nic.li
189
191
  .lk whois.nic.lk
190
192
  .lr NONE # http://www.psg.com/dns/lr/
191
- .ls WEB http://www.co.ls/data/co.asp
193
+ .ls WEB http://www.co.ls/co.asp
192
194
  .lt whois.domreg.lt
193
195
  .lu whois.dns.lu
194
196
  .lv whois.nic.lv
@@ -251,7 +253,7 @@
251
253
  .edu.ru whois.informika.ru
252
254
  .ru whois.ripn.net
253
255
  .rw WEB http://www.nic.rw/cgi-bin/whoisrw.pl
254
- .sa saudinic.net.sa
256
+ .sa whois.nic.net.sa
255
257
  .sb whois.coccaregistry.net
256
258
  .sc AFILIAS # www.nic.sc
257
259
  .sd NONE # http://isoc.sd/ (CHECK LATER)
@@ -319,7 +321,6 @@
319
321
  .ws whois.samoanic.ws
320
322
  .ye NONE # NIC? www.nominet.org.ye http://www.y.net.ye/services/domain_name.htm
321
323
  .yt whois.nic.fr
322
- .yu NONE # www.nic.yu - phase out date: 30 March 2009
323
324
  .ac.za whois.ac.za
324
325
  .co.za whois.coza.net.za
325
326
  .gov.za whois.gov.za
@@ -329,6 +330,13 @@
329
330
  .zm NONE # http://www.zamnet.zm/ser-isp/dnr.htm
330
331
  .zw NONE # http://www.zispa.co.zw/
331
332
 
333
+ .xn--fiqs8s cwhois.cnnic.cn # China
334
+ .xn--fiqz9s cwhois.cnnic.cn # China
335
+ .xn--mgbaam7a8h whois.aeda.net.ae # United Arab Emirates
336
+ .xn--mgberp4a5d4ar whois.nic.net.sa # Saudi Arabia
337
+ .xn--wgbh1c whois.dotmasr.eg # Egypt
338
+ .xn--p1ai whois.ripn.net # Russian Federation
339
+
332
340
  -dom whois.networksolutions.com
333
341
  -org whois.networksolutions.com
334
342
  -hst whois.networksolutions.com
@@ -27,21 +27,21 @@ module Whois
27
27
  #
28
28
  # A <tt>Contact</tt> is composed by the following attributes:
29
29
  #
30
- # * <tt>:id</tt>:
31
- # * <tt>:type</tt>: the contact type (1 = registrant, 2 = admin, 3 = technical).
32
- # * <tt>:name</tt>:
33
- # * <tt>:organization</tt>:
34
- # * <tt>:address</tt>:
35
- # * <tt>:city</tt>:
36
- # * <tt>:zip</tt>:
37
- # * <tt>:state</tt>:
38
- # * <tt>:country</tt>:
39
- # * <tt>:country_code</tt>:
40
- # * <tt>:phone</tt>:
41
- # * <tt>:fax</tt>:
42
- # * <tt>:email</tt>:
43
- # * <tt>:created_on</tt>:
44
- # * <tt>:updated_on</tt>:
30
+ # * <tt>:id</tt>:
31
+ # * <tt>:type</tt>: the contact type (1 = registrant, 2 = admin, 3 = technical).
32
+ # * <tt>:name</tt>:
33
+ # * <tt>:organization</tt>:
34
+ # * <tt>:address</tt>:
35
+ # * <tt>:city</tt>:
36
+ # * <tt>:zip</tt>:
37
+ # * <tt>:state</tt>:
38
+ # * <tt>:country</tt>:
39
+ # * <tt>:country_code</tt>:
40
+ # * <tt>:phone</tt>:
41
+ # * <tt>:fax</tt>:
42
+ # * <tt>:email</tt>:
43
+ # * <tt>:created_on</tt>:
44
+ # * <tt>:updated_on</tt>:
45
45
  #
46
46
  # Be aware that every WHOIS server can return a different number of details
47
47
  # or no details at all.
@@ -1,7 +1,15 @@
1
- .us == .biz == .travel
1
+ .us
2
+ .biz
3
+ .travel
4
+ whois.nic.co (.co)
2
5
 
3
- == afilias
6
+ whois.museum (.museum)
7
+ whois.cat (.cat)
4
8
 
9
+ .ve
10
+ .uy
11
+
12
+ (afilias)
5
13
  whois.dotmobyregistry.net (.mobi)
6
14
  whois.afilias.info (.info)
7
15
  whois.afilias-grs.info (.bz, .gi, .hn, .lc, .mn, .sc, .vc)
@@ -9,19 +17,8 @@ whois.aero (.aero)
9
17
  whois.nic.af (.af)
10
18
  whois.registry.in (.in)
11
19
 
12
- whois.museum (.museum)
13
- whois.cat (.cat)
14
-
15
- .ve
16
- .uy
17
-
18
20
 
19
21
  == Property Proposals
20
22
 
21
23
  * changed_by
22
24
  * version
23
-
24
-
25
- == Feature Proposals
26
-
27
- * .org -> LIMIT EXCEEDED
@@ -0,0 +1,36 @@
1
+ #
2
+ # = Ruby Whois
3
+ #
4
+ # An intelligent pure Ruby WHOIS client and parser.
5
+ #
6
+ #
7
+ # Category:: Net
8
+ # Package:: Whois
9
+ # Author:: Simone Carletti <weppos@weppos.net>
10
+ # License:: MIT License
11
+ #
12
+ #--
13
+ #
14
+ #++
15
+
16
+
17
+ require 'whois/answer/parser/base'
18
+ require 'whois/answer/parser/whois.nic.net.sa'
19
+
20
+
21
+ module Whois
22
+ class Answer
23
+ class Parser
24
+
25
+ #
26
+ # = saudinic.net.sa parser
27
+ #
28
+ # Parser for the saudinic.net.sa server.
29
+ # Aliases the whois.nic.net.sa parser.
30
+ #
31
+ class SaudinicNetSa < WhoisNicNetSa
32
+ end
33
+
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,71 @@
1
+ #
2
+ # = Ruby Whois
3
+ #
4
+ # An intelligent pure Ruby WHOIS client and parser.
5
+ #
6
+ #
7
+ # Category:: Net
8
+ # Package:: Whois
9
+ # Author:: Simone Carletti <weppos@weppos.net>
10
+ # License:: MIT License
11
+ #
12
+ #--
13
+ #
14
+ #++
15
+
16
+
17
+ require 'whois/answer/parser/base'
18
+
19
+
20
+ module Whois
21
+ class Answer
22
+ class Parser
23
+
24
+ #
25
+ # = whois.audns.net.au parser
26
+ #
27
+ # Parser for the whois.audns.net.au server.
28
+ #
29
+ # NOTE: This parser is just a stub and provides only a few basic methods
30
+ # to check for domain availability and get domain status.
31
+ # Please consider to contribute implementing missing methods.
32
+ # See WhoisNicIt parser for an explanation of all available methods
33
+ # and examples.
34
+ #
35
+ class WhoisAudnsNetAu < Base
36
+
37
+ property_supported :status do
38
+ @status ||= if content_for_scanner =~ /Status:\s+(.*)\n/
39
+ $1
40
+ end
41
+ end
42
+
43
+ property_supported :available? do
44
+ @available ||= (content_for_scanner.strip == "No Data Found")
45
+ end
46
+
47
+ property_supported :registered? do
48
+ !available?
49
+ end
50
+
51
+
52
+ property_not_supported :created_on
53
+
54
+ property_supported :updated_on do
55
+ @updated_on ||= if content_for_scanner =~ /Last Modified:\s+(.*)\n/
56
+ Time.parse($1)
57
+ end
58
+ end
59
+
60
+ property_not_supported :expires_on
61
+
62
+
63
+ property_supported :nameservers do
64
+ @nameservers ||= content_for_scanner.scan(/Name Server:\s+(.+)\n/).flatten
65
+ end
66
+
67
+ end
68
+
69
+ end
70
+ end
71
+ end
@@ -14,7 +14,7 @@
14
14
  #++
15
15
 
16
16
 
17
- require 'whois/answer/parser/base'
17
+ require 'whois/answer/parser/whois.audns.net.au'
18
18
 
19
19
 
20
20
  module Whois
@@ -25,45 +25,9 @@ module Whois
25
25
  # = whois.ausregistry.net.au parser
26
26
  #
27
27
  # Parser for the whois.ausregistry.net.au server.
28
+ # Aliases the whois.audns.net.au.
28
29
  #
29
- # NOTE: This parser is just a stub and provides only a few basic methods
30
- # to check for domain availability and get domain status.
31
- # Please consider to contribute implementing missing methods.
32
- # See WhoisNicIt parser for an explanation of all available methods
33
- # and examples.
34
- #
35
- class WhoisAusregistryNetAu < Base
36
-
37
- property_supported :status do
38
- @status ||= if content_for_scanner =~ /Status:\s+(.*)\n/
39
- $1
40
- end
41
- end
42
-
43
- property_supported :available? do
44
- @available ||= (content_for_scanner.strip == "No Data Found")
45
- end
46
-
47
- property_supported :registered? do
48
- !available?
49
- end
50
-
51
-
52
- property_not_supported :created_on
53
-
54
- property_supported :updated_on do
55
- @updated_on ||= if content_for_scanner =~ /Last Modified:\s+(.*)\n/
56
- Time.parse($1)
57
- end
58
- end
59
-
60
- property_not_supported :expires_on
61
-
62
-
63
- property_supported :nameservers do
64
- @nameservers ||= content_for_scanner.scan(/Name Server:\s+(.+)\n/).flatten
65
- end
66
-
30
+ class WhoisAusregistryNetAu < WhoisAudnsNetAu
67
31
  end
68
32
 
69
33
  end
@@ -14,7 +14,6 @@
14
14
  #++
15
15
 
16
16
 
17
- require 'whois/answer/parser/base'
18
17
  require 'whois/answer/parser/whois.cnnic.cn'
19
18
 
20
19
 
@@ -35,7 +35,7 @@ module Whois
35
35
  class WhoisJprsJp < Base
36
36
 
37
37
  property_supported :status do
38
- @status ||= if content_for_scanner =~ /\[Status\]\s+(.*)\n/
38
+ @status ||= if content_for_scanner =~ /\[Stat(?:us|e)\]\s+(.*)\n/
39
39
  $1
40
40
  end
41
41
  end
@@ -51,14 +51,14 @@ module Whois
51
51
 
52
52
  # TODO: timezone ('Asia/Tokyo')
53
53
  property_supported :created_on do
54
- @created_on ||= if content_for_scanner =~ /\[Created on\]\s+(.*)\n/
54
+ @created_on ||= if content_for_scanner =~ /\[(?:Created on|Registered Date)\]\s+(.*)\n/
55
55
  Time.parse($1)
56
56
  end
57
57
  end
58
58
 
59
59
  # TODO: timezone ('Asia/Tokyo')
60
60
  property_supported :updated_on do
61
- @updated_on ||= if content_for_scanner =~ /\[Last Updated\]\s+(.*)\n/
61
+ @updated_on ||= if content_for_scanner =~ /\[Last Updated?\]\s+(.*)\n/m
62
62
  Time.parse($1)
63
63
  end
64
64
  end