public_suffix 3.0.0 → 3.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop_defaults.yml +3 -0
- data/.travis.yml +9 -11
- data/CHANGELOG.md +6 -0
- data/README.md +1 -1
- data/data/list.txt +83 -20
- data/lib/public_suffix/list.rb +4 -6
- data/lib/public_suffix/rule.rb +1 -1
- data/lib/public_suffix/version.rb +1 -1
- data/test/unit/list_test.rb +10 -10
- data/test/unit/public_suffix_test.rb +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 892f161e5f319655ce28c5471b8bfd52bee52d4a
|
4
|
+
data.tar.gz: c5336906cb205ba862b102f26913049ddfceb84c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 61ff3cef06b748c5d1646d3b85100774efdede3f37966385661c3f7ed72ec1fbee793f6547ef772d0edea4350cf3b8b27229da7bc796b3301d19989364ec1217
|
7
|
+
data.tar.gz: 1b46049d7cd042cfc68a159fe336d17fa69bfb40097a5a0978b4d979005a966febf640b6b9ac61937940fd1bfc2e864c333605fadb9d2f9e7d9501baf497e944
|
data/.rubocop_defaults.yml
CHANGED
data/.travis.yml
CHANGED
@@ -3,24 +3,22 @@ language: ruby
|
|
3
3
|
rvm:
|
4
4
|
- 2.1
|
5
5
|
- 2.2
|
6
|
-
- 2.3
|
7
|
-
- 2.4
|
6
|
+
- 2.3
|
7
|
+
- 2.4
|
8
|
+
- jruby-9.1.5.0
|
8
9
|
- ruby-head
|
9
|
-
- jruby-9.0.5.0
|
10
|
-
- jruby-9.1.0.0
|
11
10
|
|
12
|
-
|
13
|
-
-
|
14
|
-
- gem install bundler
|
11
|
+
env:
|
12
|
+
- COVERALL=1
|
15
13
|
|
16
14
|
cache:
|
17
15
|
- bundler
|
18
16
|
|
19
|
-
env:
|
20
|
-
- COVERALL=1
|
21
|
-
|
22
17
|
matrix:
|
23
18
|
allow_failures:
|
24
19
|
- rvm: ruby-head
|
25
|
-
- rvm: jruby-9.0.5.0
|
26
20
|
- rvm: jruby-9.1.0.0
|
21
|
+
|
22
|
+
before_install:
|
23
|
+
- rvm get latest
|
24
|
+
- gem install bundler
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
3
|
|
4
|
+
#### Release 3.0.1
|
5
|
+
|
6
|
+
- CHANGED: Updated definitions.
|
7
|
+
- CHANGED: Improve performance and avoid allocation (GH-146). [Thanks @robholland]
|
8
|
+
|
9
|
+
|
4
10
|
#### Release 3.0.0
|
5
11
|
|
6
12
|
This new version includes a major redesign of the library internals, with the goal to drastically
|
data/README.md
CHANGED
data/data/list.txt
CHANGED
@@ -399,24 +399,34 @@ tv.bo
|
|
399
399
|
// br : http://registro.br/dominio/categoria.html
|
400
400
|
// Submitted by registry <fneves@registro.br>
|
401
401
|
br
|
402
|
+
abc.br
|
402
403
|
adm.br
|
403
404
|
adv.br
|
404
405
|
agr.br
|
406
|
+
aju.br
|
405
407
|
am.br
|
408
|
+
aparecida.br
|
406
409
|
arq.br
|
407
410
|
art.br
|
408
411
|
ato.br
|
409
412
|
b.br
|
410
413
|
belem.br
|
414
|
+
bhz.br
|
411
415
|
bio.br
|
412
416
|
blog.br
|
413
417
|
bmd.br
|
418
|
+
boavista.br
|
419
|
+
bsb.br
|
420
|
+
campinas.br
|
421
|
+
caxias.br
|
414
422
|
cim.br
|
415
423
|
cng.br
|
416
424
|
cnt.br
|
417
425
|
com.br
|
426
|
+
contagem.br
|
418
427
|
coop.br
|
419
428
|
cri.br
|
429
|
+
cuiaba.br
|
420
430
|
def.br
|
421
431
|
ecn.br
|
422
432
|
eco.br
|
@@ -427,14 +437,17 @@ esp.br
|
|
427
437
|
etc.br
|
428
438
|
eti.br
|
429
439
|
far.br
|
440
|
+
feira.br
|
430
441
|
flog.br
|
431
442
|
floripa.br
|
432
443
|
fm.br
|
433
444
|
fnd.br
|
445
|
+
fortal.br
|
434
446
|
fot.br
|
435
447
|
fst.br
|
436
448
|
g12.br
|
437
449
|
ggf.br
|
450
|
+
goiania.br
|
438
451
|
gov.br
|
439
452
|
// gov.br 26 states + df https://en.wikipedia.org/wiki/States_of_Brazil
|
440
453
|
ac.gov.br
|
@@ -464,42 +477,65 @@ sc.gov.br
|
|
464
477
|
se.gov.br
|
465
478
|
sp.gov.br
|
466
479
|
to.gov.br
|
480
|
+
gru.br
|
467
481
|
imb.br
|
468
482
|
ind.br
|
469
483
|
inf.br
|
484
|
+
jab.br
|
470
485
|
jampa.br
|
486
|
+
jdf.br
|
487
|
+
joinville.br
|
471
488
|
jor.br
|
472
489
|
jus.br
|
473
490
|
leg.br
|
474
491
|
lel.br
|
492
|
+
londrina.br
|
493
|
+
macapa.br
|
494
|
+
maceio.br
|
475
495
|
mat.br
|
476
496
|
med.br
|
477
497
|
mil.br
|
498
|
+
morena.br
|
478
499
|
mp.br
|
479
500
|
mus.br
|
501
|
+
natal.br
|
480
502
|
net.br
|
503
|
+
niteroi.br
|
481
504
|
*.nom.br
|
482
505
|
not.br
|
483
506
|
ntr.br
|
484
507
|
odo.br
|
485
508
|
org.br
|
509
|
+
osasco.br
|
510
|
+
palmas.br
|
486
511
|
poa.br
|
487
512
|
ppg.br
|
488
513
|
pro.br
|
489
514
|
psc.br
|
490
515
|
psi.br
|
516
|
+
pvh.br
|
491
517
|
qsl.br
|
492
518
|
radio.br
|
493
519
|
rec.br
|
494
520
|
recife.br
|
521
|
+
ribeirao.br
|
522
|
+
rio.br
|
523
|
+
riobranco.br
|
524
|
+
salvador.br
|
525
|
+
sampa.br
|
526
|
+
sjc.br
|
495
527
|
slg.br
|
528
|
+
slz.br
|
529
|
+
sorocaba.br
|
496
530
|
srv.br
|
497
531
|
taxi.br
|
498
532
|
teo.br
|
533
|
+
the.br
|
499
534
|
tmp.br
|
500
535
|
trd.br
|
501
536
|
tur.br
|
502
537
|
tv.br
|
538
|
+
udi.br
|
503
539
|
vet.br
|
504
540
|
vix.br
|
505
541
|
vlog.br
|
@@ -6472,6 +6508,17 @@ lib.wy.us
|
|
6472
6508
|
pvt.k12.ma.us
|
6473
6509
|
chtr.k12.ma.us
|
6474
6510
|
paroch.k12.ma.us
|
6511
|
+
// Merit Network, Inc. maintains the registry for =~ /(k12|cc|lib).mi.us/ and the following
|
6512
|
+
// see also: http://domreg.merit.edu
|
6513
|
+
// see also: whois -h whois.domreg.merit.edu help
|
6514
|
+
ann-arbor.mi.us
|
6515
|
+
cog.mi.us
|
6516
|
+
dst.mi.us
|
6517
|
+
eaton.mi.us
|
6518
|
+
gen.mi.us
|
6519
|
+
mus.mi.us
|
6520
|
+
tec.mi.us
|
6521
|
+
washtenaw.mi.us
|
6475
6522
|
|
6476
6523
|
// uy : http://www.nic.org.uy/
|
6477
6524
|
uy
|
@@ -7473,9 +7520,6 @@ cheap
|
|
7473
7520
|
// chintai : 2015-06-11 CHINTAI Corporation
|
7474
7521
|
chintai
|
7475
7522
|
|
7476
|
-
// chloe : 2014-10-16 Richemont DNS Inc.
|
7477
|
-
chloe
|
7478
|
-
|
7479
7523
|
// christmas : 2013-11-21 Uniregistry, Corp.
|
7480
7524
|
christmas
|
7481
7525
|
|
@@ -8346,9 +8390,6 @@ how
|
|
8346
8390
|
// hsbc : 2014-10-24 HSBC Holdings PLC
|
8347
8391
|
hsbc
|
8348
8392
|
|
8349
|
-
// htc : 2015-04-02 HTC corporation
|
8350
|
-
htc
|
8351
|
-
|
8352
8393
|
// hughes : 2015-07-30 Hughes Satellite Systems Corporation
|
8353
8394
|
hughes
|
8354
8395
|
|
@@ -8802,12 +8843,6 @@ mattel
|
|
8802
8843
|
// mba : 2015-04-02 Lone Hollow, LLC
|
8803
8844
|
mba
|
8804
8845
|
|
8805
|
-
// mcd : 2015-07-30 McDonald’s Corporation
|
8806
|
-
mcd
|
8807
|
-
|
8808
|
-
// mcdonalds : 2015-07-30 McDonald’s Corporation
|
8809
|
-
mcdonalds
|
8810
|
-
|
8811
8846
|
// mckinsey : 2015-07-31 McKinsey Holdings, Inc.
|
8812
8847
|
mckinsey
|
8813
8848
|
|
@@ -8898,9 +8933,6 @@ money
|
|
8898
8933
|
// monster : 2015-09-11 Monster Worldwide, Inc.
|
8899
8934
|
monster
|
8900
8935
|
|
8901
|
-
// montblanc : 2014-06-23 Richemont DNS Inc.
|
8902
|
-
montblanc
|
8903
|
-
|
8904
8936
|
// mopar : 2015-07-30 FCA US LLC.
|
8905
8937
|
mopar
|
8906
8938
|
|
@@ -9132,9 +9164,6 @@ ovh
|
|
9132
9164
|
// page : 2014-12-04 Charleston Road Registry Inc.
|
9133
9165
|
page
|
9134
9166
|
|
9135
|
-
// pamperedchef : 2015-02-05 The Pampered Chef, Ltd.
|
9136
|
-
pamperedchef
|
9137
|
-
|
9138
9167
|
// panasonic : 2015-07-30 Panasonic Corporation
|
9139
9168
|
panasonic
|
9140
9169
|
|
@@ -10582,8 +10611,23 @@ us-east-1.amazonaws.com
|
|
10582
10611
|
|
10583
10612
|
// Amazon Elastic Beanstalk : https://aws.amazon.com/elasticbeanstalk/
|
10584
10613
|
// Submitted by Luke Wells <psl-maintainers@amazon.com>
|
10585
|
-
|
10586
|
-
|
10614
|
+
cn-north-1.eb.amazonaws.com.cn
|
10615
|
+
elasticbeanstalk.com
|
10616
|
+
ap-northeast-1.elasticbeanstalk.com
|
10617
|
+
ap-northeast-2.elasticbeanstalk.com
|
10618
|
+
ap-south-1.elasticbeanstalk.com
|
10619
|
+
ap-southeast-1.elasticbeanstalk.com
|
10620
|
+
ap-southeast-2.elasticbeanstalk.com
|
10621
|
+
ca-central-1.elasticbeanstalk.com
|
10622
|
+
eu-central-1.elasticbeanstalk.com
|
10623
|
+
eu-west-1.elasticbeanstalk.com
|
10624
|
+
eu-west-2.elasticbeanstalk.com
|
10625
|
+
sa-east-1.elasticbeanstalk.com
|
10626
|
+
us-east-1.elasticbeanstalk.com
|
10627
|
+
us-east-2.elasticbeanstalk.com
|
10628
|
+
us-gov-west-1.elasticbeanstalk.com
|
10629
|
+
us-west-1.elasticbeanstalk.com
|
10630
|
+
us-west-2.elasticbeanstalk.com
|
10587
10631
|
|
10588
10632
|
// Amazon Elastic Load Balancing : https://aws.amazon.com/elasticloadbalancing/
|
10589
10633
|
// Submitted by Luke Wells <psl-maintainers@amazon.com>
|
@@ -10871,6 +10915,10 @@ firm.dk
|
|
10871
10915
|
reg.dk
|
10872
10916
|
store.dk
|
10873
10917
|
|
10918
|
+
// Debian : https://www.debian.org/
|
10919
|
+
// Submitted by Peter Palfrader / Debian Sysadmin Team <dsa-publicsuffixlist@debian.org>
|
10920
|
+
debian.net
|
10921
|
+
|
10874
10922
|
// deSEC : https://desec.io/
|
10875
10923
|
// Submitted by Peter Thomassen <peter@desec.io>
|
10876
10924
|
dedyn.io
|
@@ -11398,6 +11446,10 @@ vladikavkaz.su
|
|
11398
11446
|
vladimir.su
|
11399
11447
|
vologda.su
|
11400
11448
|
|
11449
|
+
// Fancy Bits, LLC : http://getchannels.com
|
11450
|
+
// Submitted by Aman Gupta <aman@getchannels.com>
|
11451
|
+
channelsdvr.net
|
11452
|
+
|
11401
11453
|
// Fastly Inc. : http://www.fastly.com/
|
11402
11454
|
// Submitted by Fastly Security <security@fastly.com>
|
11403
11455
|
fastlylb.net
|
@@ -11448,6 +11500,7 @@ myfusion.cloud
|
|
11448
11500
|
|
11449
11501
|
// Futureweb OG : http://www.futureweb.at
|
11450
11502
|
// Submitted by Andreas Schnederle-Wagner <schnederle@futureweb.at>
|
11503
|
+
*.futurecms.at
|
11451
11504
|
futurehosting.at
|
11452
11505
|
futuremailing.at
|
11453
11506
|
*.ex.ortsinfo.at
|
@@ -11630,6 +11683,10 @@ se.leg.br
|
|
11630
11683
|
sp.leg.br
|
11631
11684
|
to.leg.br
|
11632
11685
|
|
11686
|
+
// intermetrics GmbH : https://pixolino.com/
|
11687
|
+
// Submitted by Wolfgang Schwarz <admin@intermetrics.de>
|
11688
|
+
pixolino.com
|
11689
|
+
|
11633
11690
|
// IPiFony Systems, Inc. : https://www.ipifony.com/
|
11634
11691
|
// Submitted by Matthew Hardeman <mhardeman@ipifony.com>
|
11635
11692
|
ipifony.net
|
@@ -11953,6 +12010,7 @@ protonet.io
|
|
11953
12010
|
// Publication Presse Communication SARL : https://ppcom.fr
|
11954
12011
|
// Submitted by Yaacov Akiba Slama <admin@chirurgiens-dentistes-en-france.fr>
|
11955
12012
|
chirurgiens-dentistes-en-france.fr
|
12013
|
+
byen.site
|
11956
12014
|
|
11957
12015
|
// QA2
|
11958
12016
|
// Submitted by Daniel Dent (https://www.danieldent.com/)
|
@@ -12180,10 +12238,15 @@ lib.de.us
|
|
12180
12238
|
// Submitted by Simon Kissel <hostmaster@viprinet.com>
|
12181
12239
|
router.management
|
12182
12240
|
|
12241
|
+
// Virtual-Info : https://www.virtual-info.info/
|
12242
|
+
// Submitted by Adnan RIHAN <hostmaster@v-info.info>
|
12243
|
+
v-info.info
|
12244
|
+
|
12183
12245
|
// WeDeploy by Liferay, Inc. : https://www.wedeploy.com
|
12184
12246
|
// Submitted by Henrique Vicente <security@wedeploy.com>
|
12185
12247
|
wedeploy.io
|
12186
12248
|
wedeploy.me
|
12249
|
+
wedeploy.sh
|
12187
12250
|
|
12188
12251
|
// Western Digital Technologies, Inc : https://www.wdc.com
|
12189
12252
|
// Submitted by Jung Jin <jungseok.jin@wdc.com>
|
data/lib/public_suffix/list.rb
CHANGED
@@ -51,9 +51,7 @@ module PublicSuffix
|
|
51
51
|
|
52
52
|
# Sets the default rule list to +value+.
|
53
53
|
#
|
54
|
-
# @param [PublicSuffix::List]
|
55
|
-
# The new rule list.
|
56
|
-
#
|
54
|
+
# @param value [PublicSuffix::List] the new list
|
57
55
|
# @return [PublicSuffix::List]
|
58
56
|
def self.default=(value)
|
59
57
|
@default = value
|
@@ -63,9 +61,9 @@ module PublicSuffix
|
|
63
61
|
#
|
64
62
|
# See http://publicsuffix.org/format/ for more details about input format.
|
65
63
|
#
|
66
|
-
# @param string [#each_line]
|
67
|
-
# @param private_domains [Boolean] whether to ignore the private domains section
|
68
|
-
# @return [
|
64
|
+
# @param string [#each_line] the list to parse
|
65
|
+
# @param private_domains [Boolean] whether to ignore the private domains section
|
66
|
+
# @return [PublicSuffix::List]
|
69
67
|
def self.parse(input, private_domains: true)
|
70
68
|
comment_token = "//".freeze
|
71
69
|
private_token = "===BEGIN PRIVATE DOMAINS===".freeze
|
data/lib/public_suffix/rule.rb
CHANGED
data/test/unit/list_test.rb
CHANGED
@@ -28,10 +28,10 @@ class PublicSuffix::ListTest < Minitest::Test
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def test_each_without_block
|
31
|
-
list = PublicSuffix::List.parse(<<
|
31
|
+
list = PublicSuffix::List.parse(<<LIST)
|
32
32
|
alpha
|
33
33
|
beta
|
34
|
-
|
34
|
+
LIST
|
35
35
|
|
36
36
|
assert_kind_of Enumerator, list.each
|
37
37
|
assert_equal 2, list.each.count
|
@@ -39,10 +39,10 @@ EOS
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def test_each_with_block
|
42
|
-
list = PublicSuffix::List.parse(<<
|
42
|
+
list = PublicSuffix::List.parse(<<LIST)
|
43
43
|
alpha
|
44
44
|
beta
|
45
|
-
|
45
|
+
LIST
|
46
46
|
|
47
47
|
entries = []
|
48
48
|
list.each { |r| entries << r }
|
@@ -90,7 +90,7 @@ EOS
|
|
90
90
|
|
91
91
|
|
92
92
|
def test_find
|
93
|
-
list = PublicSuffix::List.parse(<<
|
93
|
+
list = PublicSuffix::List.parse(<<LIST)
|
94
94
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
95
95
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
96
96
|
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
@@ -116,7 +116,7 @@ io
|
|
116
116
|
blogspot.com
|
117
117
|
|
118
118
|
// ===END PRIVATE DOMAINS===
|
119
|
-
|
119
|
+
LIST
|
120
120
|
|
121
121
|
# match IANA
|
122
122
|
assert_equal PublicSuffix::Rule.factory("com"), list.find("example.com")
|
@@ -186,7 +186,7 @@ EOS
|
|
186
186
|
end
|
187
187
|
|
188
188
|
def test_self_parse
|
189
|
-
list = PublicSuffix::List.parse(<<
|
189
|
+
list = PublicSuffix::List.parse(<<LIST)
|
190
190
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
191
191
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
192
192
|
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
@@ -207,7 +207,7 @@ com
|
|
207
207
|
blogspot.com
|
208
208
|
|
209
209
|
// ===END PRIVATE DOMAINS===
|
210
|
-
|
210
|
+
LIST
|
211
211
|
|
212
212
|
assert_instance_of PublicSuffix::List, list
|
213
213
|
assert_equal 4, list.size
|
@@ -224,7 +224,7 @@ EOS
|
|
224
224
|
private
|
225
225
|
|
226
226
|
def list
|
227
|
-
@_list ||= PublicSuffix::List.parse(<<
|
227
|
+
@_list ||= PublicSuffix::List.parse(<<LIST)
|
228
228
|
// com : http://en.wikipedia.org/wiki/.com
|
229
229
|
com
|
230
230
|
|
@@ -233,7 +233,7 @@ com
|
|
233
233
|
*.sch.uk
|
234
234
|
!bl.uk
|
235
235
|
!british-library.uk
|
236
|
-
|
236
|
+
LIST
|
237
237
|
end
|
238
238
|
|
239
239
|
end
|
@@ -156,7 +156,7 @@ class PublicSuffixTest < Minitest::Test
|
|
156
156
|
nil,
|
157
157
|
"",
|
158
158
|
" ",
|
159
|
-
].each do |input
|
159
|
+
].each do |input|
|
160
160
|
error = PublicSuffix.normalize(input)
|
161
161
|
assert_instance_of PublicSuffix::DomainInvalid, error
|
162
162
|
assert_equal "Name is blank", error.message
|
@@ -166,7 +166,7 @@ class PublicSuffixTest < Minitest::Test
|
|
166
166
|
def test_normalize_scheme
|
167
167
|
[
|
168
168
|
"https://google.com",
|
169
|
-
].each do |input
|
169
|
+
].each do |input|
|
170
170
|
error = PublicSuffix.normalize(input)
|
171
171
|
assert_instance_of PublicSuffix::DomainInvalid, error
|
172
172
|
assert_match(/scheme/, error.message)
|
@@ -176,7 +176,7 @@ class PublicSuffixTest < Minitest::Test
|
|
176
176
|
def test_normalize_leading_dot
|
177
177
|
[
|
178
178
|
".google.com",
|
179
|
-
].each do |input
|
179
|
+
].each do |input|
|
180
180
|
error = PublicSuffix.normalize(input)
|
181
181
|
assert_instance_of PublicSuffix::DomainInvalid, error
|
182
182
|
assert_match "Name starts with a dot", error.message
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: public_suffix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simone Carletti
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-08
|
11
|
+
date: 2017-11-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|