whois 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
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