policy/v2: align SSH rule validation with Tailscale
Trim whitespace on action, users, src, dst; reject empty/wildcard users; reject empty acceptEnv; reject negative and over-max checkPeriod; reject hosts-table aliases as SSH dst; reject non-ASCII tag names; tolerate tag-owner cycles; match group-nesting wording.
This commit is contained in:
parent
4ad200ab73
commit
d600090f2c
70 changed files with 1361660 additions and 308 deletions
22349
hscontrol/policy/v2/testdata/ssh_results/ssh-acceptenv-null.hujson
vendored
Normal file
22349
hscontrol/policy/v2/testdata/ssh_results/ssh-acceptenv-null.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22348
hscontrol/policy/v2/testdata/ssh_results/ssh-acceptenv-omitted.hujson
vendored
Normal file
22348
hscontrol/policy/v2/testdata/ssh_results/ssh-acceptenv-omitted.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22343
hscontrol/policy/v2/testdata/ssh_results/ssh-checkperiod-null.hujson
vendored
Normal file
22343
hscontrol/policy/v2/testdata/ssh_results/ssh-checkperiod-null.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22330
hscontrol/policy/v2/testdata/ssh_results/ssh-dst-empty-tag.hujson
vendored
Normal file
22330
hscontrol/policy/v2/testdata/ssh_results/ssh-dst-empty-tag.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22348
hscontrol/policy/v2/testdata/ssh_results/ssh-dst-trailing-whitespace.hujson
vendored
Normal file
22348
hscontrol/policy/v2/testdata/ssh_results/ssh-dst-trailing-whitespace.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22109
hscontrol/policy/v2/testdata/ssh_results/ssh-group-nested-cycle.hujson
vendored
Normal file
22109
hscontrol/policy/v2/testdata/ssh_results/ssh-group-nested-cycle.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22113
hscontrol/policy/v2/testdata/ssh_results/ssh-group-nested-three-deep.hujson
vendored
Normal file
22113
hscontrol/policy/v2/testdata/ssh_results/ssh-group-nested-three-deep.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22109
hscontrol/policy/v2/testdata/ssh_results/ssh-group-nested-two-deep.hujson
vendored
Normal file
22109
hscontrol/policy/v2/testdata/ssh_results/ssh-group-nested-two-deep.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22107
hscontrol/policy/v2/testdata/ssh_results/ssh-hosts-as-dst-multi-host-prefix.hujson
vendored
Normal file
22107
hscontrol/policy/v2/testdata/ssh_results/ssh-hosts-as-dst-multi-host-prefix.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22107
hscontrol/policy/v2/testdata/ssh_results/ssh-hosts-as-dst-single-ip.hujson
vendored
Normal file
22107
hscontrol/policy/v2/testdata/ssh_results/ssh-hosts-as-dst-single-ip.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20105
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-acceptenv-bad-glob.hujson
vendored
Normal file
20105
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-acceptenv-bad-glob.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20082
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-acceptenv-empty.hujson
vendored
Normal file
20082
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-acceptenv-empty.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20105
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-acceptenv-glob-shapes.hujson
vendored
Normal file
20105
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-acceptenv-glob-shapes.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-action-deny.hujson
vendored
Normal file
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-action-deny.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-action-empty.hujson
vendored
Normal file
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-action-empty.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20078
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-action-missing.hujson
vendored
Normal file
20078
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-action-missing.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-action-mixedcase.hujson
vendored
Normal file
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-action-mixedcase.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-action-uppercase.hujson
vendored
Normal file
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-action-uppercase.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20104
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-action-whitespace.hujson
vendored
Normal file
20104
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-action-whitespace.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20099
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-checkperiod-exact-max.hujson
vendored
Normal file
20099
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-checkperiod-exact-max.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20082
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-checkperiod-malformed.hujson
vendored
Normal file
20082
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-checkperiod-malformed.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20082
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-checkperiod-negative.hujson
vendored
Normal file
20082
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-checkperiod-negative.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20082
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-checkperiod-over-max-by-1s.hujson
vendored
Normal file
20082
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-checkperiod-over-max-by-1s.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20082
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-checkperiod-too-long.hujson
vendored
Normal file
20082
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-checkperiod-too-long.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20099
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-checkperiod-too-short.hujson
vendored
Normal file
20099
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-checkperiod-too-short.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20099
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-checkperiod-zero.hujson
vendored
Normal file
20099
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-checkperiod-zero.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20079
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-dst-empty.hujson
vendored
Normal file
20079
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-dst-empty.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20074
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-dst-missing.hujson
vendored
Normal file
20074
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-dst-missing.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20076
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-src-empty.hujson
vendored
Normal file
20076
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-src-empty.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20074
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-src-missing.hujson
vendored
Normal file
20074
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-src-missing.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20112
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-autogroup-internet.hujson
vendored
Normal file
20112
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-autogroup-internet.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20112
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-autogroup-member.hujson
vendored
Normal file
20112
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-autogroup-member.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20104
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-autogroup-self.hujson
vendored
Normal file
20104
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-autogroup-self.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20112
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-autogroup-tagged.hujson
vendored
Normal file
20112
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-autogroup-tagged.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-empty.hujson
vendored
Normal file
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-empty.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20105
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-group-prefix.hujson
vendored
Normal file
20105
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-group-prefix.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20104
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-localpart-empty.hujson
vendored
Normal file
20104
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-localpart-empty.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20083
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-localpart-multi-glob.hujson
vendored
Normal file
20083
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-localpart-multi-glob.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20104
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-localpart-no-at.hujson
vendored
Normal file
20104
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-localpart-no-at.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20104
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-localpart-no-domain.hujson
vendored
Normal file
20104
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-localpart-no-domain.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20112
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-localpart-no-glob.hujson
vendored
Normal file
20112
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-localpart-no-glob.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20105
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-tag-prefix.hujson
vendored
Normal file
20105
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-tag-prefix.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20104
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-whitespace-leading.hujson
vendored
Normal file
20104
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-whitespace-leading.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-wildcard.hujson
vendored
Normal file
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-user-wildcard.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-users-empty-array.hujson
vendored
Normal file
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-users-empty-array.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20078
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-users-missing.hujson
vendored
Normal file
20078
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-users-missing.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-users-mixed-valid-empty.hujson
vendored
Normal file
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-users-mixed-valid-empty.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-users-mixed-valid-wildcard.hujson
vendored
Normal file
20081
hscontrol/policy/v2/testdata/ssh_results/ssh-malformed-users-mixed-valid-wildcard.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22143
hscontrol/policy/v2/testdata/ssh_results/ssh-many-tags-as-dst.hujson
vendored
Normal file
22143
hscontrol/policy/v2/testdata/ssh_results/ssh-many-tags-as-dst.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
21916
hscontrol/policy/v2/testdata/ssh_results/ssh-multi-rule-accept-then-check.hujson
vendored
Normal file
21916
hscontrol/policy/v2/testdata/ssh_results/ssh-multi-rule-accept-then-check.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
21916
hscontrol/policy/v2/testdata/ssh_results/ssh-multi-rule-check-then-accept.hujson
vendored
Normal file
21916
hscontrol/policy/v2/testdata/ssh_results/ssh-multi-rule-check-then-accept.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22146
hscontrol/policy/v2/testdata/ssh_results/ssh-multi-rule-disjoint-srcs.hujson
vendored
Normal file
22146
hscontrol/policy/v2/testdata/ssh_results/ssh-multi-rule-disjoint-srcs.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22152
hscontrol/policy/v2/testdata/ssh_results/ssh-multi-rule-overlap-conflicting-acceptenv.hujson
vendored
Normal file
22152
hscontrol/policy/v2/testdata/ssh_results/ssh-multi-rule-overlap-conflicting-acceptenv.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22146
hscontrol/policy/v2/testdata/ssh_results/ssh-multi-rule-overlap-different-users.hujson
vendored
Normal file
22146
hscontrol/policy/v2/testdata/ssh_results/ssh-multi-rule-overlap-different-users.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22146
hscontrol/policy/v2/testdata/ssh_results/ssh-multi-src-multi-dst-multi-user.hujson
vendored
Normal file
22146
hscontrol/policy/v2/testdata/ssh_results/ssh-multi-src-multi-dst-multi-user.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
21944
hscontrol/policy/v2/testdata/ssh_results/ssh-src-autogroup-tagged-no-tagged-nodes.hujson
vendored
Normal file
21944
hscontrol/policy/v2/testdata/ssh_results/ssh-src-autogroup-tagged-no-tagged-nodes.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22105
hscontrol/policy/v2/testdata/ssh_results/ssh-src-empty-group.hujson
vendored
Normal file
22105
hscontrol/policy/v2/testdata/ssh_results/ssh-src-empty-group.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22123
hscontrol/policy/v2/testdata/ssh_results/ssh-src-leading-whitespace.hujson
vendored
Normal file
22123
hscontrol/policy/v2/testdata/ssh_results/ssh-src-leading-whitespace.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22123
hscontrol/policy/v2/testdata/ssh_results/ssh-tab-in-user.hujson
vendored
Normal file
22123
hscontrol/policy/v2/testdata/ssh_results/ssh-tab-in-user.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22101
hscontrol/policy/v2/testdata/ssh_results/ssh-tag-owner-cycle.hujson
vendored
Normal file
22101
hscontrol/policy/v2/testdata/ssh_results/ssh-tag-owner-cycle.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22101
hscontrol/policy/v2/testdata/ssh_results/ssh-tag-owner-self-reference.hujson
vendored
Normal file
22101
hscontrol/policy/v2/testdata/ssh_results/ssh-tag-owner-self-reference.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
21880
hscontrol/policy/v2/testdata/ssh_results/ssh-unicode-cyrillic-tag.hujson
vendored
Normal file
21880
hscontrol/policy/v2/testdata/ssh_results/ssh-unicode-cyrillic-tag.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
21898
hscontrol/policy/v2/testdata/ssh_results/ssh-unicode-emoji-user.hujson
vendored
Normal file
21898
hscontrol/policy/v2/testdata/ssh_results/ssh-unicode-emoji-user.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22123
hscontrol/policy/v2/testdata/ssh_results/ssh-unicode-rtl-user.hujson
vendored
Normal file
22123
hscontrol/policy/v2/testdata/ssh_results/ssh-unicode-rtl-user.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
22106
hscontrol/policy/v2/testdata/ssh_results/ssh-users-null.hujson
vendored
Normal file
22106
hscontrol/policy/v2/testdata/ssh_results/ssh-users-null.hujson
vendored
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue