Skip to content

Commit 7c8ecfa

Browse files
committed
Fix PublicSuffix validator and UpdateDomainSuffixesCommand
- Parce PSL ICANN section into structured sections (rules, wildcards, exceptions) according to the format. - Updates PublicSuffix semantics for complete application of the rules. - Includes private domain suffixes now. - Refreshes the existing data. - Fixes the update-regionals.yml workflow, set it to run twice a week. References: https://github.com/publicsuffix/list/wiki/Format#format
1 parent e1ff5aa commit 7c8ecfa

326 files changed

Lines changed: 10896 additions & 5540 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/update-regionals.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ name: Update Regional Information
33
on:
44
workflow_dispatch:
55
schedule:
6-
- cron: '0 0 * * *'
6+
- cron: '0 0 * * 1' # weekly on mondays at 00:00
7+
- cron: '0 0 * * 4' # weekly on thursdays at 00:00
78

89
permissions:
910
contents: write
@@ -16,14 +17,14 @@ jobs:
1617
runs-on: ubuntu-latest
1718

1819
steps:
19-
- name: Install xmlstarlet
20-
run: sudo apt install xmlstarlet idn2
21-
2220
- name: Checkout
2321
uses: actions/checkout@v6
2422
with:
2523
ref: ${{ secrets.LAST_MINOR_VERSION }}
2624

25+
- name: Setup environment
26+
uses: ./.github/actions/setup-action
27+
2728
- name: Update top level domains
2829
run: bin/console update:domain-toplevel
2930

data/domain/public-suffix/AC.php

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,17 @@
22
// SPDX-FileCopyrightText: 2007–22 Mozilla Foundation
33
// SPDX-License-Identifier: MPL-2.0-no-copyleft-exception
44
return [
5-
'COM.AC',
6-
'EDU.AC',
7-
'GOV.AC',
8-
'MIL.AC',
9-
'NET.AC',
10-
'ORG.AC',
5+
'exceptions' => [],
6+
'rules' => [
7+
'COM.AC',
8+
'DRR.AC',
9+
'EDU.AC',
10+
'FEEDBACK.AC',
11+
'FORMS.AC',
12+
'GOV.AC',
13+
'MIL.AC',
14+
'NET.AC',
15+
'ORG.AC',
16+
],
17+
'wildcards' => [],
1118
];
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php declare(strict_types=1);
2+
// SPDX-FileCopyrightText: 2007–22 Mozilla Foundation
3+
// SPDX-License-Identifier: MPL-2.0-no-copyleft-exception
4+
return [
5+
'exceptions' => [],
6+
'rules' => [
7+
'OFFICIAL.ACADEMY',
8+
],
9+
'wildcards' => [],
10+
];

data/domain/public-suffix/AE.php

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,15 @@
22
// SPDX-FileCopyrightText: 2007–22 Mozilla Foundation
33
// SPDX-License-Identifier: MPL-2.0-no-copyleft-exception
44
return [
5-
'AC.AE',
6-
'CO.AE',
7-
'GOV.AE',
8-
'MIL.AE',
9-
'NET.AE',
10-
'ORG.AE',
11-
'SCH.AE',
5+
'exceptions' => [],
6+
'rules' => [
7+
'AC.AE',
8+
'CO.AE',
9+
'GOV.AE',
10+
'MIL.AE',
11+
'NET.AE',
12+
'ORG.AE',
13+
'SCH.AE',
14+
],
15+
'wildcards' => [],
1216
];

data/domain/public-suffix/AERO.php

Lines changed: 92 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -2,92 +2,96 @@
22
// SPDX-FileCopyrightText: 2007–22 Mozilla Foundation
33
// SPDX-License-Identifier: MPL-2.0-no-copyleft-exception
44
return [
5-
'AIRLINE.AERO',
6-
'AIRPORT.AERO',
7-
'ACCIDENT-INVESTIGATION.AERO',
8-
'ACCIDENT-PREVENTION.AERO',
9-
'AEROBATIC.AERO',
10-
'AEROCLUB.AERO',
11-
'AERODROME.AERO',
12-
'AGENTS.AERO',
13-
'AIR-SURVEILLANCE.AERO',
14-
'AIR-TRAFFIC-CONTROL.AERO',
15-
'AIRCRAFT.AERO',
16-
'AIRTRAFFIC.AERO',
17-
'AMBULANCE.AERO',
18-
'ASSOCIATION.AERO',
19-
'AUTHOR.AERO',
20-
'BALLOONING.AERO',
21-
'BROKER.AERO',
22-
'CAA.AERO',
23-
'CARGO.AERO',
24-
'CATERING.AERO',
25-
'CERTIFICATION.AERO',
26-
'CHAMPIONSHIP.AERO',
27-
'CHARTER.AERO',
28-
'CIVILAVIATION.AERO',
29-
'CLUB.AERO',
30-
'CONFERENCE.AERO',
31-
'CONSULTANT.AERO',
32-
'CONSULTING.AERO',
33-
'CONTROL.AERO',
34-
'COUNCIL.AERO',
35-
'CREW.AERO',
36-
'DESIGN.AERO',
37-
'DGCA.AERO',
38-
'EDUCATOR.AERO',
39-
'EMERGENCY.AERO',
40-
'ENGINE.AERO',
41-
'ENGINEER.AERO',
42-
'ENTERTAINMENT.AERO',
43-
'EQUIPMENT.AERO',
44-
'EXCHANGE.AERO',
45-
'EXPRESS.AERO',
46-
'FEDERATION.AERO',
47-
'FLIGHT.AERO',
48-
'FREIGHT.AERO',
49-
'FUEL.AERO',
50-
'GLIDING.AERO',
51-
'GOVERNMENT.AERO',
52-
'GROUNDHANDLING.AERO',
53-
'GROUP.AERO',
54-
'HANGGLIDING.AERO',
55-
'HOMEBUILT.AERO',
56-
'INSURANCE.AERO',
57-
'JOURNAL.AERO',
58-
'JOURNALIST.AERO',
59-
'LEASING.AERO',
60-
'LOGISTICS.AERO',
61-
'MAGAZINE.AERO',
62-
'MAINTENANCE.AERO',
63-
'MARKETPLACE.AERO',
64-
'MEDIA.AERO',
65-
'MICROLIGHT.AERO',
66-
'MODELLING.AERO',
67-
'NAVIGATION.AERO',
68-
'PARACHUTING.AERO',
69-
'PARAGLIDING.AERO',
70-
'PASSENGER-ASSOCIATION.AERO',
71-
'PILOT.AERO',
72-
'PRESS.AERO',
73-
'PRODUCTION.AERO',
74-
'RECREATION.AERO',
75-
'REPBODY.AERO',
76-
'RES.AERO',
77-
'RESEARCH.AERO',
78-
'ROTORCRAFT.AERO',
79-
'SAFETY.AERO',
80-
'SCIENTIST.AERO',
81-
'SERVICES.AERO',
82-
'SHOW.AERO',
83-
'SKYDIVING.AERO',
84-
'SOFTWARE.AERO',
85-
'STUDENT.AERO',
86-
'TAXI.AERO',
87-
'TRADER.AERO',
88-
'TRADING.AERO',
89-
'TRAINER.AERO',
90-
'UNION.AERO',
91-
'WORKINGGROUP.AERO',
92-
'WORKS.AERO',
5+
'exceptions' => [],
6+
'rules' => [
7+
'ACCIDENT-INVESTIGATION.AERO',
8+
'ACCIDENT-PREVENTION.AERO',
9+
'AEROBATIC.AERO',
10+
'AEROCLUB.AERO',
11+
'AERODROME.AERO',
12+
'AGENTS.AERO',
13+
'AIR-SURVEILLANCE.AERO',
14+
'AIR-TRAFFIC-CONTROL.AERO',
15+
'AIRCRAFT.AERO',
16+
'AIRLINE.AERO',
17+
'AIRPORT.AERO',
18+
'AIRTRAFFIC.AERO',
19+
'AMBULANCE.AERO',
20+
'ASSOCIATION.AERO',
21+
'AUTHOR.AERO',
22+
'BALLOONING.AERO',
23+
'BROKER.AERO',
24+
'CAA.AERO',
25+
'CARGO.AERO',
26+
'CATERING.AERO',
27+
'CERTIFICATION.AERO',
28+
'CHAMPIONSHIP.AERO',
29+
'CHARTER.AERO',
30+
'CIVILAVIATION.AERO',
31+
'CLUB.AERO',
32+
'CONFERENCE.AERO',
33+
'CONSULTANT.AERO',
34+
'CONSULTING.AERO',
35+
'CONTROL.AERO',
36+
'COUNCIL.AERO',
37+
'CREW.AERO',
38+
'DESIGN.AERO',
39+
'DGCA.AERO',
40+
'EDUCATOR.AERO',
41+
'EMERGENCY.AERO',
42+
'ENGINE.AERO',
43+
'ENGINEER.AERO',
44+
'ENTERTAINMENT.AERO',
45+
'EQUIPMENT.AERO',
46+
'EXCHANGE.AERO',
47+
'EXPRESS.AERO',
48+
'FEDERATION.AERO',
49+
'FLIGHT.AERO',
50+
'FREIGHT.AERO',
51+
'FUEL.AERO',
52+
'GLIDING.AERO',
53+
'GOVERNMENT.AERO',
54+
'GROUNDHANDLING.AERO',
55+
'GROUP.AERO',
56+
'HANGGLIDING.AERO',
57+
'HOMEBUILT.AERO',
58+
'INSURANCE.AERO',
59+
'JOURNAL.AERO',
60+
'JOURNALIST.AERO',
61+
'LEASING.AERO',
62+
'LOGISTICS.AERO',
63+
'MAGAZINE.AERO',
64+
'MAINTENANCE.AERO',
65+
'MARKETPLACE.AERO',
66+
'MEDIA.AERO',
67+
'MICROLIGHT.AERO',
68+
'MODELLING.AERO',
69+
'NAVIGATION.AERO',
70+
'PARACHUTING.AERO',
71+
'PARAGLIDING.AERO',
72+
'PASSENGER-ASSOCIATION.AERO',
73+
'PILOT.AERO',
74+
'PRESS.AERO',
75+
'PRODUCTION.AERO',
76+
'RECREATION.AERO',
77+
'REPBODY.AERO',
78+
'RES.AERO',
79+
'RESEARCH.AERO',
80+
'ROTORCRAFT.AERO',
81+
'SAFETY.AERO',
82+
'SCIENTIST.AERO',
83+
'SERVICES.AERO',
84+
'SHOW.AERO',
85+
'SKYDIVING.AERO',
86+
'SOFTWARE.AERO',
87+
'STUDENT.AERO',
88+
'TAXI.AERO',
89+
'TRADER.AERO',
90+
'TRADING.AERO',
91+
'TRAINER.AERO',
92+
'UNION.AERO',
93+
'WORKINGGROUP.AERO',
94+
'WORKS.AERO',
95+
],
96+
'wildcards' => [],
9397
];

data/domain/public-suffix/AF.php

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@
22
// SPDX-FileCopyrightText: 2007–22 Mozilla Foundation
33
// SPDX-License-Identifier: MPL-2.0-no-copyleft-exception
44
return [
5-
'COM.AF',
6-
'EDU.AF',
7-
'GOV.AF',
8-
'NET.AF',
9-
'ORG.AF',
5+
'exceptions' => [],
6+
'rules' => [
7+
'COM.AF',
8+
'EDU.AF',
9+
'GOV.AF',
10+
'NET.AF',
11+
'ORG.AF',
12+
],
13+
'wildcards' => [],
1014
];

data/domain/public-suffix/AG.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@
22
// SPDX-FileCopyrightText: 2007–22 Mozilla Foundation
33
// SPDX-License-Identifier: MPL-2.0-no-copyleft-exception
44
return [
5-
'CO.AG',
6-
'COM.AG',
7-
'NET.AG',
8-
'NOM.AG',
9-
'ORG.AG',
5+
'exceptions' => [],
6+
'rules' => [
7+
'CO.AG',
8+
'COM.AG',
9+
'NET.AG',
10+
'NOM.AG',
11+
'OBJ.AG',
12+
'ORG.AG',
13+
],
14+
'wildcards' => [],
1015
];

data/domain/public-suffix/AI.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,15 @@
22
// SPDX-FileCopyrightText: 2007–22 Mozilla Foundation
33
// SPDX-License-Identifier: MPL-2.0-no-copyleft-exception
44
return [
5-
'COM.AI',
6-
'NET.AI',
7-
'OFF.AI',
8-
'ORG.AI',
5+
'exceptions' => [],
6+
'rules' => [
7+
'COM.AI',
8+
'FRAMER.AI',
9+
'KILOAPPS.AI',
10+
'NET.AI',
11+
'OFF.AI',
12+
'ORG.AI',
13+
'UWU.AI',
14+
],
15+
'wildcards' => [],
916
];

data/domain/public-suffix/AL.php

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@
22
// SPDX-FileCopyrightText: 2007–22 Mozilla Foundation
33
// SPDX-License-Identifier: MPL-2.0-no-copyleft-exception
44
return [
5-
'COM.AL',
6-
'EDU.AL',
7-
'GOV.AL',
8-
'MIL.AL',
9-
'NET.AL',
10-
'ORG.AL',
5+
'exceptions' => [],
6+
'rules' => [
7+
'COM.AL',
8+
'EDU.AL',
9+
'GOV.AL',
10+
'MIL.AL',
11+
'NET.AL',
12+
'ORG.AL',
13+
],
14+
'wildcards' => [],
1115
];

data/domain/public-suffix/AM.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@
22
// SPDX-FileCopyrightText: 2007–22 Mozilla Foundation
33
// SPDX-License-Identifier: MPL-2.0-no-copyleft-exception
44
return [
5-
'CO.AM',
6-
'COM.AM',
7-
'COMMUNE.AM',
8-
'NET.AM',
9-
'ORG.AM',
5+
'exceptions' => [],
6+
'rules' => [
7+
'CO.AM',
8+
'COM.AM',
9+
'COMMUNE.AM',
10+
'NET.AM',
11+
'ORG.AM',
12+
'RADIO.AM',
13+
],
14+
'wildcards' => [],
1015
];

0 commit comments

Comments
 (0)