-
Notifications
You must be signed in to change notification settings - Fork 1
Rules
Tim Rühsen edited this page Feb 8, 2016
·
10 revisions
Name | Description | Scope | Level |
---|---|---|---|
Spaces |
No leading space | Line | Warning |
Spaces |
No trailing space | Line | Warning |
Lowercase |
Rule is lowercase | Rule | Error |
Dots |
Rule doesn't start with a dot | Rule | Error |
Dots |
Rule doesn't end with a dot | Rule | Error |
EmptyLabels |
Rule doesn't contain empty labels (double dots) | Rule | Error |
Name | Description | Scope | Level |
---|---|---|---|
UTF8 | Rule is UTF-8/ASCII | Rule | Error |
Spaces | Rule doesn't contain spaces Catched by AllowedChars | Rule | Error |
Punycode | Rule is punycode | Rule | Error |
LeftException | Rule is an exception but the exception is not the left outermost token | Rule | Error |
LeftWildcard | Rule is a wildcard but the wildcard is not the left outermost token | Rule | Error |
AllowedChars | Rule contains only allowed chars: [0-9a-z-!*.]
|
Rule | Error |
Label | Label must be of ([0-9a-z-] | valid UTF-8) | Rule | Error |
Duplicates | Rule is duplicate | Rule | Warning |
Ambiguous | Rule is ambiguous (e.g. xyz + !xyz) | Rule | Error |
Section Begin/End | Section END must match exactly one previous section BEGIN (the correct one) | Rule | Error |
Section Overlap | Sections must not overlap | Rule | Error |
Section Missing | There must be exactly one ICANN and one PRIVATE section (and nothing else) | Rule | Error |
Section Match | There must be no rule outside a section | Rule | Error |
Order | 'Subsections' are ordered by # of labels, alphabetical label-by-label (right-to-left) This needs official suport. There are many ordering faults in the current PSL. Sometimes even rules with different TLDs mixed in one group. There is test code in my Python PSL Linter that you can uncomment - those two calls to check_order(). |
Rule | Warning |
Exception without Wildcard | An exception requires a matching wildcard rule | Rule | Error |
Rule covered by Wildcard | A normal rule should not be covered by wildcard (redundant) | Rule | Warning |