Skip to content
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

Proposed

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
Clone this wiki locally