mirror of
https://github.com/juanfont/headscale.git
synced 2026-07-08 00:50:20 +09:00
testdata: re-run ssh tscap corpus with localpart anonymization
Regenerates ssh_results/*.hujson on top of the tscap fix (kradalby/tscap@833a50a + 837f1f6) that rewrites localpart:*@<domain> patterns in policy text alongside user email substitution. Before the fix, anonymized captures kept the raw @passkey domain in policy while the users landed on @example.com, so localpart:*@passkey matched zero users and headscale emitted only the wildcard rule, diffing against SaaS's per-user rules on 40 failing leaves across 14 scenarios (ssh-d2..d12 minus d1/d10, ssh-e6, ssh-f3..f5). With the new corpus: - localpart:*@passkey in policy → localpart:*@example.com - thor moves from thor@example.com to thor@dalby.cc so that "localpart:*@example.com" resolves to exactly odin+freya (matching SaaS output), and "localpart:*@dalby.cc" in ssh-d1 keeps matching exactly one user. Test code update: setupSSHDataCompatUsers() now pins thor on @dalby.cc to match the capture topologies. All other compat tests (routes, grants, acl, via-grant) use their own per-file topology loaders and are unaffected — thor's email change is scoped to the SSH hardcoded setup. TestSSHDataCompat: 41 failing leaves → 1 failing leaf. The single remaining ssh-b6/beedrill failure is a pre-existing, unrelated duplicate-principals bug in headscale's SSH compiler (same diff shape before and after this change). Updates #3157
This commit is contained in:
@@ -36,6 +36,12 @@ import (
|
||||
// compatibility tests. Users get norse-god names; nodes get original-151
|
||||
// pokémon names — matching the anonymized identifiers tscap writes into
|
||||
// the capture files (see github.com/kradalby/tscap/anonymize).
|
||||
//
|
||||
// odin and freya live on @example.com; thor is intentionally kept on
|
||||
// @dalby.cc so that "localpart:*@example.com" resolves to exactly two
|
||||
// users (matching SaaS output) and the "user on a different email
|
||||
// domain" case stays covered by scenarios like ssh-d1 that use
|
||||
// "localpart:*@dalby.cc".
|
||||
func setupSSHDataCompatUsers() types.Users {
|
||||
return types.Users{
|
||||
{
|
||||
@@ -46,7 +52,7 @@ func setupSSHDataCompatUsers() types.Users {
|
||||
{
|
||||
Model: gorm.Model{ID: 2},
|
||||
Name: "thor",
|
||||
Email: "thor@example.com",
|
||||
Email: "thor@dalby.cc",
|
||||
},
|
||||
{
|
||||
Model: gorm.Model{ID: 3},
|
||||
|
||||
+4426
-4424
File diff suppressed because it is too large
Load Diff
+3935
-3908
File diff suppressed because it is too large
Load Diff
+3995
-3983
File diff suppressed because it is too large
Load Diff
+3768
-3741
File diff suppressed because it is too large
Load Diff
+3901
-3874
File diff suppressed because it is too large
Load Diff
+4438
-4411
File diff suppressed because it is too large
Load Diff
+3964
-3941
File diff suppressed because it is too large
Load Diff
+3885
-3858
File diff suppressed because it is too large
Load Diff
+4413
-4388
File diff suppressed because it is too large
Load Diff
+4549
-4535
File diff suppressed because it is too large
Load Diff
+3906
-3864
File diff suppressed because it is too large
Load Diff
+4427
-4400
File diff suppressed because it is too large
Load Diff
+4255
-4228
File diff suppressed because it is too large
Load Diff
+4187
-4160
File diff suppressed because it is too large
Load Diff
+3945
-3903
File diff suppressed because it is too large
Load Diff
+4164
-4137
File diff suppressed because it is too large
Load Diff
+4096
-4069
File diff suppressed because it is too large
Load Diff
+4231
-4204
File diff suppressed because it is too large
Load Diff
+4328
-4316
File diff suppressed because it is too large
Load Diff
+4520
-4493
File diff suppressed because it is too large
Load Diff
+4228
-4192
File diff suppressed because it is too large
Load Diff
+4370
-4343
File diff suppressed because it is too large
Load Diff
+4511
-4469
File diff suppressed because it is too large
Load Diff
+4225
-4198
File diff suppressed because it is too large
Load Diff
+4524
-4497
File diff suppressed because it is too large
Load Diff
+3923
-3866
File diff suppressed because it is too large
Load Diff
+4369
-4357
File diff suppressed because it is too large
Load Diff
+3983
-3956
File diff suppressed because it is too large
Load Diff
+3921
-3912
File diff suppressed because it is too large
Load Diff
+4069
-4042
File diff suppressed because it is too large
Load Diff
+4214
-4172
File diff suppressed because it is too large
Load Diff
+4166
-4137
File diff suppressed because it is too large
Load Diff
+4431
-4404
File diff suppressed because it is too large
Load Diff
+4284
-4257
File diff suppressed because it is too large
Load Diff
+4434
-4397
File diff suppressed because it is too large
Load Diff
+4277
-4250
File diff suppressed because it is too large
Load Diff
+4027
-4000
File diff suppressed because it is too large
Load Diff
+4118
-4076
File diff suppressed because it is too large
Load Diff
+4251
-4224
File diff suppressed because it is too large
Load Diff
+4089
-4062
File diff suppressed because it is too large
Load Diff
+4562
-4529
File diff suppressed because it is too large
Load Diff
+4074
-4047
File diff suppressed because it is too large
Load Diff
+4235
-4208
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user